@import "https://fonts.googleapis.com/css2?family=Archivo:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap";:root{--anka-white:#fffff7;--anka-white-sand:#e7e7dd;--anka-black:#1d1d1b;--bone-50:var(--anka-white);--bone-100:var(--anka-white);--bone-200:var(--anka-white-sand);--bone-300:#d4d4c9;--ink-900:var(--anka-black);--ink-700:#1d1d1bb8;--ink-500:#1d1d1b85;--ink-400:#1d1d1b52;--ink-300:#1d1d1b29;--ink-800:var(--anka-black);--belt-white:#fffff7;--belt-gray:#898d8d;--belt-yellow:#fedd00;--belt-orange:#fe5000;--belt-green:#00843d;--belt-blue:#003da5;--belt-purple:#56008a;--belt-brown:#693f23;--belt-black:#1d1d1b;--kimono-white:var(--belt-white);--kimono-blue:var(--belt-blue);--kimono-black:var(--belt-black);--mat-red:#c7402b;--bg:var(--bone-100);--bg-elevated:var(--bone-50);--bg-sunken:var(--bone-200);--bg-inverse:var(--ink-900);--fg:var(--ink-900);--fg-muted:var(--ink-500);--fg-subtle:var(--ink-400);--fg-inverse:var(--bone-100);--border:#0a0a0a1f;--border-strong:#0a0a0a3d;--border-inverse:#f4f0e629;--accent:var(--ink-900);--accent-live:var(--mat-red);--font-display:"Archivo", system-ui, sans-serif;--font-body:"Archivo", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-md:18px;--text-lg:22px;--text-xl:28px;--text-2xl:36px;--text-3xl:48px;--text-4xl:64px;--text-5xl:88px;--text-6xl:128px;--leading-tight:1.04;--leading-snug:1.18;--leading-body:1.55;--leading-loose:1.75;--tracking-tight:-.025em;--tracking-normal:0;--tracking-wide:.04em;--tracking-eyebrow:.18em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--shadow-sm:0 1px 2px #0a0a0a0f;--shadow-md:0 8px 24px -8px #0a0a0a2e;--shadow-lg:0 24px 60px -16px #0a0a0a47}.h-display,h1.display{font-family:var(--font-display);font-size:clamp(48px,9vw,128px);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-transform:lowercase}.h1,h1{font-family:var(--font-display);font-weight:700;font-size:var(--text-4xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.h2,h2{font-family:var(--font-display);font-weight:600;font-size:var(--text-3xl);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight)}.h3,h3{font-family:var(--font-display);font-weight:600;font-size:var(--text-2xl);line-height:var(--leading-snug);letter-spacing:-.01em}.h4,h4{font-family:var(--font-display);font-weight:500;font-size:var(--text-xl);line-height:var(--leading-snug)}.eyebrow{font-family:var(--font-body);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--fg)}.lead{font-family:var(--font-body);font-weight:400;font-size:var(--text-md);line-height:var(--leading-body);color:var(--fg)}p,.body{font-family:var(--font-body);font-weight:400;font-size:var(--text-base);line-height:var(--leading-body);color:var(--fg)}.body-sm{font-size:var(--text-sm);line-height:var(--leading-body)}.caption{font-family:var(--font-body);font-weight:500;font-size:var(--text-xs);letter-spacing:.02em;color:var(--fg-muted);text-transform:uppercase}code,.mono{font-family:var(--font-mono);font-size:.92em}.anka-base{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.anka-base.invert{background:var(--bg-inverse);color:var(--fg-inverse)}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font-family:inherit}button{cursor:pointer}.nav{z-index:20;background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;height:72px;padding:0 40px;display:flex;position:sticky;top:0}.nav-brand{align-items:center;gap:10px;display:flex}.nav-brand img.icon{border-radius:8px;width:34px;height:34px}.nav-brand-text{flex-direction:column;gap:2px;display:flex}.nav-brand-text img.wordmark{width:auto;height:15px;display:block}.nav-brand-label{text-transform:uppercase;letter-spacing:.18em;color:var(--fg-muted);font-size:9.5px}.tabs{background:var(--bone-200);border-radius:999px;gap:2px;padding:4px;display:flex}.tab-btn{color:var(--ink-700);background:0 0;border:none;border-radius:999px;padding:8px 18px;font-size:13px;font-weight:500;transition:background .12s,color .12s}.tab-btn.active{background:var(--ink-900);color:var(--bone-100)}.nav-actions{gap:10px;display:flex}.btn{border:1px solid #0000;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:500;transition:background .12s,color .12s,transform 60ms}.btn:active{transform:scale(.98)}.btn-primary{background:var(--ink-900);color:var(--bone-100)}.btn-primary:hover{background:var(--ink-700)}.btn-secondary{color:var(--ink-900);border-color:var(--ink-900);background:0 0}.btn-secondary:hover{background:var(--ink-900);color:var(--bone-100)}.btn-sm{border-radius:8px;padding:7px 12px;font-size:12px}.btn-black-sm{background:var(--ink-900);color:var(--bone-100);border:none;border-radius:8px;padding:8px 16px;font-size:12.5px;font-weight:500}.btn-black-sm:hover{background:var(--ink-700)}.btn-outline-sm{color:var(--ink-900);border:1px solid var(--border-strong);background:0 0;border-radius:8px;padding:7px 12px;font-size:12px}.btn-outline-sm:hover{background:var(--ink-900);color:var(--bone-100)}.btn-danger{background:var(--mat-red);color:var(--anka-white);border:none}.btn-link{color:var(--fg);font:inherit;background:0 0;border:none;padding:0}.page{max-width:1240px;margin:0 auto;padding:36px 40px}.section-title{font-size:20px;font-weight:600}.section-subtitle{color:var(--fg-muted);margin-top:2px;font-size:13px}.section{margin-top:40px}.section:first-child{margin-top:0}.stat-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.stat-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:22px 24px}.stat-card.lg{padding:24px}.stat-label{text-transform:uppercase;letter-spacing:.1em;color:var(--fg-muted);font-size:11px;font-weight:600}.stat-value{font-family:var(--font-display);letter-spacing:-.02em;margin-top:8px;font-size:32px;font-weight:700}.stat-value.sm{font-size:28px}.stat-value.red{color:var(--mat-red)}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px}.attention-list{flex-direction:column;gap:10px;margin-top:18px;display:flex}.attention-row{justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.attention-left{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.member-name{font-size:14px;font-weight:600}.muted-12{color:var(--fg-muted);font-size:12px}.muted-13{color:var(--fg-muted);font-size:13px}.pill{white-space:nowrap;border-radius:999px;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.empty-card{border:1px dashed var(--border-strong);text-align:center;color:var(--fg-muted);border-radius:10px;margin-top:18px;padding:28px}.table-card{border:1px solid var(--border);border-radius:10px;margin-top:18px;overflow:hidden}.table-header{background:var(--bone-200);text-transform:uppercase;font-size:11px;font-weight:600;display:grid}.table-header>div{padding:10px 20px}.table-row{border-top:1px solid var(--border);align-items:center;padding:14px 20px;font-size:13.5px;display:grid}.table-row>div{min-width:0}.recent-payments-header,.recent-payments-row{grid-template-columns:110px 1.4fr 1.4fr 100px 130px}.amount-cell{font-weight:600}.filter-bar{flex-wrap:wrap;gap:12px;margin-bottom:18px;display:flex}.input,.select{border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--fg);border-radius:8px;padding:10px 14px;font-size:13.5px}.input.search{flex:1;min-width:220px}.members-header,.members-row{grid-template-columns:1.3fr 1.3fr 130px 150px 140px 200px}.th-sort{text-align:left;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.member-cell-name{cursor:pointer}.member-cell-name:hover .member-name{text-decoration:underline}.row-actions{justify-content:flex-end;gap:8px;display:flex}.finance-header-actions{justify-content:flex-end;gap:10px;margin-bottom:18px;display:flex}.chart-card{justify-content:center;align-items:flex-end;gap:22px;margin-top:12px;padding:24px;display:flex}.chart-col{flex-direction:column;align-items:center;gap:6px;width:64px;display:flex}.chart-amount{color:var(--fg-muted);font-size:11px;font-weight:600}.chart-bar{background:var(--ink-900);border-radius:6px 6px 0 0;width:36px}.chart-bar.red{background:var(--mat-red)}.chart-month{color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.finance-title-row{justify-content:space-between;align-items:center;display:flex}.two-col{grid-template-columns:1fr 1fr;gap:24px;display:grid}.method-card{flex-direction:column;gap:8px;padding:14px 16px;display:flex}.method-row{justify-content:space-between;font-size:13px;display:flex}.progress-track{background:var(--bg-sunken);border-radius:999px;height:6px;overflow:hidden}.progress-fill{background:var(--ink-900);height:100%}.service-breakdown-header,.service-breakdown-row{grid-template-columns:1.4fr 1fr 1fr}.expenses-header,.expenses-row{grid-template-columns:110px 1fr 110px 1.6fr}.services-list{flex-direction:column;gap:14px;margin-top:18px;display:flex}.service-card{flex-direction:column;gap:14px;max-width:640px;padding:20px;display:flex}.service-row1{align-items:center;gap:12px;display:flex}.service-name-input{background:0 0;border:1px solid #0000;border-radius:8px;flex:1;padding:8px 10px;font-size:14px;font-weight:600}.service-name-input:hover,.service-name-input:focus{border-color:var(--border);background:var(--bg)}.type-pill{text-transform:uppercase;background:var(--bg-sunken);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:10.5px;font-weight:600}.service-row2{gap:12px;display:flex}.field-group{flex-direction:column;gap:4px;display:flex}.field-label{color:var(--fg-muted);font-size:11px}.field-input{border:1px solid var(--border-strong);border-radius:8px;width:140px;padding:8px 10px;font-size:13.5px}.service-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.modal-backdrop{z-index:100;background:#1d1d1b66;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-elevated);width:100%;max-width:480px;box-shadow:var(--shadow-lg);border-radius:12px;max-height:88vh;padding:32px;overflow-y:auto}.modal.wide{max-width:680px}.modal-title{margin:0 0 20px;font-size:18px;font-weight:600}.form-grid{flex-direction:column;gap:14px;display:flex}.form-row{gap:12px;display:flex}.form-field{flex-direction:column;flex:1;gap:6px;display:flex}.form-field label{color:var(--fg-muted);font-size:12px;font-weight:500}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--border-strong);background:var(--bg);border-radius:8px;padding:10px 12px;font-size:13.5px}.form-field input.locked{background:var(--bg-sunken);color:var(--fg-muted)}.checkbox-row{align-items:center;gap:8px;font-size:13px;display:flex}.modal-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.detail-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;display:flex}.detail-subrow{color:var(--fg-muted);margin-bottom:18px;font-size:13px}.info-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px;display:grid}.info-cell .field-label{margin-bottom:4px}.info-cell-value{font-size:14px;font-weight:600}.detail-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.stepper{align-items:center;gap:8px;display:flex}.stepper button{border:1px solid var(--border-strong);background:var(--bg);border-radius:8px;width:28px;height:28px}.history-list{flex-direction:column;gap:10px;display:flex}.history-row{border-top:1px solid var(--border);justify-content:space-between;padding:10px 0;font-size:13px;display:flex}.history-row:first-child{border-top:none}.expense-modal-row{border-top:1px solid var(--border);grid-template-columns:100px 1fr 90px 1.4fr auto;align-items:center;gap:10px;padding:10px 0;font-size:13px;display:grid}.expense-modal-row:first-child{border-top:none}.expense-edit-row{border-top:1px solid var(--border);grid-template-columns:110px 1fr 100px 1.2fr auto;align-items:center;gap:8px;padding:10px 0;display:grid}.expense-edit-row:first-child{border-top:none}.expense-edit-row input,.expense-edit-row select{border:1px solid var(--border-strong);border-radius:6px;width:100%;padding:6px 8px;font-size:12.5px}.toast{background:var(--ink-900);color:var(--bone-100);box-shadow:var(--shadow-md);z-index:200;border-radius:10px;padding:12px 18px;font-size:13.5px;position:fixed;bottom:24px;right:24px}.pin-screen{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.pin-card{background:var(--bg-elevated);border:1px solid var(--border);text-align:center;border-radius:12px;width:320px;padding:40px}.pin-input{text-align:center;letter-spacing:.5em;border:1px solid var(--border-strong);border-radius:8px;width:100%;margin:20px 0 12px;padding:12px;font-size:22px}.pin-error{color:var(--mat-red);min-height:18px;font-size:13px}.sync-indicator{color:var(--fg-muted);align-items:center;gap:6px;font-size:11px;display:flex}.sync-dot{background:var(--ink-500);border-radius:999px;width:7px;height:7px}.sync-dot.offline{background:var(--mat-red)}.sync-dot.syncing{background:var(--ink-900);animation:1s infinite pulse}@keyframes pulse{50%{opacity:.35}}
