:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#152238;background:#f4f7fb;--navy:#0b1f3a;--blue:#174a8b;--line:#dbe3ee;--muted:#6b778c}*{box-sizing:border-box}body{margin:0}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 28px #0b1f3a12}.brand{font-weight:900;letter-spacing:.08em;font-size:20px}.brand span{font-weight:500;opacity:.7;letter-spacing:0}.brand small{font-size:11px;opacity:.65;letter-spacing:0}h2{margin:0}h3{margin-top:0}label{display:grid;gap:7px;font-weight:700;margin:12px 0}small,.muted{color:var(--muted);font-weight:500}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #cdd7e5;border-radius:9px;font:inherit;background:white}textarea{min-height:80px}button{border:0;border-radius:9px;padding:9px 13px;background:var(--blue);color:#fff;font-weight:800;cursor:pointer}button.secondary{background:#e9f1fb;color:#0b3d78;border:1px solid #c9d9ee}button.danger{background:#a52a2a}.mini{padding:6px 9px;font-size:12px}header{min-height:68px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:10px 22px;position:sticky;top:0;z-index:5;gap:18px}.headActions{display:flex;gap:12px;align-items:center;min-width:0}.globalSearch{position:relative;width:min(420px,36vw)}.globalSearch input{background:#fff;color:#14233a}.searchResults{position:absolute;top:44px;left:0;right:0;background:#fff;color:#172238;border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 36px #0002;max-height:360px;overflow:auto;z-index:30}.searchItem{padding:10px 12px;border-bottom:1px solid #edf1f6;cursor:pointer}.searchItem:hover{background:#f5f8fc}.layout{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 68px)}aside{background:#fff;border-right:1px solid var(--line);padding:18px 12px}nav{display:grid;gap:6px}nav button{text-align:left;background:transparent;color:#33445e}nav button.active{background:#e9f1fb;color:#0b3d78}main{padding:26px;max-width:1550px;width:100%;margin:auto}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.grid{display:grid;gap:14px}.stats{grid-template-columns:repeat(8,minmax(105px,1fr))}.stat{padding:16px}.stat strong{display:block;font-size:27px;margin-top:6px}.two{grid-template-columns:1.15fr .85fr}.three{grid-template-columns:repeat(3,1fr)}.panel{padding:17px}.tableWrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid #edf1f6;white-space:nowrap}th{font-size:11px;text-transform:uppercase;color:#708099}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef2f7;font-size:12px;font-weight:800}.green{background:#dff5e6;color:#1d6c34}.yellow{background:#fff4c7;color:#7a5a00}.orange{background:#ffe4c5;color:#8a4400}.red,.critical{background:#ffe0e0;color:#941f1f}.high{background:#ffe9cf;color:#884500}.normal{background:#eef2f7}.health{font-weight:900}.health.good{color:#1d6c34}.health.mid{color:#8a5b00}.health.bad{color:#a52a2a}.formGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 14px}.formGrid .full{grid-column:1/-1}.actions{display:flex;gap:8px;flex-wrap:wrap}.filters{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.filters input,.filters select{width:auto;min-width:160px}.modal[hidden]{display:none!important}.modal{position:fixed;inset:0;background:#07152999;display:grid;place-items:center;padding:20px;z-index:20}.modalBox{width:min(900px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;padding:24px;position:relative}.close{position:absolute;right:12px;top:10px;background:transparent;color:#333;font-size:26px;padding:4px}.clientCard{padding:15px;cursor:pointer}.clientCard:hover{border-color:#9db7d8}.clientTop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.kicker{font-size:11px;text-transform:uppercase;color:#718096;font-weight:900}.tags{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0}.tag{font-size:11px;background:#edf3fa;color:#244e80;padding:3px 7px;border-radius:999px}.checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.check{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:8px}.check input{width:auto}.empty{padding:28px;text-align:center;color:var(--muted)}.progress{height:9px;background:#edf1f6;border-radius:999px;overflow:hidden}.progress>i{display:block;height:100%;background:#174a8b}.selectCell{width:38px}.selectCell input{width:auto}.devMode{font-size:10px;font-weight:900;letter-spacing:.08em;padding:6px 9px;border:1px solid #ffffff30;border-radius:999px;background:#ffffff12}.callout{padding:12px;border-left:4px solid #174a8b;background:#f1f6fc;border-radius:8px}.loadbar{height:8px;background:#edf1f6;border-radius:99px;overflow:hidden;margin-top:6px}.loadbar i{display:block;height:100%;background:#174a8b}.split{display:flex;justify-content:space-between;gap:10px;align-items:center}.timeline{display:grid;gap:8px}.timelineItem{padding:9px 0;border-bottom:1px solid #edf1f6}.note{padding:10px;border:1px solid var(--line);border-radius:9px;background:#fafcff}.dangerZone{border:1px solid #f0caca;background:#fff8f8}.sectionTitle{margin-top:22px}.nowrap{white-space:nowrap}@media(max-width:1100px){.stats{grid-template-columns:repeat(4,1fr)}.three{grid-template-columns:1fr 1fr}.globalSearch{width:280px}}@media(max-width:900px){.layout{grid-template-columns:1fr}aside{overflow:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px}nav{display:flex}nav button{white-space:nowrap}.two,.three{grid-template-columns:1fr}.formGrid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}main{padding:16px}.globalSearch{display:none}}@media(max-width:600px){.headActions #who,.devMode{display:none}.stats{grid-template-columns:1fr 1fr}.checklist{grid-template-columns:1fr}}

.badge.inactive{background:#e7e9ed;color:#4e5867}.inactiveCallout{border-left-color:#7a8492;background:#f3f4f6;margin:14px 0}
/* v0.4.2 */
.currentDate{font-size:12px;font-weight:900;letter-spacing:.08em;white-space:nowrap}.iconBtn{background:#ffffff14;border:1px solid #ffffff2b;padding:7px 10px;position:relative}.notifCount{position:absolute;right:-5px;top:-7px;background:#b72525;color:#fff;border-radius:999px;min-width:19px;height:19px;display:grid;place-items:center;font-size:10px}.monthGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0 14px}.monthPick{display:flex;align-items:center;gap:7px;border:1px solid var(--line);padding:7px;border-radius:8px;font-weight:650}.monthPick input{width:auto}.yearBand{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.yearChip{padding:5px 9px;border-radius:999px;background:#eef2f7;font-weight:800;font-size:12px}.vaultSecret{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;word-break:break-all}.unsavedHint{font-size:11px;color:var(--muted);margin-top:6px}
html[data-theme="dark"]{color-scheme:dark;background:#0b1220}html[data-theme="dark"] body{background:#0b1220;color:#e8eef7}html[data-theme="dark"] .panel,html[data-theme="dark"] aside,html[data-theme="dark"] .modalBox,html[data-theme="dark"] .searchResults{background:#101a2b;color:#e8eef7;border-color:#26364d}html[data-theme="dark"] main{background:#0b1220}html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#0d1726;color:#eef4fb;border-color:#32445f}html[data-theme="dark"] nav button{color:#c7d3e5}html[data-theme="dark"] nav button.active{background:#183252;color:#fff}html[data-theme="dark"] button.secondary{background:#172b45;color:#dceaff;border-color:#2c4d73}html[data-theme="dark"] .note,html[data-theme="dark"] .check,html[data-theme="dark"] .callout{background:#0d1726;border-color:#26364d}html[data-theme="dark"] th,html[data-theme="dark"] td,html[data-theme="dark"] .timelineItem,html[data-theme="dark"] .searchItem{border-color:#223149}html[data-theme="dark"] .muted,html[data-theme="dark"] small,html[data-theme="dark"] .kicker{color:#9dacbf}html[data-theme="dark"] .tag,html[data-theme="dark"] .badge,html[data-theme="dark"] .yearChip{background:#1b2a40;color:#dce8f8}html[data-theme="dark"] .close{color:#eef4fb}html[data-theme="dark"] .progress,html[data-theme="dark"] .loadbar{background:#1d2b3d}
@media(max-width:1100px){.currentDate{display:none}}@media(max-width:600px){.monthGrid{grid-template-columns:repeat(2,1fr)}#notifBtn,#themeToggle{padding:7px 8px}}

/* v0.5.0 autenticación */
.authScreen[hidden]{display:none!important}.authScreen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#07182f,#0b294d)}
.authCard{width:min(430px,100%);background:#fff;color:#0b1f3a;border-radius:18px;padding:30px;box-shadow:0 24px 80px rgba(0,0,0,.28)}
.authBrand{font-size:22px;font-weight:900;letter-spacing:.04em;margin-bottom:26px}.authBrand span{font-weight:600;color:#637189}
.authCard h1{margin:8px 0 8px}.authCard form{display:grid;gap:14px}.authCard label{display:grid;gap:7px;font-weight:700}.authCard input{width:100%;box-sizing:border-box}
.authCard button[type=submit]{width:100%;margin-top:4px}.linkBtn{border:0;background:transparent;color:#174e8f;padding:12px 0 0;cursor:pointer;font-weight:700}
.authMessage{margin-top:14px;padding:10px 12px;border-radius:10px;background:#fff3cd;color:#6c5200}.authMessage.error{background:#fde8e8;color:#8a1c1c}
.qrWrap{display:grid;place-items:center;padding:16px 0}.qrWrap img{width:220px;height:220px;border-radius:12px;background:#fff;padding:8px;border:1px solid #dbe3ee}
.recoveryCodes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.recoveryCode{font-family:ui-monospace,Consolas,monospace;background:#f4f7fb;padding:10px;border-radius:8px;text-align:center}
[data-theme="dark"] .authCard{background:#101b2b;color:#edf4ff}.authScreen[data-theme="dark"]{background:#081321}.authCard .muted{color:#6d7c92}[data-theme="dark"] .authCard .muted{color:#a7b4c7}[data-theme="dark"] .recoveryCode{background:#16263b}
@media(max-width:700px){.authScreen{padding:14px}.authCard{padding:22px}.recoveryCodes{grid-template-columns:1fr}.headActions{gap:6px}.currentDate{display:none}}

/* v0.5.2 identidad NAVAR */
.brand,.authBrand{display:flex;align-items:center;gap:10px}.brandLogo{width:38px;height:38px;display:block;object-fit:contain;flex:0 0 auto}.authBrand{margin-bottom:26px}.authBrand .authLogo{width:58px;height:58px;object-fit:contain}.authBrand>div{line-height:1.15}.authBrand span{display:inline}.brand>div{line-height:1.05}

@media(max-width:600px){.brandLogo{width:32px;height:32px}.authBrand .authLogo{width:50px;height:50px}}


/* v0.6.0 operación visual */
.statButton{appearance:none;text-align:left;color:inherit;background:var(--panel);border:1px solid var(--line);font:inherit;transition:transform .12s ease,border-color .12s ease}.statButton:hover{transform:translateY(-2px);border-color:#91acd0}.statButton small{display:block;margin-top:7px;color:var(--muted)}.actionable{cursor:pointer}.actionable:hover{border-color:#91acd0}.loadPct.overload,.warningText{color:#a52a2a;font-weight:800}.kanban{display:grid;grid-template-columns:repeat(6,minmax(240px,1fr));gap:12px;overflow-x:auto;padding-bottom:10px}.kanbanCol{background:#eef3f8;border:1px solid var(--line);border-radius:13px;padding:10px;min-height:420px}.kanbanHead{display:flex;justify-content:space-between;align-items:center;padding:5px 4px 10px}.kanbanList{display:grid;gap:9px}.kanbanCard{background:var(--panel);border:1px solid var(--line);border-left:4px solid #91a4b9;border-radius:10px;padding:11px;box-shadow:0 3px 10px #0b1f3a0d}.kanbanCard.priority-critical{border-left-color:#b3261e}.kanbanCard.priority-high{border-left-color:#c47700}.kanbanMeta{font-size:11px;color:var(--muted);margin:9px 0}.kanbanMove{padding:7px;font-size:12px}.empty.compact{padding:14px}.calendarWeek,.calendarGrid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:7px}.calendarWeek{padding:0 5px 7px;color:var(--muted);text-align:center}.calendarGrid{overflow-x:auto}.calCell{min-height:145px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px;min-width:130px}.calCell.mutedCell{background:transparent;border-style:dashed}.calDay{font-weight:900;margin-bottom:6px}.calEvent{display:block;width:100%;text-align:left;padding:6px 7px;margin:5px 0;border-radius:7px;font-size:11px;background:#e9f1fb;color:#0b3d78}.calEvent.certEvent{background:#fff0d8;color:#784300}.calEvent span{display:block;font-weight:500;opacity:.8;white-space:normal}.closeStats{grid-template-columns:repeat(5,minmax(120px,1fr))}.clientHistory{max-height:330px;overflow:auto;padding-right:4px}html[data-theme="dark"] .kanbanCol{background:#0d1726;border-color:#26364d}html[data-theme="dark"] .kanbanCard,html[data-theme="dark"] .calCell{background:#101a2b;border-color:#26364d}html[data-theme="dark"] .calEvent{background:#183252;color:#dbeaff}html[data-theme="dark"] .calEvent.certEvent{background:#4a3316;color:#ffe6b7}
@media(max-width:1100px){.closeStats{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.closeStats{grid-template-columns:repeat(2,1fr)}.calendarWeek,.calendarGrid{grid-template-columns:repeat(7,130px)}.kanban{grid-template-columns:repeat(6,240px)}}

/* v0.6.1 UX */
aside{padding:14px 10px}nav{gap:14px}.navGroup{display:grid;gap:4px}.navLabel{font-size:10px;font-weight:900;letter-spacing:.11em;color:#8a98aa;padding:4px 10px 2px}
nav button{min-height:38px;padding:9px 11px;border-radius:10px;font-size:13px}nav button:hover{background:#f1f5fa;color:#123e73}nav button.active{box-shadow:inset 3px 0 0 #174a8b}
button{min-height:38px;transition:filter .15s ease,transform .05s ease,background .15s ease}button:hover{filter:brightness(.97)}button:active{transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #6fa4df66;outline-offset:2px}
.toolbar>.actions{align-items:center}.panel table button{min-height:32px}
html[data-theme="dark"] .navLabel{color:#718198}html[data-theme="dark"] nav button:hover{background:#152b47;color:#fff}
@media(max-width:900px){nav{gap:8px}.navGroup{display:flex;gap:4px;align-items:center}.navLabel{display:none}nav button{min-height:36px}}

.collaboratorStats{grid-template-columns:repeat(6,minmax(120px,1fr))}
@media(max-width:1100px){.collaboratorStats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.collaboratorStats{grid-template-columns:repeat(2,1fr)}}

.informationalCheck{opacity:.82;border-style:dashed}.informationalCheck small{font-weight:700;color:var(--muted)}
