:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e5edf7;font-synthesis:none;text-rendering:optimizelegibility;background:#08111f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#1b96ff38,#0000 34rem),linear-gradient(135deg,#08111f 0%,#0c1728 52%,#101827 100%);min-width:320px;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}.login-shell,.app-shell{min-height:100vh}.login-shell{place-items:center;padding:2rem;display:grid}.login-card,.page-card,.dashboard-card,.transaction-form,.app-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0f172ac2;border:1px solid #94a3b82e;box-shadow:0 24px 80px #00000057}.login-card{border-radius:1.5rem;width:min(100%,34rem);padding:2.5rem}.app-shell{grid-template-rows:auto 1fr;display:grid}.app-header{z-index:2;border-width:0 0 1px;justify-content:space-between;align-items:center;gap:1.5rem;padding:1rem clamp(1rem,4vw,3rem);display:flex;position:sticky;top:0}.brand{align-items:center;gap:.75rem;display:inline-flex}.brand-mark{color:#f8fafc;letter-spacing:-.04em;background:linear-gradient(135deg,#38bdf8,#2563eb);border-radius:.85rem;place-items:center;width:2.5rem;height:2.5rem;font-weight:800;display:inline-grid}.brand strong,.brand small{display:block}.brand small,.eyebrow{color:#93a4b8}.primary-nav{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.primary-nav a,.primary-action,.secondary-action{border-radius:999px;font-weight:700}.primary-nav a{color:#cbd5e1;padding:.55rem .85rem}.primary-nav a[aria-current=page],.primary-nav a:hover{color:#f8fafc;background:#38bdf824}.content-shell{align-items:start;padding:clamp(1.25rem,4vw,4rem);display:grid}.page-card{border-radius:1.5rem;max-width:58rem;padding:clamp(1.5rem,4vw,3rem)}.eyebrow{letter-spacing:.14em;text-transform:uppercase;margin:0 0 .75rem;font-size:.78rem;font-weight:800}h1{color:#f8fafc;letter-spacing:-.06em;margin:0 0 1rem;font-size:clamp(2rem,5vw,4.5rem);line-height:.95}h2{color:#f8fafc;letter-spacing:-.035em;margin:0;font-size:clamp(1.25rem,2.5vw,1.75rem)}p{color:#cbd5e1;max-width:44rem;margin:0;font-size:1.04rem;line-height:1.7}.primary-action{color:#04111f;background:#38bdf8;margin-top:1.5rem;padding:.85rem 1.1rem;display:inline-flex}.secondary-action{color:#bae6fd;cursor:pointer;background:#38bdf81a;border:1px solid #38bdf847;justify-content:center;align-items:center;width:fit-content;padding:.7rem .95rem;display:inline-flex}.secondary-action.compact{margin:0;padding:.55rem .8rem}.secondary-action:disabled{cursor:not-allowed;opacity:.55}.info-disclosure{justify-items:end;display:inline-grid;position:relative}.info-disclosure-button{color:#bae6fd;cursor:pointer;background:#38bdf81f;border:1px solid #7dd3fc73;border-radius:999px;place-items:center;width:2rem;height:2rem;font-style:italic;font-weight:950;display:inline-grid}.info-disclosure-button:hover,.info-disclosure-button:focus-visible{background:#38bdf833;border-color:#7dd3fcd9;outline:none}.info-disclosure-panel{z-index:3;background:#020617fa;border:1px solid #7dd3fc47;border-radius:1rem;gap:.85rem;width:min(42rem,100vw - 2rem);padding:1rem;display:grid;position:absolute;top:calc(100% + .6rem);right:0;box-shadow:0 1.25rem 4rem #0000006b}.info-disclosure-title{color:#f8fafc}.info-disclosure-panel p{max-width:none;font-size:.92rem}.dashboard-page,.transactions-page,.positions-page,.imports-page,.daily-review-page,.analytics-page{gap:1.5rem;width:min(100%,76rem);display:grid}.dashboard-hero{max-width:60rem}.hero-with-info,.heading-with-info{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.import-grid{grid-template-columns:minmax(0,1.35fr) minmax(20rem,.65fr);gap:1rem;display:grid}.dashboard-card{border-radius:1.25rem;gap:1.25rem;min-height:18rem;padding:clamp(1.25rem,3vw,2rem);display:grid}.coaching-card,.lifecycle-card{grid-column:1/-1}.card-heading-row,.metric-row,.status-list{gap:1rem;display:flex}.card-heading-row{justify-content:space-between;align-items:flex-start}.metric-row{flex-wrap:wrap}.metric-row.two-column>*{flex:13rem}.metric-row.three-column>*{flex:10rem}.metric-block{gap:.35rem;display:grid}.explanation-metric{grid-template-columns:1fr auto;align-items:center}.hero-metric .metric-value{font-size:clamp(2rem,4vw,3.25rem)}.metric-label{color:#93a4b8;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:800}.metric-helper{color:#94a3b8;font-size:.82rem;font-weight:700}.metric-value{color:#f8fafc;letter-spacing:-.05em;font-size:clamp(1.45rem,3vw,2.25rem);font-weight:850}.metric-value.compact{letter-spacing:-.02em;font-size:1.08rem}.metric-value.positive{color:#86efac}.metric-value.negative{color:#fca5a5}.metric-value.neutral{color:#cbd5e1}.status-pill{color:#bae6fd;letter-spacing:.04em;text-transform:uppercase;background:#38bdf81a;border:1px solid #38bdf838;border-radius:999px;align-items:center;width:fit-content;padding:.35rem .7rem;font-size:.78rem;font-weight:800;display:inline-flex}.status-pill.ready{color:#bbf7d0;background:#22c55e1f;border-color:#86efac40}.status-pill.pending{color:#fde68a;background:#f59e0b1f;border-color:#fbbf2447}.status-list{flex-wrap:wrap}.status-heading-actions{justify-content:flex-end;align-items:center;gap:.5rem;min-width:0;display:inline-flex}.status-heading-actions .info-disclosure-panel{width:min(26rem,100vw - 2rem)}.card-note{max-width:none}.snapshot-form{border-top:1px solid #94a3b829;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;padding-top:1rem;display:grid}.snapshot-form .form-alert,.snapshot-form button{grid-column:1/-1}.analytics-period-presets{flex-wrap:wrap;gap:.65rem;display:flex}.analytics-period-presets .secondary-action{flex:9rem}.lifecycle-list,.analytics-list,.analytics-curve{gap:.85rem;display:grid}.lifecycle-row,.analytics-row,.analytics-curve-point{background:#02061747;border:1px solid #94a3b829;border-radius:1rem;gap:1rem;padding:1rem;display:grid}.analytics-curve-card{gap:1rem;display:grid}.analytics-sparkline-panel{background:linear-gradient(#0f172aa3,#02061747);border:1px solid #94a3b829;border-radius:1rem;gap:.7rem;padding:1rem;display:grid}.analytics-sparkline{width:100%;height:8rem;overflow:visible}.analytics-sparkline path{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.analytics-sparkline circle{fill:#f8fafc;stroke-width:2px;vector-effect:non-scaling-stroke}.analytics-sparkline-zero{stroke:#94a3b857;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.analytics-sparkline.positive path,.analytics-sparkline.positive circle{stroke:#4ade80}.analytics-sparkline.negative path,.analytics-sparkline.negative circle{stroke:#f87171}.analytics-sparkline.neutral path,.analytics-sparkline.neutral circle{stroke:#94a3b8}.analytics-sparkline-range{color:#cbd5e1;flex-wrap:wrap;justify-content:space-between;gap:.65rem;font-weight:800;display:flex}.analytics-curve-point{grid-template-columns:minmax(0,1fr) auto;align-items:center}.analytics-curve-point strong{color:#f8fafc;font-size:1rem;display:block}.analytics-curve-trade-label,.analytics-curve-values span:last-child{color:#cbd5e1;font-weight:700}.analytics-curve-values{justify-items:end;gap:.25rem;display:grid}.lifecycle-primary,.analytics-row-main,.tag-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.lifecycle-primary strong,.analytics-row-main strong{color:#f8fafc;letter-spacing:-.02em;font-size:1.2rem}.lifecycle-primary span,.analytics-row-main span{color:#cbd5e1;font-weight:700}.status-pill.muted{color:#dbeafe;background:#94a3b81a;border-color:#94a3b833}.empty-state{background:#0206172e;border:1px dashed #94a3b842;border-radius:1rem;max-width:none;padding:1rem}.stocks-page,.stock-detail-page{gap:1rem;max-width:64rem;margin:0 auto;display:grid}.stocks-hero,.stock-detail-hero{background:radial-gradient(circle at 100% 0,#3b82f629,#0000 32%),#020617;border:1px solid #94a3b824;border-radius:1.75rem;justify-content:space-between;align-items:flex-end;gap:1rem;padding:clamp(1.25rem,4vw,2rem);display:flex;box-shadow:0 1.5rem 4rem #00000052}.stocks-hero h1,.stock-detail-hero h1{color:#f8fafc;letter-spacing:-.075em;margin:0;font-size:clamp(2.75rem,10vw,5rem);line-height:.9}.stocks-hero p,.stock-detail-hero p{color:#94a3b8;margin:.5rem 0 0;font-weight:800}.stocks-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.portfolio-pill,.round-action,.back-link{color:#f8fafc;background:#0f172ad1;border:1px solid #94a3b833;font-weight:900;text-decoration:none}.portfolio-pill{border-radius:999px;padding:.55rem .8rem}.round-action{border-radius:999px;width:2.45rem;height:2.45rem}.portfolio-pill:focus-visible,.round-action:focus-visible,.stock-row-link:focus-visible,.back-link:focus-visible{outline-offset:3px;outline:3px solid #60a5fac7}.stocks-summary-strip,.stock-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.stocks-summary-strip>div,.detail-metric-card{background:#0f172abd;border:1px solid #94a3b824;border-radius:1.1rem;gap:.25rem;min-width:0;padding:.9rem;display:grid}.stocks-summary-strip span,.detail-metric-card span{color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:900}.stocks-summary-strip strong,.detail-metric-card strong{color:#f8fafc;font-size:clamp(1rem,2vw,1.35rem);line-height:1.05}.stocks-summary-strip small{color:#94a3b8;font-weight:800}.stocks-grid{gap:1rem}.stocks-list-card{background:#020617d1;border:1px solid #94a3b824;border-radius:1.5rem;gap:.9rem;padding:clamp(.8rem,2.5vw,1.2rem);display:grid;box-shadow:0 1rem 3rem #00000038}.stocks-card-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.stocks-card-header h2{color:#f8fafc;margin:0}.stock-list{gap:.55rem;display:grid}.stock-row{background:linear-gradient(#0f172ad1,#020617b3);border:1px solid #94a3b81c;border-radius:1rem;grid-template-columns:minmax(7.5rem,1.25fr) minmax(4.5rem,.75fr) minmax(5.5rem,.75fr);align-items:center;gap:.75rem;min-width:0;padding:.85rem;display:grid}.stock-row-link{color:inherit;text-decoration:none;transition:transform .16s,border-color .16s,background .16s}.stock-row-link:hover{background:linear-gradient(#1e293beb,#0f172ac7);border-color:#60a5fa73;transform:translateY(-1px)}.stock-identity,.stock-quote{gap:.25rem;min-width:0;display:grid}.stock-identity strong{color:#f8fafc;letter-spacing:-.04em;font-size:1.35rem}.stock-identity span,.stock-identity small{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.stock-identity small{font-size:.78rem}.stock-quote{justify-items:end}.position-sparkline{width:100%;min-width:0}.position-sparkline line{stroke:#94a3b842;stroke-dasharray:3 3}.position-sparkline polyline{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.position-sparkline.positive polyline{stroke:#4ade80}.position-sparkline.negative polyline{stroke:#f87171}.position-sparkline.neutral polyline{stroke:#94a3b8}.change-pill{border-radius:.5rem;justify-content:center;width:fit-content;padding:.22rem .52rem;font-size:.82rem;font-weight:950;display:inline-flex}.change-pill.positive,.positive{color:#86efac}.change-pill.positive{background:#22c55e29}.change-pill.negative,.negative{color:#fca5a5}.change-pill.negative{background:#ef444429}.change-pill.neutral,.neutral{color:#cbd5e1}.change-pill.neutral{background:#94a3b824}.stock-metrics{grid-column:1/-1}.stock-row-detail-line{border-top:1px solid #94a3b81a;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;padding-top:.65rem;display:grid}.stock-row-detail-line span{color:#94a3b8;gap:.15rem;min-width:0;font-size:.75rem;font-weight:850;display:grid}.stock-row-detail-line strong{color:#f8fafc;font-size:.9rem}.closed-trades-secondary{opacity:.92}.back-link{border-radius:999px;justify-self:start;padding:.55rem .8rem}.stock-detail-price{justify-items:end;gap:.4rem;display:grid}.stock-detail-price strong{color:#f8fafc;font-size:clamp(1.8rem,5vw,3rem)}.stock-detail-hero.not-found{justify-content:flex-start;align-items:flex-start}.stock-detail-explainer{background:radial-gradient(circle at 0 0,#3b82f61f,#0000 34%),#020617d1;border:1px solid #60a5fa2e;border-radius:1.5rem;gap:1rem;padding:clamp(1rem,2.5vw,1.25rem);display:grid;box-shadow:0 1rem 3rem #0003}.stock-detail-explainer h2{color:#f8fafc;margin:0}.explainer-grid,.price-context-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.explainer-grid>div,.price-context-row{background:#0f172a9e;border:1px solid #94a3b821;border-radius:1rem;min-width:0}.explainer-grid>div{gap:.35rem;padding:.9rem;display:grid}.explainer-grid strong,.price-context-row strong,.transaction-history-primary strong{color:#f8fafc}.explainer-grid p{color:#cbd5e1;margin:0;font-weight:750}.price-context-row{grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;padding:.9rem}.price-context-row span{color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:900}.transaction-history-list{gap:.85rem;display:grid}.transaction-history-row{background:#02061747;border:1px solid #94a3b829;border-radius:1rem;gap:.85rem;padding:1rem;display:grid}.transaction-history-primary{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.transaction-history-primary span:last-child{color:#94a3b8;font-weight:800}.side-pill,.mistake-tag{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;width:fit-content;padding:.22rem .55rem;font-size:.78rem;font-weight:950;display:inline-flex}.side-pill.buy{color:#86efac;background:#22c55e24;border:1px solid #22c55e47}.side-pill.sell,.mistake-tag{color:#fecaca;background:#ef444421;border:1px solid #f8717147}.transaction-note{color:#cbd5e1;border-left:3px solid #60a5fa8c;margin:0;padding-left:.75rem;font-weight:750}@media (width<=720px){.stocks-hero,.stock-detail-hero{flex-direction:column;align-items:flex-start}.stocks-toolbar,.stock-detail-price{justify-content:flex-start;justify-items:start}.stocks-summary-strip,.stock-detail-grid,.stock-row-detail-line,.explainer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.price-context-row{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.stock-row{grid-template-columns:minmax(0,1.12fr) minmax(4.1rem,.7fr) minmax(5.2rem,.8fr);gap:.65rem;padding:.85rem}.analytics-period-fields{grid-template-columns:1fr}.stock-identity span,.stock-identity small{font-size:.78rem}}@media (width<=430px){.stocks-summary-strip,.stock-detail-grid{grid-template-columns:1fr 1fr}.stock-row{grid-template-columns:minmax(0,1fr) minmax(3.8rem,.62fr) minmax(4.9rem,.72fr)}.position-sparkline{max-width:4.8rem}.metric-value.compact{font-size:.95rem}}.transaction-form{border-radius:1.5rem;gap:1.25rem;padding:clamp(1.25rem,3vw,2rem);display:grid}.form-heading{gap:.5rem;display:grid}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.transaction-form label,.snapshot-form label{color:#cbd5e1;letter-spacing:.02em;gap:.45rem;font-size:.9rem;font-weight:800;display:grid}.transaction-form input,.transaction-form select,.transaction-form textarea,.snapshot-form input{box-sizing:border-box;color:#f8fafc;width:100%;min-width:0;font:inherit;background:#0206176b;border:1px solid #94a3b838;border-radius:.85rem;padding:.8rem .9rem}.transaction-form textarea{resize:vertical;min-height:7rem}.full-width{grid-column:1/-1}.form-alert,.form-success{border-radius:1rem;padding:1rem}.form-alert{color:#fde68a;background:#f59e0b1f;border:1px solid #fbbf2447}.form-alert.danger{color:#fecaca;background:#ef44441f;border-color:#f871714d}.form-alert ul,.review-checklist{margin:.5rem 0 0;padding-left:1.2rem}.review-checklist{color:#cbd5e1;gap:.7rem;line-height:1.6;display:grid}h3{color:#f8fafc;letter-spacing:-.02em;margin:0;font-size:1.08rem}.form-alert p{color:inherit}.form-success{color:#bbf7d0;background:#22c55e1f;border:1px solid #86efac40;font-weight:800}.form-submit{cursor:pointer;border:0;justify-self:start}.form-submit:disabled{cursor:wait;opacity:.68}@media (width<=980px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=780px){.app-header{flex-direction:column;align-items:flex-start}.primary-nav{justify-content:flex-start}.dashboard-grid,.import-grid,.form-grid{grid-template-columns:1fr}}
