:root{color-scheme:dark;--bg:#0a0d10;--bg2:#0e1318;--panel:#141a20;--panel2:#19212a;--line:#232d38;--txt:#e9eef4;--muted:#8a98a8;--accent:#c4f135;--accent-dim:#9fc52a;--accent-ink:#c4f135;--danger:#ff6b3d}html[data-theme=light]{color-scheme:light;--bg:#eef1f5;--bg2:#f4f6f9;--panel:#ffffff;--panel2:#ffffff;--line:#e2e7ee;--txt:#1b2330;--muted:#5e6b7a;--accent:#aed217;--accent-dim:#8fb50f;--accent-ink:#5f8500;--danger:#d9480f}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{background:radial-gradient(900px 500px at 80% -10%,rgba(196,241,53,.06),transparent 60%),radial-gradient(700px 400px at 0 110%,rgba(196,241,53,.04),transparent 60%),var(--bg);color:var(--txt);font-family:Segoe UI,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}html[data-theme=light] body{background:var(--bg)}:root{--ink:#07090b;--ink-2:#0a0d11;--lime:#c4f135;--hair:rgba(255,255,255,0.07);--dim:#7d8894}.login-shell,.login-wrap{font-family:Avenir,"Avenir Next","Avenir Next LT Pro",var(--font-avenir-alt),"Segoe UI",system-ui,sans-serif}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) clamp(340px,27vw,470px);background:var(--ink);color:#e9eef4;overflow:hidden}.login-hero{position:relative;overflow:hidden;padding:clamp(28px,4vw,56px);isolation:isolate}.hero-grid{inset:0;background-image:linear-gradient(var(--hair) 1px,transparent 1px),linear-gradient(90deg,var(--hair) 1px,transparent 1px);background-size:68px 68px;-webkit-mask-image:radial-gradient(120% 90% at 12% 8%,#000 0,transparent 68%);mask-image:radial-gradient(120% 90% at 12% 8%,#000 0,transparent 68%);opacity:.75}.hero-glow,.hero-grid{position:absolute;z-index:-2}.hero-glow{right:4%;bottom:6%;width:46%;height:44%;background:radial-gradient(closest-side,rgba(196,241,53,.15),transparent 78%);filter:blur(46px);pointer-events:none}.hero-logo{height:30px;width:auto;display:block;opacity:0;animation:heroIn .7s cubic-bezier(.22,1,.36,1) .1s forwards}.hero-copy{margin-top:clamp(46px,9vh,96px);max-width:max-content}.hero-copy h2{font-size:clamp(30px,3.5vw,54px);line-height:1.06;letter-spacing:-.035em;font-weight:800;margin:0}.hero-copy h2 span{display:block;white-space:nowrap;opacity:0;animation:heroIn .75s cubic-bezier(.22,1,.36,1) forwards}.hero-copy .l1{animation-delay:.18s}.hero-copy .l2{animation-delay:.28s}.hero-copy .l3{animation-delay:.3s;color:var(--lime)}.hero-kicker{margin:18px 0 0;font-size:13.5px;color:var(--dim);letter-spacing:.2px;opacity:0;animation:heroIn .7s ease .5s forwards}.hero-chart{position:absolute;left:0;bottom:0;width:100%;height:64%;z-index:-1}.hero-chart .line-lime{fill:none;stroke:var(--lime);stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.1s cubic-bezier(.45,0,.2,1) .35s forwards;vector-effect:non-scaling-stroke}.hero-chart .line-gray{fill:none;stroke:rgba(190,200,210,.34);stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.1s cubic-bezier(.45,0,.2,1) .5s forwards;vector-effect:non-scaling-stroke}.hero-chart .area-lime{opacity:0;animation:fadeIn 1.1s ease 1.5s forwards}.hero-dot{right:0;bottom:40.2%;width:14px;height:14px;border-radius:50%;background:var(--lime);transform:translate(50%,50%);box-shadow:0 0 0 5px rgba(196,241,53,.18),0 0 22px 6px rgba(196,241,53,.45);animation:fadeIn .5s ease 2.3s forwards,dotPulse 2.6s ease-in-out 2.8s infinite;z-index:1}.hero-dot,.quote{position:absolute;opacity:0}.quote{min-width:168px;padding:11px 14px 10px;border-radius:12px;background:rgba(17,21,26,.82);border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);box-shadow:0 18px 44px rgba(0,0,0,.55);animation:quoteIn .8s cubic-bezier(.22,1,.36,1) forwards,floaty 7s ease-in-out 2.4s infinite}.q-name{font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--dim);margin-bottom:5px;white-space:nowrap}.q-row{display:flex;align-items:baseline;gap:5px}.q-val{font-size:21px;font-weight:700;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.q-unit{font-size:10px;color:var(--dim)}.q-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:6px}.q-down,.q-up{font-size:10.5px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.q-up{color:var(--lime)}.q-down{color:#ff6b3d}.q-spark{width:56px;height:18px;overflow:visible}.q-spark polyline{fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.q-spark .sp-up{stroke:var(--lime)}.q-spark .sp-down{stroke:#ff6b3d}.hero-note{position:absolute;left:clamp(28px,4vw,56px);bottom:22px;font-size:10.5px;color:rgba(125,136,148,.75);opacity:0;animation:fadeIn .8s ease 1.8s forwards}.login-panel{display:grid;place-items:center;padding:40px 34px;background:var(--ink-2);border-left:1px solid var(--hair)}.login-form{width:100%;max-width:322px;opacity:0;animation:heroIn .7s cubic-bezier(.22,1,.36,1) .25s forwards}.form-logo{display:none;height:30px;width:auto;margin-bottom:24px}.login-form h1{font-size:21px;font-weight:700;letter-spacing:-.02em;margin:0}.login-form p.sub{color:var(--dim);font-size:13px;margin:7px 0 30px}.field{margin-bottom:16px}.field label{display:block;font-size:12.5px;color:var(--dim);margin-bottom:7px}.field input{width:100%;background:#10141a;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#e9eef4;font-size:14px;padding:12px 13px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.field input:hover{border-color:rgba(255,255,255,.18)}.field input:focus{border-color:var(--lime);box-shadow:0 0 0 3px rgba(196,241,53,.13)}.btn{width:100%;margin-top:10px;background:var(--lime);color:#0a0d10;font-weight:700;font-size:14.5px;border:none;border-radius:10px;padding:13px;cursor:pointer;font-family:inherit;transition:filter .15s,transform .06s,box-shadow .2s}.btn:hover{filter:brightness(1.07);box-shadow:0 10px 28px rgba(196,241,53,.22)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:default;box-shadow:none}.err{background:rgba(255,107,61,.12);border:1px solid rgba(255,107,61,.4);color:#ffb39a;font-size:12.5px;border-radius:9px;padding:10px 12px;margin-bottom:16px}.login-foot{margin-top:20px}.login-foot a{color:var(--lime);font-size:12.5px;font-weight:600;text-decoration:none}.login-foot a:hover{text-decoration:underline}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--ink);background-image:radial-gradient(80% 55% at 50% 0,rgba(196,241,53,.07),transparent 70%);color:#e9eef4}.login-card{width:100%;max-width:380px;background:var(--ink-2);border:1px solid var(--hair);border-radius:16px;padding:34px 30px 28px;box-shadow:0 24px 60px rgba(0,0,0,.5)}.login-logo{display:block;height:30px;width:auto;margin:0 auto 22px}.login-card h1{font-size:19px;font-weight:700;text-align:center;letter-spacing:-.01em}.login-card p.sub{text-align:center;color:var(--dim);font-size:13px;margin:7px 0 26px}.login-card .login-foot{text-align:center}@keyframes heroIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes quoteIn{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fadeIn{to{opacity:1}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes dotPulse{0%,to{box-shadow:0 0 0 5px rgba(196,241,53,.18),0 0 22px 6px rgba(196,241,53,.45)}50%{box-shadow:0 0 0 9px rgba(196,241,53,.07),0 0 30px 9px rgba(196,241,53,.3)}}@media (max-width:1300px){.hero-note,.quote{display:none}}@media (max-width:900px){.login-shell{grid-template-columns:1fr}.login-hero{display:none}.login-panel{border-left:none;background:var(--ink);background-image:radial-gradient(90% 60% at 50% 0,rgba(196,241,53,.07),transparent 70%);align-content:center}.form-logo{display:block}}@media (prefers-reduced-motion:reduce){.login-shell *,.login-shell :after,.login-shell :before{animation:none!important;opacity:1!important}.hero-chart .line-gray,.hero-chart .line-lime{stroke-dashoffset:0}}.portal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--bg2),var(--bg))}.portal-header img{height:28px;width:auto}.portal-header .who{display:flex;align-items:center;gap:14px}.portal-header .who span{font-size:13px;color:var(--muted)}.logout{font-size:12.5px;color:var(--muted);border:1px solid var(--line);padding:7px 14px;border-radius:8px;background:none;cursor:pointer;font-family:inherit}.logout:hover{color:var(--txt);border-color:var(--muted)}.portal-main{max-width:1100px;margin:0 auto;padding:36px 28px}.portal-main h2{font-size:22px;font-weight:600}.portal-main .lead{color:var(--muted);font-size:14px;margin:6px 0 28px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:18px;gap:18px}.dash-card{display:block;background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:14px;padding:22px;transition:border-color .15s,transform .12s,box-shadow .15s}.dash-card:hover{border-color:var(--accent-dim);transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.4)}.dash-card .tag{display:inline-block;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:#0a0d10;background:var(--accent);border-radius:6px;padding:3px 8px;font-weight:700;margin-bottom:14px}.dash-card .tag.wip{background:#ffc857}.dash-card h3{font-size:16.5px;font-weight:600;margin-bottom:6px}.dash-card p{color:var(--muted);font-size:13px;line-height:1.5}.dash-card .go{margin-top:16px;color:var(--accent-ink);font-size:13px;font-weight:600}.master-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));grid-gap:16px;gap:16px}.client-panel{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:14px;padding:16px 18px}.client-panel h3{font-size:12.5px;text-transform:uppercase;letter-spacing:1.2px;color:var(--accent-ink);margin:0 0 4px;font-weight:700}.mini-dash{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;margin-top:8px;text-decoration:none;transition:border-color .15s,background .15s}.mini-dash:hover{border-color:var(--accent-dim);background:rgba(128,160,200,.06)}.mini-dash .t{font-size:13.5px;font-weight:600;color:var(--txt)}.mini-dash .mini-tag{display:inline-block;font-size:9.5px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:2px 6px;margin-left:8px;vertical-align:1px}.mini-dash .go2{color:var(--accent-ink);font-size:14px;font-weight:700}.empty{color:var(--muted);font-size:14px;border:1px dashed var(--line);border-radius:12px;padding:40px;text-align:center}.theme-toggle{position:fixed;right:18px;bottom:18px;z-index:50;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--panel2);color:var(--txt);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.25);transition:border-color .15s,transform .1s}.theme-toggle:hover{border-color:var(--accent-dim)}.theme-toggle:active{transform:translateY(1px)}.theme-toggle svg{width:20px;height:20px}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/aa1b27f9e325731f-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c126d80dc21dff90-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/e850464f9dfbb75b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/357067f10075d686-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/68180864d7f93f02-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/aa1b27f9e325731f-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c126d80dc21dff90-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/e850464f9dfbb75b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/357067f10075d686-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/68180864d7f93f02-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/aa1b27f9e325731f-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c126d80dc21dff90-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/e850464f9dfbb75b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/357067f10075d686-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/68180864d7f93f02-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/aa1b27f9e325731f-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c126d80dc21dff90-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/e850464f9dfbb75b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/357067f10075d686-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/68180864d7f93f02-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito Sans Fallback;src:local("Arial");ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.00%;size-adjust:101.39%}.__className_91c5f7{font-family:Nunito Sans,Nunito Sans Fallback;font-style:normal}.__variable_91c5f7{--font-avenir-alt:"Nunito Sans","Nunito Sans Fallback"}