@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Sans:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#252c27;background:#f5f5ef;--line:#dedfd4;--green:#294f3b;--dim:#546058;--paper:#fff;--soft:#e5ede4}*{box-sizing:border-box}body{margin:0}header{border-bottom:1px solid var(--line);background:#f9f9f4}.shell{max-width:1200px;margin:auto;padding-inline:32px}.head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-family:'Instrument Sans',sans-serif;font-weight:700;color:#263a2d;text-decoration:none;display:flex;align-items:center;gap:12px}.mark{width:25px;height:25px;border:2px solid var(--green);border-radius:6px;position:relative}.mark:after{content:'';width:11px;height:9px;border-left:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(-45deg);position:absolute;top:4px;left:5px}#role,.muted,small{color:var(--dim)}main{padding-block:36px 56px}h1,h2,h3{font-family:'Instrument Sans',Arial,sans-serif;margin:0}h1{font-size:clamp(2.1rem,5.4vw,3.8rem);letter-spacing:-.055em;line-height:1.03}h2{font-size:1.45rem;letter-spacing:-.025em}h3{font-size:1.06rem}p{line-height:1.45;margin:.55rem 0}button,input,textarea,select{font:inherit}button,.btn{cursor:pointer;border:1px solid var(--green);border-radius:9px;background:var(--green);color:white;padding:9px 13px;text-decoration:none;font-weight:650;display:inline-flex;justify-content:center;align-items:center;gap:5px}button:hover,.btn:hover{filter:brightness(1.12)}button:disabled{opacity:.6;cursor:wait}.secondary{background:transparent;color:var(--green);border-color:#b7c5b9}.quiet{border:none;background:transparent;color:var(--green);padding:3px 0;text-align:left}.danger{color:#8c3f31;border-color:#dfb7ac}.flex{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.actions{display:flex;gap:8px;flex-wrap:wrap}.hero{margin:18px 0 28px}.hero h1{margin-bottom:10px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px}.projects,.tasks,.logs,.photos{display:grid;gap:10px;margin-top:15px}.project-row,.task{background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px}.task{text-align:left;display:block;color:inherit;width:100%;font-weight:500}.task:hover{border-color:var(--green);filter:none}.task.active{border-color:var(--green);background:#f0f5ef}.task strong{color:var(--green)}.split{display:grid;grid-template-columns:minmax(230px, .75fr) minmax(0, 1.45fr);gap:16px;align-items:start}.stack{display:grid;gap:16px}.tag{display:inline-block;border-radius:40px;padding:3px 8px;font-size:.79rem;background:#e9ece5;color:#37473e}.late{background:#f6e7df;color:#843c2d}.metric{font-size:2.4rem;font-weight:700;color:var(--green);letter-spacing:-.06em}progress{width:100%;height:9px;appearance:none;border:none;display:block;border-radius:20px;overflow:hidden;background:#dce4db;margin:8px 0}progress::-webkit-progress-bar{background:#dce4db}progress::-webkit-progress-value{background:#4d795e}progress::-moz-progress-bar{background:#4d795e}.tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin:0 0 20px}.tabs button{background:none;color:var(--dim);border:0;border-radius:0;border-bottom:3px solid transparent;padding:10px 1px}.tabs button[aria-current=true]{color:var(--green);border-bottom-color:var(--green)}.logs article{border-left:2px solid #a5bda8;padding:2px 12px 7px}.logs p{white-space:pre-wrap;overflow-wrap:anywhere}.photos{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}figure{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}figure img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--soft)}figcaption{padding:8px;overflow-wrap:anywhere;font-size:.87rem}.timeline{overflow:auto;margin-top:16px}.chart{min-width:660px;display:grid;gap:4px}.g-row{display:grid;grid-template-columns:160px 1fr;gap:10px;align-items:center;min-height:40px}.g-row button{overflow-wrap:anywhere}.track{height:30px;position:relative;background:repeating-linear-gradient(90deg,#f0f2ec 0,#f0f2ec calc(var(--week) - 1px),#e0e4da calc(var(--week) - 1px),#e0e4da var(--week));border-radius:5px}.bar{position:absolute;top:4px;height:22px;border-radius:4px;background:#b8d0bb;overflow:hidden;min-width:5px}.bar b{display:block;height:100%;background:#416e53}.weeks{display:flex;font-size:.78rem;color:var(--dim)}.weeks span{flex:none}.legend{font-size:.85rem;color:var(--dim)}.legend i{display:inline-block;width:10px;height:10px;background:#b8d0bb;margin-right:5px}.legend i.dark{background:#416e53}dialog{border:1px solid var(--line);border-radius:16px;width:min(530px,calc(100% - 24px));padding:20px;color:inherit;max-height:90dvh}dialog::backdrop{background:#10221870}form{display:grid;gap:12px;margin-top:13px}label{display:grid;gap:5px;font-weight:600}input,textarea,select{background:white;color:inherit;border:1px solid #abbcaf;border-radius:8px;padding:9px;min-width:0;width:100%}textarea{resize:vertical}.fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.error{color:#8b3426;min-height:1.3em;font-size:.9rem}.hint{font-size:.86rem;color:var(--dim)}#feedback{position:fixed;bottom:14px;right:14px;max-width:calc(100% - 28px);background:#243f30;color:white;border-radius:9px;padding:10px 16px;z-index:2}#feedback:empty{display:none}.demo{margin-top:24px;background:#e8eee4}.empty{padding-block:18px;color:var(--dim)}@media(max-width:720px){.shell{padding-inline:16px}.head{min-height:58px}.split{grid-template-columns:1fr}.panel{padding:15px}main{padding-block:22px 40px}.hero{margin:15px 0 21px}.task{padding:11px}.tasks{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.head #role{font-size:.8rem}}
.xatilpa{margin-top:16px;background:#fbf2d5}.tag.pending,.checklist .pending,.g-pending{background:#fff0bf;color:#634710}.tag.complete,.checklist .checked{background:#e5ede4;color:#294f3b}.crew{margin:9px 0 1px;color:#294f3b}.tasks .crew{grid-column:1/-1}.chart-crew{background:#e8eee5;padding:8px;border-radius:6px}.checklist{padding:0;list-style:none;display:grid;gap:8px}.checklist li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px;border-radius:8px}.checklist li small{color:inherit}.checklist button{flex:none;font-size:.8rem}.g-name small{display:block}.g-pending{display:inline-block;margin:4px 7px;padding:3px 8px;border-radius:5px;font-size:.8rem}.g-row{grid-template-columns:174px 1fr}.g-name{position:sticky;left:0;background:#fff;z-index:1}.g-name button{text-align:left}.chart-crew{position:sticky;left:0;width:max-content}

.bar{padding:0;border:0;display:block}.bar:focus-visible{outline:2px solid #263c2e;outline-offset:2px}

.deadlines{display:flex;flex-wrap:wrap;gap:8px 16px;margin:14px 0;color:#574312}.deadlines span{background:#fff0bf;border-radius:7px;padding:5px 9px}.deadlines strong{display:block}.schedule-margin{position:absolute;top:0;bottom:0;background:#fff0bf;border-inline:1px solid #b78423;pointer-events:none}

#detalle,#evidencia{scroll-margin-top:12px}.photo-featured{grid-column:1/-1}.photo-featured img{height:clamp(200px,42vw,430px);aspect-ratio:auto;object-fit:contain;background:#f3f4ef}.photo-featured a{display:block}.photos figcaption{overflow-wrap:anywhere}
