/* One semantic palette for every view, following the system preference. */
:root {
 color-scheme:light dark;
 --canvas:#f4f5f6; --surface:#ffffff; --soft:#f0f2f4; --ink:#191b20;
 --muted:#565e69; --line:#dce0e5; --accent:#ff7900; --accent-soft:#fff1e5;
 --link:#964400; --track:#e1e5e9; --success:#247344; --success-bg:#e7f4eb;
 --running:#2a6396; --running-bg:#e8f1fb; --blocked:#a93329; --blocked-bg:#fbece8;
 --pending:#68727f; --na:#7955aa; --shadow:0 2px 10px #15203308;
 --orange:var(--accent); --orange-hover:#e66c00; --orange-light:var(--accent-soft);
 --bg:var(--canvas); --card-bg:var(--surface); --border:var(--line);
 --text:var(--ink); --text-muted:var(--muted); --dark:var(--ink); --black:#000;
 --gray-bg:var(--soft); --blue-box:var(--running-bg); --blue-border:var(--line); --blue-title:var(--running);
 --danger:var(--blocked); --danger-bg:var(--blocked-bg); --warning:#996000; --warning-bg:#fff3d2;
}
@media(prefers-color-scheme:dark) {
 :root {
  --canvas:#0c0e11; --surface:#171a1f; --soft:#21252b; --ink:#f3f4f6;
  --muted:#b9c1cb; --line:#343b44; --accent-soft:#36271d; --link:#ffac65;
  --track:#343c46; --success:#89d6a4; --success-bg:#20352a;
  --running:#91bff1; --running-bg:#202f41; --blocked:#ffab9e; --blocked-bg:#3b2525;
  --pending:#a7b2c0; --na:#c2a1ef; --shadow:0 2px 12px #0002;
  --warning:#f4cf80; --warning-bg:#382f20;
 }
}
html {min-height:100%;background:var(--canvas);color:var(--ink)}
body {background:var(--canvas);color:var(--ink);font-family:Segoe UI,system-ui,sans-serif}
input,select,textarea {background:var(--surface);color:var(--ink);border-color:var(--line);accent-color:var(--accent)}
input::placeholder {color:var(--muted);opacity:1}
button {color:var(--ink);background:var(--surface);border-color:var(--line);font-family:inherit;cursor:pointer}
button:disabled {opacity:.55;cursor:default}
:focus-visible {outline:2px solid var(--accent);outline-offset:3px}
.primary,.btn-orange {background:var(--accent)!important;color:#111!important;border-color:var(--accent)!important}
.card,.stat,.enroll-card,dialog,.tablewrap,.modal {background:var(--surface);color:var(--ink);border-color:var(--line)}
h1,h2,h3,h4,.stat strong {color:var(--ink)}
.source-note,.muted,.tag,.stat span,label {color:var(--muted)}
th {background:var(--soft);color:var(--ink)}
td {color:var(--ink);border-color:var(--line)}
tbody tr:hover {background:var(--soft)}
#notice {color:var(--blocked)}
a.local-link {color:var(--link);text-decoration:none;font-weight:600}
a.local-link:hover {text-decoration:underline}
.status {background:var(--soft);color:var(--ink)}
.status.closed {background:var(--success-bg);color:var(--success)}
.status.active {background:var(--running-bg);color:var(--running)}
.status.blocked {background:var(--blocked-bg);color:var(--blocked)}
/* Original JP layout: override the remaining fixed light surfaces at their source. */
.seguimiento-page {height:100vh;height:100dvh;overflow:hidden}
.seguimiento-page .main-container {height:auto;flex:1;min-height:0;overflow:hidden}
.seguimiento-page .main-container>aside {background:var(--surface);min-width:0;width:320px}
.seguimiento-page .main-container>main {background:var(--canvas);min-width:0;padding:22px;overflow:auto}
.filters-pane,.streams-count,.streams-list {background:var(--surface);color:var(--muted)}
.stream-item:hover,.dates-container,.hito-num {background:var(--soft);color:var(--ink)}
.stream-item.active {background:var(--accent-soft)}
.stream-title-large,.stream-item-title,.hito-name,.toggle-pill.checked {color:var(--ink)}
.stream-item-sub {color:var(--muted)}
.stream-header-card,.hito-card,.hito-card.cerrado,.hito-card.bloqueado {background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow)}
.hito-card {border-left-color:var(--pending)}
.hito-card.cerrado {border-left-color:var(--success)}
.hito-card.encurso {border-left-color:var(--accent)}
.hito-card.bloqueado {border-left-color:var(--blocked)}
.filter-group select,.filter-group input,.date-field input,.hito-status-select,.ftd-field input,.comment-row input,.motivo-box input {background:var(--surface);color:var(--ink);border-color:var(--line)}
.ftd-checkpoint-box {background:var(--running-bg);border-color:var(--line)}
.ftd-checkpoint-title,.ftd-field label {color:var(--running)}
.motivo-box {background:var(--blocked-bg)}
.motivo-box label {color:var(--blocked)}
.btn-dark {background:var(--soft);color:var(--ink)}
.modal-header {background:var(--soft);color:var(--ink)}
.modal-footer {background:var(--soft)}
.stream-header-top,.stream-toggles {flex-wrap:wrap}
.hitos-title-row {gap:12px;margin:20px 0 12px;flex-wrap:wrap}
.hito-name-wrap {min-width:0}.hito-name {overflow-wrap:anywhere}
.badge-active {color:var(--success);background:var(--success-bg)}
.badge-inactive {color:var(--muted);background:var(--soft)}
.auth-screen>aside nav,.auth-screen>aside #identity,.auth-screen>main>header{display:none}.auth-screen>aside{background:var(--surface)!important;border-bottom:1px solid var(--line)!important}.auth-screen>aside .brand span{color:var(--ink)!important}.auth-screen>main{max-width:none!important;padding:28px!important}.auth-screen #notice{max-width:760px;margin:0 auto 12px;color:#b73d22}.auth-shell{max-width:480px;margin:7vh auto;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--accent);box-shadow:0 16px 48px #00000012}.auth-eyebrow{font-size:11px;font-weight:700;letter-spacing:1.4px;color:var(--muted)}.auth-modes{display:flex;gap:8px}.auth-modes button{font-size:12px;flex:1;padding:10px 6px;margin-top:0!important}.auth-modes button[aria-pressed="true"]{border-color:var(--accent)!important;box-shadow:inset 0 -3px var(--accent)}.auth-help{font-size:13px;line-height:1.6;background:var(--soft);padding:12px}.auth-screen{min-height:100vh}.auth-form [hidden]{display:none!important}.auth-form{padding:32px 28px}.auth-brand-badge{display:flex;align-items:center;margin-bottom:14px}.auth-brand-badge img{width:46px;height:46px;border-radius:6px;object-fit:contain}.auth-form h1{font-size:36px;margin:0 0 8px;font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,sans-serif;font-weight:850;letter-spacing:-1px;color:var(--ink);text-transform:lowercase}.brand-atenea{font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,sans-serif;font-weight:850;letter-spacing:-1px;text-transform:lowercase}.brand-dot{color:var(--accent);font-weight:900}.auth-intro{font-size:14px;line-height:1.6;margin:0 0 24px}.auth-form label{font-size:11px;margin-top:16px}.auth-form input{height:41px;border-radius:0}.auth-form button{width:100%;border-radius:0;margin-top:23px;font-weight:700}.auth-form .muted{font-size:11px;line-height:1.6}.enroll-card{max-width:680px;margin:6vh auto;padding:32px;border:1px solid var(--line);line-height:1.6}.setup-qr-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:22px auto;padding:22px;background:#ffffff;border:1px solid var(--line);border-radius:12px;max-width:240px;box-shadow:0 4px 20px #0000000d;text-align:center}.setup-qr-img{width:200px;height:200px;display:block;image-rendering:pixelated}.setup-qr-caption{margin:12px 0 0;font-size:12px;font-weight:600;color:#111;text-align:center}.setup-manual-toggle{margin:18px 0;background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:12px 14px;font-size:13px}.setup-manual-toggle summary{cursor:pointer;font-weight:600;color:var(--ink);user-select:none}.setup-manual-content{margin-top:12px}.setup-manual-content .setup-key{margin:10px 0}.setup-key{display:block;overflow-wrap:anywhere;padding:16px;background:var(--soft);letter-spacing:2px}.recovery-codes{padding:20px;background:var(--soft);font-size:16px}.enroll-card button{margin-top:20px}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.donut-layout{display:flex;align-items:center;gap:32px;flex-wrap:wrap}.donut{width:205px;height:205px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.donut-hole{width:145px;height:145px;border-radius:50%;background:var(--surface);display:grid;place-content:center;text-align:center}.donut-hole strong{font-size:36px}.donut-hole small{color:var(--muted)}.chart-legend{display:grid;gap:12px;flex:1}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}.chart-legend button{text-align:left;border:0!important;padding:6px;font-size:13px}.bar-row{display:grid;grid-template-columns:82px 1fr 42px;gap:12px;align-items:center;margin:15px 0;font-size:12px}.bar-track{height:12px;border-radius:6px;background:var(--track);overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:6px}.chart-caption{font-size:12px;color:var(--muted);line-height:1.6}
.auth-screen #notice {color:var(--blocked)}
.auth-screen>aside #logout {justify-self:end;grid-column:-2 / -1}
.auth-form label {display:block}
.chart-legend button {background:transparent;color:var(--ink);border:0}
.charts-grid {min-width:0}.charts-grid>* {min-width:0}
@media(max-width:1100px) {.charts-grid{grid-template-columns:1fr}}
@media(max-width:760px) {
 .seguimiento-page {height:auto;min-height:100dvh;overflow:auto}
 .seguimiento-page .main-container {display:block;overflow:visible}
 .seguimiento-page .main-container>aside {width:100%;border-right:0;border-bottom:1px solid var(--line)}
 .seguimiento-page .streams-list {max-height:220px;overflow:auto}
 .seguimiento-page .main-container>main {padding:16px;overflow:visible}
 .hitos-grid {grid-template-columns:minmax(0,1fr)}
 .hito-top-row {flex-wrap:wrap}.stream-header-card {padding:16px}
 .auth-shell {margin:2vh auto}.auth-form {padding:24px}.auth-screen>main{padding:16px!important}
 .enroll-card {padding:22px}.bar-row{grid-template-columns:74px 1fr 40px}
 .donut-layout{justify-content:center;gap:20px}.chart-legend{min-width:160px}
}

[hidden]{display:none!important}
.planning-dialog{width:min(720px,94vw);max-height:88vh;padding:24px;border:1px solid var(--line);border-radius:10px;font:14px/1.5 Segoe UI,system-ui,sans-serif}
.planning-dialog::backdrop{background:#0009}.planning-dialog h2{margin:0 0 16px}.planning-dialog p{margin:12px 0}.planning-dialog label{display:block;margin:14px 0 6px;font-weight:600;font-size:12px}.planning-dialog input:not([type=checkbox]),.planning-dialog select{display:block;width:100%;padding:9px;border:1px solid var(--line);border-radius:6px;margin-top:5px;font:inherit}.planning-dialog input[type=checkbox]{width:auto;margin-right:8px}.dialog-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.form-notice{color:var(--ink)}.bulk-preview-table{overflow:auto;max-height:40vh;margin-top:16px}.bulk-preview-table table{border-collapse:collapse;width:100%;font-size:12px}.bulk-preview-table th,.bulk-preview-table td{padding:10px;text-align:left;border-bottom:1px solid var(--line)}#bulk-dialog{max-width:1100px}.custom-hito{display:block;font-size:10px;color:var(--muted);font-weight:500;margin-top:3px}.phase-hitos{display:grid;gap:8px}.phase-hitos small{display:block;font-size:10px;margin-bottom:3px;color:var(--muted)}

button.btn-danger{background:var(--blocked-bg);color:var(--blocked);border:1px solid var(--blocked);font-weight:650}.trash-list{max-height:55vh;overflow:auto}.trash-row{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line)}.trash-row>div{min-width:0;overflow-wrap:anywhere}.trash-row p{font-size:12px;color:var(--muted)}
.auth-modes{flex-wrap:wrap}.auth-modes button{flex:1 1 125px}
