/* modales.css */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:flex-start;justify-content:center;z-index:200;padding:20px;overflow-y:auto}
.modal{background:var(--bg);border-radius:var(--rl);border:0.5px solid var(--bl);width:700px;max-width:100%;margin:auto;box-shadow:0 8px 32px rgba(0,0,0,.12)}
.mh{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;border-bottom:0.5px solid var(--bl)}
.mh-t{font-size:14px;font-weight:700}
.tabs{display:flex;border-bottom:0.5px solid var(--bl);padding:0 1.25rem;background:var(--bg2);overflow-x:auto}
.tab{font-size:12px;padding:8px 12px;cursor:pointer;color:var(--tx2);border-bottom:2px solid transparent;margin-bottom:-0.5px;white-space:nowrap}
.tab.active{color:var(--blue-tx);border-bottom-color:var(--blue-tx);font-weight:500}
.tb{padding:1.25rem;max-height:68vh;overflow-y:auto}
.fg2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fg{display:flex;flex-direction:column;gap:3px}
.fg label{font-size:11px;color:var(--tx2);font-weight:500}
.fg input,.fg select,.fg textarea{height:32px;padding:0 9px;border:0.5px solid var(--bl);border-radius:var(--rm);background:var(--bg);color:var(--tx);font-size:12px;font-family:var(--font);outline:none}
.fg input:focus,.fg select:focus{border-color:var(--blue-tx)}
.fg textarea{height:52px;padding:6px 9px;resize:none}
.sec{font-size:10px;font-weight:700;color:var(--tx2);margin:12px 0 8px;padding-bottom:4px;border-bottom:0.5px solid var(--bl);text-transform:uppercase;letter-spacing:.6px}
.mfoot{padding:.875rem 1.25rem;border-top:0.5px solid var(--bl);display:flex;justify-content:flex-end;gap:8px;background:var(--bg2)}
.ib{background:none;border:none;cursor:pointer;padding:3px 5px;border-radius:var(--r);font-size:12px;color:var(--tx2);font-family:var(--font)}
.ib:hover{background:var(--bg2)}
.tgw{display:flex;align-items:center;gap:4px;cursor:pointer;user-select:none}
.tg{width:30px;height:16px;border-radius:8px;border:0.5px solid var(--bm);background:var(--bg2);position:relative;transition:background .2s;flex-shrink:0}
.tg.on{background:var(--blue-tx);border-color:var(--blue-tx)}
.tg-d{width:10px;height:10px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.tg.on .tg-d{left:16px}
/* OBL CARDS */
.obl-grid{display:flex;flex-wrap:wrap;gap:5px;min-width:420px;align-items:flex-start}
.obl-summary{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:122px;min-height:60px;padding:7px 9px;border-radius:10px;border:0.5px solid;box-shadow:0 1px 3px rgba(0,0,0,.03)}
.obl-summary strong{font-size:9px;line-height:1.15}
.obl-summary span{font-size:8px;line-height:1.15}
.obl-summary.ok{background:var(--green-bg);border-color:var(--green-br);color:var(--green-tx)}
.obl-summary.pend{background:var(--amber-bg);border-color:var(--amber-br);color:var(--amber-tx)}
.obl-summary.venc{background:var(--red-bg);border-color:var(--red-br);color:var(--red-tx)}
.obl-card{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:3px;padding:5px 6px;border-radius:10px;border:0.5px solid;min-width:74px;min-height:60px;box-shadow:0 1px 3px rgba(0,0,0,.03);transition:transform .15s ease,box-shadow .15s ease}
.obl-card:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,.05)}
.obl-card.ok{background:var(--green-bg);border-color:var(--green-br)}
.obl-card.pend{background:var(--amber-bg);border-color:var(--amber-br)}
.obl-card.venc{background:var(--red-bg);border-color:var(--red-br)}
.obl-card .obl-name{font-size:8px;font-weight:700;line-height:1.1;text-align:center}
.obl-card .obl-fecha{font-size:9px;font-weight:700}
.obl-card .obl-chk{width:13px;height:13px;cursor:pointer;accent-color:var(--green-tx);margin-top:1px}
.obl-card .obl-declared{font-size:7px;font-weight:700;line-height:1.05;text-align:center;min-height:9px;padding:1px 4px;border-radius:999px;background:rgba(255,255,255,.32)}
.obl-card.ok .obl-name,.obl-card.ok .obl-fecha,.obl-card.ok .obl-declared{color:var(--green-tx)}
.obl-card.pend .obl-name,.obl-card.pend .obl-fecha,.obl-card.pend .obl-declared{color:var(--amber-tx)}
.obl-card.venc .obl-name,.obl-card.venc .obl-fecha,.obl-card.venc .obl-declared{color:var(--red-tx)}
/* ACCESOS */
.acard{border:0.5px solid var(--bl);border-radius:var(--rl);margin-bottom:10px;overflow:hidden}
.ahdr{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;background:var(--bg2);border-bottom:0.5px solid var(--bl);flex-wrap:wrap;gap:6px}
.aicon{width:28px;height:28px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;flex-shrink:0}
.abody{padding:10px 12px}
.afield{display:flex;align-items:center;gap:6px;margin-bottom:7px}
.afield:last-child{margin-bottom:0}
.albl{font-size:11px;color:var(--tx2);min-width:80px;flex-shrink:0}
.fw{flex:1;display:flex;align-items:center;gap:3px}
.fw input{flex:1;height:28px;padding:0 8px;border:0.5px solid var(--bl);border-radius:var(--rm);background:var(--bg);color:var(--tx);font-size:12px;font-family:var(--font);outline:none}
.rucro{flex:1;height:28px;padding:0 8px;border:0.5px solid var(--bl);border-radius:var(--rm);background:var(--bg2);color:var(--tx2);font-size:12px;display:flex;align-items:center}
.cpb{background:var(--bg2);border:0.5px solid var(--bl);border-radius:var(--r);padding:0 6px;height:22px;font-size:10px;cursor:pointer;color:var(--tx2);font-family:var(--font)}
.eyb{background:none;border:none;cursor:pointer;padding:2px 4px;font-size:12px}
.lbtn{display:inline-flex;align-items:center;gap:4px;font-size:11px;height:26px;padding:0 10px;border-radius:var(--rm);font-weight:500;text-decoration:none;cursor:pointer;border:0.5px solid;font-family:var(--font)}
.lbtn-blue{background:var(--blue-bg);color:var(--blue-tx);border-color:var(--blue-br)}
/* DECL */
.dg{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:8px}
.di{display:flex;align-items:flex-start;gap:6px;padding:6px 8px;border:0.5px solid var(--bl);border-radius:var(--rm);font-size:12px;background:var(--bg);cursor:pointer}
.di.active{border-color:var(--blue-tx);background:var(--blue-bg);color:var(--blue-tx)}
.di input[type=checkbox]{width:13px;height:13px;margin-top:1px;flex-shrink:0;accent-color:var(--blue-tx)}
.orow{display:flex;gap:6px;margin-bottom:6px}
.orow input{flex:1;height:30px;padding:0 8px;border:0.5px solid var(--bl);border-radius:var(--rm);background:var(--bg);color:var(--tx);font-size:12px;font-family:var(--font);outline:none}
.olist{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
.oi{display:flex;align-items:center;gap:6px;padding:5px 8px;border:0.5px solid var(--bl);border-radius:var(--rm);background:var(--bg)}
.der{display:flex;align-items:center;gap:6px;padding:6px 0;border-bottom:0.5px solid var(--bl)}
.der:last-child{border-bottom:none}
/* PDT */
.mnav{display:flex;align-items:center;gap:8px;margin-bottom:1rem}
.mnav button{background:var(--bg);border:0.5px solid var(--bl);border-radius:var(--rm);padding:2px 10px;cursor:pointer;font-size:14px;font-family:var(--font)}
.mlbl{font-size:13px;font-weight:700;min-width:120px;text-align:center}
.rtag{display:inline-flex;align-items:center;gap:5px;background:var(--bg2);border:0.5px solid var(--bl);border-radius:var(--rm);padding:4px 10px;font-size:12px;color:var(--tx2);margin-bottom:10px}
.psec{border:0.5px solid var(--bl);border-radius:var(--rl);margin-bottom:8px;overflow:hidden}
.psh{padding:7px 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.psh.v{background:var(--green-bg);color:var(--green-tx);border-bottom:0.5px solid var(--green-br)}
.psh.c{background:var(--blue-bg);color:var(--blue-tx);border-bottom:0.5px solid var(--blue-br)}
.psh.r{background:var(--amber-bg);color:var(--amber-tx);border-bottom:0.5px solid var(--amber-br)}
.psh.a{background:var(--bg2);color:var(--tx2);border-bottom:0.5px solid var(--bl)}
.pt{width:100%;border-collapse:collapse}
.pt th{padding:5px 8px;font-size:10px;color:var(--tx2);background:var(--bg2);text-align:left;border-bottom:0.5px solid var(--bl);font-weight:500}
.pt th.r{text-align:right}
.pt td{padding:4px 8px;border-bottom:0.5px solid var(--bl)}
.pt tr:last-child td{border-bottom:none}
.pt td.r{text-align:right}
.pin{width:100%;height:28px;padding:0 7px;text-align:right;border:0.5px solid var(--bl);border-radius:var(--rm);background:var(--bg);color:var(--tx);font-size:12px;outline:none}
.pc{font-size:12px;font-weight:500;text-align:right}
.pc.g{color:var(--green-tx)}.pc.b{color:var(--blue-tx)}.pc.gr{color:var(--tx2)}.pc.a{color:var(--amber-tx)}
.rbox{border:0.5px solid var(--bl);border-radius:var(--rl);overflow:hidden}
.rhdr{padding:7px 10px;background:var(--bg2);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--tx2);border-bottom:0.5px solid var(--bl)}
.rdiv{padding:4px 10px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--tx2);background:var(--bg2);border-bottom:0.5px solid var(--bl)}
.rrow{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-bottom:0.5px solid var(--bl);font-size:12px}
.rrow:last-child{border-bottom:none}
.rrow.tot{font-weight:700;font-size:13px;padding:8px 10px}
.rrow.tot.pagar{background:var(--red-bg)}
.rrow.tot.favor{background:var(--green-bg)}
.rrow.tot.neu{background:var(--bg2)}
.rrow.tot-r{font-weight:700;font-size:13px;padding:8px 10px;background:var(--amber-bg)}
.rv{font-weight:700}
.rv.red{color:var(--red-tx)}.rv.green{color:var(--green-tx)}.rv.blue{color:var(--blue-tx)}.rv.amb{color:var(--amber-tx)}
/* SIDE PANEL */
.side-panel-overlay{position:fixed;inset:0;background:rgba(0,0,0,.25);z-index:150;opacity:0;transition:opacity .25s;pointer-events:none}
.side-panel-overlay.open{opacity:1;pointer-events:all}
.side-panel{position:fixed;top:0;right:0;bottom:0;width:320px;max-width:95vw;background:var(--bg);border-left:0.5px solid var(--bl);z-index:160;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);overflow-y:auto;display:flex;flex-direction:column;box-shadow:-4px 0 24px rgba(0,0,0,.10)}
.side-panel.open{transform:translateX(0)}
.sp-head{padding:14px 14px 12px;border-bottom:0.5px solid var(--bl);display:flex;align-items:flex-start;justify-content:space-between;gap:8px;background:linear-gradient(180deg,var(--bg2),var(--bg))}
.sp-nombre{font-size:13px;font-weight:800;line-height:1.3}
.sp-ruc{font-size:11px;color:var(--tx2);margin-top:3px}
.sp-body{padding:10px;display:flex;flex-direction:column;gap:8px;flex:1;background:linear-gradient(180deg,rgba(250,251,253,.9),rgba(255,255,255,1))}
.sp-card{border:0.5px solid var(--bl);border-radius:12px;overflow:hidden;background:var(--bg);box-shadow:0 2px 8px rgba(0,0,0,.04)}
.sp-card-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:0.5px solid var(--bl);background:rgba(247,249,252,.9)}
.sp-card-icon{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;flex-shrink:0}
.sp-card-body{padding:8px 10px;display:flex;flex-direction:column;gap:6px}
.sp-field{display:flex;align-items:center;gap:6px}
.sp-field-lbl{font-size:10px;color:var(--tx2);min-width:52px;flex-shrink:0;font-weight:600}
.sp-field-val{flex:1;font-size:11px;background:var(--bg2);border:0.5px solid var(--bl);border-radius:var(--r);padding:3px 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-link{display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 12px;border-radius:var(--rm);font-size:11px;font-weight:600;text-decoration:none;border:none;cursor:pointer;font-family:var(--font);width:100%;margin-top:3px}
.sp-link-blue{background:var(--blue-tx);color:#fff}
.sp-empty{font-size:11px;color:var(--tx2);font-style:italic;padding:3px 0}
/* HISTORIAL */
.hdw{overflow-x:auto;border:0.5px solid var(--bl);border-radius:var(--rl);margin-top:6px}
.hdt{width:100%;border-collapse:collapse;font-size:11px}
.hdt th{padding:5px 8px;font-size:10px;font-weight:500;color:var(--tx2);border-bottom:0.5px solid var(--bl);background:var(--bg2);white-space:nowrap;text-align:left}
.hdt td{padding:5px 8px;border-bottom:0.5px solid var(--bl)}
.hdt tr:last-child td{border-bottom:none}
.pbw{width:60px;height:6px;background:var(--bg2);border-radius:4px;overflow:hidden;display:inline-block;vertical-align:middle}
.pb{height:100%;border-radius:4px}
.hpw{overflow-x:auto;border:0.5px solid var(--bl);border-radius:var(--rm)}
.hpt{width:100%;border-collapse:collapse;font-size:10px}
.hpt th{padding:4px 7px;color:var(--tx2);border-bottom:0.5px solid var(--bl);text-align:right;background:var(--bg2);white-space:nowrap;font-weight:500}
.hpt th:first-child{text-align:left}
.hpt td{padding:4px 7px;border-bottom:0.5px solid var(--bl);text-align:right}
.hpt td:first-child{text-align:left;font-weight:500}
.hpt tr:last-child td{border-bottom:none}
.chk{width:14px;height:14px;cursor:pointer;accent-color:var(--blue-tx)}
