:root{--cream: #F5EFE6;--cream-2: #EFE7D9;--paper: #FBF7F0;--ink: #1F1B16;--ink-2: #3A342C;--muted: #746B5C;--muted-2: #A59B88;--line: #E3DAC9;--line-2: #CFC3AC;--rust: #C4451C;--rust-ink: #8B2E10;--rust-soft: #F2D6C8;--sage: #6B8E4E;--sage-ink: #4B6A33;--sage-soft: #DCE6CD;--mustard: #D4A24C;--mustard-soft: #F2E1C0;--ok: var(--sage);--warn: #C7871F;--danger: var(--rust);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--shadow-1: 0 1px 0 rgba(31,27,22,.04), 0 1px 2px rgba(31,27,22,.04);--shadow-2: 0 1px 0 rgba(31,27,22,.04), 0 8px 24px rgba(31,27,22,.08);--serif: "Instrument Serif", "Cormorant Garamond", Georgia, serif;--sans: "Geist", "Plus Jakarta Sans", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, Menlo, monospace;--density-row: 14px;--density-pad: 20px}[data-density=compact]{--density-row: 10px;--density-pad: 14px}[data-typeset=sans]{--serif: "Geist", "Plus Jakarta Sans", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--sans);background:var(--cream);color:var(--ink);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea,select{font-family:inherit;color:inherit}button{cursor:pointer;border:none;background:none;padding:0}a{color:inherit;text-decoration:none}.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--paper);border-right:1px solid var(--line);padding:22px 14px;display:flex;flex-direction:column;gap:22px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:4px 10px 10px}.brand-mark{width:30px;height:30px;border-radius:8px;background:var(--rust);position:relative;display:grid;place-items:center;color:var(--paper);font-family:var(--serif);font-size:22px;line-height:1;padding-bottom:2px}.brand-mark:after{content:"";position:absolute;right:-3px;bottom:-3px;width:10px;height:10px;background:var(--sage);border-radius:3px}.brand-name{font-family:var(--serif);font-size:22px;font-weight:400;letter-spacing:-.01em}.brand-sub{font-size:11px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-top:-4px}.nav-section{display:flex;flex-direction:column;gap:2px}.nav-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);padding:0 10px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--ink-2);font-size:14px;text-align:left;width:100%;transition:background .12s}.nav-item:hover{background:var(--cream-2)}.nav-item.active{background:var(--ink);color:var(--paper)}.nav-item.active .nav-count{background:#ffffff29;color:var(--paper)}.nav-item svg{flex-shrink:0}.nav-count{margin-left:auto;font-size:11px;background:var(--cream-2);color:var(--muted);padding:2px 7px;border-radius:999px;font-variant-numeric:tabular-nums}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:8px}.main{min-width:0}.topbar{display:flex;align-items:center;gap:16px;padding:14px 32px;border-bottom:1px solid var(--line);background:var(--cream);position:sticky;top:0;z-index:10}.crumbs{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.crumbs .sep{opacity:.4}.crumbs .here{color:var(--ink)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px}.credit-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;background:var(--paper);border:1px solid var(--line);border-radius:999px;font-size:13px;font-variant-numeric:tabular-nums}.credit-chip b{font-weight:600}.credit-chip .dot{width:6px;height:6px;border-radius:50%;background:var(--sage)}.icon-btn{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--line);background:var(--paper);color:var(--ink-2);position:relative}.icon-btn:hover{background:var(--cream-2)}.icon-btn .pip{position:absolute;top:7px;right:7px;width:7px;height:7px;background:var(--rust);border-radius:50%;border:1.5px solid var(--paper)}.avatar{width:34px;height:34px;border-radius:50%;background:var(--mustard);color:var(--ink);display:grid;place-items:center;font-weight:600;font-size:13px;border:1px solid var(--line-2)}.page{padding:28px 32px 60px;max-width:1200px}.page-wide{padding:28px 32px 60px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-title{font-family:var(--serif);font-size:42px;line-height:1.15;letter-spacing:.01em;margin:0 0 6px;font-weight:400}[data-typeset=sans] .page-title{font-weight:600;letter-spacing:-.015em}.page-sub{color:var(--muted);font-size:15px;max-width:56ch;margin:0}.eyebrow{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;display:inline-flex;align-items:center;gap:8px}.eyebrow:before{content:"";width:18px;height:1px;background:var(--line-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;transition:all .12s;border:1px solid transparent;white-space:nowrap;min-height:40px}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--rust-ink)}.btn-rust{background:var(--rust);color:var(--paper)}.btn-rust:hover{background:var(--rust-ink)}.btn-secondary{background:var(--paper);color:var(--ink);border-color:var(--line-2)}.btn-secondary:hover{background:var(--cream-2)}.btn-ghost{background:transparent;color:var(--ink-2)}.btn-ghost:hover{background:var(--cream-2)}.btn-danger{background:transparent;color:var(--rust);border-color:var(--rust-soft)}.btn-danger:hover{background:var(--rust-soft)}.btn-sm{padding:6px 10px;min-height:30px;font-size:13px;border-radius:6px}.btn-lg{padding:14px 22px;min-height:48px;font-size:15px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--density-pad)}.card-flat{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg)}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card-title{font-family:var(--serif);font-size:22px;font-weight:400;margin:0;letter-spacing:.005em}[data-typeset=sans] .card-title{font-family:var(--sans);font-weight:600;font-size:18px}.stat{display:flex;flex-direction:column;gap:6px}.stat-label{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.stat-value{font-family:var(--serif);font-size:38px;line-height:1.1;font-weight:400;letter-spacing:0;font-variant-numeric:tabular-nums;white-space:nowrap}[data-typeset=sans] .stat-value{font-family:var(--sans);font-weight:600}.stat-delta{font-size:12px;color:var(--muted)}.stat-delta.up{color:var(--sage-ink)}.stat-delta.down{color:var(--rust)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:3px 8px;border-radius:999px;background:var(--cream-2);color:var(--ink-2);font-weight:500;line-height:1.4;white-space:nowrap}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge-ok{background:var(--sage-soft);color:var(--sage-ink)}.badge-warn{background:var(--mustard-soft);color:#7a5514}.badge-danger{background:var(--rust-soft);color:var(--rust-ink)}.badge-info{background:#e0e6df;color:#3a4a36}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--cream)}.table td{padding:var(--density-row) 14px;border-bottom:1px solid var(--line);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--cream)}.table .num{font-variant-numeric:tabular-nums;text-align:right}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:13px;font-weight:500;color:var(--ink-2)}.field-hint{font-size:12px;color:var(--muted);font-style:italic}.input,.select,.textarea{padding:10px 12px;background:var(--paper);border:1px solid var(--line-2);border-radius:8px;font-size:14px;color:var(--ink);width:100%;transition:border-color .12s,box-shadow .12s}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #1f1b1614}.input-group{display:flex;align-items:stretch;border:1px solid var(--line-2);border-radius:8px;background:var(--paper);overflow:hidden}.input-group:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px #1f1b1614}.input-group .input{border:none;box-shadow:none}.input-group .input:focus{box-shadow:none}.input-group .suffix{padding:10px 12px;background:var(--cream);color:var(--muted);font-size:13px;border-left:1px solid var(--line);display:flex;align-items:center;font-family:var(--mono)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:24px}.tab{padding:10px 14px;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .12s}.tab:hover{color:var(--ink)}.tab.active{color:var(--ink);border-bottom-color:var(--rust)}.stepper{display:flex;align-items:center;gap:12px;padding:20px 0}.step{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px}.step-num{width:26px;height:26px;border-radius:50%;border:1px solid var(--line-2);background:var(--paper);display:grid;place-items:center;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.step.done .step-num{background:var(--sage);border-color:var(--sage);color:var(--paper)}.step.active .step-num{background:var(--ink);border-color:var(--ink);color:var(--paper)}.step.active{color:var(--ink);font-weight:500}.step-line{flex:1;height:1px;background:var(--line);max-width:60px}.step.done+.step-line{background:var(--sage)}.meter{display:flex;flex-direction:column;gap:6px}.meter-head{display:flex;justify-content:space-between;font-size:13px}.meter-head .lbl{color:var(--muted)}.meter-head .val{font-variant-numeric:tabular-nums}.meter-bar{height:6px;background:var(--cream-2);border-radius:3px;overflow:hidden;position:relative}.meter-fill{height:100%;background:var(--sage);border-radius:3px}.meter-fill.warn{background:var(--mustard)}.meter-fill.danger{background:var(--rust)}.banner{display:flex;gap:14px;padding:16px 20px;border-radius:12px;align-items:flex-start;border:1px solid transparent}.banner-warn{background:#fbf0da;border-color:#e9d6a9;color:#5a4313}.banner-danger{background:#fbe3d8;border-color:#e9c6b3;color:var(--rust-ink)}.banner-info{background:var(--sage-soft);border-color:#c4d3ae;color:var(--sage-ink)}.banner-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:#fff6;flex-shrink:0}.banner-body{flex:1;font-size:14px}.banner-title{font-weight:600;margin-bottom:2px}.banner-actions{margin-top:10px;display:flex;gap:8px}.app-tile{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;font-family:var(--serif);font-size:20px;color:var(--paper);flex-shrink:0;letter-spacing:-.02em;position:relative}.app-tile.lg{width:64px;height:64px;font-size:28px;border-radius:14px}.app-tile.xl{width:88px;height:88px;font-size:38px;border-radius:18px}.app-tile.sm{width:32px;height:32px;font-size:15px;border-radius:7px}.doodle-underline{position:relative;display:inline-block}.doodle-underline:after{content:"";position:absolute;left:-2%;right:-2%;bottom:-4px;height:7px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 7' preserveAspectRatio='none'><path d='M2 5 Q 50 1, 100 4 T 198 3' stroke='%23C4451C' stroke-width='2' fill='none' stroke-linecap='round'/></svg>") center/100% 100% no-repeat}.switch{width:36px;height:20px;background:var(--line-2);border-radius:999px;position:relative;transition:background .15s;cursor:pointer;flex-shrink:0;border:none;padding:0}.switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .15s;box-shadow:0 1px 2px #00000026}.switch.on{background:var(--ink)}.switch.on:after{transform:translate(16px)}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.row{display:flex;align-items:center;gap:12px}.stack{display:flex;flex-direction:column}.gap-xs{gap:4px}.gap-sm{gap:8px}.gap-md{gap:16px}.gap-lg{gap:24px}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-size:13px}.serif{font-family:var(--serif)}.divider{height:1px;background:var(--line);margin:16px 0;border:none}.tweaks-panel{position:fixed;bottom:20px;right:20px;width:320px;background:var(--paper);border:1px solid var(--line-2);border-radius:14px;box-shadow:var(--shadow-2);padding:16px;z-index:100;font-size:13px}.tweaks-panel h3{font-family:var(--serif);font-size:20px;margin:0 0 12px;font-weight:400;display:flex;align-items:center;justify-content:space-between}.tweak-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-top:1px solid var(--line);gap:12px}.tweak-row:first-of-type{border-top:none}.tweak-label{color:var(--ink-2)}.tweak-swatches{display:flex;gap:4px}.swatch{width:20px;height:20px;border-radius:5px;border:1px solid rgba(0,0,0,.08);cursor:pointer}.swatch.sel{outline:2px solid var(--ink);outline-offset:2px}.seg{display:inline-flex;background:var(--cream-2);border-radius:7px;padding:2px;gap:2px}.seg button{padding:4px 10px;font-size:12px;border-radius:5px;color:var(--muted)}.seg button.on{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #0000000f}.client-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px;text-align:left;cursor:pointer;transition:all .15s;font:inherit;color:inherit}.client-card:hover{border-color:var(--line-2);box-shadow:0 6px 18px #3c28140f;transform:translateY(-1px)}.client-card-add{border-style:dashed;border-color:var(--line-2);text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:220px;background:transparent}.client-card-add:hover{background:var(--cream);border-color:var(--ink-2);border-style:solid}.client-avatar{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;color:var(--paper);font-family:var(--serif);font-size:20px;font-weight:400;flex-shrink:0}.placeholder{background:repeating-linear-gradient(135deg,transparent 0 8px,rgba(31,27,22,.05) 8px 9px),var(--cream-2);border:1px dashed var(--line-2);border-radius:10px;display:grid;place-items:center;color:var(--muted);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.fade-in{animation:fade .22s ease-out}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f1b1673;z-index:200;display:grid;place-items:center;animation:fade .15s ease-out;padding:20px}.modal{background:var(--paper);border-radius:16px;width:min(560px,100%);max-height:90vh;overflow:auto;box-shadow:0 24px 60px #0003}.radio-card{display:flex;gap:12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);cursor:pointer;text-align:left;width:100%;transition:border-color .12s,background .12s;align-items:flex-start}.radio-card:hover{border-color:var(--line-2)}.radio-card.sel{border-color:var(--ink);background:#fbf7f0;box-shadow:0 0 0 1px var(--ink)}.radio-dot{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line-2);flex-shrink:0;margin-top:1px;display:grid;place-items:center}.radio-card.sel .radio-dot{border-color:var(--ink)}.radio-card.sel .radio-dot:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink)}.plan-card{padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--paper);display:flex;flex-direction:column;gap:16px;position:relative;cursor:pointer;transition:all .15s}.plan-card:hover{border-color:var(--line-2)}.plan-card.sel{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink),var(--shadow-2)}.plan-card.popular{background:#fbf7f0}.plan-ribbon{position:absolute;top:-10px;left:24px;background:var(--rust);color:var(--paper);font-size:11px;padding:4px 10px;border-radius:999px;letter-spacing:.04em;text-transform:uppercase}.empty-illus{width:100%;max-width:320px;aspect-ratio:4 / 3;margin:0 auto 24px;position:relative}
