:root{color:#172b3a;font-synthesis:none;text-rendering:optimizelegibility;font-optical-sizing:auto;--ink:#172b3a;--muted:#6f818c;--line:#e1e9ec;--navy:#12384a;--teal:#087e83;--teal-wash:#e8f5f3;--paper:#fff;--gold:#9a6d22;--red:#a04448;--shadow:0 12px 38px #14384812;background:#f3f7f8;font-family:Inter,Segoe UI,Arial,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--teal)}.center-page{background:radial-gradient(circle at 12% 10%,#e4f2f2 0,#0000 34%),#f3f7f8;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);width:min(100%,440px);box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:34px}.brand-mark{background:var(--navy);color:#fff;letter-spacing:-.04em;border-radius:14px;place-items:center;width:48px;height:48px;font:800 15px Inter,Segoe UI,Arial,sans-serif;display:grid}.eyebrow{color:var(--teal);letter-spacing:.15em;text-transform:uppercase;margin:20px 0 8px;font-size:10px;font-weight:800}.login-card h1,.page-heading h1{color:#173748;letter-spacing:-.045em;margin:0;font:800 27px/1.2 Inter,Segoe UI,Arial,sans-serif}.muted{color:var(--muted);line-height:1.65}.login-card>.muted{margin:10px 0 22px;font-size:13px}.form-stack{gap:15px;display:grid}.form-stack label,.form-grid label,.admin-actions label{color:#405966;gap:7px;font-size:11px;font-weight:700;display:grid}.form-stack input,.form-grid input,.form-grid select,.form-grid textarea,.admin-actions textarea{width:100%;min-height:41px;color:var(--ink);background:#fff;border:1px solid #dce5e9;border-radius:8px;outline:none;padding:10px 11px;font-size:12px}.form-grid textarea,.admin-actions textarea{resize:vertical}.form-stack input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.admin-actions textarea:focus{border-color:#62b5b5;box-shadow:0 0 0 3px #087e831a}.form-error{min-height:18px;color:var(--red);font-size:11px;line-height:1.5}.form-error.success-message{color:#24775e}.button{border:1px solid var(--line);color:#385463;background:#fff;border-radius:8px;min-height:38px;padding:0 14px;font-size:11px;font-weight:700;transition:background .15s,border-color .15s,transform .15s}.button:hover{background:#f6fafb}.button:active{transform:translateY(1px)}.button:disabled{opacity:.65;cursor:wait}.button.primary{border-color:var(--teal);background:var(--teal);color:#fff}.button.primary:hover{background:#076b70}.button.secondary{background:#fff}.button.full{width:100%;min-height:43px}.small{font-size:10px}.center-text{text-align:center}.login-card .center-text{margin:18px 0 0}.notice{color:#506e5b;background:#f3f8f4;border:1px solid #e4eee8;border-radius:8px;padding:11px 12px;font-size:11px;line-height:1.5}.login-card code,.role-summary code{color:#4e6875;font-family:Consolas,monospace;font-size:10px}.app-shell{grid-template-columns:238px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#ebf4f5;background:#10384a;flex-direction:column;height:100vh;padding:22px 15px;display:flex;position:sticky;top:0}.brand{color:#fff;border-bottom:1px solid #ffffff1f;align-items:center;gap:11px;padding:2px 7px 22px;text-decoration:none;display:flex}.brand .small-mark{background:#1a6872;border-radius:11px;width:37px;height:37px;font-size:12px}.brand strong{font:800 12px/1.24 Inter,Segoe UI,Arial,sans-serif;display:block}.brand small{color:#b6cbd0;margin-top:5px;font-size:9px;display:block}.side-label{color:#8fb0b8;letter-spacing:.12em;text-transform:uppercase;margin:21px 10px 8px;font-size:9px;font-weight:800}.nav{gap:5px;display:grid}.nav-link{color:#d0e0e2;border-radius:8px;align-items:center;gap:10px;padding:11px 10px;font-size:11px;text-decoration:none;display:flex}.nav-link span{text-align:center;width:17px;font-size:14px}.nav-link:hover,.nav-link.active{color:#fff;background:#1a5262}.side-footer{border-top:1px solid #ffffff1f;margin-top:auto;padding-top:15px}.account{align-items:center;gap:9px;padding:0 3px 13px;display:flex}.avatar{color:#145b5c;background:#d7efec;border-radius:50%;place-items:center;width:31px;height:31px;font-size:10px;font-weight:800;display:grid}.account strong{color:#fff;text-overflow:ellipsis;max-width:165px;font-size:9px;display:block;overflow:hidden}.account small{color:#b7cbd0;margin-top:3px;font-size:9px;display:block}.signout{color:#d8e6e8;background:0 0;border-color:#fff3;width:100%;font-size:10px}.signout:hover{background:#ffffff14}.main-area{min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:62px;padding:0 30px;display:flex}.breadcrumb{color:#758894;font-size:10px}.breadcrumb b{color:#adb9bf;margin:0 6px}.role-chip,.status-pill{color:#376b67;background:#f0f8f6;border:1px solid #d5e9e7;border-radius:20px;padding:6px 10px;font-size:9px;font-weight:800}.page-content{max-width:1350px;margin:0 auto;padding:28px 30px 50px}.page-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin:0 0 20px;display:flex}.page-heading .eyebrow{margin:0 0 7px}.page-heading h1{font-size:25px}.page-heading p:not(.eyebrow){color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.5}.panel{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:12px;margin:0 0 15px;overflow:hidden}.panel-heading{border-bottom:1px solid #edf1f3;justify-content:space-between;align-items:center;gap:16px;padding:15px 17px;display:flex}.panel-heading h2{color:#233e4e;margin:0;font:700 13px Inter,Segoe UI,Arial,sans-serif}.panel-heading p{color:#788993;margin:5px 0 0;font-size:10px}.step-number{color:#18787b;background:#eaf5f4;border-radius:9px;place-items:center;width:27px;height:27px;font-size:10px;font-weight:800;display:grid}.capture-layout{gap:14px;display:grid}.capture-layout .panel{margin:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:16px 17px 18px;display:grid}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));padding:0}.form-grid .full-span{grid-column:1/-1}.optional{color:#95a2a8;font-size:9px;font-weight:500}.stack{gap:10px;padding:14px 17px;display:grid}.repeat-card{background:#fcfdfd;border:1px solid #e5ecee;border-radius:9px;padding:13px}.repeat-heading{justify-content:space-between;align-items:center;margin-bottom:11px;display:flex}.repeat-heading strong{color:#385461;font-size:10px}.text-button{color:var(--teal);background:0 0;border:0;padding:4px;font-size:10px;font-weight:700}.text-button.danger{color:#9b5457}.panel>.button.secondary{margin:0 17px 17px}.empty-inline{color:#82929b;padding:15px;font-size:10px}.hidden{display:none!important}.submit-row{justify-content:space-between;align-items:center;gap:14px;padding:2px 0;display:flex}.submit-row p{color:#7c8c94;margin:0;font-size:10px;line-height:1.5}.narrow-panel{max-width:760px}.role-summary{border-bottom:1px solid #edf1f3;grid-template-columns:38px 1fr;gap:12px;padding:17px;display:grid}.role-icon{background:var(--navy);color:#fff;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.role-icon.light{color:#1c7777;background:#e7f3f2}.role-summary strong{color:#2f4b5a;font-size:12px}.role-summary p{color:#72838d;margin:5px 0 8px;font-size:10px;line-height:1.55}.narrow-panel>.notice{margin:15px}.loading{color:#71828d;padding:22px;font-size:11px}.admin-grid{grid-template-columns:minmax(220px,.68fr) minmax(0,1.55fr);min-height:460px;display:grid}.review-list{border-right:1px solid var(--line);background:#fbfcfd}.review-row{text-align:left;background:0 0;border:0;border-bottom:1px solid #edf1f3;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:13px;display:flex}.review-row:hover,.review-row.selected{background:#eff7f6}.review-row-main{min-width:0}.review-row-main strong{color:#294757;text-overflow:ellipsis;white-space:nowrap;font-size:10px;display:block;overflow:hidden}.review-row-main small{color:#87949c;margin-top:4px;font-size:9px;display:block}.state-tag{color:#5a707c;background:#eef3f5;border-radius:15px;flex:none;padding:5px 7px;font-size:8px;font-weight:800;display:inline-flex}.state-tag.observacion{color:#886526;background:#fff5df}.state-tag.ajuste_solicitado{color:#97464a;background:#fff0f0}.state-tag.validado{color:#297257;background:#e9f6ee}.state-tag.archivado{color:#69747b;background:#f0f1f2}.state-tag.neutral{color:#456a7c;background:#edf5f8}.review-detail{min-width:0;padding:17px}.detail-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.detail-head h2{color:#203e4e;margin:9px 0 4px;font:800 17px Inter,Segoe UI,Arial,sans-serif}.detail-head p{color:#71838d;margin:0;font-size:10px}.detail-head>small{color:#7c8d96;white-space:nowrap;font-size:9px}.detail-meta{background:#f7fafb;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0;padding:12px;display:grid}.detail-meta small{color:#8a979e;font-size:8px;display:block}.detail-meta strong{color:#34515f;margin-top:5px;font-size:10px;display:block}.section-subtitle{color:#315060;margin:17px 0 9px;font:700 11px Inter,Segoe UI,Arial,sans-serif}.profile-list{gap:8px;display:grid}.profile-item{border:1px solid #e8edef;border-radius:8px;padding:10px}.profile-item-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.profile-item-head strong{color:#314e5c;font-size:10px}.profile-item>p,.evidence-item p{color:#188084;overflow-wrap:anywhere;margin:7px 0;font-size:9px}.profile-item a,.evidence-item a{font-size:9px}.evidence-item{background:#f8fafb;border-radius:6px;margin-top:7px;padding:8px}.evidence-item small{color:#627781;font-size:9px;line-height:1.5;display:block}.admin-actions{border-top:1px solid #edf1f3;margin-top:18px;padding-top:2px}.admin-actions form{gap:8px;display:grid}.admin-actions textarea{min-height:74px}.admin-actions .button{justify-self:start}.action-row{flex-wrap:wrap;gap:7px;margin-top:9px;display:flex}.action-row .button{min-height:32px;padding:0 10px;font-size:9px}.timeline{border-left:1px solid #dbe7e9;margin:0;padding:0 0 0 17px;list-style:none}.timeline li{color:#61757f;padding:0 0 12px;font-size:9px;position:relative}.timeline li:before{content:"";background:#1b8585;border:2px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:2px;left:-21px;box-shadow:0 0 0 1px #1b8585}.timeline strong{color:#385564;text-transform:capitalize}.timeline span{float:right;color:#8d999f;font-size:8px}.timeline p{margin:5px 0 0;line-height:1.5}.empty-state{text-align:center;padding:45px 22px}.empty-state strong{color:#385361;font-size:12px;display:block}.empty-state p{color:#7b8a92;max-width:390px;margin:8px auto 0;font-size:10px;line-height:1.6}.empty-icon{color:#27815e;background:#e8f5f0;border-radius:50%;place-items:center;width:35px;height:35px;margin:0 auto 10px;font-weight:800;display:grid}@media (width<=900px){.app-shell{grid-template-columns:205px minmax(0,1fr)}.page-content{padding:23px 20px 38px}.topbar{padding:0 20px}.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid{grid-template-columns:minmax(185px,.65fr) minmax(0,1.35fr)}}@media (width<=680px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;padding:11px 14px;position:relative}.brand{padding:0 2px 10px}.brand strong br,.side-label{display:none}.nav{gap:5px;padding-top:9px;display:flex}.nav-link{flex:1;justify-content:center;padding:9px 6px;font-size:9px}.side-footer{border:0;margin:0;padding:0;position:absolute;top:11px;right:14px}.account{display:none}.signout{min-height:32px;padding:0 9px;font-size:9px}.topbar{height:46px;padding:0 15px}.page-content{padding:20px 13px 35px}.page-heading{flex-direction:column;align-items:flex-start}.page-heading h1{font-size:22px}.form-grid,.form-grid.three{grid-template-columns:1fr;padding:13px}.stack{padding:12px}.form-grid .full-span{grid-column:auto}.submit-row{flex-direction:column;align-items:flex-start}.submit-row .button{width:100%}.admin-grid{grid-template-columns:1fr}.review-list{border-right:0;border-bottom:1px solid var(--line);max-height:220px;overflow:auto}.review-detail{padding:14px}.detail-head{flex-direction:column}.detail-meta{gap:5px;padding:9px}.detail-meta strong{font-size:9px}.login-card{padding:26px 22px}}.toast{z-index:20;color:#864044;max-width:min(420px,100vw - 40px);box-shadow:var(--shadow);background:#fff;border:1px solid #f0d9d9;border-radius:9px;padding:12px 15px;font-size:11px;position:fixed;bottom:20px;right:20px}.toast.success-toast{color:#287254;border-color:#d6e9dc}
