*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #F2EDE4;--bg2: #EDE7DC;--surface: #FDFAF5;--surface2: #F7F2E9;--card: #FDFAF5;--border: #D8CEBC;--border2: #C8BCA8;--green: #2C4A2E;--green2: #3A5C3C;--green3: #4A6E4C;--green-light:#7A9E7C;--green-pale: #E8F0E8;--green-dim: #E8F0E830;--gold: #8B6914;--gold2: #A07820;--gold-pale: #F5EDD0;--gold-dim: #F5EDD050;--clay: #7A4A35;--clay-pale: #F0E4DC;--slate: #3A4A5A;--slate-pale: #E0E8F0;--red: #8B2A2A;--red-pale: #F0E0E0;--text: #1A1814;--text2: #3A352E;--text3: #6A6258;--muted: #9A9088;--faint: #C8BCAC;--radius: 10px;--radius-sm: 6px;--radius-lg: 16px;--shadow: 0 1px 8px rgba(26,20,14,.06);--shadow-md: 0 4px 20px rgba(26,20,14,.08);--shadow-lg: 0 8px 40px rgba(26,20,14,.12);--font-head: "Playfair Display", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--font-mono: "DM Mono", "Courier New", monospace}html{font-size:16px}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.55;min-height:100vh;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}.app-shell{display:flex;min-height:100vh}.sidebar{width:230px;min-width:230px;background:var(--green);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;overflow-y:auto}.main-content{margin-left:230px;flex:1;min-height:100vh}.page{padding:40px 44px;max-width:1200px}.sidebar-logo{padding:28px 24px 22px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-logo h1{font-family:var(--font-head);font-size:20px;font-weight:700;color:#f5f0e8;letter-spacing:.02em}.sidebar-logo .tagline{font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#f5f0e880;display:block;margin-top:4px}.sidebar-nav{padding:16px 12px;flex:1}.nav-section-label{font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#f5f0e859;padding:12px 10px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:all .12s ease;text-decoration:none;color:#f5f0e88c;font-size:13px;font-weight:400;margin-bottom:1px;letter-spacing:.01em}.nav-item:hover{background:#f5f0e814;color:#f5f0e8d9}.nav-item.active{background:#f5f0e81f;color:#f5f0e8;font-weight:500}.nav-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;opacity:.7}.nav-item.active .nav-dot{opacity:1}.sidebar-footer{padding:16px 24px 24px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-date-day{font-family:var(--font-mono);font-size:30px;font-weight:300;color:#f5f0e8;line-height:1}.sidebar-date-label{font-size:10px;color:#f5f0e866;margin-top:4px;letter-spacing:.05em}.sidebar-phase{margin-top:12px;font-size:9px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#f5f0e880;padding:4px 8px;border:1px solid rgba(245,240,232,.15);border-radius:4px;display:inline-block}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.card-sm{padding:16px 20px}.card-lg{padding:32px}.card-green{border-left:3px solid var(--green2)}.card-gold{border-left:3px solid var(--gold)}.card-clay{border-left:3px solid var(--clay)}.card-slate{border-left:3px solid var(--slate)}.card-red{border-left:3px solid var(--red)}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow)}.stat-card.green{border-top:2px solid var(--green2)}.stat-card.gold{border-top:2px solid var(--gold)}.stat-card.clay{border-top:2px solid var(--clay)}.stat-card.slate{border-top:2px solid var(--slate)}.stat-card.red{border-top:2px solid var(--red)}.stat-label{font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.stat-value{font-family:var(--font-mono);font-size:26px;font-weight:400;color:var(--text);line-height:1}.stat-sub{font-size:11px;color:var(--muted);margin-top:6px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.page-title{font-family:var(--font-head);font-size:32px;font-weight:700;color:var(--text);letter-spacing:-.02em;line-height:1.1}.page-subtitle{font-size:13px;color:var(--muted);margin-top:4px}.section-title{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}.card-label{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:36px;flex-wrap:wrap;gap:16px}.progress-bar{height:5px;background:var(--bg2);border-radius:3px;overflow:hidden;margin-top:8px}.progress-fill{height:100%;border-radius:3px;transition:width .5s ease}.progress-fill.green{background:var(--green2)}.progress-fill.gold{background:var(--gold)}.progress-fill.clay{background:var(--clay)}.progress-fill.red{background:var(--red)}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .12s ease;letter-spacing:.02em;text-decoration:none}.btn-primary{background:var(--green);color:#f5f0e8}.btn-primary:hover{background:var(--green2)}.btn-secondary{background:var(--surface2);color:var(--text2);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-ghost{background:transparent;color:var(--text3);border:1px solid var(--border)}.btn-ghost:hover{color:var(--text);border-color:var(--border2)}.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{background:var(--gold2)}.btn-danger{background:var(--red-pale);color:var(--red);border:1px solid var(--red-pale)}.btn-sm{padding:6px 12px;font-size:11.5px}.btn-lg{padding:12px 28px;font-size:14px}.form-group{margin-bottom:16px}.form-label{display:block;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text3);margin-bottom:7px}.form-input{width:100%;padding:10px 13px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;color:var(--text);transition:border-color .12s;outline:none}.form-input:focus{border-color:var(--green2);background:var(--surface)}.form-input::placeholder{color:var(--faint)}.form-select{width:100%;padding:10px 13px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;color:var(--text);outline:none;cursor:pointer}.slider-group{margin-bottom:12px}.slider-row{display:flex;align-items:center;gap:12px}.slider-label{font-size:12px;font-weight:500;color:var(--text3);width:110px;flex-shrink:0}.slider{-webkit-appearance:none;flex:1;height:4px;border-radius:2px;background:var(--bg2);outline:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--green);cursor:pointer;border:2px solid var(--surface);box-shadow:0 1px 4px #00000026}.slider-val{font-family:var(--font-mono);font-size:14px;color:var(--green2);width:22px;text-align:right}.toggle{display:flex;align-items:center;gap:10px;cursor:pointer}.toggle-track{width:38px;height:20px;background:var(--border2);border-radius:10px;position:relative;transition:background .2s;flex-shrink:0}.toggle-track.on{background:var(--green2)}.toggle-thumb{width:14px;height:14px;background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle-track.on .toggle-thumb{transform:translate(18px)}.toggle-label{font-size:13px;color:var(--text2)}.pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:10.5px;font-weight:500;letter-spacing:.03em}.pill-green{background:var(--green-pale);color:var(--green)}.pill-gold{background:var(--gold-pale);color:var(--gold)}.pill-clay{background:var(--clay-pale);color:var(--clay)}.pill-slate{background:var(--slate-pale);color:var(--slate)}.pill-red{background:var(--red-pale);color:var(--red)}.pill-muted{background:var(--bg2);color:var(--muted)}.alert{padding:12px 16px;border-radius:var(--radius-sm);font-size:13px;display:flex;align-items:flex-start;gap:10px;line-height:1.5}.alert-green{background:var(--green-pale);color:var(--green);border:1px solid rgba(44,74,46,.15)}.alert-gold{background:var(--gold-pale);color:var(--gold);border:1px solid rgba(139,105,20,.15)}.alert-clay{background:var(--clay-pale);color:var(--clay);border:1px solid rgba(122,74,53,.15)}.alert-red{background:var(--red-pale);color:var(--red);border:1px solid rgba(139,42,42,.15)}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{padding:9px 12px;font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:1px solid var(--border)}.data-table td{padding:11px 12px;border-bottom:1px solid var(--bg2);color:var(--text2)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--surface2)}.divider{height:1px;background:var(--border);margin:24px 0}.empty{text-align:center;padding:48px 24px;color:var(--muted)}.empty h3{font-size:14px;font-weight:600;margin-bottom:8px;color:var(--text3)}.empty p{font-size:13px}.loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--muted);font-size:13px}.streak-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;background:var(--gold-pale);color:var(--gold);font-family:var(--font-mono)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a140e80;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;width:440px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.mobile-topbar{display:none}@media (max-width: 768px){.sidebar{display:none}.main-content{margin-left:0!important;padding-top:56px!important}.page{padding:20px 16px!important}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important}.page-header{flex-direction:column;gap:12px}.page-title{font-size:26px!important}}@media (min-width: 769px){.main-content{margin-left:230px}}
