:root{--bg: #eff4fb;--surface: #f2f5fa;--panel: #ffffff;--ink: #122238;--muted: #6a778e;--line: #d7dfeb;--accent: #1da56f;--accent-ink: #0c7650;--danger: #d23f3f}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:var(--ink);background:radial-gradient(circle at top left,#d9e7fb 0%,transparent 36%),radial-gradient(circle at top right,#dff7ee 0%,transparent 32%),linear-gradient(180deg,#f8fbff 0%,var(--bg) 100%)}button,input,select,textarea{font:inherit}.login-page{min-height:100%;display:grid;place-items:center;padding:2rem}.login-card{width:min(520px,94vw);background:var(--panel);border-radius:18px;border:1px solid var(--line);box-shadow:0 16px 35px #0b14232e;padding:1.4rem;display:grid;gap:.7rem}.login-card label{display:grid;gap:.35rem;font-size:.9rem}.login-card input{border:1px solid var(--line);border-radius:10px;padding:.6rem}.login-card button{border:0;border-radius:10px;padding:.62rem .9rem;background:var(--accent);color:#fff;cursor:pointer}.login-page-pro{padding:2.4rem}.login-shell{width:min(1040px,96vw);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:1rem;align-items:stretch}.login-hero{border:1px solid #d4e3f8;border-radius:24px;padding:2rem;background:radial-gradient(circle at 18% 12%,rgba(80,156,231,.24),transparent 42%),radial-gradient(circle at 82% 14%,rgba(23,180,117,.2),transparent 40%),linear-gradient(165deg,#f9fcff,#edf4ff);color:#16335a;display:grid;gap:.85rem;box-shadow:0 20px 34px #1d3a631f}.login-brand-row{display:inline-flex;align-items:center;gap:.7rem}.login-brand-symbol{width:46px;height:46px;object-fit:contain;flex:0 0 auto}.login-brand-wordmark{width:auto;height:28px;object-fit:contain}.login-eyebrow{margin:0;letter-spacing:.11em;text-transform:uppercase;font-size:.76rem;font-weight:700;color:#4f79a8}.login-hero h1{margin:0;font-size:clamp(1.7rem,2.4vw,2.35rem);line-height:1.14}.login-hero p{margin:0;color:#5b7395;max-width:44ch}.login-feature-list{margin:.3rem 0 0;padding:0;list-style:none;display:grid;gap:.45rem}.login-feature-list li{border:1px solid #d7e4f7;background:#fff;border-radius:11px;padding:.58rem .7rem;color:#193a64;font-size:.9rem}.login-card-pro{width:100%;border-radius:24px;padding:1.5rem;align-content:start}.login-card-pro h2{margin:0;font-size:1.55rem}.login-mode-group{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-bottom:.2rem}.login-mode-group .menu-item{border:1px solid var(--line);background:#fff;border-radius:10px;text-align:center;padding:.58rem .7rem}.login-mode-group .menu-item.active{border-color:#0f8d5e;background:#e8fff4;color:#0b6545}.login-switch{margin:.15rem 0 0;color:var(--muted);font-size:.9rem}.login-switch-btn{border:0;background:transparent;color:#0f8d5e;font-weight:700;padding:0;cursor:pointer}.login-switch-btn:hover{text-decoration:underline}.public-site{min-height:100%;display:grid;grid-template-rows:auto 1fr auto;background:radial-gradient(circle at 0% 0%,rgba(147,193,255,.2),transparent 28%),radial-gradient(circle at 100% 0%,rgba(142,234,198,.22),transparent 24%),linear-gradient(180deg,#f9fcff,#f3f8ff 52%,#f8fbff)}.public-header{position:sticky;top:0;z-index:20;margin:1rem auto 0;width:min(1220px,96vw);border:1px solid #d9e5f6;border-radius:16px;background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.72rem .9rem;display:grid;grid-template-columns:auto 1fr auto;gap:.9rem;align-items:center;box-shadow:0 10px 26px #1c38601a}.public-brand{display:inline-flex;align-items:center;gap:.55rem;color:#173359;text-decoration:none}.public-brand-badge-logo{width:38px;height:38px;object-fit:contain;flex:0 0 auto}.public-brand-copy{display:grid;gap:.1rem}.public-brand-wordmark{display:block;width:auto;height:20px;object-fit:contain}.public-brand-copy span{display:block;color:#7089ad;font-size:.73rem}.public-nav{display:flex;justify-content:center;align-items:center;gap:.3rem;flex-wrap:wrap}.public-nav-link{text-decoration:none;color:#31547f;border:1px solid transparent;border-radius:10px;padding:.42rem .68rem;font-size:.88rem;font-weight:600}.public-nav-link:hover{border-color:#cfddf3;background:#f4f8ff}.public-nav-link.active{color:#15355d;border-color:#c2d8f8;background:#e9f2ff}.public-actions{display:flex;gap:.46rem;justify-content:flex-end;align-items:center}.language-switch{display:inline-flex;align-items:center;border:1px solid #c9daef;border-radius:10px;background:#fff;overflow:hidden}.language-switch button{border:0;background:transparent;color:#35547d;font-size:.76rem;font-weight:700;letter-spacing:.02em;padding:.45rem .58rem;cursor:pointer;min-width:42px}.language-switch button:hover{background:#f2f7ff}.language-switch button.active{background:#e8fff4;color:#0f8156}.language-switch-app{border-color:#d3ddea}.language-switch-app button{padding:.38rem .52rem;min-width:40px}.public-btn{text-decoration:none;border-radius:10px;padding:.5rem .78rem;border:1px solid transparent;font-size:.88rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center}.public-btn-primary{background:linear-gradient(145deg,#1db57a,#129763);color:#fff;border-color:#129763}.public-btn-primary:hover{filter:brightness(1.05)}.public-btn-ghost{color:#285181;border-color:#c9daef;background:#fff}.public-btn-ghost:hover{background:#f2f7ff}.public-main{width:min(1220px,96vw);margin:.95rem auto 1.2rem}.marketing-page{display:grid;gap:1.1rem;padding-bottom:.9rem}.marketing-hero{border-radius:22px;border:1px solid #d7e4f6;padding:1.4rem;background:radial-gradient(circle at 10% 0%,rgba(124,178,247,.24),transparent 36%),radial-gradient(circle at 92% 12%,rgba(126,233,189,.22),transparent 34%),linear-gradient(160deg,#fff,#f1f7ff);color:#14345a;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1rem;box-shadow:0 20px 38px #2242681a}.marketing-eyebrow{margin:0;color:#4c74a2;letter-spacing:.1em;text-transform:uppercase;font-size:.74rem;font-weight:800}.marketing-hero-copy h1,.marketing-title{margin:.2rem 0 .35rem;color:#102f53;font-size:clamp(1.8rem,3.2vw,2.7rem);line-height:1.08;font-family:Sora,Manrope,Segoe UI,sans-serif}.marketing-hero-copy p{margin:0;color:#4f6b90;max-width:48ch}.marketing-actions{margin-top:.95rem;display:flex;flex-wrap:wrap;gap:.5rem}.marketing-kpis{margin-top:.95rem;display:grid;gap:.45rem}.marketing-kpis article{border:1px solid #d9e5f6;background:#fff;border-radius:11px;padding:.52rem .62rem;display:grid;gap:.2rem}.marketing-kpis span{color:#6c84a6;font-size:.78rem}.marketing-kpis strong{color:#16375f;font-size:.9rem}.marketing-trust-section{gap:.8rem}.marketing-social-proof{gap:.85rem}.social-proof-grid{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.social-proof-card{border:1px solid #d7e4f7;border-radius:14px;background:#fff;padding:.8rem;display:grid;gap:.55rem;box-shadow:0 12px 24px #25436b14}.social-proof-head{display:grid;grid-template-columns:auto 1fr auto;gap:.45rem;align-items:center}.social-proof-avatar{width:34px;height:34px;border-radius:999px;background:linear-gradient(145deg,#e7f2ff,#d9ecff);border:1px solid #bfd6f5;color:#1c497d;display:grid;place-items:center;font-size:.75rem;font-weight:800}.social-proof-head strong{display:block;color:#16375f;font-size:.9rem;line-height:1.1}.social-proof-head span{color:#607a9d;font-size:.78rem}.social-proof-stars{border:1px solid #bde9d0;border-radius:999px;background:#e9f9f1;color:#0e7b54;font-size:.74rem;font-weight:700;padding:.2rem .42rem}.social-proof-card blockquote{margin:0;color:#425f86;font-size:.89rem;line-height:1.45}.social-proof-impact{margin:0;border-top:1px dashed #d8e5f7;padding-top:.48rem;display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.social-proof-impact span{color:#6f85a7;font-size:.78rem}.social-proof-impact strong{color:#0f8d5e;font-size:.88rem}.social-proof-case-grid{display:grid;gap:.62rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.social-proof-case{border:1px solid #d8e5f7;border-radius:12px;background:linear-gradient(160deg,#fff,#f6faff);padding:.75rem;display:grid;gap:.35rem}.social-proof-case h3{margin:0;color:#183a62;font-size:.92rem}.social-proof-case p{margin:0;color:#5d728f;font-size:.84rem}.social-proof-delta{margin-top:.2rem;display:grid;gap:.2rem}.social-proof-delta span{color:#7b8ea9;font-size:.78rem}.social-proof-delta strong{color:#0f8d5e;font-size:.83rem}.marketing-trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem}.marketing-trust-card{border:1px solid #d9e5f7;border-radius:12px;background:#fff;padding:.7rem;display:grid;gap:.18rem}.marketing-trust-card strong{font-size:1.25rem;color:#14365f;line-height:1.1}.marketing-trust-card span{font-size:.84rem;color:#315782;font-weight:700}.marketing-trust-card p{margin:.15rem 0 0;color:#60789b;font-size:.82rem}.marketing-logo-strip{display:flex;flex-wrap:wrap;gap:.6rem}.marketing-logo-item{border:1px solid #d8e5f7;border-radius:999px;background:#fff;padding:.32rem .62rem;display:inline-flex;align-items:center;gap:.45rem}.marketing-logo-item img{width:20px;height:20px;object-fit:contain}.marketing-logo-item span{color:#315782;font-size:.8rem;font-weight:600}.marketing-hero-visual{display:grid}.marketing-shot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.8rem}.marketing-shot{border:1px solid #d7e4f6;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 14px 28px #2447701a;display:grid}.marketing-shot img{width:100%;height:auto;display:block}.marketing-shot-meta{padding:.65rem .7rem .75rem;display:grid;gap:.2rem}.marketing-shot-meta strong{color:#16375f;font-size:.9rem}.marketing-shot-meta span{color:#607a9d;font-size:.83rem}.marketing-section{border:1px solid #d7e1f2;border-radius:20px;background:#f9fcff;padding:1.1rem;display:grid;gap:.85rem}.marketing-section h2{margin:0;font-size:1.45rem;color:#103053}.marketing-title{margin:0;color:#102540}.marketing-subtitle{margin:0;color:#5b6f8f;max-width:70ch}.marketing-card-grid{display:grid;gap:.72rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.marketing-card{border:1px solid #d9e5f7;border-radius:14px;background:#fff;padding:.85rem;display:grid;gap:.42rem}.marketing-card h3{margin:0;font-size:1rem;color:#17375f}.marketing-card p,.marketing-card li{margin:0;color:#5d708f;font-size:.9rem}.marketing-card ul{margin:0;padding-left:1rem;display:grid;gap:.35rem}.marketing-list-tight{margin:0;padding-left:1rem;display:grid;gap:.28rem}.marketing-inline-link{color:#0f8d5e;font-weight:700;text-decoration:none}.marketing-inline-link:hover{text-decoration:underline}.marketing-code-inline{display:inline-block;border:1px solid #d8e3f3;border-radius:8px;background:#f6f9ff;color:#27436d;padding:.32rem .45rem;font-size:.8rem;line-height:1.35;white-space:normal}.marketing-link-list{display:flex;flex-wrap:wrap;gap:.4rem}.marketing-link-list a{color:#2f5889;text-decoration:none;border:1px solid #d4e0f3;border-radius:999px;padding:.28rem .52rem;font-size:.79rem}.marketing-link-list a:hover{background:#edf4ff}.marketing-step-grid{display:grid;gap:.62rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.marketing-step{border:1px solid #cfe2fb;background:linear-gradient(160deg,#fff,#f2f7ff);border-radius:14px;padding:.75rem;display:grid;gap:.35rem}.marketing-step strong{font-size:.95rem;color:#16375f}.marketing-step p{margin:0;color:#5b6f8f;font-size:.88rem}.marketing-cta{border:1px solid #d2e2f8;border-radius:20px;background:radial-gradient(circle at 80% 20%,rgba(131,232,191,.25),transparent 42%),radial-gradient(circle at 10% 10%,rgba(149,195,255,.24),transparent 40%),linear-gradient(160deg,#fff,#edf5ff);color:#123357;padding:1.2rem;display:grid;gap:.55rem}.marketing-cta h2{margin:0;font-size:1.45rem}.marketing-cta p{margin:0;color:#4f6d92}.faq-grid{grid-template-columns:1fr}.help-contact-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);align-items:start}.help-faq-grid{display:grid;gap:.72rem}.support-form-card{display:grid;gap:.65rem}.support-form-card h3{margin:0}.support-form-subtitle{margin:0;color:#5c7090;font-size:.9rem}.support-form{display:grid;gap:.58rem}.support-form label{display:grid;gap:.28rem;color:#2f486c;font-size:.82rem;font-weight:700}.support-form input,.support-form select,.support-form textarea{width:100%;border:1px solid #c6d5ea;border-radius:10px;background:#fff;color:#16395f;font-size:.9rem;padding:.52rem .62rem;font-family:inherit}.support-form textarea{min-height:120px;resize:vertical;line-height:1.45}.support-form input:focus,.support-form select:focus,.support-form textarea:focus{outline:none;border-color:#37af87;box-shadow:0 0 0 3px #37af8726}.support-submit{justify-content:center}.support-submit:disabled{opacity:.7;cursor:wait}.support-submit-status{margin:0;padding:.6rem .72rem;border-radius:10px;font-size:.84rem;font-weight:700}.support-submit-status.is-success{border:1px solid #9adfc5;background:#edfdf6;color:#116141}.support-submit-status.is-error{border:1px solid #f1b7b8;background:#fff1f1;color:#972e33}.support-honeypot{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.legal-content h3{margin:.2rem 0 .1rem;font-size:1.02rem;color:#16375f}.legal-content p{margin:0;color:#5d708f;line-height:1.5}.legal-content ul{margin:0;padding-left:1.1rem;display:grid;gap:.3rem}.legal-content li{color:#5d708f;line-height:1.45}.pricing-grid{display:grid;gap:.72rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.pricing-card{border:1px solid #d8e5f6;border-radius:16px;background:linear-gradient(170deg,#fff,#f7fbff);padding:.9rem;display:grid;gap:.5rem}.pricing-plan{margin:0;color:#5272a0;text-transform:uppercase;font-size:.73rem;letter-spacing:.08em;font-weight:800}.pricing-cost{margin:0;display:flex;align-items:baseline;gap:.32rem}.pricing-cost strong{font-size:1.8rem;color:#14365f}.pricing-cost span{color:#607a9f}.pricing-highlight{margin:0;color:#466189;font-weight:600;font-size:.9rem}.pricing-card ul{margin:0;padding-left:1rem;display:grid;gap:.32rem;color:#5d708f;font-size:.89rem}.connector-logo{width:52px;height:52px;object-fit:contain}.public-footer{width:min(1220px,96vw);margin:0 auto 1rem;border:1px solid #d7e2f3;border-radius:15px;background:#f8fbff;padding:.95rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.7rem}.public-footer-wordmark{display:block;width:auto;height:24px;object-fit:contain;margin-bottom:.5rem}.public-footer p{margin:0;color:#60779c;font-size:.87rem}.public-footer-links{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.public-footer-links a{text-decoration:none;color:#31588a;border:1px solid #d4e0f3;border-radius:10px;padding:.38rem .6rem;font-size:.82rem;font-weight:600}.public-footer-links a:hover{background:#edf4ff}.shell{width:min(1540px,97vw);min-height:calc(100% - 2rem);margin:1rem auto;background:var(--surface);border-radius:24px;border:1px solid #a9b8cf;display:grid;grid-template-columns:280px 1fr;overflow:hidden}.sidebar{background:#f8fbff;border-right:1px solid var(--line);padding:1rem;display:grid;grid-template-rows:auto auto 1fr;gap:.8rem}.menu-scroll{min-height:0;overflow-y:auto;padding-right:.2rem}.brand{display:flex;align-items:center;gap:.65rem}.brand-wordmark{display:block;width:auto;height:28px;object-fit:contain}.brand p{margin:0;color:var(--muted);font-size:.83rem}.brand-meta{display:inline-flex;align-items:center;gap:.4rem}.brand-badge-logo{width:40px;height:40px;object-fit:contain;flex:0 0 auto}.env-badge{border-radius:999px;border:1px solid #d0dced;background:#f3f7ff;color:#486082;font-size:.68rem;font-weight:700;text-transform:uppercase;line-height:1;padding:.17rem .45rem}.env-staging{background:#fff8e9;border-color:#f0d297;color:#8c5a00}.env-development,.env-dev{background:#eef5ff;border-color:#cdddff;color:#335b9b}.env-test{background:#f4f1ff;border-color:#ddd0ff;color:#54408e}.env-production,.env-prod{background:#edf8f2;border-color:#cbead9;color:#0f6c45}.menu{display:grid;gap:.35rem;align-content:start}.menu-item{text-decoration:none;padding:.62rem .72rem;border-radius:10px;color:var(--ink);background:transparent;border:1px solid transparent;cursor:pointer;text-align:left}.menu-item.active{background:#e7eef9;border-color:#ccd8eb;font-weight:600}.menu-item.danger{border-color:#f0c8c8;color:#9f2e2e;background:#fff1f1}.sidebar-user-menu{padding-top:.1rem;position:relative;z-index:8}.sidebar-user-trigger{width:100%;border:1px solid #d5e0f0;border-radius:12px;background:#f8fbff;color:#14365e;display:flex;align-items:center;gap:.55rem;padding:.54rem;text-align:left}.sidebar-user-trigger:focus-visible{outline:2px solid #2e8df5;outline-offset:2px}.sidebar-user-avatar{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#25bc80,#0c7e55);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.86rem;font-weight:700;flex:0 0 auto}.sidebar-user-copy{display:grid;min-width:0;gap:.1rem}.sidebar-user-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-copy span{color:var(--muted);text-transform:capitalize;font-size:.82rem}.sidebar-user-chevron{margin-left:auto;color:#5f7898;font-size:.82rem;transition:transform .18s ease}.sidebar-user-chevron.open{transform:rotate(180deg)}.sidebar-user-popover{position:absolute;top:calc(100% + .55rem);bottom:auto;left:0;right:0;background:#fff;border:1px solid #d7e3f1;border-radius:12px;box-shadow:0 16px 30px #112c4e24;z-index:12;overflow:hidden}.sidebar-user-popover-header{padding:.62rem .72rem;border-bottom:1px solid #e5edf8;color:#4f6988;font-size:.84rem;background:#f8fbff}.sidebar-user-popover-item{width:100%;text-align:left;border:0;border-top:1px solid #eef3fb;background:#fff;color:#15375f;padding:.62rem .72rem;font-weight:500}.sidebar-user-popover-item:hover{background:#f6f9ff}.sidebar-user-popover-item:focus-visible{outline:2px solid #2e8df5;outline-offset:-2px}.sidebar-user-popover-item.danger{color:#b33a3a;background:#fff7f7}.sidebar-user-popover-item.danger:hover{background:#ffefef}.sidebar-user-backdrop{display:none}.profile-panel{display:grid;gap:.8rem}.profile-hero{display:flex;align-items:center;gap:.75rem;padding:.5rem .1rem}.profile-avatar{width:56px;height:56px;border-radius:14px;background:linear-gradient(145deg,#24bc80,#0c7a52);color:#fff;font-size:1.1rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.profile-hero-copy h3{margin:0;font-size:1.25rem}.profile-hero-copy p{margin-top:.2rem}.profile-tabs{display:inline-flex;gap:.35rem;flex-wrap:wrap}.profile-tabs button{border:1px solid #cddaea;background:#fff;color:#2f4c6f;border-radius:10px;padding:.45rem .75rem}.profile-tabs button:focus-visible{outline:2px solid #2e8df5;outline-offset:2px}.profile-tabs button.active{background:#e9f6ef;border-color:#8fddb5;color:#0e7b52;font-weight:600}.profile-placeholder{border:1px dashed #ccd9ea;border-radius:12px;padding:.8rem;background:#fbfdff}.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.profile-form-grid label{display:grid;gap:.3rem;color:#486282;font-size:.86rem}.profile-form-grid input,.profile-form-grid select,.profile-form-grid textarea{border:1px solid #cfdcec;border-radius:10px;background:#fff;color:#16395f;font-size:.95rem;padding:.52rem .6rem}.profile-form-bio{grid-column:1 / -1}.profile-form-bio textarea{min-height:116px}.profile-form-actions{display:flex;gap:.5rem;flex-wrap:wrap}.profile-security-form{border:1px solid #d7e3f2;border-radius:12px;background:#fbfdff;padding:.8rem;display:grid;gap:.65rem}.profile-security-form h3{margin:0;font-size:1rem}@media(max-width:980px){.profile-form-grid{grid-template-columns:1fr}}.content{padding:1rem;overflow:auto;min-width:0}.page{display:grid;gap:.85rem;min-width:0}.page-header{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.page-header h2{margin:0;font-size:1.55rem}.upload-btn{display:inline-flex;align-items:center;gap:.4rem;border:1px solid #0f8d5e;border-radius:10px;background:#19b87d;color:#fff;padding:.5rem .9rem;cursor:pointer;font-weight:600}.upload-btn input{display:none}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:.85rem;min-width:0}.hint{margin:0;color:var(--muted)}.loading-state,.reports-loading-panel{display:flex;align-items:center;gap:.9rem;border:1px solid #b8dfcd;border-radius:12px;padding:.72rem .8rem;border-color:#b8dfcd;background:linear-gradient(140deg,#f3fff9,#ecf8ff);box-shadow:0 10px 24px #143a2e14}.loading-state.loading-state-compact{padding:.58rem .65rem;gap:.7rem;box-shadow:none}.loading-spinner,.reports-loading-spinner{width:38px;height:38px;border-radius:999px;border:3px solid #d4e9df;border-top-color:#149765;animation:loading-spin .85s linear infinite;flex:0 0 auto}.loading-state.loading-state-compact .loading-spinner{width:30px;height:30px}.loading-copy,.reports-loading-copy{display:grid;gap:.2rem}.loading-copy strong,.reports-loading-copy strong{font-size:1.05rem;color:#0f6c45}.loading-copy p,.reports-loading-copy p{margin:0;color:#4b6385;font-size:.9rem}@keyframes loading-spin{to{transform:rotate(360deg)}}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.kpi-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:.75rem;display:grid;gap:.35rem}.kpi-card span{color:var(--muted);font-size:.86rem}.kpi-card strong{font-size:1.16rem}.positive{color:#0f8d5e}.negative{color:var(--danger)}.dual-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.8rem;min-width:0}.dual-grid>*{min-width:0}.symbol-list{margin:0;padding:0;list-style:none;display:grid;gap:.55rem}.symbol-list li{display:flex;justify-content:space-between;border:1px solid #edf1f7;border-radius:10px;padding:.58rem}.equity-chart{width:100%;height:270px;border-radius:12px;background:#fff;border:1px solid #e6edf8}.empty-chart{padding:2rem;color:var(--muted);text-align:center}.inline-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.45rem;margin-bottom:.7rem;align-items:center}.inline-controls input,.inline-controls select,.search-input,.journal-input{border:1px solid var(--line);border-radius:9px;padding:.52rem}.journal-input{min-height:140px;resize:vertical;margin-bottom:.6rem}.journal-new-note-form{display:flex;flex-direction:column;align-items:flex-start}.journal-new-note-form .journal-input{width:100%}.inline-controls button,.page-header button,.panel button{border:1px solid #0f8d5e;background:var(--accent);color:#fff;border-radius:9px;padding:.5rem .8rem;cursor:pointer}.inline-controls button{width:100%}button.danger{border:1px solid #cc3d3d;background:#d94b4b}.secret-output{margin:.25rem 0 .7rem;font-family:Consolas,Courier New,monospace;font-size:.84rem;background:#f4f8ff;border:1px solid #d8e3f4;padding:.55rem;border-radius:8px;word-break:break-all}.notes-list{display:grid;gap:.55rem}.note-card{border:1px solid #e6edf8;border-radius:10px;padding:.6rem;background:#fbfdff}.note-card header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.3rem}.table-wrap{max-width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.52rem;border-bottom:1px solid #edf2f7;white-space:nowrap;font-size:.9rem}th{color:var(--muted)}.row-selected{background:#ecf4ff}@media(max-width:1180px){.shell{grid-template-columns:84px 1fr}.brand-wordmark,.brand p,.brand-meta .env-badge,.menu-item,.sidebar-user{display:none}.brand{justify-content:center}}@media(max-width:900px){.login-page-pro{padding:1rem}.login-shell{grid-template-columns:1fr}.login-hero{padding:1.35rem}.public-header{grid-template-columns:1fr;justify-items:start;gap:.72rem}.public-nav,.public-actions{width:100%;justify-content:flex-start}.public-main,.public-footer{width:min(1220px,94vw)}.marketing-hero{grid-template-columns:1fr}.marketing-title{font-size:clamp(1.5rem,7.2vw,2.1rem)}.help-contact-layout{grid-template-columns:1fr}.shell{display:block;border-radius:0;margin:0;width:100%;min-height:100%}.sidebar{grid-template-rows:auto;border-right:0;border-bottom:1px solid var(--line)}.menu-scroll{overflow:visible;padding-right:0}.menu{grid-auto-flow:column;overflow-x:auto}.sidebar-user-backdrop{display:block;position:fixed;inset:0;border:0;background:#0d192b42;z-index:29}.sidebar-user-popover{position:fixed;top:auto;bottom:0;left:.55rem;right:.55rem;border-radius:16px 16px 0 0;z-index:30;max-height:72vh;overflow-y:auto}.menu-item,.menu-item.active{display:inline-block;white-space:nowrap}.kpi-grid,.dual-grid,.inline-controls{grid-template-columns:1fr}}.global-filter-bar{display:flex;justify-content:space-between;align-items:center;gap:.6rem;background:#f8fbff;border:1px solid var(--line);border-radius:12px;padding:.45rem .6rem;margin-bottom:.8rem}.preset-group{display:flex;gap:.35rem}.preset-group button{border:1px solid #d3ddea;border-radius:8px;background:#fff;color:var(--ink);padding:.35rem .6rem;cursor:pointer;height:auto}.preset-group button.active{border-color:#0f8d5e;background:#e8fff4;color:#0d7f55}.date-group{display:flex;align-items:center;gap:.4rem}.global-filter-actions{display:flex;align-items:center;gap:.45rem}.global-import-btn{padding:.42rem .8rem;white-space:nowrap}.date-group input{border:1px solid #d3ddea;border-radius:8px;padding:.35rem .45rem}@media(max-width:900px){.global-filter-bar{flex-direction:column;align-items:stretch}.preset-group,.date-group,.global-filter-actions{justify-content:center;flex-wrap:wrap}}.toolbar{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center;margin-bottom:.7rem}.toolbar input,.toolbar select{border:1px solid var(--line);border-radius:9px;padding:.52rem}.mode-toggle{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.mode-toggle button{border:0;background:#fff;color:var(--muted);padding:.48rem .85rem;cursor:pointer}.mode-toggle button.active{background:#e8f8f1;color:#0b3b2a;font-weight:700}.mode-toggle button:not(:last-child){border-right:1px solid var(--line)}.pager{margin-top:.65rem;padding-top:.55rem;border-top:1px solid #edf2f7;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.pager>div{display:flex;align-items:center;gap:.5rem}.pager button{border:1px solid #0f8d5e;background:var(--accent);color:#fff;border-radius:8px;padding:.4rem .7rem;cursor:pointer}.pager button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:900px){.pager{flex-direction:column;align-items:flex-start}}.modal-overlay{position:fixed;inset:0;background:#0a15288f;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:1000;padding:1rem}.import-modal{width:min(980px,96vw);background:#f8fbff;border:1px solid #cfd9ea;border-radius:18px;box-shadow:0 24px 52px #0b142347;padding:1rem;display:grid;gap:.9rem}.import-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}.import-modal-header h3{margin:0;font-size:1.3rem}.import-modal-header p{margin:.2rem 0 0;color:var(--muted)}.ghost-btn{border:1px solid #ced9ea;background:#fff;color:var(--ink);border-radius:9px;padding:.45rem .7rem;cursor:pointer}.platform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.import-step-shell{border:1px solid #d8e2f2;background:#fff;border-radius:12px;padding:.75rem;display:grid;gap:.65rem}.import-step-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.7rem}.import-step-header h4{margin:0;font-size:1.02rem}.import-step-header p{margin:.22rem 0 0;color:var(--muted);font-size:.88rem}.import-step-title-block{display:grid;gap:.35rem}.import-platform-chip{display:inline-flex;align-items:center;gap:.5rem;border:1px solid #d8e2f2;background:#f6faff;border-radius:999px;padding:.25rem .55rem;width:fit-content}.import-platform-chip strong{font-size:.88rem;color:#1f3d63;font-weight:700}.import-back-btn{flex:0 0 auto}.platform-card{background:#fff;border:1px solid #d7dfeb;border-radius:14px;padding:.9rem;display:grid;gap:.42rem;align-content:start;justify-items:center;text-align:center}.platform-card strong{font-size:1rem;justify-self:center}.platform-card span{color:var(--muted);font-size:.88rem;justify-self:center}.platform-card.disabled{opacity:.68}.platform-logo{width:72px;height:72px;object-fit:contain;display:block;justify-self:center}.platform-logo-small{width:26px;height:26px;object-fit:contain;display:block}.platform-icon.fallback{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#1db57a,#0c7650);color:#fff;font-size:.82rem;font-weight:700;justify-self:center}.platform-icon-small{width:26px;height:26px;font-size:.62rem}.platform-card.disabled .platform-icon.fallback{background:linear-gradient(145deg,#2f74d0,#173d79)}.platform-select-btn,.platform-upload-btn,.platform-soon-btn{margin-top:.15rem;border:1px solid #0f8d5e;border-radius:9px;background:var(--accent);color:#fff;padding:.45rem .72rem;font-weight:600;cursor:pointer;width:fit-content}.platform-upload-btn input{display:none}.platform-select-btn{background:#fff;color:#0f8d5e;justify-self:center}.platform-select-btn:hover{background:#e8fff4}.import-instructions{border:1px solid #e2eaf6;border-radius:10px;background:#f9fcff;padding:.7rem .75rem;display:grid;gap:.52rem}.import-guide-figure{margin:0}.import-guide-figure img{display:block;width:100%;max-height:230px;object-fit:contain;border:1px solid #dbe5f4;border-radius:10px;background:#fff}.import-instructions ol{margin:0;padding-left:1.1rem;display:grid;gap:.3rem}.import-instructions li{color:#2a3f62;font-size:.88rem}.import-instructions p{margin:0;color:#5d7397;font-size:.84rem}.import-guide-links{border-top:1px dashed #d7e2f2;padding-top:.45rem;display:grid;gap:.35rem}.import-guide-links strong{font-size:.82rem;color:#375478}.import-guide-links>div{display:flex;flex-wrap:wrap;gap:.38rem}.import-guide-links a{text-decoration:none;border:1px solid #cddcf0;border-radius:999px;padding:.24rem .56rem;font-size:.78rem;color:#2e5384;background:#fff}.import-guide-links a:hover{background:#edf4ff}.import-upload-row{display:flex;align-items:center;gap:.5rem}.platform-soon-btn{border-color:#8ca0bf;background:#9eb0cb;cursor:not-allowed;justify-self:center}@media(max-width:780px){.platform-grid{grid-template-columns:1fr}.import-modal-header,.import-step-header{flex-direction:column;align-items:stretch}}.import-detection-panel{border:1px solid #d8e2f2;background:#fff;border-radius:12px;padding:.8rem;display:grid;gap:.55rem}.import-detection-panel h4{margin:0}.import-detection-panel p{margin:0;color:var(--ink)}.import-adapter{color:var(--muted);margin-left:.35rem}.import-detection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.import-detection-grid>div{border:1px solid #e3ebf7;border-radius:10px;padding:.55rem;display:grid;gap:.2rem}.import-detection-grid span{color:var(--muted);font-size:.82rem}.confirm-import-btn{border:1px solid #0f8d5e;background:#19b87d;color:#fff;border-radius:9px;padding:.5rem .8rem;font-weight:600;cursor:pointer;width:fit-content}.import-error{margin:0;color:#a32c2c;background:#ffecec;border:1px solid #f4bcbc;border-radius:9px;padding:.5rem .6rem}.import-feedback{border-radius:12px;border:1px solid;padding:.65rem .75rem;display:grid;gap:.2rem}.import-feedback.success{background:#e8fff4;border-color:#a9e5ca;color:#0d6b49}.import-feedback.error{background:#fff0f0;border-color:#f2c1c1;color:#8f2525}.import-feedback strong{font-size:.92rem}.import-feedback small{color:inherit;opacity:.9}.quality-badge{display:inline-flex;align-items:center;border:1px solid;border-radius:999px;padding:.16rem .5rem;font-size:.74rem;font-weight:700}.quality-good{background:#e8fff4;border-color:#a9e5ca;color:#0d6b49}.quality-warn{background:#fff8e9;border-color:#f0d297;color:#8c5a00}.quality-bad{background:#fff0f0;border-color:#f2c1c1;color:#8f2525}.quality-unknown{background:#f4f7fd;border-color:#d8e2f2;color:#5e6f8a}@media(max-width:780px){.import-detection-grid{grid-template-columns:1fr}}.import-quality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-bottom:.6rem}.import-quality-grid>div{border:1px solid #e3ebf7;border-radius:10px;padding:.5rem;display:grid;gap:.2rem}.import-quality-grid span{color:var(--muted);font-size:.82rem}@media(max-width:900px){.import-quality-grid{grid-template-columns:1fr}}.bulk-actions-accordion{border:1px solid #d8e3f3;border-radius:12px;background:#fbfdff;margin-bottom:.7rem}.bulk-actions-toggle{width:100%;border:none!important;background:transparent!important;color:inherit!important;display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.7rem .8rem!important;cursor:pointer}.bulk-actions-toggle-copy{display:grid;gap:.1rem;text-align:left}.bulk-actions-toggle-copy strong{font-size:1rem;color:#17375f}.bulk-actions-chevron{color:#4f6d92;font-size:1.1rem;line-height:1;transition:transform .15s ease}.bulk-actions-chevron.expanded{transform:rotate(180deg)}.bulk-actions-body{border-top:1px solid #e3ebf7;padding:.65rem .8rem .8rem;display:grid;gap:.5rem}.bulk-actions-body label{font-size:.84rem;color:var(--muted)}.bulk-actions-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.7rem}.bulk-actions-left,.bulk-actions-right{display:grid;gap:.45rem}.bulk-note-input{min-height:128px;margin-bottom:0}.bulk-actions-buttons{display:flex;flex-wrap:wrap;gap:.45rem}.bulk-actions-buttons button{flex:1;min-width:180px}.trade-actions-col{text-align:right}.trade-icon-actions{display:inline-flex;gap:.36rem;justify-content:flex-end}.icon-btn{border:1px solid #c9d8ed!important;background:#fff!important;color:#173d68!important;border-radius:9px!important;width:33px;height:33px;padding:.2rem!important;display:inline-flex;align-items:center;justify-content:center}.icon-btn svg{width:16px;height:16px}.icon-btn:hover:not(:disabled){background:#eef5ff!important}.icon-btn.icon-btn-danger{border-color:#f4c2c2!important;color:#c43f3f!important;background:#fff6f6!important}.icon-btn.icon-btn-danger:hover:not(:disabled){background:#ffeaea!important}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.table-wrap tbody tr{cursor:pointer}@media(max-width:1200px){.bulk-actions-grid{grid-template-columns:1fr}.bulk-actions-buttons button{min-width:0;width:100%}}.dist-bars{display:grid;gap:.45rem}.dist-row{display:grid;grid-template-columns:1.2fr 1fr auto;gap:.45rem;align-items:center}.dist-row span{color:var(--muted);font-size:.82rem}.dist-row div{height:10px;border-radius:999px;background:#e7edf8;overflow:hidden}.dist-row i{display:block;height:100%;background:linear-gradient(90deg,#0f8d5e,#19b87d)}.dist-row i.bar-negative{background:linear-gradient(90deg,#b53a3a,#de6161)}.heatmap-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:.3rem}.heat-cell{min-height:34px;border-radius:7px;border:1px solid #dce5f3;display:grid;place-items:center;text-align:center;padding:.2rem;font-size:.72rem;font-weight:600}@media(max-width:900px){.heatmap-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.weekday-heat-wrap{display:grid;gap:.3rem;overflow-x:auto}.weekday-heat-head,.weekday-heat-row{display:grid;grid-template-columns:70px repeat(10,minmax(0,1fr));gap:.3rem;align-items:center}.weekday-heat-head{color:var(--muted);font-size:.75rem}.weekday-heat-row strong{font-size:.78rem;color:var(--ink)}@media(max-width:900px){.weekday-heat-head,.weekday-heat-row{grid-template-columns:62px repeat(10,minmax(44px,1fr))}}.setup-filter-bar{display:flex;align-items:center;gap:.6rem;max-width:420px}.setup-filter-bar label{color:var(--muted);font-size:.9rem}.setup-filter-bar select{border:1px solid var(--line);border-radius:9px;padding:.45rem .55rem}.symbol-heat-table-wrap{overflow-x:auto}.symbol-heat-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:.25rem}.symbol-heat-table thead th{color:var(--muted);font-size:.75rem;font-weight:500;text-align:center;white-space:nowrap}.symbol-heat-table tbody th{font-size:.8rem;text-align:left;white-space:nowrap}.symbol-heat-table td{padding:0}.symbol-heat-wrap{display:grid;gap:.35rem;overflow-x:auto}.symbol-heat-head,.symbol-heat-row{display:grid;grid-template-columns:110px repeat(12,minmax(50px,1fr));gap:.25rem;align-items:center}.symbol-heat-head{color:var(--muted);font-size:.75rem}.symbol-heat-row strong{font-size:.8rem}.symbol-heat-cell{min-height:28px;border-radius:6px;border:1px solid #dce5f3;display:grid;place-items:center;font-size:.67rem;font-weight:600}@media(max-width:900px){.symbol-heat-head,.symbol-heat-row{grid-template-columns:90px repeat(12,minmax(42px,1fr))}}.calendar-month-shell{background:#fff;border:1px solid #d8e3f3;border-radius:16px;padding:.95rem;color:#1c2a44;display:grid;gap:.7rem}.calendar-month-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}.calendar-month-top h3{margin:0;font-size:1.35rem;color:#1c2a44}.calendar-month-top p{margin:.2rem 0 0;color:#6f7f9b}.calendar-month-summary{display:grid;gap:.18rem;text-align:right}.calendar-month-summary span{color:#6f7f9b;font-size:.84rem}.calendar-month-summary strong{font-size:1.05rem}.calendar-nav-row{display:flex;gap:.5rem}.calendar-nav-row button{border:1px solid #cdd9eb;background:#f5f8ff;color:#2a3a58;border-radius:8px;padding:.4rem .68rem;cursor:pointer}.calendar-nav-row button:hover{background:#ecf2fd}.calendar-grid-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.calendar-grid-head span{color:#6f7f9b;font-size:.78rem;font-weight:600;padding-left:.2rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.calendar-cell{border:1px solid #d8e3f3;border-radius:10px;min-height:94px;background:#fbfdff;padding:.45rem;display:grid;align-content:start;gap:.25rem;cursor:pointer;transition:background .12s ease,border-color .12s ease}.calendar-cell:hover{background:#f4f8ff;border-color:#c8d8f0}.calendar-cell header{display:flex;justify-content:space-between}.calendar-cell strong{font-size:.95rem;color:#21324d}.calendar-cell.muted{opacity:.5}.calendar-cell.today{border-color:#7fb6ff;box-shadow:inset 0 0 0 1px #7fb6ff5c}.calendar-pnl{font-weight:700;font-size:.93rem}.calendar-cell small{color:#6f7f9b;font-size:.74rem}.calendar-grid-head-8{grid-template-columns:repeat(8,minmax(0,1fr))}.calendar-week-grid{display:grid;gap:.35rem}.calendar-week-row{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.35rem}.calendar-week-total{border:1px solid #d8e3f3;border-radius:10px;min-height:94px;background:#f6f9ff;padding:.45rem;display:grid;align-content:start;gap:.22rem}.calendar-week-total span{color:#6f7f9b;font-size:.76rem}.calendar-week-total small{color:#6f7f9b;font-size:.74rem}.calendar-mini-strip{margin-top:.8rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.calendar-mini-card{background:#fff;border:1px solid #d8e3f3;border-radius:12px;padding:.65rem;display:grid;gap:.45rem}.calendar-mini-card h4{margin:0;color:#1f2f4a;font-size:.9rem;font-weight:700}.calendar-mini-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.18rem}.calendar-mini-head span{text-align:center;font-size:.65rem;color:#7a8aa7;font-weight:600}.calendar-mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.18rem}.calendar-mini-cell{min-height:24px;border-radius:6px;border:1px solid #e2ebf8;background:#f7faff;color:#5f708e;font-size:.68rem;font-weight:600;display:grid;place-items:center}.calendar-mini-cell.positive{background:#19b87d29;color:#118a5e;border-color:#19b87d4d}.calendar-mini-cell.negative{background:#d94b4b29;color:#ba3a3a;border-color:#d94b4b47}.calendar-mini-cell.flat{background:#f7faff}.calendar-mini-cell.muted{opacity:.35}.calendar-modal-overlay{position:fixed;inset:0;z-index:1200;background:#0a1423a6;display:grid;place-items:center;padding:1rem}.calendar-modal{width:min(1040px,96vw);max-height:86vh;overflow:auto;background:#f8fbff;border:1px solid #cad6ea;border-radius:14px;padding:.85rem;display:grid;gap:.65rem}.calendar-modal-header{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.calendar-modal-header h3{margin:0}@media(max-width:1100px){.calendar-mini-strip{grid-template-columns:1fr}}@media(max-width:900px){.calendar-grid-head-8,.calendar-week-row{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-week-total,.calendar-cell{min-height:80px}}.line-chart-wrap{display:grid;grid-template-columns:86px 1fr;gap:.6rem;align-items:stretch}.line-chart-y-axis{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;color:#8090ab;font-size:.75rem;padding:.4rem 0}.line-chart-plot-area{display:grid;gap:.36rem}.line-chart-x-axis{display:flex;justify-content:space-between;color:#8a98b1;font-size:.73rem;padding:0 .18rem}.equity-grid-line{stroke:#edf2fa;stroke-width:.34}.equity-zero-line{stroke:#d7dfec;stroke-width:.34;stroke-dasharray:1.15 1.6}.equity-area-fill{pointer-events:none;opacity:.94}.equity-main-line{fill:none;stroke:#19b87d;stroke-width:.62;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;shape-rendering:geometricPrecision}.chart-legend{display:flex;gap:.8rem;color:#6b7b95;font-size:.77rem}.chart-legend span{display:inline-flex;align-items:center;gap:.28rem}.legend-dot{width:9px;height:9px;border-radius:999px;display:inline-block}.legend-dot.equity{background:#19b87d}.legend-dot.drawdown{background:#d94b4b}@media(max-width:900px){.line-chart-wrap{grid-template-columns:70px 1fr}.line-chart-y-axis,.line-chart-x-axis{font-size:.68rem}}.equity-last-point{fill:#19b87d;stroke:#fff;stroke-width:.35}.line-chart-summary{display:flex;justify-content:flex-end;align-items:center;gap:.45rem;color:#7f8ea9;font-size:.76rem;padding:0 .18rem}.line-chart-summary strong{font-size:.82rem}.toast-stack{position:fixed;top:1rem;right:1rem;z-index:2000;display:grid;gap:.55rem;width:min(360px,calc(100vw - 2rem))}.toast{position:relative;border-radius:12px;border:1px solid;padding:.62rem 2rem .62rem .68rem;background:#fff;box-shadow:0 10px 24px #0b14232e}.toast strong{display:block;font-size:.9rem}.toast p{margin:.2rem 0 0;font-size:.82rem}.toast button{position:absolute;top:.38rem;right:.45rem;border:0;background:transparent;color:inherit;cursor:pointer;padding:.1rem;font-size:.8rem;font-weight:700}.toast-success{border-color:#9fddc2;color:#0d7b53;background:#ebfff5}.toast-error{border-color:#efb4b4;color:#9c2f2f;background:#fff1f1}.toast-info{border-color:#c9d9f3;color:#27436d;background:#f0f6ff}.trade-journal-panel label input{margin-right:.4rem}.trade-journal-panel hr{width:100%;border:0;border-top:1px solid #e0e8f4;margin:.3rem 0}@media(max-width:900px){.toast-stack{right:.6rem;left:.6rem;width:auto}}.line-chart-plot-area{position:relative}.equity-hover-line{stroke:#98aacc;stroke-width:.28;stroke-dasharray:1 1.2}.equity-hover-dot{fill:#19b87d;stroke:#fff;stroke-width:.34}.chart-tooltip{position:absolute;transform:translate(-50%,-110%);background:#122238f5;color:#f4f8ff;border:1px solid rgba(147,171,210,.42);border-radius:8px;padding:.4rem .5rem;display:grid;gap:.14rem;font-size:.72rem;min-width:150px;pointer-events:none;box-shadow:0 8px 20px #0a152852;z-index:3}.chart-tooltip strong{font-size:.74rem}.chart-tooltip span{white-space:nowrap}.admin-table th,.admin-table td{white-space:normal}.admin-audit-table{table-layout:fixed}.admin-audit-table th,.admin-audit-table td{overflow-wrap:anywhere;word-break:break-word;font-size:.84rem}.admin-users-table-wrap{max-height:520px;overflow-y:auto}.admin-users-table th,.admin-users-table td{padding:.36rem .48rem;font-size:.85rem;vertical-align:middle}.admin-users-table input,.admin-users-table select{width:100%;min-width:0;padding:.35rem .42rem}.admin-user-actions{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:nowrap}.admin-user-actions button{min-width:62px;padding:.34rem .55rem;border-radius:8px;font-size:.82rem}.admin-page .dual-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media(max-width:1500px){.admin-page .dual-grid{grid-template-columns:minmax(0,1fr)}}.trade-detail-panel{display:grid;gap:.75rem}.trade-detail-nav-row{display:flex;justify-content:space-between;align-items:center;gap:.65rem}.trade-detail-nav-left{min-height:24px;display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.trade-detail-share-inline{display:inline-flex;align-items:center;gap:.45rem}.trade-detail-share-inline button{white-space:nowrap}.trade-detail-share-image-btn{display:inline-flex!important;align-items:center;gap:.36rem}.trade-detail-share-image-btn svg{width:14px;height:14px}.trade-detail-views-chip{display:inline-flex;align-items:center;gap:.32rem;border:1px solid #d8e3f3;background:#f8fbff;color:#17375f;border-radius:999px;padding:.26rem .55rem;font-size:.82rem}.trade-detail-views-chip svg{width:14px;height:14px;color:#4f6d92}.trade-detail-nav-buttons{display:inline-flex;gap:.45rem}.trade-detail-nav-btn{border:1px solid #c9d8ed!important;background:#fff!important;color:#173d68!important;border-radius:10px!important;width:34px;height:34px;padding:.2rem!important;display:inline-flex;align-items:center;justify-content:center}.trade-detail-nav-btn svg{width:16px;height:16px}.trade-detail-nav-btn:disabled{opacity:.45;cursor:not-allowed}.trade-detail-journal-accordion{margin-bottom:.15rem}.trade-detail-note-input{min-height:124px}.trade-detail-executions-label{margin:0 0 .48rem;font-size:.98rem;color:#102f54}.trade-detail-toolbar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:end}.trade-detail-toolbar label{display:grid;gap:.25rem;color:var(--muted);font-size:.86rem}.trade-detail-toolbar input{width:110px;border:1px solid var(--line);border-radius:9px;padding:.4rem .5rem}.trade-detail-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.45rem .9rem;font-size:.92rem}.trade-detail-chart{width:100%;min-height:360px;border:1px solid #e2e9f4;border-radius:12px;overflow:hidden;background:#fff;position:relative}.trade-execution-layer{position:absolute;inset:0;pointer-events:none;z-index:3}.trade-execution-marker{position:absolute;width:16px;height:16px;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer;padding:0}.trade-execution-marker svg{width:16px;height:16px;display:block}.trade-execution-marker.buy svg{filter:drop-shadow(0 0 .6px rgba(46,214,123,.75))}.trade-execution-marker.sell svg{filter:drop-shadow(0 0 .6px rgba(255,92,115,.75))}.trade-execution-marker:focus-visible{outline:2px solid #2e8df5;outline-offset:1px}.trade-execution-tooltip{position:absolute;width:230px;border-radius:10px;border:1px solid #dbe5f2;background:#fff;box-shadow:0 12px 24px #0f223f1f;padding:.55rem .65rem;z-index:5;pointer-events:none}.trade-execution-tooltip h4{margin:0 0 .4rem;font-size:.88rem}.trade-execution-tooltip-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.24rem .55rem}.trade-execution-tooltip-grid span{color:var(--muted);font-size:.8rem}.trade-execution-tooltip-grid strong{font-size:.82rem;text-align:right}.trade-share-panel{display:grid;gap:.75rem;margin-top:.85rem}.trade-share-header{display:grid;gap:.2rem}.trade-share-header h3{margin:0}.trade-share-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem}.trade-share-form-grid label,.trade-share-flags label{display:grid;gap:.3rem;color:var(--muted);font-size:.86rem}.trade-share-form-grid input{border:1px solid var(--line);border-radius:9px;padding:.48rem .58rem}.trade-share-flags{display:flex;flex-wrap:wrap;gap:.9rem}.trade-share-checkbox{display:inline-flex!important;align-items:center;gap:.45rem;color:var(--text)!important}.trade-share-checkbox input{width:15px;height:15px}.trade-share-actions{display:flex;flex-wrap:wrap;gap:.55rem}.trade-share-latest{display:grid;gap:.25rem}.trade-share-latest code{display:block;border:1px solid var(--line);border-radius:8px;padding:.4rem .56rem;background:#f8fbff;color:#153154;word-break:break-all}.trade-share-status{display:inline-flex;align-items:center;justify-content:center;min-width:84px;padding:.14rem .45rem;border-radius:999px;text-transform:capitalize;font-size:.76rem;font-weight:700}.trade-share-status.status-active{color:#106141;background:#def6eb;border:1px solid #a5dcc3}.trade-share-status.status-expired,.trade-share-status.status-exhausted{color:#6d4b06;background:#fff6d8;border:1px solid #f0d8a0}.trade-share-status.status-revoked{color:#7f1c1c;background:#ffdede;border:1px solid #e9b2b2}.trade-share-table-actions{display:flex;flex-wrap:wrap;gap:.4rem}.trade-share-note{border:1px solid var(--line);border-radius:11px;padding:.7rem .8rem;background:#f8fbff}.trade-share-note h4{margin:0 0 .4rem}.trade-share-note p{margin:0;white-space:pre-wrap}.notice{border:1px solid var(--line);border-radius:10px;padding:.65rem .75rem;background:#f6fbff;color:#1b3558}.notice-error{border-color:#e8b9b9;background:#fff0f0;color:#992c2c}.weekday-heat-table-wrap{overflow-x:auto}.weekday-heat-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:.25rem}.weekday-heat-table thead th{color:var(--muted);font-size:.75rem;font-weight:500;text-align:center;white-space:nowrap}.weekday-heat-table tbody th{font-size:.8rem;text-align:left;white-space:nowrap}.weekday-heat-table td{padding:0}.ai-coach-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.ai-coach-toolbar label{color:var(--muted);font-size:.85rem}.ai-coach-toolbar select,.ai-coach-toolbar button{border:1px solid var(--line);border-radius:10px;padding:.45rem .7rem;background:#fff}.ai-coach-toolbar .btn-cta{background:var(--accent);border-color:var(--accent);color:#fff}.ai-coach-fallback-note{margin:.75rem 0 0;color:#8f2525;background:#fff0f0;border:1px solid #f2c1c1;border-radius:10px;padding:.55rem .7rem;font-size:.9rem}.ai-coach-comparison-block{margin-top:.9rem;display:grid;gap:.75rem}.ai-coach-comparison-copy h4{margin:0 0 .2rem;font-size:.96rem}.ai-coach-comparison-copy p{margin:0;color:var(--muted);font-size:.92rem}.ai-coach-comparison-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.ai-coach-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.ai-coach-card{border:1px solid var(--line);border-radius:12px;padding:.75rem;display:grid;gap:.55rem;background:#fbfdff}.ai-coach-card h4{margin:0;font-size:.98rem}.ai-coach-card-header{display:flex;justify-content:space-between;align-items:start;gap:.5rem}.ai-coach-badges{display:flex;gap:.35rem;flex-wrap:wrap}.badge{border-radius:999px;padding:.2rem .5rem;font-size:.73rem;border:1px solid var(--line);background:#edf3ff}.badge-high{background:#e7f8ef;border-color:#bde9d0;color:#0f6c45}.badge-medium{background:#eef4ff;border-color:#cdddff;color:#335b9b}.badge-low{background:#fff2f2;border-color:#ffcaca;color:#a43b3b}.ai-coach-score-row{display:flex;flex-wrap:wrap;gap:.35rem}.badge-score{background:#f5f8ff;border-color:#dbe7ff;color:#2f4d7a}.badge-trend-improving,.badge-stability-stable{background:#e7f8ef;border-color:#bde9d0;color:#0f6c45}.badge-trend-stable,.badge-stability-watch,.badge-trend-unavailable,.badge-trend-insufficient_history{background:#eef4ff;border-color:#d5e1fb;color:#335b9b}.badge-trend-worsening,.badge-stability-fragile{background:#fff2f2;border-color:#ffcaca;color:#a43b3b}.badge-trend-new{background:#fff7ea;border-color:#f6d6a2;color:#94611b}.ai-coach-compare-line{margin:0;color:#52627c;font-size:.88rem}.trade-detail-execution-grid{margin:.85rem 0 .35rem}.ai-coach-list{margin:0;padding-left:1.1rem;color:var(--muted);font-size:.9rem}.ai-coach-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.25rem}.ai-coach-card-footer button{border:1px solid var(--line);border-radius:9px;background:#fff;padding:.38rem .65rem}.ai-coach-card-footer button:disabled{opacity:.45;cursor:not-allowed}.ai-coach-toolbar button:not(.btn-cta),.ai-coach-card-footer button,.ai-coach-feedback-controls button{color:var(--ink)!important;background:#fff!important;border:1px solid var(--line)!important}.ai-coach-toolbar button:disabled,.ai-coach-card-footer button:disabled,.ai-coach-feedback-controls button:disabled{color:var(--muted)!important;background:#f7f9fd!important;opacity:.7}.ai-coach-secondary-btn,.ai-coach-open-btn{color:var(--ink)!important;background:#fff!important;border:1px solid var(--line)!important}.ai-coach-secondary-btn:disabled,.ai-coach-open-btn:disabled{color:var(--muted)!important;background:#f7f9fd!important;opacity:.7}.ai-coach-feedback-panel{border-top:1px dashed #d9e3f4;margin-top:.35rem;padding-top:.5rem;display:grid;gap:.45rem}.ai-coach-feedback-summary{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;color:var(--muted);font-size:.8rem}.ai-coach-feedback-summary strong{color:var(--ink);font-size:.82rem}.ai-coach-feedback-controls{display:flex;flex-wrap:wrap;gap:.4rem}.ai-coach-feedback-btn,.ai-coach-feedback-clear{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:.3rem .58rem;font-size:.8rem}.ai-coach-feedback-up.is-active{border-color:#52b788!important;background:#e8f8ef!important;color:#0f6c45!important}.ai-coach-feedback-down.is-active{border-color:#f3aaaa!important;background:#fff2f2!important;color:#a43b3b!important}.ai-coach-feedback-reason{border:1px solid var(--line);border-radius:8px;padding:.42rem .55rem;width:100%;font-size:.86rem}.ai-coach-feedback-kpis{margin-bottom:.75rem}.ai-coach-feedback-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.ai-coach-feedback-list{border:1px solid var(--line);border-radius:12px;padding:.7rem;background:#fbfdff}.ai-coach-feedback-list h4{margin:0 0 .35rem}.admin-backfill-panel{margin-bottom:.8rem}.backfill-result-grid{margin-top:.55rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.45rem}.backfill-result-grid>div{border:1px solid #dbe5f4;border-radius:10px;padding:.5rem;display:grid;gap:.22rem;background:#f8fbff}.backfill-result-grid span{color:var(--muted);font-size:.78rem}.backfill-result-grid strong{font-size:.92rem}.backfill-history-title{margin:.8rem 0 .35rem;font-size:.96rem}.backfill-history-wrap th,.backfill-history-wrap td{font-size:.82rem;white-space:nowrap}.backfill-history-wrap .hint{text-align:center;white-space:normal}
