
:root{
  --navy:#0D3B66; --blue:#1A6FA8; --lime:#A8D642;
  --bg:#EDF1F5; --surface:#FFFFFF; --surface2:#F5F8FB; --ink:#10233A; --muted:#5A6A7E;
  --rule:#D5DEE8; --rowrule:#EBF0F5; --field:#FFFFFF; --fieldrule:#C2CEDB;
  --accentText:#1A6FA8; --warn:#9A6212; --bad:#B42318; --good:#3C7A12;
  --rail:#0D3B66; --railInk:#E8F0F8; --railMuted:#9DB5CD; --railRule:rgba(255,255,255,.09);
  --btnBg:#1A6FA8; --blueInk:#FFFFFF; --limeInk:#0D3B66; --top2:#154A7C; --topRule:#2C6293; --topMuted:#B7CBE0; --topLime:#A8D642; --fsecInk:#0D3B66;
  --display:'Space Grotesk','Segoe UI',system-ui,sans-serif;
  --body:'Inter','Segoe UI',system-ui,-apple-system,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0A1522; --surface:#10213A; --surface2:#0D1B2E; --ink:#E3EBF4; --muted:#93A6BA;
    --rule:#223A55; --rowrule:#172C44; --field:#0A1728; --fieldrule:#2F4A68;
    --accentText:#6DB6EC; --warn:#E3AE55; --bad:#F2837A; --good:#A8D642;
    --rail:#08233F; --railInk:#E3EBF4; --railMuted:#8FA9C4; --fsecInk:#E3EBF4;
  }
}
:root[data-theme="dark"]{
  --bg:#0A1522; --surface:#10213A; --surface2:#0D1B2E; --ink:#E3EBF4; --muted:#93A6BA;
  --rule:#223A55; --rowrule:#172C44; --field:#0A1728; --fieldrule:#2F4A68;
  --accentText:#6DB6EC; --warn:#E3AE55; --bad:#F2837A; --good:#A8D642;
  --rail:#08233F; --railInk:#E3EBF4; --railMuted:#8FA9C4; --fsecInk:#E3EBF4;
}
/* temas de color */
:root[data-skin="neumorfico"]{--bg:#E0E7F4;--surface:#E0E7F4;--surface2:#D6DEEC;--ink:#2E3350;--muted:#535A78;--rule:#CDD5E4;--rowrule:#D6DDEA;--field:#E0E7F4;--fieldrule:transparent;--warn:#8A5A00;--bad:#B42318;--good:#2F6B12;--top2:#D6DEEC;--topRule:#C4CCDC;--topMuted:#535A78;--rail:#E0E7F4;--railInk:#2E3350;--railMuted:#535A78;--railRule:rgba(46,51,80,.10);--nd:#B9C2D6;--nl:#FFFFFF;--topSh:rgba(160,172,200,.45);--gInk:#FFFFFF;--blueInk:#FFFFFF;--limeInk:#FFFFFF;--blue:#5A4BEF;--btnBg:#5446E6;--lime:#5B4CF0;--accentText:#4636D2;--navy:#4337C9;--topLime:#4636D2;--fsecInk:#3A2FB8;--g1:#6A5CF7;--g2:#4B3DE0;color-scheme:light;--sh-out:7px 7px 16px var(--nd),-7px -7px 16px var(--nl);--sh-sm:4px 4px 9px var(--nd),-4px -4px 9px var(--nl);--sh-in:inset 3px 3px 7px var(--nd),inset -3px -3px 7px var(--nl)}
:root[data-skin="neu-naranja"]{--bg:#E0E7F4;--surface:#E0E7F4;--surface2:#D6DEEC;--ink:#2E3350;--muted:#535A78;--rule:#CDD5E4;--rowrule:#D6DDEA;--field:#E0E7F4;--fieldrule:transparent;--warn:#8A5A00;--bad:#B42318;--good:#2F6B12;--top2:#D6DEEC;--topRule:#C4CCDC;--topMuted:#535A78;--rail:#E0E7F4;--railInk:#2E3350;--railMuted:#535A78;--railRule:rgba(46,51,80,.10);--nd:#B9C2D6;--nl:#FFFFFF;--topSh:rgba(160,172,200,.45);--gInk:#1B1208;--blueInk:#1B1208;--limeInk:#1B1208;--blue:#C2410C;--btnBg:#FF6A00;--lime:#FF6A00;--accentText:#B34000;--navy:#C2410C;--topLime:#B34000;--fsecInk:#8A3100;--g1:#FF8A2A;--g2:#FF5F00;color-scheme:light;--sh-out:7px 7px 16px var(--nd),-7px -7px 16px var(--nl);--sh-sm:4px 4px 9px var(--nd),-4px -4px 9px var(--nl);--sh-in:inset 3px 3px 7px var(--nd),inset -3px -3px 7px var(--nl)}
:root[data-skin="neu-naranja"] .nav h4{box-shadow:var(--sh-sm),inset 4px 0 0 #FF6A00!important}
:root[data-skin="neu-naranja"] .nav button[aria-current="page"]{box-shadow:var(--sh-in),inset 3px 0 0 #FF6A00!important}
:root[data-skin="neu-naranja"] .tab[aria-pressed="true"]{box-shadow:var(--sh-in),inset 0 -3px 0 #FF6A00!important}
:root[data-skin="neu-grafito-naranja"]{--bg:#2B2E35;--surface:#2B2E35;--surface2:#25282E;--ink:#ECEEF2;--muted:#A7ADBA;--rule:#3A3E47;--rowrule:#33363E;--field:#2B2E35;--fieldrule:transparent;--warn:#F0B45A;--bad:#F2837A;--good:#9BD06A;--top2:#25282E;--topRule:#3A3E47;--topMuted:#A7ADBA;--rail:#2B2E35;--railInk:#ECEEF2;--railMuted:#A7ADBA;--railRule:rgba(255,255,255,.07);--nd:#1C1E23;--nl:#3A3E47;--topSh:rgba(0,0,0,.45);--blue:#FF7A1A;--btnBg:#FF7A1A;--blueInk:#1B1D22;--lime:#FF6A00;--limeInk:#1B1D22;--accentText:#FF7A1A;--navy:#C2410C;--topLime:#FF7A1A;--fsecInk:#FFB27A;--g1:#FF8A2A;--g2:#FF6A00;--gInk:#1B1D22;color-scheme:dark;--sh-out:7px 7px 16px var(--nd),-7px -7px 16px var(--nl);--sh-sm:4px 4px 9px var(--nd),-4px -4px 9px var(--nl);--sh-in:inset 3px 3px 7px var(--nd),inset -3px -3px 7px var(--nl)}
:root[data-skin="neu-grafito-violeta"]{--bg:#2B2E35;--surface:#2B2E35;--surface2:#25282E;--ink:#ECEEF2;--muted:#A7ADBA;--rule:#3A3E47;--rowrule:#33363E;--field:#2B2E35;--fieldrule:transparent;--warn:#F0B45A;--bad:#F2837A;--good:#9BD06A;--top2:#25282E;--topRule:#3A3E47;--topMuted:#A7ADBA;--rail:#2B2E35;--railInk:#ECEEF2;--railMuted:#A7ADBA;--railRule:rgba(255,255,255,.07);--nd:#1C1E23;--nl:#3A3E47;--topSh:rgba(0,0,0,.45);--blue:#7B6DFF;--btnBg:#5A4BEF;--blueInk:#FFFFFF;--lime:#5B4CF0;--limeInk:#FFFFFF;--accentText:#A99BFF;--navy:#4337C9;--topLime:#A99BFF;--fsecInk:#C9C0FF;--g1:#6A5CF7;--g2:#4B3DE0;--gInk:#FFFFFF;color-scheme:dark;--sh-out:7px 7px 16px var(--nd),-7px -7px 16px var(--nl);--sh-sm:4px 4px 9px var(--nd),-4px -4px 9px var(--nl);--sh-in:inset 3px 3px 7px var(--nd),inset -3px -3px 7px var(--nl)}
:root[data-skin="neu-indigo-noche"]{--bg:#2C2B4D;--surface:#2C2B4D;--surface2:#262544;--ink:#ECEBF7;--muted:#ACAAD0;--rule:#3B3A63;--rowrule:#34335A;--field:#2C2B4D;--fieldrule:transparent;--warn:#F0B45A;--bad:#F2837A;--good:#9BD06A;--top2:#262544;--topRule:#3B3A63;--topMuted:#ACAAD0;--rail:#2C2B4D;--railInk:#ECEBF7;--railMuted:#ACAAD0;--railRule:rgba(255,255,255,.07);--nd:#1E1D37;--nl:#3A3963;--topSh:rgba(12,11,30,.5);--blue:#7C79F2;--btnBg:#4F4DB8;--blueInk:#FFFFFF;--lime:#4F4DB8;--limeInk:#FFFFFF;--accentText:#A09CFF;--navy:#4442A8;--topLime:#A09CFF;--fsecInk:#CBC8FF;--g1:#5B59C9;--g2:#4442A8;--gInk:#FFFFFF;color-scheme:dark;--sh-out:8px 8px 18px var(--nd),-6px -6px 16px var(--nl);--sh-sm:5px 5px 10px var(--nd),-4px -4px 9px var(--nl);--sh-in:inset 4px 4px 8px var(--nd),inset -3px -3px 7px var(--nl)}
:root[data-skin="neu-indigo-noche"] .tab[aria-pressed="true"]{background:var(--btnBg)!important;color:#fff!important;box-shadow:var(--sh-sm)!important}
:root[data-skin="neu-indigo-noche"] .nav button[aria-current="page"]{background:var(--btnBg)!important;color:#fff!important;box-shadow:var(--sh-sm)!important}
:root[data-skin="neu-indigo-noche"] .nav button[aria-current="page"] .ab,:root[data-skin="neu-indigo-noche"] .nav button[aria-current="page"] .nr{color:#fff!important}
:root[data-skin="neu-verde-fluor"]{--bg:#2B2E35;--surface:#2B2E35;--surface2:#25282E;--ink:#ECEEF2;--muted:#A7ADBA;--rule:#3A3E47;--rowrule:#33363E;--field:#2B2E35;--fieldrule:transparent;--warn:#F0B45A;--bad:#F2837A;--good:#9BD06A;--top2:#25282E;--topRule:#3A3E47;--topMuted:#A7ADBA;--rail:#2B2E35;--railInk:#ECEEF2;--railMuted:#A7ADBA;--railRule:rgba(255,255,255,.07);--nd:#1C1E23;--nl:#3A3E47;--topSh:rgba(0,0,0,.45);--blue:#2BF05A;--btnBg:#2BF05A;--blueInk:#10130F;--lime:#39FF6A;--limeInk:#10130F;--accentText:#39FF6A;--navy:#15803D;--topLime:#39FF6A;--fsecInk:#B6FFC6;--g1:#5BFF7E;--g2:#16D94A;--gInk:#10130F;color-scheme:dark;--sh-out:7px 7px 16px var(--nd),-7px -7px 16px var(--nl);--sh-sm:4px 4px 9px var(--nd),-4px -4px 9px var(--nl);--sh-in:inset 3px 3px 7px var(--nd),inset -3px -3px 7px var(--nl)}
:root[data-skin="neu-grafito-naranja"] .nav h4{box-shadow:var(--sh-sm),inset 4px 0 0 #FF7A1A!important}
:root[data-skin="neu-grafito-naranja"] .nav button[aria-current="page"]{box-shadow:var(--sh-in),inset 3px 0 0 #FF7A1A!important}
:root[data-skin="neu-grafito-naranja"] .tab[aria-pressed="true"]{box-shadow:var(--sh-in),inset 0 -3px 0 #FF7A1A!important}
:root[data-skin="neu-grafito-violeta"] .nav h4{box-shadow:var(--sh-sm),inset 4px 0 0 #7B6DFF!important}
:root[data-skin="neu-grafito-violeta"] .nav button[aria-current="page"]{box-shadow:var(--sh-in),inset 3px 0 0 #7B6DFF!important}
:root[data-skin="neu-grafito-violeta"] .tab[aria-pressed="true"]{box-shadow:var(--sh-in),inset 0 -3px 0 #7B6DFF!important}
:root[data-skin="neu-indigo-noche"] .nav h4{box-shadow:var(--sh-sm),inset 4px 0 0 #7C79F2!important}
:root[data-skin="neu-verde-fluor"] .nav h4{box-shadow:var(--sh-sm),inset 4px 0 0 #39FF6A!important}
:root[data-skin="neu-verde-fluor"] .nav button[aria-current="page"]{box-shadow:var(--sh-in),inset 3px 0 0 #39FF6A!important}
:root[data-skin="neu-verde-fluor"] .tab[aria-pressed="true"]{box-shadow:var(--sh-in),inset 0 -3px 0 #39FF6A!important}
:root[data-skin="neu-verde-claro"]{--bg:#E0E7F4;--surface:#E0E7F4;--surface2:#D6DEEC;--ink:#2E3350;--muted:#535A78;--rule:#CDD5E4;--rowrule:#D6DDEA;--field:#E0E7F4;--fieldrule:transparent;--warn:#8A5A00;--bad:#B42318;--good:#2F6B12;--top2:#D6DEEC;--topRule:#C4CCDC;--topMuted:#535A78;--rail:#E0E7F4;--railInk:#2E3350;--railMuted:#535A78;--railRule:rgba(46,51,80,.10);--nd:#B9C2D6;--nl:#FFFFFF;--topSh:rgba(160,172,200,.45);--blue:#008C2A;--btnBg:#2BF05A;--blueInk:#0B1A10;--lime:#39FF6A;--limeInk:#0B1A10;--accentText:#007522;--navy:#15803D;--topLime:#007522;--fsecInk:#0E6B26;--g1:#5BFF7E;--g2:#16D94A;--gInk:#0B1A10;color-scheme:light;--sh-out:7px 7px 16px var(--nd),-7px -7px 16px var(--nl);--sh-sm:4px 4px 9px var(--nd),-4px -4px 9px var(--nl);--sh-in:inset 3px 3px 7px var(--nd),inset -3px -3px 7px var(--nl)}
:root[data-skin="neu-azul-cielo"]{--bg:#E9F0F8;--surface:#E9F0F8;--surface2:#DEE7F2;--ink:#2A3445;--muted:#56637A;--rule:#D0DAE7;--rowrule:#DAE3EE;--field:#E9F0F8;--fieldrule:transparent;--warn:#8A5A00;--bad:#B42318;--good:#2F6B12;--top2:#DEE7F2;--topRule:#C6D2E1;--topMuted:#56637A;--rail:#E9F0F8;--railInk:#2A3445;--railMuted:#56637A;--railRule:rgba(42,52,69,.10);--nd:#BCC8D8;--nl:#FFFFFF;--topSh:rgba(160,178,205,.45);--blue:#0D8BD0;--btnBg:#0077C0;--blueInk:#FFFFFF;--lime:#22A2E6;--limeInk:#FFFFFF;--accentText:#0A66B4;--navy:#0B5CA8;--topLime:#0A66B4;--fsecInk:#0A4F8F;--g1:#0C80C8;--g2:#0065AD;--gInk:#FFFFFF;color-scheme:light;--sh-out:7px 7px 16px var(--nd),-7px -7px 16px var(--nl);--sh-sm:4px 4px 9px var(--nd),-4px -4px 9px var(--nl);--sh-in:inset 3px 3px 7px var(--nd),inset -3px -3px 7px var(--nl)}
:root[data-skin="neu-turquesa"]{--bg:#ECEEF3;--surface:#ECEEF3;--surface2:#E1E4EB;--ink:#33404D;--muted:#5C6773;--rule:#D6DAE2;--rowrule:#E0E3EA;--field:#ECEEF3;--fieldrule:transparent;--warn:#8A5A00;--bad:#B42318;--good:#2F6B12;--top2:#E1E4EB;--topRule:#CFD4DD;--topMuted:#5C6773;--rail:#ECEEF3;--railInk:#33404D;--railMuted:#5C6773;--railRule:rgba(51,64,77,.10);--nd:#C8CCD6;--nl:#FFFFFF;--topSh:rgba(170,176,190,.45);--blue:#1596AA;--btnBg:#3CC1D4;--blueInk:#0B2A30;--lime:#3CC1D4;--limeInk:#0B2A30;--accentText:#0B7285;--navy:#0E7C8F;--topLime:#0B7285;--fsecInk:#0A5F6E;--g1:#6ED8E7;--g2:#2AA9BE;--gInk:#0B2A30;color-scheme:light;--sh-out:7px 7px 16px var(--nd),-7px -7px 16px var(--nl);--sh-sm:4px 4px 9px var(--nd),-4px -4px 9px var(--nl);--sh-in:inset 3px 3px 7px var(--nd),inset -3px -3px 7px var(--nl)}
:root[data-skin="neu-rojo-fluor"]{--bg:#ECECEE;--surface:#ECECEE;--surface2:#E2E2E6;--ink:#34363D;--muted:#5E616B;--rule:#D8D8DD;--rowrule:#E1E1E5;--field:#ECECEE;--fieldrule:transparent;--warn:#8A5A00;--bad:#B42318;--good:#2F6B12;--top2:#E2E2E6;--topRule:#D2D2D8;--topMuted:#5E616B;--rail:#ECECEE;--railInk:#34363D;--railMuted:#5E616B;--railRule:rgba(52,54,61,.10);--nd:#C9C9CE;--nl:#FFFFFF;--topSh:rgba(175,175,185,.45);--blue:#FF1F3D;--btnBg:#E0102B;--blueInk:#FFFFFF;--lime:#FF1F3D;--limeInk:#FFFFFF;--accentText:#C8102E;--navy:#B00D25;--topLime:#C8102E;--fsecInk:#9E0C22;--g1:#FF2B47;--g2:#D90A26;--gInk:#FFFFFF;color-scheme:light;--sh-out:7px 7px 16px var(--nd),-7px -7px 16px var(--nl);--sh-sm:4px 4px 9px var(--nd),-4px -4px 9px var(--nl);--sh-in:inset 3px 3px 7px var(--nd),inset -3px -3px 7px var(--nl)}
:root[data-skin="neu-purpura"]{--bg:#EDEFFB;--surface:#EDEFFB;--surface2:#E2E5F6;--ink:#2B2A4A;--muted:#5D5D80;--rule:#D6D9EF;--rowrule:#E0E3F4;--field:#EDEFFB;--fieldrule:transparent;--warn:#8A5A00;--bad:#B42318;--good:#2F6B12;--top2:#E2E5F6;--topRule:#CFD3EC;--topMuted:#5D5D80;--rail:#EDEFFB;--railInk:#2B2A4A;--railMuted:#5D5D80;--railRule:rgba(43,42,74,.10);--nd:#C4C8E6;--nl:#FFFFFF;--topSh:rgba(170,172,215,.45);--blue:#5A12F2;--btnBg:#5A12F2;--blueInk:#FFFFFF;--lime:#6D28F0;--limeInk:#FFFFFF;--accentText:#5B21E0;--navy:#4A10E0;--topLime:#5B21E0;--fsecInk:#3D0DB8;--g1:#7A2CFF;--g2:#4A10E0;--gInk:#FFFFFF;color-scheme:light;--sh-out:7px 7px 16px var(--nd),-7px -7px 16px var(--nl);--sh-sm:4px 4px 9px var(--nd),-4px -4px 9px var(--nl);--sh-in:inset 3px 3px 7px var(--nd),inset -3px -3px 7px var(--nl)}
:root[data-skin="neu-gce"]{--bg:#E6EBF1;--surface:#E6EBF1;--surface2:#DCE2EA;--ink:#2F3338;--muted:#595E66;--rule:#D1D8E1;--rowrule:#DAE0E8;--field:#E6EBF1;--fieldrule:transparent;--warn:#8A5A00;--bad:#B42318;--good:#3F7A12;--top2:#DCE2EA;--topRule:#CBD2DC;--topMuted:#595E66;--rail:#E6EBF1;--railInk:#2F3338;--railMuted:#595E66;--railRule:rgba(47,51,56,.10);--nd:#C3CBD6;--nl:#FFFFFF;--topSh:rgba(165,175,190,.45);--blue:#0E95CF;--btnBg:#0A72B8;--blueInk:#FFFFFF;--lime:#00B5D6;--limeInk:#08323A;--accentText:#0A64A8;--navy:#0A6FB0;--topLime:#0A64A8;--fsecInk:#0A4F85;--g1:#0E95CF;--g2:#0A5F9E;--gInk:#FFFFFF;color-scheme:light;--sh-out:7px 7px 16px var(--nd),-7px -7px 16px var(--nl);--sh-sm:4px 4px 9px var(--nd),-4px -4px 9px var(--nl);--sh-in:inset 3px 3px 7px var(--nd),inset -3px -3px 7px var(--nl)}
:root[data-skin="neu-gce"] .nav h4{box-shadow:var(--sh-sm),inset 5px 0 0 #B8D22A!important}
:root[data-skin="neu-gce"] .nav button[aria-current="page"]{box-shadow:var(--sh-in),inset 3px 0 0 #00B5D6!important}
:root[data-skin="neu-gce"] .tab[aria-pressed="true"]{box-shadow:var(--sh-in),inset 0 -3px 0 #B8D22A!important}
:root[data-skin="neu-gce"] .hm-tab[aria-selected="true"]{border-bottom-color:#B8D22A}
:root[data-skin="neu-gce"] .ring::before{background:conic-gradient(#EBE200,#7DBA2E,#00B5D6,#0A6FB0,#EBE200)}
:root[data-skin="neu-gce"] .tk-res,:root[data-skin="neu-gce"] .btn.pri,:root[data-skin="neu-gce"] .cfm-ic{background:linear-gradient(145deg,#12A6D9,#0A5F9E)}
:root[data-skin="neu-gce"] .tk-res{box-shadow:4px 4px 10px var(--nd),inset 0 -4px 0 #B8D22A}
:root[data-skin="neu-gce"] .hn-meter i,:root[data-skin="neu-gce"] .hn-mini i{background:linear-gradient(90deg,#00B5D6,#0A6FB0)}
:root[data-skin="neu-gce"] .nav .ab{color:#0A72B8}
:root[data-skin="neu-purpura"] .nav h4{box-shadow:var(--sh-sm),inset 4px 0 0 #6D28F0!important}
:root[data-skin="neu-purpura"] .nav button[aria-current="page"]{background:linear-gradient(145deg,var(--g1),var(--g2))!important;color:#fff!important;box-shadow:var(--sh-sm)!important}
:root[data-skin="neu-purpura"] .nav button[aria-current="page"] .ab,:root[data-skin="neu-purpura"] .nav button[aria-current="page"] .nr{color:#fff!important}
:root[data-skin="neu-purpura"] .tab[aria-pressed="true"]{background:linear-gradient(145deg,var(--g1),var(--g2))!important;color:#fff!important;box-shadow:var(--sh-sm)!important}
:root[data-skin="neu-rojo-fluor"] .nav h4{box-shadow:var(--sh-sm),inset 4px 0 0 #FF1F3D!important}
:root[data-skin="neu-rojo-fluor"] .nav button[aria-current="page"]{box-shadow:var(--sh-in),inset 0 0 0 1px #FF1F3D!important}
:root[data-skin="neu-rojo-fluor"] .tab[aria-pressed="true"]{background:linear-gradient(145deg,var(--g1),var(--g2))!important;color:#fff!important;box-shadow:var(--sh-sm)!important}
:root[data-skin="neu-rojo-fluor"] .ring::before{background:conic-gradient(#FF1F3D,#FF8A96,#FF1F3D)}
:root[data-skin="neu-turquesa"] .nav h4{box-shadow:var(--sh-sm),inset 4px 0 0 #3CC1D4!important}
:root[data-skin="neu-turquesa"] .nav button[aria-current="page"]{box-shadow:var(--sh-in),inset 3px 0 0 #3CC1D4!important}
:root[data-skin="neu-turquesa"] .tab[aria-pressed="true"]{box-shadow:var(--sh-in),inset 0 -3px 0 #3CC1D4!important}
:root[data-skin="neu-turquesa"] .nav .ab{color:#1596AA}
:root[data-skin="neu-azul-cielo"] .nav h4{box-shadow:var(--sh-sm),inset 4px 0 0 #22A2E6!important}
:root[data-skin="neu-azul-cielo"] .nav button[aria-current="page"]{box-shadow:var(--sh-in),inset 3px 0 0 #22A2E6!important}
:root[data-skin="neu-azul-cielo"] .tab[aria-pressed="true"]{background:linear-gradient(145deg,var(--g1),var(--g2))!important;color:#fff!important;box-shadow:var(--sh-sm)!important}
:root[data-skin="neu-verde-claro"] .nav h4{box-shadow:var(--sh-sm),inset 4px 0 0 #39FF6A!important}
:root[data-skin="neu-verde-claro"] .nav button[aria-current="page"]{box-shadow:var(--sh-in),inset 3px 0 0 #39FF6A!important}
:root[data-skin="neu-verde-claro"] .tab[aria-pressed="true"]{box-shadow:var(--sh-in),inset 0 -3px 0 #39FF6A!important}
:root[data-neu] .top{background:var(--bg);color:var(--ink);box-shadow:0 6px 16px var(--topSh)}
:root[data-neu] .top select{background:var(--bg);color:var(--ink);border:0;box-shadow:var(--sh-in);border-radius:12px}
:root[data-neu] .tbtn{background:var(--bg);color:var(--ink);border:0;box-shadow:var(--sh-sm);border-radius:12px}
:root[data-neu] .tbtn:hover{background:var(--bg);color:var(--accentText)}
:root[data-neu] .tbtn[aria-pressed="false"]{box-shadow:var(--sh-in);color:var(--muted)}
:root[data-neu] .author-btn{color:var(--ink)}
:root[data-neu] .author-btn:hover{background:transparent;box-shadow:var(--sh-sm)}
:root[data-neu] .ring img{border-color:var(--bg)}
:root[data-neu] .nav{border-right:0}
:root[data-neu] .nav h4{background:var(--bg);border-left:0;border-radius:12px;box-shadow:var(--sh-sm);color:var(--accentText)}
:root[data-neu] .nav .ngh{border-radius:12px}
:root[data-neu] .nav .ngh:hover{background:transparent}
:root[data-neu] .nav button[data-view]{border-left:0;border-radius:12px}
:root[data-neu] .nav button[data-view]:hover{background:transparent;color:var(--accentText)}
:root[data-neu] .nav button[aria-current="page"]{background:var(--bg);box-shadow:var(--sh-in);color:var(--accentText)}
:root[data-neu] .nav button[aria-current="page"] .ab{color:var(--accentText)}
:root[data-neu] .grp,:root[data-neu] .ai,:root[data-neu] .f210,:root[data-neu] .red{border:0;border-radius:18px;box-shadow:var(--sh-out)}
:root[data-neu] .grp{margin-bottom:24px}
:root[data-neu] .gh{border-bottom-color:var(--rowrule)}
:root[data-neu] .stats,:root[data-neu] .cmp{border:0;border-radius:18px;box-shadow:var(--sh-out);background:var(--rowrule)}
:root[data-neu] .note{border-radius:14px;box-shadow:var(--sh-sm)}
:root[data-neu] .row.tot,:root[data-neu] tfoot td{background:color-mix(in srgb,var(--lime) 7%,var(--bg))}
:root[data-neu] input,:root[data-neu] select,:root[data-neu] textarea{background:var(--bg);border:1px solid transparent;border-radius:12px;box-shadow:var(--sh-in)}
:root[data-neu] input:focus-visible,:root[data-neu] select:focus-visible,:root[data-neu] textarea:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
:root[data-neu] input[type="checkbox"]{accent-color:var(--blue);box-shadow:none}
input[type="checkbox"]{width:20px!important;height:20px!important;min-width:20px;flex:0 0 20px!important;margin:0;padding:0;cursor:pointer;accent-color:var(--btnBg)}
label:has(>input[data-sol]){cursor:pointer;line-height:1.45}
label>input[data-sol]{margin-top:1px}
:root[data-neu] .btn{background:var(--bg);border:0;border-radius:12px;box-shadow:var(--sh-sm);color:var(--ink)}
:root[data-neu] .btn:hover{color:var(--accentText)}
:root[data-neu] .btn:active{box-shadow:var(--sh-in)}
:root[data-neu] .btn.pri{background:linear-gradient(145deg,var(--g1),var(--g2));color:var(--gInk);box-shadow:4px 4px 10px var(--nd),-4px -4px 10px var(--nl)}
:root[data-neu] .btn.pri:hover{color:var(--gInk);filter:brightness(1.06)}
:root[data-neu] .btn.link{background:none;box-shadow:none}
:root[data-neu] .btn.bad{color:var(--bad)}
:root[data-neu] .tab{background:var(--bg);border:0;border-radius:12px;box-shadow:var(--sh-sm);color:var(--ink)}
:root[data-neu] .tab[aria-pressed="true"]{background:var(--bg);color:var(--accentText);box-shadow:var(--sh-in);font-weight:600}
:root[data-neu] .chip{background:var(--bg);border:0;box-shadow:var(--sh-sm)}
:root[data-neu] .ticket{background:var(--bg);color:var(--ink);border-radius:20px;box-shadow:var(--sh-out)}
:root[data-neu] .tk-res{background:linear-gradient(145deg,var(--g1),var(--g2));color:var(--gInk);border-radius:14px;box-shadow:4px 4px 10px var(--nd)}
:root[data-neu] .dock{background:var(--bg);color:var(--ink);box-shadow:0 -6px 16px var(--topSh)}
:root[data-neu] .dock .btn{background:var(--bg);color:var(--ink);box-shadow:var(--sh-sm)}
:root[data-neu] .skin-menu,:root[data-neu] .author-card,:root[data-neu] .modal .box{background:var(--bg);border:0;border-radius:16px;box-shadow:var(--sh-out)}
:root[data-neu] .skin-opt[aria-selected="true"]{background:var(--bg);box-shadow:var(--sh-in);color:var(--accentText)}
:root[data-neu] .red.main{background:linear-gradient(145deg,var(--g1),var(--g2));color:var(--gInk)}
:root[data-neu] .red.main .red-d{color:var(--gInk);opacity:.85}
:root[data-neu] .red.main .red-c{color:var(--gInk)}
:root[data-neu] .fc,:root[data-neu] .idg div{border-color:var(--rule);background:var(--bg)}
:root[data-neu] .imgbox .thumb{border:0;box-shadow:var(--sh-in)}
:root[data-neu] .paper-wrap .paper{box-shadow:var(--sh-out);border-radius:6px}

html{scroll-padding-top:env(safe-area-inset-top,0px)}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:var(--ink);transition:background-color .3s ease,color .3s ease;font:15px/1.5 var(--body);-webkit-font-smoothing:antialiased}
button{font:inherit}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--navy);color:#fff;display:flex;align-items:center;gap:14px;padding:10px 24px 10px 20px;min-height:58px}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.firm{display:flex;align-items:center;gap:9px;white-space:nowrap}
.firm{gap:8px}
.firm-png{display:block;height:56px;width:auto;margin:-6px 0}

.bdiv{width:1px;align-self:stretch;margin:4px 0;background:var(--topRule)}
.mark{display:flex;align-items:center;gap:10px;white-space:nowrap}
.author{position:relative}
.author-btn{display:flex;align-items:center;gap:10px;background:none;border:0;color:#fff;cursor:pointer;padding:2px 4px 2px 2px;border-radius:30px;text-align:left}
.author-btn:hover{background:var(--top2)}
.author-t b{display:block;font:600 13px/1.2 var(--display);white-space:nowrap}
.author-t small{display:block;font:400 11.5px/1.3 var(--body);color:var(--topMuted);white-space:nowrap}
.ring{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;flex:none;isolation:isolate}
.ring::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(var(--lime),var(--blue),var(--lime));animation:ringspin 6s linear infinite;z-index:-1}
.ring img{width:38px;height:38px;border-radius:50%;display:block;border:2px solid var(--navy);background:#E8F0F8;object-fit:cover}
.ring.lg{width:84px;height:84px}.ring.lg img{width:76px;height:76px;border-width:3px;border-color:var(--surface)}
@keyframes ringspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.ring::before{animation:none}}
.author-card{position:absolute;top:calc(100% + 10px);right:0;z-index:70;width:350px;background:var(--surface);color:var(--ink);border:1px solid var(--rule);border-radius:14px;box-shadow:0 18px 48px rgba(0,0,0,.28);padding:16px 18px;display:none}
.author-card.open{display:block}
.ac-top{display:flex;gap:14px;align-items:center}
.ac-top h4{margin:0 0 3px;font:600 16px/1.2 var(--display)}
.ac-top p{margin:0;font-size:12.5px;color:var(--muted)}
.ac-bio{font-size:13.5px;line-height:1.5;margin:12px 0 10px}
.ac-links{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--rule);padding-top:10px}
.ac-links a{color:var(--accentText);font-size:13px;text-decoration:none;overflow-wrap:anywhere}
.ac-links a:hover{text-decoration:underline}
.mark b{background:var(--lime);color:var(--limeInk);font:600 12px var(--mono);padding:5px 7px;border-radius:5px}
.mark span{font:600 17px/1.1 var(--display);letter-spacing:-.01em}
.mark small{display:block;font:400 12px var(--body);color:var(--topMuted);letter-spacing:0}
.top .sp{flex:1}
.top select{background:var(--top2);color:#fff;border:1px solid var(--topRule);border-radius:8px;padding:7px 10px;max-width:300px;font:500 14px var(--body)}
.status{font-size:12px;color:var(--topMuted);white-space:nowrap}
.navsel{display:none}
.layout{--mw:900px;--navw:262px;--railw:318px;display:grid;grid-template-columns:var(--navw) minmax(0,1fr) var(--railw);align-items:start;transition:grid-template-columns .2s ease}
body.nav-off .layout{--navw:64px;--mw:1240px}
body.rail-off .layout{--railw:0px;--mw:1240px}
body.rail-off .rail{display:none}
.layout:has(table.cg),.layout:has(table.vt){--railw:0px;--mw:1400px}
.layout:has(.pat-wide){--mw:100%}.layout:has(table.cg) .rail,.layout:has(table.vt) .rail{display:none}
body.rail-off .dock{display:flex}
@media (prefers-reduced-motion:reduce){.layout{transition:none}}
.tbtn{display:inline-flex;align-items:center;gap:7px;background:transparent;color:#fff;border:1px solid var(--topRule);border-radius:8px;padding:6px 10px;cursor:pointer;font:500 13px var(--body);white-space:nowrap}
.tbtn:hover{background:var(--top2)}
.tbtn svg{width:18px;height:18px;flex:none}
.tbtn[aria-pressed="false"]{color:var(--topMuted)}
.tbtn.icon{padding:6px 8px}
.skin{position:relative}
.skin-sw{width:16px;height:16px;border-radius:50%;flex:none;border:1px solid rgba(255,255,255,.35);background:conic-gradient(var(--sa) 0 50%,var(--sb) 50% 100%)}
.skin .chev{width:12px;height:12px;opacity:.8}
.skin-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:70;width:320px;max-height:calc(100vh - 90px);overflow-y:auto;overscroll-behavior:contain;background:var(--surface);color:var(--ink);border:1px solid var(--rule);border-radius:12px;box-shadow:0 18px 48px rgba(0,0,0,.28);padding:6px;display:none}
.skin-menu.open{display:block}
.skin-menu h5{margin:6px 10px 4px;font:600 12px var(--body);color:var(--muted)}
.skin-opt{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;color:var(--ink);text-align:left;padding:8px 10px;border-radius:8px;cursor:pointer;font:500 14px var(--body)}
.skin-opt:hover,.skin-opt:focus-visible{background:var(--surface2);outline:none}
.skin-opt[aria-selected="true"]{background:color-mix(in srgb,var(--lime) 18%,var(--surface))}
.skin-opt .skin-sw{width:18px;height:18px;border-color:var(--rule);box-shadow:0 0 0 3px var(--sbg) inset}
.skin-opt .nm{flex:1;white-space:nowrap}
.skin-opt .md{font-size:11px;color:var(--muted)}
.skin-opt .ok{width:14px;height:14px;color:var(--accentText);visibility:hidden}
.skin-opt[aria-selected="true"] .ok{visibility:visible}
.skin-sw.auto{background:linear-gradient(90deg,#EDF1F5 0 50%,#0A1522 50% 100%)}

.nav .lb{flex:1;min-width:0}
.nav .ab{display:flex;flex:none;color:var(--muted);position:relative}
.nav .ic{width:18px;height:18px}
.nav button:hover .ab,.nav button[aria-current="page"] .ab{color:var(--accentText)}
.nav .ab.has::after{content:"";position:absolute;top:-2px;right:-3px;width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 2px var(--bg)}
.nav .lb.has::after{display:none}
body.nav-off .nav{padding:10px 6px 40px;overflow-x:hidden}
body.nav-off .nav h4{font-size:0;height:0;margin:10px 8px;border-top:1px solid var(--rule)}
body.nav-off .nav button{justify-content:center;padding:8px 0;border-radius:0 6px 6px 0}
body.nav-off .nav button>span:not(.ab){display:none}
body.nav-off .nav button{justify-content:center}
body.nav-off .nav button{padding:9px 0}
body.nav-off .nav .ic{width:21px;height:21px}
body.nav-off .nav .ab{color:var(--ink)}
.nav button[data-view]{justify-content:flex-start;align-items:flex-start;gap:10px}
.nav button[data-view] .ab{margin-top:1px}
.nav button[data-view] .nr{padding-top:2px}
body.nav-off .nav button[data-view]{justify-content:center;align-items:center}
body.nav-off .nav button[data-view] .ab{margin-top:0}
.nav{position:sticky;top:calc(58px + env(safe-area-inset-top,0px));max-height:calc(100vh - 58px);overflow:auto;padding:14px 10px 40px;border-right:1px solid var(--rule)}
.nav h4{font:700 12.5px/1.2 var(--display);letter-spacing:.07em;text-transform:uppercase;color:var(--fsecInk);background:color-mix(in srgb,var(--lime) 20%,color-mix(in srgb,var(--btnBg) 9%,var(--surface)));border-left:4px solid var(--btnBg);border-radius:0 6px 6px 0;padding:7px 10px;margin:18px 0 6px}
.nav .ngrp:first-child h4{margin-top:4px}
.nav h4{padding:0!important}
.nav .ngh{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:7px 10px;cursor:pointer;border-radius:0 6px 6px 0}
.nav .ngh:hover{background:color-mix(in srgb,var(--btnBg) 8%,transparent)}
.nav .ngh:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.nav .ngh .chev{width:14px;height:14px;flex:none;transition:transform .2s ease}
.nav .ngrp:not(.open) .ngh .chev{transform:rotate(-90deg)}
.nav .ngrp:not(.open) .ngi{display:none}
body.nav-off .nav .ngh{display:none}
body.nav-off .nav .ngrp .ngi{display:block}
@media (prefers-reduced-motion:reduce){.nav .ngh .chev{transition:none}}
.nav button{display:flex;justify-content:space-between;align-items:baseline;gap:8px;width:100%;border:0;border-left:3px solid transparent;background:none;color:var(--ink);text-align:left;padding:7px 10px;border-radius:0 6px 6px 0;font-weight:500;font-size:14px;cursor:pointer}
.nav button:hover{background:var(--surface2)}
.nav button[aria-current="page"]{background:var(--surface);border-left-color:var(--lime);box-shadow:inset 0 0 0 1px var(--rule)}
.nav .nr{font:11px var(--mono);color:var(--muted);white-space:nowrap}
.nav .has::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--blue);margin-left:6px;vertical-align:middle}
main{padding:26px 32px 120px;min-width:0}
.vh{max-width:var(--mw);margin-bottom:20px}
h1{font:600 30px/1.15 var(--display);letter-spacing:-.02em;margin:0 0 6px}
.lede{color:var(--muted);max-width:68ch;margin:0}
.grp{background:var(--surface);border:1px solid var(--rule);border-radius:10px;margin:0 0 18px;max-width:var(--mw);overflow:hidden}
.gh{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 18px 10px;border-bottom:1px solid var(--rule)}
.gh h3{font:600 16px/1.3 var(--display);margin:0}
.gh p{margin:4px 0 0;font-size:13px;color:var(--muted)}
.rg{font:12px var(--mono);color:var(--accentText);white-space:nowrap}
.colh,.row{display:grid;grid-template-columns:minmax(0,1fr) 170px 150px;gap:14px;align-items:center;padding:7px 18px}
.colh{padding-top:9px;padding-bottom:0;font-size:12px;color:var(--muted)}
.colh span:nth-child(n+2){text-align:right}
.row+.row{border-top:1px solid var(--rowrule)}
.row:not(.tot):hover{background:var(--surface2)}
.lab{min-width:0;font-size:14px}
.lab small{display:block;color:var(--muted);font-size:12px;line-height:1.35;margin-top:2px}
input,select,textarea{font:inherit;font-size:14px;color:var(--ink);background:var(--field);border:1px solid var(--fieldrule);border-radius:6px;padding:7px 9px;width:100%;min-width:0}
textarea{min-height:80px;resize:vertical}
input.n{font-family:var(--mono);text-align:right}
:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
output{font-family:var(--mono);font-size:14px;text-align:right;color:var(--muted);white-space:nowrap}
output.on{color:var(--ink)}
.auto{font-size:12px;color:var(--muted);text-align:right}
.row.tot{grid-template-columns:minmax(0,1fr) 150px;background:var(--surface2);border-top:1px solid var(--rule)}
.row.tot .lab{font-weight:600}
.row.tot output{color:var(--ink);font-weight:500}
.row.frm{grid-template-columns:minmax(0,1fr) 334px}
.row.frm output{text-align:left}
.btn{font-weight:500;font-size:14px;border-radius:8px;padding:8px 14px;border:1px solid var(--fieldrule);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap}
.btn:hover{border-color:var(--blue)}
.btn.pri{background:var(--btnBg);border-color:var(--btnBg);color:var(--blueInk)}
.btn.pri:hover{filter:brightness(1.08)}
.btn.link{background:none;border-color:transparent;color:var(--accentText);padding:6px 8px}
.btn.bad{color:var(--bad)}
.btn.sm{padding:5px 10px;font-size:13px}
.bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 16px;max-width:var(--mw)}
.bar .grow{flex:1;min-width:180px}
.scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:14px}
th{font:600 12px var(--body);color:var(--muted);text-align:left;padding:9px 10px;border-bottom:1px solid var(--rule);white-space:nowrap;vertical-align:bottom}
th.m{text-align:right}
td{padding:6px 10px;border-bottom:1px solid var(--rowrule);vertical-align:middle}
td.m{font-family:var(--mono);text-align:right;white-space:nowrap}
tfoot td{background:var(--surface2);font-weight:600;border-bottom:0}
.le td{padding:5px 4px}table.le{width:100%}.le th{white-space:normal;line-height:1.2;vertical-align:bottom;font-size:11.5px}.le td.m output{white-space:nowrap}.le td>input,.le td>select{width:100%;box-sizing:border-box}.le td:last-child{width:34px;text-align:center}
.le input,.le select{padding:6px 7px}
.le .w-money{min-width:92px}.le .w-text{min-width:90px}.le .w-sel{min-width:96px}.le .w-dec{min-width:70px}
.le-foot{padding:10px 18px;border-top:1px solid var(--rule)}
.chip{display:inline-block;font-size:12px;padding:2px 9px;border-radius:99px;border:1px solid var(--rule);background:var(--surface2);white-space:nowrap}
.chip.ok{color:var(--good);border-color:currentColor}
.chip.late{color:var(--bad);border-color:currentColor}
.chip.soon{color:var(--warn);border-color:currentColor}
.note{border-left:3px solid var(--blue);background:var(--surface);padding:11px 14px;border-radius:0 8px 8px 0;font-size:14px;margin:0 0 16px;max-width:var(--mw)}
.note.warn{border-left-color:var(--warn)}
.note.bad{border-left-color:var(--bad)}
.rst-alert{display:flex;gap:14px;align-items:flex-start;max-width:var(--mw);margin:0 0 16px;padding:14px 18px;border:2px solid #d92d20;border-left-width:8px;border-radius:12px;background:#fff1f0;color:#7a1a12;box-shadow:0 4px 14px rgba(217,45,32,.18);animation:rstPulse 2.4s ease-in-out 3}
.rst-alert svg{flex:0 0 40px;width:40px;height:40px}
.rst-alert strong{display:block;font:700 17px/1.3 var(--display);color:#b42318;text-transform:uppercase;letter-spacing:.01em}
.rst-alert p{margin:4px 0 0;font-size:14px;line-height:1.45;color:#5c1610}
@keyframes rstPulse{50%{box-shadow:0 0 0 6px rgba(217,45,32,.18)}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .rst-alert{background:#3a1210;color:#ffd6d1;border-color:#f04438}:root:not([data-theme="light"]) .rst-alert strong{color:#ff8a80}:root:not([data-theme="light"]) .rst-alert p{color:#ffd6d1}}
:root[data-theme="dark"] .rst-alert{background:#3a1210;border-color:#f04438}:root[data-theme="dark"] .rst-alert strong{color:#ff8a80}:root[data-theme="dark"] .rst-alert p{color:#ffd6d1}
@media print{.rst-alert{animation:none;box-shadow:none}}
.note b{font-weight:600}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:10px;overflow:hidden;margin:0 0 18px;max-width:var(--mw)}
.stats div{background:var(--surface);padding:12px 16px}
.stats strong{display:block;font:600 22px var(--mono);letter-spacing:-.02em}
.stats span{font-size:12px;color:var(--muted)}
.clink{background:none;border:0;padding:0;color:var(--accentText);font-weight:500;cursor:pointer;text-align:left}
.clink:hover{text-decoration:underline}
.empty{padding:36px 18px;text-align:center;color:var(--muted)}
.empty p{max-width:46ch;margin:0 auto 14px}
.kv{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;padding:14px 18px;font-size:14px}
.kv output,.kv .v{font-family:var(--mono);text-align:right}
.kv .t{font-weight:600;border-top:1px solid var(--rule);padding-top:6px}
.checks{list-style:none;margin:0;padding:6px 18px 14px}
.checks li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--rowrule);font-size:14px}
.checks li:last-child{border-bottom:0}
.yes{color:var(--bad);font-weight:600}.no{color:var(--muted)}
/* rail */
.rail{position:sticky;top:calc(58px + env(safe-area-inset-top,0px));padding:22px 20px 40px 0}
.ticket{background:var(--rail);color:var(--railInk);border-radius:12px;padding:16px 18px 16px}
.tk-name{font:600 15px/1.25 var(--display)}
.tk-sub{font-size:12px;color:var(--railMuted);margin:2px 0 10px}
.tk-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;font-size:13px;padding:5px 0;border-top:1px solid var(--railRule)}
.tk-row .n{font:11px var(--mono);color:var(--railMuted);padding-top:2px}
.tk-row .v{font-family:var(--mono);font-size:13px}
.tk-res{margin-top:12px;background:var(--lime);color:var(--limeInk);border-radius:8px;padding:11px 14px}
.tk-res span{font-size:12px;font-weight:600}
.tk-res strong{display:block;font:600 25px/1.2 var(--mono);letter-spacing:-.02em;word-break:break-all}
.tk-foot{font-size:12px;color:var(--railMuted);margin-top:10px}
.dock{display:none;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--navy);color:#fff;padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));align-items:center;gap:12px}
.dock .dl{font-size:12px;color:var(--topMuted)}
.dock strong{display:block;font:600 18px var(--mono);color:var(--topLime)}
.dock .sp{flex:1}
.dock .btn{background:transparent;color:#fff;border-color:var(--topRule)}
.toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;font-size:14px;z-index:50;opacity:0;pointer-events:none;transition:opacity .2s}
.toast.show{opacity:1}
.modal{position:fixed;inset:0;background:rgba(5,15,28,.55);z-index:60;display:none;align-items:center;justify-content:center;padding:20px}
.modal.show{display:flex}
.modal .box{background:var(--surface);border-radius:12px;padding:18px;max-width:640px;width:100%}
.modal textarea{min-height:240px;font:12px var(--mono)}
.srk{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.paper-wrap{max-width:var(--mw);margin:0 0 24px;overflow-x:auto;padding:4px 2px 12px}
.paper{background:#fff;color:#1b2430;width:100%;max-width:816px;min-height:1056px;margin:0 auto;padding:54px 64px 48px;box-shadow:0 2px 16px rgba(0,0,0,.18);border-radius:2px;font:13.5px/1.55 'Inter',Arial,Helvetica,sans-serif;box-sizing:border-box}
.paper p{margin:0 0 11px;text-align:justify}
.paper .lh{width:100%;border-collapse:collapse;border-bottom:2.5px solid #0D3B66;margin-bottom:22px}
.paper .lh td{vertical-align:middle;padding:0 0 12px;border:0}
.paper .lh-r{text-align:right;font-size:12px;line-height:1.5;color:#34445a}
.paper .lh-r b{font:700 15px/1.3 'Space Grotesk',Arial,sans-serif;color:#0D3B66;letter-spacing:.01em}
.paper .p-title{text-align:center;font:700 15.5px/1.35 'Space Grotesk',Arial,sans-serif;color:#0D3B66;margin:6px 0 18px;text-transform:uppercase}
.paper .p-sub{text-align:center;font-weight:700;letter-spacing:.14em;color:#0D3B66;margin:14px 0}
.paper .p-date{margin:0 0 18px}
.paper .p-asunto{font-weight:700;margin:14px 0}
.paper table.pt{width:100%;border-collapse:collapse;margin:8px 0 16px;font-size:12.5px}
.paper table.pt th{background:#0D3B66;color:#fff;text-align:left;padding:6px 8px;font-weight:600;border:1px solid #0D3B66}
.paper table.pt td{border:1px solid #cfd8e3;padding:5px 8px;vertical-align:top}
.paper table.pt td.m,.paper table.pt th.m{text-align:right;white-space:nowrap;font-family:'JetBrains Mono',Consolas,monospace}
.paper table.pt tr.tt td{font-weight:700;background:#f1f5f9}
.paper table.pkv{border-collapse:collapse;margin:0 0 18px;font-size:13px}
.paper table.pkv td{padding:3px 14px 3px 0;border:0;vertical-align:top}
.paper table.pkv td:first-child{font-weight:700;color:#0D3B66;white-space:nowrap}
.paper table.cols{width:100%;border-collapse:collapse;margin:6px 0 16px;font-size:12.3px}
.paper table.cols th{background:#0D3B66;color:#fff;padding:6px 8px;text-align:left;font-weight:600;width:33.3%;border:1px solid #0D3B66}
.paper table.cols td{vertical-align:top;padding:6px 8px;border:1px solid #cfd8e3}
.paper .ck{margin:0 0 7px;padding-left:18px;position:relative;line-height:1.4}
.paper .ck::before{content:"\2714";position:absolute;left:0;top:0;color:#3C7A12;font-weight:700}
.paper ol.req{margin:4px 0 14px;padding-left:22px}
.paper ol.req li{margin:0 0 6px;text-align:justify}
.paper h5{font:700 13.5px 'Space Grotesk',Arial,sans-serif;color:#0D3B66;margin:14px 0 4px}
.paper .sg{margin-top:34px;width:300px}
.paper .sg img{display:block;max-height:64px;max-width:240px;margin-bottom:-4px}
.paper .sg .line{border-top:1px solid #1b2430;margin:4px 0 5px;width:260px}
.paper .sg2{width:100%;border-collapse:collapse;margin-top:40px}
.paper .sg2 td{width:50%;vertical-align:bottom;padding:0 20px 0 0;border:0}
.paper .p-foot{margin-top:34px;border-top:1px solid #cfd8e3;padding-top:8px;text-align:center;font-size:11px;color:#5a6a7e}
.paper .note-sm{font-size:11px;color:#5a6a7e;text-align:justify}
.paper .cc-box{border:1.5px solid #0D3B66;border-radius:6px;padding:8px 12px;text-align:center}
.paper .cc-box b{display:block;font:700 13px 'Space Grotesk',Arial,sans-serif;color:#0D3B66}
.paper .cc-box span{font:700 20px 'JetBrains Mono',Consolas,monospace;color:#B42318}
.paper .letras{border:1px solid #cfd8e3;background:#f8fafc;padding:7px 10px;font-weight:600;margin:0 0 14px;font-size:12.5px}
.paper .sgcc{width:100%;border-collapse:collapse;margin-top:50px;font-size:11.5px;text-align:center}
.paper .sgcc td{border:0;border-top:1px solid #1b2430;padding-top:5px;width:30%}
.paper .sgcc td.gap{border:0;width:5%}
.paper .pbrk{border-top:2px dashed #cfd8e3;margin:34px -64px 30px}
.paper .ee-h{text-align:center;margin:0 0 14px;line-height:1.4}.paper .ee-h b{font:700 15px 'Space Grotesk',Arial,sans-serif;color:#0D3B66;display:block}.paper .ee-h span{font-size:12px;color:#5a6a7e}
.paper table.cc-top{width:100%;border-collapse:collapse;margin:0 0 16px}.paper table.cc-top>tbody>tr>td{vertical-align:top;padding:0;border:0}
.paper td.cc-eqc{width:250px;padding-left:14px!important}
.paper table.cc-eq{width:100%;border-collapse:collapse;font-size:12px;border:1px solid #cfd8e3}
.paper table.cc-eq th{background:#1b2430;color:#fff;font:700 12px 'Space Grotesk',Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;padding:5px 8px;text-align:center;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.paper table.cc-eq td{padding:4px 8px;border-top:1px solid #e3e9f0}


/* ====== Cuentas de Cobro · estilos propios (sobre la base de Renta PRO + IA) ====== */
.layout{grid-template-columns:var(--navw) minmax(0,1fr)}
.layout{--mw:1120px}
body.nav-off .layout{--mw:1280px}
.top .sp{flex:1}
.firm-chip{display:grid;place-items:center;background:#fff;border-radius:10px;padding:3px 8px;height:44px;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.firm-chip img{height:36px;width:auto;display:block}
.mark span{font:600 17px/1.1 var(--display);letter-spacing:-.01em}
.mark small{display:block;font:400 12px var(--body);color:var(--topMuted)}
:root[data-neu] .mark small{color:var(--muted)}
.srk{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.top{flex-wrap:nowrap}
.top .status{display:none}
@media(min-width:1180px){.top .status{display:inline}}
.vh{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;flex-wrap:wrap}
.vh .acts{display:flex;gap:8px;flex-wrap:wrap}
.grp .pad{padding:14px 18px 16px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 18px}
@media(max-width:900px){.grid2,.grid3,.grid4{grid-template-columns:1fr}}
.fld{display:flex;flex-direction:column;gap:5px;min-width:0}
.fld>label,.fld>.lbl{font:600 12px var(--body);color:var(--muted)}
.fld small{color:var(--muted);font-size:12px}
.fld.span2{grid-column:span 2}.fld.span3{grid-column:span 3}.fld.span4{grid-column:1/-1}
.inline{display:flex;gap:8px;align-items:center}
.inline>*{min-width:0}
input.n,input.money{font-family:var(--mono);text-align:right}
input[type=date]{font-family:var(--body)}
.tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.tbl th{position:sticky;top:0;background:var(--surface);z-index:1}
.tbl td.m,.tbl th.m{text-align:right;font-family:var(--mono);white-space:nowrap}
.tbl td.c,.tbl th.c{text-align:center}
.tbl tbody tr:hover td{background:var(--surface2)}
.tbl td .sub{display:block;font-size:11.5px;color:var(--muted)}
.tbl tfoot td{position:sticky;bottom:0}
.tscroll{overflow:auto;max-height:68vh}
.chip.pago{color:var(--good);border-color:currentColor}
.chip.pend{color:var(--warn);border-color:currentColor}
.chip.anul{color:var(--muted);border-color:currentColor;text-decoration:line-through}
.chip.rec{color:var(--accentText);border-color:currentColor}
.rowact{display:flex;gap:4px;justify-content:flex-end;white-space:nowrap}
.btn.ic{padding:5px 8px}
.btn.ic svg{width:16px;height:16px;display:block}
.btn svg.i{width:16px;height:16px;vertical-align:-3px;margin-right:6px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:0 0 18px;max-width:var(--mw)}
.kpi{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:14px 16px}
:root[data-neu] .kpi{border:0;box-shadow:var(--sh-out);border-radius:18px}
.kpi span{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
.kpi strong{display:block;font:600 22px/1.2 var(--mono);letter-spacing:-.02em;overflow-wrap:anywhere}
.kpi small{display:block;font-size:12px;color:var(--muted);margin-top:3px}
.kpi.warn strong{color:var(--warn)}.kpi.good strong{color:var(--good)}
.hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:18px;max-width:var(--mw);margin:0 0 18px}
@media(max-width:1000px){.hero{grid-template-columns:1fr}}
.cta{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;max-width:var(--mw);margin:0 0 18px}
.cta button{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:42px 1fr;column-gap:12px;align-items:center;padding:14px 16px;border-radius:14px;background:var(--surface);border:1px solid var(--rule)}
:root[data-neu] .cta button{border:0;box-shadow:var(--sh-sm)}
:root[data-neu] .cta button:active{box-shadow:var(--sh-in)}
.cta button:hover{border-color:var(--blue)}
.cta button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.cta .ci{grid-row:1/span 2;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--accentText) 13%,transparent);color:var(--accentText)}
.cta .ci svg{width:22px;height:22px}
.cta b{font:600 15px var(--display)}
.cta small{color:var(--muted);font-size:12.5px}
.chart{width:100%;height:auto;display:block}
.chart text{font:11px var(--body);fill:var(--muted)}
.chart .gl{stroke:var(--rule);stroke-width:1}
.chart .b1{fill:var(--accentText)}.chart .b2{fill:var(--warn)}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);padding:0 18px 12px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.hbar{height:8px;border-radius:6px;background:var(--rowrule);overflow:hidden;min-width:70px}
.hbar>i{display:block;height:100%;background:var(--accentText)}
.hbar>i.w{background:var(--warn)}
.client-card{border:1px dashed var(--fieldrule);border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.5;background:var(--surface2)}
:root[data-neu] .client-card{border:0;box-shadow:var(--sh-in)}
.client-card b{font-weight:600}
.client-card .warnl{color:var(--warn)}
.items{width:100%;border-collapse:collapse}
.items th{font:600 11.5px var(--body);color:var(--muted);text-align:left;padding:4px 4px}
.items td{padding:4px 3px;vertical-align:top}
.items td:last-child{width:34px}
.items input{padding:7px 8px}
.items .w-c{width:30%}.items .w-v{width:22%}
.sumbox{display:grid;grid-template-columns:1fr auto;gap:4px 18px;font-size:14px;padding:6px 2px}
.sumbox .t{font-weight:700;border-top:1px solid var(--rule);padding-top:6px}
.sumbox output{font-family:var(--mono);text-align:right;color:var(--ink)}
.letras-box{font-size:12.5px;color:var(--muted);margin-top:4px}
.nueva{display:grid;grid-template-columns:minmax(340px,430px) minmax(0,1fr);gap:20px;align-items:start;max-width:none}
.nueva .col-f{min-width:0}
.nueva .col-p{min-width:0;position:sticky;top:calc(70px + env(safe-area-inset-top,0px))}
@media(max-width:1180px){.nueva{grid-template-columns:1fr}.nueva .col-p{position:static}}
.pv-wrap{overflow:hidden;border-radius:6px}
.pv-wrap .cc-pg{transform-origin:top left}
.bar2{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.bar2 .grow{flex:1}
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:0 0 14px;max-width:var(--mw)}
.filters .fld{min-width:130px}
.filters .fld.grow{flex:1;min-width:200px}
.tag-ok{color:var(--good)}.tag-warn{color:var(--warn)}.tag-bad{color:var(--bad)}
.note-sm{font-size:12.5px;color:var(--muted)}
details.dd{margin:0 0 18px;max-width:var(--mw)}
.dlg{position:fixed;inset:0;background:rgba(5,15,28,.55);z-index:80;display:none;align-items:center;justify-content:center;padding:18px}
.dlg.show{display:flex}
.dlg .box{background:var(--surface);color:var(--ink);border-radius:14px;padding:20px 22px;width:min(640px,100%);max-height:92vh;overflow:auto;box-shadow:0 24px 60px rgba(0,0,0,.35)}
:root[data-neu] .dlg .box{background:var(--bg);box-shadow:var(--sh-out)}
.dlg h2{font:600 19px var(--display);margin:0 0 10px}
.dlg p{margin:0 0 12px;color:var(--ink);font-size:14px}
.dlg .bar2{justify-content:flex-end}
.dlg.wide .box{width:min(820px,100%)}
.imp-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 18px;border-top:1px solid var(--rowrule)}
.imp-row:first-of-type{border-top:0}
.imp-row b{font-weight:600}
.imp-row small{display:block;color:var(--muted);font-size:12.5px}
.imgrow{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.imgrow .th{width:92px;height:62px;border-radius:10px;border:1px dashed var(--fieldrule);display:grid;place-items:center;background:#fff;overflow:hidden}
.imgrow .th img{max-width:100%;max-height:100%;object-fit:contain}
.toast.show{opacity:1}
.toast{bottom:32px;z-index:100}
.rowx{display:flex;align-items:center;gap:8px}
input[type=checkbox]{accent-color:var(--btnBg)}
.sel-col{width:34px;text-align:center}
.empty{padding:30px 18px;text-align:center;color:var(--muted)}
.warnbar{display:flex;gap:10px;align-items:flex-start;margin:0 0 14px;max-width:var(--mw)}
/* ====== Papel de la cuenta de cobro ====== */
.cc-pg{width:816px;height:1056px;padding:38px 46px 30px;background:#fff;color:#1b2430;font:12.5px/1.45 'Inter',Arial,Helvetica,sans-serif;box-sizing:border-box;position:relative;overflow:hidden;box-shadow:0 2px 16px rgba(0,0,0,.18)}
.cc-pg *{box-sizing:border-box}
.cc-head{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:18px;align-items:stretch;border-bottom:3px solid #063AA8;padding-bottom:14px}
.cc-emi{border:1px solid #cfd8e3;border-radius:10px;padding:12px 16px;line-height:1.55;font-size:12.5px}
.cc-emi .nm{font:700 17px/1.2 'Space Grotesk',Arial,sans-serif;color:#063AA8;margin-bottom:4px}
.cc-emi .tp{font-size:11.5px;color:#5a6a7e;margin-bottom:6px}
.cc-logo{max-height:46px;max-width:170px;display:block;margin:0 0 8px}
.cc-side{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:0}
.cc-photo{width:108px;height:108px;border-radius:50%;object-fit:cover;object-position:top;border:3px solid #8FD3FF;background:#E8F0F8;margin-bottom:-14px;position:relative;z-index:1}
.cc-badge{width:100%;background:#063AA8;color:#fff;border-radius:12px;padding:10px 10px 8px;text-align:center;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.cc-badge b{display:block;font:700 11.5px 'Space Grotesk',Arial,sans-serif;letter-spacing:.1em}
.cc-badge span{display:block;font:700 26px/1.1 'JetBrains Mono',Consolas,monospace;color:#8FD3FF}
.cc-cli{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:16px;margin:18px 0 14px;align-items:start}
.cc-cli table{border-collapse:collapse}
.cc-cli td{padding:1.5px 10px 1.5px 0;vertical-align:top;border:0}
.cc-cli td:first-child{font-weight:700;color:#063AA8;white-space:nowrap;width:98px}
.cc-fecha{border:1px solid #cfd8e3;border-radius:8px;padding:8px 12px;text-align:center}
.cc-fecha b{display:block;font:700 10.5px 'Space Grotesk',Arial,sans-serif;letter-spacing:.1em;color:#5a6a7e}
.cc-fecha span{font:700 15px 'JetBrains Mono',Consolas,monospace}
table.cc-t{width:100%;border-collapse:collapse;margin:0}
.cc-t th{background:#063AA8;color:#fff;font:700 11px 'Space Grotesk',Arial,sans-serif;letter-spacing:.08em;padding:7px 8px;text-align:left;border:1px solid #063AA8;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.cc-t th.m,.cc-t td.m{text-align:right}
.cc-t td{border:1px solid #cfd8e3;padding:6px 8px;height:27px;vertical-align:top;font-size:12px}
.cc-t td.m{font-family:'JetBrains Mono',Consolas,monospace;white-space:nowrap}
.cc-letras{display:flex;gap:0;margin-top:10px;border:1px solid #063AA8;border-radius:6px;overflow:hidden}
.cc-letras b{background:#063AA8;color:#fff;font:700 10.5px 'Space Grotesk',Arial,sans-serif;letter-spacing:.06em;padding:8px 12px;white-space:nowrap;display:grid;place-items:center;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.cc-letras span{padding:7px 12px;font-weight:700;font-size:12.5px;display:grid;align-items:center}
.cc-mid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px;margin-top:12px;align-items:start}
.cc-legal{font-size:9.6px;line-height:1.38;color:#4a5668;text-align:justify}
.cc-tot{border-collapse:collapse;width:100%}
.cc-tot td{padding:4px 8px;border:0;font-size:12.5px}
.cc-tot td:first-child{font-weight:700;color:#063AA8}
.cc-tot td.m{text-align:right;font-family:'JetBrains Mono',Consolas,monospace}
.cc-tot tr.net td{background:#F1F5F9;border-top:2px solid #063AA8;font-weight:700;font-size:13.5px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.cc-obs{margin-top:14px;border-top:1px solid #cfd8e3;padding-top:8px}
.cc-obs h5{font:700 11px 'Space Grotesk',Arial,sans-serif;letter-spacing:.08em;color:#063AA8;margin:0 0 4px}
.cc-obs p{margin:0;font-size:12px;white-space:pre-line}
.cc-firma{position:absolute;left:46px;right:46px;bottom:30px}
.cc-firma img{display:block;height:58px;max-width:230px;object-fit:contain;margin:0 0 -8px 8px;position:relative}
.cc-firma .sp3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:26px}
.cc-firma .sp3 div{border-top:1.2px solid #1b2430;padding-top:5px;text-align:center;font:700 10.5px 'Space Grotesk',Arial,sans-serif;letter-spacing:.03em;color:#1b2430}
.cc-firma .sp3 div small{display:block;font:400 10px 'Inter',Arial,sans-serif;color:#5a6a7e;letter-spacing:0}
.cc-foot{position:absolute;left:46px;right:46px;bottom:6px;text-align:center;font-size:9.5px;color:#7a8799}
#printArea{display:none}
@media print{
  @page{size:letter;margin:0}
  html,body{background:#fff!important}
  body>*:not(#printArea){display:none!important}
  #printArea{display:block!important}
  #printArea .pp{width:8.5in;height:11in;overflow:hidden;page-break-after:always;break-after:page}
  #printArea .pp:last-child{page-break-after:auto;break-after:auto}
  #printArea .cc-pg{box-shadow:none;width:8.5in;height:11in}
}

.itlist .it{display:grid;grid-template-columns:minmax(0,1fr) 128px 36px;gap:6px;padding:9px 0;border-top:1px solid var(--rowrule)}
.itlist .it:first-child{border-top:0;padding-top:0}
.itlist .it .d{grid-column:1/-1}
.itlist .it .money{text-align:right}
.filters select,.filters input:not([type=checkbox]){height:40px}
.cc-badge{padding-top:17px!important}
.nueva{grid-template-columns:minmax(360px,460px) minmax(0,1fr)}
/* ====== Móvil ====== */
@media(max-width:760px){
  html,body{overflow-x:hidden}
  .layout,body.nav-off .layout{grid-template-columns:minmax(0,1fr);--navw:0px}
  .nav{position:fixed;left:0;top:calc(58px + env(safe-area-inset-top,0px));bottom:0;width:min(292px,86vw);max-height:none;z-index:60;background:var(--bg,#eef0f8);box-shadow:8px 0 30px rgba(0,0,0,.25);overflow:auto}
  body.nav-off .nav{display:none}
  body:not(.nav-off) .nav button>span:not(.ab){display:inline}
  .top .mark,.top .author-t,.top #skinLabel{display:none}
  .top{gap:6px;padding-left:8px;padding-right:8px}
  .firm-chip{height:38px}.firm-chip img{height:30px}
  #main{padding:14px 12px 60px}
  .vh h1,h1{font-size:24px}
  .nueva{grid-template-columns:minmax(0,1fr)}
  .cc-pv-note{display:none}
  table{font-size:12px}
  .tbl-wrap,.tw{overflow-x:auto}
  .dlg-box,#dlg>*{max-width:96vw}
}

/* ====== Redes Sociales (igual que Renta PRO + IA) ====== */
.redes{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;max-width:var(--mw);margin:0 0 18px}
.red{display:flex;flex-direction:column;gap:3px;background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:14px 16px;text-decoration:none;color:var(--ink);transition:border-color .15s}
.red:hover{border-color:var(--blue)}
.red:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.red-t{font:600 15px/1.3 var(--display)}
.red-d{font-size:13px;color:var(--muted)}
.red-c{margin-top:8px;font-size:13px;font-weight:500;color:var(--accentText)}
.red.main{grid-column:1/-1;background:var(--navy);border-color:var(--navy);color:#fff}
.red.main .red-t{font-size:19px}
.red.main .red-d{color:var(--topMuted)}
.red.main .red-c{color:var(--topLime);font-size:15px}

/* ====== Membrete: mismo degradé azul y acento azul claro de la 'Propuesta evaluación tributaria' ====== */
.cc-pg{--cc-b1:#063AA8;--cc-b2:#1265D3;--cc-b3:#1E90FF;--cc-y:#8FD3FF;--cc-grad:linear-gradient(90deg,#063AA8 0%,#1265D3 50%,#1E90FF 100%)}
.cc-head{background:var(--cc-grad);border-bottom:5px solid var(--cc-y)!important;border-radius:12px 12px 0 0;padding:14px 16px 16px;margin:-8px -10px 0;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.cc-emi{display:flex;gap:14px;align-items:center;border:0!important;border-radius:0;padding:0!important;color:#fff;background:none}
.cc-emi .cc-logo{width:104px;max-width:104px;max-height:none;height:auto;margin:0;flex:none}
.cc-emi .cc-logo.own{background:#fff;border-radius:8px;padding:4px;max-height:80px;width:auto;max-width:130px;object-fit:contain}
.cc-emi .cc-txt{min-width:0}
.cc-emi .nm{color:#fff!important;font-size:18px!important}
.cc-emi .tp{color:var(--cc-y)!important;font-weight:600}
.cc-badge{background:var(--cc-b1)!important;border:1.5px solid rgba(255,255,255,.35)}
.cc-badge b{color:#fff}
.cc-badge span{color:var(--cc-y)!important}
.cc-photo{border-color:var(--cc-y)!important;background:#fff}
.cc-t th{background:#1265D3!important;border-color:#1265D3!important}
.cc-letras b{background:var(--cc-grad)!important}
.cc-letras{border-color:#063AA8!important}
.cc-tot tr.net td{background:#E8F1FF!important;border-top:2px solid var(--cc-b1)!important}
.cc-t td,.cc-fecha,.cc-obs{border-color:#c5d6f2!important}
.cc-obs{border-top-color:#c5d6f2!important}

/* ====== Informes interactivos ====== */
:root{--v1:#2a78d6;--v2:#eb6834;--v3:#1baf7a;--v4:#eda100;--v5:#e87ba4;--vo:#9aa3b2}
:root[data-mode=dark]{--v1:#3987e5;--v2:#d95926;--v3:#199e70;--v4:#c98500;--v5:#d55181;--vo:#6f7787}
.inf-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.seg{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 12px}
.inf-f{align-items:end}
.inf-f .lbl{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
.kpis.sm .kpi{padding:10px 14px}.kpis.sm .kpi strong{font-size:17px}
.ig{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px;margin:0 0 16px;max-width:var(--mw)}
.ig.two{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
.ig .grp,.icard{margin:0;max-width:none}
.icard.wide{max-width:800px}
.cbody{padding:8px 14px 12px}
.icard .chart{max-height:230px}
.icard .gh{padding:10px 16px 8px}
.icard .gh h3{font-size:14px}
.chart .col{cursor:pointer}
.chart .hit{fill:transparent}
.chart .hl{fill:var(--accentText);opacity:0;transition:opacity .12s}
.chart .col:hover .hl,.chart .col.sel .hl{opacity:.12}
.chart .guide{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3;opacity:0}
.chart .dot{fill:var(--accentText);stroke:var(--surface);stroke-width:2;opacity:0}
.chart .col:hover .guide,.chart .col:hover .dot{opacity:1}
.chart .col:hover rect.b1,.chart .col:hover rect.b2{filter:brightness(1.08)}
.chart .b3{fill:var(--v3)}
.donut{flex:none;display:block}
.donut .arc{cursor:pointer;transition:stroke-width .12s}
.donut .arc:hover,.donut .arc.sel{stroke-width:26}
.donut .dc{font:700 17px var(--mono);fill:var(--ink)}
.donut .ds{font:11px var(--body);fill:var(--muted)}
.dwrap{display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:center}
.dleg{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:13px;min-width:140px;flex:1}
.dleg li{display:flex;align-items:center;gap:8px;cursor:pointer}
.dleg li i{width:10px;height:10px;border-radius:3px;flex:none}
.dleg li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dleg li b{font:600 12px var(--mono)}
.hl-list{display:grid;gap:4px}
.hl-row{display:grid;grid-template-columns:minmax(90px,1.3fr) minmax(60px,1.5fr) auto;gap:10px;align-items:center;background:none;border:0;padding:5px 6px;border-radius:8px;text-align:left;cursor:pointer;color:var(--ink);font:inherit;font-size:13px}
.hl-row:hover,.hl-row.sel{background:color-mix(in srgb,var(--accentText) 10%,transparent)}
.hl-row .hn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hl-row .hb{height:8px;border-radius:6px;background:var(--rowrule);overflow:hidden}
.hl-row .hb i{display:block;height:100%;border-radius:6px;background:var(--accentText)}
.hl-row .hv{font:600 12px var(--mono);white-space:nowrap}
.legend.sm{padding:4px 4px 0;gap:12px;font-size:12px}
.legend .lg{background:none;border:0;color:var(--muted);font:inherit;cursor:pointer;display:inline-flex;align-items:center;padding:0}
.legend .lg.off{opacity:.4;text-decoration:line-through}
tr.clk{cursor:pointer}tr.clk:hover td{background:color-mix(in srgb,var(--accentText) 8%,transparent)}
table.heat{border-collapse:separate;border-spacing:3px;width:100%;min-width:640px;font-size:11.5px}
table.heat th{font-weight:600;color:var(--muted);text-align:center;padding:4px}
table.heat tbody th{text-align:left;color:var(--ink)}
table.heat td{text-align:center;padding:9px 2px;border-radius:6px;font-family:var(--mono);cursor:default}
table.heat td.hc{cursor:pointer}
table.heat td.he{background:var(--rowrule);opacity:.4}
table.heat td.sel{outline:2px solid var(--accentText)}
table.heat td.ht{font-weight:700;color:var(--ink)}
.up{color:var(--good)}.dn{color:var(--bad)}
#vtip{position:fixed;z-index:300;left:0;top:0;pointer-events:none;background:#161b26;color:#f3f5f9;border-radius:9px;padding:8px 11px;font:12px/1.45 var(--body);box-shadow:0 6px 20px rgba(0,0,0,.35);opacity:0;transition:opacity .08s;max-width:260px}
#vtip.on{opacity:1}
#vtip b{display:block;font-family:var(--display);font-size:12.5px;margin-bottom:2px}
#vtip span{display:block;color:#c9d0de}
@media(max-width:760px){.ig,.ig.two{grid-template-columns:minmax(0,1fr)}.hl-row{grid-template-columns:minmax(70px,1fr) 60px auto}}
.ig.q{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.ig.q{grid-template-columns:minmax(0,1fr)}}
.hl-row{grid-template-columns:minmax(110px,1.7fr) minmax(50px,1.2fr) auto}
.icard .chart .b1{fill:var(--v3)}.icard .chart .b2{fill:var(--v2)}

/* ====== Registro tipo Excel ====== */
:root{--xl-in:#fffbe3;--xl-calc:#eceff4;--xl-line:#c9d3e4;--xl-head:#dde6f5;--xl-sec:#e8eef9}
:root[data-mode=dark]{--xl-in:#3a3622;--xl-calc:#2a2f3a;--xl-line:#465064;--xl-head:#2f384b;--xl-sec:#262c38}
.xl-tools{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.btn.good{background:#118a6a!important;color:#fff!important;border-color:#118a6a!important}
.xl-wrap{overflow:auto;max-height:68vh;border-radius:10px}
table.xl{border-collapse:separate;border-spacing:0;width:100%;min-width:1560px;table-layout:fixed;font-size:13px}
table.xl th,table.xl td{border-right:1px solid var(--xl-line);border-bottom:1px solid var(--xl-line);padding:0}
table.xl thead th{position:sticky;z-index:2;background:var(--xl-head);color:var(--ink);font:700 11px var(--display);letter-spacing:.05em;text-align:center;padding:7px 6px;border-top:1px solid var(--xl-line)}
table.xl thead tr.xl-t th{top:0;background:var(--xl-sec);font-size:11.5px;letter-spacing:.08em;height:30px}
table.xl thead tr.xl-h th{top:30px}
table.xl td.xn,table.xl th.xn{width:30px;text-align:center;background:var(--xl-head)}
table.xl td.xi,table.xl th.xi{width:38px;text-align:center;background:var(--xl-head);color:var(--muted);font:600 11px var(--mono);padding:0 4px}
table.xl td>.xin,table.xl td>select.xin{display:block;width:100%;height:32px;border:0!important;border-radius:0!important;box-shadow:none!important;background:var(--xl-in)!important;color:var(--ink);font:13px var(--body);padding:0 7px;margin:0;min-width:0}
table.xl td>.xin:disabled{background:var(--xl-calc)!important;opacity:.7}
table.xl td>.xin:focus{outline:2px solid var(--accentText);outline-offset:-2px;position:relative}
table.xl td>.xin.money,table.xl td>.xin.n{text-align:right;font-family:var(--mono)}
table.xl input[type=number]::-webkit-inner-spin-button{display:none}
table.xl input[type=number]{-moz-appearance:textfield}
table.xl td.xc{background:var(--xl-calc);padding:0 8px;height:32px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}
table.xl td.xc.m{text-align:right;font-family:var(--mono)}
table.xl .xmulti{display:block;padding:7px;background:var(--xl-calc);color:var(--muted);font-size:12px;height:32px}
table.xl td.xa{white-space:nowrap;padding:2px 6px;background:var(--surface);text-align:center}
table.xl td.xa .btn.ic{width:28px;height:28px;padding:0;margin:0 1px}
table.xl tr.xl-sec td{background:var(--xl-sec);font:700 11px var(--display);letter-spacing:.07em;padding:6px 10px;color:var(--ink)}
table.xl tr.xdraft td.xi{color:var(--accentText);font-size:15px}
table.xl .xdel{border:0;background:none;color:var(--bad);font-size:18px;cursor:pointer;width:100%;height:32px;line-height:1}
table.xl tr.st-pago td>select.xin{color:var(--good);font-weight:600}
table.xl tr.st-pendiente td>select.xin{color:var(--warn);font-weight:600}
table.xl tr.st-anulada td>.xin,table.xl tr.st-anulada td.xc{text-decoration:line-through;opacity:.55}
table.xl tfoot td{position:sticky;bottom:0;background:var(--xl-head);font:700 12px var(--body);padding:8px 8px;border-top:2px solid var(--ink);z-index:2}
table.xl tfoot td.m{text-align:right;font-family:var(--mono)}
.xl-note{margin-top:10px;max-width:var(--mw)}

/* ===== MODO SERVIDOR: acceso, por aprobar, agentes ===== */
.gate{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;padding:18px;background:var(--bg,#E0E7F4);overflow:auto}
.gate.show{display:flex}
body.gated .top,body.gated .layout{visibility:hidden}
.gate-card{width:min(430px,100%);background:var(--surface);border:1px solid var(--rule);border-radius:16px;padding:26px 24px 24px;box-shadow:0 12px 40px rgba(0,0,0,.18)}
.gate-brand{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.gate-mono{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#063AA8,#1E90FF);color:#fff;font:700 18px 'Space Grotesk',Arial,sans-serif;letter-spacing:.04em}
.gate-brand h1{margin:0;font:700 20px 'Space Grotesk',Arial,sans-serif}
.gate-brand p{margin:2px 0 0;color:var(--muted);font-size:13px}
.gate-card h2{margin:6px 0 10px;font-size:17px}
.gate-card .fld{margin-bottom:12px}
.gate-card .btn{width:100%;justify-content:center;margin-top:6px;padding:11px 14px}
.gate-card .rowx{margin:4px 0 10px;font-size:13px;align-items:flex-start}
.gate-p{font-size:13px;color:var(--muted);margin:0 0 12px}
.gate-msg{border-left:3px solid var(--warn);background:var(--surface2);padding:9px 12px;border-radius:0 8px 8px 0;font-size:13px;margin-bottom:12px}
.gate-err{min-height:18px;color:var(--bad);font-size:13px;margin:2px 0 4px}
.gate code{font:12px var(--mono);background:var(--surface2);padding:1px 5px;border-radius:5px}
.pendnote{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-left-color:var(--warn)}
.pendnote>div{flex:1 1 260px}
.pendnote .i{width:22px;height:22px;color:var(--warn)}
.copyrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.copyrow code,.copyrow a{flex:1 1 260px;min-width:0;font:13px var(--mono);background:var(--surface2);border:1px solid var(--rule);border-radius:8px;padding:8px 10px;overflow-wrap:anywhere}
code.tok{font-size:12.5px!important;user-select:all}
pre.tokpre{margin:0;font:12px/1.5 var(--mono);background:var(--surface2);border:1px solid var(--rule);border-radius:8px;padding:10px;white-space:pre-wrap;overflow-wrap:anywhere;user-select:all}
.permgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.perm{align-items:flex-start;border:1px solid var(--rule);border-radius:8px;padding:8px 10px;gap:8px;background:var(--surface)}
.perm.warn{border-color:var(--warn)}
.perm small{display:block;color:var(--muted);font-size:12px;line-height:1.35;margin-top:2px}
.perm code{font:11px var(--mono);color:var(--muted)}
.perm input{margin-top:3px}
.btn.sm.good{padding:5px 10px}
@media (max-width:760px){
  .permgrid{grid-template-columns:1fr}
  .gate-card{padding:20px 16px}
}

/* ====== TABLERO ESTILO POWER BI ====== */
.layout:has(.pbi){--railw:0px;--mw:1400px}
.layout:has(.pbi) .rail{display:none}
#infBody{max-width:var(--mw)}
.pb-defs{position:absolute;width:0;height:0;overflow:hidden}
.pbi{--p1:#1A6FA8;--p2:#E8833A;--p3:#12B5A6;--p4:#8B7AD9;--p5:#8FBF2A;--po:#9AA8BA;
  --pb-card:linear-gradient(165deg,#FFFFFF,#F5F9FD);--pb-ink:#0D2A4A;--pb-mut:#5B6E86;--pb-line:rgba(13,59,102,.10);--pb-grid:rgba(13,59,102,.12);--pb-track:rgba(13,59,102,.10);
  --pb-shadow:0 14px 30px -16px rgba(13,59,102,.35),0 2px 6px rgba(13,59,102,.06);--pb-bar:url(#pbG-navy);--pb-hl:rgba(18,181,166,.14);
  --pb-board:linear-gradient(135deg,#D6E3F1 0%,#EAF2FA 52%,#DBE8F5 100%)}
.pbi[data-pb=dark]{--p1:#3A86D4;--p2:#D96F2E;--p3:#10A094;--p4:#8070D8;--p5:#78A622;--po:#6F7F94;
  --pb-card:linear-gradient(165deg,#15294A,#0F2140);--pb-ink:#E8F0F9;--pb-mut:#9DB2CB;--pb-line:rgba(140,190,255,.12);--pb-grid:rgba(255,255,255,.10);--pb-track:rgba(255,255,255,.10);
  --pb-shadow:0 16px 34px -16px rgba(0,0,0,.7);--pb-bar:url(#pbG-ghost);--pb-hl:rgba(53,227,210,.12);
  --pb-board:linear-gradient(135deg,#070F1B 0%,#0C1B30 55%,#091526 100%)}
.pbc{position:relative;min-width:0;border-radius:22px;padding:15px 18px 14px;background:var(--pb-card);color:var(--pb-ink);box-shadow:var(--pb-shadow);border:1px solid var(--pb-line);overflow:hidden}
.pbc.dk{--p1:#3A86D4;--p2:#D96F2E;--p3:#10A094;--p4:#8070D8;--p5:#78A622;--pb-ink:#EAF2FB;--pb-mut:#A3B8D0;--pb-grid:rgba(255,255,255,.11);--pb-track:rgba(255,255,255,.12);--pb-bar:url(#pbG-ghost);--pb-hl:rgba(53,227,210,.13);
  background:radial-gradient(120% 90% at 88% -12%,rgba(30,205,195,.24),transparent 55%),radial-gradient(90% 80% at -10% 110%,rgba(58,134,212,.20),transparent 60%),linear-gradient(160deg,#143560 0%,#0A2145 55%,#081A38 100%);border-color:rgba(130,195,255,.16);box-shadow:0 18px 36px -16px rgba(5,20,45,.75),inset 0 1px 0 rgba(255,255,255,.07)}
.pbc h3{margin:0;font:600 14.5px/1.25 var(--display);letter-spacing:.01em;color:var(--pb-ink)}
.pbh{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap;margin:0 0 8px}
.pbh small{display:block;margin-top:2px;font-size:11.5px;color:var(--pb-mut)}
.pbh-r{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.pbtot{text-align:right;line-height:1.15}.pbtot span{display:block;font-size:11px;color:var(--pb-mut)}.pbtot b{font:700 19px var(--display);letter-spacing:-.01em}
.pbtot b{background:linear-gradient(90deg,#14B8C4,#1A6FA8);-webkit-background-clip:text;background-clip:text;color:transparent}
.dk .pbtot b,.pbi[data-pb=dark] .pbtot b{background:linear-gradient(90deg,#6BF0E2,#8DBBEE);-webkit-background-clip:text;background-clip:text}
.pbp-g{display:inline-flex;gap:3px;padding:3px;border-radius:999px;background:var(--pb-track);flex-wrap:wrap}
.pbp{display:inline-flex;align-items:center;gap:6px;font:600 11.5px var(--body);padding:5px 11px;border-radius:999px;border:0;background:transparent;color:var(--pb-mut);cursor:pointer;transition:background .15s,color .15s,box-shadow .15s;white-space:nowrap}
.pbp:hover{color:var(--pb-ink)}
.pbp.on{background:linear-gradient(135deg,#27D9CB,#0E9DB0);color:#04222B;box-shadow:0 6px 14px -6px rgba(14,157,176,.8)}
.pbp.yr i{width:9px;height:9px;border-radius:50%}.pbp.yr:not(.on){opacity:.55;text-decoration:line-through}
.pbp.yr.on{background:rgba(255,255,255,.14);color:#fff;box-shadow:none}
:focus-visible.pbp{outline:2px solid #35E3D2;outline-offset:2px}

.pb-board{position:relative;isolation:isolate;overflow:hidden;border-radius:30px;padding:16px;background:var(--pb-board);border:1px solid rgba(255,255,255,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 28px 60px -28px rgba(13,59,102,.5)}
.pbi[data-pb=dark] .pb-board{border-color:rgba(140,190,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 28px 60px -28px rgba(0,0,0,.8)}
.pb-board::before{content:"";position:absolute;z-index:-1;width:560px;height:560px;right:-160px;top:-220px;border-radius:50%;background:radial-gradient(closest-side,rgba(20,200,200,.22),transparent)}
.pb-board::after{content:"";position:absolute;z-index:-1;width:520px;height:520px;left:-180px;bottom:-240px;border-radius:50%;background:radial-gradient(closest-side,rgba(26,111,168,.22),transparent)}
.pb-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 2px 14px;padding:10px 14px;border-radius:18px;background:linear-gradient(135deg,#0F3358,#0A2547);color:#fff;box-shadow:0 12px 26px -14px rgba(5,25,55,.8)}
.pb-title{display:flex;align-items:center;gap:12px}.pb-title b{display:block;font:600 15px var(--display)}.pb-title small{display:block;font-size:11.5px;color:#A9C2DD}
.pb-glyph{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}
.pb-head .pbp-g{background:rgba(255,255,255,.1)}.pb-head .pbp{color:#C7D9EE}.pb-head .pbp:hover{color:#fff}.pb-head .pbp.on{color:#04222B}
.pb-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.s-hero{grid-column:span 3}.s-bars{grid-column:span 6}.s-radar{grid-column:span 3}.s-goals,.s-budget,.s-costs{grid-column:span 4}.s-lines{grid-column:span 7}.s-annual{grid-column:span 5}.s-aging{grid-column:span 5}.s-top{grid-column:span 7}
@media(max-width:1100px){.s-hero,.s-bars,.s-lines,.s-annual{grid-column:span 12}.s-radar,.s-goals,.s-budget,.s-costs,.s-aging,.s-top{grid-column:span 6}}
@media(max-width:700px){.pb-grid>.pbc{grid-column:span 12!important}.pb-board{padding:10px;border-radius:24px}.pbc{padding:13px 13px 12px;border-radius:18px}}

/* tarjeta principal */
.s-hero{display:flex;flex-direction:column}
.hero-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.eyebrow{display:block;font:600 11px var(--body);letter-spacing:.09em;text-transform:uppercase;color:#9FDCF0}
.big{font:700 clamp(21px,2.3vw,30px)/1.1 var(--display);letter-spacing:-.02em;margin-top:6px;overflow-wrap:anywhere;text-shadow:0 0 24px rgba(53,227,210,.35)}
.hero-ring{display:flex;flex-direction:column;align-items:center;gap:0}.hero-ring small{font-size:10px;color:#A3B8D0;margin-top:-2px}
.pbring .rbg{stroke:rgba(255,255,255,.14)}.pbring .rt{font:700 12px var(--display);fill:#fff}
.hero-sub{font-size:12px;color:#A3B8D0;margin:6px 0 12px}
.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.hero-stats span{display:block;font-size:10.5px;color:#A3B8D0}.hero-stats b{display:block;font:600 13px var(--display);overflow-wrap:anywhere;margin-top:2px}
.hero-stats .c3{color:#5FF0E0}.hero-stats .c2{color:#FFB070}
.s-hero .spark{margin-top:auto;padding-top:10px;max-height:96px}
.hero-d{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;min-height:22px}
.pbd{font:600 11.5px var(--body);padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.1)}
.pbd.up{background:rgba(53,227,210,.18);color:#6BF0E2}.pbd.dn{background:rgba(255,160,90,.2);color:#FFB878}.pbd.flat{background:none;padding:0;color:#A3B8D0;font-weight:500}

/* gráficos */
.pbsvg{width:100%;height:auto;display:block;max-height:none!important;overflow:visible}
.pbi .chart text{font:11px var(--body);fill:var(--pb-mut)}
.pbi .chart .gl{stroke:var(--pb-grid);stroke-dasharray:2 5}
.pbi .chart .xl{font-size:10.5px}
.pbi .chart .vl{font:700 11px var(--display);fill:var(--pb-ink)}
.pbi .chart .vl.hi{fill:#0E9AA0}.pbi[data-pb=dark] .chart .vl.hi,.pbc.dk .chart .vl.hi{fill:#5FF0E0}
.pbi .chart .vl.sel{fill:#6E9A12}.pbi[data-pb=dark] .chart .vl.sel,.pbc.dk .chart .vl.sel{fill:#C7EE62}
.pbi .chart .vl.warn{fill:#C75F18}.pbi[data-pb=dark] .chart .vl.warn,.pbc.dk .chart .vl.warn{fill:#FFB070}
.pbi .chart .bar{fill:var(--pb-bar);transition:filter .15s}
.pbi .chart .bar.hi{fill:url(#pbG-teal);filter:drop-shadow(0 5px 7px rgba(20,200,190,.38))}
.pbi .chart .bar.sel{fill:url(#pbG-lime);filter:drop-shadow(0 5px 8px rgba(143,191,42,.5))}
.pbi .chart .bar.warn{fill:url(#pbG-orange);filter:drop-shadow(0 5px 7px rgba(232,131,58,.35))}
.pbi .chart .col:hover .bar{filter:brightness(1.14) drop-shadow(0 6px 9px rgba(20,160,190,.35))}
.pbi .chart .bar0{fill:var(--pb-grid)}
.pbi .chart .hl{fill:var(--pb-hl);opacity:0}.pbi .chart .col:hover .hl,.pbi .chart .col.sel .hl{opacity:1}
.pbi .chart .avg{stroke:#E8833A;stroke-width:1.2;stroke-dasharray:5 4;opacity:.8;pointer-events:none}
.pbi .chart .avl{font:600 10px var(--body);fill:#C8661F;pointer-events:none}
.pbc.dk .chart .avl,.pbi[data-pb=dark] .chart .avl{fill:#FFB070}
.pbi .chart .pdot{stroke:#0A2145;stroke-width:2.5;opacity:0;transition:opacity .1s}
.pbi .chart .col:hover .pdot,.pbi .chart .col:hover .guide{opacity:1}
.pbi .chart .guide{stroke:rgba(255,255,255,.4);stroke-dasharray:3 4}
.pbi .chart .pb-line{vector-effect:none}
.pbi .chart .rg{fill:none;stroke:var(--pb-grid);stroke-width:1}
.pbi .chart .rshape{fill:rgba(18,181,166,.28);stroke:#12B5A6;stroke-width:2;stroke-linejoin:round;filter:drop-shadow(0 4px 8px rgba(18,181,166,.35))}
.pbi .chart .rdot{fill:#fff;stroke:#12B5A6;stroke-width:2.5}
.pbi .chart .rl{font:600 10.5px var(--body);fill:var(--pb-ink)}
.pbi .chart .col{cursor:pointer}
.pbleg{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px;font-size:11px;color:var(--pb-mut)}
.pbleg span{display:inline-flex;align-items:center;gap:6px}.pbleg i{width:12px;height:8px;border-radius:3px;display:inline-block}
.pbleg .lg-hi{background:linear-gradient(#35E3D2,#0E9FA6)}.pbleg .lg-sel{background:linear-gradient(#C7EE62,#8DBA25)}.pbleg .lg-avg{background:none;border-top:2px dashed #E8833A;border-radius:0;height:0;width:14px}
.pbleg .lg-base{background:linear-gradient(#2F6AA6,#0D3B66)}.pbi[data-pb=dark] .pbleg .lg-base{background:linear-gradient(#8DBBEE,#3A86D4)}.pbleg .lg-warn{background:linear-gradient(#FFB36B,#E26F22)}
.pb-empty{padding:26px 8px;text-align:center;font-size:13px;color:var(--pb-mut)}

/* anillos y leyendas */
.pbdon{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:center}
.pbdon .dwrap{flex-wrap:nowrap;justify-content:flex-start;width:100%}
.pbi .donut{filter:drop-shadow(0 10px 14px rgba(13,59,102,.18))}
.pbi .donut .arc{transition:stroke-width .15s,opacity .15s}
.pbi .donut:hover .arc:not(:hover){opacity:.55}
.pbi .donut .dc{font:700 18px var(--display);fill:var(--pb-ink)}.pbi .donut .ds{fill:var(--pb-mut)}
.pbl{list-style:none;margin:0;padding:0;display:grid;gap:7px;flex:1;min-width:150px;font-size:12.5px}
.pbl li{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;gap:8px;align-items:center;cursor:pointer;padding:2px 4px;border-radius:8px}
.pbl li:hover{background:var(--pb-hl)}
.pbl li i{width:10px;height:10px;border-radius:50%}.pbl li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pbl li em{font:600 11.5px var(--body);font-style:normal;color:var(--pb-mut);min-width:34px;text-align:right}.pbl li b{font:700 12px var(--display);min-width:56px;text-align:right}
.pbmini{flex:1;min-width:150px;display:grid;gap:11px}
.pbmini>div:not(.pbpill){display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center;font-size:12.5px}
.pbmini span{display:flex;align-items:center;gap:7px}.pbmini span i{width:10px;height:10px;border-radius:50%}.pbmini b{font:700 13px var(--display)}
.pbmini .pbbar{grid-column:1/-1}
.pbbar{height:8px;border-radius:99px;background:var(--pb-track);overflow:hidden}
.pbbar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#27D9CB,#0E9DB0);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.pbbar.big{height:12px;margin:2px 0 12px}.pbbar.big i{box-shadow:0 0 14px rgba(39,217,203,.55)}
.pbpill{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 14px;border-radius:14px;background:var(--pb-card);box-shadow:5px 5px 12px -4px rgba(13,59,102,.28),-4px -4px 10px rgba(255,255,255,.8);border:1px solid var(--pb-line)}
.pbi[data-pb=dark] .pbpill{box-shadow:5px 5px 12px -4px rgba(0,0,0,.6),-3px -3px 8px rgba(80,130,200,.08)}
.pbpill span{font-size:11.5px;color:var(--pb-mut)}.pbpill b{font:700 15px var(--display)}

/* metas de recaudo */
.pbgs{display:grid;gap:4px}
.pbg{display:grid;grid-template-columns:34px minmax(0,1fr) auto;grid-template-areas:"av gn gp" "gb gb gb";gap:3px 10px;align-items:center;padding:7px 8px;border:0;border-radius:12px;background:none;color:var(--pb-ink);font:inherit;text-align:left;cursor:pointer}
.pbg:hover,.pbg.sel{background:var(--pb-hl)}
.pbg .av{grid-area:av;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font:700 11px var(--display);color:#fff;box-shadow:0 4px 10px -3px rgba(13,59,102,.4)}
.pbg .gn{grid-area:gn;min-width:0}.pbg .gn b{display:block;font:600 12.5px var(--body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pbg .gn small{font-size:11px;color:var(--pb-mut)}
.pbg .gp{grid-area:gp;font:700 13px var(--display)}
.pbg .gb{grid-area:gb;height:5px;border-radius:99px;background:var(--pb-track);overflow:hidden}.pbg .gb i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#27D9CB,#0E9DB0)}

/* ranking */
.pbtop{display:grid;gap:3px}
.pbt{display:grid;grid-template-columns:22px minmax(110px,1.6fr) minmax(60px,2fr) auto;gap:10px;align-items:center;padding:6px 8px;border:0;border-radius:12px;background:none;color:var(--pb-ink);font:inherit;font-size:12.5px;text-align:left;cursor:pointer}
.pbt:hover,.pbt.sel{background:var(--pb-hl)}
.pbt em{font:700 11px var(--display);font-style:normal;color:var(--pb-mut);text-align:center}
.pbt:nth-child(-n+3) em{color:#fff;background:linear-gradient(135deg,#27D9CB,#0E9DB0);border-radius:50%;width:20px;height:20px;line-height:20px}
.pbt .hn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pbt .hb{height:9px;border-radius:99px;background:var(--pb-track);overflow:hidden}.pbt .hb i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#1A6FA8,#27D9CB)}
.pbt .hv{font:700 12px var(--display);white-space:nowrap}
@media(max-width:700px){.pbt{grid-template-columns:20px minmax(80px,1fr) 56px auto}}

/* otras pestañas con el mismo estilo */
#infBody>.ig,#infBody>.pb-grid{margin-bottom:14px}
.icard.pbc{margin:0}.icard .cbody{padding:4px 0 0}
.icard .pbh{margin-bottom:4px}
#infBody .chart .b1{fill:url(#pbG-teal)}#infBody .chart .b2{fill:url(#pbG-orange)}
#infBody .kpis.sm .kpi{border-radius:18px;background:linear-gradient(165deg,#fff,#F5F9FD);border:1px solid var(--pb-line);box-shadow:var(--pb-shadow);color:var(--pb-ink)}
#infBody[data-pb=dark] .kpis.sm .kpi{background:linear-gradient(165deg,#15294A,#0F2140)}
#infBody .kpi span,#infBody .kpi small{color:var(--pb-mut)}
#infBody .kpi strong{font-family:var(--display)}
#infBody .grp{border-radius:22px}
#infBody .hl-row .hb i{background:linear-gradient(90deg,#1A6FA8,#27D9CB)}
#infBody .hl-row:hover,#infBody .hl-row.sel{background:var(--pb-hl)}
#infBody .hl-row .hn,#infBody .hl-row .hv{color:var(--pb-ink)}
#infBody .dleg li,#infBody .dleg li span{color:var(--pb-ink)}
#infBody .legend,#infBody .legend .lg{color:var(--pb-mut)}

/* animaciones de entrada (solo al cambiar de pestaña, año o medida) */
@keyframes pbGrow{from{transform:scaleY(0);opacity:.2}to{transform:scaleY(1);opacity:1}}
@keyframes pbDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes pbFade{from{opacity:0}to{opacity:1}}
@keyframes pbPop{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}
@keyframes pbRise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes pbWid{from{width:0!important}}
.pbi.anim .pbc{animation:pbRise .5s cubic-bezier(.2,.8,.2,1) both}
.pbi.anim .chart .bar{transform-box:fill-box;transform-origin:50% 100%;animation:pbGrow .75s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0)*35ms + 120ms)}
.pbi.anim .chart .vl{animation:pbFade .4s .7s both}
.pbi.anim .chart .pb-line{stroke-dasharray:1;animation:pbDraw 1.2s .15s cubic-bezier(.3,.7,.2,1) both}
.pbi.anim .chart .pb-area{animation:pbFade 1s .5s both}
.pbi.anim .donut,.pbi.anim .chart .rshape,.pbi.anim .pbring{transform-box:fill-box;transform-origin:50% 50%;animation:pbPop .7s .15s cubic-bezier(.2,.8,.2,1) both}
.pbi.anim .pbbar i,.pbi.anim .pbg .gb i,.pbi.anim .pbt .hb i{animation:pbWid .9s .2s cubic-bezier(.2,.8,.2,1) both}
@media(prefers-reduced-motion:reduce){.pbi.anim *,.pbi.anim{animation:none!important}}

/* ===== Tablero estilo Power BI · ajustes v2 (todas las pestañas) ===== */
.s-c3{grid-column:span 3}.s-c4{grid-column:span 4}.s-c5{grid-column:span 5}.s-c6{grid-column:span 6}.s-c7{grid-column:span 7}.s-c8{grid-column:span 8}.s-c12{grid-column:span 12}
@media(max-width:1100px){.s-c3,.s-c4,.s-c5{grid-column:span 6}.s-c6,.s-c7,.s-c8,.s-c12{grid-column:span 12}}
.pbc{display:flex;flex-direction:column}
.pbc>.pbdon{flex:1;align-content:center}
.pbc>.radar{margin:auto 0}
.pbc .scroll{margin:0 -6px}
.pb-head-r{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pb-full{background:rgba(255,255,255,.1)}.pb-full svg{width:15px;height:15px}
.pb-full:hover{background:rgba(255,255,255,.2)}
@media(max-width:560px){.pb-full span{display:none}}

/* tarjeta principal: cifra completa en una sola línea */
.hero-top{align-items:center}
.big{white-space:nowrap;overflow-wrap:normal;margin-top:10px}
.hero-stats b{white-space:nowrap}
.pbpill{flex-direction:column;align-items:flex-start;gap:1px}
.pbpill b,.pbpill span{white-space:nowrap}

/* indicadores */
.kt{min-height:134px}
.kt-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.kt .eyebrow{color:var(--pb-mut)}.pbc.dk .eyebrow{color:#9FDCF0}
.kt-big{font:700 28px/1.15 var(--display);letter-spacing:-.02em;white-space:nowrap;margin-top:8px;color:var(--pb-ink)}
.kt.dk .kt-big{text-shadow:0 0 24px rgba(53,227,210,.35)}
.kt-sub{font-size:12px;line-height:1.4;color:var(--pb-mut);margin-top:auto;padding-top:8px}
.kt .hero-d{margin-top:4px}
.kt.warn .kt-big{color:#C75F18}.pbi[data-pb=dark] .kt.warn .kt-big{color:#FFB070}
.kt:not(.dk)::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:0 5px 5px 0;background:linear-gradient(#27D9CB,#1A6FA8)}
.kt.lime::before{background:linear-gradient(#C7EE62,#8DBA25)}.kt.warn::before{background:linear-gradient(#FFB36B,#E26F22)}
.kt-ring .pbring{display:block}

/* medidor */
.pbi .chart.pbgauge{max-width:310px;margin:6px auto 0}
.pbi .chart.pbgauge .gbg{stroke:var(--pb-track)}
.pbi .chart.pbgauge .gfill{filter:drop-shadow(0 4px 8px rgba(18,181,166,.35))}
.pbi .chart.pbgauge .gv{font:700 27px var(--display);fill:var(--pb-ink)}
.pbi .chart.pbgauge .gs{font:500 11px var(--body);fill:var(--pb-mut)}
.pbi .chart.pbgauge .gm{font-size:10px}
.pbi.anim .chart .gfill{stroke-dashoffset:0;animation:pbGauge 1s .15s cubic-bezier(.2,.8,.2,1) both}
@keyframes pbGauge{from{stroke-dasharray:0 400}}

/* listas con desplazamiento, buscador y tablas dentro de tarjetas */
.pbscroll{max-height:430px;overflow:auto;padding-right:4px}
.pbsearch{min-width:210px}
.pbc .tbl{width:100%}
.pbc.pbdrill{border:1px solid rgba(26,111,168,.35)}
.pbheat-leg{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--pb-mut)}
.pbheat-leg i{width:120px;height:9px;border-radius:99px;background:linear-gradient(90deg,rgba(18,181,166,.12),#12B5A6)}

/* mapa de calor con el color del tablero */
.pbc table.heat td.hc{background:color-mix(in srgb,#12B5A6 calc(var(--hv,.1)*100%),transparent);color:var(--pb-ink);font-weight:600;transition:transform .12s,box-shadow .12s}
.pbc table.heat td.hc:hover{transform:scale(1.07);box-shadow:0 6px 14px -6px rgba(18,181,166,.8);position:relative}
.pbc table.heat td.he{background:var(--pb-track);opacity:.45}
.pbc table.heat th{color:var(--pb-mut)}.pbc table.heat tbody th,.pbc table.heat td.ht{color:var(--pb-ink)}

/* pantalla completa */
#infWrap:fullscreen{overflow:auto;padding:22px 28px;box-sizing:border-box}
#infWrap:fullscreen .pb-board{max-width:1900px;margin:0 auto}
.pbseg{display:flex;gap:3px;height:12px;border-radius:99px;overflow:hidden;margin:10px 0 6px}
.pbseg i{display:block;height:100%;min-width:4px;border-radius:3px;cursor:pointer;transition:filter .15s}.pbseg i:hover{filter:brightness(1.2)}
.pbsegl{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:10.5px;color:var(--pb-mut)}.pbsegl span{display:inline-flex;align-items:center;gap:5px}.pbsegl i{width:8px;height:8px;border-radius:50%}
.kt-sub b{color:var(--pb-ink)}
.pbc table.heat tbody th{vertical-align:middle}
.pbi .chart .emsg{font:600 13px var(--body);fill:var(--pb-mut)}


.cc-account{padding:10px 22px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--surface);border-bottom:1px solid var(--rule);font-size:12px}.cc-account>div{display:flex;gap:8px;flex-wrap:wrap}.cc-account [hidden]{display:none}#cc-save-error{padding:12px 22px;background:var(--surface);border-bottom:2px solid var(--bad);color:var(--bad)}#cc-save-error button{margin:5px}.layout{min-height:calc(100vh - 130px)}@media(max-width:680px){.cc-account{padding:10px 12px}.cc-account .btn{font-size:11px}.author-t{display:none}}
.rp-auth{min-height:100vh;display:grid;place-items:center;padding:20px}.rp-auth main{width:min(580px,100%)}.rp-auth .hm-head{display:flex;align-items:center;gap:16px;padding:20px 0}.rp-auth .hm-logo{width:90px;max-height:80px;object-fit:contain}.rp-auth .hm-app,.rp-auth .hm-sub{display:block}.rp-auth label{display:grid;gap:6px;margin:14px 0}.rp-auth input{width:100%}.rp-auth .primary{width:100%;margin:12px 0}.rp-auth #error{color:var(--bad)}.rp-admin{max-width:1400px;margin:auto;padding:24px}.rp-admin .hm-head{display:flex;align-items:center;gap:16px}.rp-admin .hm-logo{width:90px;max-height:80px;object-fit:contain}.rp-admin .hm-app,.rp-admin .hm-sub{display:block}.rp-admin .bar{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.rp-admin .scroll{overflow:auto}.rp-admin td,.rp-admin th{padding:12px;text-align:left;border-bottom:1px solid var(--rule)}.rp-admin small{display:block}.rp-admin pre{white-space:pre-wrap;overflow-wrap:anywhere}
