:root{--brand-red:red;--brand-red-dark:#d60000;--brand-blue:#1565c0;--brand-blue-dark:#0d47a1;--brand-blue-tint:#e6effa;--white:#fff;--folha:#1e8a4c;--folha-bg:#e1f4ea;--urgente:#c4001a;--urgente-bg:#fde8eb;--atencao:#a85d00;--atencao-bg:#fdf0d9;--bg:#f4f6fa;--surface:var(--white);--ink:#14202e;--muted:#5a6677;--line:#dde3ec;--radius:14px;--font-d:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--font-b:"Figtree", "Segoe UI", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--font-b);margin:0}h1,h2,h3{font-family:var(--font-d);margin:0;line-height:1.15}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--brand-blue);outline-offset:2px;border-radius:6px}.boot{min-height:100vh;color:var(--muted);place-items:center;display:grid}.muted{color:var(--muted);margin:.25rem 0 .75rem;font-size:.92rem}.warn-text{color:var(--atencao)}.link{color:var(--brand-blue);background:0 0;border:0;padding:.25rem 0;font-weight:600;text-decoration:underline}.shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.side{background:var(--brand-red);color:var(--white);flex-direction:column;gap:1.5rem;height:100vh;padding:1.5rem 1rem 1.25rem;display:flex;position:sticky;top:0}.brand{justify-items:start;gap:.5rem;padding:0 .35rem;display:grid}.brand img{width:100%;max-width:200px;height:auto;display:block}.brand small{color:#fff;opacity:.95;letter-spacing:.01em;border-top:1px solid #fff5;width:100%;padding-top:.5rem;font-size:.8rem;font-weight:600}.side nav{gap:.25rem;display:grid}.side nav button{color:var(--white);text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:.7rem;padding:.7rem .8rem;font-weight:700;display:flex}.side nav button.on{background:var(--white);color:var(--brand-red-dark)}.side nav button:hover:not(.on){background:#ffffff26}.who{color:var(--white);justify-content:space-between;align-items:center;margin-top:auto;font-weight:600;display:flex}.who .link{color:var(--white)}main{min-width:0}.demo-bar{background:var(--atencao-bg);color:var(--atencao);text-align:center;border-bottom:1px solid var(--line);padding:.35rem;font-size:.82rem;font-weight:600}.page{gap:1.5rem;max-width:1320px;margin:0 auto;padding:1.25rem 1.25rem 7rem;display:grid}.h1{font-size:1.8rem}.h2{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.6rem;font-size:1.2rem;display:flex}.count{background:var(--brand-blue-tint);color:var(--brand-blue-dark);font:700 .8rem var(--font-b);border-radius:99px;padding:.1rem .55rem}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.tabbar,.fab{display:none}.hero{color:#fff;background:var(--brand-blue-dark);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1.5rem;display:flex;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:repeating-linear-gradient(115deg,#0000 0 22px,#ffffff0c 22px 24px);position:absolute;inset:0}.hero>*{position:relative}.hero-danger{background:linear-gradient(120deg, #8a0012, var(--urgente))}.hero-today{background:linear-gradient(120deg,#9a3412,#c2410c)}.hero-ok{background:linear-gradient(120deg,#14603a,#1a7a44)}.hero h1{letter-spacing:-.02em;font-size:clamp(1.7rem,5vw,2.6rem);font-weight:800}.hero-date{opacity:.85;margin:0 0 .3rem;font-weight:600}.hero-sub{opacity:.92;margin:.4rem 0 0}.dash-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);align-items:start;gap:1.5rem;display:grid}.col-main{gap:1.1rem;min-width:0;display:grid}.col-side{gap:1rem;min-width:0;display:grid;position:sticky;top:1rem}.col-title{margin:0;font-size:1.4rem}.group-head{border-bottom:2px solid var(--line);align-items:center;gap:.6rem;margin-bottom:.5rem;padding-bottom:.35rem;display:flex}.group-head h3{font-size:1.05rem}.group-sum{font:700 1rem var(--font-d);font-variant-numeric:tabular-nums;margin-left:auto}.group-danger .group-head{border-bottom-color:var(--urgente)}.group-danger h3{color:var(--urgente)}.group-warn .group-head{border-bottom-color:var(--atencao)}.group-calm .group-head{border-bottom-color:var(--brand-blue)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.panel-paid{border-top:4px solid var(--folha)}.panel-head{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.4rem;display:flex}.panel-head .h2{margin:0}.panel-total{font:800 1.3rem var(--font-d);color:var(--folha)}.paid-list{margin:0;padding:0;list-style:none}.paid-list li+li{border-top:1px solid var(--line)}.paid-list button{text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:28px 1fr auto;align-items:center;gap:.6rem;width:100%;padding:.6rem .2rem;display:grid}.paid-list button:hover{background:var(--folha-bg)}.paid-check{background:var(--folha-bg);width:26px;height:26px;color:var(--folha);border-radius:50%;place-items:center;font-weight:800;display:grid}.paid-info{min-width:0;display:grid}.paid-info b{overflow-wrap:anywhere}.paid-info small{color:var(--muted)}.paid-amt{font:700 .95rem var(--font-d);font-variant-numeric:tabular-nums;justify-items:end;gap:.15rem;display:grid}.paid-on{color:var(--folha);font-weight:700}.tabs{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:4px;width:fit-content;padding:4px;display:inline-flex}.tabs button{min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:9px;align-items:center;gap:.5rem;padding:.55rem 1rem;font-weight:700;display:inline-flex}.tabs button.on{background:var(--brand-blue-dark);color:#fff}.tabs button.on .count{color:#fff;background:#ffffff30}.health{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:12px;align-items:center;gap:.65rem;padding:.6rem .9rem;font-size:.9rem;font-weight:600;display:flex}.health-icon{background:var(--line);width:24px;height:24px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-weight:800;display:grid}.health-ok{color:var(--folha);background:var(--folha-bg);border-color:#0000}.health-ok .health-icon{background:var(--folha);color:#fff}.health-warn{color:var(--atencao);background:var(--atencao-bg);border-color:#e8c98c}.health-warn .health-icon{background:var(--atencao);color:#fff}.health-danger{color:#fff;background:var(--urgente);border-color:#0000}.health-danger .health-icon{color:var(--urgente);background:#fff}.health-info .health-icon{background:var(--brand-blue-tint);color:var(--brand-blue)}.kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);border-top:4px solid var(--line);gap:.15rem;padding:.85rem 1rem;display:grid}.kpi-label{color:var(--muted);font-size:.82rem;font-weight:600}.kpi-v{font:700 1.3rem var(--font-d);font-variant-numeric:tabular-nums}.kpi-n{color:var(--muted);min-height:1.2em;font-size:.8rem}.kpi-danger{border-top-color:var(--urgente)}.kpi-danger .kpi-v{color:var(--urgente)}.kpi-warn{border-top-color:var(--atencao)}.kpi-ok{border-top-color:var(--folha)}.kpi-calm{border-top-color:var(--brand-blue)}.bills,.cards,.cats,.audit,.dups{margin:0;padding:0;list-style:none}.bills{gap:.55rem;display:grid}.bill{background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--line);border-radius:var(--radius);align-items:stretch;display:flex;overflow:hidden}.bill.lvl-danger{border-left-color:var(--urgente)}.bill.lvl-warn{border-left-color:var(--atencao)}.bill.lvl-info{border-left-color:var(--brand-blue)}.bill.st-pago,.bill.st-conciliado{border-left-color:var(--folha)}.bill.st-cancelado{opacity:.6}.bill-main{text-align:left;background:0 0;border:0;flex:1;grid-template-columns:64px 1fr auto;align-items:center;gap:.8rem;min-width:0;padding:.75rem .8rem;display:grid}.bill-date{text-align:center;line-height:1.15;display:grid}.bill-date b{font:700 1rem var(--font-d)}.bill-date small{color:var(--atencao);font-size:.7rem}.bill-info{gap:.15rem;min-width:0;display:grid}.bill-name{overflow-wrap:anywhere;font-weight:700}.bill-sub{color:var(--muted);font-size:.85rem}.bill-alerts{flex-wrap:wrap;gap:.35rem;margin-top:.2rem;display:flex}.bill-amt{text-align:right;justify-items:end;gap:.15rem;display:grid}.bill-amt b{font:700 1.05rem var(--font-d);font-variant-numeric:tabular-nums}.bill-amt small{color:var(--atencao);font-size:.75rem;font-weight:600}.demo-tag{background:var(--brand-blue-tint);color:var(--brand-blue-dark);vertical-align:middle;border-radius:6px;margin-left:.4rem;padding:.05rem .4rem;font-size:.65rem;font-style:normal;font-weight:700}.demo-tag.essential{background:var(--atencao-bg);color:var(--atencao)}.pill{border-radius:99px;padding:.1rem .6rem;font-size:.75rem;font-weight:700;display:inline-block}.pill-danger{background:var(--urgente-bg);color:var(--urgente)}.pill-warn{background:var(--atencao-bg);color:var(--atencao)}.pill-info{background:var(--brand-blue-tint);color:var(--brand-blue-dark)}.chip{background:var(--brand-blue-tint);color:var(--brand-blue-dark);white-space:nowrap;border-radius:8px;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.chip-vencida{background:var(--urgente-bg);color:var(--urgente)}.chip-pago{background:var(--atencao-bg);color:var(--atencao)}.chip-conciliado,.chip-exp-ativa{background:var(--folha-bg);color:var(--folha)}.chip-cancelado,.chip-exp-encerrada{background:var(--line);color:var(--muted)}.chip-exp-suspensa{background:var(--atencao-bg);color:var(--atencao)}.btn{border:1px solid #0000;border-radius:11px;min-height:44px;padding:.65rem 1rem;font-weight:700}.btn-primary{background:var(--brand-blue);color:#fff}.btn-primary:hover{background:var(--brand-blue-dark)}.btn-pay{background:var(--folha);color:#fff;align-self:center;margin:.5rem}.btn-pay:hover{filter:brightness(.92)}.btn-ghost{border-color:var(--line);background:0 0}.btn-ghost:hover{background:var(--brand-blue-tint)}.btn-light{background:var(--white);color:var(--ink)}.btn.danger{color:var(--urgente)}.btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn{background:0 0;border:0;border-radius:10px;width:44px;height:44px;font-size:1.1rem}.icon-btn:hover{background:var(--brand-blue-tint)}.actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.file-btn{align-items:center;display:inline-flex}.cards{gap:.75rem;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.card-title{font:700 1.05rem var(--font-d)}.card .muted{margin:.15rem 0 0}.meta{margin:.6rem 0 0;font-size:.9rem}.exp-encerrada{opacity:.7}.notice{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.notice-warn{background:var(--atencao-bg);border-color:#e8c98c}.dups li{border-top:1px solid #0001;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding:.4rem 0;display:flex}.dup-links{gap:.8rem;display:flex}.empty{border:2px dashed var(--line);border-radius:var(--radius);text-align:center;color:var(--muted);padding:1.25rem}.empty p{margin:.25rem 0 0}.cats li{border-bottom:1px solid var(--line);justify-content:space-between;padding:.5rem 0;display:flex}.cats .arch span{opacity:.55}.audit{gap:.35rem;max-height:340px;font-size:.85rem;display:grid;overflow:auto}.audit time{color:var(--muted);margin-right:.35rem}.digest{white-space:pre-wrap;background:var(--bg);border:1px solid var(--line);font:.85rem/1.5 var(--font-b);overflow-wrap:anywhere;border-radius:10px;padding:.8rem}.form{gap:.9rem;display:grid}.grid2{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.field{gap:.3rem;min-width:0;display:grid}.field-label{font-size:.85rem;font-weight:600}input,select,textarea{background:var(--surface);border:1.5px solid var(--line);border-radius:10px;width:100%;min-height:46px;padding:.65rem .75rem}input:focus,select:focus,textarea:focus{border-color:var(--brand-blue);outline-offset:0;outline:3px solid #1565c033}.pw-wrap{display:block;position:relative}.pw-wrap input{padding-right:3.1rem}.pw-eye{width:42px;height:42px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:50%;right:.2rem;transform:translateY(-50%)}.pw-eye:hover{color:var(--ink)}.pw-eye:focus-visible{outline:3px solid #1565c055}.pw-eye[aria-pressed=true]{color:var(--brand-blue)}.pw-eye svg{width:22px;height:22px}input[type=checkbox]{flex:none;width:20px;height:20px;min-height:0;margin-top:.15rem}.check{color:var(--muted);align-items:flex-start;gap:.6rem;font-size:.88rem;display:flex}.hint{color:var(--muted);font-size:.78rem}.err{color:var(--urgente);margin:0;font-size:.82rem;font-weight:600}.form-actions{background:var(--surface);justify-content:flex-end;gap:.6rem;padding:.6rem 0 0;display:flex;position:sticky;bottom:0}.filters{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:.7rem;padding:1rem;display:grid}.inline{flex-wrap:wrap;align-items:end;gap:.6rem;display:flex}.inline .field{flex:1;min-width:160px}details summary{cursor:pointer;padding:.4rem 0;font-weight:600}.modal{background:var(--surface);width:min(560px,100vw - 24px);max-height:calc(100dvh - 24px);color:var(--ink);border:0;border-radius:20px;padding:0;box-shadow:0 30px 80px #0006}.modal.wide{width:min(680px,100vw - 24px)}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0b1b2e99}.modal[open]{animation:.18s ease-out pop}@keyframes pop{0%{opacity:0;transform:translateY(10px)}}.modal-head{background:var(--surface);z-index:1;justify-content:space-between;align-items:center;padding:.9rem 1rem .4rem 1.25rem;display:flex;position:sticky;top:0}.modal-head h2{font-size:1.3rem}.modal-body{gap:.9rem;padding:.25rem 1.25rem 1.25rem;display:grid}.pay-head{background:var(--bg);border-radius:12px;gap:.2rem;padding:.8rem;display:grid}.detail-top{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.detail-amt{font:800 1.5rem var(--font-d);margin-left:auto}.facts{grid-template-columns:max-content 1fr;gap:.3rem 1rem;margin:0;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.edit-block{background:var(--bg);border-radius:12px;gap:.8rem;padding:.9rem;display:grid}.paybox{background:var(--folha-bg);border-radius:12px;padding:.8rem 1rem}.paybox h3{font-size:1rem}.paybox p{margin:.2rem 0}.login{background:var(--brand-red);place-items:center;min-height:100dvh;padding:1rem;display:grid}.login-box{background:var(--surface);border-radius:22px;width:min(420px,100%);overflow:hidden;box-shadow:0 24px 60px #0004}.login-brand{background:var(--brand-red);border-bottom:5px solid var(--brand-blue);justify-items:center;gap:.5rem;padding:1.75rem 1.5rem 1.4rem;display:grid}.login-brand img{width:220px;max-width:70%;height:auto}.login-brand small{color:#fff;font-weight:600}.login form{gap:.9rem;padding:1.5rem;display:grid}.topbar{display:none}.login h1{font-size:1.35rem}.demo-help{background:var(--atencao-bg);border-radius:12px;padding:.8rem;font-size:.85rem}.demo-help p{margin:.3rem 0 0}code{background:#0001;border-radius:5px;padding:.05rem .35rem}.toast{background:var(--ink);color:#fff;z-index:100;border-radius:12px;max-width:min(92vw,460px);padding:.75rem 1.1rem;font-weight:600;position:fixed;bottom:90px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0005}.toast-erro{background:var(--urgente)}@media (width<=1100px){.dash-grid{grid-template-columns:1fr}.col-side{position:static}}@media (width>=1101px){.bills{gap:.5rem}.bill-main{grid-template-columns:76px 1fr auto}.modal.wide{width:min(760px,100vw - 24px)}}@media (width<=800px){.shell{grid-template-columns:1fr}.side{display:none}.topbar{background:var(--brand-red);border-bottom:4px solid var(--brand-blue);z-index:15;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 16px;display:flex;position:sticky;top:0}.topbar img{width:auto;height:38px;display:block}.topbar small{color:#fff;text-align:right;font-size:.78rem;font-weight:700;line-height:1.2}.tabbar{background:var(--brand-red);padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom));z-index:20;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:#fff;opacity:.88;background:0 0;border:0;border-radius:10px;justify-items:center;gap:.1rem;min-height:52px;padding:.35rem 0;font-size:.72rem;font-weight:600;display:grid}.tabbar button.on{opacity:1;background:var(--white);color:var(--brand-red-dark)}.tabbar button span{font-size:1.15rem}.fab{right:16px;bottom:calc(76px + env(safe-area-inset-bottom));background:var(--folha);color:#fff;z-index:21;border:0;border-radius:50%;place-items:center;width:56px;height:56px;font-size:1.8rem;display:grid;position:fixed;box-shadow:0 8px 20px #0004}.page{padding:1rem 16px 9rem}.grid2{grid-template-columns:1fr}.bill{flex-wrap:wrap}.bill-main{grid-template-columns:54px 1fr auto;gap:.6rem;padding:.65rem}.btn-pay{margin:0 .65rem .65rem auto;padding:.5rem 1.2rem}.hero .btn-light{display:none}.toast{bottom:130px}.modal{border-radius:20px 20px 0 0;width:100vw;max-height:94dvh;margin:auto 0 0}.modal.wide{width:100vw}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.kv{gap:.5rem;margin:.6rem 0 1rem;display:grid}.kv>div{flex-wrap:wrap;gap:.25rem .75rem;display:flex}.kv dt{min-width:9rem;font-weight:700}.kv dd{overflow-wrap:anywhere;margin:0}
