:root{
  --ink:#12203A;--ink2:#1C3058;--bg:#F1F4F9;--card:#fff;--line:#E2E8F1;--tx:#18233A;--mut:#6B778C;
  --pri:#1F4FD8;--pri-d:#173CA8;--pri-bg:#E8EEFD;--gold:#F5B800;--red:#D9363E;
  --ok:#0F8F63;--ok-bg:#DFF5EA;--warn:#9A6200;--warn-bg:#FFF1CC;--bad:#C22B33;--bad-bg:#FDE6E7;--nil:#8794A8;--nil-bg:#EDF0F5;
  --r:14px;--sh:0 1px 2px rgba(18,32,58,.05),0 6px 20px rgba(18,32,58,.05);
  --f-head:"Bricolage Grotesque","Figtree",system-ui,sans-serif;--f-body:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--f-body);color:var(--tx);background:var(--bg);font-size:15px;line-height:1.45}
h1,h2,h3,h4{font-family:var(--f-head);margin:0;line-height:1.15;letter-spacing:-.01em}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--pri)}
:focus-visible{outline:3px solid #9DB5FF;outline-offset:2px}
.num,.money{font-variant-numeric:tabular-nums}

/* ---------- Shell ---------- */
.shell{display:flex;min-height:100vh}
#side{width:248px;background:var(--ink);color:#C9D3E8;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;flex:none;overflow-y:auto}
.brand{padding:20px 18px 16px}
.flag{display:flex;height:4px;border-radius:2px;overflow:hidden;margin-bottom:14px}
.flag i{flex:1}.flag i:nth-child(1){background:#F5B800}.flag i:nth-child(2){background:#2F63F0}.flag i:nth-child(3){background:#E5454D}
.brand b{display:block;font-family:var(--f-head);color:#fff;font-size:17px;line-height:1.2}
.brand small{color:#8FA0C4;font-size:12px}
.nav{padding:6px 10px;display:flex;flex-direction:column;gap:2px}
.nav h6{margin:14px 10px 4px;font-size:12px;font-weight:600;color:#7C8DB3}
.nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;color:#C9D3E8;text-decoration:none;font-weight:500}
.nav a svg{width:19px;height:19px;flex:none;opacity:.85}
.nav a:hover{background:rgba(255,255,255,.07)}
.nav a.on{background:#fff;color:var(--ink);font-weight:600}
.nav a.on svg{opacity:1;color:var(--pri)}
.side-foot{margin-top:auto;padding:14px 18px;font-size:12px;color:#7C8DB3}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
#top{display:flex;align-items:center;gap:12px;padding:12px 28px;background:rgba(241,244,249,.92);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}
#top h1{font-size:21px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.burger{display:none}
.chip-tasa{display:flex;align-items:center;gap:8px;background:var(--ink);color:#fff;border:0;padding:8px 14px;border-radius:999px;cursor:pointer;font-weight:600;font-size:13.5px}
.chip-tasa b{color:#FFD45A;font-family:var(--f-head);font-size:15px}
.userbtn{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);padding:5px 12px 5px 5px;border-radius:999px;cursor:pointer}
.avatar{width:30px;height:30px;border-radius:50%;background:var(--pri);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}
.userbtn span{font-weight:600;font-size:13.5px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu{position:absolute;right:28px;top:58px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh);padding:6px;min-width:220px;z-index:40}
.menu .who{padding:10px 12px;border-bottom:1px solid var(--line);margin-bottom:4px}.menu .who small{color:var(--mut);display:block}
.menu button{display:block;width:100%;text-align:left;background:none;border:0;padding:9px 12px;border-radius:8px;cursor:pointer}
.menu button:hover{background:var(--bg)}
#view{padding:24px 28px 60px;max-width:1380px;width:100%}
.scrim{display:none}

/* ---------- Componentes ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--sh)}
.card h3{font-size:16px;margin-bottom:14px}
.card h3 small{font-family:var(--f-body);font-weight:500;color:var(--mut);font-size:13px;margin-left:6px}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.g-hero{grid-template-columns:1.35fr 1fr .8fr}
.g-main{grid-template-columns:1.7fr 1fr}
.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sp{flex:1}
.pagehead{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.pagehead h2{font-size:26px}.pagehead p{margin:4px 0 0;color:var(--mut)}
.muted{color:var(--mut)}.sm{font-size:13px}.xs{font-size:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border-radius:10px;border:1px solid var(--line);background:#fff;font-weight:600;cursor:pointer;text-decoration:none;color:var(--tx);white-space:nowrap}
.btn:hover{background:#F6F8FC}
.btn.pri{background:var(--pri);border-color:var(--pri);color:#fff}.btn.pri:hover{background:var(--pri-d)}
.btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}
.btn.danger{color:var(--bad);border-color:#F2C4C6}.btn.danger:hover{background:var(--bad-bg)}
.btn.sm{padding:6px 11px;font-size:13px;border-radius:8px}.btn.block{width:100%}
.btn svg{width:17px;height:17px}.btn:disabled{opacity:.55;cursor:wait}
.icon-btn{border:0;background:none;padding:6px;border-radius:8px;cursor:pointer;color:var(--mut);display:inline-grid;place-items:center}
.icon-btn:hover{background:var(--bg);color:var(--tx)}.icon-btn svg{width:18px;height:18px}
.fld{display:flex;flex-direction:column;gap:5px;min-width:0}
.fld>span{font-size:13px;font-weight:600;color:#3A465C}
.fld input,.fld select,.fld textarea,.input{border:1px solid #CBD4E2;background:#fff;border-radius:10px;padding:10px 12px;width:100%;min-height:42px}
.fld input:focus,.fld select:focus,.fld textarea:focus,.input:focus{outline:none;border-color:var(--pri);box-shadow:0 0 0 3px #DCE6FF}
.fld small{color:var(--mut);font-size:12px}
.fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.fgrid .s2{grid-column:1/-1}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px}
.filters .fld{min-width:140px}.filters .fld.grow{flex:1;min-width:200px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:600;white-space:nowrap}
.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.warn{background:var(--warn-bg);color:var(--warn)}
.chip.bad{background:var(--bad-bg);color:var(--bad)}.chip.nil{background:var(--nil-bg);color:var(--nil)}.chip.pri{background:var(--pri-bg);color:var(--pri)}
.chip::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.chip.plain::before{display:none}
.tblwrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:var(--sh)}
table.t{border-collapse:collapse;width:100%;font-size:14px}
.t th{background:#F7F9FC;font-size:12.5px;font-weight:600;color:var(--mut);text-align:left;padding:11px 14px;white-space:nowrap;border-bottom:1px solid var(--line)}
.t td{padding:11px 14px;border-bottom:1px solid #EEF2F7;vertical-align:middle}
.t tr:last-child td{border-bottom:0}.t tbody tr:hover td{background:#FAFBFE}
.t .r{text-align:right}.t .c{text-align:center}
.t tr.void td{opacity:.5;text-decoration:line-through}
.t tr.void td:last-child{text-decoration:none}
.t tfoot td{font-weight:700;background:#F7F9FC}
.nm b{display:block;font-weight:600}.nm small{color:var(--mut)}
.pos{color:var(--ok);font-weight:600}.neg{color:var(--bad);font-weight:600}
.empty{padding:44px 20px;text-align:center;color:var(--mut)}
.empty b{display:block;color:var(--tx);font-size:16px;margin-bottom:4px}
.load{padding:60px;text-align:center;color:var(--mut)}
.bar{height:9px;background:#E8EDF5;border-radius:99px;overflow:hidden}
.bar>i{display:block;height:100%;border-radius:99px;background:var(--pri)}
.bar.ok>i{background:var(--ok)}.bar.bad>i{background:var(--bad)}.bar.warn>i{background:var(--gold)}
.alert{padding:11px 14px;border-radius:10px;font-size:14px;margin-bottom:12px}
.alert.bad{background:var(--bad-bg);color:var(--bad)}.alert.warn{background:var(--warn-bg);color:var(--warn)}.alert.ok{background:var(--ok-bg);color:var(--ok)}
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tab{border:1px solid var(--line);background:#fff;padding:7px 14px;border-radius:999px;cursor:pointer;font-weight:600;font-size:13.5px}
.tab.on{background:var(--ink);border-color:var(--ink);color:#fff}.tab em{font-style:normal;opacity:.65;margin-left:5px}

/* ---------- Dashboard ---------- */
.hero{background:var(--ink);color:#fff;border-radius:18px;padding:24px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-60px;top:-60px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,#2F63F0 0%,rgba(47,99,240,0) 70%);opacity:.55}
.hero small{color:#9FB0D6;font-size:13.5px}
.hero .big{font-family:var(--f-head);font-size:46px;font-weight:700;letter-spacing:-.02em;margin:4px 0 16px;position:relative;z-index:1}
.hero .big.neg{color:#FF8A8F}
.flow{display:flex;flex-direction:column;gap:11px;position:relative;z-index:1}
.flow div.l{display:flex;justify-content:space-between;font-size:14px;margin-bottom:5px}
.flow .bar{background:rgba(255,255,255,.14);height:8px}
.flow .in>i{background:#3DD6A0}.flow .out>i{background:#FF7078}
.ring-wrap{display:flex;gap:18px;align-items:center}
.ring{position:relative;width:118px;height:118px;flex:none}
.ring b{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-head);font-size:25px}
.cnt{display:flex;flex-direction:column;gap:9px;font-size:14px}
.cnt div{display:flex;align-items:center;gap:8px}.cnt b{font-family:var(--f-head);font-size:20px;min-width:26px}
.dot{width:10px;height:10px;border-radius:50%;flex:none}
.stat .lbl{color:var(--mut);font-size:13.5px}.stat .val{font-family:var(--f-head);font-size:30px;font-weight:700;margin-top:2px}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--mut);margin-bottom:8px}
.legend span{display:inline-flex;gap:6px;align-items:center}.legend i{width:10px;height:10px;border-radius:3px}
.dlist{display:flex;flex-direction:column;gap:9px;margin-top:12px;font-size:13.5px}
.dlist div{display:flex;align-items:center;gap:8px}.dlist span.v{margin-left:auto;font-weight:600}
.donut{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.donut svg{width:132px;height:132px;flex:none}.donut .dlist{flex:1;min-width:160px;margin:0}
.mov{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #EEF2F7}
.mov:last-child{border:0}
.mov .ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none}
.mov .ico svg{width:17px;height:17px}.mov .ico.in{background:var(--ok-bg);color:var(--ok)}.mov .ico.out{background:var(--bad-bg);color:var(--bad)}
.mov .tx{flex:1;min-width:0}.mov .tx b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
svg.chart{width:100%;height:auto;display:block}
svg.chart text{font-family:var(--f-body);font-size:11px;fill:#6B778C}

/* ---------- Matriz de mensualidades ---------- */
.matrix{border-collapse:separate;border-spacing:0;width:100%;font-size:13.5px}
.matrix th{position:sticky;top:0;background:#F7F9FC;font-size:12px;font-weight:600;color:var(--mut);padding:10px 4px;text-align:center;border-bottom:1px solid var(--line);white-space:nowrap}
.matrix th.hm{background:#E8EEFD;color:var(--pri)}
.matrix td{padding:8px 3px;border-bottom:1px solid #EEF2F7;text-align:center}
.matrix td.who,.matrix th.who{position:sticky;left:0;background:#fff;text-align:left;padding-left:14px;min-width:200px;z-index:2;border-right:1px solid var(--line)}
.matrix th.who{background:#F7F9FC;z-index:3}
.matrix tr:hover td.who{background:#FAFBFE}
.matrix td.who .nm{cursor:pointer}.matrix td.who .nm:hover b{color:var(--pri)}
.cell{width:38px;height:32px;border:0;border-radius:9px;cursor:pointer;display:inline-grid;place-items:center;font-weight:700;font-size:12px}
.cell svg{width:16px;height:16px}
.cell.pagado{background:var(--ok-bg);color:var(--ok)}.cell.parcial{background:var(--warn-bg);color:var(--warn)}
.cell.pendiente{background:var(--bad-bg);color:var(--bad)}.cell.futuro{background:var(--nil-bg);color:#A4AFC0}
.cell.na{background:transparent;color:#C5CDDA;cursor:default}
.cell:not(.na):hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(18,32,58,.15)}
.cell.mark{outline:2px solid var(--pri);outline-offset:1px}
.legend-cells{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--mut)}
.legend-cells span{display:inline-flex;align-items:center;gap:6px}.legend-cells .cell{width:22px;height:20px;border-radius:6px;cursor:default}.legend-cells .cell svg{width:12px;height:12px}
.debt{font-family:var(--f-head);font-weight:700}

/* ---------- Diálogos ---------- */
.ov{position:fixed;inset:0;background:rgba(14,22,40,.5);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:4vh 14px;overflow-y:auto;animation:fade .15s}
.dlg{background:#fff;border-radius:18px;width:100%;max-width:560px;box-shadow:0 24px 70px rgba(0,0,0,.3);animation:pop .18s ease-out}
.dlg.wide{max-width:860px}
.dlg-h{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 4px}.dlg-h h3{font-size:20px}
.dlg-b{padding:14px 22px 6px}.dlg-f{padding:14px 22px 20px;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.dlg .err{color:var(--bad);font-size:14px;min-height:20px;margin:8px 0 0}
@keyframes fade{from{opacity:0}}@keyframes pop{from{transform:translateY(10px);opacity:0}}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.mchip{border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:7px 11px;cursor:pointer;font-weight:600;font-size:13px;min-width:62px;text-align:center}
.mchip small{display:block;font-weight:500;font-size:11px;color:var(--mut)}
.mchip.on{border-color:var(--pri);background:var(--pri-bg);color:var(--pri)}
.mchip.pagado{background:var(--ok-bg);border-color:transparent;color:var(--ok);cursor:not-allowed}
.mchip.parcial{border-color:#F0CE72}.mchip.pendiente{border-color:#F2B5B8}
.preview{background:var(--bg);border-radius:12px;padding:12px 14px;display:flex;gap:22px;flex-wrap:wrap;font-size:14px}
.preview b{font-family:var(--f-head);font-size:19px;display:block}
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}
.mcard{border-radius:12px;padding:10px 12px;font-size:13px}.mcard b{display:block;font-size:13.5px}
.mcard.pagado{background:var(--ok-bg);color:var(--ok)}.mcard.parcial{background:var(--warn-bg);color:var(--warn)}
.mcard.pendiente{background:var(--bad-bg);color:var(--bad)}.mcard.futuro,.mcard.na{background:var(--nil-bg);color:var(--nil)}
.sumbox{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}
.sumbox div{background:var(--bg);border-radius:12px;padding:12px 14px}.sumbox span{font-size:12.5px;color:var(--mut);display:block}
.sumbox b{font-family:var(--f-head);font-size:21px}
#toasts{position:fixed;right:18px;bottom:18px;z-index:200;display:flex;flex-direction:column;gap:10px;max-width:calc(100vw - 36px)}
.toast{background:var(--ink);color:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.25);display:flex;gap:14px;align-items:center;animation:pop .2s}
.toast.bad{background:var(--bad)}.toast.ok{background:#0B6F4C}
.toast button{background:rgba(255,255,255,.18);border:0;color:#fff;padding:5px 11px;border-radius:8px;cursor:pointer;font-weight:600}

/* ---------- Login ---------- */
.login-body{background:var(--ink)}
.login{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}
.login-art{padding:44px 54px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:radial-gradient(900px 500px at 10% 110%,#1E3E94 0%,transparent 60%),var(--ink)}
.login-art .flag{width:90px;height:6px}
.login-art h1{font-size:44px;max-width:520px;margin:6px 0 14px}.login-kicker{color:#FFD45A;font-weight:600;margin:0}
.login-sub{color:#B7C4E2;max-width:460px;font-size:17px;margin:0}.login-foot{color:#7C8DB3;font-size:13px;margin:0}
.login-form{background:#fff;display:grid;place-items:center;padding:30px}
.login-form form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:16px}.login-form h2{font-size:28px;margin-bottom:4px}

@media (max-width:1100px){.g-hero{grid-template-columns:1fr 1fr}.g-hero>:first-child{grid-column:1/-1}.g-main{grid-template-columns:1fr}.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){
  #side{position:fixed;left:0;top:0;z-index:90;transform:translateX(-100%);transition:transform .22s}
  body.nav-open #side{transform:none}
  body.nav-open .scrim{display:block;position:fixed;inset:0;background:rgba(14,22,40,.5);z-index:80}
  .burger{display:inline-grid}
  #top{padding:10px 14px}#view{padding:16px 14px 70px}
  .userbtn span{display:none}.userbtn{padding:4px}
  .menu{right:14px}
  .g2,.g3,.g-hero{grid-template-columns:1fr}.g4{grid-template-columns:1fr 1fr}
  .login{grid-template-columns:1fr}.login-art{padding:28px 24px;gap:40px}.login-art h1{font-size:30px}
  .fgrid{grid-template-columns:1fr}.hero .big{font-size:38px}
  .chip-tasa span{display:none}
  .sumbox{grid-template-columns:1fr 1fr 1fr}.sumbox b{font-size:17px}
}
@media (max-width:480px){.pagehead h2{font-size:22px}.g4{grid-template-columns:1fr}.ring-wrap{flex-direction:column;align-items:flex-start}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{
  body{background:#fff}#side,#top,.scrim,#toasts,.noprint{display:none!important}
  body.printing-dlg .shell{display:none}
  body.printing-dlg .ov{position:static;background:#fff;padding:0}
  body.printing-dlg .dlg{box-shadow:none;max-width:100%}.dlg-f,.dlg-h .x{display:none}
  #view{padding:0;max-width:100%}.card,.tblwrap{box-shadow:none}
}

.bell{position:relative;background:#fff;border:1px solid var(--line);width:40px;height:40px;border-radius:50%}
.bell i{position:absolute;top:-4px;right:-4px;background:var(--red);color:#fff;font-style:normal;font-size:11px;font-weight:700;min-width:19px;height:19px;border-radius:99px;display:grid;place-items:center;padding:0 5px}
.bell i[hidden]{display:none}
.nota{display:inline-block;min-width:38px;padding:3px 8px;border-radius:8px;font-weight:700;font-variant-numeric:tabular-nums;background:var(--ok-bg);color:var(--ok);text-align:center}
.nota.warn{background:var(--warn-bg);color:var(--warn)}.nota.bad{background:var(--bad-bg);color:var(--bad)}.nota.nil{background:transparent;color:#B4BECE}
.alerta-item{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid #EEF2F7;align-items:flex-start}.alerta-item:last-child{border:0}
.alerta-item .bar-l{width:4px;align-self:stretch;border-radius:4px;flex:none;background:var(--gold)}.alerta-item.critica .bar-l{background:var(--red)}.alerta-item.nueva b.m{font-weight:700}
.alerta-item .tx{flex:1;min-width:0}.alerta-item .tx p{margin:0 0 4px}
.kid{border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:12px 16px;cursor:pointer;text-align:left;min-width:200px}
.kid.on{border-color:var(--pri);background:var(--pri-bg)}.kid b{display:block;font-family:var(--f-head)}.kid small{color:var(--mut)}
.cit{border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:12px;padding:14px 16px;background:#fff;margin-bottom:12px}
.cit.atendida{border-left-color:var(--ok)}.cit.cancelada{border-left-color:var(--nil)}.cit.pendiente{border-left-color:var(--red)}
.checklist{max-height:320px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:6px 10px;margin-top:10px}
.checklist label{display:flex;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid #F0F3F8}.checklist label:last-child{border:0}

canvas.sig{width:100%;height:auto;touch-action:none;border:1.5px dashed #AEB9CC;border-radius:12px;background:#fff;cursor:crosshair;display:block;margin-bottom:6px}
.doccard{border:1.5px solid var(--line);border-radius:14px;padding:16px;background:#fff;display:flex;gap:14px;align-items:flex-start;cursor:pointer;width:100%;text-align:left}
.doccard.on{border-color:var(--pri);background:var(--pri-bg)}.doccard svg{width:26px;height:26px;color:var(--pri);flex:none;margin-top:2px}.doccard b{display:block;font-family:var(--f-head)}.doccard small{color:var(--mut)}
.just{border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:12px;padding:14px 16px;background:#fff;margin-bottom:12px}
.just.aprobado{border-left-color:var(--ok)}.just.rechazado{border-left-color:var(--red)}
.just img.fm{height:54px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:2px 6px}
.asis-btn{border:1.5px solid var(--line);background:#fff;border-radius:10px;width:44px;height:38px;font-weight:700;cursor:pointer}
.asis-btn.P.on{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}.asis-btn.A.on{background:var(--bad-bg);border-color:var(--red);color:var(--bad)}.asis-btn.R.on{background:var(--warn-bg);border-color:#E3B341;color:var(--warn)}

.brand img.logo{display:block;height:56px;max-width:100%;object-fit:contain;background:#fff;border-radius:12px;padding:5px 8px;margin-bottom:12px}
.login-logo{display:block;height:88px;max-width:240px;object-fit:contain;background:#fff;border-radius:16px;padding:8px 12px;margin-bottom:22px}

.logout-top{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1.5px solid #F0B8BB;color:var(--bad);padding:8px 14px;border-radius:999px;cursor:pointer;font-weight:700;font-size:13.5px}
.logout-top svg{width:18px;height:18px}.logout-top:hover{background:var(--bad);border-color:var(--bad);color:#fff}
.logout-side{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;background:rgba(229,69,77,.14);border:1px solid rgba(229,69,77,.5);color:#FFB3B7;padding:11px 14px;border-radius:12px;cursor:pointer;font-weight:700;font-size:14.5px}
.logout-side svg{width:19px;height:19px}.logout-side:hover{background:#E5454D;color:#fff;border-color:#E5454D}
@media (max-width:860px){.logout-top span{display:none}.logout-top{padding:0;width:40px;height:40px;justify-content:center}}
