/* Fuentes alojadas en tu propio dominio (sin llamadas a Google: RGPD) */
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/barlow-400.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/barlow-500.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/barlow-600.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/barlow-700.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/barlow-condensed-600.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/barlow-condensed-700.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/jetbrains-mono-500.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/jetbrains-mono-700.woff2) format('woff2')}
/* Layout: app de una columna (máx. 880px) bajo una barra azul hangar con línea de seguridad amarilla; editor de tareas en hoja inferior (móvil) o diálogo centrado (iPad). */
:root{
  --paper:#EDF0F3; --surface:#FFFFFF; --sunk:#E1E6EB; --ink:#102030; --muted:#5A6878; --line:#D0D8DF;
  --bar:#12324A; --bar-ink:#F2F5F8; --bar-muted:#A9BBCB;
  --accent:#F5B700; --on-accent:#16212B; --accent-ink:#8A6200; --accent-soft:#FFF1C2;
  --danger:#B3261E; --ok:#2E7D4F; --warn:#9A6400;
  --scrim:rgba(6,14,22,.5); --shadow:rgba(10,25,40,.18);
  --f-display:'Barlow Condensed','Arial Narrow','Roboto Condensed',sans-serif;
  --f-body:'Barlow',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#0B131A; --surface:#132029; --sunk:#0E1820; --ink:#E4EAF0; --muted:#93A3B2; --line:#25343F;
    --bar:#0A1A26; --bar-ink:#E4EAF0; --bar-muted:#7F95A8;
    --accent:#F5B700; --on-accent:#16212B; --accent-ink:#F7C845; --accent-soft:#3A2F0B;
    --danger:#F28B82; --ok:#6CC08D; --warn:#F2C35B;
    --scrim:rgba(0,0,0,.6); --shadow:rgba(0,0,0,.45);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#0B131A; --surface:#132029; --sunk:#0E1820; --ink:#E4EAF0; --muted:#93A3B2; --line:#25343F;
  --bar:#0A1A26; --bar-ink:#E4EAF0; --bar-muted:#7F95A8;
  --accent:#F5B700; --on-accent:#16212B; --accent-ink:#F7C845; --accent-soft:#3A2F0B;
  --danger:#F28B82; --ok:#6CC08D; --warn:#F2C35B;
  --scrim:rgba(0,0,0,.6); --shadow:rgba(0,0,0,.45);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.45;-webkit-tap-highlight-color:transparent}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bar)}
button{font:inherit;color:inherit;cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.5}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,h3{margin:0;text-wrap:balance}
p{margin:0}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}

/* barra */
.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:var(--bar);color:var(--bar-ink);border-bottom:3px solid var(--accent);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.bar-in{max-width:880px;margin:0 auto;display:flex;align-items:center;gap:8px;min-height:56px}
.brand{display:flex;flex-direction:column;line-height:1.05;min-width:0;flex:1}
.brand b{font-family:var(--f-display);font-weight:700;font-size:1.2rem;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand small{font-family:var(--f-mono);font-size:.68rem;color:var(--bar-muted);letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lang{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:transparent;color:var(--bar-muted);padding:2px;flex:none;min-height:32px}
.lang span{font-family:var(--f-mono);font-size:.7rem;font-weight:700;padding:4px 7px;border-radius:999px;letter-spacing:.04em}
.lang[data-cur="en"] span[data-l="en"],.lang[data-cur="es"] span[data-l="es"]{background:var(--accent);color:var(--on-accent)}
.lic-list{display:grid;gap:8px}
.lic-head,.lic-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,150px) 44px;gap:8px;align-items:start}
.lic-head .lab{font-size:.68rem}
.lic-prev{font-size:.85rem;color:var(--muted);overflow-wrap:anywhere}
.lic-prev .mono{color:var(--ink);font-size:.8rem}
.lic-row{grid-template-areas:"r c d"}
.lic-row > input{grid-area:r}.lic-row > .combo{grid-area:c}.lic-row > .icon-sq{grid-area:d}
.lic-row .sug{left:auto;right:0;width:min(340px,82vw)}
@media (max-width:560px){
  .lic-head{display:none}
  .lic-row{grid-template-columns:minmax(0,1fr) 44px;grid-template-areas:"r d" "c c";padding:10px;background:var(--sunk);border-radius:10px}
  .lic-row .sug{left:0;right:0;width:auto}
}
.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:10px;border:0;background:transparent;color:inherit;flex:none}
.icon-btn:hover{background:rgba(255,255,255,.08)}
.icon-btn svg{width:22px;height:22px}
.sync{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:600;color:var(--bar-muted);white-space:nowrap;padding:4px 8px;border:1px solid rgba(255,255,255,.14);border-radius:999px;flex:none}
.sync i{width:8px;height:8px;border-radius:50%;background:var(--bar-muted)}
.sync[data-s="cloud"] i{background:#5FCB8A}
.sync[data-s="local"] i{background:var(--accent)}
@media (max-width:400px){.sync span{display:none}.sync{padding:6px}}

/* página */
.wrap{max-width:880px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:22px 128px;display:grid;gap:22px}
.eyebrow{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.h-xl{font-family:var(--f-display);font-weight:700;font-size:clamp(1.9rem,6vw,2.6rem);line-height:1;letter-spacing:.005em}
.h-sec{font-family:var(--f-display);font-weight:700;font-size:1.25rem;text-transform:uppercase;letter-spacing:.04em}
.lede{color:var(--muted);font-size:1rem}
.head{display:grid;gap:8px}
.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.spread{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;font-size:.98rem;text-decoration:none;white-space:nowrap}
.btn svg{width:18px;height:18px;flex:none}
.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn-primary:hover{filter:brightness(1.04)}
.btn-ghost{background:transparent}
.btn-sm{min-height:40px;padding:0 14px;font-size:.92rem}
.btn-danger{color:var(--danger);border-color:var(--danger);background:transparent}
.btn-danger[data-armed="1"]{background:var(--danger);color:var(--surface)}
.btn-block{width:100%}
.link-btn{border:0;background:none;padding:0;color:var(--accent-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* tarjetas empresa */
.co-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:14px}
.co-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;gap:14px;cursor:pointer;text-align:left}
.co-card:hover{border-color:var(--muted)}
.co-top{display:flex;gap:12px;align-items:center;min-width:0}
.co-logo{width:48px;height:48px;border-radius:10px;background:var(--bar);color:var(--accent);display:grid;place-items:center;font-family:var(--f-display);font-weight:700;font-size:1.2rem;flex:none;overflow:hidden}
.co-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.co-name{font-family:var(--f-display);font-weight:700;font-size:1.35rem;line-height:1.05;overflow-wrap:anywhere}
.stamp{display:inline-block;font-family:var(--f-mono);font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--muted);border:1.5px solid var(--muted);border-radius:4px;padding:1px 6px;margin-top:4px}
.stamp.missing{color:var(--warn);border-color:var(--warn);border-style:dashed}
.kv{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}
.kv div{background:var(--sunk);border-radius:8px;padding:8px 10px;min-width:0}
.kv dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600}
.kv dd{margin:0;font-family:var(--f-mono);font-weight:700;font-size:1.02rem;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kv.four{grid-template-columns:repeat(4,1fr)}
@media (max-width:560px){.kv.four{grid-template-columns:repeat(2,1fr)}}

/* avisos */
.notice{display:flex;gap:12px;align-items:flex-start;background:var(--accent-soft);border:1px solid var(--accent);border-radius:12px;padding:14px 16px}
.notice p{flex:1;min-width:0}
.empty{background:var(--surface);border:1.5px dashed var(--line);border-radius:14px;padding:28px 20px;display:grid;gap:14px;justify-items:start}
.empty h2{font-family:var(--f-display);font-size:1.5rem}

/* pestañas */
.tabs{display:flex;gap:4px;background:var(--sunk);padding:4px;border-radius:12px;position:sticky;top:calc(env(safe-area-inset-top,0px) + 59px);z-index:5}
.tab{flex:1;min-height:42px;border:0;border-radius:9px;background:transparent;font-weight:600;color:var(--muted);font-size:.95rem;padding:0 6px}
.tab[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px var(--shadow)}

/* lista de tareas */
.search{position:relative}
.search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted);pointer-events:none}
.search input[type=search]{padding-left:40px}
.month{display:grid;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.month h3{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 14px;background:var(--sunk);display:flex;justify-content:space-between;gap:8px}
.entry{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;width:100%}
.month h3 + .entry{border-top:0}
.entry:hover{background:var(--sunk)}
.e-date{display:grid;justify-items:center;line-height:1}
.e-date b{font-family:var(--f-display);font-size:1.6rem}
.e-date small{font-family:var(--f-mono);font-size:.66rem;text-transform:uppercase;color:var(--muted);margin-top:2px}
.e-main{display:grid;gap:4px;min-width:0}
.e-op{font-weight:600;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.e-meta{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font-size:.82rem;color:var(--muted)}
.tag{font-family:var(--f-mono);font-size:.68rem;font-weight:700;padding:1px 5px;border-radius:4px;background:var(--sunk);color:var(--ink);border:1px solid var(--line)}
.tag.ex{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}
.e-h{font-family:var(--f-mono);font-weight:700;font-size:1rem;text-align:right;white-space:nowrap}
.e-h small{font-size:.7rem;color:var(--muted);margin-left:2px}

/* formularios */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 16px;display:grid;gap:16px}
.panel > header{display:grid;gap:4px}
.field{display:grid;gap:6px;min-width:0;position:relative;align-content:start}
.lab{font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700}
.lab small{text-transform:none;letter-spacing:0;font-weight:500}
.hint{font-size:.85rem;color:var(--muted)}
input[type=text],input[type=date],input[type=search],input[type=email],input[type=password],input:not([type]),textarea,select{width:100%;min-height:46px;font:inherit;font-size:16px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:10px 12px}
input[type=date]{-webkit-appearance:none;appearance:none;display:block}
textarea{resize:vertical;min-height:84px;line-height:1.4}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent-ink);box-shadow:0 0 0 3px var(--accent-soft)}
.err input,.err textarea{border-color:var(--danger)}
.err-msg{color:var(--danger);font-size:.85rem;font-weight:600}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:560px){.g3{grid-template-columns:1fr 1fr}.g3 > :first-child{grid-column:1/-1}.g2.stack-sm{grid-template-columns:1fr}}
.up{text-transform:uppercase}
.up::placeholder{text-transform:none}

.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-weight:600;font-size:.9rem}
.chip .mono{font-size:.85rem}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.chip.sm{min-height:34px;padding:0 10px;font-size:.82rem}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.tchip{display:grid;gap:2px;justify-items:center;align-content:center;min-height:56px;padding:6px 4px;border-radius:10px;border:1px solid var(--line);background:var(--surface);text-align:center}
.tchip b{font-family:var(--f-mono);font-size:.92rem}
.tchip small{font-size:.7rem;color:var(--muted);line-height:1.15}
.tchip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.tchip[aria-pressed="true"] small{color:var(--paper);opacity:.8}
.stepper{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--surface)}
.stepper button{border:0;background:var(--sunk);font-size:1.3rem;font-weight:700;min-height:44px}
.stepper input{border:0;border-radius:0;text-align:center;font-family:var(--f-mono);font-weight:700;min-height:44px}
.stepper input:focus{box-shadow:none}
.sug{position:absolute;left:0;right:0;top:100%;margin-top:4px;z-index:6;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px var(--shadow);max-height:240px;overflow:auto}
.sug button{display:flex;gap:8px;width:100%;text-align:left;border:0;border-top:1px solid var(--line);background:transparent;padding:9px 12px;min-height:44px;align-items:baseline;flex-wrap:wrap}
.sug button:first-child{border-top:0}
.sug button:hover,.sug button:focus-visible{background:var(--sunk)}
.sug b{font-family:var(--f-mono);white-space:nowrap}
.sug span{color:var(--muted);font-size:.88rem}
.combo{position:relative}
.combo input{padding-right:40px}
.combo .open{position:absolute;right:4px;top:4px;width:38px;height:38px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center}
.combo .open svg{width:16px;height:16px}
.recent{display:flex;flex-wrap:wrap;gap:6px}
.recent:empty{display:none}
.saved{font-size:.8rem;color:var(--ok);font-weight:600;min-height:1.2em}

.fleet{display:grid;gap:8px}
.fleet-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:8px;align-items:center}
.fleet-row .ro{font-family:var(--f-mono);font-weight:700;padding:10px 12px;background:var(--sunk);border-radius:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.icon-sq{display:grid;place-items:center;width:44px;height:44px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--muted)}
.icon-sq svg{width:18px;height:18px}

.checks{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.checks li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.checks i{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:700;font-size:.8rem;margin-top:1px}
.checks .ok i{background:var(--ok);color:var(--surface)}
.checks .no i{background:var(--warn);color:var(--surface)}

.sig-box{position:relative;border:1.5px dashed var(--muted);border-radius:10px;background:var(--surface);height:170px;overflow:hidden}
.sig-box canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;color:var(--ink)}
.sig-box .sig-line{position:absolute;left:16px;right:16px;bottom:38px;border-top:1px solid var(--line);pointer-events:none}
.sig-box .sig-ph{position:absolute;left:16px;bottom:14px;font-size:.8rem;color:var(--muted);pointer-events:none}
.sig-img{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;justify-content:center}
.sig-img img{max-height:110px}
.file-in{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}

/* FAB, hoja, toast */
.fab{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:20;display:inline-flex;align-items:center;gap:8px;min-height:56px;padding:0 22px 0 18px;border-radius:999px;border:0;background:var(--accent);color:var(--on-accent);font-weight:700;font-size:1.02rem;box-shadow:0 8px 22px var(--shadow)}
.fab svg{width:22px;height:22px}
.sheet{position:fixed;inset:0;z-index:30;display:flex;align-items:flex-end;justify-content:center;background:var(--scrim)}
.sheet-panel{width:100%;max-width:700px;max-height:calc(100% - env(safe-area-inset-top,0px) - 12px);background:var(--paper);border-radius:18px 18px 0 0;display:flex;flex-direction:column;box-shadow:0 -10px 40px var(--shadow);animation:up .22s ease-out}
@keyframes up{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.sheet-panel{animation:none}}
@media (min-width:760px){.sheet{align-items:center;padding:24px}.sheet-panel{border-radius:18px;max-height:92%}}
.sheet-head{display:flex;align-items:center;gap:10px;padding:12px max(12px,env(safe-area-inset-right,0px)) 10px max(18px,env(safe-area-inset-left,0px));border-bottom:1px solid var(--line)}
.sheet-head h2{flex:1;font-family:var(--f-display);font-size:1.45rem;text-transform:uppercase;letter-spacing:.03em}
.sheet-body{overflow:auto;padding:16px max(16px,env(safe-area-inset-right,0px)) 20px max(16px,env(safe-area-inset-left,0px));display:grid;gap:16px;-webkit-overflow-scrolling:touch}
.sheet-foot{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:12px max(16px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));border-top:1px solid var(--line);background:var(--surface);border-radius:0 0 18px 18px}
.sheet-foot .grow{flex:1}
@media (max-width:480px){.sheet-foot .btn{flex:1}.sheet-foot .grow{display:none}}
.toast{position:fixed;left:50%;top:calc(72px + env(safe-area-inset-top,0px));transform:translateX(-50%);z-index:40;background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:10px;font-weight:600;font-size:.95rem;max-width:calc(100% - 32px);box-shadow:0 8px 24px var(--shadow)}
.foot-note{font-size:.82rem;color:var(--muted);text-align:center}

/* acceso y cuenta */
html,body{margin:0}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
img{max-width:100%}
[hidden]{display:none!important}
.auth{max-width:460px;width:100%;margin:0 auto;display:grid;gap:18px}
.pw{position:relative;display:block}
.pw input{padding-right:84px}
.pw-toggle{position:absolute;right:4px;top:4px;height:38px;padding:0 10px;border:0;border-radius:7px;background:var(--sunk);color:var(--ink);font-size:.85rem;font-weight:600}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;line-height:1.4}
.consent input{width:22px;height:22px;margin:1px 0 0;flex:none;accent-color:var(--accent-ink)}
.consent a,.legal-links a{color:var(--accent-ink);font-weight:600}
.center{text-align:center}
.legal-links{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;font-size:.85rem}
.legal-links a{color:var(--muted);font-weight:500}
.danger-zone{border-color:var(--danger)}
.err-msg[hidden]{display:none}
/*<SHARED-CSS>*/
/* cuadernos antiguos */
.file-list{display:grid;gap:12px}
.file-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;gap:10px}
.file-top{display:flex;gap:12px;align-items:center;min-width:0}
.file-ico{flex:none;width:40px;height:48px;border-radius:6px;background:var(--bar);color:var(--accent);display:grid;place-items:center;font-family:var(--f-mono);font-weight:700;font-size:.7rem;letter-spacing:.05em}
.file-main{display:grid;gap:2px;min-width:0;flex:1}
.file-name{overflow-wrap:anywhere;line-height:1.25}
.file-actions{gap:8px}
.tag.warn{background:var(--accent-soft);border-color:var(--warn);color:var(--warn)}
/* revisión de tareas leídas */
.rv-list{display:grid;gap:8px}
.rv-row{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer}
.rv-row input{width:22px;height:22px;margin:2px 0 0;flex:none;accent-color:var(--accent-ink)}
.rv-row.off{opacity:.55}
.rv-body{display:grid;gap:4px;min-width:0;flex:1}
.rv-top{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.86rem;color:var(--muted);align-items:baseline}
.rv-top b{color:var(--ink)}
.rv-op{font-weight:600;overflow-wrap:anywhere}
.rv-meta{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:.82rem;color:var(--muted);align-items:center}
.rv-warn{font-size:.82rem;color:var(--warn);font-weight:600}
.rv-dup{font-size:.82rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
/* visor de PDF */
.doc{position:fixed;inset:0;z-index:28;display:flex;flex-direction:column;background:var(--sunk);padding-top:env(safe-area-inset-top,0px)}
.doc-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px max(10px,env(safe-area-inset-right,0px)) 6px max(6px,env(safe-area-inset-left,0px));background:var(--bar);color:var(--bar-ink);border-bottom:3px solid var(--accent)}
.doc-bar .icon-btn{color:var(--bar-ink)}
.doc-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--f-display);font-size:1.1rem;letter-spacing:.02em}
.doc-pg{font-family:var(--f-mono);font-size:.74rem;color:var(--bar-muted);white-space:nowrap}
.doc-ctl{display:flex;gap:2px;align-items:center}
.doc-ctl .icon-btn{width:40px;height:40px;font-size:1.35rem;font-weight:700;line-height:1}
.doc-ctl .icon-btn:disabled{opacity:.35}
.doc-ctl .btn{margin-left:4px}
.doc-body{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:8px;text-align:center;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
.doc-body canvas{display:inline-block;background:#fff;box-shadow:0 2px 10px var(--shadow);max-width:none;vertical-align:top}
body.doc-open{overflow:hidden}
/* transcribir: visor y formulario a la vez */
body.split .doc{bottom:auto;height:44%;z-index:31;padding-bottom:0}
body.split .doc-body{padding-bottom:8px}
body.split .sheet{top:44%;background:transparent;align-items:stretch;padding:0;z-index:32}
body.split .sheet-panel{max-width:none;max-height:none;height:100%;border-radius:0;animation:none;box-shadow:0 -4px 16px var(--shadow)}
body.split .sheet-foot{border-radius:0}
@media (min-width:900px){
  body.split .doc{height:auto;bottom:0;right:46%}
  body.split .sheet{top:0;left:54%}
  body.split .sheet-panel{box-shadow:-4px 0 16px var(--shadow)}
}
/* firma importada */
.sig-imp{display:grid;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.sig-check{border-radius:10px;border:1px solid var(--line);padding:16px;display:flex;justify-content:center;background-color:#fff;background-image:linear-gradient(45deg,#e4e8ec 25%,transparent 25%),linear-gradient(-45deg,#e4e8ec 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e4e8ec 75%),linear-gradient(-45deg,transparent 75%,#e4e8ec 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}
.sig-check img{max-height:150px}
/*</SHARED-CSS>*/

/* planes */
.plan-strip{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.plan-strip.full{border-color:var(--accent);background:var(--accent-soft)}
.ps-txt{flex:1;min-width:0;display:grid;gap:4px;font-size:.88rem}
.ps-txt .muted{font-size:.82rem}
.meter{display:block;height:6px;border-radius:999px;background:var(--sunk);overflow:hidden;max-width:260px}
.meter i{display:block;height:100%;background:var(--accent);border-radius:inherit}
.pw-list{margin:0;padding-left:20px;display:grid;gap:6px}
.warn-txt{color:var(--warn)}
@media (max-width:480px){.plan-strip{flex-direction:column;align-items:stretch}.plan-strip .btn{width:100%}}

/* logo */
.brand-mark{height:32px;width:auto;flex:none;display:block;margin-right:2px}
@media (max-width:420px){#btn-back:not([hidden]) + .brand-mark{display:none}.brand-mark{height:28px}}
.auth-head{text-align:center;justify-items:center}
.auth-logo{margin:0;line-height:0}
.auth-logo img{display:block;width:min(340px,86vw);height:auto;margin:0 auto}
.logo-d{display:none!important}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .logo-l{display:none!important}:root:not([data-theme="light"]) .logo-d{display:block!important}}
:root[data-theme="dark"] .logo-l{display:none!important}
:root[data-theme="dark"] .logo-d{display:block!important}
