:root{--bg:#f6f7f4;--panel:#fff;--panel-soft:#f0f3ee;--text:#18212b;--muted:#69717b;--border:#dfe5dd;--primary:#17324d;--primary-strong:#102338;--teal:#0f766e;--teal-soft:#e3f4f1;--gold:#b7791f;--gold-soft:#fff5db;--green:#15803d;--green-soft:#e6f6ec;--red:#b42318;--red-soft:#fdebea;--blue-soft:#eaf2fb;--shadow:0 18px 48px #15202b14;--radius:8px;color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}a{color:inherit}code{background:var(--panel-soft);border:1px solid var(--border);border-radius:6px;padding:2px 6px;font-size:.9em}table{border-collapse:collapse;width:100%;min-width:760px}th{color:var(--muted);letter-spacing:0;text-align:left;text-transform:uppercase;padding:12px 14px;font-size:.76rem;font-weight:700}td{border-top:1px solid var(--border);color:var(--text);vertical-align:middle;padding:14px}tbody tr:hover{background:#fafbf8}#root{min-height:100svh;overflow-x:hidden}.app-shell{width:100%;min-height:100svh}.sidebar{border-right:1px solid var(--border);z-index:10;background:#fff;flex-direction:column;width:270px;height:100svh;padding:22px 18px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.brand{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--primary);border-radius:var(--radius);color:#fff;justify-content:center;align-items:center;width:42px;height:42px;font-size:.88rem;font-weight:800;display:inline-flex}.brand strong,.brand span{display:block}.brand strong{font-size:1.05rem}.brand span{color:var(--muted);font-size:.82rem}.sidebar-nav{gap:6px;margin-top:34px;display:grid}.nav-link{border-radius:var(--radius);color:var(--muted);align-items:center;gap:10px;padding:11px 12px;text-decoration:none;display:flex}.nav-link:hover,.nav-link.active{background:var(--panel-soft);color:var(--primary)}.nav-link.active{box-shadow:inset 3px 0 0 var(--teal);font-weight:700}.nav-link-disabled{cursor:not-allowed;opacity:.5}.nav-link-disabled:hover{color:var(--muted);background:0 0}.sidebar-footer{border-top:1px solid var(--border);gap:10px;margin-top:auto;padding-top:18px;display:grid}.sidebar-footer span{color:var(--muted);text-overflow:ellipsis;font-size:.84rem;overflow:hidden}.logout-button,.icon-button{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:#fff;justify-content:center;align-items:center;gap:8px;display:inline-flex}.logout-button{padding:9px 10px}.icon-button{width:36px;height:36px}.icon-button:hover,.logout-button:hover{color:var(--primary);border-color:#c8d1c6}.icon-button.danger{color:var(--red)}.icon-button.success{color:var(--green)}.main-shell{width:calc(100% - 270px);min-width:0;margin-left:270px;overflow-x:hidden}.topbar{border-bottom:1px solid var(--border);z-index:5;background:#f6f7f4eb;align-items:center;gap:12px;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.topbar span{font-weight:800}.mobile-only{display:none}.content{width:100%;max-width:1440px;margin:0 auto;padding:30px}.stack{gap:22px;min-width:0;display:grid}.stack>*,.card{min-width:0}.page-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.page-header h1,.setup-copy h1,.auth-aside h1{letter-spacing:0;margin:0;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.12}.page-header p,.card-header p,.auth-card p,.setup-copy p,.muted{color:var(--muted);margin:6px 0 0}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.button{border-radius:var(--radius);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 14px;font-weight:700;display:inline-flex}.button-primary{background:var(--primary);color:#fff}.button-primary:hover{background:var(--primary-strong)}.button-secondary{border-color:var(--border);color:var(--text);background:#fff}.button-ghost{color:var(--text);background:0 0}.button-danger{background:var(--red);color:#fff}.button-success{background:var(--green);color:#fff}.full-width{width:100%}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:16px;min-width:0;display:grid}.stats-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{gap:10px;min-height:142px;display:grid}.stat-card span{color:var(--muted);font-size:.9rem}.stat-card strong{font-size:1.7rem;line-height:1.1}.stat-icon{border-radius:var(--radius);justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.stat-info,.status-info{background:var(--blue-soft);color:var(--primary)}.stat-warning,.status-warning{background:var(--gold-soft);color:var(--gold)}.stat-success,.status-success{background:var(--green-soft);color:var(--green)}.stat-danger,.status-danger{background:var(--red-soft);color:var(--red)}.status-neutral{background:var(--panel-soft);color:var(--muted)}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;min-height:28px;padding:4px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.dashboard-grid,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.card-header,.settings-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.card-header h2,.settings-card-header h2,.auth-card h2,.setup-step h2,.task h2{letter-spacing:0;margin:0;font-size:1.02rem;line-height:1.25}.list{gap:8px;margin-top:14px;display:grid}.list-row{border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.list-row strong,.list-row span{display:block}.list-row span{color:var(--muted);font-size:.86rem}.alert-card{background:var(--red-soft);color:var(--red);align-items:center;gap:10px;display:flex}.toolbar{align-items:center;gap:12px;margin-bottom:16px;display:flex}.search-box{border:1px solid var(--border);border-radius:var(--radius);background:#fff;align-items:center;gap:10px;width:min(520px,100%);min-height:44px;padding:0 12px;display:flex}.search-box input{border:0;outline:0;width:100%;min-width:0}.table-wrap{max-width:100%;overflow-x:auto}.cell-title{align-items:center;gap:10px;display:flex}.cell-title strong,.cell-title span{display:block}.cell-title span,.compact-list span,.task-meta,.task p{color:var(--muted);font-size:.86rem}.compact-list{gap:6px;display:grid}.compact-list span{align-items:center;gap:6px;display:flex}.row-actions{gap:8px;display:flex}.receivables-chart-card .card-header{align-items:flex-start;gap:18px}.receivables-chart-card .field{flex:none;min-width:130px}.receivables-page{max-width:100%}.receivables-chart{overscroll-behavior-x:contain;grid-template-columns:repeat(12,minmax(72px,1fr));align-items:end;gap:12px;width:100%;min-width:0;min-height:280px;padding-top:20px;padding-bottom:4px;display:grid;overflow-x:auto}.chart-month{text-align:center;gap:8px;min-width:58px;display:grid}.chart-track{background:linear-gradient(to top, transparent 24%, #69717b1f 25%, transparent 26%), var(--panel-soft);border:1px solid var(--border);border-radius:var(--radius);align-items:end;height:210px;padding:6px;display:flex;overflow:hidden}.chart-bar{background:#0f766e59;border-radius:6px 6px 2px 2px;width:100%;transition:height .2s}.chart-bar.current{background:var(--primary)}.chart-month strong{color:var(--text);font-size:.82rem}.chart-month span{color:var(--muted);white-space:nowrap;font-size:.72rem}.receivables-matrix-card{max-width:100%;padding:0;overflow:hidden}.receivables-toolbar{flex-wrap:wrap;align-items:center;margin:0;padding:18px}.view-tabs{background:var(--panel-soft);border-radius:var(--radius);gap:4px;padding:4px;display:inline-flex}.view-tabs button{color:var(--muted);background:0 0;border:0;border-radius:6px;align-items:center;min-height:36px;padding:7px 14px;font-weight:800;display:inline-flex}.view-tabs button.active{color:var(--primary);background:#fff;box-shadow:0 2px 10px #18212b14}.installment-list{gap:10px;display:grid}.installment-option{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:12px;display:grid}.installment-option strong,.installment-option span{display:block}.installment-option span{color:var(--muted);font-size:.86rem}.receivables-table-wrap{border-top:1px solid var(--border);overscroll-behavior:contain;width:100%;max-width:100%;max-height:620px;overflow:auto}.receivables-matrix{width:max-content;min-width:1380px}.receivables-matrix th,.receivables-matrix td{text-align:center;min-width:104px}.receivables-matrix .sticky-column{box-shadow:1px 0 0 var(--border);text-align:left;z-index:2;background:#fff;min-width:250px;position:sticky;left:0}.receivables-matrix thead .sticky-column{z-index:3}.receivables-matrix .current-month{background:var(--blue-soft)}.receivable-flow-title{gap:2px;display:grid}.receivable-flow-title span,.receivable-flow-title small{color:var(--muted)}.receivable-flow-title small{font-size:.76rem}.receivable-cell{border-radius:var(--radius);color:var(--text);background:0 0;border:0;justify-items:center;gap:8px;width:100%;min-height:54px;padding:8px;display:grid}.receivable-cell:hover{background:#0f766e14}.receivable-cell strong{white-space:nowrap;font-size:.9rem}.empty-cell{color:var(--muted)}.cell-status{border-radius:999px;width:min(72px,100%);height:6px;display:block}.cell-status.success{background:var(--green)}.cell-status.warning{background:var(--gold)}.cell-status.danger{background:var(--red)}.split-actions{justify-content:space-between;align-items:center}.split-actions,.split-actions>div{flex-wrap:wrap;gap:10px;display:flex}.text-danger{color:var(--red);font-weight:700}.empty-state{border:1px dashed var(--border);border-radius:var(--radius);text-align:center;place-items:center;gap:10px;margin-top:16px;padding:28px;display:grid}.empty-state p{color:var(--muted);margin:0}.modal-backdrop{z-index:20;background:#18212b75;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius);background:#fff;width:100%;max-width:760px;max-height:min(760px,92svh);padding:20px;overflow:auto;box-shadow:0 24px 80px #0000002e}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-header h2{margin:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid.single{grid-template-columns:1fr}.field{gap:7px;display:grid}.field span{color:var(--muted);font-size:.82rem;font-weight:700}.field-full,.form-message,.modal-actions{grid-column:1/-1}.input{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:#fff;outline:0;width:100%;min-height:42px;padding:9px 11px}.input:focus,.search-box:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #0f766e1f}.textarea{resize:vertical;min-height:98px}.form-message{color:var(--muted);margin:0}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.confirm-dialog{gap:18px;display:grid}.confirm-dialog p{color:var(--muted);margin:0}.auth-page,.setup-page,.loading-screen{align-items:center;min-height:100svh;padding:28px;display:grid}.auth-page{grid-template-columns:minmax(0,1fr) 430px;gap:42px;max-width:1060px;margin:0 auto}.auth-aside{gap:22px;display:grid}.auth-aside p{color:var(--muted);max-width:540px;font-size:1.04rem}.auth-card{padding:24px}.auth-icon{background:var(--teal-soft);border-radius:var(--radius);color:var(--teal);justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:14px;display:inline-flex}.segmented{background:var(--panel-soft);border-radius:var(--radius);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:18px 0;padding:4px;display:grid}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:6px;min-height:36px;font-weight:800}.segmented button.active{color:var(--primary);background:#fff;box-shadow:0 2px 10px #18212b14}.auth-note{background:var(--gold-soft);border-radius:var(--radius);color:var(--gold);align-items:center;gap:8px;margin-top:16px;padding:11px;font-size:.86rem;display:flex}.email-confirmation-panel{border:1px solid var(--border);border-radius:var(--radius);background:#fafbf8;gap:16px;margin-top:18px;padding:18px;display:grid}.email-confirmation-icon{background:var(--green-soft);border-radius:var(--radius);color:var(--green);justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.email-confirmation-panel strong,.email-confirmation-panel p{display:block}.email-confirmation-panel p{color:var(--muted);margin:6px 0 0}.email-confirmation-panel b{color:var(--text);overflow-wrap:anywhere;font-weight:800}.email-confirmation-actions{gap:10px;display:grid}.setup-page{justify-items:center}.setup-panel{gap:22px;max-width:980px;display:grid}.setup-brand{justify-content:center}.setup-copy{text-align:center}.code-card{gap:12px;display:grid}.code-title{color:var(--muted);align-items:center;gap:8px;font-weight:800;display:flex}pre{border-radius:var(--radius);color:#eef2f7;background:#111827;margin:0;padding:16px;overflow-x:auto}.setup-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.setup-step{gap:10px;display:grid}.setup-step svg,.settings-card-header svg{color:var(--teal)}.setup-step p{color:var(--muted);margin:0}.task-list{gap:12px;display:grid}.task{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:auto 1fr auto;align-items:flex-start;gap:12px;padding:14px;display:grid}.task.done{background:#fafbf8}.task.done h2{color:var(--muted);text-decoration:line-through}.task-toggle{color:var(--teal);background:0 0;border:0;padding:3px}.task-body{gap:7px;display:grid}.task-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.task-meta{flex-wrap:wrap;gap:10px;display:flex}.task p{margin:0}.check-list{gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.check-list li{align-items:center;gap:8px;display:flex}.check-list svg{color:var(--green)}.settings-wide-card{grid-column:1/-1}.settings-list{gap:14px;margin-top:18px;display:grid}.settings-list div{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-top:14px;display:flex}.settings-list span{color:var(--muted);font-size:.9rem}.settings-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.referral-card{gap:18px;display:grid}.referral-grid{grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:16px;display:grid}.referral-link-box,.referral-progress-box{border:1px solid var(--border);border-radius:var(--radius);background:#fafbf8;gap:10px;padding:14px;display:grid}.referral-link-box span,.referral-progress-box span,.referral-summary span{color:var(--muted);font-size:.86rem}.referral-link-box strong,.referral-progress-box strong,.referral-summary strong{color:var(--text);font-size:1.05rem}.referral-copy-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.referral-copy-row code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.referral-progress-track{background:var(--panel-soft);border-radius:999px;height:10px;overflow:hidden}.referral-progress-track div{background:var(--teal);height:100%;transition:width .2s}.referral-progress-box small{color:var(--muted)}.referral-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.referral-summary div{border:1px solid var(--border);border-radius:var(--radius);background:#fff;gap:4px;padding:12px;display:grid}.referral-history{border-top:1px solid var(--border);gap:12px;padding-top:18px;display:grid}.birthday-banner{background:linear-gradient(90deg,#fff8e7,#fff);grid-template-columns:auto 1fr auto;align-items:center;gap:14px;display:grid}.birthday-icon{background:var(--gold-soft);border-radius:var(--radius);color:var(--gold);justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.birthday-banner h2,.locked-card h2{margin:0;font-size:1.08rem}.birthday-banner p,.locked-card p{color:var(--muted);margin:4px 0 0}.birthday-actions,.locked-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.locked-card{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;display:grid}.locked-card>svg{color:var(--teal)}.loading-screen{justify-items:center}.loading-screen span{color:var(--muted)}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1080px){.stats-grid,.setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.settings-grid,.auth-page{grid-template-columns:1fr}}@media (width<=760px){.app-shell{grid-template-columns:1fr}.main-shell{width:100%;margin-left:0}.sidebar{box-shadow:var(--shadow);z-index:10;width:84vw;max-width:310px;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.sidebar-open{transform:translate(0)}.mobile-only{display:inline-flex}.content{padding:20px}.page-header{flex-direction:column;align-items:stretch}.page-header .button{width:100%}.stats-grid,.stats-grid.two,.setup-grid,.form-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.modal-actions .button{width:100%}.auth-page,.setup-page{padding:20px}.auth-aside h1{font-size:2rem}.task{grid-template-columns:auto 1fr}.task .row-actions{grid-column:1/-1;justify-content:flex-end}.birthday-banner,.locked-card{grid-template-columns:1fr;align-items:stretch}.referral-grid,.referral-summary,.referral-copy-row{grid-template-columns:1fr}.birthday-actions,.locked-actions,.settings-actions{flex-direction:column}.birthday-actions .button,.locked-actions .button,.settings-actions .button{width:100%}.settings-wide-card{grid-column:auto}}
