:root{--ink: #16231f;--ink-soft: #2c3d37;--pine: #16312b;--pine-light: #1f4038;--gold: #b8823e;--gold-soft: #f0e2cc;--gold-text: #7a5323;--bg: #f6f4ef;--surface: #ffffff;--surface-muted: #f0ede5;--border: #e4e0d6;--text-primary: #1c1c1a;--text-secondary: #6b6a63;--text-muted: #9c9a90;--success-bg: #e4efe1;--success-text: #386641;--warning-bg: #faf0da;--warning-text: #8a5a15;--danger-bg: #fbe7e4;--danger-text: #a3352a;--radius-sm: 8px;--radius-md: 12px;--font-body: "Manrope", -apple-system, sans-serif;--font-display: "Fraunces", Georgia, serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:500;margin:0}a{color:inherit}button{font-family:var(--font-body);cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{width:240px;flex-shrink:0;background:var(--pine);color:#eef3ef;padding:1.75rem 1.25rem;display:flex;flex-direction:column}.sidebar-brand{display:flex;align-items:center;gap:12px;margin-bottom:2.5rem}.sidebar-brand-mark{width:38px;height:38px;border-radius:11px;flex-shrink:0}.sidebar-brand-text{font-family:var(--font-display);font-size:20px;font-style:italic;color:#f4ead9}.sidebar-brand-text span{font-style:normal;display:block;font-family:var(--font-body);font-size:12px;color:#a9c1b8;margin-top:2px}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.sidebar-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);color:#cfe0d8;text-decoration:none;font-size:14px;transition:background .15s ease}.sidebar-link:hover{background:var(--pine-light)}.sidebar-link.active{background:var(--pine-light);color:#fff;font-weight:600}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.12)}.sidebar-footer button{background:none;border:none;color:#cfe0d8;font-size:13px;padding:0}.main-content{flex:1;min-width:0;padding:2.5rem 3rem;overflow-y:auto}.page-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.75rem;gap:1rem}.page-title{font-size:26px}.page-subtitle{color:var(--text-secondary);font-size:14px;margin-top:4px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:2rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.1rem 1.25rem}.stat-card .label{font-size:13px;color:var(--text-secondary);margin:0 0 6px}.stat-card .value{font-family:var(--font-display);font-size:26px;margin:0}.stat-grid-v2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stat-card-v2{display:flex;align-items:flex-start;gap:14px}.stat-card-v2 .value{font-size:24px;margin:2px 0 0}.stat-label-top{font-size:13px;color:var(--text-secondary);margin:0}.stat-delta-text{font-size:12px;font-weight:600;margin:4px 0 0}.stat-delta-success{color:var(--success-text)}.stat-delta-danger{color:var(--danger-text)}.stat-delta-gold{color:var(--gold-text)}.stat-delta-muted{color:var(--text-muted);font-weight:500}.stat-icon{width:42px;height:42px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon-pine{background:#16312b14;color:var(--pine)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.card+.card{margin-top:1.5rem}.card-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.card-header h3{font-size:16px}.split-row{display:grid;grid-template-columns:7fr 5fr;gap:16px;margin-bottom:1.5rem}.card-pad{padding:1.375rem 1.5rem}.card-title{font-size:16px;font-weight:600;margin:0 0 2px}.card-sub{font-size:12.5px;color:var(--text-muted);margin:0 0 14px}.chart-wrap{position:relative}.chart-months{display:flex;justify-content:space-between;padding:0 4px;margin-top:6px}.chart-months span{font-size:11px;color:var(--text-muted)}.dist-row+.dist-row{margin-top:16px}.dist-label{display:flex;justify-content:space-between;font-size:13px;margin-bottom:7px}.dist-label strong{font-weight:600}.dist-label span{color:var(--text-secondary)}.dist-track{height:10px;background:var(--bg);border-radius:999px;overflow:hidden}.dist-fill{height:100%;background:var(--pine);border-radius:999px}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-weight:500;color:var(--text-secondary);padding:10px 1.25rem;border-bottom:1px solid var(--border);font-size:12.5px}td{padding:12px 1.25rem;border-bottom:1px solid var(--border)}tr:last-child td{border-bottom:none}.badge{display:inline-block;font-size:12px;padding:3px 10px;border-radius:999px;font-weight:600}.badge-success{background:var(--success-bg);color:var(--success-text)}.badge-warning{background:var(--warning-bg);color:var(--warning-text)}.badge-danger{background:var(--danger-bg);color:var(--danger-text)}.badge-neutral{background:var(--surface-muted);color:var(--text-secondary)}.btn{border:1px solid var(--border);background:var(--surface);padding:8px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:var(--text-primary)}.btn:hover{background:var(--surface-muted)}.btn-primary{background:var(--pine);border-color:var(--pine);color:#fff}.btn-primary:hover{background:var(--pine-light)}.btn-danger{border-color:var(--danger-text);color:var(--danger-text)}.btn-sm{padding:5px 10px;font-size:12px}input,select{font-family:var(--font-body);font-size:14px;padding:9px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:100%}input:focus,select:focus{outline:2px solid var(--gold);outline-offset:1px}.field{margin-bottom:14px}.field label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:6px}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--pine);padding:24px}.login-card{width:360px;max-width:100%;background:var(--surface);border-radius:var(--radius-md);padding:2.25rem}.login-logo{width:56px;height:56px;border-radius:16px;margin-bottom:1rem}.login-brand{font-family:var(--font-display);font-style:italic;font-size:26px;margin-bottom:6px}.login-sub{color:var(--text-secondary);font-size:14px;margin-bottom:1.75rem}.error-text{color:var(--danger-text);font-size:13px;margin:-4px 0 14px}.empty-state{padding:3rem 1.25rem;text-align:center;color:var(--text-secondary)}.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.plan-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.1rem 1.25rem}.plan-card.popular{border:2px solid var(--gold)}.plan-price{font-family:var(--font-display);font-size:22px;margin:6px 0 12px}.plan-price small{font-family:var(--font-body);font-size:12px;color:var(--text-secondary);font-weight:400}.pill-tag{font-size:11px;background:var(--gold-soft);color:var(--gold-text);padding:3px 9px;border-radius:999px;font-weight:600}.avatar{width:40px;height:40px;border-radius:50%;background:var(--gold-soft);color:var(--gold-text);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.link-btn{background:none;border:none;color:var(--pine);font-weight:600;font-size:13px;padding:0}.detail-header{display:flex;align-items:center;gap:14px;margin-bottom:1.5rem}.back-link{font-size:13px;color:var(--text-secondary);text-decoration:none;display:inline-block;margin-bottom:1rem}.table-scroll{overflow-x:auto}@media (max-width: 860px){.app-shell{flex-direction:column;min-height:auto}.sidebar{width:100%;flex-shrink:1;padding:1rem 1.25rem;gap:.75rem}.sidebar-brand{margin-bottom:0}.sidebar-brand-text span{display:none}.sidebar-nav{flex-direction:row;overflow-x:auto;gap:4px;padding-bottom:2px}.sidebar-link{white-space:nowrap}.sidebar-footer{margin-top:0;padding-top:.75rem;border-top:none;display:flex;align-items:center;justify-content:space-between}.sidebar-footer p{margin:0}.main-content{padding:1.5rem 1.25rem}.page-header{flex-wrap:wrap}.split-row{grid-template-columns:1fr}table{min-width:480px}}@media (max-width: 480px){.stat-grid{grid-template-columns:1fr}.main-content{padding:1.25rem 1rem}}
