:root{--navy:#09346d;--blue:#1769aa;--cyan:#0a8ca8;--orange:#e87918;--red:#be2738;--green:#1b7f50;--ink:#17212b;--muted:#64748b;--line:#d9e2ec;--surface:#fff;--bg:#f3f7fb;--shadow:0 10px 28px rgba(9,52,109,.10)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:15px}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:16px;min-height:68px;padding:10px 24px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 3px 16px rgba(20,45,70,.06)}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--navy);font-weight:800}.brand small{display:block;font-weight:500;font-size:11px;color:var(--muted)}.brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,var(--navy),var(--cyan));color:white;display:grid;place-items:center}.topnav{display:flex;align-items:center;gap:4px;flex:1}.topnav a{padding:9px 10px;border-radius:8px;text-decoration:none;color:#28445e;font-size:13px;white-space:nowrap}.topnav a:hover{background:#eaf3fb}.topnav .emergency-link{color:#fff;background:var(--red);font-weight:700}.user-chip{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;font-size:12px}.user-chip span{color:var(--muted);font-size:11px}.nav-toggle{display:none;border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px}.app-shell{max-width:1440px;margin:0 auto;padding:26px 24px 48px}.app-footer{text-align:center;color:var(--muted);font-size:12px;padding:18px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.page-head h1{margin:0 0 6px;font-size:26px;color:var(--navy)}.page-head p{margin:0;color:var(--muted)}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 2px 9px rgba(12,43,74,.03)}.card h2,.card h3{margin:0 0 10px;color:var(--navy)}.metric{font-size:32px;font-weight:800;color:var(--navy);line-height:1}.metric-label{font-size:13px;color:var(--muted);margin-top:8px}.action-card{min-height:145px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;color:inherit;border-left:5px solid var(--blue)}.action-card.emergency{border-left-color:var(--red)}.action-card.ti{border-left-color:var(--cyan)}.action-card.crisis{border-left-color:var(--orange)}.action-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:7px;border:0;border-radius:8px;padding:10px 14px;background:var(--blue);color:#fff;text-decoration:none;font-weight:700;font-size:13px;cursor:pointer}.btn:hover{filter:brightness(.95)}.btn-secondary{background:#e8f0f7;color:var(--navy)}.btn-danger{background:var(--red)}.btn-success{background:var(--green)}.btn-sm{padding:7px 9px;font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.alert{padding:12px 14px;border-radius:10px;margin-bottom:16px;border:1px solid}.alert-success{background:#edfaf3;border-color:#b9e8cf;color:#17683f}.alert-warning{background:#fff7e6;border-color:#f4d895;color:#805300}.alert-danger{background:#fff0f1;border-color:#f2c4c8;color:#94222f}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px}.table{width:100%;border-collapse:collapse;min-width:720px}.table th,.table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{background:#f8fbfe;color:#34516c;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.table tr:last-child td{border-bottom:0}.badge{display:inline-block;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;white-space:nowrap}.badge-validado{background:#d9f3e4;color:#16663f}.badge-pendiente_validacion{background:#fff0cf;color:#8a5d00}.badge-conflicto_documental{background:#ffe0e3;color:#a12134}.badge-historico{background:#e5ebf2;color:#4e6174}.badge-activo{background:#dbeafe;color:#1d4ed8}.badge-reportado{background:#e0f2fe;color:#0369a1}.badge-evaluando{background:#fff7d6;color:#8a5c00}.badge-cerrado{background:#e5e7eb;color:#4b5563}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full{grid-column:1/-1}label{font-weight:700;font-size:13px;color:#39536c}input,select,textarea{width:100%;border:1px solid #bdd0df;border-radius:8px;padding:10px 11px;font:inherit;background:#fff}textarea{min-height:100px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(23,105,170,.14);border-color:var(--blue)}.hint{color:var(--muted);font-size:12px}.status-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.empty{padding:30px;text-align:center;color:var(--muted)}.rto-warning{color:#a95f00;font-weight:700}.rto-danger{color:var(--red);font-weight:800}.section-space{margin-top:20px}.small{font-size:12px;color:var(--muted)}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#eaf3fb,#f7fbff)}.login-card{width:min(440px,calc(100vw - 36px));background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:var(--shadow)}.login-brand{text-align:center;margin-bottom:23px}.login-brand .brand-mark{margin:0 auto 10px;width:48px;height:48px;font-size:22px}.login-brand h1{font-size:22px;margin:0;color:var(--navy)}.login-brand p{color:var(--muted);font-size:13px}@media(max-width:1100px){.topnav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:10px 18px;flex-direction:column;align-items:stretch}.topnav.open{display:flex}.nav-toggle{display:inline-block;margin-left:auto}.user-chip{display:none}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.app-shell{padding:18px 14px 35px}.topbar{padding:9px 14px}.grid-2,.grid-3,.grid-4,.form-grid{grid-template-columns:1fr}.page-head{flex-direction:column}.page-head h1{font-size:23px}.form-group.full{grid-column:auto}.action-card{min-height:118px}.topnav a{padding:11px}.table{min-width:600px}}
