:root{--ink:#172554;--muted:#64748b;--line:#dbe4f0;--blue:#2563eb;--blue-dark:#1e3a8a;--blue-soft:#eff6ff;--cyan:#0891b2;--cyan-soft:#ecfeff;--amber:#d97706;--amber-soft:#fffbeb;--paper:#fff;--bg:#f3f7fc}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:radial-gradient(circle at 8% 8%,#dbeafe 0,transparent 26%),radial-gradient(circle at 92% 20%,#cffafe 0,transparent 23%),var(--bg);color:var(--ink);font-family:"Aptos","Segoe UI Variable","Segoe UI",system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.45;letter-spacing:-.01em;min-height:100vh}
button,input,select{font:inherit}button{cursor:pointer}h1,h2,.brand b,.grand-total strong{font-family:"Aptos Display","Segoe UI Variable Display","Segoe UI",system-ui,sans-serif}
.topbar{height:76px;padding:0 max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;background:linear-gradient(110deg,#172554 0%,#1e40af 58%,#0e7490 100%);border-bottom:0;box-shadow:0 8px 24px rgba(30,58,138,.18);color:#fff}
.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#67e8f9,#fff);color:#1e3a8a;font-size:21px;font-weight:800;box-shadow:0 5px 15px rgba(8,145,178,.3)}.brand b{display:block;font-size:21px;font-weight:750;letter-spacing:-.035em}.brand small{display:block;color:#bfdbfe;font-size:11px;margin-top:1px;text-transform:uppercase;letter-spacing:1.15px;font-weight:650}.header-actions{display:flex;align-items:center;gap:18px}.status{font-size:13px;font-weight:600;color:#e0f2fe;display:flex;align-items:center;gap:7px;letter-spacing:.01em}.status i{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 4px rgba(74,222,128,.2)}.ghost{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);border-radius:8px;padding:10px 14px;color:#fff;font-weight:700;font-size:13px;letter-spacing:.01em;transition:.2s ease}.ghost:hover{background:#fff;color:var(--blue-dark);transform:translateY(-1px)}
.shell{max-width:1240px;margin:0 auto;padding:48px 24px 34px}.intro{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:30px}.eyebrow{display:inline-block;font-size:11px;letter-spacing:1.65px;color:#075985;font-weight:750;background:#cffafe;border:1px solid #a5f3fc;border-radius:999px;padding:7px 11px}.intro h1{font-size:44px;font-weight:750;line-height:1.05;letter-spacing:-2px;margin:12px 0 0;background:linear-gradient(90deg,#172554,#2563eb,#0891b2);-webkit-background-clip:text;background-clip:text;color:transparent}.period span{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#475569;font-weight:750;margin-bottom:7px}.period input{border:1px solid #bfdbfe;background:rgba(255,255,255,.9);padding:13px 15px;border-radius:10px;color:var(--ink);font-size:15px;font-weight:650;box-shadow:0 7px 20px rgba(30,64,175,.08)}
.workspace{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,.85fr);gap:22px;align-items:start}.panel,.summary{background:rgba(255,255,255,.94);border:1px solid rgba(191,219,254,.75);border-radius:16px;box-shadow:0 14px 35px rgba(30,64,175,.09)}.form-panel{padding:28px;border-top:5px solid var(--cyan)}.section-heading{display:flex;gap:13px}.section-heading>span,.advanced-trigger>span{width:32px;height:32px;border-radius:9px;background:linear-gradient(145deg,#2563eb,#0891b2);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;letter-spacing:.03em;flex:0 0 auto;box-shadow:0 5px 12px rgba(37,99,235,.2)}.section-heading h2{font-size:21px;font-weight:720;letter-spacing:-.035em;margin:3px 0}.regime-select{display:block;margin-top:18px}.regime-select>span{display:block;font-size:13px;font-weight:700;margin-bottom:8px}.regime-select select{width:100%;height:52px;border:1px solid #bfdbfe;border-radius:10px;background:#f8fbff;color:var(--ink);padding:0 14px;font-size:15px;font-weight:650;outline:none}.regime-select select:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.divider{height:1px;background:linear-gradient(90deg,#bfdbfe,#a5f3fc,transparent);margin:28px 0}
.toggle-row{display:flex;align-items:center;justify-content:space-between;margin:18px 0 14px;font-size:13px;color:#475569}.segmented{background:#e0f2fe;border-radius:9px;padding:3px}.segmented button{border:0;background:transparent;padding:9px 13px;border-radius:7px;color:#64748b;font-size:12px;font-weight:600}.segmented button.active{background:#fff;color:var(--blue);font-weight:750;box-shadow:0 3px 8px rgba(37,99,235,.14)}.amount-grid,.advanced{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field-label{display:block;font-size:13px;font-weight:700;margin-bottom:7px;color:#334155}.input-wrap{height:52px;border:1px solid #d7e3f4;border-radius:9px;display:flex;align-items:center;overflow:hidden;background:#f8fafc;transition:.2s ease}.input-wrap:hover{border-color:#93c5fd;background:#fff}.input-wrap:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-soft);background:#fff}.input-wrap b{font-size:13px;font-weight:700;color:#0369a1;padding-left:12px}.input-wrap input{border:0;outline:0;width:100%;padding:11px 12px;color:var(--ink);font-size:18px;font-weight:680;font-variant-numeric:tabular-nums;background:transparent}.field small{display:block;color:#7c8ba1;font-size:11px;margin-top:6px;line-height:1.45}.advanced-trigger{width:100%;display:flex;align-items:center;gap:10px;border:0;border-top:1px solid var(--line);background:transparent;margin-top:25px;padding:20px 0 5px;color:#334155;font-weight:700;font-size:14px}.advanced-trigger b{margin-left:auto;font-size:20px;color:var(--blue)}.advanced{padding-top:15px}.reset{border:0;background:transparent;color:#64748b;font-size:12px;text-decoration:underline;margin-top:20px;padding:0}.reset:hover{color:#dc2626}
.summary{overflow:hidden;position:sticky;top:20px;border-top:5px solid var(--blue)}.summary-head{padding:24px 24px 20px;display:flex;justify-content:space-between;border-bottom:1px solid #bfdbfe;background:linear-gradient(120deg,#eff6ff,#ecfeff)}.summary-head span{font-size:12px;color:#1d4ed8;font-weight:800;letter-spacing:1px}.summary-head h2{text-transform:capitalize;margin:5px 0 0;font-size:21px}.summary-head .badge{background:#2563eb;color:#fff;border-radius:7px;padding:6px 9px;box-shadow:0 4px 10px rgba(37,99,235,.22)}.tax-block{padding:22px 24px;border-bottom:1px solid var(--line)}#igv-summary .tax-block{background:linear-gradient(110deg,rgba(239,246,255,.75),#fff 65%)}.summary>.tax-block{background:linear-gradient(110deg,rgba(255,251,235,.9),#fff 65%)}.tax-title{display:flex;align-items:center;gap:11px}.tax-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-size:12px;font-weight:900}.tax-icon.blue{color:#fff;background:linear-gradient(145deg,#2563eb,#0891b2);box-shadow:0 5px 12px rgba(37,99,235,.2)}.tax-icon.amber{color:#fff;background:linear-gradient(145deg,#f59e0b,#ea580c);box-shadow:0 5px 12px rgba(234,88,12,.18)}.tax-title b{font-size:15px;display:block}.tax-title small{font-size:12px;color:var(--muted);margin-top:3px;display:block}.tax-block dl{margin:18px 0 10px}.tax-block dl div{display:flex;justify-content:space-between;margin:12px 0;font-size:14px}.tax-block dt{color:var(--muted)}.tax-block dd{margin:0;font-weight:700}.subtotal{display:flex;justify-content:space-between;padding-top:12px;border-top:1px dashed #b6c5d9;font-size:15px;align-items:center}.subtotal b{font-size:20px;color:#1d4ed8}.summary>.tax-block .subtotal b{color:#c2410c}.credit-note{font-size:13px;color:#047857;background:#ecfdf5;border-left:4px solid #10b981;padding:9px 11px;border-radius:7px}.grand-total{background:linear-gradient(115deg,#172554 0%,#1d4ed8 55%,#0891b2 100%);color:#fff;padding:25px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:inset 0 1px rgba(255,255,255,.15)}.grand-total small{display:block;color:#bae6fd;font-size:11px;letter-spacing:1.2px}.grand-total span>b{display:block;font-size:14px;margin-top:5px}.grand-total strong{font-size:31px;text-shadow:0 2px 10px rgba(0,0,0,.2)}.disclaimer{padding:14px 24px;background:#f8fafc;color:#64748b;font-size:12px}.alert{margin:18px 24px 0;background:#fff1f2;color:#be123c;border-left:4px solid #fb7185;padding:11px;border-radius:7px;font-size:13px}
.declaration-subtotals{padding:18px 24px;background:#f8fbff;border-bottom:1px solid var(--line)}.declaration-subtotals>span{display:block;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:1.2px;margin-bottom:11px}.declaration-subtotals>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.declaration-subtotals p{margin:0;background:#fff;border:1px solid #bfdbfe;border-radius:9px;padding:11px 12px;box-shadow:0 3px 10px rgba(37,99,235,.05)}.declaration-subtotals p:last-child{border-color:#a5f3fc}.declaration-subtotals small{display:block;color:#64748b;font-size:11px;margin-bottom:5px}.declaration-subtotals b{display:block;color:#172554;font-size:18px;font-weight:720;font-variant-numeric:tabular-nums}.tax-block dd,.subtotal b,.grand-total strong{font-variant-numeric:tabular-nums}
footer{max-width:1240px;margin:0 auto;padding:0 24px 30px;display:flex;justify-content:space-between;color:#98a2b3;font-size:11px}noscript{display:block;background:#fff4ed;color:#b42318;padding:12px;text-align:center}
@media(max-width:900px){.workspace{grid-template-columns:1fr}.summary{position:static}.intro{align-items:flex-start;gap:22px}.intro h1{font-size:32px}.header-actions .status{display:none}}
@media(max-width:600px){.topbar{height:66px;padding:0 16px}.shell{padding:30px 14px}.intro{display:block}.intro h1{font-size:34px}.period{display:block;margin-top:20px}.period input{width:100%}.ghost{font-size:0}.ghost:after{content:"Imprimir";font-size:11px}.form-panel{padding:20px 16px}.amount-grid,.advanced{grid-template-columns:1fr}.toggle-row{display:block}.segmented{margin-top:10px;display:flex}.segmented button{flex:1}.regime-select select{font-size:15px}.summary-head,.tax-block{padding-left:18px;padding-right:18px}.summary-head h2{font-size:19px}.tax-block dl div{font-size:13px}.grand-total{padding:22px 18px}.grand-total strong{font-size:26px}.declaration-subtotals{padding:16px 18px}.declaration-subtotals>div{grid-template-columns:1fr}.declaration-subtotals b{font-size:19px}footer{padding:0 15px 24px;display:block}}
@page{size:A4 portrait;margin:14mm}
@media print{
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  html,body{width:auto;min-height:0;background:#fff!important;color:#172554;font-size:10.5pt}
  .topbar,.form-panel,footer{display:none!important}
  .shell{width:100%;max-width:none;margin:0;padding:0}
  .intro{display:block;margin:0 0 8mm;padding:0 0 5mm;border-bottom:2px solid #2563eb}
  .intro>div{display:flex;align-items:center;justify-content:space-between;gap:10mm}
  .eyebrow{order:2;border:0;background:transparent;padding:0;color:#2563eb;font-size:8pt;letter-spacing:1.2px}
  .intro h1{margin:0;color:#172554;background:none;-webkit-text-fill-color:#172554;font-size:24pt;line-height:1.1;letter-spacing:-1px}
  .period{display:flex;align-items:center;justify-content:flex-end;gap:4mm;margin-top:4mm}
  .period span{margin:0;font-size:7.5pt;letter-spacing:.8px}
  .period input{width:45mm;border:1px solid #bfdbfe;background:#fff;padding:2.5mm 3mm;border-radius:2mm;box-shadow:none;font-size:10pt}
  .workspace{display:block;width:100%}
  .summary{position:static;width:100%;max-width:none;border:1px solid #bfdbfe;border-top:4px solid #2563eb;border-radius:3mm;box-shadow:none;overflow:hidden;break-inside:avoid}
  .summary-head{padding:5mm 6mm 4mm;background:#eff6ff;border-bottom:1px solid #bfdbfe}
  .summary-head span{font-size:7.5pt}.summary-head h2{font-size:16pt;margin-top:1mm}
  .summary-head .badge{padding:2mm 3mm;background:#2563eb!important;color:#fff!important}
  .alert{margin:4mm 6mm 0;padding:3mm;font-size:9pt}
  .declaration-subtotals{padding:4mm 6mm;background:#f8fbff}
  .declaration-subtotals>span{font-size:7pt;margin-bottom:2.5mm}
  .declaration-subtotals p{padding:3mm}.declaration-subtotals small{font-size:8pt}.declaration-subtotals b{font-size:13pt}
  .tax-block,#igv-summary .tax-block,.summary>.tax-block{padding:5mm 6mm;background:#fff!important;break-inside:avoid}
  .tax-icon{width:10mm;height:10mm;border:1px solid #bfdbfe;box-shadow:none!important}
  .tax-icon.blue{background:#eff6ff!important;color:#1d4ed8!important}
  .tax-icon.amber{background:#fffbeb!important;color:#c2410c!important;border-color:#fed7aa}
  .tax-title b{font-size:10pt}.tax-title small{font-size:8pt}
  .tax-block dl{margin:4mm 0 2.5mm}.tax-block dl div{margin:2.5mm 0;font-size:9pt}
  .subtotal{padding-top:3mm;font-size:9.5pt}.subtotal b{font-size:15pt}
  .credit-note{font-size:8.5pt;padding:2.5mm 3mm}
  .grand-total{padding:5mm 6mm;background:#fff!important;color:#172554!important;border-top:3px solid #1d4ed8}
  .grand-total small{color:#2563eb!important;font-size:7.5pt}.grand-total span>b{font-size:10pt}.grand-total strong{color:#172554!important;font-size:22pt;text-shadow:none}
  .disclaimer{padding:3.5mm 6mm;background:#f8fafc!important;color:#64748b;font-size:8pt}
}

/* Identidad visual GBCONT */
:root{--ink:#06385f;--muted:#5d6f7e;--line:#d9e4eb;--blue:#ed2c62;--blue-dark:#06385f;--blue-soft:#fff0f5;--cyan:#0b527d;--cyan-soft:#edf6fb;--paper:#fff;--bg:#f4f7fa}
body{background:radial-gradient(circle at 8% 8%,#e7f0f6 0,transparent 27%),radial-gradient(circle at 92% 20%,#ffe7ef 0,transparent 24%),var(--bg)}
.topbar{background:linear-gradient(110deg,#06385f 0%,#0b527d 72%,#ed2c62 100%);box-shadow:0 8px 24px rgba(6,56,95,.18)}
.brand-mark{background:linear-gradient(145deg,#fff0f5,#fff);color:#ed2c62;box-shadow:0 5px 15px rgba(237,44,98,.22)}
.brand small,.status{color:#dceaf3}
.ghost:hover{color:#06385f}
.eyebrow{color:#d91f55;background:#fff0f5;border-color:#ffc7d8}
.intro h1{background:linear-gradient(90deg,#06385f,#0b527d,#ed2c62);-webkit-background-clip:text;background-clip:text;color:transparent}
.period input,.regime-select select{border-color:#cddce6}
.panel,.summary{border-color:rgba(6,56,95,.14);box-shadow:0 14px 35px rgba(6,56,95,.09)}
.form-panel{border-top-color:#ed2c62}
.section-heading>span,.advanced-trigger>span{background:linear-gradient(145deg,#06385f,#ed2c62);box-shadow:0 5px 12px rgba(6,56,95,.2)}
.divider{background:linear-gradient(90deg,#cddce6,#ffc7d8,transparent)}
.segmented{background:#e7f0f6}.segmented button.active{color:#ed2c62;box-shadow:0 3px 8px rgba(6,56,95,.12)}
.input-wrap:hover{border-color:#9eb9ca}.input-wrap:focus-within{border-color:#ed2c62;box-shadow:0 0 0 3px #fff0f5}.input-wrap b{color:#0b527d}
.summary{border-top-color:#ed2c62}.summary-head{border-bottom-color:#d9e4eb;background:linear-gradient(120deg,#edf6fb,#fff0f5)}
.summary-head span,.declaration-subtotals>span{color:#d91f55}.summary-head .badge{background:#ed2c62;box-shadow:0 4px 10px rgba(237,44,98,.22)}
.tax-icon.blue{background:linear-gradient(145deg,#06385f,#0b527d);box-shadow:0 5px 12px rgba(6,56,95,.2)}
.subtotal b{color:#0b527d}
.grand-total{background:linear-gradient(115deg,#06385f 0%,#0b527d 68%,#ed2c62 100%)}
.grand-total small{color:#ffe0e9}
