/* EbroGest · estilos de la aplicación */:root{
  --bg:#f3f5f9; --panel:#ffffff; --panel2:#f8fafc; --line:#e3e8ef; --text:#142033; --muted:#64748b;
  --side:#0e1a2b; --side2:#16263d; --sidetext:#c7d2e1; --accent:#1f6feb; --accent2:#1757c2; --accentsoft:#e8efff;
  --ok:#0f9d6b; --oksoft:#e3f6ee; --bad:#d64545; --badsoft:#fdeaea; --warn:#d98a00; --warnsoft:#fff4dc;
  --gold:#f5b301; --teal:#12a594; --violet:#7c5cff; --shadow:0 1px 2px rgba(16,24,40,.06),0 4px 14px rgba(16,24,40,.06);
  --radius:14px; --paper:#fffdf7; --ink:#1d2433;
}
[data-theme="dark"]{
  --bg:#0b1220; --panel:#121b2c; --panel2:#0f1727; --line:#223049; --text:#e6ecf5; --muted:#8fa1bb;
  --side:#070d18; --side2:#101b2e; --accentsoft:#1a2a4d; --oksoft:#0f2e25; --badsoft:#3a1616; --warnsoft:#3a2a08;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.25);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.45}
button{font:inherit;cursor:pointer}
input,select,textarea{font:inherit;color:var(--text)}
.hidden{display:none!important}
a{color:var(--accent)}

/* ---------- LOGIN ---------- */
#login{position:fixed;inset:0;display:grid;grid-template-columns:1.1fr 1fr;background:var(--side)}
#login .hero{padding:56px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(1200px 600px at -10% -10%,#8c1d4066,transparent),radial-gradient(900px 500px at 110% 110%,#d4a01744,transparent),var(--side)}
#login .hero h1{font-size:44px;margin:0 0 12px;letter-spacing:-1px}
#login .hero p{color:#b8c6da;font-size:17px;max-width:520px}
.feat{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.feat span{background:#ffffff12;border:1px solid #ffffff22;padding:8px 14px;border-radius:999px;font-size:13px;color:#dbe6f5}
#login .box{background:var(--panel);display:flex;align-items:center;justify-content:center;padding:40px}
#login .card{width:100%;max-width:400px}
#login h2{margin:0 0 6px;font-size:26px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px}
.logo .mk{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#8c1d40,#d4a017);display:grid;place-items:center;color:#fff;font-weight:800;font-size:18px;box-shadow:0 4px 14px #2f6fed55}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field label{font-size:12.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}
.inp{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:10px 12px;outline:none;width:100%;transition:border .15s,box-shadow .15s}
.inp:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f6fed22}
textarea.inp{min-height:70px;resize:vertical}
.btn{border:1px solid var(--line);background:var(--panel);color:var(--text);padding:9px 16px;border-radius:10px;font-weight:600;display:inline-flex;align-items:center;gap:8px;transition:.15s}
.btn:hover{background:var(--panel2)}
.btn.pri{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.pri:hover{background:var(--accent2)}
.btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}
.btn.danger{color:var(--bad)}
.btn.big{padding:12px 20px;font-size:15px;width:100%;justify-content:center}
.btn.sm{padding:5px 10px;font-size:12.5px;border-radius:8px}
.btn:disabled{opacity:.5;cursor:not-allowed}
.link{background:none;border:none;color:var(--accent);padding:0;font-weight:600}
.sep{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:18px 0}
.sep:before,.sep:after{content:"";flex:1;height:1px;background:var(--line)}

/* ---------- LAYOUT ---------- */
#app{display:grid;grid-template-columns:248px 1fr;height:100vh}
aside{background:var(--side);color:var(--sidetext);display:flex;flex-direction:column;overflow:auto}
aside .logo{color:#fff;padding:18px 18px 14px}
aside .logo small{display:block;font-size:11px;color:#7f93b0;font-weight:500}
.nav{padding:6px 10px;flex:1}
.nav h6{margin:16px 10px 6px;font-size:10.5px;color:#5d7292;text-transform:uppercase;letter-spacing:1px}
.nav button{width:100%;display:flex;align-items:center;gap:11px;background:none;border:none;color:var(--sidetext);padding:9px 12px;border-radius:9px;text-align:left;font-size:13.5px}
.nav button:hover{background:var(--side2);color:#fff}
.nav button.on{background:linear-gradient(90deg,#2f6fed33,#2f6fed11);color:#fff;box-shadow:inset 3px 0 0 var(--accent)}
.nav .ic{width:18px;text-align:center;opacity:.9}
.nav .cnt{margin-left:auto;background:#2f6fed;color:#fff;border-radius:999px;font-size:11px;padding:1px 8px;font-weight:700}
.side-foot{padding:14px;border-top:1px solid #ffffff10;font-size:12px;color:#6f84a3}
main{display:flex;flex-direction:column;overflow:hidden}
header.top{height:64px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 22px;flex-shrink:0}
.search{flex:1;max-width:420px;display:flex;align-items:center;gap:8px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:8px 12px;color:var(--muted);cursor:pointer}
.search kbd{margin-left:auto;font-size:11px;border:1px solid var(--line);border-radius:5px;padding:1px 6px;background:var(--panel)}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);font-size:12.5px;font-weight:600;white-space:nowrap}
.xpbox{display:flex;align-items:center;gap:10px;min-width:230px}
.lvl{width:38px;height:38px;border-radius:50%;background:conic-gradient(var(--gold) var(--p,0%),var(--line) 0);display:grid;place-items:center;flex-shrink:0}
.lvl b{width:30px;height:30px;border-radius:50%;background:var(--panel);display:grid;place-items:center;font-size:13px}
.xpbox .t{font-size:12px;line-height:1.25}
.xpbox .t b{display:block;font-size:13px}
.xpbar{height:6px;background:var(--line);border-radius:9px;overflow:hidden;margin-top:4px;width:150px}
.xpbar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#ff8a00);border-radius:9px;transition:width .6s}
.streak{font-weight:800;color:#ff6a00}
.iconbtn{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--panel);display:grid;place-items:center;position:relative;color:var(--text)}
.iconbtn .dot{position:absolute;top:6px;right:7px;width:8px;height:8px;border-radius:50%;background:var(--bad);border:2px solid var(--panel)}
.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#7c5cff,#2f6fed);color:#fff;display:grid;place-items:center;font-weight:700}
#view{flex:1;overflow:auto;padding:26px 28px 60px}
.ph{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.ph h1{margin:0;font-size:24px;letter-spacing:-.4px}
.ph p{margin:4px 0 0;color:var(--muted)}
.crumb{font-size:12px;color:var(--muted);margin-bottom:4px}

/* ---------- CARDS ---------- */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.pad{padding:18px 20px}
.grid{display:grid;gap:16px}
.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
.kpi{padding:16px 18px;display:flex;gap:14px;align-items:center}
.kpi .ki{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:20px}
.kpi .v{font-size:22px;font-weight:700;letter-spacing:-.4px}
.kpi .l{color:var(--muted);font-size:12.5px}
.card h3{margin:0 0 12px;font-size:15px}
.card .hd{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}
.card .hd h3{margin:0}
.muted{color:var(--muted)}
.tag{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap}
.t-blue{background:var(--accentsoft);color:var(--accent)}.t-ok{background:var(--oksoft);color:var(--ok)}.t-bad{background:var(--badsoft);color:var(--bad)}.t-warn{background:var(--warnsoft);color:var(--warn)}.t-gray{background:var(--panel2);color:var(--muted);border:1px solid var(--line)}.t-vio{background:#efe9ff;color:#6a47ff}
[data-theme="dark"] .t-vio{background:#2a2150}

/* ---------- TABLES ---------- */
.toolbar{display:flex;gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.toolbar .inp{width:auto;min-width:160px;padding:8px 11px}
.tbl-wrap{overflow:auto;max-height:calc(100vh - 260px)}
table.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{position:sticky;top:0;background:var(--panel2);text-align:left;font-weight:600;color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap;cursor:pointer;user-select:none}
.tbl td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:hover td{background:var(--panel2)}
.tbl .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tbl tfoot td{font-weight:700;background:var(--panel2)}
.mine{box-shadow:inset 3px 0 0 var(--violet)}
.empty{padding:40px;text-align:center;color:var(--muted)}

/* ---------- TASKS ---------- */
.jtabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.jtab{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:10px 14px;text-align:left;min-width:150px}
.jtab.on{border-color:var(--accent);box-shadow:0 0 0 3px #2f6fed22}
.jtab small{display:block;color:var(--muted);font-size:11.5px}
.jtab.lock{opacity:.55}
.tasklist{display:flex;flex-direction:column}
.trow{display:flex;align-items:center;gap:14px;padding:13px 18px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .12s}
.trow:hover{background:var(--panel2)}
.trow .ti{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-size:18px;flex-shrink:0;background:var(--accentsoft)}
.trow .tt{flex:1;min-width:0}
.trow .tt b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trow .tt span{color:var(--muted);font-size:12.5px}
.trow.done{opacity:.72}
.trow.done .tt b{text-decoration:none}
.xp{font-weight:800;color:#c98a00;font-size:12.5px;white-space:nowrap}
.score{font-weight:700;font-size:12.5px;min-width:54px;text-align:right}
.prog{height:8px;background:var(--line);border-radius:9px;overflow:hidden}
.prog i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--teal));border-radius:9px;transition:width .6s}
.stars{color:var(--gold);letter-spacing:2px;font-size:16px}
.stars .off{color:var(--line)}

/* ---------- WORKSPACE (task modal) ---------- */
.overlay{position:fixed;inset:0;background:rgba(8,14,26,.55);backdrop-filter:blur(3px);z-index:50;display:flex;align-items:center;justify-content:center;animation:fade .15s}
@keyframes fade{from{opacity:0}to{opacity:1}}
.ws{width:min(1380px,96vw);height:min(900px,94vh);background:var(--panel);border-radius:18px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.35);animation:pop .18s}
@keyframes pop{from{transform:scale(.97);opacity:0}to{transform:none;opacity:1}}
.ws .wh{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line)}
.ws .wh h2{margin:0;font-size:17px;flex:1}
.ws .wb{flex:1;display:grid;grid-template-columns:.95fr 1.15fr;overflow:hidden}
.ws .wb.wide{grid-template-columns:.6fr 1.5fr}
.ws .desk{background:repeating-linear-gradient(45deg,#e9e3d6,#e9e3d6 12px,#e5dfd1 12px,#e5dfd1 24px);overflow:auto;padding:28px;display:flex;flex-direction:column;align-items:center;gap:16px}
[data-theme="dark"] .ws .desk{background:repeating-linear-gradient(45deg,#1a1f2a,#1a1f2a 12px,#171c26 12px,#171c26 24px)}
.ws .form{overflow:auto;padding:22px 26px;border-left:1px solid var(--line)}
.ws .wf{display:flex;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid var(--line);background:var(--panel2)}
.frm{display:grid;grid-template-columns:repeat(6,1fr);gap:12px 14px}
.frm .field{margin:0;grid-column:span 6}
.frm .w2{grid-column:span 2}.frm .w3{grid-column:span 3}.frm .w4{grid-column:span 4}
.frm .sec{grid-column:span 6;font-weight:700;font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--line);padding-bottom:6px;margin-top:6px}
.radios{display:flex;gap:8px;flex-wrap:wrap}
.radios label{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;cursor:pointer;font-size:13.5px;text-transform:none;letter-spacing:0;color:var(--text);font-weight:500;background:var(--panel)}
.radios label:has(input:checked){border-color:var(--accent);background:var(--accentsoft)}
.checks{display:flex;flex-direction:column;gap:6px;max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:8px}
.checks label{display:flex;gap:9px;align-items:flex-start;padding:6px 8px;border-radius:8px;cursor:pointer;font-size:13px;text-transform:none;letter-spacing:0;color:var(--text);font-weight:500}
.checks label:hover{background:var(--panel2)}
.checks label:has(input:checked){background:var(--accentsoft)}
.qopts{display:flex;flex-direction:column;gap:10px}
.qopts label{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:13px 15px;cursor:pointer;font-size:14px;text-transform:none;letter-spacing:0;color:var(--text);font-weight:500}
.qopts label:has(input:checked){border-color:var(--accent);background:var(--accentsoft)}
.lines{grid-column:span 6}
.lines table{width:100%;border-collapse:collapse}
.lines td{padding:4px}
.totals{display:flex;justify-content:flex-end;gap:22px;padding:10px 4px;font-variant-numeric:tabular-nums}
.totals b{font-size:16px}
.hint{background:var(--accentsoft);border-radius:10px;padding:10px 13px;font-size:13px;color:var(--text);margin-bottom:14px;display:flex;gap:10px}
.question{font-size:16px;font-weight:600;margin:0 0 14px}

/* ---------- PAPER DOCUMENTS ---------- */
.paper{background:var(--paper);color:var(--ink);width:100%;max-width:620px;padding:36px 40px;box-shadow:0 2px 3px rgba(0,0,0,.08),0 12px 30px rgba(0,0,0,.18);position:relative;font-family:Arial,Helvetica,sans-serif;font-size:12.5px;line-height:1.5}
.paper h4{margin:0}
.paper .lh{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:2px solid var(--c,#333);padding-bottom:12px;margin-bottom:16px}
.paper .brand{font-size:19px;font-weight:800;color:var(--c,#333);letter-spacing:-.3px}
.paper .brand small{display:block;font-size:10.5px;color:#666;font-weight:400;letter-spacing:0}
.paper .box{border:1px solid #cfcfcf;padding:8px 10px;border-radius:3px}
.paper table{width:100%;border-collapse:collapse;margin:12px 0}
.paper th{background:var(--c,#333);color:#fff;font-weight:600;text-align:left;padding:5px 7px;font-size:11.5px}
.paper td{padding:5px 7px;border-bottom:1px solid #e2e2e2}
.paper .r{text-align:right}
.paper .tot td{border:none;padding:3px 7px}
.paper .tot .big td{font-size:15px;font-weight:800;border-top:2px solid #333}
.paper .foot{font-size:10px;color:#777;margin-top:18px;border-top:1px solid #ddd;padding-top:8px}
.stamp{position:absolute;border:3px solid #c62828;color:#c62828;font-weight:800;padding:6px 12px;border-radius:6px;transform:rotate(-12deg);opacity:.75;font-size:13px;text-align:center;line-height:1.2;font-family:"Courier New",monospace;background:transparent}
.stamp.blue{border-color:#1e4fb8;color:#1e4fb8}
.hand{font-family:"Segoe Print","Bradley Hand","Comic Sans MS","Segoe Script",cursive;color:#1b3a8a;font-size:14px}
.ficha .row{display:flex;gap:10px;border-bottom:1px dotted #aaa;padding:7px 0;align-items:baseline}
.ficha .row span:first-child{font-size:10.5px;text-transform:uppercase;color:#555;width:150px;flex-shrink:0}
.postit{background:#fff59a;color:#333;width:360px;padding:22px 24px;box-shadow:0 10px 24px rgba(0,0,0,.2);transform:rotate(-1.2deg);font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;font-size:15px;line-height:1.55}
.postit.blue{background:#bfe6ff}.postit.pink{background:#ffd0e0}.postit.green{background:#c9f5c4}
.mail{background:#fff;color:#1d2433;width:100%;max-width:640px;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.18);overflow:hidden;font-size:13.5px}
.mail .mh{padding:16px 20px;border-bottom:1px solid #e7e7e7;background:#f7f9fc}
.mail .mh > b{font-size:16px;display:block;margin-bottom:6px}
.mail .mh div{color:#555;font-size:12.5px}
.mail .mb{padding:18px 20px;line-height:1.6}
.mail .att{display:inline-flex;gap:6px;align-items:center;border:1px solid #ddd;border-radius:8px;padding:6px 10px;margin:4px 6px 0 0;font-size:12px;background:#fafafa}
.phone{background:#101826;color:#e6ecf5;border-radius:18px;padding:22px;width:100%;max-width:560px;box-shadow:0 12px 30px rgba(0,0,0,.25)}
.phone .bub{background:#1d2a40;border-radius:14px;padding:12px 14px;margin:8px 0;line-height:1.5}
.phone .who{font-size:12px;color:#8fa1bb}

/* ---------- RESULT ---------- */
.res{width:min(640px,94vw);max-height:90vh;overflow:auto;background:var(--panel);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.35);animation:pop .2s}
.res .top{padding:26px 26px 18px;text-align:center}
.res .big{font-size:46px;font-weight:800;letter-spacing:-1px}
.res .gain{display:inline-block;background:linear-gradient(90deg,#ffd24a,#ff9f1a);color:#4a2c00;font-weight:800;padding:6px 16px;border-radius:999px;margin-top:6px;font-size:15px}
.res .items{padding:0 22px 8px}
.ri{display:flex;gap:12px;padding:9px 6px;border-bottom:1px solid var(--line);font-size:13px;align-items:flex-start}
.ri .ic{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;flex-shrink:0;color:#fff;font-weight:700}
.ri .l{font-weight:600;width:170px;flex-shrink:0}
.ri .v{flex:1}
.ri .v s{color:var(--bad)}
.exp{margin:12px 22px;padding:12px 14px;background:var(--panel2);border-radius:10px;font-size:13px;border-left:3px solid var(--accent)}
.res .ft{padding:16px 22px;display:flex;justify-content:flex-end;gap:10px}

/* ---------- BADGES ---------- */
.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.badge{border:1px solid var(--line);border-radius:14px;padding:14px;text-align:center;background:var(--panel)}
.badge .bi{font-size:30px;width:58px;height:58px;margin:0 auto 8px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ffe07a,#ffb020);box-shadow:0 4px 14px #ffb02055}
.badge.off{opacity:.45;filter:grayscale(1)}
.badge b{display:block;font-size:13px}
.badge span{font-size:11.5px;color:var(--muted)}

/* ---------- TOAST ---------- */
#toasts{position:fixed;right:22px;bottom:22px;display:flex;flex-direction:column;gap:10px;z-index:90}
.toast{background:var(--side);color:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.3);display:flex;gap:12px;align-items:center;min-width:260px;max-width:380px;animation:slide .25s}
.toast small{display:block;color:#9fb0c8}
@keyframes slide{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
#confetti{position:fixed;inset:0;pointer-events:none;z-index:100}

/* ---------- MISC ---------- */
.drawer{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:94vw;background:var(--panel);box-shadow:-20px 0 50px rgba(0,0,0,.2);z-index:60;animation:slide .2s;display:flex;flex-direction:column}
.drawer .dh{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}
.drawer .db{padding:18px 20px;overflow:auto}
.kv{display:grid;grid-template-columns:140px 1fr;gap:8px 12px;font-size:13px}
.kv span:nth-child(odd){color:var(--muted)}
.palette{width:min(620px,94vw);background:var(--panel);border-radius:14px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.35);align-self:flex-start;margin-top:12vh}
.palette input{border:none;border-bottom:1px solid var(--line);border-radius:0;padding:16px 18px;font-size:16px}
.palette .it{padding:10px 18px;display:flex;gap:10px;cursor:pointer;border-bottom:1px solid var(--line)}
.palette .it:hover{background:var(--panel2)}
.norms h3{margin-top:0}
.norms table{width:100%;border-collapse:collapse;font-size:13px}
.norms td,.norms th{padding:7px 10px;border-bottom:1px solid var(--line);text-align:left}
.norms th{color:var(--muted);font-size:11.5px;text-transform:uppercase}
.pill-lock{font-size:12px}
.bars{display:flex;align-items:flex-end;gap:18px;height:190px;padding:10px 6px 0}
.bars .b{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.bars .b i{display:block;width:100%;max-width:56px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#5b8cff,#2f6fed)}
.bars .b span{font-size:11.5px;color:var(--muted)}
.bars .b em{font-style:normal;font-size:11.5px;font-weight:700}
.hbar{display:flex;align-items:center;gap:10px;margin:8px 0;font-size:12.5px}
.hbar .n{width:150px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hbar .t{flex:1;height:10px;background:var(--line);border-radius:9px;overflow:hidden}
.hbar .t i{display:block;height:100%;background:var(--teal);border-radius:9px}
.hbar .v{width:80px;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.ring{--p:0;width:92px;height:92px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--p)*1%),var(--line) 0);display:grid;place-items:center;flex-shrink:0}
.ring b{width:74px;height:74px;border-radius:50%;background:var(--panel);display:grid;place-items:center;font-size:19px}
.welcome{background:linear-gradient(120deg,#1a3a8f,#2f6fed 55%,#12a594);color:#fff;border:none}
.welcome .muted{color:#d4e1ff}
@media (max-width:1100px){.g4{grid-template-columns:repeat(2,1fr)}.ws .wb{grid-template-columns:1fr}.ws .desk{max-height:45vh}#login{grid-template-columns:1fr}#login .hero{display:none}}
@media print{aside,header.top,#toasts{display:none!important}#app{display:block}#view{overflow:visible}}
.cert{background:#fffdf5;color:#222;border:10px double #c9a227;padding:50px;text-align:center;max-width:820px;margin:0 auto;font-family:Georgia,serif}
.cert h1{font-size:34px;margin:10px 0;color:#1a3a8f}
.search{min-width:180px}
.search span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xpbox .t b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}
header.top .chip{flex-shrink:0}
@media (max-width:1400px){ header.top .chip[title="Fecha simulada"]{font-size:11.5px;padding:5px 9px} .search kbd{display:none} }
.search kbd{white-space:nowrap}
/* ===== v2 ===== */
.scan{filter:grayscale(1) contrast(1.05);background:#f4f4f2}
.folder{background:linear-gradient(180deg,#f7d98b,#eec566);color:#4a3a10;border-radius:4px 10px 6px 6px;padding:14px 16px 14px 54px;margin:8px 0;position:relative;font-weight:700;font-size:15px;box-shadow:0 4px 10px rgba(0,0,0,.15)}
.folder .tab{position:absolute;left:12px;top:10px;width:30px;height:24px;border-radius:5px;background:#4a3a10;color:#f7d98b;display:grid;place-items:center;font-size:13px}
.desk-madera .ws .desk,.ws.desk-madera .desk{background:repeating-linear-gradient(90deg,#b07b4f,#b07b4f 40px,#a8714a 40px,#a8714a 80px)}
.ws.desk-corcho .desk{background:radial-gradient(#c79b62 1px,transparent 1.5px) 0 0/6px 6px,#b8864f}
.ws.desk-marmol .desk{background:linear-gradient(135deg,#f3f3f3,#e2e2e6 40%,#f7f7f7 60%,#dedee4)}
.ws.desk-pizarra .desk{background:#2f3b36}
.ws.desk-clasica .desk{}
.ws.desk-cuaderno .desk{background:repeating-linear-gradient(0deg,#fbfbf6,#fbfbf6 26px,#cfe0f5 27px),#fbfbf6}
.coins{font-weight:800;color:#b7791f}
.shop{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.item{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--panel);display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.item .big{font-size:34px;line-height:1}
.item.owned{border-color:var(--ok)}
.item.eq{box-shadow:0 0 0 3px var(--accent)}
.swatch{width:46px;height:46px;border-radius:12px}
.evento{position:fixed;left:50%;top:76px;transform:translateX(-50%);z-index:95;width:min(560px,94vw);background:var(--panel);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.35);border:2px solid var(--gold);animation:drop .3s}
@keyframes drop{from{transform:translate(-50%,-30px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
.evento .eh{display:flex;gap:10px;align-items:center;padding:12px 16px;background:linear-gradient(90deg,#ffd24a,#ff9f1a);color:#4a2c00;border-radius:14px 14px 0 0;font-weight:800}
.evento .eb{padding:14px 16px}
.evento .timer{height:5px;background:var(--line)}
.evento .timer i{display:block;height:100%;background:var(--bad);transition:width 1s linear}
.evento button.opt{display:block;width:100%;text-align:left;margin:6px 0;border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:10px 12px;color:var(--text)}
.evento button.opt:hover{border-color:var(--accent);background:var(--accentsoft)}
.eval .cat{display:flex;align-items:center;gap:12px;margin:10px 0}
.eval .cat b{width:130px}
.eval .cat .prog{flex:1}
.decor{font-size:18px;letter-spacing:2px}
.deskdecor{position:sticky;bottom:0;align-self:flex-end;font-size:30px;opacity:.9;margin-top:auto}
.agenda{border-collapse:collapse;width:100%;font-size:12.5px}
.agenda th,.agenda td{border:1px solid var(--line);padding:6px;text-align:center}
.agenda th{background:var(--panel2);color:var(--muted);font-size:11.5px}
.agenda td.busy{background:var(--badsoft);color:var(--bad);font-size:11px}
.agenda td.free{background:var(--oksoft)}
.agenda td.mine{background:var(--accentsoft);color:var(--accent);font-weight:700}
.meca-src{font-family:Consolas,"Courier New",monospace;white-space:pre-wrap;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:12px;font-size:15px;line-height:1.6;user-select:none}
.meca-in{font-family:Consolas,"Courier New",monospace;font-size:15px;min-height:130px}
.filepath{font-family:Consolas,monospace;background:var(--side);color:#9fe6b8;padding:10px 12px;border-radius:10px;font-size:13.5px;word-break:break-all}
.rival{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.rival:last-child{border:none}
.rival .n{flex:1}
.rival.me{font-weight:700;color:var(--accent)}

/* ================= TORMESGEST ================= */
.grupo{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.grupo .emp{flex:1;min-width:150px;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--panel);font-size:13px;opacity:.6}
.grupo .emp span{font-size:20px}
.grupo .emp.on{opacity:1;border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 25%,transparent);background:color-mix(in srgb,var(--c) 8%,var(--panel))}
.jtab.wk{border-top:3px solid var(--c)}
.jtabs.wks{display:grid;grid-template-columns:repeat(9,1fr);gap:6px}
.jtabs.wks .jtab{min-width:0;padding:7px 8px;text-align:center}
.jtabs.wks .jtab b{font-size:13px;white-space:nowrap}
.bossbar{margin-bottom:14px;border:2px solid var(--bad)}
.sus{height:10px;background:var(--line);border-radius:9px;overflow:hidden;margin:6px 0}
.sus i{display:block;height:100%;background:linear-gradient(90deg,#f5b301,#d64545);border-radius:9px;transition:width .6s}
.album{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.cromo{border:3px solid var(--tc);border-radius:16px;padding:16px 10px;text-align:center;background:var(--panel);cursor:pointer;position:relative;transition:transform .15s}
.cromo:hover{transform:translateY(-3px) rotate(-1deg)}
.cromo.t0{opacity:.55;filter:grayscale(1);border-style:dashed}
.cromo.t3{background:linear-gradient(160deg,#fff8dc,#ffe9a8);color:#4a3a10}
.cromo.t2{background:linear-gradient(160deg,#f7f9fb,#dfe5ea);color:#29313a}
.cromo.t1{background:linear-gradient(160deg,#fff4ea,#f2d2b6);color:#4a2c10}
.cromo .cr-i{font-size:40px;line-height:1.2}
.cromo b{display:block;font-size:13px;margin-top:6px}
.cromo span{font-size:11.5px;font-weight:700;color:var(--tc)}
.cromo .cr-p{position:absolute;top:6px;right:9px;font-size:10.5px;opacity:.7}
.evgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.evc{border:1px solid var(--line);border-radius:10px;padding:8px 4px;text-align:center;display:flex;flex-direction:column;gap:2px;align-items:center;font-size:12px}
.jgrid{display:grid;grid-template-columns:repeat(15,1fr);gap:6px}
.jc{text-align:center;padding:6px 2px;border:1px solid var(--line);border-radius:9px}
.jc b{font-size:11px}
.phone .bub.me{background:#2a3d5f}
.chat{display:flex;flex-direction:column;gap:10px}
.chat .bub{background:var(--panel2);border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:12px 14px;max-width:90%;font-size:14.5px}
.chat .bub .who{font-size:11.5px;color:var(--muted);margin-bottom:3px}
.chopts{display:flex;flex-direction:column;gap:6px;align-self:flex-end;width:92%}
.chopts label{border:1px solid var(--line);border-radius:12px 12px 4px 12px;padding:10px 12px;cursor:pointer;font-size:13.5px;background:var(--panel)}
.chopts label.on,.chopts label:has(input:checked){border-color:var(--accent);background:var(--accentsoft)}
.chopts input{margin-right:6px}
.hint.subtle{background:var(--panel2);font-size:12.5px}
.paperwrap{display:flex;justify-content:center;padding:4px 0 20px}
.deskpaper{width:100%;max-width:640px;transform:rotate(-.4deg)}
.deskpaper .pp{box-shadow:0 2px 3px rgba(0,0,0,.08),0 12px 30px rgba(0,0,0,.18)}

/* ---- documentos en papel ---- */
.pp{background:var(--paper);color:var(--ink);width:100%;max-width:680px;padding:26px 28px;box-shadow:0 1px 2px rgba(0,0,0,.08),0 6px 20px rgba(0,0,0,.12);font-family:Arial,Helvetica,sans-serif;font-size:12.5px;line-height:1.55;border-radius:3px;position:relative}
.pp .lh{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:3px solid var(--c,#333);padding-bottom:10px;margin-bottom:14px}
.pp .brand{font-size:17px;font-weight:800;color:var(--c,#333);letter-spacing:-.3px}
.pp .brand small{display:block;font-size:10px;color:#666;font-weight:400;letter-spacing:0;margin-top:2px}
.pp .grp{font-size:9px;letter-spacing:2px;color:#999;text-align:right;line-height:1.2}
.pp .grp b{font-size:14px;color:var(--c,#333);letter-spacing:1px}
.pp .row2{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;margin-bottom:10px;align-items:start}
.pp .box{border:1px solid #cfcfcf;padding:8px 10px;border-radius:3px;line-height:1.9}
.pp .lbl{font-size:10px;color:#777;text-transform:uppercase;letter-spacing:.4px}
.pp .tit{font-size:17px;font-weight:800;color:var(--c,#1d2433);letter-spacing:.3px;margin-bottom:6px}
.pp .doc-id .tit{font-size:15px}
.pp table.lt{width:100%;border-collapse:collapse;margin:10px 0}
.pp table.lt th{background:var(--c,#3a4a5e);color:#fff;font-weight:600;text-align:left;padding:5px 7px;font-size:11px}
.pp table.lt td{padding:4px 7px;border-bottom:1px solid #e2e2e2;vertical-align:middle}
.pp table.lt tr.sum td{font-weight:800;background:#f3f1ea}
.pp table.lt.small td{font-size:12px}
.pp .r{text-align:right}
.pp table.lt.tot th{background:#6b7280}
.pp .totalbox{text-align:right;font-size:15px;font-weight:800;margin:8px 0;padding:8px 10px;border:2px solid var(--c,#333);border-radius:4px}
.pp .foot2{margin-top:6px}
.pp .foot{font-size:10px;color:#777;margin-top:14px;border-top:1px solid #ddd;padding-top:7px}
.pp .muted2{color:#666;font-size:11.5px;margin-bottom:6px}
.pp p{margin:8px 0}
.pp .fi{font:13px "Courier New",Consolas,monospace;font-weight:700;color:#0d3a8f;background:#eef4ff;border:none;border-bottom:1.5px dashed #6d8fd6;border-radius:3px 3px 0 0;padding:3px 5px;outline:none;max-width:100%;min-width:40px;width:120px}
.pp .fi:focus{background:#fff9d6;border-bottom-color:#d98a00}
.pp select.fi{font-family:Arial,sans-serif;font-weight:600;font-size:12px;padding:3px 2px}
.pp input.fi[type=date]{font-family:Arial,sans-serif;font-size:12px}
.pp .fi.fl{width:100%}
.pp .fv{font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;color:#1b3a8a;font-size:13px;border-bottom:1px dotted #9aa8c8;padding:0 3px;display:inline-block;min-width:30px}
.pp .prn{font-weight:700;color:#111;display:inline-block}
.pp .det{font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;color:#1b3a8a;font-size:13px;border-bottom:1px dotted #9aa8c8;padding:0 4px;display:inline-block;cursor:pointer;border-radius:4px;transition:.12s;min-width:30px}
.pp .det:hover{background:#fff3c4}
.pp .det.on{background:#ffd6d6;color:#b71c1c;outline:2px solid #d64545;text-decoration:line-through}
.pp .fopt{display:flex;flex-direction:column;gap:5px;margin-top:4px}
.pp .fopt label{display:flex;gap:8px;align-items:flex-start;border:1px solid #d8dde6;border-radius:6px;padding:6px 8px;cursor:pointer;background:#fff;font-size:12.5px}
.pp .fopt label:has(input:checked){border-color:#1f6feb;background:#eef4ff}
.pp .fmulti{display:flex;flex-direction:column;gap:3px;max-height:300px;overflow:auto;border:1px solid #d8dde6;border-radius:6px;padding:6px;background:#fff}
.pp .fmulti label{display:flex;gap:8px;align-items:flex-start;font-size:12px;padding:3px 4px;border-radius:4px;cursor:pointer}
.pp .fmulti label:has(input:checked){background:#eef4ff}
.pp .fck{width:18px;height:18px;vertical-align:middle;accent-color:#1f6feb}
.pp .hand,.pp.cheque .hand{font-family:"Segoe Print","Bradley Hand","Comic Sans MS","Segoe Script",cursive;color:#1b3a8a;font-size:15px}
/* cheque y pagaré */
.pp.cheque{background:linear-gradient(135deg,#eaf3ec 0%,#f7fbf3 50%,#e6f0f6 100%);border:1px solid #9bb7a5;border-radius:8px;padding:18px 22px 14px;min-height:250px;font-size:12.5px;overflow:hidden}
.pp.cheque:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 14px,rgba(15,123,108,.04) 14px 15px);pointer-events:none}
.pp.pagare{background:linear-gradient(135deg,#f3eefb 0%,#fbf9ff 50%,#eef1fa 100%);border-color:#b3a5d6}
.chq-head{display:flex;gap:14px;align-items:baseline;border-bottom:1px solid #9bb7a5;padding-bottom:6px;margin-bottom:12px;position:relative}
.chq-head b{font-size:15px;color:#0f5a4f}
.pagare .chq-head b{color:#4b3a8a}
.chq-head span{font-size:11px;color:#555}
.chq-num{margin-left:auto;font-weight:700;color:#333!important}
.chq-impw{text-align:right;margin:-4px 0 4px}
.chq-imp{display:inline-block;font-size:15px;font-weight:800;background:#fff;border:1.5px solid #6b8f7a;border-radius:4px;padding:4px 8px}
.chq-l{margin:12px 0;border-bottom:1px solid #b9cbbf;padding-bottom:3px;position:relative}
.chq-sig{float:right;text-align:center;margin-top:6px;font-size:11px;color:#555}
.chq-cr{font-size:11px;color:#555;margin-top:18px}
.cruzado{position:absolute;left:44%;top:0;bottom:0;width:26px;border-left:2px solid #333;border-right:2px solid #333;transform:skewX(-18deg);opacity:.5}
.chq-iban{clear:both;font:10.5px "Courier New",monospace;color:#666;margin-top:12px;letter-spacing:1px}
/* nómina */
.pp.nomina{font-size:11.5px;padding:20px 22px}
.nom-h{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}
.nom-h .box{line-height:1.5;font-size:11px}
.nom-per{background:#f3f1ea;padding:5px 8px;border-radius:3px;font-size:12px}
.pp.nomina table.lt td{padding:3px 6px}
.pp.nomina .fi{width:95px;font-size:12px}
/* escritos */
.pp.escrito{font-family:Georgia,"Times New Roman",serif;font-size:13px;line-height:1.7}
.pp.escrito .fi{font-family:"Courier New",monospace}
.inst-h{text-align:center;font-weight:800;letter-spacing:6px;font-size:18px;margin-bottom:10px}
.inst-dest,.ofi-dest{margin-top:20px;border-top:1px solid #333;padding-top:8px;font-weight:700;text-transform:uppercase;font-size:12px}
.pp .fopt span{line-height:1.45}
/* sobre */
.sobre{background:#f8f3e6;color:#222;width:100%;max-width:640px;min-height:300px;border-radius:6px;box-shadow:0 6px 20px rgba(0,0,0,.15);position:relative;padding:20px 24px;font-family:Arial,sans-serif;font-size:12.5px;border:1px solid #e2d6b8}
.sob-rem{font-size:11px;color:#555;line-height:1.4;max-width:46%}
.sob-sello{position:absolute;top:16px;right:18px;border:2px dashed #b08d57;border-radius:6px;padding:6px;text-align:center;font-size:11px;color:#7a5c2e;background:#fffaf0}
.sob-dest{margin:40px 0 0 38%;line-height:2.1}
.sobre .fi{font:13px "Courier New",monospace;font-weight:700;color:#0d3a8f;background:#eef4ff;border:none;border-bottom:1.5px dashed #6d8fd6;padding:3px 5px;outline:none;max-width:100%}
.sobre select.fi{font-family:Arial,sans-serif;font-size:12px}
.sobre .fv,.sobre .det{font-family:"Segoe Print","Comic Sans MS",cursive;color:#1b3a8a}
/* recado */
.pp.recado{background:#fffbe0;border-top:10px solid #f2c94c}
.rec-h{font-weight:800;font-size:16px;color:#8a6d00;letter-spacing:1px;margin-bottom:8px}
/* cajón de caja */
.cajon{width:100%;max-width:640px;background:linear-gradient(180deg,#3a3f47,#2b2f35);border-radius:14px;padding:14px;box-shadow:inset 0 2px 8px rgba(0,0,0,.6),0 12px 30px rgba(0,0,0,.25)}
.cj-h{color:#e9edf3;font-weight:700;margin-bottom:10px}
.cj-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}
.cj-row.coins{grid-template-columns:repeat(4,1fr)}
.cj-slot{background:#1e2227;border-radius:9px;padding:8px;min-height:84px;box-shadow:inset 0 2px 6px rgba(0,0,0,.6);display:flex;flex-direction:column;gap:3px;align-items:center}
.cj-lbl{font-size:10px;color:#9aa4ad;margin-bottom:2px}
.cj-empty{font-size:10px;color:#5d656e;margin-top:14px}
.bill{display:block;width:92%;height:16px;border-radius:2px;font-size:9.5px;font-weight:800;text-align:right;padding-right:4px;color:#fff;line-height:16px;margin-top:-7px;box-shadow:0 1px 2px rgba(0,0,0,.5)}
.bill:first-of-type{margin-top:0}
.b50{background:linear-gradient(90deg,#e67e22,#f0a35e)}.b20{background:linear-gradient(90deg,#2f6fb5,#5d97d6)}.b10{background:linear-gradient(90deg,#c0392b,#e2685b)}.b5{background:linear-gradient(90deg,#7f8c8d,#a7b3b4)}
.cj-coins{display:flex;flex-wrap:wrap;gap:3px;justify-content:center}
.coin{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:8.5px;font-weight:800;box-shadow:inset 0 -2px 3px rgba(0,0,0,.35),0 1px 2px rgba(0,0,0,.5)}
.c2,.c1{background:radial-gradient(circle,#e6c55a 45%,#c9ccd1 47%);color:#5a4500;width:27px;height:27px}
.c1{background:radial-gradient(circle,#c9ccd1 45%,#e6c55a 47%);color:#333}
.c0_5,.c0_2,.c0_1{background:radial-gradient(circle,#f2d27a,#c9a227);color:#5a4500}
.c0_05,.c0_02,.c0_01{background:radial-gradient(circle,#e3a77a,#b0623a);color:#4a1e00;width:20px;height:20px;font-size:7.5px}
.tickets{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;width:100%;max-width:640px}
.ticket{background:#fff;color:#222;font:12px "Courier New",monospace;padding:10px;border-radius:3px;box-shadow:0 4px 10px rgba(0,0,0,.15);border-top:4px solid #0f9d6b;display:flex;flex-direction:column;gap:4px}
.ticket.out{border-top-color:#d64545}
.tk-h{font-weight:800;font-size:11px;color:#666}
.ticket b{font-size:15px;text-align:right}
@media (max-width:1100px){.evgrid{grid-template-columns:repeat(3,1fr)}.jgrid{grid-template-columns:repeat(9,1fr)}}

.pp input.fi[type=date],.sobre input.fi[type=date]{min-width:150px}
.pp .fi::placeholder,.sobre .fi::placeholder{color:#a9b8da;font-weight:400}

/* ================= EBROGEST ================= */
.pp.asip{max-width:720px}
.asi-h{display:flex;justify-content:space-between;font-size:13px;margin:4px 0}
.asi-c{font-size:13px;margin-bottom:6px}
.asi-sub{font-weight:800;margin:14px 0 2px;color:var(--c,#1d2433);border-top:2px dashed #d9d4c7;padding-top:10px}
.pp table.asi select.fi{width:100%;max-width:330px}
.pp table.asi td{padding:3px 5px}
.asi-st{font-weight:700;font-size:12.5px;padding:6px 10px;border-radius:6px;margin-bottom:6px}
.asi-st.ok{background:#e3f6ee;color:#0b7a52}.asi-st.bad{background:#fdeaea;color:#b23434}
.sheet-wrap{overflow:auto;margin:10px 0}
.sheet-fx{display:flex;gap:8px;align-items:center;background:#f1f3f6;border:1px solid #cfd6df;border-bottom:none;padding:4px 8px;font-family:Consolas,monospace;font-size:12px;color:#333}
.sheet-fx b{color:#0f7b6c}
table.sheet{border-collapse:collapse;font-family:Calibri,Arial,sans-serif;font-size:12.5px;background:#fff;color:#222}
table.sheet th{background:#eef1f5;color:#555;font-weight:600;border:1px solid #cfd6df;padding:2px 6px;min-width:30px}
table.sheet td{border:1px solid #d9dee5;padding:2px 6px;height:24px;white-space:nowrap}
table.sheet td.r{text-align:right}
table.sheet td.sh-in{background:#fff8d6;padding:0}
table.sheet td.sh-in.tg{background:#ffef9e}
table.sheet td.sh-in.ro{padding:2px 6px;text-align:right}
table.sheet input.hc{width:100%;min-width:90px;border:none;background:transparent;padding:3px 6px;text-align:right;font:inherit;outline:none}
table.sheet input.hc:focus{background:#fff;box-shadow:inset 0 0 0 2px #1f8f4e;text-align:left}
table.sheet input.hc.err{color:#c62828}
.serr{color:#c62828;font-weight:700}
.mcarta{border:1px solid #ddd;background:#fff;padding:14px 18px;border-radius:4px;margin:8px 0;line-height:1.7}
.mslot select.fi{width:150px}
.mslot.ro{background:#eef4ff;padding:1px 6px;border-radius:4px;font-family:monospace}
.mprev{margin-top:10px;border:2px dashed #b6c5dc;border-radius:6px;padding:8px}
.mprev-h{font-weight:700;font-size:12px;color:#4a5b78}
.pp.aeat .aeat-h{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#7a1f1f;color:#fff;padding:8px 12px;border-radius:3px;margin-bottom:10px;font-size:12px;flex-wrap:wrap}
.pp.aeat .aeat-h b{font-size:15px}
.cas{display:inline-flex;align-items:center;gap:4px}
.cas i{font-style:normal;font-size:10px;background:#7a1f1f;color:#fff;padding:1px 4px;border-radius:3px}
.aud{border:1px solid #d9d4c7;border-radius:6px;padding:8px 10px;margin:10px 0;background:#fff}
.aud-h{display:flex;justify-content:space-between;align-items:center;font-size:13px}
.aud-ck{display:flex;gap:6px;align-items:center;font-weight:700;color:#b23434}
.aud-i{font-size:12px;color:#555;margin:4px 0}
.fichat th,.fichat td{font-size:11px!important;padding:3px 4px!important}
.dia{border-bottom:1px solid var(--line);padding:6px 10px}
.dia-h{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px}
.dia-c{flex:1;min-width:200px}
table.mini{border-collapse:collapse;margin:4px 0 4px 40px;font-size:12.5px;min-width:420px}
table.mini td{padding:1px 10px;border-bottom:1px dotted var(--line)}
table.mini td.num{text-align:right;font-variant-numeric:tabular-nums;width:110px}
.spark{width:100%;height:130px;display:block}
.trow.blocked{opacity:.65}
.paper.banco .lh{border-bottom-color:#0b5394}
.paper.banco tr.big td{font-weight:800;border-top:2px solid #0b5394}
.ticket.z{font-family:Consolas,monospace;font-size:12px;line-height:1.6;background:#fff;color:#222;padding:12px;border-radius:4px;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.ticket.z hr{border:none;border-top:1px dashed #999}
.paper tr.big td{font-weight:800}
.pp table.lt td.r{white-space:nowrap}

#gate{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:radial-gradient(900px 500px at 10% 0%,#8c1d4033,transparent),radial-gradient(700px 400px at 100% 100%,#d4a01733,transparent),var(--bg);padding:16px}
.gcard{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:34px 30px;width:100%;max-width:420px;text-align:center}
.gmsg{margin-top:14px;background:var(--warnsoft);border-radius:10px;padding:12px 14px;font-size:13.5px;text-align:left}
.spin{width:38px;height:38px;border-radius:50%;border:4px solid var(--line);border-top-color:var(--accent);margin:10px auto;animation:sp 1s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
