:root{--bg:#f4f4f2;--bg-elev:#fff;--surface:#fff;--surface-2:#f0f0ed;--border:#11111114;--border-2:#11111124;--text:#16181c;--text-2:#4b5158;--muted:#8a9098;--accent:#16181c;--accent-2:#000;--accent-soft:#1111110f;--pos:#1f7a55;--neg:#b3261e;--warn:#8a6300;--ring:#1111111f;--shadow:0 1px 2px #1111110a, 0 1px 1px #11111108;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:-apple-system,Segoe UI,system-ui,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.45}a{color:inherit;text-decoration:none}.num,.tabular{font-variant-numeric:tabular-nums}.splash{height:100%;color:var(--muted);place-items:center;display:grid}.brand{letter-spacing:-.01em;align-items:center;gap:10px;padding:4px 8px 18px;font-size:16px;font-weight:600;display:flex}.logomark{color:var(--accent);display:inline-flex}.logo-img{border-radius:8px;width:auto;display:block}.auth-screen{background:var(--bg);place-items:center;min-height:100%;padding:24px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:372px;box-shadow:var(--shadow);flex-direction:column;gap:16px;padding:34px 30px;display:flex}.auth-brand{justify-content:center;align-items:center;gap:10px;margin-bottom:4px;display:flex}.auth-sub{color:var(--text-2);margin:0 0 6px;font-size:13.5px}.login{--lg-brand:#0f6b4c;--lg-brand-strong:#0a5138;--lg-brand-soft:#e9f3ee;--lg-ink:#12314f;--lg-ink-2:#5f6f7d;--lg-line:#e6eaed;background:linear-gradient(150deg,#eef5f1 0%,#f6faf8 42%,#fff 100%);min-height:100%;display:flex}.login-hero{flex:auto;justify-content:center;align-items:center;padding:40px 36px;display:flex;position:relative;overflow:hidden}.hero-blob{opacity:.55;pointer-events:none;background:#fff;border-radius:46% 54% 38% 62%/55% 42% 58% 45%;position:absolute}.hero-blob-1{width:620px;height:560px;top:-190px;left:-230px}.hero-blob-2{opacity:.5;background:#e4efe9;width:520px;height:480px;bottom:-200px;right:-160px}.hero-inner{text-align:center;flex-direction:column;align-items:center;gap:18px;width:min(100%,620px);display:flex;position:relative}.hero-brand{align-items:center;gap:14px;display:flex}.hero-mark{width:auto;height:72px}.hero-wordmark{width:auto;height:42px}.hero-tagline{color:var(--lg-ink);letter-spacing:-.01em;flex-direction:column;gap:2px;margin:0;font-size:27px;line-height:1.25;display:flex}.hero-tagline strong{color:var(--lg-brand);font-weight:800}.hero-devices{width:min(100%,560px);margin:4px 0 10px;padding-bottom:30px;position:relative}.mock-laptop{width:88%;margin-left:auto}.mock-screen{background:#2c3138;border-radius:14px 14px 4px 4px;padding:9px 9px 11px;box-shadow:0 22px 40px -18px #12314f73}.mock-hinge{clip-path:polygon(4% 0,96% 0,100% 100%,0 100%);background:linear-gradient(#dee3e7,#bcc4cb);border-radius:0 0 8px 8px;width:108%;height:11px;margin:0 0 0 -4%}.mock-app{height:250px;color:var(--lg-ink);text-align:left;background:#f7f8f7;border-radius:7px;font-size:6px;line-height:1.35;display:flex;overflow:hidden}.mock-side{background:#fff;border-right:1px solid #eceeef;flex-direction:column;gap:5px;width:27%;padding:9px 8px;display:flex}.mock-side-logo{background:linear-gradient(140deg,#2f9e7e,#12314f);border-radius:50%;width:14px;height:14px;margin-bottom:4px}.mock-nav{color:#93a0aa;border-radius:4px;align-items:center;gap:5px;padding:2px 4px;font-weight:500;display:flex}.mock-nav i{opacity:.45;background:currentColor;border-radius:2px;width:6px;height:6px}.mock-nav.is-active{background:var(--lg-brand-soft);color:var(--lg-brand);font-weight:700}.mock-main{flex-direction:column;flex:1;gap:7px;min-width:0;padding:10px 11px;display:flex}.mock-title{font-size:9px;font-weight:700}.mock-stats{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.mock-stat,.mock-card{background:#fff;border:1px solid #edeff0;border-radius:5px;padding:6px 7px}.mock-stat{flex-direction:column;gap:1px;min-width:0;display:flex}.mock-stat-label{color:#98a3ac}.mock-stat-value{white-space:nowrap;font-size:8.5px;font-weight:700}.mock-stat-delta{font-size:5px;font-weight:700}.mock-stat-delta em{color:#a8b2ba;font-style:normal;font-weight:400}.mock-stat-delta.is-up{color:#1f9d6b}.mock-stat-delta.is-down{color:#c4453c}.mock-charts{flex:1;grid-template-columns:1.15fr 1fr;gap:6px;min-height:0;display:grid}.mock-card{flex-direction:column;gap:5px;min-width:0;display:flex}.mock-card-title{font-weight:700}.mock-donut-row{align-items:center;gap:7px;display:flex}.mock-donut{border-radius:50%;flex:none;width:48px;height:48px;-webkit-mask:radial-gradient(circle,#0000 54%,#000 55%);mask:radial-gradient(circle,#0000 54%,#000 55%)}.mock-donut.is-small{width:34px;height:34px;margin:2px auto 0}.mock-legend{flex-direction:column;gap:2px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.mock-legend li{color:#7d8993;white-space:nowrap;align-items:center;gap:4px;display:flex}.mock-legend i{border-radius:50%;flex:none;width:4px;height:4px}.mock-legend b{color:var(--lg-ink);margin-left:auto}.mock-line{flex:1;width:100%;min-height:0}.mock-axis{color:#a8b2ba;justify-content:space-between;display:flex}.mock-phone{background:#2c3138;border-radius:16px;width:27%;padding:5px;position:absolute;bottom:0;left:0;box-shadow:0 20px 34px -16px #12314f80}.mock-phone-screen{color:var(--lg-ink);text-align:left;background:#f7f8f7;border-radius:12px;flex-direction:column;gap:5px;min-height:190px;padding:8px 7px 6px;font-size:5.5px;display:flex}.mock-phone-top{justify-content:space-between;align-items:center;display:flex}.mock-phone-title{font-size:7px;font-weight:700}.mock-phone-dot{background:#dfe4e7;border-radius:3px;width:7px;height:7px}.mock-phone-card{color:#98a3ac;background:#fff;border:1px solid #edeff0;border-radius:5px;flex-direction:column;gap:1px;padding:5px 6px;display:flex}.mock-phone-card b{color:var(--lg-ink);font-size:8px}.mock-phone-card em{color:#1f9d6b;font-style:normal;font-weight:700}.mock-phone-bar{background:#fff;border-radius:6px;justify-content:space-around;align-items:center;margin-top:auto;padding:4px 2px;display:flex}.mock-phone-bar i{background:#d9dfe3;border-radius:2px;width:5px;height:5px}.mock-phone-bar i.is-fab{background:var(--lg-brand);border-radius:50%;width:11px;height:11px}.hero-pills{flex-wrap:wrap;justify-content:center;gap:10px;margin:0;padding:0;list-style:none;display:flex}.hero-pills li{background:#ffffffd1;border:1px solid #12314f0f;border-radius:12px;align-items:center;gap:9px;padding:9px 14px 9px 11px;display:flex;box-shadow:0 6px 14px -10px #12314f59}.hero-pill-icon{background:var(--lg-brand-soft);width:26px;height:26px;color:var(--lg-brand);border-radius:8px;place-items:center;display:grid}.hero-pill-icon svg{width:15px;height:15px}.hero-pill-text{color:var(--lg-ink-2);text-align:left;flex-direction:column;font-size:11.5px;line-height:1.3;display:flex}.hero-pill-text b{color:var(--lg-ink);font-size:12.5px}.login-panel{flex:0 0 clamp(440px,38%,540px);place-items:center;padding:28px 32px;display:grid}.login-card{background:#fff;border-radius:26px;flex-direction:column;gap:15px;width:100%;max-width:452px;padding:42px 42px 36px;display:flex;box-shadow:0 24px 60px -30px #12314f66,0 2px 8px #12314f0a}.login-logo{align-self:center;width:auto;height:112px;margin-bottom:2px}.login-title{text-align:center;color:var(--lg-brand);margin:0;font-size:18px;font-weight:700}.login-sub{text-align:center;color:var(--lg-ink-2);margin:-9px 0 4px;font-size:13.5px;line-height:1.45}.lg-field{flex-direction:column;gap:7px;display:flex}.lg-label{color:var(--lg-ink);font-size:13px;font-weight:600}.lg-input{align-items:center;display:flex;position:relative}.lg-lead{color:#a4b0ba;pointer-events:none;display:flex;position:absolute;left:14px}.lg-lead svg{width:17px;height:17px}.lg-input input{border:1px solid var(--lg-line);width:100%;color:var(--lg-ink);background:#fbfcfc;border-radius:12px;outline:none;padding:13px 14px 13px 43px;font-family:inherit;font-size:14px;transition:border-color .14s,box-shadow .14s,background .14s}.lg-input.has-toggle input{padding-right:44px}.lg-input input::placeholder{color:#adb8c1}.lg-input input:focus{border-color:var(--lg-brand);background:#fff;box-shadow:0 0 0 3px #0f6b4c1f}.lg-input input:focus+.lg-eye,.lg-input:focus-within .lg-lead{color:var(--lg-brand)}.lg-eye{color:#a4b0ba;cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;width:32px;height:32px;padding:0;display:grid;position:absolute;right:6px}.lg-eye svg{width:17px;height:17px}.lg-eye:hover{color:var(--lg-ink);background:#f2f4f5}.lg-hint{color:#92a0aa;font-size:11.5px}.login-row{justify-content:space-between;align-items:center;gap:12px;margin-top:-2px;display:flex}.lg-check{color:var(--lg-ink-2);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.lg-check input{width:16px;height:16px;accent-color:var(--lg-brand);cursor:pointer}.lg-link{color:var(--lg-brand);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;font-weight:600}.lg-link:hover{text-decoration:underline}.lg-link:disabled{opacity:.5;cursor:default;text-decoration:none}.lg-submit{background:var(--lg-brand);color:#fff;cursor:pointer;border:none;border-radius:12px;margin-top:4px;padding:14px 18px;font-family:inherit;font-size:14.5px;font-weight:700;transition:background .14s,transform 60ms}.lg-submit:hover:not(:disabled){background:var(--lg-brand-strong)}.lg-submit:active:not(:disabled){transform:translateY(1px)}.lg-submit:disabled{opacity:.55;cursor:default}.lg-divider{color:#98a3ac;align-items:center;gap:12px;margin:2px 0;font-size:12.5px;display:flex}.lg-divider:before,.lg-divider:after{content:"";background:var(--lg-line);flex:1;height:1px}.lg-google{border:1px solid var(--lg-line);color:var(--lg-ink);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:12px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:background .14s,border-color .14s;display:flex}.lg-google:hover{background:#f7f9f9;border-color:#d8dee3}.lg-google[aria-disabled=true]{color:var(--lg-ink-2)}.lg-foot{text-align:center;color:var(--lg-ink-2);margin:2px 0 0;font-size:13px}.lg-foot a{color:var(--lg-brand);font-weight:700}.lg-foot a:hover{text-decoration:underline}.lg-back{color:var(--lg-ink-2);cursor:pointer;background:0 0;border:none;align-self:center;font-family:inherit;font-size:13px;font-weight:600}.lg-back:hover{color:var(--lg-ink)}.lg-back:disabled{opacity:.5;cursor:default}.lg-error,.lg-info{border-radius:10px;padding:10px 13px;font-size:13px;line-height:1.45}.lg-error{color:#9a1f18;background:#b3261e12;border:1px solid #b3261e42}.lg-info{background:var(--lg-brand-soft);color:#0d5c41;border:1px solid #0f6b4c3d}@media (width<=1080px){.login-hero{display:none}.login-panel{flex:1;padding:24px 20px}}@media (width<=480px){.login-card{border-radius:20px;padding:30px 22px 26px}.login-logo{height:92px}}.field{color:var(--text-2);flex-direction:column;gap:6px;font-size:12px;font-weight:500;display:flex}.field input,.field select{background:var(--bg-elev);border:1px solid var(--border-2);color:var(--text);border-radius:8px;outline:none;padding:9px 11px;font-size:14px;transition:border-color .12s,box-shadow .12s}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.hint{color:var(--muted);font-size:11.5px;font-weight:400}.error-box{color:#9a1f18;background:#b3261e12;border:1px solid #b3261e47;border-radius:8px;padding:9px 12px;font-size:13px}.info-box{color:#11705a;background:#14785a14;border:1px solid #14785a4d;border-radius:8px;padding:9px 12px;font-size:13px}.pw-wrap{display:flex;position:relative}.pw-wrap input{flex:1;width:100%;padding-right:40px}.pw-toggle{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:color .12s,background .12s;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.pw-toggle:hover{color:var(--text);background:var(--bg)}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:2px 0;font-size:13px;font-weight:500}.link-btn:hover{text-decoration:underline}.link-btn:disabled{opacity:.5;cursor:default;text-decoration:none}button{font-family:inherit}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:background .12s}.btn-primary:hover{background:var(--accent-2)}.btn-primary:disabled{opacity:.4;cursor:default}.btn-ghost{border:1px solid var(--border-2);color:var(--text-2);cursor:pointer;background:0 0;border-radius:8px;padding:7px 12px;font-size:13px;transition:border-color .12s,color .12s}.btn-ghost:hover{color:var(--text);border-color:var(--muted)}.btn-danger{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:5px 9px;font-size:12.5px;transition:color .12s,background .12s}.btn-danger:hover{color:var(--neg);background:#b3261e14}.app-shell{grid-template-columns:236px 1fr;height:100%;display:grid}.sidebar{background:var(--bg-elev);border-right:1px solid var(--border);flex-direction:column;gap:4px;padding:20px 14px;display:flex}.nav{flex-direction:column;flex:1;gap:1px;display:flex}.nav-link{color:var(--text-2);border-radius:8px;align-items:center;gap:11px;padding:9px 11px;font-size:13.5px;font-weight:500;transition:background .12s,color .12s;display:flex}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.active{background:var(--accent-soft);color:var(--text);font-weight:600}.nav-link.active .nav-icon{color:var(--accent)}.nav-icon{color:var(--muted);transition:color .12s;display:inline-flex}.nav-link:hover .nav-icon{color:var(--text-2)}.nav-group{flex-direction:column;display:flex}.nav-group-btn{cursor:pointer;width:100%;font:inherit;text-align:left;background:0 0;border:none}.nav-group-btn.has-active{color:var(--text)}.nav-group-btn.has-active .nav-icon{color:var(--accent)}.nav-group-label{flex:1}.nav-caret{color:var(--muted);transition:transform .15s;display:inline-flex}.nav-caret.open{transform:rotate(180deg)}.nav-children{border-left:1px solid var(--border);flex-direction:column;gap:1px;margin:1px 0 2px 15px;padding-left:8px;display:flex}.nav-children .nav-link{padding:7px 10px;font-size:13px}.sidebar-foot{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:6px;padding-top:14px;display:flex}.user-email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.content{padding:30px 36px;overflow-y:auto}.md>:last-child{margin-bottom:0}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.page-head h1{letter-spacing:-.01em;margin:0;font-size:21px;font-weight:600}.cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:22px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.card .label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:11px;font-weight:600}.card .value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:600}.value.pos{color:var(--pos)}.value.neg{color:var(--neg)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px;padding:20px}.panel h3{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin:0 0 16px;font-size:12px;font-weight:600}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=920px){.grid-2,.app-shell{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center}.nav{flex-flow:wrap}.sidebar-foot{border-top:none;flex-direction:row;margin-left:auto}}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:11px 12px;font-size:13.5px}.table thead th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--surface-2)}.table td.num,.amount-pos,.amount-neg{font-variant-numeric:tabular-nums}.amount-pos{color:var(--pos);font-weight:600}.amount-neg{color:var(--neg);font-weight:600}.pill{background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);border-radius:6px;padding:2px 9px;font-size:11.5px;font-weight:500;display:inline-block}.form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.form-row .field{flex:1;min-width:130px}.empty{color:var(--muted);text-align:center;padding:28px;font-size:13.5px}.muted{color:var(--muted)}.progress{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:6px;margin-top:7px;overflow:hidden}.progress>span{background:var(--accent);height:100%;transition:width .3s;display:block}.recharts-cartesian-axis-tick text{fill:var(--muted);font-size:11px}.recharts-default-legend{font-size:12px}.recharts-tooltip-wrapper:focus{outline:none}.insights-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.insights-head h3{margin:0}.insight-summary{color:var(--text);margin:8px 0 6px;font-size:14.5px;line-height:1.55}.insight-section{margin-top:14px}.insight-label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:7px;font-size:11px;font-weight:600}.insight-section ul{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.insight-section li{color:var(--text-2);font-size:13.5px;line-height:1.5}.insight-section li::marker{color:var(--muted)}.insight-alerts{flex-direction:column;gap:8px;margin:10px 0 4px;display:flex}.insight-alert{color:#7a5800;background:#8a630014;border:1px solid #8a630047;border-radius:8px;padding:8px 12px;font-size:13px}.imp-textarea{background:var(--bg-elev);border:1px solid var(--border-2);width:100%;color:var(--text);resize:vertical;border-radius:8px;outline:none;padding:12px 14px;font-family:inherit;font-size:14px;line-height:1.5}.imp-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.imp-input{background:var(--bg-elev);border:1px solid var(--border-2);color:var(--text);border-radius:6px;outline:none;width:100%;padding:6px 8px;font-size:13px}.imp-input:focus{border-color:var(--accent)}.success-box{color:#1a6648;background:#1f7a5517;border:1px solid #1f7a554d;border-radius:8px;padding:10px 12px;font-size:13.5px}.avatar{object-fit:cover;border:1px solid var(--border);background:var(--surface-2);border-radius:50%;display:block}.avatar-fallback{background:var(--accent-soft);color:var(--text);border:1px solid var(--border);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.avatar-edit{background:var(--accent);color:#fff;border:2px solid var(--surface);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex;position:absolute;bottom:-2px;right:-2px}.profile-link{border-radius:8px;align-items:center;gap:10px;min-width:0;padding:8px;transition:background .12s;display:flex}.profile-link:hover{background:var(--surface-2)}.profile-link.active{background:var(--accent-soft)}.profile-meta{flex-direction:column;min-width:0;display:flex}.profile-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.profile-sub{color:var(--muted);font-size:11.5px}.h3-icon{vertical-align:-2px;color:var(--muted);margin-right:5px;display:inline-flex}.qr-box{border:1px solid var(--border-2);background:#fff;border-radius:10px;margin:6px 0;padding:12px;display:inline-flex}.totp-secret{background:var(--surface-2);border:1px solid var(--border);letter-spacing:.04em;border-radius:5px;padding:1px 6px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px}.tfa-status{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}input:disabled{opacity:.6;cursor:not-allowed}
