:root{--bg:#f4f6fa;--panel:#fff;--ink:#121827;--muted:#697386;--line:#e7eaf0;--primary:#6d3df5;--primary2:#8b5cf6;--green:#0f9f6e;--red:#d6455d;--amber:#d68b12;--nav:#0c1222;--shadow:0 14px 40px rgba(18,24,39,.08);--radius:18px}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}body{margin:0;min-height:100vh}a{color:var(--primary);text-decoration:none}button,input,select,textarea{font:inherit}.hidden{display:none!important}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--nav);color:white;padding:22px 16px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:10px;font-weight:800;color:inherit;font-size:18px}.brand.big{justify-content:center;font-size:22px;margin-bottom:18px}.brand-mark{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#b76cff);color:white;box-shadow:0 7px 22px rgba(109,61,245,.35)}.brand-mark.large{width:54px;height:54px;font-size:24px}.sidebar nav{display:grid;gap:5px;margin-top:28px}.sidebar nav a{color:#9ca8bd;padding:11px 12px;border-radius:11px;display:flex;align-items:center;gap:11px;font-weight:650}.sidebar nav a:hover,.sidebar nav a.active{background:#171f34;color:white}.sidebar nav a span{width:22px;text-align:center}.sidebar-foot{margin-top:auto;border-top:1px solid #222b40;padding-top:16px}.user-mini{display:grid;gap:2px;margin-bottom:12px}.user-mini small{color:#8793a8;overflow:hidden;text-overflow:ellipsis}.sidebar-foot>a{color:#c4cada;font-size:14px}.main{grid-column:2}.topbar{min-height:106px;background:rgba(244,246,250,.92);backdrop-filter:blur(12px);padding:24px 34px 16px;display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:15;border-bottom:1px solid rgba(231,234,240,.8)}.topbar h1{margin:0;font-size:27px;letter-spacing:-.04em}.topbar p{margin:5px 0 0;color:var(--muted);font-size:14px}.menu-btn{display:none;background:none;border:0;font-size:23px}.page{padding:24px 34px 50px;max-width:1540px;margin:auto}.card,.kpi,.plan-summary,.plan-hero,.status-strip{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:20px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.card-head h3,.card h3{margin:0 0 4px;font-size:17px}.card-head p,.card>p{margin:0;color:var(--muted);font-size:13px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.kpi{padding:18px;display:grid;gap:5px}.kpi span{font-size:12px;color:var(--muted);font-weight:700}.kpi strong{font-size:25px;letter-spacing:-.04em}.kpi small{color:var(--muted)}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.grid-2.uneven{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)}.sticky-card{align-self:start;position:sticky;top:126px}.status-strip{padding:13px 16px;margin-bottom:18px;display:flex;align-items:center;gap:12px}.status-strip>span{font-size:18px}.status-strip>div{display:grid;gap:2px}.status-strip small{color:var(--muted)}.status-strip a{margin-left:auto;font-weight:700;font-size:13px}.status-strip.ok>span{color:var(--green)}.status-strip.warn>span{color:var(--amber)}.form-grid{display:grid;gap:13px}.form-grid label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#374151}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #dce1ea;background:#fbfcfe;border-radius:11px;padding:11px 12px;outline:none;color:var(--ink);transition:.2s}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#9e84fa;box-shadow:0 0 0 3px rgba(109,61,245,.1);background:white}.form-grid small{font-weight:400;color:var(--muted)}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.btn{appearance:none;border:1px solid #d8dde7;background:white;color:#252c3a;border-radius:11px;padding:10px 14px;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.07)}.btn.primary{border-color:transparent;background:linear-gradient(135deg,var(--primary),var(--primary2));color:white}.btn.danger{color:var(--red);border-color:#f2ccd4}.btn.small{padding:7px 10px;font-size:12px}.btn.full{width:100%}.segmented{display:grid;grid-template-columns:1fr 1fr;background:#f1f3f7;padding:4px;border-radius:12px}.segmented input{display:none}.segmented label span{display:block;text-align:center;padding:9px;border-radius:9px;cursor:pointer}.segmented input:checked+span{background:white;box-shadow:0 3px 10px rgba(0,0,0,.06);color:var(--primary)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:640px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);font-size:13px}th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#8991a1}tr:last-child td{border-bottom:0}.empty-cell{text-align:center;color:var(--muted);padding:32px}.transaction-list{display:grid}.tx{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid var(--line)}.tx:last-child{border:0}.tx-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:900}.tx-icon.expense{background:#fff0f3;color:var(--red)}.tx-icon.income{background:#e9fbf5;color:var(--green)}.tx-main{display:grid;gap:3px;flex:1}.tx-main small{color:var(--muted)}.timeline{display:grid}.timeline-row{display:grid;grid-template-columns:78px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.timeline-row:last-child{border:0}.timeline-row time{color:var(--muted);font-size:12px}.timeline-row>div{display:grid;gap:3px}.timeline-row small{color:var(--muted)}.goal-grid{display:grid;gap:14px}.goal{border:1px solid var(--line);padding:16px;border-radius:15px;display:flex;align-items:center;gap:14px}.goal h3,.goal p{margin:0 0 4px}.goal small{color:var(--muted)}.goal-ring{--p:0;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--primary) calc(var(--p)*1%),#eceef4 0);position:relative}.goal-ring:after{content:"";position:absolute;width:50px;height:50px;background:white;border-radius:50%}.goal-ring span{z-index:1;font-size:12px;font-weight:800}.member-list{display:grid}.member{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid var(--line)}.member:last-child{border:0}.member>div{display:grid;gap:3px;flex:1}.member small{color:var(--muted)}.avatar{width:38px;height:38px;border-radius:12px;background:#ede9fe;color:var(--primary);display:grid;place-items:center;font-weight:800}.plan-summary{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:18px;overflow:hidden}.plan-summary>div{padding:17px 20px;border-right:1px solid var(--line);display:grid;gap:3px}.plan-summary>div:last-child{border:0}.plan-summary span,.plan-summary small{color:var(--muted);font-size:12px}.plan-summary strong{font-size:20px}.price-preview{background:#f5f2ff;border:1px solid #e5ddff;padding:12px;border-radius:11px;color:#443485}.plan-hero{padding:22px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between}.plan-hero h2{margin:4px 0;font-size:28px}.plan-hero p,.plan-hero small,.plan-hero span{color:var(--muted)}.plan-hero>div{display:grid;gap:4px}.plan-hero>div:last-child{text-align:right}.status-pill{display:inline-flex;width:max-content;padding:5px 8px;border-radius:99px;background:#edf0f5;color:#667085;font-size:11px;text-transform:uppercase;font-weight:800}.status-pill.paid,.status-pill.active{background:#e5f9f1;color:var(--green)}.status-pill.open,.status-pill.trial{background:#f0ebff;color:var(--primary)}.status-pill.past_due{background:#fff3dd;color:var(--amber)}.check{display:flex!important;align-items:center!important;grid-template-columns:auto 1fr!important;gap:9px!important}.check input{width:auto!important}.alert{border-radius:12px;padding:12px 14px;margin-bottom:16px;font-size:13px}.alert.success{background:#e9fbf5;color:#087753}.alert.danger{background:#fff0f3;color:#a82d43}.alert.warning{background:#fff5df;color:#98610b}.locked-box,.dev-box{padding:14px;border-radius:12px;background:#fff5df;color:#77500f}.dev-box{margin-bottom:15px}.bar-chart{height:240px;display:flex;align-items:end;gap:16px;padding:18px 4px 0}.chart-group{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;gap:5px;min-width:42px}.chart-bars{height:190px;display:flex;align-items:end;justify-content:center;gap:5px}.chart-bar{width:13px;border-radius:6px 6px 2px 2px;min-height:3px}.chart-bar.income{background:#26b887}.chart-bar.expense{background:#e35a70}.chart-label{text-align:center;font-size:10px;color:var(--muted)}.category-bars{display:grid;gap:13px}.cat-row>div{display:flex;justify-content:space-between;font-size:12px;margin-bottom:6px}.cat-row i{display:block;height:7px;background:#edf0f5;border-radius:10px;overflow:hidden}.cat-row i:after{content:"";display:block;width:var(--w);height:100%;background:linear-gradient(90deg,var(--primary),#a889ff);border-radius:10px}.empty-mini{color:var(--muted);font-size:13px;padding:22px;text-align:center}.pwa-preview{margin-top:20px;display:flex;gap:14px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:14px}.pwa-preview>div{display:grid;gap:4px}.pwa-preview small{color:var(--muted)}.admin-tabs{display:flex;gap:7px;overflow:auto;margin-bottom:18px;padding-bottom:4px}.admin-tabs a{white-space:nowrap;padding:9px 12px;background:white;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-weight:700;font-size:13px}.admin-tabs a.active{background:var(--nav);color:white;border-color:var(--nav)}.gateway-row{border:1px solid var(--line);border-radius:14px;padding:15px;display:grid;gap:11px}.gateway-title{display:flex;justify-content:space-between;align-items:end;gap:20px}.gateway-title label:last-child{width:120px}.plan-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.muted{color:var(--muted)!important;margin-top:12px!important}.auth-wrap,.install-wrap{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 50% 0,#eee8ff,transparent 35%),var(--bg)}.auth-wrap.wide .auth-card{max-width:840px}.auth-card,.install-card{width:min(100%,470px);background:white;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 25px 80px rgba(18,24,39,.12)}.install-card{width:min(100%,720px)}.auth-card h2,.install-card h1{text-align:center;margin:0 0 8px;letter-spacing:-.03em}.auth-card>p,.install-card>p{text-align:center;color:var(--muted);margin:0 0 22px}.auth-links{text-align:center;margin-top:18px;color:var(--muted);font-size:13px}.otp-input{text-align:center;font-size:26px;letter-spacing:.32em;font-weight:800}.plan-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.plan-choice input{display:none}.plan-choice span{height:100%;border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;gap:6px;cursor:pointer}.plan-choice input:checked+span{border-color:var(--primary);background:#f7f4ff;box-shadow:0 0 0 2px rgba(109,61,245,.12)}.plan-choice b{font-size:20px}.plan-choice b small{font-size:11px;color:var(--muted)}.plan-choice em{font-style:normal;color:var(--muted);font-size:11px}.form-grid hr{border:0;border-top:1px solid var(--line);width:100%}.form-grid h3{margin:0}.public-main{min-height:100vh}.pay-body{background:radial-gradient(circle at 50% 0,#eae3ff,transparent 40%),#f5f6fa}.pay-wrap{width:min(100% - 28px,520px);margin:50px auto}.pay-card{background:white;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:24px;margin-top:20px}.pay-head{text-align:center;display:grid;gap:5px;padding-bottom:20px;border-bottom:1px solid var(--line)}.pay-head span,.pay-head small{color:var(--muted)}.pay-head strong{font-size:38px;letter-spacing:-.05em}.pay-info{display:grid;gap:11px;padding:18px 0}.pay-info>div{display:flex;justify-content:space-between;gap:20px}.pay-info span{color:var(--muted)}.pix-result{display:grid;gap:13px}.pix-result img{width:230px;height:230px;object-fit:contain;margin:auto;border:1px solid var(--line);border-radius:16px}.pix-result textarea{width:100%;resize:none;border:1px solid var(--line);border-radius:10px;padding:10px}.loading{text-align:center;padding:20px;color:var(--muted)}.paid-box{text-align:center;padding:24px;background:#eafaf4;border-radius:16px;color:#087753}.paid-box span{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#0f9f6e;color:white;font-size:28px;margin:auto}.paid-box h3{margin:10px 0 4px}.paid-box p{margin:0}.pay-foot{text-align:center;color:var(--muted);font-size:12px}.empty-state{text-align:center;padding:60px 20px;color:var(--muted)}.empty-state.small{padding:30px}.install-card .hidden{display:none}code{background:#f1f3f7;padding:2px 6px;border-radius:6px;font-size:12px}@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.plan-admin-grid{grid-template-columns:1fr}.grid-2.uneven{grid-template-columns:1fr}.sticky-card{position:static}}@media(max-width:780px){.app-shell{display:block}.sidebar{transform:translateX(-105%);transition:.25s}.nav-open .sidebar{transform:none}.nav-open:after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:20}.sidebar{z-index:40}.main{width:100%}.topbar{padding:18px 16px;min-height:86px}.menu-btn{display:block}.page{padding:16px}.topbar h1{font-size:23px}.grid-2,.grid-2.uneven,.kpi-grid,.plan-summary,.two-col{grid-template-columns:1fr}.kpi-grid{gap:10px}.plan-summary>div{border-right:0;border-bottom:1px solid var(--line)}.plan-summary>div:last-child{border-bottom:0}.plan-hero{align-items:flex-start;gap:20px}.plan-hero>div:last-child{text-align:left}.plan-picker{grid-template-columns:1fr}.auth-wrap,.install-wrap{padding:14px}.auth-card,.install-card{padding:20px}.bar-chart{gap:6px}.card{padding:16px}}
.member-checks{display:grid;gap:8px;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafbfc}
.brand-logo{width:46px;height:46px;object-fit:contain;flex:0 0 auto}.sidebar .brand-logo{width:58px;height:58px}.auth-brand{flex-direction:column;gap:4px}.auth-logo{width:118px!important;height:118px!important;filter:drop-shadow(0 10px 24px rgba(109,61,245,.18))}.pwa-logo{width:58px;height:58px;object-fit:cover;border-radius:14px}.admin-actions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:18px}.setup-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#f5f1ff,#fff);border:1px solid #e6dcff;border-radius:16px;padding:14px 16px;margin-bottom:18px}.setup-banner>div{display:grid;gap:3px}.setup-banner small{color:var(--muted)}.onboarding-shell{max-width:980px;margin:auto}.onboarding-card{padding:26px}.onboarding-intro{display:grid;grid-template-columns:120px 1fr;gap:22px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px}.onboarding-intro img{width:120px;height:120px;object-fit:contain}.onboarding-intro h2{margin:4px 0 7px;font-size:28px;letter-spacing:-.04em}.onboarding-intro p{margin:0;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:900;color:var(--primary)}.on-step{display:none}.on-step.active{display:block}.on-step h3{font-size:22px;margin:8px 0 4px}.on-step>p{margin:0 0 18px;color:var(--muted)}.step-badge{display:inline-flex;padding:5px 9px;border-radius:99px;background:#efeaff;color:var(--primary);font-size:11px;font-weight:900}.onboarding-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.onboarding-skip{display:flex;gap:18px;justify-content:center;margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}.onboarding-skip form{margin:0}.link-btn{border:0;background:none;color:var(--primary);font-weight:800;cursor:pointer}.muted-link{color:var(--muted)}.tutorial-hero{display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:center;margin-bottom:18px}.tutorial-hero img{width:110px;height:110px;object-fit:contain}.tutorial-hero h2{margin:5px 0 7px;font-size:26px}.tutorial-hero p{margin:0;color:var(--muted)}.tutorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tutorial-card{position:relative;display:grid;gap:12px}.tutorial-number{position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:10px;background:#efeaff;color:var(--primary);display:grid;place-items:center;font-weight:900}.tutorial-card h3{padding-right:42px}.tutorial-card p{color:var(--muted);margin:0}.tutorial-card video,.admin-video{width:100%;border-radius:14px;background:#0b1020;max-height:380px}.tutorial-placeholder{border:1px dashed #d8ddea;border-radius:13px;padding:30px;text-align:center;color:var(--muted);background:#fafbfc}.tutorial-admin-list{display:grid;gap:16px}.status-pill.suspended{background:#fff0f3;color:var(--red)}
@media(max-width:780px){.sidebar .brand-logo{width:52px;height:52px}.onboarding-intro,.tutorial-hero{grid-template-columns:1fr;text-align:center}.onboarding-intro img,.tutorial-hero img{margin:auto}.onboarding-intro h2{font-size:23px}.onboarding-actions{flex-direction:column}.onboarding-actions .btn{width:100%}.onboarding-skip{flex-direction:column;gap:6px}.tutorial-grid{grid-template-columns:1fr}.setup-banner{align-items:flex-start;flex-direction:column}.setup-banner .btn{width:100%}.admin-actions .btn{flex:1}}

.pwa-install-btn{width:100%;margin:0 0 16px;background:#fff;border-color:#ded8f7;color:#5537c8}.pwa-install-help{margin:-5px 0 16px;padding:11px 12px;border-radius:11px;background:#f5f2ff;color:#554a7a;font-size:12px;line-height:1.45}.sidebar-install{width:100%;margin:0 0 14px;padding:9px 10px;border:1px solid #2a3550;border-radius:10px;background:#151d31;color:#dbe3f2;font-weight:750;text-align:left;cursor:pointer}.sidebar-install:hover{background:#1b2540;color:#fff}.auth-brand{margin-bottom:12px}.auth-brand span{font-size:24px}.auth-logo{max-width:160px;max-height:160px;width:138px!important;height:138px!important}.auth-card:before{content:"";display:block;height:3px;margin:-28px -28px 20px;border-radius:24px 24px 0 0;background:linear-gradient(90deg,#6d3df5,#d52ce7,#6d3df5)}@media(max-width:780px){.auth-card:before{margin:-20px -20px 18px}.auth-logo{width:126px!important;height:126px!important}}
