:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#fff;color:#000}img{max-width:100%}[hidden]:not([hidden=until-found i]){display:none!important}
/* Layout: portal de noticias del Estudio — barra de marca, nota principal del día + calendario de ediciones a la derecha, luego secciones desplegables por jurisdicción (Nación, CABA, PBA primero) */
:root{
  --bg:#f4f6f9; --paper:#ffffff; --ink:#131c2b; --muted:#5a6679; --line:#dde2ea; --soft:#eef2f7;
  --brand:#16325c; --brand-ink:#ffffff; --accent:#2a6fb8; --accent-soft:#e6eff9;
  --gest:#a86a00; --gest-soft:#fff3d9; --ok:#1f7a4a; --ok-soft:#e3f3ea; --bad:#b23a30; --bad-soft:#fbe8e6;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0e131b; --paper:#161d28; --ink:#e7ecf3; --muted:#9aa6b8; --line:#29323f; --soft:#1c2432;
  --brand:#0f2342; --brand-ink:#e7ecf3; --accent:#79aee8; --accent-soft:#1a2b41;
  --gest:#e8b24a; --gest-soft:#332812; --ok:#5cc58b; --ok-soft:#14301f; --bad:#ee7d72; --bad-soft:#3a1d1b; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0e131b; --paper:#161d28; --ink:#e7ecf3; --muted:#9aa6b8; --line:#29323f; --soft:#1c2432;
  --brand:#0f2342; --brand-ink:#e7ecf3; --accent:#79aee8; --accent-soft:#1a2b41;
  --gest:#e8b24a; --gest-soft:#332812; --ok:#5cc58b; --ok-soft:#14301f; --bad:#ee7d72; --bad-soft:#3a1d1b; color-scheme:dark}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.shell{max-width:1180px;margin:0 auto;padding-inline:16px}

/* barra de marca */
.mast{background:var(--brand);color:var(--brand-ink)}
.mast .shell{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding-block:14px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.mono{width:40px;height:40px;border-radius:8px;border:1.5px solid currentColor;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:17px;letter-spacing:.02em;flex:none}
.bname{font-family:var(--serif);font-size:20px;font-weight:700;line-height:1.1}
.bsub{font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.nav{display:flex;gap:4px;flex-wrap:wrap}
.nav a{color:var(--brand-ink);text-decoration:none;font-size:13px;font-weight:600;padding:6px 10px;border-radius:6px;opacity:.9}
.nav a:hover{background:rgba(255,255,255,.12);opacity:1}
.ticker{background:var(--paper);border-bottom:1px solid var(--line)}
.ticker .shell{display:flex;flex-wrap:wrap;gap:6px 16px;padding-block:8px;font-size:13px;color:var(--muted);align-items:center}
.ticker b{color:var(--ink)}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--ok);margin-right:6px;vertical-align:1px}

main.shell{padding-block:22px 48px;display:grid;gap:22px}
.top{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}
.lead{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px 24px;display:grid;gap:12px;min-width:0}
.kicker{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.lead h1{font-family:var(--serif);font-size:clamp(28px,4vw,40px);line-height:1.12;margin:0;font-weight:700;text-wrap:balance}
.bajada{font-size:17px;color:var(--muted);max-width:68ch;margin:0}
.byline{font-size:13px;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:4px}
.stat{background:var(--soft);border-radius:10px;padding:10px 12px;display:grid;gap:2px}
.stat .n{font-family:var(--serif);font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
.stat .l{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.stat.g .n{color:var(--gest)}.stat.b .n{color:var(--bad)}.stat.o .n{color:var(--ok)}
.concl{border-left:3px solid var(--accent);padding:4px 0 4px 12px;font-size:14px}

/* boletín por boletín */
.porbo{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:14px;margin-top:2px}
.bolist{display:grid;gap:8px}
.bo{display:grid;grid-template-columns:110px minmax(0,1fr);gap:4px 14px;align-items:start;padding:10px 12px;border-radius:10px;background:var(--soft)}
.bo.warn{background:var(--gest-soft)}.bo.bad{background:var(--bad-soft)}
.boname{font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;padding-top:1px}
.bostate{display:grid;gap:6px;min-width:0}
.bostate .st{font-weight:600}
.bo.ok .st{color:var(--ok)}.bo.warn .st{color:var(--gest)}.bo.bad .st{color:var(--bad)}
.bonote{font-size:14px;display:grid;gap:2px;padding-left:10px;border-left:2px solid var(--gest)}
.bonote strong{font-weight:700}
.bonote span{color:var(--muted)}
.bolinks{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px}
.bolinks a{font-weight:600}
.hint{color:var(--muted)}
@media (max-width:560px){.bo{grid-template-columns:minmax(0,1fr)}}

/* buscador */
.finder{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px 22px;display:grid;gap:14px}
.finder h2{font-family:var(--serif);font-size:24px;margin:0}
.finder .sub{margin:2px 0 0;color:var(--muted);font-size:14px;max-width:72ch}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:99px;border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--ink);background:var(--paper)}
.chip:hover{background:var(--soft)}
.chip[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.chip .c{font-size:11px;font-variant-numeric:tabular-nums;background:var(--soft);color:var(--muted);border-radius:99px;padding:1px 7px}
.chip[aria-pressed="true"] .c{background:rgba(255,255,255,.18);color:var(--brand-ink)}
.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.frow{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end}
.fld{display:grid;gap:4px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);min-width:0}
.fld.grow{flex:1 1 260px}
.fld input,.fld select{font:inherit;font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:9px 11px;width:100%}
.chk{display:flex;gap:8px;align-items:center;font-size:14px;padding-bottom:9px;cursor:pointer}
.chk input{width:16px;height:16px;accent-color:var(--gest)}
.fmeta{font-size:13px;color:var(--muted)}
.results{display:grid;gap:12px}
.res{display:grid;grid-template-columns:86px minmax(0,1fr);gap:4px 16px;padding:14px 0;border-top:1px solid var(--line)}
.res:first-child{border-top:0}
.rdate{font-family:var(--serif);font-weight:700;font-size:15px;line-height:1.2}
.rdate small{display:block;font-family:var(--sans);font-weight:500;font-size:12px;color:var(--muted)}
.rbody{display:grid;gap:6px;min-width:0}
.rbody h3{font-family:var(--serif);font-size:18px;margin:0;line-height:1.25}
.rlinks{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px}
.rlinks a,.rlinks button{font-weight:600}
.linkbtn{all:unset;cursor:pointer;color:var(--accent)}
.linkbtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
mark{background:var(--gest-soft);color:inherit;border-radius:3px;padding:0 2px}
@media (max-width:560px){.res{grid-template-columns:minmax(0,1fr)}.finder{padding:18px}}

/* menú lateral */
.mast .shell{justify-content:flex-start}
.mast .brand{margin-right:auto}
.today{font-size:13px;opacity:.85;text-transform:capitalize}
.burger{all:unset;cursor:pointer;width:40px;height:40px;border-radius:8px;display:grid;align-content:center;justify-items:center;gap:5px;flex:none}
.burger span{display:block;width:22px;height:2px;background:var(--brand-ink);border-radius:2px}
.burger:hover{background:rgba(255,255,255,.12)}
.burger:focus-visible{outline:2px solid var(--brand-ink);outline-offset:2px}
.scrim{position:fixed;inset:0;background:rgba(8,14,24,.45);z-index:40}
.drawer{position:fixed;top:0;left:0;bottom:0;width:min(320px,86vw);background:var(--paper);border-right:1px solid var(--line);z-index:50;transform:translateX(-102%);transition:transform .22s ease;overflow-y:auto;padding:calc(env(safe-area-inset-top,0px) + 16px) 16px calc(env(safe-area-inset-bottom,0px) + 20px);display:grid;align-content:start;gap:18px;visibility:hidden}
.drawer.open{transform:none;visibility:visible}
.dhead{display:flex;align-items:center;gap:10px}
.mono.sm{width:34px;height:34px;font-size:14px;color:var(--brand);border-color:var(--brand)}
.dname{font-family:var(--serif);font-weight:700;font-size:16px;line-height:1.1}
.dclose{all:unset;cursor:pointer;margin-left:auto;width:32px;height:32px;display:grid;place-items:center;border-radius:8px;font-size:22px;color:var(--muted)}
.dclose:hover{background:var(--soft)}
.dgroup{display:grid;gap:2px;border-top:1px solid var(--line);padding-top:12px}
.dlabel{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:0 10px 6px}
.ditem{display:flex;gap:12px;align-items:flex-start;padding:10px;border-radius:10px;text-decoration:none;color:var(--ink);font-weight:600}
.ditem small{display:block;font-weight:400;font-size:12px;color:var(--muted)}
.ditem:hover{background:var(--soft)}
.ditem[aria-current="page"]{background:var(--accent-soft);color:var(--accent)}
.ditem.sub{font-weight:500;font-size:14px;padding:8px 10px}
.di{width:22px;text-align:center;font-size:16px;color:var(--accent)}
.view{display:grid;gap:22px}
@media (prefers-reduced-motion:reduce){.drawer{transition:none}}

/* novedades relevantes */
.novs{display:grid;gap:14px}
.bigtitle{font-family:var(--serif);font-size:clamp(30px,4vw,40px);color:var(--accent);margin:0;line-height:1.1}
.rule{width:64px;height:4px;background:var(--accent);border-radius:2px;margin:10px 0 8px}
.novs .sub{color:var(--muted);max-width:72ch;margin:0}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;align-items:start}
.ncard{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto}
.nband{background:var(--brand);color:var(--brand-ink);padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:64px}
.nband .org{font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.nband .when{font-size:12px;opacity:.85;white-space:nowrap}
.nband.cnrt{background:#1d4f7a}.nband.ansv{background:#0f5e5a}.nband.st{background:var(--brand)}.nband.otro{background:#4a4f6a}
.ncb{padding:16px;display:grid;gap:8px;align-content:start}
.ncb h3{font-family:var(--serif);font-size:20px;line-height:1.2;margin:0;color:var(--accent);text-wrap:balance}
.ncb p{margin:0;font-size:14px;color:var(--muted)}
.ncb .why{font-size:13px;background:var(--soft);border-radius:8px;padding:8px 10px;color:var(--ink)}
.ncb .why b{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.nfootc{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid var(--line);background:var(--soft);font-size:13px}
.nfootc a{font-weight:700}

/* calendario */
.side{display:grid;gap:16px;min-width:0}
.box{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;gap:10px}
.box h2{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0}
.calhead{display:flex;align-items:center;justify-content:space-between;gap:8px}
.calhead strong{font-family:var(--serif);font-size:18px;text-transform:capitalize}
.cbtn{all:unset;cursor:pointer;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--line);color:var(--ink)}
.cbtn:hover{background:var(--soft)}
.cbtn[disabled]{opacity:.35;cursor:default}
.grid7{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.dow{font-size:11px;font-weight:700;color:var(--muted);padding:2px 0}
.day{all:unset;box-sizing:border-box;height:38px;border-radius:8px;display:grid;place-items:center;font-size:13px;font-variant-numeric:tabular-nums;color:var(--muted);position:relative}
.day.has{cursor:pointer;color:var(--ink);font-weight:700;background:var(--soft)}
.day.has::after{content:"";position:absolute;bottom:5px;width:5px;height:5px;border-radius:50%;background:var(--ok)}
.day.has.gest::after{background:var(--gest)}
.day.has:hover{background:var(--accent-soft)}
.day.sel{background:var(--brand);color:var(--brand-ink)}
.day.sel::after{background:var(--brand-ink)}
.day.today{box-shadow:inset 0 0 0 1.5px var(--accent)}
.calleg{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.calleg i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}

/* agenda de gestión */
.agenda{background:var(--gest-soft);border:1px solid color-mix(in srgb,var(--gest) 35%,transparent);border-radius:14px;padding:18px 20px;display:grid;gap:12px}
.agenda h2{font-family:var(--serif);font-size:22px;margin:0}
.agenda .sub{font-size:13px;color:var(--muted);margin:0}

/* secciones por jurisdicción */
.secs{display:grid;gap:14px}
.sec{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.sec>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:16px 18px}
.sec>summary::-webkit-details-marker{display:none}
.sec>summary:hover{background:var(--soft)}
.tag{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-ink);background:var(--brand);padding:4px 8px;border-radius:6px;white-space:nowrap}
.sec.minor .tag{background:var(--soft);color:var(--muted)}
.stitle{font-family:var(--serif);font-size:21px;font-weight:700;line-height:1.2;min-width:0}
.stitle small{display:block;font-family:var(--sans);font-size:12px;font-weight:500;color:var(--muted);margin-top:2px}
.chev{transition:transform .2s;color:var(--muted);font-size:18px}
.sec[open] .chev{transform:rotate(90deg)}
.sbody{border-top:1px solid var(--line);padding:16px 18px;display:grid;gap:14px}
.pill{font-size:11px;font-weight:700;padding:3px 9px;border-radius:99px;white-space:nowrap;background:var(--accent-soft);color:var(--accent)}
.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--gest-soft);color:var(--gest)}.pill.bad{background:var(--bad-soft);color:var(--bad)}
.empty{background:var(--soft);border-radius:10px;padding:14px 16px;color:var(--muted);font-size:14px}
.fuente{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;font-size:13px;padding:10px 12px;border:1px dashed var(--line);border-radius:10px}
.fuente .fd{grid-column:1/-1;color:var(--muted)}
.fuente a{font-weight:600;color:var(--ink)}

/* nota */
.nota{display:grid;gap:8px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.nota:last-child{border-bottom:0;padding-bottom:0}
.nmeta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px;color:var(--muted)}
.nota h3{font-family:var(--serif);font-size:20px;line-height:1.25;margin:0;text-wrap:balance}
.nota p{margin:0;max-width:72ch}
.criollo{background:var(--soft);border-radius:10px;padding:10px 12px;font-size:14px}
.criollo b,.hacer b{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}
.criollo b{color:var(--accent)}
.hacer{background:var(--gest-soft);border-radius:10px;padding:10px 12px;font-size:14px}
.hacer b{color:var(--gest)}
.nfoot{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;color:var(--muted);align-items:center}
.nfoot a{font-weight:600}

.subsec{display:grid;gap:10px}
.subsec>summary{cursor:pointer;font-weight:700;font-size:15px;display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px 12px;background:var(--soft);border-radius:10px;list-style:none}
.subsec>summary::-webkit-details-marker{display:none}
.subsec[open]>summary{margin-bottom:10px}

/* res 939 */
.r939{display:grid;gap:18px}
.r939 .sub{color:var(--muted);max-width:72ch;margin:0}
.rgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.rcard{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px 20px;display:grid;gap:10px;align-content:start;min-width:0}
.rcard h3{font-family:var(--serif);font-size:20px;line-height:1.25;margin:0}
.rcard p{margin:0}
.rcard.warnc{background:var(--gest-soft);border-color:color-mix(in srgb,var(--gest) 35%,transparent)}
.steps{margin:0;padding-left:20px;display:grid;gap:4px}
.nextbox{background:var(--brand);color:var(--brand-ink);border-radius:14px;padding:18px 22px;display:grid;gap:4px}
.nextbox .kicker{color:var(--brand-ink)!important;opacity:.8}
.nextdate{font-family:var(--serif);font-size:clamp(26px,4vw,34px);font-weight:700;line-height:1.1}
.nextsub{font-size:14px;opacity:.85}
.tscroll{overflow-x:auto}
.vtab{width:100%;border-collapse:collapse;font-size:14px}
.vtab th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line)}
.vtab td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}
.vtab td small{display:block;color:var(--muted);font-size:12px;font-weight:400}
.vtab td.vdate{font-weight:600;font-variant-numeric:tabular-nums}
.vtab tr.past td{color:var(--muted)}
.vtab tr.next td{background:var(--gest-soft)}
.estnote{margin:0;font-size:13px;background:var(--gest-soft);border-left:3px solid var(--gest);border-radius:6px;padding:10px 12px}
.estnote strong{color:var(--gest)}
.nlinks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.nlinks li{display:grid;gap:2px}
.nlinks a{font-weight:700}
.nlinks span{font-size:13px;color:var(--muted)}

/* contacto */
.contact{display:grid;gap:18px}
.contact .sub{color:var(--muted);max-width:72ch;margin:0}
.ccards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.ccard{display:flex;gap:14px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px;text-decoration:none;color:var(--ink)}
a.ccard:hover{border-color:var(--ok);background:var(--ok-soft)}
.cico{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;font-size:22px;flex:none;background:var(--soft);color:var(--accent)}
.ccard.wa .cico{background:var(--ok-soft);color:var(--ok)}
.cbody{display:grid;gap:2px;min-width:0}
.clabel{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cval{font-family:var(--serif);font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}
.ccard.off .cval{color:var(--muted)}
.cact{font-size:13px;font-weight:700;color:var(--ok)}
.cact.hint{font-weight:400;color:var(--muted)}

/* aviso legal */
.legal{padding-bottom:40px}
.lbox{border-top:1px solid var(--line);padding-top:18px;display:grid;gap:8px;font-size:13px;color:var(--muted);max-width:90ch}
.lbox h2{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin:0}
.lbox p{margin:0}
.lbox strong{color:var(--ink);font-weight:600}

footer{border-top:1px solid var(--line);padding-top:18px;display:grid;gap:12px;font-size:13px;color:var(--muted)}
dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 22px;margin:0}
dt{font-weight:700;color:var(--ink)}dd{margin:0}
.status{font-size:13px;color:var(--muted)}
@media (max-width:920px){.top{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.sec>summary{grid-template-columns:minmax(0,1fr) auto auto}.sec>summary .tag{grid-column:1/-1;justify-self:start}.lead{padding:18px}.nav{display:none}}
@media (prefers-reduced-motion:reduce){.chev{transition:none}}
/* ===== Capa del sitio propio: inicio público, ingreso, panel del Estudio ===== */
.demo{position:sticky;top:0;z-index:60;background:#3b2a00;color:#ffe4a3;font-size:12.5px;text-align:center;padding:6px 16px;line-height:1.4}
.demo b{color:#fff}
.page[hidden]{display:none!important}
.btn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:10px;font-weight:700;font-size:14.5px;background:var(--accent);color:#fff;text-align:center}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.ghost:hover{background:var(--soft)}
.btn.light{background:#fff;color:var(--brand)}
.btn.sm{padding:7px 12px;font-size:13px;border-radius:8px}
.btn.danger{background:var(--bad)}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* inicio */
.hero{background:var(--brand);color:var(--brand-ink);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:auto -10% -60% 40%;height:120%;background:radial-gradient(closest-side,rgba(121,174,232,.28),transparent);pointer-events:none}
.hnav{display:flex;align-items:center;gap:12px;padding-block:16px;flex-wrap:wrap}
.hnav .brand{margin-right:auto}
.hnav a.lnk{color:var(--brand-ink);opacity:.85;text-decoration:none;font-size:14px;font-weight:600;padding:6px 8px}
.hnav a.lnk:hover{opacity:1}
.hbody{padding-block:56px 72px;display:grid;gap:18px;max-width:760px;position:relative;z-index:1}
.hbody .kick{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:.8}
.hbody h1{font-family:var(--serif);font-size:clamp(36px,6vw,60px);line-height:1.04;margin:0;font-weight:700;text-wrap:balance}
.hbody p{font-size:18px;line-height:1.5;margin:0;opacity:.9;max-width:60ch}
.hcta{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.hstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;max-width:620px}
.hstats div{border-top:1px solid rgba(255,255,255,.25);padding-top:10px}
.hstats b{display:block;font-family:var(--serif);font-size:32px;line-height:1;font-variant-numeric:tabular-nums}
.hstats span{font-size:12px;opacity:.8}
.lsec{padding-block:48px;display:grid;gap:22px}
.lsec h2{font-family:var(--serif);font-size:clamp(26px,3.6vw,34px);margin:0;line-height:1.15}
.lsec .lead2{color:var(--muted);margin:0;max-width:70ch;font-size:16px}
.feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.fcard{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px;display:grid;gap:8px;align-content:start}
.fcard .ico{width:40px;height:40px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:19px}
.fcard h3{font-family:var(--serif);font-size:20px;margin:0;line-height:1.2}
.fcard p{margin:0;color:var(--muted);font-size:14.5px}
.steps3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;counter-reset:s}
.st3{border-left:3px solid var(--accent);padding:4px 0 4px 16px;display:grid;gap:4px}
.st3::before{counter-increment:s;content:"0" counter(s);font-family:var(--serif);font-weight:700;font-size:26px;color:var(--accent)}
.st3 b{font-size:16px}.st3 span{color:var(--muted);font-size:14.5px}
.band2{background:var(--paper);border-block:1px solid var(--line)}
.access{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;align-items:center}
.access .box2{background:var(--soft);border-radius:14px;padding:20px;display:grid;gap:10px}
.access .box2 div{display:flex;gap:10px;align-items:flex-start;font-size:14.5px}
.access .box2 i{font-style:normal;color:var(--ok);font-weight:700}
@media (max-width:760px){.access{grid-template-columns:minmax(0,1fr)}.hstats{grid-template-columns:repeat(3,minmax(0,1fr))}.hstats b{font-size:24px}.hnav a.lnk{display:none}}

/* ingreso */
.loginwrap{min-height:calc(100vh - 30px);display:grid;place-items:center;padding:32px 16px;background:linear-gradient(180deg,var(--brand) 0 38%,var(--bg) 38%)}
.lcard{width:min(440px,100%);background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:28px;display:grid;gap:16px;box-shadow:0 18px 40px rgba(10,20,40,.18)}
.lcard .brand{color:var(--ink)}
.lcard .mono{color:var(--brand);border-color:var(--brand)}
.lcard h1{font-family:var(--serif);font-size:26px;margin:0;line-height:1.15}
.lcard p{margin:0;color:var(--muted);font-size:14.5px}
.lcard label{display:grid;gap:6px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.lcard input{font:inherit;font-size:16px;letter-spacing:0;text-transform:none;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:12px 13px}
.lcard input.code{letter-spacing:.4em;font-variant-numeric:tabular-nums;text-align:center;font-size:22px}
.lcard .btn{width:100%}
.lerr{background:var(--bad-soft);color:var(--bad);border-radius:10px;padding:10px 12px;font-size:14px}
.lhint{background:var(--gest-soft);border-radius:10px;padding:10px 12px;font-size:13px;color:var(--ink)}
.back{all:unset;cursor:pointer;color:var(--muted);font-size:13px;font-weight:600}
.back:hover{color:var(--ink)}

/* barra de usuario en el Radar */
.who{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.who .uchip{font-size:12.5px;background:rgba(255,255,255,.12);border-radius:99px;padding:5px 10px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.who .uchip b{font-weight:700}
.mbtn{all:unset;cursor:pointer;font-size:13px;font-weight:700;padding:7px 11px;border-radius:8px;border:1px solid rgba(255,255,255,.35);color:var(--brand-ink)}
.mbtn:hover{background:rgba(255,255,255,.12)}
.mbtn.pri{background:#fff;color:var(--brand);border-color:#fff}
.mbtn:focus-visible{outline:2px solid var(--brand-ink);outline-offset:2px}
.notaest{background:var(--accent-soft);border-radius:10px;padding:12px 14px;display:grid;gap:4px;font-size:14.5px}
.notaest b{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
@media (max-width:560px){.today{display:none}.who .uchip{max-width:150px}}

/* panel del Estudio */
.adm{padding-block:22px 60px;display:grid;gap:18px}
.admhead{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end;justify-content:space-between}
.admhead h1{font-family:var(--serif);font-size:clamp(26px,3.6vw,34px);margin:0;line-height:1.1}
.admhead p{margin:4px 0 0;color:var(--muted);font-size:14px}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto}
.tab{all:unset;cursor:pointer;padding:10px 14px;font-weight:700;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap}
.tab[aria-selected="true"]{color:var(--accent);border-color:var(--accent)}
.tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px;display:grid;gap:16px;min-width:0}
.panel h2{font-family:var(--serif);font-size:21px;margin:0}
.panel .sub{margin:0;color:var(--muted);font-size:14px}
.prow{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end}
.f{display:grid;gap:5px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);min-width:0}
.f.grow{flex:1 1 280px}.f.full{grid-column:1/-1}
.f input,.f select,.f textarea{font:inherit;font-size:14.5px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:9px 11px;width:100%}
.f textarea{min-height:76px;resize:vertical;line-height:1.45}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
@media (max-width:640px){.fgrid{grid-template-columns:minmax(0,1fr)}}
.items{display:grid;gap:10px}
.item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:start;padding:12px 14px;border:1px solid var(--line);border-radius:12px}
.item.off{opacity:.55;border-style:dashed}
.item h4{margin:0;font-family:var(--serif);font-size:17px;line-height:1.25}
.item .meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px;color:var(--muted)}
.item .acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:560px){.item{grid-template-columns:minmax(0,1fr)}.item .acts{justify-content:flex-start}}
.saved{font-size:13px;color:var(--ok);font-weight:700}
table.ut{width:100%;border-collapse:collapse;font-size:14px}
.ut th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line)}
.ut td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}
.ut td small{display:block;color:var(--muted);font-size:12px}
.rule2{background:var(--soft);border-radius:10px;padding:12px 14px;font-size:14px}
dialog.ed{border:1px solid var(--line);border-radius:16px;padding:0;width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 40px);background:var(--paper);color:var(--ink)}
dialog.ed::backdrop{background:rgba(8,14,24,.5)}
.edh{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:1}
.edh h3{margin:0;font-family:var(--serif);font-size:20px}
.edb{padding:18px 20px}
.edf{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--line);position:sticky;bottom:0;background:var(--paper)}
@media (max-width:560px){.hnav{flex-wrap:nowrap}.hnav .brand{min-width:0}.hnav .bname{font-size:16px}.hnav .bsub{font-size:9.5px;letter-spacing:.08em}.hnav .mono{width:34px;height:34px;font-size:14px}}
.lcard label.rem{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink);cursor:pointer}
.lcard label.rem input{width:17px;height:17px;padding:0;accent-color:var(--accent)}
