:root{--ink:#1b2420;--paper:#f6f1e4;--paper-line:#e0d7bd;--card:#fffdf6;--forest:#22422e;--forest-dim:#2f5940;--forest-tint:#dce8d8;--gold:#b8892b;--gold-tint:#f1e2bd;--profit:#2e6b44;--profit-tint:#e2efe1;--loss:#a23b2e;--loss-tint:#f6e4df;--muted:#6b6455;--font-display:"Fraunces", "Georgia", serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", monospace;--font-ui:"Inter", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);background-image:repeating-linear-gradient(0deg, transparent, transparent 27px, var(--paper-line) 27px, var(--paper-line) 28px);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}#root{min-height:100vh}a{color:inherit}button{font-family:var(--font-ui);cursor:pointer}table{border-collapse:collapse;width:100%}::selection{background:var(--gold-tint)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.shell{min-height:100vh;display:flex}.sidebar{background:var(--forest);color:#ecf3ea;flex-direction:column;flex-shrink:0;width:248px;height:100vh;padding:28px 18px;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid #ffffff24;align-items:center;gap:12px;margin-bottom:22px;padding:0 8px 26px;display:flex}.brand-mark{font-family:var(--font-display);border:1.5px solid var(--gold);width:42px;height:42px;color:var(--gold);letter-spacing:.02em;border-radius:50%;justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex}.brand-name{font-family:var(--font-display);font-size:16.5px;font-weight:600;line-height:1.2}.brand-sub{letter-spacing:.08em;text-transform:uppercase;color:#ecf3ea99;margin-top:2px;font-size:11px}.nav{flex-direction:column;flex:1;gap:3px;display:flex}.nav-link{color:#ecf3eac7;border-radius:4px;align-items:center;gap:11px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-mark{text-align:center;width:16px;color:var(--gold);opacity:.85;font-size:13px}.nav-link:hover{color:#fff;background:#ffffff0f}.nav-link-active{color:#fff;box-shadow:inset 3px 0 0 var(--gold);background:#b8892b2e}.sidebar-footer{color:#ecf3ea73;border-top:1px solid #ffffff1a;padding-top:16px;font-size:11px;line-height:1.5}.content{flex:1;min-width:0;padding:36px 44px 60px}@media (width<=860px){.shell{flex-direction:column}.sidebar{flex-direction:row;align-items:center;width:100%;height:auto;padding:14px 16px;position:relative;overflow-x:auto}.brand{border-bottom:none;margin-bottom:0;padding:0 14px 0 0}.nav{flex-direction:row}.sidebar-footer{display:none}.content{padding:24px 20px 48px}}.page-header{border-bottom:2px solid var(--forest);justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px;padding-bottom:18px;display:flex}.eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;font-size:11px}.page-title{font-family:var(--font-display);color:var(--forest);margin:0;font-size:30px;font-weight:600}.page-desc{color:var(--muted);max-width:620px;margin:6px 0 0;font-size:14px}.page-header-actions{flex-shrink:0}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:32px;display:grid}.stat-card{background:var(--card);border:1px solid var(--paper-line);border-left:3px solid var(--forest);border-radius:3px;padding:16px 18px}.stat-card.stat-profit{border-left-color:var(--profit)}.stat-card.stat-loss{border-left-color:var(--loss)}.stat-card.stat-gold{border-left-color:var(--gold)}.stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px;font-size:11.5px}.stat-value{font-family:var(--font-display);color:var(--ink);font-size:24px;font-weight:600}.stat-value.mono{font-family:var(--font-mono);font-size:21px;font-weight:500}.card{background:var(--card);border:1px solid var(--paper-line);border-radius:4px;margin-bottom:26px;padding:22px 24px}.card-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-title{font-family:var(--font-display);color:var(--forest);margin:0;font-size:18px;font-weight:600}.stamp{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border:1.5px dashed;border-radius:2px;padding:3px 10px;font-size:10.5px;font-weight:600;display:inline-block;transform:rotate(-3deg)}.stamp-profit{color:var(--profit);background:var(--profit-tint)}.stamp-loss{color:var(--loss);background:var(--loss-tint)}.table-wrap{border:1px solid var(--paper-line);border-radius:4px;overflow-x:auto}.data-table{font-size:13px}.data-table th{background:var(--forest-tint);color:var(--forest);text-align:left;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-bottom:1px solid var(--paper-line);padding:9px 12px;font-size:11px}.data-table td{border-bottom:1px solid var(--paper-line);white-space:nowrap;font-family:var(--font-mono);color:var(--ink);padding:9px 12px}.data-table td.text-cell{font-family:var(--font-ui)}.data-table tbody tr:hover{background:#b8892b0f}.data-table tbody tr.row-loss{background:#a23b2e0d}.row-delete{color:var(--loss);background:0 0;border:none;padding:2px 6px;font-size:13px}.row-delete:hover{text-decoration:underline}.form-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:16px;display:grid}.field{flex-direction:column;gap:5px;display:flex}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11.5px}.field input{font-family:var(--font-mono);border:1px solid var(--paper-line);color:var(--ink);background:#fff;border-radius:3px;padding:8px 10px;font-size:13.5px}.field input:focus{border-color:var(--gold)}.btn{border:1px solid var(--forest);background:var(--forest);color:#fff;border-radius:3px;padding:9px 20px;font-size:13.5px;font-weight:600;transition:background .15s}.btn:hover{background:var(--forest-dim)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-outline{color:var(--forest);background:0 0}.btn-outline:hover{background:var(--forest-tint)}.empty-state{text-align:center;color:var(--muted);padding:30px;font-size:14px}.error-banner{background:var(--loss-tint);color:var(--loss);border:1px solid var(--loss);border-radius:3px;margin-bottom:16px;padding:10px 14px;font-size:13px}.section-note{color:var(--muted);margin-top:8px;font-size:12.5px}
