:root{color-scheme:light;--cream:#f7f4ed;--cream-soft:#fcfbf8;--charcoal:#1c1c1c;--text:#1c1c1c;--text-strong:rgba(28,28,28,0.83);--muted:#5f5f5d;--border:#eceae4;--border-strong:rgba(28,28,28,0.4);--wash:rgba(28,28,28,0.03);--wash-hover:rgba(28,28,28,0.04);--blue:#2563eb;--green:#167a3c;--red:#b42318;--amber:#9a6700;--purple:#6f42c1;--focus:rgba(0,0,0,0.1) 0 4px 12px;--button-inset:rgba(255,255,255,0.2) 0 0.5px 0 0 inset,rgba(0,0,0,0.2) 0 0 0 0.5px inset,rgba(0,0,0,0.05) 0 1px 2px 0}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:radial-gradient(circle at 16% 6%,rgba(255,183,129,.28),transparent 22rem),radial-gradient(circle at 86% 4%,rgba(128,180,255,.18),transparent 24rem),radial-gradient(circle at 52% 100%,rgba(250,214,165,.34),transparent 28rem),var(--cream);color:var(--text);font-family:Camera Plain Variable,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body:before{position:fixed;inset:0;z-index:-1;content:"";background-image:linear-gradient(rgba(28,28,28,.025) 1px,transparent 0),linear-gradient(90deg,rgba(28,28,28,.02) 1px,transparent 0);background-size:96px 96px;-webkit-mask-image:linear-gradient(180deg,black,transparent 82%);mask-image:linear-gradient(180deg,black,transparent 82%);pointer-events:none}a{color:inherit}.app-shell{min-height:100vh}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,3vw,2.5rem);background:rgba(247,244,237,.9);border-bottom:1px solid var(--border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.brand,.topbar{display:flex;align-items:center}.brand{gap:.75rem;color:var(--text);font-weight:600;letter-spacing:-.03em;text-decoration:none}.brand-mark{display:grid;width:2.25rem;height:2.25rem;place-items:center;color:var(--cream-soft);background:var(--charcoal);border-radius:9999px;box-shadow:var(--button-inset)}.nav-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.25rem}.nav-link{padding:.5rem .78rem;color:rgba(28,28,28,.82);border:1px solid transparent;border-radius:6px;font-size:.95rem;font-weight:400;text-decoration:none;transition:.14s ease}.nav-link:hover{color:var(--text);background:var(--wash-hover);text-decoration:underline;text-underline-offset:.22em}.page{width:min(1200px,100%);margin:0 auto;padding:clamp(1rem,3vw,2.5rem)}.hero{position:relative;overflow:hidden;padding:clamp(2rem,5vw,4rem);margin-bottom:1.5rem;background:radial-gradient(circle at 10% 18%,rgba(255,214,170,.7),transparent 16rem),radial-gradient(circle at 88% 12%,rgba(218,229,255,.75),transparent 18rem),linear-gradient(135deg,rgba(252,251,248,.68),rgba(247,244,237,.94));border:1px solid var(--border);border-radius:16px}.hero:before{inset:0;background:linear-gradient(120deg,rgba(255,255,255,.44),transparent 36%,rgba(28,28,28,.02))}.hero:after,.hero:before{position:absolute;content:"";pointer-events:none}.hero:after{inset:auto 2rem 1.4rem auto;width:8rem;height:8rem;background:rgba(28,28,28,.03);border:1px solid var(--border);border-radius:9999px}.hero-row,.section-head{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem}.eyebrow{margin:0 0 .7rem;color:var(--muted);font-size:.88rem;font-weight:400;letter-spacing:0}h1,h2,h3,p{margin-top:0}h1{max-width:780px;margin-bottom:.8rem;font-size:clamp(2.25rem,6vw,3.75rem);line-height:1.05;letter-spacing:-1.5px}h1,h2{color:var(--text);font-weight:600}h2{margin-bottom:.85rem;font-size:clamp(1.35rem,3vw,2rem);line-height:1.08;letter-spacing:-.9px}.subtle{color:var(--muted);line-height:1.5}.hero-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.badge{display:inline-flex;align-items:center;gap:.4rem;min-height:1.85rem;padding:.35rem .68rem;color:rgba(28,28,28,.82);background:rgba(28,28,28,.03);border:1px solid var(--border);border-radius:9999px;font-size:.8rem;font-weight:400;letter-spacing:0;text-transform:none;white-space:nowrap}.badge.green{color:#14532d;background:rgba(22,122,60,.08);border-color:rgba(22,122,60,.18)}.badge.red{color:#7f1d1d;background:rgba(180,35,24,.08);border-color:rgba(180,35,24,.18)}.badge.amber{color:#7a4a00;background:rgba(154,103,0,.08);border-color:rgba(154,103,0,.18)}.badge.blue{color:#1d4ed8;background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.18)}.grid{display:grid;grid-gap:1rem;gap:1rem}.grid.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card,.panel{background:rgba(247,244,237,.72);border:1px solid var(--border);border-radius:12px}.card:hover,.panel:hover{border-color:rgba(28,28,28,.18)}.card{padding:1rem}.panel{overflow:hidden}.panel-body{padding:1rem}.card-label{margin-bottom:.55rem;color:var(--muted);font-size:.82rem;font-weight:400;letter-spacing:0;text-transform:none}.card-value{margin-bottom:.3rem;color:var(--text);font-size:clamp(1.55rem,3vw,2.35rem);font-weight:600;line-height:1;letter-spacing:-.9px}.card-note{color:var(--muted);font-size:.9rem;line-height:1.4}.buy,.positive{color:var(--green)}.negative,.sell{color:var(--red)}.warning{color:var(--amber)}.info{color:var(--blue)}.section{margin-top:1rem}.table-wrap{width:100%;overflow-x:auto}table{width:100%;min-width:760px;border-collapse:collapse}td,th{padding:.9rem 1rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}th{color:var(--muted);background:rgba(28,28,28,.03);font-size:.78rem;font-weight:400;letter-spacing:0;text-transform:none}td{color:rgba(28,28,28,.83);font-size:.95rem}tbody tr{transition:background .14s ease}tbody tr:hover{background:rgba(28,28,28,.03)}tr:last-child td{border-bottom:0}.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.empty{padding:2rem;color:var(--muted);text-align:center}.events{display:grid;grid-gap:.65rem;gap:.65rem;max-height:460px;overflow:auto}.event{padding:.88rem;background:rgba(252,251,248,.42);border:1px solid var(--border);border-radius:12px}.event-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.45rem;color:var(--muted);font-size:.8rem}.form-card{max-width:760px;padding:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.field label,.toggle{display:block;margin-bottom:.38rem;color:var(--muted);font-size:.88rem;font-weight:400}button,input{font:inherit}.input{width:100%;padding:.72rem .78rem;color:var(--text);background:rgba(247,244,237,.74);border:1px solid var(--border);border-radius:6px;outline:none}.input::placeholder{color:var(--muted)}.input:focus{border-color:rgba(59,130,246,.5);box-shadow:var(--focus)}.toggle-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.toggle{gap:.55rem;padding:.6rem .82rem;background:rgba(252,251,248,.44);border:1px solid var(--border);border-radius:9999px}.button,.toggle{display:inline-flex;align-items:center}.button{justify-content:center;min-height:2.5rem;padding:.5rem 1rem;color:var(--cream-soft);background:var(--charcoal);border:0;border-radius:6px;box-shadow:var(--button-inset);cursor:pointer;font-weight:400;transition:.14s ease}.button:hover{opacity:.9}.button:active{opacity:.8}.button:focus-visible{box-shadow:var(--focus),var(--button-inset);outline:none}.error-box{padding:.9rem 1rem;margin-bottom:1rem;color:#7f1d1d;background:rgba(180,35,24,.08);border:1px solid rgba(180,35,24,.18);border-radius:12px}.login-shell{display:grid;min-height:100vh;place-items:center;padding:1rem;background:radial-gradient(circle at 18% 10%,rgba(255,183,129,.28),transparent 22rem),radial-gradient(circle at 84% 0,rgba(128,180,255,.18),transparent 24rem)}.login-card{width:min(420px,100%);padding:1.35rem;background:rgba(247,244,237,.78);border:1px solid var(--border);border-radius:16px}@media (max-width:1100px){.grid.metrics,.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.hero-row,.section-head,.topbar{align-items:stretch;flex-direction:column}.topbar{position:static}.nav-links{justify-content:flex-start}.form-grid,.grid.metrics,.grid.three,.grid.two{grid-template-columns:1fr}h1{letter-spacing:-1.1px}table{min-width:680px}}