/* Rentaly — estilos calcados del prototipo final */
:root{--font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif}
.t-oscuro,.t-auto-dark{--bg:#0a0d1f;--sidebar:#0e1230;--surface:#161b36;--surface2:#1d2346;--line:#2a3160;--text:#f5f5f7;--text2:#d4d6e4;--muted:#8e93ab;--primary:#3346c4;--tint:#9aa6ff;--sel:#232a52;--red:#ff6b5e;--btnred:#b8352a;--green:#30d158;--amber:#ffd60a;--warn-bg:#2b2410;--warn-line:#5a4a14;--warn-text:#ffd60a;--ok-bg:#0f2a1c;--ok-line:#1f5a39;--ok-text:#5be38a;--err-bg:#2e1414;--err-line:#5c2420;--err-text:#ff8a80;color-scheme:dark}
.t-claro,.t-auto{--bg:#f5f5f7;--sidebar:#ffffff;--surface:#ffffff;--surface2:#f2f2f7;--line:#e3e3e8;--text:#1d1d1f;--text2:#3a3a3c;--muted:#86868b;--primary:#16236d;--tint:#16236d;--sel:#ececf2;--red:#b8352a;--btnred:#b8352a;--green:#248a3d;--amber:#b25000;--warn-bg:#fff7e6;--warn-line:#f3d9a4;--warn-text:#8a5300;--ok-bg:#eaf7ee;--ok-line:#bfe3ca;--ok-text:#1d6b33;--err-bg:#fdeceb;--err-line:#f2c7c2;--err-text:#8e2a22;color-scheme:light}
@media (prefers-color-scheme:dark){.t-auto{--bg:#0a0d1f;--sidebar:#0e1230;--surface:#161b36;--surface2:#1d2346;--line:#2a3160;--text:#f5f5f7;--text2:#d4d6e4;--muted:#8e93ab;--primary:#3346c4;--tint:#9aa6ff;--sel:#232a52;--red:#ff6b5e;--btnred:#b8352a;--green:#30d158;--amber:#ffd60a;--warn-bg:#2b2410;--warn-line:#5a4a14;--warn-text:#ffd60a;--ok-bg:#0f2a1c;--ok-line:#1f5a39;--ok-text:#5be38a;--err-bg:#2e1414;--err-line:#5c2420;--err-text:#ff8a80;color-scheme:dark}}

*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font)}
a{color:var(--tint);text-decoration:none;font-weight:600}
a:hover{text-decoration:underline}
input,select,button,textarea{font-family:inherit}
/* Todos los campos toman el color del tema (regla: nunca texto negro sobre fondo oscuro) */
input,select,textarea{background:var(--surface2);color:var(--text);border:1px solid var(--line);border-radius:10px;font-size:14px}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}
input:focus,select:focus,textarea:focus{outline:2px solid var(--tint);outline-offset:-1px}
input[type=checkbox]{width:16px;height:16px;accent-color:var(--tint)}
button{cursor:pointer}

/* ---------- estructura ---------- */
.app{min-height:100vh;display:flex;flex-wrap:wrap}
.side{flex:1 1 232px;max-width:248px;background:var(--sidebar);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.brandrow{display:flex;align-items:center;gap:12px;padding:20px 20px 18px;border-bottom:1px solid var(--line)}
.brandrow .tile{flex:none;background:#fff;border-radius:12px;padding:6px 8px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px var(--line)}
.brandrow img{height:30px;width:auto;display:block}
.brandrow .n{font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:1.15}
.brandrow .s{font-size:11.5px;color:var(--muted);white-space:nowrap}
.sec{padding:18px 20px 8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.navlist{display:flex;flex-direction:column;gap:2px;padding:0 10px}
.navlist a{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 12px;border-radius:10px;font-size:14.5px;color:var(--muted);font-weight:500;text-decoration:none}
.navlist a:hover{background:var(--sel);text-decoration:none}
.navlist a.on{background:var(--sel);color:var(--text);font-weight:600}
.navlist a span{flex:1}
.navlist .badge{flex:none;background:var(--red);color:#fff;font-size:11px;font-weight:700;border-radius:4px;padding:1px 6px}
.sidelinks{margin:14px 20px 0;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.sidelinks a,.sidelinks button{color:var(--muted);font-weight:500;font-size:13px;background:none;border:0;padding:0;text-align:left}
.temas{margin:auto 16px 0;padding:4px;background:var(--surface2);border-radius:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
.temas button{height:30px;border:0;border-radius:8px;font-size:12.5px;font-weight:600;background:transparent;color:var(--muted)}
.temas button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.25)}
.yo{margin-top:12px;padding:18px 20px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px}
.yo .av{width:34px;height:34px;border-radius:50%;background:var(--surface);color:var(--tint);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:none}
.yo .nm{font-size:13px;font-weight:600}
.yo .rl{font-size:12px;color:var(--muted)}
.yo form{display:inline}
.yo .salir{background:none;border:0;padding:0;color:var(--text);font-weight:500;font-size:12px}

.content{flex:999 1 600px;min-width:0;display:flex;flex-direction:column}
.topbar{background:var(--surface);border-bottom:1px solid var(--line);padding:14px 32px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5}
.crumb{font-size:13px;color:var(--muted)}
.crumb b{color:var(--text);font-weight:600}
.crumb i{font-style:normal;padding:0 6px}
.topright{display:flex;gap:10px;align-items:center}
.search{height:38px;border-radius:10px;padding:0 12px;min-width:240px;font-size:13px}
.chip{height:38px;display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;padding:0 12px;font-size:13px;font-weight:600}
main{padding:26px 32px 56px;display:flex;flex-direction:column;gap:22px;max-width:1280px;width:100%}

/* ---------- piezas ---------- */
h1{margin:0;font-weight:700;font-size:34px;letter-spacing:-.03em}
.lead{margin:4px 0 0;color:var(--muted);font-size:14px}
.headrow{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px}
.card.focus{border-color:var(--tint)}
.card>.hd{padding:16px 20px;border-bottom:1px solid var(--line);font-weight:600;font-size:15px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.card>.hd small{font-weight:500;color:var(--muted);font-size:13px}
.card>.bd{padding:20px;display:flex;flex-direction:column;gap:16px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;align-items:start}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.span2{grid-column:span 2}.full{grid-column:1/-1}
@media (max-width:560px){.span2{grid-column:1/-1}}
.fld{display:flex;flex-direction:column;gap:6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.fld.tint{color:var(--tint)}
.fld input,.fld select{height:40px;padding:0 12px;text-transform:none;letter-spacing:0;font-weight:400}
.fld select{padding:0 8px}
.fld textarea{padding:10px 12px;resize:vertical;text-transform:none;letter-spacing:0;font-weight:400}
.fld.tint input,.fld.tint select{border-color:var(--tint)}
.fld .err{color:var(--err-text);text-transform:none;letter-spacing:0;font-weight:500}
.fld .hint{color:var(--muted);text-transform:none;letter-spacing:0;font-weight:400;font-size:12px}
.groupttl{grid-column:1/-1;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--tint);border-top:1px solid var(--line);padding-top:12px}
.check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text2)}
.actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}

.btn{height:42px;padding:0 18px;border-radius:10px;font-weight:600;font-size:14px;border:1px solid var(--line);background:var(--surface);color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.btn:hover{text-decoration:none;filter:brightness(1.08)}
.btn.primary{background:var(--primary);color:#fff;border:0}
.btn.red{background:var(--btnred);color:#fff;border:0}
.btn.green{background:#1f9d4c;color:#fff;border:0}
.btn.outline{border-color:var(--text)}
.btn.big{height:48px;font-size:15px}
.btn.sm{height:34px;padding:0 12px;font-size:13px}
.btn[disabled]{opacity:.5;cursor:not-allowed}

.expbox{display:flex;align-items:stretch;border:1px solid var(--tint);border-radius:10px;overflow:hidden;height:52px}
.expbox span{background:var(--primary);color:#fff;font-weight:700;padding:0 16px;display:flex;align-items:center;font-size:15px;letter-spacing:.06em}
.expbox input{border:0;border-radius:0;outline:none;font-size:22px;font-weight:600;padding:0 14px;width:100%;letter-spacing:.02em;background:var(--surface2)}
.expbox input:focus{outline:none}

dl.info{margin:0;display:grid;grid-template-columns:110px 1fr;gap:8px 14px;font-size:14px;border-top:1px solid var(--line);padding-top:14px}
dl.info dt{color:var(--muted)}dl.info dd{margin:0}
.big-amount{font-size:40px;font-weight:600;color:var(--tint);letter-spacing:-.01em}
.lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.note{font-size:12px;color:var(--muted)}

.alert{border:1px solid var(--line);border-radius:10px;padding:12px 16px;font-size:14px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.alert.warn{border-color:var(--warn-line);background:var(--warn-bg)}
.alert.warn b{color:var(--warn-text)}
.alert.err{border-color:var(--err-line);background:var(--err-bg);color:var(--err-text)}
.alert.ok{border-color:var(--ok-line);background:var(--ok-bg);color:var(--ok-text)}
.alert .side-note{font-size:13px;color:var(--muted)}

table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
th{text-align:left;font-size:12.5px;color:var(--muted);font-weight:600;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--surface2);white-space:nowrap}
td{padding:12px 14px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle}
tr:last-child td{border-bottom:0}
.num{text-align:right;white-space:nowrap}
.exp-t{font-weight:700;color:var(--tint)}
.muted{color:var(--muted)}
.strong{font-weight:600}
.tablewrap{overflow-x:auto}
tr.cancel td{opacity:.5;text-decoration:line-through}
tr.cancel td:last-child{text-decoration:none}
.dot{display:inline-flex;align-items:center;gap:7px;font-size:13px;white-space:nowrap}
.dot::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--muted);display:inline-block}
.dot.green::before{background:var(--green)}.dot.amber::before{background:var(--amber)}.dot.red::before{background:var(--red)}
.tabs{display:flex;gap:4px;background:var(--surface2);border-radius:10px;padding:4px;width:max-content}
.tabs a{padding:6px 14px;border-radius:8px;font-size:13px;color:var(--muted);font-weight:600;text-decoration:none}
.tabs a.on{background:var(--surface);color:var(--text)}
.empty{padding:28px 20px;color:var(--muted);font-size:14px;text-align:center}
.flash{display:flex;flex-direction:column;gap:10px}
.pdfview{width:100%;height:440px;border:1px solid var(--line);border-radius:10px;background:#fff}
.btnrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}
.soon{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:28px}
.pill{white-space:nowrap;font-size:12px;font-weight:600;border:1px solid var(--line);border-radius:999px;padding:3px 10px;color:var(--muted)}

/* ---------- móvil ---------- */
@media (max-width:860px){
  .side{position:static;height:auto;max-width:none;flex-basis:100%}
  .temas{margin:14px 16px 0}
  .topbar{padding:12px 16px;position:static}
  main{padding:20px 16px 48px}
  .search{min-width:0;width:100%}
  .topright{width:100%}
}

/* ---------- login ---------- */
.login{min-height:100vh;background:#0a0d1f;color:#f5f5f7;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;position:relative;overflow:hidden}
.login svg.houses{position:absolute;left:0;right:0;bottom:0;width:100%;height:42%;pointer-events:none}
.login .box{width:100%;max-width:380px;display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}
.login .tile{background:#fff;border-radius:18px;padding:12px 16px}
.login .tile img{height:44px;display:block}
.login h1{font-size:40px;margin-top:26px}
.login .sub{font-size:17px;color:#8e93ab;margin-top:4px;letter-spacing:-.01em;text-align:center}
.login .fields{width:100%;margin-top:34px;background:#161b36;border-radius:14px;overflow:hidden}
.login label{display:block;padding:10px 16px 8px}
.login label+label{border-top:.5px solid #2a3160}
.login label span{display:block;font-size:12px;color:#8e93ab}
.login label input{border:0;outline:none;width:100%;font-size:17px;padding:2px 0;background:transparent;color:#f5f5f7;caret-color:#ff6b5e;border-radius:0}
.login label input:focus{outline:none}
.login label input::placeholder{color:#5f6587}
.login .go{width:100%;height:50px;margin-top:18px;background:#b8352a;color:#fff;border:0;border-radius:12px;font-size:17px;font-weight:600;letter-spacing:-.01em}
.login .go:hover{filter:brightness(1.08)}
.login .help{margin-top:18px;font-size:14px;color:#9aa6ff;text-align:center;line-height:1.5}
.login .err{width:100%;margin-top:14px;background:#2e1414;border:1px solid #5c2420;color:#ff8a80;border-radius:10px;padding:10px 12px;font-size:14px}
.login .foot{margin-top:64px;font-size:12px;color:#8e93ab;text-align:center;line-height:1.6;position:relative;z-index:1}
#resumen:empty{display:none}
.card>.bd.fgrid{display:grid}
.linkbtn{background:none;border:0;padding:0;color:var(--tint);font-weight:600;font-size:inherit;font-family:inherit;cursor:pointer}
.linkbtn:hover{text-decoration:underline}
.login .help{cursor:pointer;background:none;border:0;font-family:inherit}
.login .help-more{margin-top:8px;font-size:13px;color:#8e93ab;text-align:center}
/* fase 2 */
.pillopt{position:relative}
.pillopt input{position:absolute;opacity:0;pointer-events:none}
.pillopt span{display:inline-flex;align-items:center;height:36px;padding:0 14px;border:1px solid var(--line);border-radius:10px;font-weight:600;font-size:14px;cursor:pointer;color:var(--text)}
.pillopt input:checked+span{background:var(--primary);border-color:var(--primary);color:#fff}
.pillopt input:focus-visible+span{outline:2px solid var(--tint)}
.docwrap{background:#fff;color:#1c2233;border:1px solid #dcd9d1;border-radius:8px;max-height:760px;overflow:auto}
.docprev{padding:30px 36px;font-family:Calibri,Carlito,"Helvetica Neue",Arial,sans-serif;font-size:12.5px;line-height:1.45;text-align:justify}
.docprev p{margin:0 0 8px}
.docprev img{display:none}
.docprev table{width:100%;border-collapse:collapse;margin:8px 0}
.docprev td{border:0;padding:4px 6px;font-size:12px;color:#1c2233;vertical-align:top}
.docprev strong{color:#16236d}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));background:var(--surface);border:1px solid var(--line);border-radius:14px}
.kpis>div{padding:18px 20px;border-right:1px solid var(--line)}
.kpis>div:last-child{border-right:0}
.kpis .k{font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.kpis .v{font-size:27px;font-weight:600;margin-top:4px}
.kpis .s{font-size:12.5px;color:var(--muted)}
.cal td{padding:8px 4px;text-align:center}
.cal td:first-child,.cal td:nth-child(2){text-align:left;padding:8px 14px}
.cell{display:inline-block;width:28px;height:28px;border-radius:8px;background:var(--line);border:0;vertical-align:middle}
.cell.green{background:var(--green)}.cell.amber{background:var(--amber)}.cell.red{background:var(--red)}.cell.none{background:var(--line);opacity:.6}
a.cell:hover{outline:2px solid var(--tint);outline-offset:2px}
.legend{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--text2)}
.legend span{display:flex;align-items:center;gap:6px}
.legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.bars{display:flex;align-items:flex-end;gap:10px;height:190px;border-bottom:1px solid var(--line)}
.bars>div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}
.bars .bv{font-size:10px;color:var(--muted);white-space:nowrap}
.bars .b{width:100%;max-width:30px;background:var(--primary);border-radius:4px 4px 0 0;min-height:2px}
.bars .b.on{background:var(--red)}
.barlbl{display:flex;gap:10px;margin-top:6px}
.barlbl>div{flex:1;text-align:center;font-size:11px;color:var(--muted)}
.selmes{height:38px;border-radius:10px;padding:0 10px;font-size:13px;font-weight:600}
[hidden]{display:none !important}

/* ---------- expediente digital ---------- */
.pill.ok{border-color:var(--ok-line);background:var(--ok-bg);color:var(--ok-text)}
a.pill:hover{text-decoration:none;border-color:var(--tint)}
.xp-cat{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:12px}
.xp-cat:first-of-type{border-top:0;padding-top:0}
.xp-cab{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.xp-tit{display:flex;align-items:center;gap:10px;font-size:14px}
.xp-tit .muted{font-size:12.5px}
.xp-ok,.xp-falta,.xp-op{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex:none}
.xp-ok{background:var(--ok-bg);color:var(--ok-text);border:1px solid var(--ok-line)}
.xp-falta{background:var(--warn-bg);color:var(--warn-text);border:1px solid var(--warn-line)}
.xp-op{color:var(--muted);border:1px solid var(--line)}
.xp-sub{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.xp-sub .xp-nota{height:34px;padding:0 10px;width:210px;max-width:100%}
.xp-sub label.btn{cursor:pointer}
.xp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:12px}
.xp-item{position:relative;margin:0;display:flex;flex-direction:column;gap:6px;min-width:0}
.xp-item>a{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--surface2);border:1px solid var(--line)}
.xp-item>a:hover{border-color:var(--tint)}
.xp-item img{width:100%;height:100%;object-fit:cover;display:block}
.xp-pdf{font-weight:700;font-size:13px;color:var(--red);letter-spacing:.08em}
.xp-item figcaption{display:flex;flex-direction:column;font-size:12.5px;line-height:1.35;min-width:0}
.xp-item figcaption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text2)}
.xp-item figcaption small{font-size:11.5px}
.xp-borrar{position:absolute;top:6px;right:6px;margin:0}
.xp-borrar button{width:24px;height:24px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:15px;line-height:1;opacity:0;transition:opacity .15s}
.xp-item:hover .xp-borrar button,.xp-borrar button:focus{opacity:1}
@media (hover:none){.xp-borrar button{opacity:.85}}
.xp-estado{font-size:13px;border-radius:10px;padding:10px 14px;border:1px solid var(--line);background:var(--surface2)}
.xp-estado.err{border-color:var(--err-line);background:var(--err-bg);color:var(--err-text)}
.xp-estado.ok{border-color:var(--ok-line);background:var(--ok-bg);color:var(--ok-text)}
.xp-comp{display:flex;flex-direction:column;gap:16px}
.xp-par{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.xp-par>div{display:flex;flex-direction:column;gap:10px}
.xp-par .lado{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.xp-grande{margin:0;display:flex;flex-direction:column;gap:6px}
.xp-grande img{width:100%;border-radius:10px;display:block;border:1px solid var(--line)}
.xp-grande figcaption{font-size:13px;font-weight:600;color:var(--text2)}
/* visor de fotos */
.visor{position:fixed;inset:0;z-index:50;background:rgba(5,7,20,.92);display:flex;align-items:center;justify-content:center;padding:48px 64px}
.visor img{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.visor button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:50%;width:44px;height:44px;font-size:22px}
.visor .cerrar{top:14px;right:14px}.visor .ant{left:12px;top:50%;transform:translateY(-50%)}.visor .sig{right:12px;top:50%;transform:translateY(-50%)}
.visor .pie{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#ddd;font-size:13px}
.visor .pie a{color:#fff}
/* lectura con IA: campos por revisar */
.leer-caja{display:flex;gap:8px;align-items:center}
.fld.revisar input,.fld.revisar select{outline:2px solid var(--amber);outline-offset:-1px;background:var(--warn-bg)}
.fld.revisar .antes{font-size:11.5px;color:var(--warn-text);text-transform:none;letter-spacing:0;font-weight:500}
.fld.dudoso::after{content:"Leído con poca seguridad: compáralo con el documento";font-size:11.5px;color:var(--err-text);text-transform:none;letter-spacing:0;font-weight:500}
.lectura ul{margin:6px 0 0;padding-left:18px}
.lectura li{margin:2px 0}
.texto-leido{margin-top:8px}
.texto-leido summary{cursor:pointer;font-weight:600;color:var(--tint);font-size:12.5px}
.texto-leido pre{margin:6px 0 0;max-height:260px;overflow:auto;white-space:pre-wrap;font-size:12px;line-height:1.45;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--text2);user-select:text}

/* ---------- portal de inquilinos (claro por defecto, móvil primero) ---------- */
body.pt{min-height:100vh;display:flex;flex-direction:column}
.pt-ancho{width:100%;max-width:1040px;margin:0 auto;padding-left:16px;padding-right:16px}
.pt-top{background:#16236d;color:#fff;padding:12px 0;padding-top:max(12px,env(safe-area-inset-top))}
.pt-top .pt-ancho{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pt-marca{display:flex;align-items:center;gap:12px}
.pt-marca .tile{background:#fff;border-radius:10px;padding:5px 7px;display:flex}
.pt-marca img{height:28px;display:block}
.pt-marca b{display:block;font-size:16px;letter-spacing:-.01em}
.pt-marca small{display:block;font-size:12px;opacity:.75}
.pt-salir{background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:10px;height:36px;padding:0 14px;font-weight:600;font-size:14px}
.pt-main{flex:1;padding-top:22px;padding-bottom:32px;display:flex;flex-direction:column;gap:18px}
.pt-hola h1{margin:0;font-size:28px;letter-spacing:-.02em}
.pt-hola p{margin:4px 0 0;color:var(--muted);font-size:14px}
.pt-estado{border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:6px;border:1px solid var(--line)}
.pt-estado .k{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.pt-estado .v{font-size:34px;font-weight:700;letter-spacing:-.02em}
.pt-estado p{margin:4px 0 0;font-size:15px;line-height:1.5}
.pt-estado ul{list-style:none;margin:6px 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}
.pt-estado li{display:flex;justify-content:space-between;font-size:15px;border-top:1px solid var(--err-line);padding-top:6px}
.pt-estado.verde{background:var(--ok-bg);border-color:var(--ok-line)}.pt-estado.verde .k,.pt-estado.verde .v{color:var(--ok-text)}
.pt-estado.ambar{background:var(--warn-bg);border-color:var(--warn-line)}.pt-estado.ambar .k{color:var(--warn-text)}
.pt-estado.rojo{background:var(--err-bg);border-color:var(--err-line)}.pt-estado.rojo .k,.pt-estado.rojo .v{color:var(--err-text)}
.pt-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;align-items:start}
.pt-col{display:flex;flex-direction:column;gap:18px}
@media (max-width:820px){.pt-grid{grid-template-columns:minmax(0,1fr)}}
.pt-card .bd{gap:12px}
.pt-txt{margin:0;font-size:14px;line-height:1.55;color:var(--text2)}
.pt-lista{list-style:none;margin:0;padding:0}
.pt-lista li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:14px 20px;border-top:1px solid var(--line)}
.pt-lista li:first-child{border-top:0}
.pt-lista b{display:block;font-size:15px}
.pt-lista small{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.pt-monto{font-weight:700;font-size:15px;text-align:right}
.pt-acc{grid-column:1/-1;display:flex;gap:8px}
.pt-dato{display:flex;justify-content:space-between;gap:12px;font-size:14px;border-bottom:1px solid var(--line);padding-bottom:8px}
.pt-dato span{color:var(--muted)}
.pt-docs{list-style:none;margin:4px 0 0;padding:0;font-size:13px;color:var(--ok-text);display:flex;flex-direction:column;gap:4px}
.pt-docs small{color:var(--muted)}
.btn.pt-wa{background:#1f8f4e;border-color:#1f8f4e;color:#fff}
.pt-pie{padding-top:18px;padding-bottom:28px;font-size:12px;color:var(--muted);text-align:center;line-height:1.7;border-top:1px solid var(--line)}
.pt .card>.bd .btn{width:100%;justify-content:center}
.pt .pt-acc .btn{width:auto}
.login .help-more{margin-top:10px;font-size:13.5px;color:#d4d6e4;text-align:center;line-height:1.55;max-width:340px}
.pt-mas summary{cursor:pointer;padding:14px 20px;border-top:1px solid var(--line);font-weight:600;color:var(--tint);font-size:14px}
.pt-mas .pt-lista li:first-child{border-top:1px solid var(--line)}
/* portal: selector de tema y nueva entrada (distinta a la de la oficina) */
.pt-der{display:flex;align-items:center;gap:10px}
.pt-temas{display:inline-grid;grid-template-columns:repeat(3,auto);gap:2px;padding:3px;border-radius:10px;background:rgba(255,255,255,.12)}
.pt-temas button{border:0;background:transparent;color:inherit;opacity:.8;font-size:12.5px;font-weight:600;height:30px;padding:0 10px;border-radius:8px}
.pt-temas button[aria-pressed=true]{background:#fff;color:#16236d;opacity:1}
@media (max-width:480px){.pt-top .pt-temas button{padding:0 7px;font-size:12px}.pt-marca small{display:none}}
.ptl{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--bg)}
.ptl-hero{background:linear-gradient(155deg,#16236d 0%,#22348f 55%,#2b3fa3 100%);color:#fff;display:flex;align-items:center;justify-content:center;padding:48px 40px;position:relative;overflow:hidden}
.ptl-hero::after{content:"";position:absolute;right:-120px;bottom:-120px;width:360px;height:360px;border-radius:50%;border:40px solid rgba(255,255,255,.06)}
.ptl-hero::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,#16236d 70%,#b8352a 70%)}
.ptl-hero-in{max-width:420px;position:relative;z-index:1}
.ptl-logo{display:inline-flex;background:#fff;border-radius:14px;padding:8px 12px}
.ptl-logo img{height:40px;display:block}
.ptl-eyebrow{margin:28px 0 6px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.75;font-weight:600}
.ptl-hero h1{margin:0;font-size:40px;line-height:1.08;letter-spacing:-.025em}
.ptl-lead{margin:12px 0 0;font-size:16px;line-height:1.55;opacity:.85}
.ptl-beneficios{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.ptl-beneficios li{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:500}
.ptl-beneficios svg{width:34px;height:34px;padding:7px;border-radius:10px;background:rgba(255,255,255,.12);fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ptl-panel{display:flex;align-items:center;justify-content:center;padding:40px 24px}
.ptl-form{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px}
.ptl-form h2{margin:0;font-size:26px;letter-spacing:-.02em}
.ptl-sub{margin:-6px 0 6px;color:var(--muted);font-size:14.5px}
.ptl-form .fld input{height:46px;font-size:16px;padding:0 14px}
.ptl-go{height:48px;font-size:16px;justify-content:center;margin-top:4px}
.ptl-ayuda summary{cursor:pointer;color:var(--tint);font-weight:600;font-size:14px;text-align:center;list-style:none}
.ptl-ayuda summary::-webkit-details-marker{display:none}
.ptl-ayuda p{margin:10px 0 0;font-size:13.5px;line-height:1.55;color:var(--text2);background:var(--surface2);border-radius:10px;padding:12px}
.ptl-pie{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:10px}
.ptl-pie small{color:var(--muted);font-size:12px}
.ptl-pie .pt-temas{background:var(--surface2)}
.ptl-pie .pt-temas button{color:var(--muted)}
.ptl-pie .pt-temas button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.15)}
@media (max-width:820px){
  .ptl{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}
  .ptl-hero{padding:34px 20px 30px;justify-content:flex-start}
  .ptl-hero h1{font-size:30px}.ptl-eyebrow{margin-top:18px}
  .ptl-beneficios{display:none}
  .ptl-panel{align-items:flex-start;padding:26px 16px 32px}
}
/* cambio de pantalla suave (Chrome/Edge): sin parpadeo en blanco entre secciones */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.12s}
