:root{color-scheme:dark;--bg:#0b111b;--surface:#121c2b;--surface-2:#182437;--line:#253247;--ink:#edf3fb;--muted:#92a5bf;--accent:#47d9ac;--accent-ink:#06372b;--blue:#80afff;--red:#fb8d9c;--shadow:0 12px 35px #00000015}
:root[data-theme=light]{color-scheme:light;--bg:#f3f6f9;--surface:#fff;--surface-2:#f1f5f9;--line:#dce5ee;--ink:#172c42;--muted:#5c7187;--accent:#087d63;--accent-ink:#fff;--blue:#2856bc;--red:#b43a51;--shadow:0 8px 28px #19334d08}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,'Segoe UI',system-ui,sans-serif;font-size:14px;line-height:1.55;letter-spacing:.005em}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{border-radius:10px;min-height:42px;padding:10px 17px;transition:background .16s,border-color .16s;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}button:not(.outlined){background:var(--accent);color:var(--accent-ink);border:1px solid transparent;font-weight:650}button:hover{filter:brightness(1.07)}button:disabled{opacity:.48;cursor:default}.hidden,[hidden]{display:none!important}.outlined{background:transparent;color:var(--ink);border:1px solid var(--line)}input,select{width:100%;padding:11px 12px;background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:9px;min-height:44px}input:focus,select:focus{border-color:var(--accent)}label{font-size:12px;font-weight:650;letter-spacing:.02em;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:30px;font-weight:700;letter-spacing:-.035em;line-height:1.2}h2{font-size:17px;font-weight:650;letter-spacing:-.015em}p{color:var(--muted)}a{color:var(--blue)}
.topbar{flex-direction:row;position:relative;background:var(--surface);border-bottom:1px solid var(--line);height:88px;padding:12px 32px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand-logo{display:flex;align-items:center;gap:16px}.logo-header{width:110px;height:62px;object-fit:contain}.brand-logo em{font-style:normal;background:none;color:var(--muted);font-size:10px;letter-spacing:.15em}.status{font-size:12px;color:var(--muted);margin-left:auto}.theme-toggle{background:var(--surface-2)!important;color:var(--ink)!important;border:1px solid var(--line)!important;font-size:12px;white-space:nowrap}
body>main{max-width:1480px;margin:auto;padding:36px}.signed-in>main{max-width:none;margin-left:252px;padding:38px 42px}.signed-in>.topbar{margin-left:252px;height:76px}.signed-in .topbar .brand-logo img{display:none}.signed-in .topbar .brand-logo em{font-size:11px;color:var(--ink)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:252px;background:var(--surface);border-right:1px solid var(--line);padding:28px 18px;z-index:20;overflow:auto}.sidebar-brand{display:flex;align-items:center;gap:9px;padding:0 12px 22px;border-bottom:1px solid var(--line);margin-bottom:20px}.sidebar-brand img{width:54px;height:54px;object-fit:contain;object-position:center;flex-shrink:0}.sidebar-brand strong{font-size:18px;letter-spacing:-.04em}.sidebar-brand small{display:block;font-size:10px;color:var(--muted);font-weight:500;letter-spacing:.12em;text-transform:uppercase}.nav-caption{display:block;padding:20px 13px 8px;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.sidebar .view-nav{display:flex;flex-direction:column;gap:4px;border:0;padding:0;margin:0;background:none}.sidebar .view-nav button{display:flex;align-items:center;gap:12px;justify-content:flex-start;text-align:left;border:1px solid transparent;background:transparent;color:var(--muted);font-weight:550;border-radius:9px;width:100%;padding:11px 13px;min-height:44px}.sidebar .view-nav button:hover{background:var(--surface-2);color:var(--ink)}.sidebar .view-nav button.view-active{background:color-mix(in srgb,var(--accent) 13%,transparent);border-color:color-mix(in srgb,var(--accent) 23%,transparent);color:var(--accent)}.nav-icon{width:20px;text-align:center;font-size:17px;line-height:1}.sidebar-note{margin:32px 12px 8px;padding-top:18px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.sidebar-note b{display:block;color:var(--ink);font-size:12px;margin-bottom:4px}
.welcome{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:20px}.welcome h1{margin-bottom:7px}.welcome p{margin:0;font-size:14px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.17em;color:var(--accent);text-transform:uppercase;margin-bottom:12px}.filters{display:flex;align-items:end;gap:12px;margin-bottom:24px;background:none;padding:0;border:0}.filters label{min-width:140px;max-width:200px}.filters label select{margin-top:5px;background:var(--surface)}#period-caption{margin-left:auto;color:var(--muted);font-size:12px;padding-bottom:12px}.kpis,.invoice-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.kpi{padding:23px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);min-height:140px}.kpi-title{font-size:12px;font-weight:550;color:var(--muted);margin-bottom:16px}.kpi strong{font-size:clamp(22px,2.15vw,33px);font-weight:650;letter-spacing:-.04em;white-space:nowrap}#income{color:var(--accent)}#expense{color:var(--red)}#balance{color:var(--ink)}#efficiency{color:var(--blue)}.kpi-note{display:block;font-size:10px;color:var(--muted);margin-top:10px}.panels{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;margin:0 0 24px}.card{background:var(--surface);border:1px solid var(--line);padding:25px;border-radius:14px;box-shadow:var(--shadow)}.heading{display:flex;justify-content:space-between;align-items:start;gap:14px;margin-bottom:20px}.heading h2{margin:0}.heading>span{color:var(--muted);font-size:10px}.legend{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.chart{min-height:230px}.categories{color:var(--muted)}.category-row{border-color:var(--line)}.record-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.record-title h2{margin-bottom:6px}.record-title p,.help{font-size:11px;line-height:1.6}.records nav{display:flex;flex-wrap:wrap;gap:5px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0}.records nav button{min-height:34px;padding:6px 11px;border:0;background:transparent;color:var(--muted);font-size:11px}.records nav button.active{background:var(--surface-2);color:var(--ink)}.table-area,#rows{overflow:auto}table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}th{font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:650;color:var(--muted);background:var(--surface-2);white-space:nowrap}th,td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--line)}td{color:var(--ink)}tbody tr:hover,tr:has(td):hover{background:color-mix(in srgb,var(--surface-2) 50%,transparent)}td button{min-height:30px;padding:5px 9px;font-size:11px;margin:2px;background:var(--surface-2)!important;color:var(--ink)!important;border:1px solid var(--line)!important;font-weight:550!important}td button:hover{border-color:var(--accent)!important}.status-pill{display:inline-block;padding:4px 9px;border-radius:7px;font-size:10px;font-weight:600;background:var(--surface-2);color:var(--muted)}.status-pill.paid{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.pager{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:20px;color:var(--muted);font-size:11px}footer{color:var(--muted);font-size:10px;opacity:.7;padding:26px 0}
.login-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 80px #0002;max-width:430px;padding:38px;margin:6vh auto}.login-logo img{width:190px;height:125px;object-fit:contain}.login-card label{display:grid;gap:7px;margin:18px 0}.login-card button{width:100%;margin-top:8px}.login-card .hint{font-size:11px;line-height:1.6;color:var(--muted)}.login-card>p{font-size:13px}.notice,.alert{border-radius:9px;color:var(--ink);font-size:12px}.notice:empty{display:none}.main{max-width:none;padding:0;margin:0}.main>.topbar{display:none}.main>.card{margin:0 0 22px;padding:26px}.main>.card:first-of-type{background:transparent;border:0;box-shadow:none;padding:0 0 20px}.main>.card:first-of-type h1{font-size:27px;margin-bottom:8px}.main>.card:first-of-type>p{font-size:13px;margin-bottom:24px}.main label{display:grid;gap:7px}.main>.card:first-of-type>label{display:inline-grid;min-width:190px;margin-right:10px;vertical-align:bottom}.main #refresh,.main #refresh+button{margin-right:8px;margin-top:10px}.main #notice{padding:0;min-height:0;margin:14px 0 0;font-size:12px;color:var(--accent)}.main #notice button{margin-left:10px}.main form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:end}.main form>button{min-height:44px}.main #cancel{margin-top:16px;background:transparent;color:var(--muted);border:1px solid var(--line)}.main #rows{margin-top:18px}.main #rows>table{min-width:620px}.main input[type=search]{max-width:360px}.main #invoice-panel input{max-width:220px}.main #invoice-panel button{margin:12px 8px 12px 0}.main #form-title{margin-bottom:24px}.empty-state{padding:48px;text-align:center;color:var(--muted)}
@media(min-width:1700px){.signed-in>main{padding:42px 64px}.panels{grid-template-columns:1.8fr 1fr}}
@media(max-width:1150px){.sidebar{width:210px;padding:24px 12px}.signed-in>main{margin-left:210px;padding:28px 24px}.signed-in>.topbar{margin-left:210px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.panels{grid-template-columns:1fr}.main form{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi strong{font-size:29px}}
@media(max-width:760px){.sidebar{position:static;width:auto;border-right:0;border-bottom:1px solid var(--line);padding:12px;margin-bottom:25px}.sidebar-brand,.sidebar-note,.nav-caption{display:none}.sidebar .view-nav{display:flex;flex-direction:row;overflow:auto;flex-wrap:nowrap;gap:6px}.sidebar .view-nav button{width:auto;white-space:nowrap;font-size:11px;min-height:38px;padding:8px 11px}.nav-icon{display:none}.signed-in>main,body>main{margin-left:0;padding:20px 16px}.signed-in>.topbar{margin-left:0;height:70px;padding:12px 16px}.status{display:none}.welcome{margin-bottom:22px}.welcome h1{font-size:25px}.welcome p{font-size:12px}.eyebrow{font-size:9px}.kpis{gap:10px}.kpi{padding:17px;min-height:125px}.kpi strong{font-size:23px}.kpi-title{font-size:11px}.card{padding:18px}.main>.card{padding:20px}.main>.card:first-of-type{padding:0 0 20px}.main>.card:first-of-type h1{font-size:25px}.main form{grid-template-columns:1fr}.main>.card:first-of-type>label{display:grid;margin:0 0 12px}.main #rows>table{min-width:620px}.filters{gap:10px}.filters label{min-width:95px}#period-caption{font-size:10px}.login-card{margin:25px auto;padding:26px}.topbar .brand-logo em{display:none}}
.main label input,.main label select,.login-card input{background:var(--surface-2);color:var(--ink);border-color:var(--line);color-scheme:inherit}.summary-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.summary-metric{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:20px 23px}.summary-metric small{display:block;color:var(--muted);font-size:11px;margin-bottom:10px}.summary-metric strong{font-size:25px;letter-spacing:-.035em;font-weight:650}.planning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0 25px}.planning-card{padding:23px;background:var(--surface);border:1px solid var(--line);border-radius:13px}.planning-card h3{font-size:15px;margin-bottom:18px}.planning-card>strong{font-size:22px;color:var(--ink);letter-spacing:-.025em}.planning-card>span{font-size:12px;color:var(--muted)}.planning-card progress{display:block;width:100%;height:8px;margin:20px 0 12px;accent-color:var(--accent);border:0;border-radius:8px;overflow:hidden}.planning-card progress::-webkit-progress-bar{background:var(--surface-2)}.planning-card progress::-webkit-progress-value{background:var(--accent);border-radius:8px}.planning-card p{font-size:11px;margin-bottom:14px}.planning-card p[data-state=excedido]{color:var(--red)}.planning-card p[data-state=atencao]{color:#b88724}.planning-card button{font-size:11px;min-height:32px;padding:5px 12px}.summary-month{display:grid;gap:6px;width:220px;margin-bottom:18px}.module-summary>p{font-size:11px}.summary-metrics:empty{display:none}.main #rows td:nth-last-child(1){min-width:155px}.main #rows td:nth-child(1){color:var(--muted);font-size:10px}.main #rows td{vertical-align:middle}.main #rows td:nth-child(3){max-width:270px}.main #notice button{min-height:34px}.main form input[type=number]{font-variant-numeric:tabular-nums}
.list-filters{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-bottom:16px}.list-filters>label{flex:1;min-width:140px}.list-filters>label:first-child{flex:2}.list-filters>button{background:transparent!important;border:1px solid var(--line)!important;color:var(--muted)!important;font-size:11px;min-height:44px}.list-filters input[type=search]{max-width:none}.list-filters>label[hidden]{display:none!important}
@media(max-width:1100px){.planning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-metric strong{font-size:21px}}
@media(max-width:760px){.summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.summary-metric{padding:16px}.summary-metric strong{font-size:20px}.planning-grid{grid-template-columns:1fr}.main #rows td{padding:12px 10px}}
@media(max-width:760px){.signed-in .topbar .brand-logo em{display:block;font-size:11px}.sidebar .view-nav{scrollbar-width:thin;scrollbar-color:var(--line) transparent}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media(max-width:760px){.signed-in>.topbar{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.signed-in>.topbar .brand-logo{width:auto;min-width:0}.signed-in>.topbar .theme-toggle{margin:0;flex-shrink:0}.signed-in>.topbar .brand-logo em{font-size:10px}}

.sidebar .view-nav .theme-toggle{margin-top:18px;border:1px solid var(--line)!important;justify-content:center}
@media(max-width:760px){.sidebar .view-nav .theme-toggle{margin-top:0;flex-shrink:0}}

body>header.topbar{display:none!important}
.signed-in #app-panel .records{display:none!important}
@media(min-width:761px){
 .sidebar{padding:16px 12px;overflow-x:hidden}
 .sidebar-brand{padding:0 8px 12px;margin-bottom:12px;gap:8px}
 .sidebar-brand img{width:180px;height:70px;object-fit:contain;object-position:center}
 .sidebar-brand strong{font-size:17px}
 .sidebar-brand small{font-size:9px}
 .sidebar-note{display:none}
 .sidebar .view-nav{gap:2px}
 .sidebar .view-nav button{height:clamp(30px,calc((100dvh - 170px)/14),42px);min-height:0;padding:5px 12px;font-size:13px;flex-shrink:0;line-height:1.2}
 #app-panel .sidebar .view-nav .theme-toggle,#app-panel .sidebar .view-nav .sidebar-logout{margin-top:0}
}
label:has(>#module){display:none!important}
.account-dialog{width:min(440px,calc(100% - 32px));padding:26px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
.account-dialog::backdrop{background:#0009;backdrop-filter:blur(3px)}
.account-dialog form,.account-dialog label{display:grid;gap:8px}.account-dialog form{gap:16px}.account-dialog h2,.account-dialog p{margin:0}.account-dialog p{font-size:12px}.account-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.account-message{color:var(--muted);min-height:20px}
.filters,.invoice-filter{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:24px}
#app-panel .invoice-filter{background:transparent;border:0;padding:0;box-shadow:none}
#app-panel .filters>label,#app-panel .invoice-filter>label{display:grid;gap:5px;flex:0 0 140px;width:140px;min-width:0;max-width:140px}
.filters>label select,.invoice-filter>label select{margin-top:0;width:100%;min-width:0;max-width:100%;height:44px;min-height:44px;background:var(--surface)}
#app-panel .invoice-filter>label:has(#invoice-card){flex-basis:220px;width:220px;max-width:100%}
.summary-month,.list-filters>label:has(input[type=month]){flex:0 0 180px;width:180px;min-width:0;max-width:180px}
@media(max-width:380px){.filters,.invoice-filter{gap:10px}#app-panel .filters>label,#app-panel .invoice-filter>label{flex-basis:calc(50% - 5px);width:calc(50% - 5px);max-width:none}#app-panel .invoice-filter>label:has(#invoice-card){flex-basis:100%;width:100%}#period-caption{margin-left:0}}

.sidebar .view-nav .sidebar-logout{margin-top:4px;justify-content:center;color:var(--red);border:1px solid var(--line)}
.main,.card,.summary-metric,.planning-card{color:var(--ink)}
input,select,textarea,option{color:var(--ink);background:var(--surface-2);border-color:var(--line);color-scheme:inherit}
.main button,.main input,.main select{box-shadow:none}
.main .report-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.main .closing-notice{padding:12px;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:8px;background:var(--surface-2);color:var(--ink);line-height:1.6}
.main .invoice-state{font-weight:650;color:var(--red)}
.main .invoice-state[data-state=Paga]{color:var(--accent)}
.main .invoice-state[data-state="Sem compras"]{color:var(--muted)}
.main .due-section-title{grid-column:1/-1;margin:12px 0 0;color:var(--ink)}
.main .module-summary>label{max-width:180px;margin-bottom:18px}
.notice,.alert,#app-error,#login-error{background:var(--surface-2);color:var(--ink);border-color:var(--line)}
.status-pill{background:var(--surface-2);color:var(--ink)}
.chart .bar-income,.legend-income{background:var(--accent)}
.chart .bar-expense,.legend-expense{background:var(--red)}
@media(max-width:760px){.sidebar .view-nav .sidebar-logout{margin-top:0;flex-shrink:0}}
.mobile-toolbar,.mobile-menu-close,.mobile-menu-shade{display:none}
.main,.module-summary,.planning-grid,.summary-metrics,.panels,.card,.kpi{min-width:0}
.planning-card h3,.card h2,.card p,.main #notice{overflow-wrap:anywhere}
.account-dialog{max-height:calc(100dvh - 32px);overflow:auto}
@media(max-width:760px){
 body{overflow-x:hidden}.signed-in>main{padding:12px}.welcome{margin-bottom:18px}.welcome h1{font-size:24px}
 .mobile-toolbar{display:flex;position:sticky;top:0;z-index:24;align-items:center;gap:14px;min-height:60px;margin:0 0 18px;padding:8px 0;background:var(--bg);border-bottom:1px solid var(--line)}
 .mobile-toolbar strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-toolbar button{min-width:94px;min-height:44px;padding:8px 12px}
 .sidebar{position:fixed;inset:0 auto 0 0;width:min(320px,88vw);height:100dvh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:16px;z-index:41;transform:translateX(-105%);transition:transform .2s ease;box-shadow:var(--shadow);margin:0;border:0;border-right:1px solid var(--line)}
 .mobile-nav-open .sidebar{transform:translateX(0)}.sidebar-brand{display:flex;justify-content:center;padding:12px 0;margin-bottom:14px}.sidebar-brand img{width:190px;height:82px;object-fit:contain}
 .mobile-menu-close{display:block;width:100%;min-height:44px}.mobile-menu-shade:not([hidden]){display:block!important;position:fixed;inset:0;width:100%;height:100dvh;margin:0;padding:0;border:0!important;border-radius:0;z-index:40;background:#0009!important}
 .sidebar .view-nav{display:flex;flex-direction:column;overflow:visible;gap:4px}.sidebar .view-nav button{width:100%;min-height:44px;height:auto;text-align:left;justify-content:flex-start;font-size:14px;white-space:normal;padding:11px 12px}.sidebar .nav-icon{display:inline-block}.sidebar .sidebar-note{display:none}
 .main>.card{padding:16px;margin-bottom:16px}.main>.card:first-of-type{padding:0 0 12px}.main>.card:first-of-type h1{font-size:24px}.main form{gap:14px}.main input,.main select,.login-card input{font-size:16px;min-height:46px}
 .main .summary-metrics{grid-template-columns:1fr 1fr;gap:10px}.summary-metric{padding:14px;min-width:0}.summary-metric strong{font-size:clamp(17px,5vw,23px);overflow-wrap:anywhere}.main .planning-grid{grid-template-columns:minmax(0,1fr);gap:12px}.main .planning-card{padding:18px}
 .main .list-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.main .list-filters>label{width:auto;max-width:none;min-width:0}.main .list-filters>label:first-child{grid-column:1/-1}.main .list-filters>button{grid-column:1/-1}.main .report-actions button{flex:1 1 140px;min-height:44px}
 .main #rows>table{min-width:0}.main #rows table,.main #rows tbody,.main #rows tr,.main #rows td{display:block;width:100%}.main #rows tr:has(th){display:none}.main #rows tr:has(td){border:1px solid var(--line);border-radius:12px;padding:12px;margin:0 0 12px;background:var(--surface)}
 .main #rows td,.main #rows td:nth-child(1),.main #rows td:nth-child(3),.main #rows td:nth-last-child(1){min-width:0;max-width:none;padding:7px 0;border:0;font-size:13px;overflow-wrap:anywhere}.main #rows td::before{content:attr(data-label);display:block;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:3px}.main #rows td:empty{display:none}.main #rows td button{min-height:40px;padding:8px 12px;margin:3px 5px 3px 0}
 .main .pager{flex-wrap:wrap;justify-content:space-between;gap:8px}.main .pager button{min-height:44px}.kpis{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.kpi{padding:14px}.kpi strong{font-size:clamp(18px,5vw,26px);white-space:normal}
}
@media(max-width:360px){.main .summary-metrics{grid-template-columns:minmax(0,1fr)}.main .list-filters{grid-template-columns:minmax(0,1fr)}.mobile-toolbar strong{font-size:12px}}
.main dialog form{grid-template-columns:1fr}.main dialog .account-actions{grid-column:1/-1}
.dashboard-extras>.card,.dashboard-extras>.panels{margin-top:20px}.dashboard-extras progress{width:100%;height:10px;accent-color:var(--accent)}.insight-message{padding:12px;border-left:3px solid var(--blue);background:var(--surface-2);border-radius:8px;color:var(--ink)}.insight-message[data-state=warning]{border-color:var(--red)}.insight-message[data-state=positive]{border-color:var(--accent)}.tag-total{display:flex;gap:16px;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.tag-total strong{white-space:nowrap}.goal-overview{padding:14px 0;border-bottom:1px solid var(--line)}.goal-overview p{margin:6px 0}.customer-charge-link{display:inline-block;font-size:12px;padding:8px 0}
.main #rows td.customer-name{font-size:20px;font-weight:700;line-height:1.3;color:var(--ink);overflow-wrap:anywhere}@media(max-width:760px){.main #rows td.customer-name{font-size:22px;padding:10px 0 14px}.main #rows td.customer-name::before{font-weight:400}}
.main form>*,.main label,.planning-card{min-width:0}
.planning-card>button{margin:8px 8px 0 0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:760px){
 .main .list-filters{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:16px}
 .main .list-filters>label,.main .list-filters>label:has(input[type=month]),.main .summary-month{width:100%;max-width:100%;min-width:0;grid-column:1/-1}
 .main input,.main select,.main textarea{min-width:0;min-inline-size:0;max-width:100%;width:100%;box-sizing:border-box}
 .main input[type=month],.main input[type=date]{display:block;appearance:none;-webkit-appearance:none;overflow:hidden}
 .main input::-webkit-date-and-time-value{min-width:0;text-align:left}
 .main .planning-card{display:flex;flex-wrap:wrap;column-gap:12px;row-gap:10px;align-content:flex-start}
 .main .planning-card>*{flex:0 0 100%;min-width:0}
 .main .planning-card>button{display:block;flex:1 1 120px;width:auto;min-height:44px;margin:0;padding:11px 12px;font-size:13px;line-height:1.4}
 .main .account-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch}
 .main .account-actions button{width:100%;min-height:44px;margin:0}
 .main #invoice-panel>button{display:block;width:100%;min-height:44px;margin:12px 0 0}
 .main #notice button{display:block;width:100%;min-height:44px;margin:10px 0 0}
 .main #rows td button{min-height:44px;margin:6px 8px 6px 0}
}
.access-lock{max-width:560px;margin:8vh auto;padding:30px;background:var(--surface);border:1px solid var(--line);border-radius:16px}.access-contact{display:inline-block;padding:12px 16px;margin:8px 12px 8px 0;background:var(--accent);color:var(--accent-ink);border-radius:10px;text-decoration:none;font-weight:650}.access-banner{margin-bottom:22px}.access-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:18px 0}.access-options label{display:grid;gap:6px;min-width:0}.access-admin h3{margin-top:28px}.access-admin>button,.access-user>button{margin:12px 0}.access-user .account-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.access-admin>select{max-width:520px}@media(max-width:760px){.access-lock{margin:24px 12px;padding:22px}.access-options{grid-template-columns:minmax(0,1fr)}.access-user .account-actions{flex-direction:row}.access-user .account-actions button{flex:1 1 140px;width:auto;min-height:44px}}
