:root{--ink:#1c1f23;--ink-soft:#4a4f56;--slate:#6b7178;--paper:#f4f3f1;--card:#fff;--hairline:#e0ddd9;--hairline-strong:#c9c5bf;--brand:#e30613;--brand-strong:#b8050f;--brand-bg:#fceaea;--brand-ring:#e3061338;--danger:#c00812;--danger-bg:#fbe9e9;--gold:#8c6110;--gold-bg:#faf1de;--blue:#2a5b7c;--blue-bg:#e5edf2;--rust:#96502f;--rust-bg:#f5e9e2;--green:#2c6a47;--green-bg:#e5efe8;--radius:4px;--radius-sm:3px;--radius-md:8px;--radius-pill:999px;--shadow-1:0 1px 2px #1c1f230d;--shadow-2:0 8px 24px #1c1f231a;--focus:0 0 0 3px var(--brand-ring)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif;line-height:1.5}body:before{content:"";background-image:linear-gradient(var(--hairline) 1px, transparent 1px);opacity:.2;pointer-events:none;z-index:0;background-size:100% 48px;position:fixed;inset:0}body:has(.login-page):before{display:none}.wrap{z-index:1;max-width:1160px;margin:0 auto;padding:36px 28px 90px;position:relative}.hidden{display:none!important}.shell{z-index:1;align-items:stretch;min-height:100vh;display:flex;position:relative}.shell-side{box-sizing:border-box;background:var(--brand);color:#fff;flex-direction:column;flex:0 0 292px;gap:28px;height:100vh;padding:30px 28px 30px 32px;transition:flex-basis .15s;display:flex;position:sticky;top:0;overflow-y:auto}.shell-collapse-toggle{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff73;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;line-height:1;display:flex;position:absolute;top:16px;right:12px}.shell-collapse-toggle:hover{background:#ffffff24;border-color:#fff}.shell-side.collapsed{flex:0 0 44px;align-items:center;padding:16px 0;overflow:visible}.shell-side.collapsed .shell-collapse-toggle{position:static}.shell-logo{width:130px;height:auto;margin:0 0 20px;display:block}.shell-brand-title{color:#fff;font-family:Fraunces,serif;font-size:19px;font-weight:600;line-height:1.25}.shell-brand-sub{letter-spacing:.16em;text-transform:uppercase;color:#ffffffd1;margin-top:6px;font-family:IBM Plex Mono,monospace;font-size:10px;display:block}.shell-rule{background:#fff;width:56px;height:2px;margin-top:20px}.shell-nav{flex-direction:column;display:flex}.shell-nav a{letter-spacing:.1em;text-transform:uppercase;color:#ffffffc7;border-bottom:1px solid #ffffff3d;justify-content:space-between;align-items:center;gap:10px;padding:11px 2px;font-family:IBM Plex Mono,monospace;font-size:11px;text-decoration:none;display:flex}.shell-nav a .mark{color:#0000;font-size:16px;line-height:1}.shell-nav a:hover{color:#fff}.shell-nav a.active{color:#fff;font-weight:600}.shell-nav a.active .mark{color:#fff}.shell-stats{flex-direction:column;display:flex}.shell-stats-title{letter-spacing:.2em;text-transform:uppercase;color:#fff;border-bottom:1px solid #fff;padding-bottom:10px;font-family:IBM Plex Mono,monospace;font-size:10px}.shell-stat{border-bottom:1px solid #ffffff47;justify-content:space-between;align-items:baseline;gap:14px;padding:13px 4px;display:flex}.shell-stat.clickable{cursor:pointer}.shell-stat-text{min-width:0}.shell-stat-label{letter-spacing:.1em;text-transform:uppercase;color:#fff;font-family:IBM Plex Mono,monospace;font-size:10.5px}.shell-stat-note{color:#fffc;margin-top:2px;font-size:11px;font-style:italic}.shell-stat-value{color:#fff;font-feature-settings:"tnum";flex-shrink:0;font-family:Fraunces,serif;font-size:26px;font-weight:600}.shell-bottom{flex-direction:column;align-items:flex-start;gap:14px;margin-top:auto;display:flex}.shell-dashboard-toggle{letter-spacing:.14em;text-transform:uppercase;color:#fff;border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #ffffff8c;width:100%;padding:8px 12px;font-family:IBM Plex Mono,monospace;font-size:10px}.shell-dashboard-toggle:hover{background:#ffffff1f;border-color:#fff}.shell-foot{border-top:1px solid #ffffff47;width:100%;padding-top:14px}.shell-user{color:#fff;word-break:break-word;font-size:11.5px;line-height:1.7}.shell-role{text-transform:uppercase;letter-spacing:.08em;color:#fffc;font-size:10px}.shell-sep{color:#fff9}.shell-foot .linklike{color:#fff;text-decoration:underline}.shell-main{flex:auto;min-width:0}@media (width<=900px){.shell{flex-direction:column}.shell-side{flex:none;width:100%;height:auto;padding:22px 24px;position:relative;top:auto}.shell-side.collapsed{width:auto;padding:10px 14px}.shell-nav{flex-flow:wrap;gap:4px 18px}.shell-nav a{border-bottom:none;padding:4px 0}}.appbar{letter-spacing:.1em;text-transform:uppercase;color:var(--slate);border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;margin-bottom:26px;padding-bottom:14px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex}.appbar .brand{align-items:center;gap:9px;display:flex}.appbar .dot{color:var(--brand)}.appbar .userchip{text-transform:none;letter-spacing:normal;align-items:center;gap:10px;display:flex}.linklike{cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.appbar button.linklike{color:var(--ink-soft)}.masthead{border-bottom:1px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;padding-bottom:20px;display:flex;position:relative}.masthead:after{content:"";background:var(--brand);width:56px;height:3px;position:absolute;bottom:-1px;left:0}.masthead h1{letter-spacing:-.01em;margin:0 0 8px;font-family:Fraunces,serif;font-size:32px;font-weight:600}.masthead p.sub{color:var(--ink-soft);max-width:520px;margin:0;font-size:14px}.masthead .intro{text-align:justify;-webkit-hyphens:auto;hyphens:auto;max-width:46ch;color:var(--ink-soft);border-left:1px solid var(--hairline-strong);flex:300px;margin:0;padding-left:20px;font-size:14px;line-height:1.65}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--brand-strong);margin:0 0 8px;font-family:IBM Plex Mono,monospace;font-size:11px}.back-btn{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:10px;padding:0;font-family:IBM Plex Mono,monospace;font-size:11.5px;display:inline-flex}.back-btn:hover{color:var(--brand-strong)}.status-select-wrap{align-items:center;gap:10px;display:flex}.status-select-wrap label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.1em;font-family:Inter,sans-serif;font-size:10px}.status-select-wrap .status-select.solid{letter-spacing:.14em;padding:6px 12px;font-family:Inter,sans-serif;background:var(--brand)!important;color:#fff!important;border-color:var(--brand)!important}.filter-select{color:var(--ink);border:0;border-bottom:1px solid var(--hairline-strong);background:0 0;border-radius:0;padding:6px 4px 6px 0;font-family:Inter,sans-serif;font-size:12.5px}.filter-select:focus-visible{box-shadow:none;border-color:var(--ink)}.filter-search{color:var(--ink);border:0;border-bottom:1px solid var(--hairline-strong);background:0 0;border-radius:0;width:220px;padding:6px 4px;font-family:Inter,sans-serif;font-size:12.5px}.filter-search:focus-visible{border-color:var(--ink);outline:none}.filter-search::placeholder{color:var(--slate)}.kpis{background:var(--hairline);border:1px solid var(--hairline);grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:28px;display:grid}.kpi{background:var(--card);padding:16px 18px;transition:background .12s}.kpi[role=button]{cursor:pointer}.kpi[role=button]:hover{background:var(--paper)}.kpi .label{text-transform:uppercase;letter-spacing:.09em;color:var(--slate);margin-bottom:6px;font-family:IBM Plex Mono,monospace;font-size:10.5px}.kpi .value{font-family:Fraunces,serif;font-size:28px;font-weight:600}.kpi.k-green .value{color:var(--green)}.kpi.k-gold .value{color:var(--gold)}.kpi.k-rust .value{color:var(--rust)}.kpi.k-blue .value{color:var(--blue)}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.filters{flex-wrap:wrap;gap:10px;display:flex}.btn-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn-group input[type=text]{border:1px solid var(--hairline);background:var(--card);color:var(--ink);width:240px;padding:8px 10px;font-size:12px}.btn-group input[type=text]:focus{border-color:var(--ink);outline:none}select,input[type=text],input[type=date],input[type=time],input[type=email],input[type=password],textarea{font-family:Inter,sans-serif}select{border:1px solid var(--ink);background:var(--card);color:var(--ink);border-radius:var(--radius);padding:7px 10px;font-size:12.5px}.btn{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--brand);background:var(--brand);color:#fff;border-radius:var(--radius);cursor:pointer;padding:9px 16px;font-family:IBM Plex Mono,monospace;font-size:11.5px;transition:background .15s}.btn:hover{background:var(--brand-strong);border-color:var(--brand-strong)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{color:var(--ink);border-color:var(--hairline-strong);background:0 0}.btn.ghost:hover{background:var(--paper);border-color:var(--ink)}.btn.small{padding:5px 10px;font-size:10.5px}.btn.danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn.danger:hover{background:var(--danger);color:#fff}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{border-color:var(--brand);box-shadow:var(--focus);outline:none}.modal-overlay{z-index:40;background:#1a19188c;justify-content:center;align-items:flex-start;padding:48px 20px;display:flex;position:fixed;inset:0;overflow:auto}.modal-card{background:var(--paper);border:1px solid var(--hairline-strong);border-radius:var(--radius-md);width:100%;max-width:620px;box-shadow:var(--shadow-2)}.modal-head{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:flex-start;gap:20px;padding:26px 30px 20px;display:flex}.modal-kicker{letter-spacing:.2em;text-transform:uppercase;color:var(--brand-strong);font-family:IBM Plex Mono,monospace;font-size:10px}.modal-title{margin:8px 0 0;font-family:Fraunces,serif;font-size:32px;font-weight:400;line-height:1.05}.modal-close{border:1px solid var(--hairline-strong);border-radius:var(--radius-md);width:30px;height:30px;color:var(--ink-soft);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;font-size:15px;line-height:1;display:inline-flex}.modal-close:hover{border-color:var(--brand);color:var(--brand)}.modal-body{padding:22px 30px 4px}.modal-intro{color:var(--ink-soft);margin:0 0 22px;font-size:13px;line-height:1.65}.modal-fields{flex-direction:column;gap:20px;display:flex}.modal-field-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;display:grid}.modal-field label{text-transform:uppercase;letter-spacing:.07em;color:var(--slate);margin-bottom:7px;font-family:IBM Plex Mono,monospace;font-size:10px;display:block}.modal-field-hint{color:var(--slate);margin:0 0 8px;font-size:11.5px;font-style:italic}.modal-field input,.modal-field select{box-sizing:border-box;width:100%;color:var(--ink);border:0;border-bottom:1px solid var(--hairline-strong);background:0 0;border-radius:0;padding:8px 2px;font-family:Inter,sans-serif;font-size:14px}.modal-field input:focus-visible,.modal-field select:focus-visible{border-bottom-color:var(--brand);box-shadow:none;outline:none}.modal-field textarea{box-sizing:border-box;width:100%;color:var(--ink);background:var(--card);border:1px solid var(--hairline-strong);border-radius:var(--radius-md);resize:vertical;padding:10px 12px;font-family:Inter,sans-serif;font-size:13px;line-height:1.6}.modal-field.has-error input,.modal-field.has-error select,.modal-field.has-error .directory-search input{border-color:var(--danger)}.modal-field .directory-search,.modal-field .directory-search input{box-sizing:border-box;width:100%}.modal-stat-grid{border-top:1px solid var(--hairline);margin-top:6px;padding:16px 0 0}.modal-info-block{border-top:1px solid var(--hairline);align-items:center;gap:12px;margin-top:22px;padding-top:16px;display:flex}.modal-info-icon{border:1px solid var(--brand-strong);border-radius:var(--radius-md);width:30px;height:30px;color:var(--brand-strong);flex:none;justify-content:center;align-items:center;display:inline-flex}.modal-info-value{margin-top:2px;font-family:Fraunces,serif;font-size:19px}.modal-foot{border-top:1px solid var(--hairline-strong);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 30px 24px;display:flex}.modal-card.modal-card-wide{max-width:920px}.import-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.import-table{background:var(--card);border:1px solid var(--hairline);max-height:340px;margin-bottom:14px;overflow-y:auto}.import-row{border-bottom:1px solid var(--hairline);grid-template-columns:56px 1.3fr 1.2fr 1.1fr 1.2fr 110px;align-items:center;gap:10px;padding:10px 16px;font-size:12.5px;display:grid}.import-row:last-child{border-bottom:none}.import-row.head{background:var(--paper);text-transform:uppercase;letter-spacing:.06em;color:var(--slate);z-index:1;font-family:IBM Plex Mono,monospace;font-size:10px;position:sticky;top:0}.import-row.error:not(.head){background:var(--danger-bg)}.import-error-list{color:var(--danger);margin:0 0 18px;padding-left:18px;font-size:12px;line-height:1.7}.modal-foot-hint{color:var(--slate);font-size:11.5px;font-style:italic}.modal-foot-actions{align-items:center;gap:10px;display:flex}.field label{text-transform:uppercase;letter-spacing:.07em;color:var(--slate);margin-bottom:6px;font-family:IBM Plex Mono,monospace;font-size:10px;display:block}.field input,.field select{border:1px solid var(--hairline);background:var(--paper);width:100%;color:var(--ink);padding:9px 10px;font-size:13px}.field-error{color:var(--danger);margin-top:4px;font-size:11px;display:block}.field-hint{color:var(--slate);margin-top:4px;font-size:11px;display:block}.proj-table{background:0 0;border:0}.pcard-list{flex-direction:column;gap:16px;display:flex}.pcard{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s,box-shadow .15s;box-shadow:0 1px 2px #1c1f230a}.pcard:hover{border-color:var(--hairline-strong);box-shadow:0 6px 18px -12px #1c1f2347}.pcard-body{grid-template-columns:minmax(0,1fr) 340px auto;align-items:start;gap:40px;padding:26px 30px;display:grid}.pcard-main{flex-direction:column;gap:12px;min-width:0;display:flex}.pcard-tags{cursor:default;flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pcard-code{letter-spacing:.08em;color:var(--ink-soft);background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius);padding:3px 8px;font-family:IBM Plex Mono,monospace;font-size:11.5px}.pcard-status{border-radius:var(--radius-pill);background:var(--paper);color:var(--ink-soft);align-items:center;gap:7px;padding:0 4px 0 10px;display:inline-flex;position:relative}.pcard-status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px}.pcard-status select{appearance:none;color:inherit;cursor:pointer;background:0 0;border:none;padding:5px 8px 5px 0;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.pcard-status select:disabled{cursor:default;opacity:1}.pcard-status select:focus-visible{outline:none}.pcard-status:focus-within{box-shadow:var(--focus)}.pcard-status.levantamiento{background:var(--gold-bg);color:var(--gold)}.pcard-status.desarrollo{background:var(--blue-bg);color:#1f4a66}.pcard-status.validacion{background:var(--rust-bg);color:var(--rust)}.pcard-status.cerrado{background:var(--green-bg);color:var(--green)}.pcard-title{letter-spacing:-.01em;margin:0;font-family:Fraunces,serif;font-size:24px;font-weight:600;line-height:1.2}.pcard-title a{color:var(--ink);text-decoration:none}.pcard-title a:hover{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.pcard-title a:focus-visible{box-shadow:var(--focus);border-radius:2px;outline:none}.pcard-people{flex-wrap:wrap;gap:12px 32px;padding-top:4px;display:flex}.pcard-person{align-items:center;gap:10px;min-width:0;display:flex}.pcard-avatar{background:var(--paper);border:1px solid var(--hairline);width:34px;height:34px;color:var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:IBM Plex Mono,monospace;font-size:11.5px;font-weight:500;display:inline-flex}.pcard-avatar.missing{border:1.5px dashed var(--hairline-strong);color:var(--slate);background:0 0}.pcard-person-text{flex-direction:column;min-width:0;display:flex}.pcard-person-role{letter-spacing:.1em;text-transform:uppercase;color:var(--slate);font-family:IBM Plex Mono,monospace;font-size:10px}.pcard-person-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;max-width:260px;font-size:14px;font-weight:500;overflow:hidden}.pcard-person-name.missing{color:var(--slate);font-style:italic;font-weight:400}.pcard-progress{border-left:1px solid var(--hairline);cursor:default;flex-direction:column;gap:10px;padding-left:32px;display:flex}.pcard-progress-head{justify-content:space-between;align-items:center;gap:12px;min-height:24px;display:flex}.pcard-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--slate);font-family:IBM Plex Mono,monospace;font-size:10px}.pcard-badge{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.pcard-badge.tone-green{background:var(--green-bg);color:#22573a}.pcard-badge.tone-gold{background:var(--gold-bg);color:#7a5410}.pcard-badge.tone-rust{background:var(--danger-bg);color:var(--danger)}.pcard-progress-figures{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.pcard-pct{letter-spacing:-.02em;color:var(--ink);font-feature-settings:"tnum";font-family:Fraunces,serif;font-size:40px;font-weight:600;line-height:1}.pcard-pct-caption{color:var(--ink-soft);font-size:13px}.pcard-pct-caption strong{color:var(--ink);font-weight:600}.pcard-bar{align-items:center;height:18px;display:flex;position:relative}.pcard-bar-track{background:#edebe8;border-radius:4px;height:8px;position:absolute;left:0;right:0}.pcard-bar-fill{background:var(--brand);border-radius:4px;min-width:8px;height:8px;position:absolute;left:0}.pcard-bar-marker{background:var(--ink);width:2px;height:18px;margin-left:-1px;position:absolute;top:0}.pcard-toggle{min-height:36px;color:var(--brand-strong);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;padding:8px 0;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.pcard-toggle:hover{color:#8f040b}.pcard-toggle:focus-visible{box-shadow:var(--focus);border-radius:2px;outline:none}.pcard-chevron{transition:transform .15s}.pcard-chevron.open{transform:rotate(180deg)}.pcard-actions{cursor:default;align-items:center;gap:8px;display:flex}.pcard-btn{background:var(--card);border:1px solid var(--hairline-strong);height:40px;color:var(--ink);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:0 18px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.pcard-btn:hover{background:var(--paper);border-color:var(--ink)}.pcard-btn:focus-visible,.pcard-icon-btn:focus-visible,.pcard-menu-item:focus-visible{box-shadow:var(--focus);outline:none}.pcard-menu-wrap{position:relative}.pcard-icon-btn{width:40px;height:40px;color:var(--slate);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.pcard-icon-btn:hover,.pcard-icon-btn[aria-expanded=true]{background:var(--paper);border-color:var(--hairline);color:var(--ink)}.pcard-menu{z-index:20;background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius-md);min-width:190px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 28px -14px #1c1f2359}.pcard-menu-item{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:10px 12px;font-family:inherit;font-size:13px;display:block}.pcard-menu-item:hover{background:var(--paper)}.pcard-menu-item.danger{color:var(--danger)}.pcard-menu-item.danger:hover{background:var(--danger-bg)}.pcard-status.static{padding-right:11px}.pcard-status-label{padding:5px 0;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.pcard-badge.tone-slate{background:var(--paper);color:var(--ink-soft)}.pcard-bar-fill.weekly-fill.tone-green{background:var(--green)}.pcard-bar-fill.weekly-fill.tone-gold{background:#b7811a}.pcard-bar-fill.weekly-fill.tone-rust{background:var(--danger)}a.pcard-btn{text-decoration:none}.ucard-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;margin-top:18px;display:grid}.ucard{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius-md);flex-direction:column;gap:14px;min-width:0;padding:18px 18px 14px;display:flex;box-shadow:0 1px 2px #1c1f230a}.ucard.pending{background:#fffdf8;border-style:dashed;border-color:#dccdaa}.ucard-top{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;display:grid}.ucard-top.readonly{grid-template-columns:auto minmax(0,1fr)}.provider-avatar,.ucard .provider-avatar{border-radius:10px}.provider-add{justify-content:space-between;gap:10px}.provider-add input{box-sizing:border-box;width:100%;color:var(--ink);border:0;border-bottom:1px solid var(--hairline-strong);background:0 0;padding:8px 0;font-family:Inter,sans-serif;font-size:15px}.provider-add input:focus{border-bottom-color:var(--brand);outline:none}.provider-add-btn{align-self:flex-start}.provider-add-btn:disabled{opacity:.5;cursor:default}.ucard-count{color:var(--slate);background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius-pill);padding:2px 10px;font-family:IBM Plex Mono,monospace;font-size:12px}.ucard-role-code{color:var(--ink);background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:1px 6px;font-family:IBM Plex Mono,monospace;font-size:11.5px}.ucard .pcard-avatar{width:44px;height:44px;font-size:13px}.ucard-id{flex-direction:column;gap:2px;min-width:0;display:flex}.ucard-code{letter-spacing:.12em;text-transform:uppercase;color:var(--slate);font-family:IBM Plex Mono,monospace;font-size:10px}.ucard-name{min-width:0;color:var(--ink);background:0 0;border:0;border-bottom:1px dashed #0000;flex:1;padding:1px 0 2px;font-family:Fraunces,serif;font-size:18px;font-weight:600;line-height:1.3}.ucard-name.static{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.ucard-email{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.ucard-foot{border-top:1px solid #edebe8;justify-content:space-between;align-items:center;gap:10px;min-height:28px;padding-top:12px;display:flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=760px){.ucard-grid{grid-template-columns:1fr}}.wr{flex-direction:column;gap:14px;margin-top:6px;display:flex}.wr-week{color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:13.5px;display:flex}.wr-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:22px;display:grid}.wr.modal .wr-layout{grid-template-columns:1fr}.wr-main{flex-direction:column;gap:18px;min-width:0;display:flex}.wr-section{flex-direction:column;gap:10px;display:flex}.wr-section-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.wr-section-head h3{margin:0;font-family:Fraunces,serif;font-size:18px;font-weight:600}.wr-section-head.late h3,.wr-section-head.late .wr-count{color:var(--danger)}.wr-count{letter-spacing:.06em;text-transform:uppercase;color:var(--slate);font-family:IBM Plex Mono,monospace;font-size:10.5px}.wr-empty{color:var(--ink-soft);background:var(--card);border:1px dashed var(--hairline-strong);border-radius:var(--radius-md);margin:0;padding:14px 16px;font-size:13px}.wr-item{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius-md);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.wr-item.done{border-color:#cfe0d5}.wr-item.late{background:#fffbfb;border-color:#f2c9cb}.wr-item-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.wr-item-text{flex-direction:column;flex:260px;gap:5px;min-width:0;display:flex}.wr-item-meta{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.wr-item-title{color:var(--ink);font-size:14.5px;font-weight:500}.wr-due{color:var(--slate);font-family:IBM Plex Mono,monospace;font-size:11px}.wr-due.late{color:var(--danger)}.wr-seg{border:1px solid var(--hairline-strong);border-radius:6px;flex-shrink:0;display:inline-flex;overflow:hidden}.wr-seg-btn{border:0;border-left:1px solid var(--hairline);background:var(--card);height:36px;color:var(--ink-soft);cursor:pointer;padding:0 13px;font-family:inherit;font-size:12.5px;font-weight:600}.wr-seg-btn:first-child{border-left:0}.wr-seg-btn:hover:not(:disabled){background:var(--paper)}.wr-seg-btn:disabled{cursor:default}.wr-seg-btn:focus-visible{box-shadow:inset var(--focus);outline:none}.wr-seg-btn.on.tone-green{background:var(--green-bg);color:#22573a}.wr-seg-btn.on.tone-gold{background:var(--gold-bg);color:#7a5410}.wr-seg-btn.on.tone-rust{background:var(--danger-bg);color:var(--danger)}.wr-qa-hint{color:#22573a;font-size:12.5px}.wr-note,.wr-general{color:var(--ink-soft);flex-direction:column;gap:6px;font-size:12.5px;display:flex}.wr-general>span{color:var(--ink);font-family:Fraunces,serif;font-size:16px;font-weight:600}.wr-note textarea,.wr-general textarea{min-height:58px;color:var(--ink);border:1px solid var(--hairline-strong);background:var(--card);resize:vertical;border-radius:6px;padding:8px 10px;font-family:inherit;font-size:13px}.wr-general textarea{min-height:80px}.wr-note textarea:focus,.wr-general textarea:focus{box-shadow:var(--focus);border-color:var(--brand);outline:none}.wr-side{flex-direction:column;gap:12px;display:flex}.wr-summary,.wr-next{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius-md);flex-direction:column;gap:10px;padding:16px 18px;display:flex}.wr-summary-figure{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.wr-summary-counts{color:var(--ink-soft);border-top:1px solid #edebe8;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-top:8px;font-size:11.5px;display:grid}.wr-summary-counts b{font-family:Fraunces,serif;font-size:18px;display:block}.wr-summary-counts .tone-green{color:#22573a}.wr-summary-counts .tone-gold{color:#7a5410}.wr-summary-counts .tone-rust{color:var(--danger)}.wr-summary-hint{color:var(--slate);font-size:11.5px}.wr-next-row{color:var(--ink);font-size:12.5px}.wr-submit{width:100%;height:46px}.wr-sent{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.wr-modal-card{width:calc(100vw - 32px);max-width:860px}@media (width<=900px){.wr-layout{grid-template-columns:1fr}}@media (width<=560px){.wr-seg{width:100%}.wr-seg-btn{flex:1;padding:0 6px}}.weekly-search{min-width:300px}.wcard{cursor:default}.wcard:hover{border-color:var(--hairline);box-shadow:0 1px 2px #1c1f230a}.wcard-body{grid-template-columns:minmax(0,1fr) 540px;align-items:start;gap:36px;padding:24px 30px;display:grid}.wcard-main{flex-direction:column;gap:12px;min-width:0;display:flex}.wcard-main .pcard-toggle{padding:4px 0}.wcard-metrics{border-left:1px solid var(--hairline);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.wcard-metric{flex-direction:column;gap:9px;min-width:0;padding:0 22px 0 28px;display:flex}.wcard-metric+.wcard-metric{border-left:1px solid #edebe8;padding:0 0 0 22px}.wcard-metric .pcard-badge{align-self:flex-start}.wcard-figure{align-items:baseline;gap:6px;display:flex}.wcard-figure .pcard-pct{font-size:36px}.weekly-metric-text{color:var(--ink-soft);font-size:13px;line-height:1.5}.weekly-metric-link{color:var(--brand-strong);font-size:13px;font-weight:500;text-decoration:none}.weekly-metric-link:hover{text-decoration:underline}.weekly-metric-late{color:var(--danger);font-size:12.5px;font-weight:600}.wmd{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:28px;display:grid}.wmd-week,.wmd-history{flex-direction:column;gap:10px;min-width:0;display:flex}.wmd-week-sum{color:var(--ink-soft);font-size:13px}.wmd-lines{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.wmd-line{background:var(--card);border:1px solid var(--hairline);border-radius:6px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.wmd-line-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.wmd-line-name{align-items:center;min-width:0;display:inline-flex}.wmd-line-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:500;overflow:hidden}.wmd-line-note{color:var(--ink-soft);font-size:12.5px;line-height:1.5}.wmd-line-note.rejected{color:var(--danger)}.wmd-empty{color:var(--ink-soft);background:var(--card);border:1px dashed var(--hairline-strong);border-radius:6px;flex-direction:column;gap:4px;margin:0;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.wmd-empty-warn{color:#7a5410;font-weight:500}.wmd-general.rejected{color:var(--danger)}.wmd-general{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.5}.wmd-general b{color:var(--ink);font-weight:600}.wmd-table{background:var(--card);border:1px solid var(--hairline);border-radius:6px;overflow:hidden}.wmd-row{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #edebe8;grid-template-columns:1.25fr .9fr .6fr 1fr;align-items:center;gap:8px;padding:10px 14px;font-family:inherit;font-size:13px;display:grid}.wmd-row:hover{background:var(--paper)}.wmd-row.selected{background:var(--brand-bg)}.wmd-row:focus-visible{box-shadow:inset var(--focus);outline:none}.wmd-row.head{background:var(--paper);cursor:default;letter-spacing:.06em;text-transform:uppercase;color:var(--slate);border-top:0;font-family:IBM Plex Mono,monospace;font-size:10px}.wmd-report{font-weight:600}.wmd-report.tone-green{color:#22573a}.wmd-report.tone-rust{color:var(--danger)}.wmd-report.tone-slate{color:var(--slate)}.wmd-foot{color:var(--slate);font-size:12px;line-height:1.5}.ucard-link-btn{color:var(--brand-strong);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:4px 0;font-family:inherit;font-size:13px;font-weight:500}@media (width<=1100px){.wcard-body{grid-template-columns:1fr;gap:20px}.wcard-metrics{border-left:0;border-top:1px solid var(--hairline);padding-top:16px}.wcard-metric{padding:0 22px 0 0}.wmd{grid-template-columns:1fr}}@media (width<=560px){.wcard-body{padding:20px}.wcard-metrics{grid-template-columns:1fr;gap:16px}.wcard-metric+.wcard-metric{border-top:1px solid #edebe8;border-left:0;padding:16px 0 0}.weekly-search{width:100%;min-width:0}}.ds-role-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--blue);background:var(--blue-bg);vertical-align:1px;border-radius:3px;margin-left:8px;padding:1px 5px;font-family:IBM Plex Mono,monospace;font-size:9.5px}.item-evidence{color:var(--slate);flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;font-size:12px;font-weight:400;display:flex}.doc-required-tag{letter-spacing:.05em;text-transform:uppercase;color:#7a5410;background:var(--gold-bg);border-radius:3px;padding:1px 6px;font-family:IBM Plex Mono,monospace;font-size:9.5px}.log-doc-link{color:var(--brand-strong);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-family:inherit;font-size:12px;font-weight:500;text-decoration:underline}.log-doc-missing{color:#7a5410;font-size:11.5px;font-weight:600}.note-form-side{flex-direction:column;flex-shrink:0;align-items:stretch;gap:6px;display:flex}.note-file{border:1px dashed var(--hairline-strong);background:var(--card);max-width:220px;color:var(--ink-soft);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;justify-content:center;align-items:center;padding:6px 10px;font-size:12px;display:inline-flex;position:relative;overflow:hidden}.note-file:hover{border-color:var(--ink);color:var(--ink)}.note-file input{opacity:0;cursor:pointer;position:absolute;inset:0}.note-file:focus-within{box-shadow:var(--focus)}.wr-doc{background:var(--paper);border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.wr-doc-ok{color:#22573a;font-size:12.5px}.wr-doc-missing{color:#7a5410;font-size:12.5px;font-weight:500}.pcard-breakdown{border-top:1px solid var(--hairline);cursor:default;border-radius:0 0 var(--radius-md) var(--radius-md);background:#fafaf8;flex-direction:column;gap:12px;padding:18px 30px 22px;display:flex}.pcard-sections{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.pcard-section{background:var(--card);border:1px solid var(--hairline);border-radius:6px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.pcard-section-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.pcard-section-name{align-items:center;min-width:0;display:inline-flex}.pcard-section-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:500;overflow:hidden}.pcard-section-pct{color:var(--ink);font-feature-settings:"tnum";font-family:Fraunces,serif;font-size:18px;font-weight:600}.pcard-section-bar{background:#edebe8;border-radius:3px;height:6px;display:block;position:relative;overflow:hidden}.pcard-section-bar span{background:var(--brand);border-radius:3px;position:absolute;top:0;bottom:0;left:0}.pcard-section-count{color:var(--slate);font-size:12px}@media (width<=1100px){.pcard-body{grid-template-columns:minmax(0,1fr) 300px;gap:28px}.pcard-actions{grid-column:1/-1;justify-content:flex-end}}@media (width<=760px){.pcard-body{grid-template-columns:1fr;gap:18px;padding:20px}.pcard-progress{background:#fafaf8;border:1px solid #edebe8;border-radius:6px;padding:16px}.pcard-pct{font-size:34px}.pcard-actions{border-top:1px solid #edebe8;justify-content:stretch;padding-top:14px}.pcard-btn{flex:1;justify-content:center;height:44px}.pcard-icon-btn{border-color:var(--hairline-strong);width:44px;height:44px}.pcard-title{font-size:21px}.pcard-people{flex-direction:column;gap:12px}.pcard-breakdown{padding:16px 20px 20px}}.proj-code{letter-spacing:.1em;text-transform:uppercase;color:var(--slate);font-family:IBM Plex Mono,monospace;font-size:10.5px}.proj-name{margin-top:4px;font-family:Fraunces,serif;font-size:21px;font-weight:600;line-height:1.25}.bar-track{background:var(--paper);border:1px solid var(--hairline);flex:1;height:6px;display:inline-block;position:relative}.bar-fill{background:var(--green);transition:width .25s;position:absolute;top:0;bottom:0;left:0}.pct{color:var(--ink-soft);text-align:right;width:34px;font-family:IBM Plex Mono,monospace;font-size:11.5px}.status-select{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;appearance:none;border:1px solid #0000;padding:4px 10px;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:600}.status-select.levantamiento{background:var(--gold-bg);color:var(--gold);border-color:var(--gold)}.status-select.desarrollo{background:var(--blue-bg);color:var(--blue);border-color:var(--blue)}.status-select.validacion{background:var(--rust-bg);color:var(--rust);border-color:var(--rust)}.status-select.cerrado{background:var(--green-bg);color:var(--green);border-color:var(--green)}.status-select.programada{background:var(--blue-bg);color:var(--blue);border-color:var(--blue)}.status-select.reprogramada{background:var(--gold-bg);color:var(--gold);border-color:var(--gold)}.status-select.realizada{background:var(--green-bg);color:var(--green);border-color:var(--green)}.status-select.no_realizada{background:var(--rust-bg);color:var(--rust);border-color:var(--rust)}.empty-state{text-align:center;color:var(--slate);padding:40px 20px;font-size:13px}.section{box-shadow:none;background:0 0;border:0;margin-top:28px;position:relative}.section+.section{margin-top:44px}.section-head{border-bottom:1px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:0 0 14px;display:flex}.section-head .title-block{align-items:baseline;gap:12px;display:flex}.code-tag{color:var(--brand-strong);border:1px solid var(--brand-strong);border-radius:var(--radius-sm);letter-spacing:.08em;text-transform:uppercase;background:0 0;padding:2px 7px;font-family:IBM Plex Mono,monospace;font-size:10.5px}.section-head h2{margin:0;font-family:Fraunces,serif;font-size:26px;font-weight:400}.section-progress{align-items:center;gap:10px;min-width:170px;display:flex}.section-progress .bar-track{width:130px}.stamp{border:2.5px solid var(--green);width:74px;height:74px;color:var(--green);letter-spacing:.05em;text-align:center;opacity:0;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600;line-height:1.15;transition:opacity .3s,transform .3s;display:flex;position:absolute;top:14px;right:4px;transform:rotate(-14deg)}.stamp.show{opacity:.85;transform:rotate(-10deg)scale(1)}.items{margin:0;padding:0;list-style:none}.item-block{border-bottom:1px solid var(--color-divider,var(--hairline))}.item-block:last-child{border-bottom:none}.item{grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:10px 16px;padding:13px 4px;display:grid}.item-code{letter-spacing:.06em;text-transform:uppercase;color:var(--slate);font-family:IBM Plex Mono,monospace;font-size:10.5px}.item-text{font-size:13.5px;line-height:1.5}.item-actions{flex-wrap:wrap;justify-self:end;align-items:center;gap:10px;display:flex}.item-text.done{color:var(--slate);text-decoration:line-through;-webkit-text-decoration-color:var(--hairline);text-decoration-color:var(--hairline)}.resp-tag{border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;border:1px solid var(--ink-soft);color:var(--ink-soft);-webkit-user-select:none;user-select:none;background:0 0;padding:4px 10px;font-size:11px}.resp-tag.desarrollador{border-color:var(--ink);color:var(--ink);background:var(--paper)}.due-date-input{border-radius:var(--radius-sm);border:1px solid var(--hairline-strong);color:var(--ink);background:0 0;padding:4px 6px;font-family:IBM Plex Mono,monospace;font-size:11px}.due-date-tag{border-radius:var(--radius-pill);border:1px solid var(--hairline-strong);color:var(--slate);white-space:nowrap;padding:4px 8px;font-family:IBM Plex Mono,monospace;font-size:11px}.due-date-tag.overdue{border-color:var(--danger);color:var(--danger);background:var(--danger-bg)}.percent-select{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-pill);cursor:pointer;border:1px solid #0000;padding:4px 8px;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:600}.percent-select.pendiente{background:var(--rust-bg);color:var(--rust);border-color:var(--rust)}.percent-select.progreso{background:var(--gold-bg);color:var(--gold);border-color:var(--gold)}.percent-select.completo{background:var(--green-bg);color:var(--green);border-color:var(--green)}.weekly-indicator{border-radius:var(--radius-pill);white-space:nowrap;border:1px solid;padding:4px 12px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600}.weekly-indicator.tone-green{background:var(--green-bg);color:var(--green);border-color:var(--green)}.weekly-indicator.tone-gold{background:var(--gold-bg);color:var(--gold);border-color:var(--gold)}.weekly-indicator.tone-rust{background:var(--rust-bg);color:var(--rust);border-color:var(--rust)}.weekly-indicator.tone-slate{background:var(--paper);color:var(--slate);border-color:var(--hairline)}.weekly-fill{border-bottom:1px solid var(--hairline);padding:16px 22px}.weekly-fill-row{align-items:center;gap:10px;margin:10px 0;display:flex}.weekly-fill-summary{color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.weekly-fill-actions{gap:8px;display:flex}.weekly-fill textarea{border:1px solid var(--hairline);background:var(--paper);width:100%;min-height:70px;color:var(--ink);resize:vertical;margin-bottom:10px;padding:8px 10px;font-family:inherit;font-size:13px}.weekly-history{padding:16px 22px 20px}.weekly-week-status{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-pill);white-space:nowrap;border:1px solid;padding:3px 9px;font-family:IBM Plex Mono,monospace;font-size:10.5px}.weekly-week-status.tone-green{background:var(--green-bg);color:var(--green);border-color:var(--green)}.weekly-week-status.tone-gold{background:var(--gold-bg);color:var(--gold);border-color:var(--gold)}.weekly-week-status.tone-rust{background:var(--rust-bg);color:var(--rust);border-color:var(--rust)}.weekly-week-status.tone-blue{background:var(--blue-bg);color:var(--blue);border-color:var(--blue)}.weekly-detail{border-top:1px solid var(--hairline);background:var(--paper);padding:20px 22px 24px}.weekly-detail-summary{border-bottom:1px solid var(--hairline);flex-wrap:wrap;align-items:flex-start;gap:22px;margin-bottom:24px;padding-bottom:22px;display:flex}.weekly-detail-kpi{flex:none}.weekly-detail-kpi .label{text-transform:uppercase;letter-spacing:.09em;color:var(--slate);margin-bottom:6px;font-family:IBM Plex Mono,monospace;font-size:10.5px}.weekly-detail-kpi .value{font-variant-numeric:tabular-nums;font-family:Fraunces,serif;font-size:34px;font-weight:600;line-height:1}.weekly-detail-kpi .value.tone-green{color:var(--green)}.weekly-detail-kpi .value.tone-gold{color:var(--gold)}.weekly-detail-kpi .value.tone-rust{color:var(--rust)}.weekly-detail-explain{color:var(--ink-soft);flex:320px;max-width:56ch;margin:2px 0 0;font-size:13px;line-height:1.65}.weekly-detail-explain b{color:var(--ink)}.weekly-detail-grid{background:var(--hairline);border:1px solid var(--hairline);grid-template-columns:1fr 1fr;gap:1px;display:grid}.weekly-detail-grid .dash-card-title{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.weekly-strip{flex-wrap:wrap;gap:3px;display:flex}.weekly-cell{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-family:inherit;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.weekly-cell.sm{cursor:default;flex-shrink:0;width:14px;height:14px;font-size:0}.weekly-cell:not(.sm){cursor:pointer;border:1.5px solid #0000}.weekly-cell:not(.sm):hover{opacity:.85}.weekly-cell:not(.sm).selected{border-color:var(--ink);box-shadow:0 0 0 2px var(--card),0 0 0 3px var(--ink)}.weekly-cell.tone-green{background:var(--green);color:#fff}.weekly-cell.tone-rust{background:var(--rust);color:#fff}.weekly-cell.tone-blue{background:var(--card);color:var(--blue);border-color:var(--blue);border-style:dashed}.weekly-strip-legend{color:var(--slate);gap:6px;font-size:10.5px;display:flex}.weekly-strip-legend-item{align-items:center;gap:4px;display:inline-flex}.weekly-week-detail{border-top:1px dashed var(--hairline);margin-top:16px;padding-top:16px}.weekly-week-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.weekly-week-detail-date{text-transform:capitalize;font-family:Fraunces,serif;font-size:15px;font-weight:600}.weekly-week-detail-note{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.6}.weekly-trend-row{grid-template-columns:56px 1fr 34px;align-items:center;gap:10px;display:grid}.weekly-trend-row+.weekly-trend-row{margin-top:9px}.weekly-trend-label{color:var(--ink-soft);white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:11px}.weekly-trend-value{color:var(--ink-soft);text-align:right;font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,monospace;font-size:11px}@media (width<=720px){.weekly-detail-grid{grid-template-columns:1fr}}.hist-btn{border:1px solid var(--hairline-strong);color:var(--slate);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:5px;padding:4px 9px;font-family:IBM Plex Mono,monospace;font-size:11px;display:inline-flex}.hist-btn:hover{border-color:var(--ink);color:var(--ink)}.hist-btn.has-log{border-color:var(--blue);color:var(--blue)}.del-btn{color:var(--slate);cursor:pointer;opacity:.5;background:0 0;border:none;flex-shrink:0;padding:2px 4px;font-size:15px;line-height:1}.del-btn:hover{opacity:1;color:var(--danger)}.del-btn.tiny{font-size:12px}.item-log{background:var(--paper);border-top:1px dashed var(--hairline);padding:14px 4px 16px 68px}.log-entry{border-bottom:1px dashed var(--hairline);justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;padding-bottom:8px;font-size:12.5px;display:flex}.log-entry:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.log-entry-text{flex-wrap:wrap;flex:1;align-items:baseline;gap:12px;display:flex}.log-date{color:var(--slate);white-space:nowrap;flex-shrink:0;font-family:IBM Plex Mono,monospace}.log-text{color:var(--ink-soft)}.log-entry-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.log-empty{color:var(--slate);margin-bottom:10px;font-size:12.5px;font-style:italic}.status-pill{letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-sm);white-space:nowrap;border:1px solid;padding:3px 8px;font-family:IBM Plex Mono,monospace;font-size:10px;display:inline-block}.status-pill.small{padding:2px 7px;font-size:9.5px}.status-pill.tone-green{background:var(--green-bg);color:var(--green);border-color:var(--green)}.status-pill.tone-gold{background:var(--gold-bg);color:var(--gold);border-color:var(--gold)}.status-pill.tone-rust{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.log-reject-reason{color:var(--danger);background:var(--danger-bg);border-left:2px solid var(--danger);flex-basis:100%;padding:6px 10px;font-size:12px}.log-reject-reason strong{font-weight:600}.log-reject-form{flex-direction:column;flex-basis:100%;gap:6px;display:flex}.log-reject-form textarea{border:1px solid var(--danger);background:var(--card);resize:vertical;min-height:56px;color:var(--ink);padding:6px 8px;font-family:inherit;font-size:12.5px}.log-reject-form textarea:focus{box-shadow:var(--focus);outline:none}.log-reject-form-actions{gap:6px;display:flex}.note-form{align-items:flex-start;gap:8px;margin-top:10px;display:flex}.note-form textarea{border:1px solid var(--hairline);background:var(--card);resize:vertical;min-height:40px;color:var(--ink);flex:1;padding:6px 8px;font-size:12.5px}.force-obs{background:var(--danger-bg);border-top:1px solid var(--danger);margin:0;padding:16px 4px 18px 68px}.force-obs .msg{color:var(--danger);margin-bottom:8px;font-size:12.5px;font-weight:600}.force-obs textarea{border:1px solid var(--danger);background:var(--card);resize:vertical;width:100%;min-height:54px;color:var(--ink);margin-bottom:8px;padding:8px;font-size:13px}.force-obs .actions{justify-content:flex-end;gap:8px;display:flex}.admin-hint{color:var(--ink-soft);margin:10px 0 0;padding:0 4px;font-size:13px}.status-badge{letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius-sm);white-space:nowrap;border:1px solid;padding:4px 8px;font-family:IBM Plex Mono,monospace;font-size:9.5px;display:inline-block}.status-badge.pending{border-color:var(--gold);color:var(--gold)}.status-badge.confirmed{border-color:var(--green);color:var(--green)}.selected-person-chip{background:var(--paper);border:1px solid var(--hairline);align-items:center;gap:12px;margin:0;padding:10px 14px;font-size:13px;display:flex}.multi-picker-chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.selected-person-chip strong{font-family:Fraunces,serif;font-size:14.5px}.selected-person-chip span{color:var(--slate)}.selected-person-chip button{color:var(--brand-strong);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0;font-size:12px;text-decoration:underline}.intake.compact{border-top-color:var(--brand);flex-direction:column;gap:18px;margin:0 22px 16px;padding:26px;display:flex}.intake.compact .intake-actions{margin:0}.intake-grid.two-col{grid-template-columns:1fr 1fr}.add-row{flex-wrap:wrap;align-items:center;gap:14px;padding:16px 4px 4px;display:flex}.add-row input[type=text]{border:0;border-bottom:1px solid var(--hairline-strong);background:0 0;flex:240px;min-width:0;padding:8px 2px;font-size:13px}.add-row input[type=text]:focus{border-color:var(--ink);outline:none}.add-row select{border:0;border-bottom:1px solid var(--hairline-strong);background:0 0;border-radius:0;padding:8px 2px;font-size:12px}.notes{padding:20px 4px 4px}.notes .label{text-transform:uppercase;letter-spacing:.08em;color:var(--slate);margin-bottom:6px;font-family:IBM Plex Mono,monospace;font-size:10.5px}.notes textarea{border:1px solid var(--hairline);background:var(--paper);resize:vertical;width:100%;min-height:52px;color:var(--ink);padding:8px 10px;font-size:13px}.cal-header{border-bottom:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:16px 4px;display:flex}.cal-nav-btn{border:1px solid var(--hairline);cursor:pointer;color:var(--ink);background:0 0;padding:5px 10px;font-family:IBM Plex Mono,monospace;font-size:12px}.cal-nav-btn:hover{border-color:var(--ink)}.cal-month-label{text-transform:capitalize;text-align:center;min-width:150px;font-family:Fraunces,serif;font-size:16px;font-weight:600}.cal-legend{color:var(--slate);flex-wrap:wrap;gap:12px;font-family:IBM Plex Mono,monospace;font-size:10px;display:flex}.cal-legend span{align-items:center;gap:5px;display:inline-flex}.cal-legend .dot{border-radius:50%;width:7px;height:7px;display:inline-block}.cal-legend .dot.dot-square{border-radius:1px}.cal-grid{background:var(--hairline);grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.cal-daylabel{background:var(--paper);text-align:center;text-transform:uppercase;color:var(--slate);padding:7px 0;font-family:IBM Plex Mono,monospace;font-size:9.5px}.cal-day{background:var(--card);cursor:pointer;min-height:64px;padding:8px;transition:background .12s}.cal-day:hover{background:var(--paper)}.cal-day.empty{background:var(--paper);cursor:default}.cal-day.selected{box-shadow:inset 0 0 0 2px var(--brand)}.cal-day.today{box-shadow:inset 0 0 0 1px var(--brand-ring)}.cal-day .daynum{color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:11px}.cal-dots{flex-wrap:wrap;gap:3px;margin-top:6px;display:flex}.cal-dot{border-radius:50%;width:6px;height:6px}.cal-dot.programada{background:var(--blue)}.cal-dot.reprogramada{background:var(--gold)}.cal-dot.realizada{background:var(--green)}.cal-dot.no_realizada{background:var(--rust)}.cal-dot.dot-square{border-radius:1px}.cal-dot.note-dot{background:var(--ink)}.cal-dot.milestone-dot{background:var(--brand);border-radius:1px;width:7px;height:7px;transform:rotate(45deg)}.cal-dot.task-dot{box-shadow:inset 0 0 0 1.5px var(--ink-soft);background:0 0}.cal-milestones{border-top:1px solid var(--hairline);padding:12px 4px 14px}.cal-milestones-title{letter-spacing:.06em;text-transform:uppercase;color:var(--slate);margin-bottom:8px;font-family:IBM Plex Mono,monospace;font-size:10.5px}.cal-milestones ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cal-milestones li{color:var(--ink-soft);align-items:center;gap:10px;font-size:12.5px;display:flex}.cal-milestone-date{color:var(--slate);flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:11px}.cal-milestone-label.hito{color:var(--ink);font-weight:600}.meeting-toolbar{border-top:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 4px;display:flex}.meeting-toolbar .filter-note{color:var(--slate);font-family:IBM Plex Mono,monospace;font-size:11px}.meeting-toolbar .filter-note button{color:var(--brand-strong);cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.meeting-toolbar .toolbar-actions{flex-wrap:wrap;gap:8px;display:flex}.daily-notes-section{border-top:1px solid var(--hairline);padding:20px 4px 4px}.daily-notes-title{text-transform:uppercase;letter-spacing:.08em;color:var(--slate);margin-bottom:10px;font-family:IBM Plex Mono,monospace;font-size:10.5px}.daily-notes-list{background:var(--paper);border:1px solid var(--hairline);padding:12px 14px}.meeting-row{border-bottom:1px solid var(--hairline)}.meeting-row:last-child{border-bottom:none}.meeting-main{flex-wrap:wrap;align-items:center;gap:12px;padding:13px 4px 6px;display:flex}.meeting-date{color:var(--slate);flex-shrink:0;width:150px;font-family:IBM Plex Mono,monospace;font-size:12px}.meeting-title{flex:1;min-width:140px;font-size:13.5px;font-weight:600}.hu-section-head{border-bottom:1px solid var(--ink);align-items:center;gap:10px;margin-bottom:11px;padding:0 4px 9px;display:flex}.hu-section-head:first-child{margin-top:2px}.hu-tag{letter-spacing:.16em;text-transform:uppercase;color:var(--brand-strong);border:1px solid var(--brand-strong);border-radius:var(--radius-sm);flex-shrink:0;padding:3px 7px;font-family:IBM Plex Mono,monospace;font-size:9px}.hu-section-head h3{margin:0;font-family:Fraunces,serif;font-size:15.5px;font-weight:400}.meeting-participants{flex-direction:column;gap:4px;padding:0 4px 13px;display:flex}.participant-chip{background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius-pill);color:var(--ink-soft);align-items:center;gap:6px;padding:3px 6px 3px 11px;font-size:12px;display:inline-flex}.participant-role-row{align-items:center;gap:12px;padding:5px 0;display:flex}.participant-role-label{letter-spacing:.1em;text-transform:uppercase;color:var(--slate);flex-shrink:0;width:120px;font-family:IBM Plex Mono,monospace;font-size:9.5px}.participant-role-chips{flex-wrap:wrap;gap:6px;display:flex}.participant-chip button{color:var(--slate);cursor:pointer;background:0 0;border:none;padding:0 3px;font-size:13px;line-height:1}.participant-chip button:hover{color:var(--danger)}.participant-chip .sign-self-btn{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-pill);border:1px solid var(--brand);background:var(--brand);color:#fff;padding:3px 9px;font-family:IBM Plex Mono,monospace;font-size:10px;line-height:1.4}.participant-chip .sign-self-btn:hover{background:var(--brand-strong);border-color:var(--brand-strong);color:#fff}.participant-chip .sign-self-btn:disabled{opacity:.6;cursor:default}.participant-add{align-items:center;gap:6px;display:inline-flex}.participant-add input{border:1px solid var(--hairline);background:var(--card);width:150px;padding:5px 9px;font-size:12px}.participant-add input:focus{border-color:var(--ink);outline:none}.participant-add button:not(.directory-search-result){border:1px solid var(--ink);color:var(--ink);cursor:pointer;border-radius:var(--radius-pill);background:0 0;padding:4px 10px;font-family:IBM Plex Mono,monospace;font-size:11px}.participant-add button:not(.directory-search-result):hover{background:var(--brand);border-color:var(--brand);color:#fff}.participant-empty{color:var(--slate);font-size:12px;font-style:italic}.meeting-notifying{color:var(--slate);font-family:IBM Plex Mono,monospace;font-size:10.5px;font-style:italic}.directory-search{display:inline-block;position:relative}.directory-search.people-picker{width:100%;display:block}.directory-search.people-picker input,.directory-search.people-picker .directory-search-results{width:100%}.directory-search input{border:1px solid var(--hairline);background:var(--card);color:var(--ink);width:220px;padding:5px 9px;font-size:12px}.directory-search input:focus{border-color:var(--ink);outline:none}.directory-search-hint{color:var(--slate);z-index:5;margin-top:2px;font-size:11px;position:absolute;top:100%;left:0}.directory-search-hint.error{color:var(--rust)}.directory-search-results{background:var(--card);border:1px solid var(--hairline-strong);border-radius:var(--radius-md);width:290px;max-height:260px;box-shadow:var(--shadow-2,0 6px 20px #0000001a);z-index:10;margin-top:4px;position:absolute;top:100%;left:0;overflow-y:auto}.directory-search-role-hint{color:var(--slate);background:var(--paper);border-bottom:1px solid var(--hairline);z-index:1;align-items:center;gap:6px;padding:8px 12px;font-size:11px;display:flex;position:sticky;top:0}.directory-search-role-badge{letter-spacing:.05em;text-transform:uppercase;color:var(--blue);background:var(--blue-bg);border:1px solid var(--blue);border-radius:var(--radius-sm);padding:2px 6px;font-family:IBM Plex Mono,monospace;font-size:9.5px}.directory-search-result{text-align:left;cursor:pointer;border:none;border-left:3px solid #0000;border-bottom:1px solid var(--hairline);background:#fff;align-items:center;gap:10px;width:100%;padding:8px 12px;transition:background .12s,border-color .12s;display:flex}.directory-search-result:last-child{border-bottom:none}.directory-search-result:hover,.directory-search-result:focus-visible{border-left-color:var(--brand);background:#fff;outline:none}.directory-search-result:hover .name{color:var(--brand-strong)}.ds-avatar{background:var(--brand-strong);color:#fff;letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-family:IBM Plex Mono,monospace;font-size:10.5px;display:inline-flex}.ds-result-info{flex-direction:column;gap:1px;min-width:0;display:flex}.directory-search-result .name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.directory-search-result .email{color:var(--slate);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.field .directory-search,.field .directory-search input,.field .directory-search-results{box-sizing:border-box;width:100%}.directory-manual-toggle{color:var(--brand-strong);cursor:pointer;text-align:left;background:0 0;border:none;margin-top:8px;padding:0;font-size:11px;display:block}.directory-manual-toggle:hover{text-decoration:underline}.directory-manual{flex-direction:column;gap:6px;display:flex}.directory-manual input{border:1px solid var(--hairline);background:var(--card);color:var(--ink);width:220px;padding:5px 9px;font-size:12px}.directory-manual input:focus{border-color:var(--ink);outline:none}.directory-manual-actions{gap:6px;display:flex}.meeting-doc{background:var(--card);border-top:1px solid var(--hairline);padding:18px 4px}.hu-textarea{box-sizing:border-box;width:100%;color:var(--ink);background:var(--paper);border:1px solid var(--hairline-strong);border-radius:var(--radius-md);resize:vertical;margin-bottom:18px;padding:12px 14px;font-family:Inter,sans-serif;font-size:13px;line-height:1.7}.hu-textarea:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}.hu-textarea::placeholder{color:var(--slate)}.compromisos-editor{flex-direction:column;gap:6px;margin-bottom:18px;display:flex}.compromiso-row{grid-template-columns:minmax(0,1fr) 170px 140px 22px;align-items:center;gap:8px;display:grid}.compromiso-row.compromiso-head{letter-spacing:.1em;text-transform:uppercase;color:var(--slate);font-family:IBM Plex Mono,monospace;font-size:9px}.compromiso-row input,.compromiso-row select{box-sizing:border-box;border:1px solid var(--hairline-strong);background:var(--card);width:100%;color:var(--ink);padding:6px 9px;font-size:12.5px}.compromiso-row input:focus,.compromiso-row select:focus{border-color:var(--ink);outline:none}.compromiso-row button{color:var(--slate);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;line-height:1}.attendance-editor{flex-direction:column;gap:4px;margin-bottom:18px;padding:0 4px;display:flex}.attendance-chip{border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:1px solid;align-items:center;gap:5px;padding:3px 12px;font-family:inherit;font-size:12px;transition:opacity .12s;display:inline-flex}.attendance-chip.present{background:var(--green-bg);border-color:var(--green);color:var(--green)}.attendance-chip.absent{background:var(--paper);border-color:var(--hairline-strong);color:var(--slate);text-decoration:line-through}.attendance-chip:hover{opacity:.8}.compromiso-row button:hover{color:var(--danger)}.meeting-doc .actions{justify-content:flex-end;gap:8px;display:flex}.top-banner{background:var(--green-bg);border:1px solid var(--green);color:var(--ink);justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;padding:12px 16px;font-size:13px;display:flex}.top-banner button{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:15px;line-height:1}.top-banner button:hover{color:var(--ink)}.top-banner.error{background:var(--danger-bg);border-color:var(--danger)}.participant-chip.signed{background:var(--green-bg);border-color:var(--green);color:var(--green)}.link-btn{color:var(--brand-strong);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:12px;line-height:1}.link-btn:hover{opacity:.7}.sign-note{background:var(--brand-bg);border:1px solid var(--brand-strong);color:var(--ink);margin-bottom:20px;padding:12px 16px;font-size:12.5px}.sign-block{padding:4px}.sign-info{color:var(--ink-soft);margin-bottom:16px;font-size:13.5px}.sign-info strong{color:var(--ink)}.sign-typed input{border:1px solid var(--hairline);background:#fff;width:100%;max-width:520px;padding:14px 12px;font-family:Fraunces,serif;font-size:22px;font-style:italic}.sign-actions{gap:10px;margin-top:14px;display:flex}.sign-success{text-align:center;padding:40px 4px}.sign-success .check{color:var(--green);margin-bottom:10px;font-size:44px}.sign-document{border:1px solid var(--hairline-strong);border-radius:var(--radius-md);background:var(--paper);margin-bottom:20px;padding:18px}.sign-document-head{border-bottom:1px solid var(--ink);align-items:center;gap:12px;margin-bottom:14px;padding-bottom:12px;display:flex}.sign-document-title{font-family:Fraunces,serif;font-size:17px}.sign-document-meta{color:var(--slate);margin-top:2px;font-family:IBM Plex Mono,monospace;font-size:10.5px}.sign-document-field{margin-bottom:14px}.sign-document-field:last-child{margin-bottom:0}.sign-document-label{letter-spacing:.1em;text-transform:uppercase;color:var(--brand-strong);margin-bottom:4px;font-family:IBM Plex Mono,monospace;font-size:9.5px}.sign-document-field p{white-space:pre-wrap;color:var(--ink-soft);margin:0;font-size:13px;line-height:1.6}.sign-document-compromisos{color:var(--ink-soft);margin:0;padding-left:18px;font-size:13px;line-height:1.6}.sign-document-compromisos li{margin-bottom:4px}.sign-document-compromiso-meta{color:var(--slate);font-size:11.5px}.audit-panel{padding:0}.audit-row{border-bottom:1px solid var(--hairline);align-items:baseline;gap:14px;padding:12px 4px;font-size:12.5px;display:flex}.audit-row:last-child{border-bottom:none}.audit-date{color:var(--slate);white-space:nowrap;flex-shrink:0;width:150px;font-family:IBM Plex Mono,monospace}.audit-action{text-transform:uppercase;border-radius:var(--radius-pill);border:1px solid var(--hairline);flex-shrink:0;padding:2px 8px;font-family:IBM Plex Mono,monospace;font-size:10px}.audit-desc{color:var(--ink-soft);flex:1}.audit-actor{color:var(--slate);flex-shrink:0;font-size:11.5px}.auth-shell{background:var(--card);border:1px solid var(--ink);border-top-width:3px;border-top-color:var(--brand);max-width:400px;margin:80px auto;padding:28px}.auth-shell h1{margin:0 0 6px;font-family:Fraunces,serif;font-size:24px}.auth-shell p.sub{color:var(--ink-soft);margin:0 0 20px;font-size:13px}.auth-field{margin-bottom:14px}.auth-field label{text-transform:uppercase;letter-spacing:.07em;color:var(--slate);margin-bottom:6px;font-family:IBM Plex Mono,monospace;font-size:10px;display:block}.auth-field input{border:1px solid var(--hairline);background:var(--card);width:100%;color:var(--ink);padding:10px;font-size:13px}.auth-error{background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger);margin-bottom:14px;padding:10px 12px;font-size:12.5px}.auth-switch{color:var(--ink-soft);margin-top:16px;font-size:12.5px}.auth-switch button{color:var(--brand-strong);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.login-page{grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:100vh;display:grid}.login-brand{background:var(--brand);box-sizing:border-box;flex-direction:column;justify-content:space-between;gap:48px;padding:48px 40px;display:flex}.login-logo{width:180px;max-width:55%;height:auto;display:block}.login-brand-body{flex-direction:column;gap:20px;display:flex}.login-title{letter-spacing:-.02em;color:#fff;text-wrap:balance;margin:0;font-family:Fraunces,serif;font-size:42px;font-weight:600;line-height:1.03}.login-divider{background:#fff;width:64px;height:3px}.login-tagline{color:#ffffffe0;max-width:34ch;margin:0;font-size:14.5px}.login-footer-note{letter-spacing:.13em;text-transform:uppercase;color:#ffffffb8;font-size:11px}.login-form-panel{background:var(--paper);box-sizing:border-box;justify-content:center;align-items:center;padding:48px 40px;display:flex}.login-form{flex-direction:column;gap:20px;width:100%;max-width:380px;display:flex}.login-form h2{letter-spacing:-.01em;margin:0;font-family:Fraunces,serif;font-size:27px;font-weight:600}.login-form .eyebrow{margin:0}.login-form-rule{background:var(--ink);height:2px}.login-form .sub{color:var(--ink-soft);margin:-8px 0 0;font-size:13px}.login-form form{flex-direction:column;gap:2px;display:flex}.login-card{background:var(--card);border:1px solid var(--hairline);border-top:4px solid var(--brand);width:100%;max-width:460px;box-shadow:0 18px 40px -24px #1c1f2347}.login-card-body{flex-direction:column;padding:44px 44px 36px;display:flex}.login-card-body .eyebrow{margin:0 0 12px}.login-card h2{letter-spacing:-.02em;color:var(--ink);margin:0;font-family:Fraunces,serif;font-size:38px;font-weight:600;line-height:1.05}.login-lead{color:var(--ink-soft);max-width:36ch;margin:16px 0 28px;font-size:15.5px;line-height:1.55}.login-card .auth-error{margin:0 0 18px}.btn-sso{letter-spacing:.06em;justify-content:center;align-items:center;gap:14px;width:100%;min-height:54px;font-size:13px;display:flex}.btn-sso:focus-visible{box-shadow:var(--focus);outline:none}.btn-sso .ms-logo{border-radius:var(--radius-sm);box-sizing:content-box;background:#fff;flex-shrink:0;padding:4px}.login-steps{border-top:1px solid var(--hairline);flex-direction:column;gap:14px;margin:28px 0 0;padding:22px 0 0;list-style:none;display:flex}.login-steps li{color:var(--ink-soft);align-items:flex-start;gap:12px;font-size:13.5px;line-height:1.5;display:flex}.login-steps strong{color:var(--ink);font-weight:600}.login-step-num{border-radius:var(--radius-pill);background:var(--brand-bg);width:22px;height:22px;color:var(--brand-strong);flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;display:flex}.login-card-foot{background:var(--paper);border-top:1px solid var(--hairline);color:var(--slate);padding:16px 44px;font-size:12.5px}@media (width<=760px){.login-page{grid-template-columns:1fr}.login-brand{gap:28px;padding:32px 24px}.login-title{font-size:32px}.login-form-panel{padding:32px 16px}.login-card-body{padding:32px 24px 28px}.login-card-foot{padding:14px 24px}.login-card h2{font-size:30px}}footer{text-align:center;color:var(--slate);letter-spacing:.05em;margin-top:36px;font-family:IBM Plex Mono,monospace;font-size:10.5px}@media (width<=820px){.intake-grid,.meeting-form{grid-template-columns:1fr 1fr}.compromiso-row{grid-template-columns:1fr}}@media (width<=640px){.kpis{grid-template-columns:repeat(2,1fr)}.item{flex-wrap:wrap}.item-text{order:1;width:100%}.stamp{display:none}.intake-grid{grid-template-columns:1fr}.item-log,.force-obs{padding-left:22px}.meeting-form{grid-template-columns:1fr}.cal-day{min-height:44px}}.main-nav{text-transform:uppercase;letter-spacing:.06em;gap:22px;margin-bottom:26px;font-family:IBM Plex Mono,monospace;font-size:11.5px;display:flex}.main-nav a{color:var(--slate);border-bottom:2px solid #0000;padding-bottom:4px;text-decoration:none}.main-nav a:hover{color:var(--ink)}.main-nav a.active{color:var(--ink);border-bottom-color:var(--brand)}.kpi.kpi-active{box-shadow:inset 0 0 0 2px var(--brand)}.dashboard-grid{background:var(--hairline);border:1px solid var(--hairline);grid-template-columns:1fr 1fr;gap:1px;margin-bottom:28px;display:grid}.dash-card{background:var(--card);padding:20px 22px}.dash-card-title{text-transform:uppercase;letter-spacing:.07em;color:var(--slate);margin-bottom:16px;font-family:IBM Plex Mono,monospace;font-size:11px}.donut-wrap{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.donut-total-num{fill:var(--ink);font-family:Fraunces,serif;font-size:26px;font-weight:600}.donut-total-label{text-transform:uppercase;letter-spacing:.08em;fill:var(--slate);font-family:IBM Plex Mono,monospace;font-size:9px}.donut-legend{flex-direction:column;gap:8px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.donut-legend li{align-items:center;gap:8px;display:flex}.donut-legend li strong{margin-left:auto;font-family:IBM Plex Mono,monospace}.donut-legend .dot{border-radius:50%;width:9px;height:9px;display:inline-block}.donut-legend-pct{color:var(--slate);font-family:IBM Plex Mono,monospace;font-size:11px}.bar-chart{flex-direction:column;gap:10px;display:flex}.bar-row{grid-template-columns:110px 1fr 30px;align-items:center;gap:10px;display:grid}.bar-row.with-pct{grid-template-columns:110px 1fr 30px 38px}.bar-pct{text-align:right;font-feature-settings:"tnum"}.bar-label{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.section-progress-code{letter-spacing:.04em;color:var(--brand-strong);border:1px solid var(--brand);border-radius:var(--radius-sm);vertical-align:1px;margin-right:8px;padding:0 5px;font-family:IBM Plex Mono,monospace;font-size:10px;line-height:16px;display:inline-block}.section-progress-hint{color:var(--slate);margin:14px 0 0;font-size:11.5px}.bar-track2{background:var(--paper);border:1px solid var(--hairline);height:10px;position:relative}.bar-fill2{background:var(--brand);position:absolute;top:0;bottom:0;left:0}.bar-value{text-align:right;color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:11.5px}.bar-row.editable{grid-template-columns:110px 1fr 72px}.view-tabs{gap:8px;display:flex}.view-tab{text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--hairline);background:var(--card);color:var(--ink-soft);cursor:pointer;padding:7px 14px;font-family:IBM Plex Mono,monospace;font-size:11px}.view-tab.active{border-color:var(--ink);color:var(--ink);background:var(--paper);border-bottom:2px solid var(--brand)}.cal-count{background:var(--brand);color:#fff;border-radius:10px;margin-top:4px;padding:1px 6px;font-family:IBM Plex Mono,monospace;font-size:10px;display:inline-block}.roadmap-list{flex-direction:column;padding:6px 4px 18px;display:flex}.roadmap-row{border-bottom:1px solid var(--hairline);grid-template-columns:150px 1fr 150px 1fr;align-items:end;gap:14px;padding:12px 0;display:grid}.roadmap-row:last-child{border-bottom:none}.roadmap-label{padding-bottom:9px;font-size:13.5px;font-weight:600}.roadmap-row .field label{margin-bottom:4px}.roadmap-row .field input{border:1px solid var(--hairline);background:var(--paper);width:100%;padding:7px 9px;font-size:12.5px}.roadmap-end{color:var(--slate);padding-bottom:9px;font-family:IBM Plex Mono,monospace;font-size:11px}@media (width<=720px){.dashboard-grid,.roadmap-row{grid-template-columns:1fr}}.gantt-hint{color:var(--slate);white-space:nowrap;font-size:11.5px;font-style:italic}.gantt{padding:16px 4px 20px;overflow-x:auto}.gantt-head{margin-bottom:4px;display:flex}.gantt-head-spacer{flex-shrink:0}.gantt-ticks{height:18px;color:var(--slate);flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:9.5px;position:relative}.gantt-tick{white-space:nowrap;position:absolute;top:0;transform:translate(-50%)}.gantt-body{background:var(--paper);border:1px solid var(--hairline);position:relative}.gantt-gridlines{z-index:0;pointer-events:none;position:absolute;top:0;bottom:0}.gantt-gridline{background:var(--hairline);width:1px;position:absolute;top:0;bottom:0}.gantt-today{border-left:2px solid var(--brand);width:0;position:absolute;top:0;bottom:0}.gantt-today-label{color:var(--brand-strong);white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:600;position:absolute;top:-16px;left:2px}.gantt-row{z-index:1;border-bottom:1px solid var(--hairline);align-items:center;min-height:38px;display:flex;position:relative}.gantt-row:last-child{border-bottom:none}.gantt-row-label{width:160px;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;padding:0 10px 0 12px;font-size:12.5px;overflow:hidden}.gantt-row-label.wide{white-space:normal;text-overflow:clip;width:260px;line-height:1.3;overflow:visible}.gantt-row-track{flex-shrink:0;align-self:stretch;position:relative}.gantt-bar{border-radius:var(--radius-sm);cursor:default;color:#fff;white-space:nowrap;-webkit-user-select:none;user-select:none;touch-action:none;border:none;align-items:center;padding:0 8px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex;position:absolute;top:7px;bottom:7px;overflow:hidden}.gantt-bar.draggable{cursor:grab}.gantt-bar.draggable:active{cursor:grabbing}.gantt-bar-label{pointer-events:none}.gantt-bar-resize{cursor:ew-resize;background:#ffffff59;width:10px;height:100%;position:absolute;top:0;right:0}.gantt-bar-resize:hover{background:#fff9}.gantt-bar-label-outside{color:var(--ink-soft);white-space:nowrap;font-size:11.5px;position:absolute;top:50%;transform:translateY(-50%)}.gantt-row-empty{color:var(--slate);font-size:11.5px;font-style:italic;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.gantt-row-task{background:var(--card);min-height:26px}.gantt-row-task .gantt-row-label{color:var(--slate);padding-left:26px;font-size:11px}.gantt-bar-task{border-radius:var(--radius-sm);top:5px;bottom:5px}.gantt-dependency{border-top:1px dashed var(--hairline-strong);pointer-events:none;height:1px;position:absolute;top:50%}.qa-status-dot{vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-left:6px;display:inline-block}.qa-status-dot.qa-pendiente{background:var(--slate)}.qa-status-dot.qa-en_revision{background:var(--gold)}.qa-status-dot.qa-aprobada{background:var(--green)}.qa-status-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-pill);white-space:nowrap;border:1px solid;padding:4px 10px;font-family:IBM Plex Mono,monospace;font-size:10px}.hu-section-head .qa-status-badge{margin-left:auto}.qa-status-badge.qa-pendiente{background:var(--paper);color:var(--slate);border-color:var(--hairline-strong)}.qa-status-badge.qa-en_revision{background:var(--gold-bg);color:var(--gold);border-color:var(--gold)}.qa-status-badge.qa-aprobada{background:var(--green-bg);color:var(--green);border-color:var(--green)}.phase-tasks-panel{margin-bottom:8px}.phase-tasks-panel+.phase-tasks-panel{margin-top:22px}.phase-tasks-table{flex-direction:column;gap:6px;margin-bottom:14px;display:flex;overflow-x:auto}.phase-task-row{grid-template-columns:minmax(0,1.6fr) 160px 120px 120px 90px 100px minmax(0,1.2fr) 22px;align-items:center;gap:8px;min-width:900px;display:grid}.phase-task-row.phase-task-head{letter-spacing:.08em;text-transform:uppercase;color:var(--slate);font-family:IBM Plex Mono,monospace;font-size:9px}.phase-task-row input[type=text],.phase-task-row input[type=date],.phase-task-row select,.phase-task-row textarea{box-sizing:border-box;border:1px solid var(--hairline-strong);background:var(--card);width:100%;color:var(--ink);padding:5px 8px;font-size:12px}.phase-task-row textarea{resize:vertical;min-height:30px;font-family:inherit}.phase-task-row input:disabled,.phase-task-row select:disabled,.phase-task-row textarea:disabled{background:var(--paper);color:var(--slate)}.qa-flow-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:6px;display:flex}.cal-nav{align-items:center;gap:10px;display:flex}.cal-month-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);text-align:center;min-width:120px;font-family:IBM Plex Mono,monospace;font-size:11.5px}.cal-grid{background:var(--hairline);border:1px solid var(--hairline);border-top:none;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:16px;display:grid}.cal-dots{flex-wrap:wrap;gap:3px;display:flex}.cal-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.template-phase-block{margin-bottom:20px}.template-phase-block h3{margin:0 0 8px;font-family:Fraunces,serif;font-size:15px;font-weight:400}.readonly-field .static-value{background:var(--paper);border:1px solid var(--hairline);color:var(--ink-soft);padding:9px 10px;font-size:13px}.delay-value{color:var(--danger);font-weight:600}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;padding:18px 4px 4px;display:grid}.stat-label{letter-spacing:.16em;text-transform:uppercase;color:var(--slate);font-family:IBM Plex Mono,monospace;font-size:10px}.stat-value{font-feature-settings:"tnum";margin-top:4px;font-family:Fraunces,serif;font-size:22px}.stat-value.accent{color:var(--danger)}.delivery-head-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.delay-badge{letter-spacing:.04em;border-radius:var(--radius);white-space:nowrap;border:1px solid;padding:6px 10px;font-family:IBM Plex Mono,monospace;font-size:11px}.delay-badge.tone-green{background:var(--green-bg);color:var(--green);border-color:var(--green)}.delay-badge.tone-rust{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.delay-badge.tone-slate{background:var(--paper);color:var(--slate);border-color:var(--hairline)}.delay-badge.tone-gold{background:var(--gold-bg);color:var(--gold);border-color:var(--gold)}.delay-badge.tone-blue{background:var(--blue-bg);color:var(--blue);border-color:var(--blue)}.delay-badge.small{padding:3px 8px;font-size:10px}.delivery-block{padding:16px 4px 0}.delivery-block:last-of-type{padding-bottom:4px}.delivery-block-title{text-transform:uppercase;letter-spacing:.08em;color:var(--slate);margin-bottom:10px;font-family:IBM Plex Mono,monospace;font-size:10.5px}.delivery-block .intake-grid{margin-bottom:0}@media (width<=720px){.gantt{padding:14px 14px 18px}}
