:root{--warn-bg:#2E2306;--warn-border:#F5A524;--warn-text:#FFE1A8;--nf-bg:#05070C;--nf-bg-secondary:#080B12;--nf-surface:#0C111B;--nf-surface-raised:#101724;--nf-border:#202B3D;--nf-border-soft:#182131;--nf-text:#F4F7FB;--nf-text-secondary:#B4BED0;--nf-muted:#7F8BA0;--nf-blue:#2E7BFF;--nf-blue-hover:#4C8FFF;--nf-violet:#8056E8;--nf-green:#22C55E;--nf-amber:#F5A524;--nf-red:#EF476F;--sidebar:258px;--radius:14px;--shadow:0 18px 45px #0005}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;min-height:100vh;background:var(--nf-bg);color:var(--nf-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a{color:var(--nf-text);text-decoration:none}img{max-width:100%;display:block}:focus-visible{outline:3px solid #4C8FFF;outline-offset:2px}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--nf-blue);padding:.75rem 1rem;border-radius:8px}.skip-link:focus{top:1rem}.revision-shell{min-height:100vh;background:linear-gradient(90deg,#05070cf7,#05070ce8),url('/static/img/neuroforge-mind-muscle-bg.svg') center/cover fixed}.revision-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:24px 16px 18px;background:#080B12f5;border-right:1px solid var(--nf-border-soft);display:flex;flex-direction:column;z-index:30}.revision-brand img{width:210px;height:auto}.brand-claim{margin:9px 8px 24px;color:var(--nf-text-secondary);font-size:13px}.nav-group{margin:16px 8px 7px;color:var(--nf-muted);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.revision-nav{overflow:auto}.revision-nav a{min-height:44px;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;color:var(--nf-text-secondary)}.revision-nav a:hover,.revision-nav a[aria-current=page]{background:var(--nf-surface-raised);color:var(--nf-text)}.revision-nav a[aria-current=page]{box-shadow:inset 3px 0 var(--nf-blue)}.nav-dot{width:7px;height:7px;border:1px solid currentColor;border-radius:50%}.profile-card{margin-top:auto;border-top:1px solid var(--nf-border-soft);padding:16px 8px 0}.profile-line{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:50%;background:#172238;color:#8ab4ff;display:grid;place-items:center;font-weight:800}.profile-card small{display:block;color:var(--nf-muted)}.link-button{border:0;background:none;color:var(--nf-text-secondary);padding:8px 0;margin-top:7px;cursor:pointer}.revision-main{margin-left:var(--sidebar);min-height:100vh;padding:28px clamp(20px,4vw,64px) 70px}.content-wrap{max-width:1380px;margin:auto}.mobile-bar{display:none}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.page-header h1{font-size:clamp(27px,3vw,38px);line-height:1.15;margin:0 0 7px}.page-header p{margin:0;color:var(--nf-text-secondary);max-width:720px}.header-actions,.inline-actions,.filter-row,.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.button{min-height:44px;padding:10px 16px;border:1px solid transparent;border-radius:9px;background:var(--nf-blue);color:white;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.button:hover{background:var(--nf-blue-hover)}.button.secondary{background:var(--nf-surface-raised);border-color:var(--nf-border);color:var(--nf-text)}.button.ghost{background:transparent;border-color:var(--nf-border);color:var(--nf-text-secondary)}.button.danger{background:transparent;border-color:#6a2538;color:#ff8ba8}.button.small{min-height:36px;padding:7px 11px;font-size:14px}.icon-button{width:44px;height:44px;border:1px solid var(--nf-border);border-radius:9px;background:var(--nf-surface);color:var(--nf-text);cursor:pointer}.section-card{background:#0C111BeF;border:1px solid var(--nf-border-soft);border-radius:var(--radius);padding:20px;box-shadow:0 1px 0 #ffffff05}.section-card+.section-card{margin-top:16px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.section-heading h2,.section-heading h3{margin:0}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric-card{padding:18px;border:1px solid var(--nf-border-soft);border-radius:12px;background:var(--nf-surface)}.metric-card span{color:var(--nf-text-secondary)}.metric-card strong{display:block;font-size:30px;line-height:1.15;margin-top:8px}.dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.stack{display:grid;gap:10px}.list-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px;border:1px solid var(--nf-border-soft);border-radius:10px;background:#080b1288}.list-item p,.list-item small{margin:0;color:var(--nf-text-secondary)}.status-badge{display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:4px 9px;border-radius:999px;border:1px solid var(--nf-border);font-size:13px;color:var(--nf-text-secondary)}.status-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--nf-muted)}.status-active:before,.status-completed:before{background:var(--nf-green)}.status-paused:before,.status-scheduled:before,.status-draft:before{background:var(--nf-amber)}.status-cancelled:before,.status-inactive:before{background:var(--nf-red)}.status-in_progress:before{background:var(--nf-blue)}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;color:var(--nf-muted);font-size:13px;font-weight:650;padding:11px 12px;border-bottom:1px solid var(--nf-border)}.data-table td{padding:14px 12px;border-bottom:1px solid var(--nf-border-soft);vertical-align:middle}.person-cell{display:flex;align-items:center;gap:11px}.person-cell strong,.person-cell small{display:block}.person-cell small{color:var(--nf-muted)}.empty-state{text-align:center;padding:42px 20px;background:url('/static/img/neuroforge-mind-muscle-bg.svg') center/cover;border:1px dashed var(--nf-border);border-radius:12px}.empty-state p{color:var(--nf-text-secondary)}.empty-state img{width:64px;height:64px;margin:0 auto 14px;opacity:.55}.empty-state h2{margin:0 0 8px;font-size:20px}.form-field{display:grid;gap:7px}.form-field label{font-weight:700}.required{color:#ff7597}.help{font-size:13px;color:var(--nf-muted)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field-grid .wide{grid-column:1/-1}input,select,textarea{width:100%;min-height:44px;border:1px solid var(--nf-border);border-radius:9px;background:var(--nf-bg-secondary);color:var(--nf-text);padding:10px 12px}textarea{min-height:90px;resize:vertical}.search-field{min-width:240px;flex:1}.modal{border:1px solid var(--nf-border);border-radius:15px;background:var(--nf-surface-raised);color:var(--nf-text);padding:0;width:min(620px,calc(100vw - 28px));max-height:calc(100vh - 28px);box-shadow:var(--shadow)}.modal::backdrop{background:#000b;backdrop-filter:blur(3px)}.modal-head,.modal-body,.modal-foot{padding:18px 20px}.modal-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--nf-border-soft)}.modal-head h2{margin:0;font-size:21px}.modal-body{overflow:auto}.modal-foot{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--nf-border-soft)}.toast{position:fixed;right:20px;bottom:20px;z-index:80;background:#10251a;border:1px solid #256a3d;color:#c8f8d5;padding:13px 17px;border-radius:10px;box-shadow:var(--shadow)}.routine-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:14px}.routine-card{border:1px solid var(--nf-border-soft);border-radius:12px;background:var(--nf-surface);padding:18px;display:grid;gap:13px}.routine-card h3{margin:0;font-size:19px}.routine-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--nf-text-secondary);font-size:13px}.routine-counts{display:flex;gap:20px;color:var(--nf-text-secondary)}.designer-layout{display:grid;grid-template-columns:230px 1fr;gap:16px}.day-tabs{display:grid;gap:8px;align-content:start}.day-tab{min-height:48px;text-align:left;border:1px solid var(--nf-border);border-radius:10px;background:var(--nf-surface);color:var(--nf-text);padding:10px 12px;cursor:pointer}.day-tab.active{border-color:var(--nf-blue);background:#12203a}.day-pane{display:grid;gap:14px}.block-card{border:1px solid var(--nf-border);border-radius:12px;background:var(--nf-surface);padding:16px}.block-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.block-type{color:#bca8ff;font-size:13px}.exercise-row{margin-top:11px;border:1px solid var(--nf-border-soft);border-radius:10px;background:var(--nf-bg-secondary);padding:12px;display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:start}.exercise-thumb{width:56px;height:56px;object-fit:cover;border-radius:8px;background:var(--nf-surface-raised)}.exercise-config{grid-column:2/-1;display:grid;grid-template-columns:repeat(4,minmax(80px,1fr));gap:9px;align-items:start}.exercise-config .form-field label{font-size:12px;color:var(--nf-text-secondary)}details.advanced{grid-column:1/-1;border-top:1px solid var(--nf-border-soft);padding-top:8px}.advanced-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:9px;margin-top:9px;align-items:start}.designer-bottom{position:sticky;bottom:10px;margin-top:16px;padding:10px;border:1px solid var(--nf-border);border-radius:12px;background:#101724ee;display:flex;justify-content:flex-end;gap:10px;backdrop-filter:blur(10px)}.exercise-picker-list{display:grid;gap:9px;margin-top:14px}.exercise-picker-item{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;border:1px solid var(--nf-border-soft);border-radius:10px;padding:10px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.segmented{display:flex;border:1px solid var(--nf-border);border-radius:9px;padding:3px;background:var(--nf-bg-secondary)}.segmented a{padding:8px 12px;border-radius:6px;color:var(--nf-text-secondary)}.segmented a.selected{background:var(--nf-surface-raised);color:var(--nf-text)}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.day-card{min-height:160px;border:1px solid var(--nf-border-soft);border-radius:11px;background:var(--nf-surface);padding:11px;display:grid;align-content:start;gap:9px}.day-card.today{border-color:var(--nf-blue)}.day-card time{font-weight:800}.day-card .assignment{padding:9px;border-radius:8px;background:#142038;border-left:3px solid var(--nf-blue)}.day-card .rest{padding:9px;border-radius:8px;background:#121721;color:var(--nf-muted)}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.month-cell{min-height:105px;border:1px solid var(--nf-border-soft);border-radius:9px;padding:8px;background:var(--nf-surface)}.month-cell.outside{opacity:.35}.calendar-dot{display:block;margin-top:5px;padding:4px 6px;border-radius:5px;background:#142038;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend{display:flex;gap:14px;flex-wrap:wrap;color:var(--nf-text-secondary);font-size:13px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(90deg,#05070ce8,#05070cb8),url('/static/img/neuroforge-mind-muscle-bg.svg') center/cover}.login-panel{width:min(440px,100%);padding:30px;border:1px solid var(--nf-border);border-radius:18px;background:#0c111bf2;box-shadow:var(--shadow)}.login-panel img{width:100%;max-width:320px;margin:0 auto 18px}.login-panel .claim{text-align:center;color:var(--nf-text-secondary);margin-bottom:24px}.password-wrap{position:relative}.password-wrap input{padding-right:52px}.password-wrap button{position:absolute;right:3px;top:3px;width:40px;height:38px;background:transparent;border:0;color:var(--nf-text-secondary);cursor:pointer}.error-message{padding:10px 12px;border:1px solid #6a2538;background:#29111a;color:#ffb5c6;border-radius:9px;margin-bottom:14px}.success-message{padding:10px 12px;border:1px solid #1e5c3a;background:#0f2419;color:#a8f0c6;border-radius:9px;margin-bottom:14px}.mobile-only{display:none}@media(max-width:1050px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.week-grid{grid-template-columns:repeat(2,1fr)}.day-card{min-height:120px}.designer-layout{grid-template-columns:1fr}.day-tabs{display:flex;overflow:auto}.day-tab{min-width:140px}.exercise-config,.advanced-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.revision-sidebar{transform:translateX(-105%);transition:transform .2s ease}.revision-sidebar.open{transform:none;box-shadow:var(--shadow)}.revision-main{margin:0;padding:76px 14px 86px}.mobile-bar{position:fixed;display:flex;inset:0 0 auto;min-height:60px;align-items:center;justify-content:space-between;padding:8px 14px;background:#080B12f2;border-bottom:1px solid var(--nf-border);z-index:25}.mobile-bar img{width:155px}.mobile-only{display:inline-flex}.page-header{display:grid}.header-actions{width:100%}.field-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:1fr 1fr}.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block}.data-table tr{border:1px solid var(--nf-border-soft);border-radius:11px;padding:10px;margin-bottom:10px;background:var(--nf-surface)}.data-table td{border:0;padding:5px 7px}.data-table td:before{content:attr(data-label);display:block;color:var(--nf-muted);font-size:12px}.week-grid,.month-grid{grid-template-columns:1fr}.month-cell{min-height:auto}.month-cell.empty{display:none}.exercise-row{grid-template-columns:48px 1fr}.exercise-row>.icon-button{grid-column:1/-1;width:100%}.exercise-config,.advanced-grid{grid-column:1/-1;grid-template-columns:1fr 1fr}.designer-bottom{position:fixed;inset:auto 8px 8px;z-index:20;justify-content:stretch}.designer-bottom .button{flex:1;padding:8px}.modal-foot{position:sticky;bottom:0;background:var(--nf-surface-raised)}.filter-row>*{flex:1 1 100%}}@media(max-width:390px){.metrics-grid{grid-template-columns:1fr}.exercise-config,.advanced-grid{grid-template-columns:1fr}.revision-main{padding-left:10px;padding-right:10px}.section-card{padding:15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.revision-shell,.login-page{background-attachment:scroll}}.separated{margin-top:16px}.centered-period{text-align:center}.login-submit{width:100%;margin-top:20px}.revision-nav-placeholder{display:block;padding:8px 12px;color:var(--nf-muted);font-size:12px}
/* Selector simple de método (Convencional / 5-3-1 / Doble progresión) -- 2026-08-23, ver revision-ui.js methodPanel() */
.method-quickpick{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}
.method-quickpick-label{font-size:12px;color:var(--nf-muted)}
.method-quickpick-options{display:flex;gap:6px;flex-wrap:wrap}
.method-pill{border:1px solid var(--nf-border);background:var(--nf-surface);color:var(--nf-text-secondary);border-radius:999px;padding:6px 13px;font-size:12.5px;cursor:pointer;font-family:inherit}
.method-pill:hover{border-color:var(--nf-violet)}
.method-pill.active{border-color:var(--nf-violet);background:#1c1430;color:var(--nf-text);font-weight:600}

/* Checkbox design system (2026-08-30) -- "input,select,textarea{width:100%;
   min-height:44px;border-radius:9px;...}" de la línea 1 se aplicaba también
   a checkboxes (cero reglas [type=checkbox]/accent-color existían antes):
   quedaban en la caja nativa del browser, estirada a 44px/100% de ancho,
   sin ningún token de color. Sólo se resetea tamaño/caja para checkboxes;
   el resto de inputs de la app no se toca. */
input[type=checkbox]{width:18px;height:18px;min-height:0;flex:none;padding:0;border-radius:4px;border-color:var(--nf-border);accent-color:var(--nf-blue);cursor:pointer;vertical-align:middle}
input[type=checkbox]:hover:not(:disabled){accent-color:var(--nf-blue-hover)}
input[type=checkbox]:disabled{cursor:not-allowed;opacity:.45}
label:has(>input[type=checkbox]){display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:500}
label:has(>input[type=checkbox]:disabled){cursor:not-allowed;opacity:.7}

/* Campos fijados por método (P2, ver revision-ui.js methodLockedFields) */
.field-lock-note{grid-column:1/-1;margin:0 0 2px;font-size:12.5px;color:var(--nf-amber)}
input:disabled,select:disabled{opacity:.5;cursor:not-allowed}

/* Propuestas de Fenrruco en lenguaje humano (P5, ver fenrruco_proposal_view.go
   -- reemplaza el JSON crudo que se mostraba antes por defecto) */
.proposal-human{display:grid;gap:8px;margin-top:6px}
.proposal-human-title{margin:0;font-weight:750;color:var(--nf-text)}
.proposal-human-routine{margin:0}
.proposal-human-day{border:1px solid var(--nf-border-soft);border-radius:10px;padding:10px 12px;display:grid;gap:5px;background:var(--nf-bg-secondary)}
.proposal-human-exercise{margin:0;padding-left:4px;color:var(--nf-text-secondary);font-size:14px}
.proposal-unavailable{color:var(--nf-amber)}
.proposal-technical{margin-top:8px}
.proposal-technical summary{color:var(--nf-muted);font-size:13px}
.proposal-technical pre{white-space:pre-wrap;word-break:break-word;font-size:12.5px;color:var(--nf-muted);background:var(--nf-bg-secondary);border:1px solid var(--nf-border-soft);border-radius:8px;padding:10px;max-height:260px;overflow:auto}
