@import "https://fonts.googleapis.com/css2?family=Fraunces:wght@600;700&family=Manrope:wght@400;500;600;700&display=swap";
:root{--font-heading:"Fraunces", "Times New Roman", serif;--font-body:"Manrope", "Avenir Next", "Segoe UI", sans-serif;--ink:#0d1938;--ink-soft:#5f6f92;--paper:#fff;--panel:#fff;--line:#d6dbe6;--accent:#08132f;--accent-soft:#dbe7ff;--danger:#c3324a;--dash-bg:#eceff5;--dash-panel:#fff;--dash-line:#d4dbea;--dash-line-strong:#c6cfdf;--dash-text:#142347;--dash-muted:#5e6f92;--dash-navy:#0f1d44;--dash-navy-soft:#e8edf8;--dash-chip:#f3f6fc}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--ink);font-family:var(--font-body), sans-serif;margin:0}button,input,textarea,select{font:inherit}.boot-screen{min-height:100vh;color:var(--ink-soft);justify-content:center;align-items:center;display:flex}.landing-root{background:#f2f3f7;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.landing-hero-bg{object-fit:cover;object-position:center;opacity:1;filter:grayscale(10%)saturate(75%);pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.landing-skyline{opacity:.8;pointer-events:none;width:min(1500px,118vw);max-width:none;position:absolute;bottom:-1px;left:50%;transform:translate(-50%)}.login-shell{z-index:2;width:min(92vw,420px);padding:2rem 1.2rem;position:relative}.login-card{background:color-mix(in srgb, var(--panel) 82%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:.75rem;padding:1.5rem;display:flex;box-shadow:0 18px 50px #24355d1f}.login-title{font-family:var(--font-heading), serif;letter-spacing:.01em;margin:0;font-size:clamp(2rem,4vw,2rem);font-weight:300;line-height:1}.login-subtitle{color:var(--ink-soft);margin:0 0 .3rem;font-size:.94rem}.login-label{color:#4b5c80;font-size:.82rem;font-weight:700}.login-input{color:#1d2b4f;background:#fff;border:1px solid #c7d0e2;border-radius:12px;outline:none;width:100%;padding:.78rem .86rem}.login-input:focus{border-color:#86a7ff;box-shadow:0 0 0 3px #2f5aca26}.login-error,.panel-error{color:var(--danger);background:#fff1f4;border:1px solid #f0b8c3;border-radius:10px;padding:.66rem .72rem;font-size:.86rem}.login-button,.admin-button{background:var(--ink);color:#fff;cursor:pointer;border:none;border-radius:12px;margin-top:.2rem;padding:.82rem 1rem;font-weight:700}.login-button:disabled,.admin-button:disabled{opacity:.6;cursor:not-allowed}.dashboard-root{background:radial-gradient(circle at 8% 0,#b7caee2e,#0000 34%),radial-gradient(circle at 92% 0,#aac1e91f,#0000 36%),linear-gradient(#f4f7fc 0%,#eef2f8 100%);min-height:100vh;padding:clamp(.72rem,1.8vw,1.45rem)}.dashboard-shell{gap:.66rem;max-width:1200px;margin:0 auto;display:grid}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:.7rem;padding:0 .08rem;display:flex}.dashboard-title{color:var(--dash-navy);font-family:var(--font-heading), serif;letter-spacing:.004em;margin:0;font-size:clamp(1.16rem,1.8vw,1.72rem);font-weight:500;line-height:1.02}.dashboard-subtitle{color:#60739b;margin:.2rem 0 0;font-size:clamp(.72rem,1vw,.84rem);font-weight:600}.dashboard-actions{align-items:center;gap:.36rem;margin-left:auto;display:flex}.dashboard-actions-client{align-self:flex-start}.dashboard-select,.dashboard-logout,.admin-input,.admin-textarea{color:#1b2f59;background:#fff;border:1px solid #c9d3e7;border-radius:11px;transition:border-color .13s,box-shadow .13s,background-color .13s}.dashboard-select,.dashboard-logout{min-height:34px;padding:.34rem .56rem;font-size:.79rem;font-weight:500}.dashboard-select{min-width:192px}.dashboard-select:focus,.dashboard-logout:focus,.admin-input:focus,.admin-textarea:focus{border-color:#8ea3cb;outline:none;box-shadow:0 0 0 3px #3e59911a}.dashboard-logout{cursor:pointer;color:#213761;background:#f4f7fc;border-color:#bcc8df;border-radius:16px;justify-content:center;align-items:center;gap:.36rem;display:inline-flex}.dashboard-logout-icon{width:15px;height:15px;display:none}.dashboard-logout-icon svg{width:100%;height:100%;display:block}.dashboard-logout-label{line-height:1}.dashboard-actions-client .dashboard-logout{min-width:84px;margin-top:.02rem}.dashboard-logout:hover{background:#e8eef9;border-color:#9eb0d0}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.62rem;display:grid}.stat-card{background:#fff;border:1px solid #d4ddee;border-radius:14px;padding:.62rem .72rem;box-shadow:0 5px 14px #1f36650a}.stat-label{color:#7084ac;text-transform:uppercase;letter-spacing:.075em;font-size:.64rem;font-weight:600}.stat-value{color:#122752;letter-spacing:-.01em;margin-top:.22rem;font-size:clamp(1.02rem,1.5vw,1.36rem);font-weight:600;line-height:1.04}.stat-subvalue{color:#63779f;letter-spacing:.002em;margin-top:.2rem;font-size:.72rem;font-weight:500}.stat-roi{margin-top:.12rem;font-size:.68rem;font-weight:600}.stat-roi-positive{color:#2e8554}.stat-roi-negative{color:#b24f59}.stat-roi-neutral{color:#7c8391}.dashboard-main-grid{grid-template-columns:minmax(280px,.95fr) minmax(0,2.05fr);align-items:start;gap:.72rem;display:grid}.panel-section{background:#fff;border:1px solid #d4deef;border-radius:14px;padding:.74rem;box-shadow:0 8px 24px #182a4f0a}.panel-title-row{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.panel-title{font-family:var(--font-body), sans-serif;color:#132a57;letter-spacing:-.01em;margin:0;font-size:1.02rem;font-weight:650;line-height:1.15}.panel-muted{color:#6a7ea5;font-size:.82rem;font-weight:500}.panel-error{margin-top:.55rem;font-size:.82rem}.watcher-list{gap:.4rem;margin-top:.56rem;display:grid}.watcher-row{text-align:left;background:linear-gradient(#fdfdff 0%,#f7fafe 100%);border:1px solid #d6e0f1;border-radius:11px;justify-content:space-between;align-items:center;gap:.5rem;padding:.54rem .62rem;transition:border-color .12s,background-color .12s,transform .12s;display:flex}.watcher-row:hover{background:#f3f7ff;border-color:#afc1de;transform:translateY(-1px)}.watcher-row-active{background:#ebf2ff;border-color:#8ea6d0}.watcher-name{color:#172f5d;font-size:.84rem;font-weight:600;line-height:1.12}.watcher-meta{color:#6a7fa8;letter-spacing:.02em;text-transform:uppercase;margin-top:.14rem;font-size:.68rem;font-weight:600}.watcher-pnl{color:#17305d;letter-spacing:-.005em;font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:600}.timeframe-row{background:#eef2fa;border:1px solid #d2dced;border-radius:999px;align-items:center;gap:.18rem;padding:.17rem;display:flex}.timeframe-button{color:#60779f;letter-spacing:.03em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:999px;outline:none;min-width:38px;height:28px;padding:0 .6rem;font-size:.68rem;font-weight:700;transition:background-color .12s,color .12s,box-shadow .12s}.timeframe-button:not(.timeframe-active):hover,.timeframe-button:not(.timeframe-active):focus-visible{box-shadow:none;background:0 0}.timeframe-active{color:#fff;box-shadow:none;background:#112853}.watcher-chart-grid{gap:.62rem;margin-top:.68rem;display:grid}.manual-panel{gap:.58rem;display:grid}.manual-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;display:grid}.manual-summary-card{background:#f8fbff;border:1px solid #d7e1f2;border-radius:10px;gap:.14rem;padding:.42rem .5rem;display:grid}.manual-summary-card span{color:#6b7fa6;letter-spacing:.05em;text-transform:uppercase;font-size:.62rem;font-weight:600}.manual-summary-card strong{color:#17315e;font-size:.84rem;font-weight:640}.manual-wallet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.38rem;display:grid}.manual-wallet-card{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #d7e1f2;border-radius:10px;padding:.46rem .54rem}.manual-wallet-title{color:#17305b;font-size:.8rem;font-weight:620;line-height:1.15}.manual-wallet-meta{color:#6a7ea5;margin-top:.16rem;font-size:.7rem;font-weight:520}.manual-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:.54rem;display:grid}.manual-column{background:#fbfdff;border:1px solid #d6e0f1;border-radius:11px;min-height:170px;padding:.44rem .5rem}.manual-column-title{color:#183161;letter-spacing:.01em;margin:0;font-size:.82rem;font-weight:640}.manual-list{gap:.32rem;margin-top:.44rem;display:grid}.manual-row{background:#fff;border:1px solid #d8e2f3;border-radius:9px;gap:.1rem;padding:.38rem .46rem;display:grid}.manual-row-title{color:#17305b;font-size:.73rem;font-weight:610;line-height:1.2}.manual-row-meta{color:#657aa3;font-size:.64rem;font-weight:530;line-height:1.26}.manual-row-pnl{color:#17325f;letter-spacing:.005em;font-size:.7rem;font-weight:620}.watcher-card{background:#fff;border:1px solid #d3ddef;border-radius:12px;padding:.62rem}.watcher-card-head{justify-content:space-between;align-items:flex-start;gap:.7rem;display:flex}.watcher-card-controls{justify-items:end;gap:.35rem;display:grid}.watcher-timeframe-row{margin-left:auto}.watcher-card-title{color:#112853;font-size:clamp(1.02rem,1.45vw,1.22rem);line-height:1.08;font-family:var(--font-body), sans-serif;letter-spacing:.002em;margin:0;font-weight:600}.watcher-card-sub{color:#61769e;text-transform:uppercase;letter-spacing:.055em;margin-top:.14rem;font-size:.64rem;font-weight:700}.watcher-card-subtle{color:#7388af;letter-spacing:.008em;margin-top:.12rem;font-size:.66rem;font-weight:500}.watcher-badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.34rem;display:flex}.watcher-badge{color:#445c88;letter-spacing:.035em;text-transform:uppercase;background:#f2f6fc;border:1px solid #c8d3e8;border-radius:999px;padding:.24rem .52rem;font-size:.67rem;font-weight:600}.watcher-badge-live{color:#284677;background:#e8f0ff;border-color:#9cb4dc}.watcher-badge-muted{color:#7083a5;background:#f4f7fc;border-color:#d4dceb}.watcher-badge-pnl{color:#1d3e73;background:#edf3ff;border-color:#bfd0ec}.watcher-mini-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.34rem;margin-top:.54rem;display:grid}.watcher-curve-error{margin-top:.52rem;margin-bottom:0}.watcher-mini-stat{background:#f8fbff;border:1px solid #d7e0f0;border-radius:10px;gap:.12rem;padding:.36rem .42rem;display:grid}.watcher-mini-stat span{color:#6a7ea6;letter-spacing:.055em;text-transform:uppercase;font-size:.62rem;font-weight:600}.watcher-mini-stat strong{color:#1f3563;font-size:.8rem;font-weight:600}.chart-wrap{background:#fbfdff;border:1px solid #d5dff0;border-radius:11px;justify-content:center;align-items:center;height:272px;margin-top:.64rem;display:flex;position:relative;overflow:hidden}.chart-wrap-light{background:linear-gradient(#fbfdff 0%,#f6f9ff 100%);border-color:#d4dff0}.chart-svg{width:100%;height:100%}.chart-line{fill:none;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round}.chart-line-realized{stroke:#2f5ec0}.chart-line-unrealized{stroke:#6de5ff;stroke-dasharray:10 7;stroke-width:2.1px}.chart-line-actual{stroke:#7f93ba;stroke-dasharray:6 6;stroke-width:1.8px}.chart-x-baseline{stroke:#586f9e52;stroke-width:1px}.chart-x-tick{stroke:#586f9e47;stroke-width:1px}.chart-x-label{fill:#6880a8;letter-spacing:.004em;font-size:11px;font-weight:500}.pnl-chart-meta{color:#536a94;letter-spacing:.007em;pointer-events:none;justify-content:space-between;gap:.8rem;font-size:.68rem;font-weight:650;display:flex;position:absolute;top:8px;left:12px;right:12px}.chart-area-realized{opacity:1}.chart-tooltip{z-index:3;pointer-events:none;background:#fffffffb;border:1px solid #cbd8ee;border-radius:10px;min-width:146px;padding:.38rem .48rem;position:absolute;top:28px;transform:translate(-50%);box-shadow:0 10px 24px #182c581f}.chart-tooltip-time{color:#59709a;letter-spacing:.008em;margin-bottom:.2rem;font-size:.65rem;font-weight:650}.chart-tooltip-row{color:#4d6189;justify-content:space-between;align-items:center;gap:.7rem;font-size:.7rem;display:flex}.chart-tooltip-row strong{color:#1a355f;font-weight:650}.chart-hover-line{stroke:#566c986e;stroke-width:1px;stroke-dasharray:5 4}.chart-hover-dot{stroke-width:1.5px;fill:#fff}.chart-hover-dot-realized{stroke:#2f5ec0}.chart-hover-dot-baseline{stroke:#7f93ba}.admin-form{gap:.55rem;margin-top:.68rem;display:grid}.admin-divider{background:#d7dfef;height:1px;margin:.82rem 0 .72rem}.admin-input,.admin-textarea{width:100%;padding:.62rem .7rem;font-size:.84rem;font-weight:500}.admin-textarea{resize:vertical;min-height:96px}.admin-access-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.52rem;display:flex}.admin-button-secondary{background:#253d6a}.admin-access-form{gap:.5rem;margin-top:.5rem;display:grid}.admin-access-row{grid-template-columns:2fr 1.6fr 1.3fr auto;align-items:center;gap:.45rem;display:grid}.admin-row-remove{color:#3f5888;cursor:pointer;background:#f2f6fd;border:1px solid #c8d4ea;border-radius:10px;padding:.54rem .66rem;font-size:.8rem;font-weight:650}.admin-row-remove:disabled{opacity:.55;cursor:not-allowed}.admin-access-actions{align-items:center;gap:.55rem;display:flex}.admin-success{color:#2f5f3a;font-size:.78rem}@media (max-width:1140px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-main-grid{grid-template-columns:1fr}.watcher-mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-summary-grid,.manual-wallet-grid,.manual-columns,.admin-access-row{grid-template-columns:1fr}}@media (max-width:760px){.dashboard-root{padding:.56rem}.dashboard-shell{gap:.6rem}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:.45rem;display:flex}.dashboard-title{font-size:1.14rem}.dashboard-subtitle{font-size:.72rem}.dashboard-actions-admin{grid-template-columns:minmax(0,1fr) auto;gap:.4rem;width:100%;display:grid}.dashboard-actions-client{justify-content:flex-end;align-self:flex-start;width:auto;margin-top:.06rem}.dashboard-select{width:100%;min-width:0}.dashboard-actions-admin .dashboard-logout{text-align:center;min-width:86px}.dashboard-actions-client .dashboard-logout{border-radius:999px;width:34px;min-width:34px;height:34px;min-height:34px;margin-top:0;padding:0}.dashboard-actions-client .dashboard-logout-icon{display:inline-flex}.dashboard-actions-client .dashboard-logout-label{display:none}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem}.stat-card{padding:.52rem .56rem}.stat-value{font-size:1.04rem}.panel-section{border-radius:12px;padding:.58rem}.panel-title-row{flex-wrap:wrap;align-items:flex-start;gap:.45rem}.panel-title{font-size:.94rem}.watcher-row{padding:.48rem .54rem}.watcher-name{font-size:.78rem}.watcher-pnl{font-size:.74rem}.watcher-card{padding:.52rem}.watcher-card-head{flex-direction:column;gap:.42rem}.watcher-card-controls{justify-items:start;width:100%}.watcher-card-title{font-size:1.02rem}.watcher-badges{justify-content:flex-start}.watcher-mini-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.34rem}.chart-wrap,.chart-wrap-light{height:254px;min-height:254px}.pnl-chart-meta{font-size:.62rem}.pnl-chart-meta span:last-child{display:none}.chart-tooltip{min-width:122px;padding:.3rem .38rem;top:20px}.chart-tooltip-row{font-size:.64rem}.admin-access-actions{flex-wrap:wrap}.landing-skyline{opacity:.72;width:190vw}}@media (max-width:430px){.dashboard-title{font-size:1.04rem}.dashboard-header{gap:.34rem}.dashboard-actions-admin{grid-template-columns:1fr}.dashboard-actions-admin .dashboard-select,.dashboard-actions-admin .dashboard-logout{width:100%;min-height:34px;padding:.42rem .56rem}.dashboard-actions-client .dashboard-logout{width:32px;min-width:32px;height:32px;min-height:32px;padding:0}.dashboard-actions-client .dashboard-logout-icon{width:13.5px;height:13.5px}.timeframe-row{justify-content:space-between;width:100%}.timeframe-button{flex:auto;min-width:0;height:26px;font-size:.64rem}}
