/* Gestión ISP – panel */
:root{
  --bg:#F4F6F8; --card:#fff; --ink:#1F2933; --mute:#6B7785; --line:#E3E8EE;
  --side:#0F2A3D; --side2:#16374F; --acc:#0B4F6C; --acc2:#20A39E;
  --ok:#1E7B4D; --okb:#E2F5EA; --warn:#9A5B00; --warnb:#FFF2D9; --bad:#B42318; --badb:#FDE8E7; --info:#175CD3; --infob:#E5EEFD;
  --r:12px;
}
*{box-sizing:border-box}
body.gisp-body-app{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.gisp a{color:var(--acc);text-decoration:none}
.gisp a:hover{text-decoration:underline}
.ico{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-4px}

/* Layout */
.gisp{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.gisp-side{background:var(--side);color:#C9D6E2;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto}
.brand{display:flex;gap:10px;align-items:center;padding:18px 16px;border-bottom:1px solid rgba(255,255,255,.07)}
.brand strong{display:block;color:#fff;font-size:14px;line-height:1.2}
.brand small{color:#8FA7BC;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.brand-mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--acc2),var(--acc));color:#fff;display:grid;place-items:center;font-weight:800;flex:none}
.brand-mark.big{width:52px;height:52px;font-size:22px;border-radius:14px;margin:0 auto 8px}
.gisp-side nav{padding:10px 8px;display:grid;gap:2px;flex:1;align-content:start}
.gisp-side nav a{display:flex;gap:10px;align-items:center;padding:9px 10px;border-radius:8px;color:#C9D6E2;font-weight:500}
.gisp-side nav a:hover{background:var(--side2);text-decoration:none;color:#fff}
.gisp-side nav a.on{background:var(--side2);color:#fff;box-shadow:inset 3px 0 0 var(--acc2)}
.gisp-side nav span{flex:1}
.badge{background:#F04438;color:#fff;font-size:11px;border-radius:99px;padding:1px 7px;font-weight:700}
.side-user{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-top:1px solid rgba(255,255,255,.07)}
.side-user strong{display:block;color:#fff;font-size:13px}.side-user small{color:#8FA7BC;font-size:12px}
.side-user a{color:#8FA7BC}.side-user a:hover{color:#fff}
.gisp-main{min-width:0}
.gisp-top{display:flex;align-items:center;gap:14px;padding:14px 28px;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.gisp-top h1{font-size:19px;margin:0;flex:1;letter-spacing:-.01em}
.burger{display:none;border:0;background:none;font-size:22px;cursor:pointer;color:var(--ink)}
.emp-switch{display:flex;gap:8px;align-items:center}
.emp-switch label{font-size:12px;color:var(--mute);font-weight:600}
.gisp-body{padding:22px 28px 60px;max-width:1400px}

/* Cards & grids */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;margin-bottom:18px}
.card.flush{padding:0;overflow:auto}
.card.narrow{max-width:720px}
.card h3{margin:0 0 12px;font-size:15px}
.card h4{margin:16px 0 8px;font-size:13px;color:var(--mute);text-transform:uppercase;letter-spacing:.04em}
.card.link{display:block;color:inherit;transition:border-color .15s, transform .15s}
.card.link:hover{border-color:var(--acc2);text-decoration:none;transform:translateY(-1px)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.grid2.wide-left{grid-template-columns:1.5fr 1fr}
.grid2.wide-right{grid-template-columns:1fr 1.25fr}
.grid2 > .card{margin-bottom:0}
.grid2 + .grid2{margin-top:18px}
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.cards-grid .card{margin:0}
.lead{color:var(--mute);margin:0 0 16px;max-width:820px}
.muted{color:var(--mute)}.small{font-size:12px}
.empty{text-align:center;padding:40px 20px;color:var(--mute)}
.empty h3{color:var(--ink);margin:0 0 6px}
.back{display:inline-block;margin-bottom:12px;font-weight:600}
.sep{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.full{grid-column:1/-1}

/* KPIs */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:18px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;color:inherit;display:block}
a.kpi:hover{border-color:var(--acc2);text-decoration:none}
.kpi small{display:block;color:var(--mute);font-size:12px;font-weight:600}
.kpi strong{display:block;font-size:24px;letter-spacing:-.02em;margin:2px 0;font-variant-numeric:tabular-nums}
.kpi span{font-size:12px;color:var(--mute)}
.kpi.alerta{border-left:4px solid var(--bad)}
.kpis.small .kpi strong{font-size:20px}

/* Bars */
.bars{display:grid;gap:8px}
.bar-row{display:grid;grid-template-columns:80px 1fr 40px 110px;gap:10px;align-items:center;font-size:13px}
.bar{height:10px;background:#EEF2F6;border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--acc2);border-radius:99px}
.bar i.n1{background:#F79009}.bar i.n2{background:var(--bad)}
.bar-row em{font-style:normal;text-align:right;color:var(--mute);font-variant-numeric:tabular-nums}

/* Tables */
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--mute);font-weight:700;padding:10px 12px;border-bottom:1px solid var(--line);background:#FAFBFC;white-space:nowrap}
.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl.compact td,.tbl.compact th{padding:7px 8px}
.card:not(.flush) .tbl th{background:none}
.tbl tr:last-child td{border-bottom:0}
.tbl.hover tbody tr{cursor:pointer}.tbl.hover tbody tr:hover{background:#F6F9FB}
.tbl tr.paid td{color:#98A2B3}
.tbl tr.sel td{background:#EEF7F7}
.tbl tfoot th{background:#F6F9FB;color:var(--ink);font-size:13px;text-transform:none}
.r{text-align:right}.c{text-align:center}
.tbl td.r,.tbl td .money{font-variant-numeric:tabular-nums}
.table-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}
.scroll-x{overflow-x:auto}
.code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#EEF4F8;color:var(--acc);padding:1px 6px;border-radius:5px;font-weight:700;font-size:12px;letter-spacing:.04em}
.code.big{font-size:22px;padding:6px 12px;border-radius:9px}
.pos{color:var(--ok)}.neg{color:var(--bad)}

/* Chips */
.chip{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;white-space:nowrap}
.chip.ok{background:var(--okb);color:var(--ok)}.chip.warn{background:var(--warnb);color:var(--warn)}
.chip.bad{background:var(--badb);color:var(--bad)}.chip.info{background:var(--infob);color:var(--info)}.chip.mute{background:#EEF1F4;color:#5B6675}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:6px;background:var(--acc);color:#fff!important;border:1px solid var(--acc);border-radius:9px;padding:8px 14px;font:600 13px/1.2 inherit;cursor:pointer;white-space:nowrap;text-decoration:none!important}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:#fff;color:var(--ink)!important;border-color:#D0D7DE}
.btn.ghost:hover{border-color:var(--acc);color:var(--acc)!important;filter:none}
.btn.danger{color:var(--bad)!important}.btn.danger:hover{border-color:var(--bad)}
.btn.sm{padding:5px 10px;font-size:12px}.btn.xs{padding:3px 8px;font-size:11px;border-radius:7px}
.btn.done{background:var(--okb);border-color:#B7E4C7;color:var(--ok)!important}
.btn .ico{width:15px;height:15px}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btns{display:inline-flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
form.inline{display:inline}
.actions{display:flex;gap:8px;align-items:center;margin-top:14px;flex-wrap:wrap}

/* Forms */
.gisp input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),.gisp select,.gisp textarea{font:inherit;color:var(--ink);background:#fff;border:1px solid #CBD2D9;border-radius:8px;padding:8px 10px;width:100%;min-width:0}
.gisp input:focus,.gisp select:focus,.gisp textarea:focus{outline:2px solid rgba(32,163,158,.35);border-color:var(--acc2)}
.gisp input[readonly]{background:#F4F6F8;color:var(--mute)}
.gisp input.big{font-size:20px;font-weight:700}
.form{display:grid;gap:12px}
.form label,.toolbar label,.row label{display:grid;gap:4px;font-size:12px;font-weight:600;color:#52606D}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end}
.row .w2{grid-column:span 2}
fieldset{border:0;padding:0;margin:0;display:grid;gap:12px}
legend{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--acc);margin-bottom:6px;padding:0}
.form-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.form-head h3{margin:0}
.check{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px;font-weight:500!important;color:var(--ink)!important;font-size:13px!important;cursor:pointer}
.check.big{font-size:15px!important;padding:10px 14px;border:1px solid var(--line);border-radius:10px}
.checks{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.toolbar{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-bottom:14px}
.toolbar select,.toolbar input{width:auto}
.toolbar .spacer{flex:1}
.search{position:relative;flex:1;min-width:240px}
.search .ico{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--mute)}
.gisp .search input{padding-left:34px!important}
details.mini summary,details.card summary{cursor:pointer;font-weight:600;color:var(--acc);margin:10px 0}
details.card summary{margin:0}
details.card[open] summary{margin-bottom:12px}
.quick{display:flex;gap:6px;margin-top:-4px}
code{background:#EEF1F4;padding:1px 5px;border-radius:4px;font-size:12px}

/* Flash */
.flash{padding:11px 14px;border-radius:10px;margin-bottom:14px;font-weight:500;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.flash.ok{background:var(--okb);color:#0B4A2C}.flash.error{background:var(--badb);color:#7A1A12}.flash.aviso{background:var(--warnb);color:#6B3F00}

/* Tabs & pager */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto}
.tabs a{padding:9px 14px;color:var(--mute);font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:flex;gap:6px;align-items:center}
.tabs a.on{color:var(--acc);border-color:var(--acc)}.tabs a:hover{text-decoration:none;color:var(--ink)}
.pager{display:flex;gap:4px;justify-content:center;margin-top:14px}
.pager a,.pager span{padding:5px 11px;border-radius:7px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.pager a.on{background:var(--acc);color:#fff;border-color:var(--acc)}

/* Ficha cliente */
.ficha{display:grid;grid-template-columns:1fr auto;gap:16px}
.ficha-id{display:flex;gap:16px;align-items:flex-start}
.ficha-id h2{margin:0 0 2px;font-size:20px}
.ficha-id p{margin:4px 0}
.ficha-saldo{text-align:right;min-width:200px}
.ficha-saldo small{display:block;color:var(--mute);font-weight:600}
.ficha-saldo strong{display:block;font-size:30px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ficha-saldo span{font-size:12px;color:var(--mute)}
.ficha .actions,.ficha .flash{grid-column:1/-1}
.estado-form select{width:auto!important;padding:6px 8px!important}
.plain{margin:0;padding-left:18px}

/* Picker */
.picker{position:relative}
.picker-list{position:absolute;left:0;right:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px rgba(15,42,61,.14);z-index:20;max-height:320px;overflow:auto;display:none}
.picker-list.open{display:block}
.picker-list button{display:block;width:100%;text-align:left;border:0;background:none;padding:9px 12px;cursor:pointer;font:inherit;border-bottom:1px solid var(--line)}
.picker-list button:hover,.picker-list button.act{background:#F1F7F8}
.picker-list small{color:var(--mute)}
.deuda-box{display:grid;grid-template-columns:auto auto 1fr;gap:20px;background:#F6F9FB;border:1px solid var(--line);border-radius:10px;padding:10px 14px}
.deuda-box small{display:block;font-size:11px;color:var(--mute);font-weight:700;text-transform:uppercase}
.deuda-box strong{font-size:18px}

/* Plantilla */
.estilos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.estilo{display:grid!important;gap:6px;text-align:center;border:2px solid var(--line);border-radius:10px;padding:10px;cursor:pointer}
.estilo.on{border-color:var(--acc2);background:#F1FAF9}
.estilo input{display:none}
.estilo i{display:block;height:46px;border-radius:6px;border:1px solid var(--line);background:#fff;position:relative}
.mini-franja{background:linear-gradient(var(--acc) 0 40%,var(--acc2) 40% 46%,#fff 46%)!important}
.mini-clasico::after{content:"";position:absolute;left:8px;right:8px;top:18px;height:3px;background:var(--acc)}
.mini-minimal::after{content:"";position:absolute;left:4px;top:6px;width:4px;height:18px;background:var(--acc2)}
.colores input[type=color]{width:100%;height:38px;border:1px solid #CBD2D9;border-radius:8px;padding:2px;background:#fff}
.preview iframe{width:100%;height:640px;border:1px solid var(--line);border-radius:8px;background:#EEF1F4}
.logo-prev{max-height:56px;vertical-align:middle;border:1px solid var(--line);border-radius:6px;padding:4px;background:#fff}

/* Órdenes */
.cliente-orden{display:flex;justify-content:space-between;gap:12px;background:#F6F9FB;border-radius:10px;padding:12px;margin-bottom:10px;flex-wrap:wrap}
.bitacora{white-space:pre-wrap;font:12px/1.55 ui-monospace,Menlo,Consolas,monospace;background:#F6F9FB;border-radius:8px;padding:12px;max-height:340px;overflow:auto;margin:0}
.orden-card{border-left:4px solid var(--line)}
.orden-card.p-alta,.orden-card.p-urgente{border-left-color:var(--bad)}
.orden-card.p-media{border-left-color:var(--acc2)}
.orden-card p{margin:6px 0}

/* Informes */
.report-head h2{margin:0;font-size:18px}
.report-head p{margin:2px 0 14px}
.resumen{margin-bottom:16px}

/* Login */
.gisp-login{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 10%,#16374F,#0F2A3D 60%)}
.gisp-login .card{width:100%;max-width:380px;text-align:center;padding:30px 28px;font:14px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.gisp-login h2{margin:0}
.gisp-login form{text-align:left;display:grid;gap:12px;margin-top:18px}
.gisp-login form p{margin:0;display:grid;gap:4px}
.gisp-login label{font-size:12px;font-weight:600;color:#52606D}
.gisp-login input[type=text],.gisp-login input[type=password]{font:inherit;padding:10px 12px;border:1px solid #CBD2D9;border-radius:9px;width:100%}
.gisp-login .login-remember label{display:flex;gap:6px;align-items:center;font-weight:500}
.gisp-login input[type=submit]{width:100%;background:#0B4F6C;color:#fff;border:0;border-radius:9px;padding:11px;font:700 14px inherit;cursor:pointer}
.gisp-login .muted{color:#6B7785}

/* Responsive */
@media (max-width: 1100px){ .grid2,.grid2.wide-left,.grid2.wide-right{grid-template-columns:1fr} }
@media (max-width: 900px){
  .gisp{grid-template-columns:1fr}
  .gisp-side{position:fixed;left:0;top:0;bottom:0;width:250px;transform:translateX(-100%);transition:transform .2s;z-index:30}
  .gisp.nav-open .gisp-side{transform:none;box-shadow:0 0 0 100vmax rgba(0,0,0,.35)}
  .burger{display:block}
  .gisp-top{padding:12px 16px;flex-wrap:wrap}
  .gisp-body{padding:16px 14px 50px}
  .ficha{grid-template-columns:1fr}.ficha-saldo{text-align:left}
  .ficha-id{flex-direction:column}
  .row .w2{grid-column:auto}
  .bar-row{grid-template-columns:70px 1fr 30px 90px}
  .estilos{grid-template-columns:1fr}
  .deuda-box{grid-template-columns:1fr 1fr}
  .emp-switch{width:100%}
}

/* Impresión de informes */
@media print{
  .gisp-side,.gisp-top,.no-print,.tabs,.toolbar,.back,.flash{display:none!important}
  .gisp{display:block}.gisp-body{padding:0}
  .card{border:0;padding:0}
  .tbl th{background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .tbl td,.tbl th{padding:4px 6px;font-size:10.5px}
  body.gisp-body-app{background:#fff}
}

/* Ajustes de legibilidad */
.tbl td.r,.tbl th.r,.tbl td:nth-child(2) strong{white-space:nowrap}
.tbl td .btns{flex-wrap:nowrap}
.print-form{display:flex!important;flex-wrap:wrap;align-items:end}
.print-form label{flex:1 1 170px}
.print-form .check{flex:0 0 auto}

/* ═════ v2 ═════ */
[hidden]{display:none!important}
.brand-logo{width:40px;height:40px;border-radius:9px;background:#fff;display:grid;place-items:center;flex:none;overflow:hidden;padding:3px}
.brand-logo img{max-width:100%;max-height:100%;object-fit:contain}
.actions.end{justify-content:flex-end}.actions.center{justify-content:center}
.btn[aria-disabled=true]{opacity:.45;pointer-events:none}

/* Activo (verde) / Inactivo (rojo) */
.activo-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:3px 10px 3px 8px;border-radius:99px;white-space:nowrap}
.activo-badge i{width:9px;height:9px;border-radius:50%}
.activo-badge.on{background:#DCF5E6;color:#11713F}.activo-badge.on i{background:#16A34A;box-shadow:0 0 0 3px rgba(22,163,74,.2)}
.activo-badge.off{background:#FDE4E2;color:#A3241A}.activo-badge.off i{background:#DC2626;box-shadow:0 0 0 3px rgba(220,38,38,.2)}
.activo-badge.big{font-size:13px;padding:5px 14px 5px 10px}
.toggle-estado{display:flex;border:1px solid #CBD2D9;border-radius:10px;overflow:hidden;align-self:end;height:38px}
.toggle-estado .te{flex:1;display:block!important;cursor:pointer}
.toggle-estado input{position:absolute;opacity:0;pointer-events:none}
.toggle-estado span{display:flex;align-items:center;justify-content:center;gap:7px;height:100%;padding:0 18px;font-weight:700;font-size:13px;color:#6B7785;transition:background .15s,color .15s}
.toggle-estado span i{width:10px;height:10px;border-radius:50%;background:#CBD2D9}
.toggle-estado .on-verde input:checked + span{background:#16A34A;color:#fff}
.toggle-estado .on-rojo input:checked + span{background:#DC2626;color:#fff}
.toggle-estado input:checked + span i{background:#fff}

/* Convenio */
.conv-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:12px 14px;background:#F6F9FB;border:1px solid var(--line);border-radius:10px}
.conv-row .lbl{display:block;font-size:12px;font-weight:600;color:#52606D;margin-bottom:4px}
.seg{display:inline-flex;border:1px solid #CBD2D9;border-radius:9px;overflow:hidden;background:#fff}
.seg label{cursor:pointer;display:block!important}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;padding:7px 18px;font-weight:700;color:#6B7785}
.seg input:checked + span{background:var(--acc);color:#fff}
.conv-info{display:flex;gap:12px;align-items:center}
.conv-logo{width:64px;height:64px;border-radius:12px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;flex:none;padding:5px}
.conv-logo.sm{width:54px;height:54px}
.conv-logo img{max-width:100%;max-height:100%;object-fit:contain}
.conv-logo span{font-size:22px;font-weight:800;color:var(--acc)}
.inline-lbl{display:flex!important;align-items:center;gap:8px;margin-top:4px;font-size:12px;font-weight:600;color:#52606D}
.gisp .inline-lbl input{width:auto}
.conv-tag{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.conv-tag img{height:22px;width:auto;max-width:44px;object-fit:contain;border-radius:4px}
.conv-tag.big img{height:40px;max-width:70px;border:1px solid var(--line);padding:2px;background:#fff}
.conv-tag.big span{line-height:1.25}
.conv-card{text-align:center}
.conv-card .conv-logo{margin:0 auto 10px}
.conv-card.off{opacity:.6}
.conv-card .btns{justify-content:center}

/* Ficha */
.ficha-dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;margin:12px 0 0}
.ficha-dl dt{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--mute);font-weight:700}
.ficha-dl dd{margin:2px 0 0;font-weight:600}

/* Consulta de recibos */
.consulta .row{margin-bottom:12px}
.cq-cliente{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#F6F9FB;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:13px}
.cq-cliente .cq-deuda{margin-left:auto}
.cq-empty{text-align:center;padding:30px 10px}
.cq-tabla{border:1px solid var(--line);border-radius:10px;overflow:auto;max-height:340px}
.cq-tabla.small-h{max-height:200px}
.cq-tabla .tbl thead th{position:sticky;top:0;z-index:1}
.sel-table tbody tr{cursor:pointer}
.sel-table tbody tr:hover td{background:#F1F7F8}
.sel-table tbody tr.on td{background:#1F6FB2;color:#fff}
.sel-table tbody tr.on .muted{color:#D7E6F5}
.sel-table tbody tr.on .est{background:rgba(255,255,255,.18);color:#fff}
.est{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px}
.est-cancelado{background:var(--okb);color:var(--ok)}.est-pendiente{background:var(--badb);color:var(--bad)}.est-abono{background:var(--warnb);color:var(--warn)}
.cq-sep{display:flex;align-items:center;gap:10px;margin:18px 0 10px;font-weight:700}
.cq-sep::after{content:"";flex:1;height:1px;background:var(--ink);opacity:.6}
.cq-pagos{display:grid;grid-template-columns:1fr 190px;gap:14px;align-items:start}
.cq-btns{display:grid;gap:8px}
.cq-btns .btn{justify-content:center}
.cq-form{margin-top:14px;padding:14px;border:1px dashed var(--acc2);border-radius:10px;background:#F4FBFA}
.cq-form h4{margin:0}

/* Permisos */
.sw{position:relative;display:inline-block;width:34px;height:20px;vertical-align:middle}
.sw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.sw i{position:absolute;inset:0;background:#CBD2D9;border-radius:99px;transition:background .15s}
.sw i::after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s}
.sw input:checked + i{background:var(--acc2)}
.sw input:checked + i::after{transform:translateX(14px)}
.tbl.perm tr.grupo td{background:#F6F9FB;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--acc)}
.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 24px}
.perm-grid h4{margin:10px 0 6px!important}
.perm-grid .check{margin:6px 0}

/* Tarifas */
.check-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 14px;max-height:180px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:8px}
.tbl td.cambio{background:#FFF7E0;font-weight:700}

@media (max-width: 900px){
  .ficha-dl{grid-template-columns:1fr 1fr}
  .cq-pagos{grid-template-columns:1fr}
  .cq-btns{grid-template-columns:1fr 1fr}
  .toggle-estado{width:100%}
}
.tbl th.r{text-align:right}.tbl th.c{text-align:center}
.ficha ~ .grid2 .tbl td:first-child,.tbl td.nw{white-space:nowrap}
@media (max-width: 900px){ .row .toggle-estado{grid-column:1/-1} .toggle-estado span{padding:0 10px} .row .w2{grid-column:1/-1} }
