/* KosBumul 4.7: original implementation guided by the Cryptox visual reference. */
@font-face{font-family:"Inter Tight";src:url("./fonts/inter-tight-latin-variable.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
@media screen {
:root{color-scheme:dark;--bg:#080808;--panel:#141414;--panel-raised:#1b1b1b;--ink:#f5f5f3;--muted:#a7a7a4;--line:rgba(255,255,255,.12);--accent:#ff632f;--accent-text:#17100d;--green:#8ed6ad;--red:#ff9696;--paper:var(--panel);--canvas:var(--bg);--navy:#161616;--citron:var(--accent);--blue:var(--accent);--blue-dark:#ff956e;--soft:#242424;--green-light:#182b21;--red-light:#351e20;--amber:#efc18d;--amber-light:#2c241c;--radius:20px;--font:"Inter Tight",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--serif:var(--font)}
html{scroll-padding-top:28px;scrollbar-color:#505050 #101010}
body{background:var(--bg);font-family:var(--font);font-size:16px;line-height:1.55;color:var(--ink)}
[hidden]{display:none!important}::selection{background:#804026;color:#fff}:focus-visible{outline:2px solid #ffb89d;outline-offset:4px}
h1,h2,h3{font-family:var(--font);font-weight:500;letter-spacing:-.045em;text-wrap:balance}h1{font-size:clamp(34px,3.5vw,48px);line-height:1.1}h2{font-size:22px;font-weight:550}
.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:500;color:var(--muted)}
.btn{min-height:46px;padding:11px 18px;border:1px solid var(--line);border-radius:12px;background:#202020;color:var(--ink);font-size:14px;font-weight:550;box-shadow:none;transition:background .18s,border-color .18s,color .18s,transform .18s}
.btn:hover:not(:disabled){background:#2c2c2c;border-color:#5a5a57}.btn:active:not(:disabled){background:#30302e;transform:translateY(1px)}
.btn.primary{color:var(--accent-text);background:var(--accent);border-color:var(--accent);box-shadow:inset 0 1px 0 #ffffff26}.btn.primary:hover:not(:disabled){color:#120b08;background:#ff794d;border-color:#ff794d}.btn.primary:active:not(:disabled){background:#ee5420}.btn.ghost{background:transparent;border-color:transparent}
.text-button{color:#ffab8c;font-size:13px;font-weight:500;text-decoration:none}.text-button:hover{color:#ffd1bf;text-decoration:underline;text-underline-offset:5px}
.brandmark{width:42px;height:42px;border-radius:50%;background:var(--accent);color:var(--accent-text)}.brandmark svg{width:23px;height:23px;stroke-width:1.8}.brand,.access-brand{letter-spacing:-.055em;font-weight:600}.brand .muted,.brand-dot{color:var(--accent)}
.boot{background:var(--bg);color:var(--muted);font-family:var(--font)}.skip-link{background:var(--accent);color:var(--accent-text);z-index:200}
/* Entry: generous typography and a static orbit. No fictitious financial data. */
.access-page{display:block;position:relative;isolation:isolate;max-width:1600px;min-height:100dvh;margin:0 auto;padding:30px 48px 24px;overflow:hidden}
.access-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;position:relative;z-index:2;min-height:58px}
.access-brand{gap:10px;font-size:27px;justify-self:start;min-width:0}.access-brand>span:last-child{color:var(--ink);margin-left:0}.access-brand .brand-dot{color:var(--accent)}
.access-nav{display:flex;align-items:center;gap:6px;padding:5px;border:1px solid #45413e;border-radius:40px;background:linear-gradient(145deg,#2d2a28,#181716);box-shadow:inset 0 1px 0 #ffffff0c}
.access-nav a,.access-nav button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:10px 23px;background:transparent;border:0;border-radius:30px;font-size:14px;text-decoration:none;color:#c9c8c5;font-weight:500;white-space:nowrap}.access-nav a{color:#ff9f7d;background:#ffffff06}.access-nav button:hover{background:#ffffff08;color:#fff}
.access-header-note{justify-self:end;display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}.access-header-note svg{color:#d6d3ce}
.access-story{position:relative;isolation:isolate;display:block;min-height:0;padding:60px 0 30px;margin:0;background:transparent;border-radius:0;text-align:center;color:var(--ink);overflow:visible}
.access-hero-copy{position:relative;z-index:1;max-width:900px;margin:auto}.access-kicker{display:inline-flex;align-items:center;gap:9px;color:#f4c0ac;font-size:12px;font-weight:450;letter-spacing:.015em;margin-bottom:18px}.access-kicker:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px #ff632f88}
.access-story h1{max-width:none;margin:auto;color:#f6f5f2;font-family:var(--font);font-size:clamp(56px,6.5vw,88px);font-weight:500;letter-spacing:-.058em;line-height:1.035;text-wrap:balance}.access-story h1 span{color:#f6f5f2}.access-story h1+p{font-size:17px;line-height:1.65;max-width:47ch;color:#bbb8b5;margin:22px auto 0}
.access-orbit{position:absolute;width:920px;height:800px;left:50%;top:-67px;transform:translateX(-50%);z-index:-1;pointer-events:none;contain:paint;opacity:.85;background:radial-gradient(ellipse at 50% 24%,#8f290d44 0%,#36100424 32%,transparent 62%);mask-image:linear-gradient(#000 60%,transparent 100%)}
.access-orbit:before,.access-orbit:after,.access-orbit>span{content:"";position:absolute;left:50%;top:53%;width:600px;height:580px;border-radius:50%;transform:translate(-50%,-50%) rotate(-29deg);pointer-events:none}
.access-orbit:before{border:1px solid #ff693088;box-shadow:0 -6px 12px #ff591b99,0 -18px 55px #ff501744,inset 0 15px 28px #ff50173d;opacity:.8}.access-orbit:after{width:650px;height:615px;border:9px solid #fa531621;box-shadow:0 -20px 30px #d92f1c2b,inset 0 14px 15px #ff431638;transform:translate(-50%,-50%) rotate(-17deg)}
.access-orbit>span:first-child{width:570px;height:553px;border-top:2px solid #ff8b42aa;border-left:1px solid #ff571166;box-shadow:inset 0 6px 15px #ff632f22}.access-orbit>span:last-child{width:700px;height:653px;border-top:1px solid #ff561c44;box-shadow:0 -8px 25px #ff501714}
.access-card{position:relative;z-index:1;width:100%;max-width:458px;margin:0 auto;padding:26px 30px 27px;border:1px solid #4a3c36;border-radius:23px;background:linear-gradient(148deg,#24201e 0%,#161514 32%,#121212 85%);box-shadow:0 20px 80px #0006,inset 0 1px 0 #ffffff12}
.access-card-heading{display:flex;align-items:center;gap:13px}.access-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;border:1px solid #5b3829;background:#362014;color:#ff9f79;flex-shrink:0;margin:0}.access-icon svg{width:21px;height:21px}.access-card-heading .eyebrow{font-size:10px;letter-spacing:.095em;color:#b7b1ac;margin:0 0 4px}
.access-card h2{font-size:25px;font-weight:500;line-height:1.18;letter-spacing:-.035em;margin:0}.access-description{font-size:13px;line-height:1.65;color:#b8b4b0;margin:17px 0 20px}
.role-switch{background:#0d0d0d;border:1px solid #33302e;border-radius:12px;padding:4px;gap:4px;margin-bottom:18px}.role-switch button{min-height:42px;border-radius:8px;font-size:13px;font-weight:500;color:#aaa6a3}.role-switch button.active{background:#34302d;color:#fff;box-shadow:0 1px 3px #0004}
.access-card .field{margin-bottom:14px}.access-card .field label{font-size:13px}.access-card .field input{min-height:48px;border-radius:10px}.access-card .captcha-panel{margin:15px 0}.access-submit{min-height:50px;border-radius:12px;font-size:14px;justify-content:center}.access-help{margin-top:16px;font-size:12px;line-height:1.6;text-align:center;color:#aaa6a2}
.access-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:42px 0 0;padding-top:22px;border-top:1px solid #ffffff13;font-size:12px;line-height:1.6;color:#96938f}.access-footer>span{display:flex;align-items:center;gap:8px}
/* The authenticated workspace keeps the same visual language. */
.shell{max-width:1600px;margin:auto;min-height:100dvh;background:var(--bg)}
.sidebar{position:relative;inset:auto;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;width:auto;min-height:104px;margin:0 48px;padding:24px 0;overflow:visible;background:transparent;color:var(--ink);border-bottom:1px solid var(--line);z-index:20}
.brand{padding:0;gap:10px;min-width:170px;max-width:260px}.brand strong{font-size:25px;line-height:1.15;font-weight:600;letter-spacing:-.05em}.brand p{display:none}.nav-caption,.side-plan{display:none}
.nav{display:flex;gap:3px;padding:5px;border:1px solid #393734;border-radius:40px;background:linear-gradient(145deg,#272523,#191919)}.nav a{gap:8px;min-height:43px;padding:10px 16px;border-radius:30px;font-size:13px;color:#bab7b2;font-weight:450;white-space:nowrap}.nav a svg{width:16px;height:16px}.nav a:hover{background:#ffffff08;color:#fff}.nav a.active{background:#39302b;color:#ffab8c;font-weight:550}
.side-bottom{margin:0;padding:0;min-width:145px}.side-footer{padding:0;gap:9px}.side-footer .avatar{width:38px;height:38px;border-radius:50%;background:#262321;border:1px solid #45403b;color:#f2c6b4}.side-footer strong{font-size:13px;font-weight:500}.side-footer p{font-size:11px;color:var(--muted);margin-top:2px}
.workspace{margin:0;min-width:0}.topbar{min-height:66px;max-width:1504px;margin:0 48px;padding:12px 0;border:0;background:transparent;gap:15px}.crumb{display:flex;font-size:12px;gap:9px}.crumb b{font-weight:450;color:#cbc8c3}.top-actions{gap:9px}.top-actions .btn{font-size:12px;min-height:38px;padding:8px 12px;border-radius:9px;background:transparent}.top-actions .btn:hover{background:#222}.connection{font-size:11px;color:var(--muted);margin-right:8px}.mobile-brand,.mobile-nav{display:none}
.main{max-width:1504px;padding:34px 0 24px;margin:0 48px;min-width:0}.page-heading{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:13px;color:#b5aaa2}.page-heading .eyebrow span{color:#68605b}.page-heading h1+p{color:var(--muted);font-size:14px;line-height:1.7;margin-top:13px;max-width:58ch}.heading-actions{justify-content:flex-end;max-width:none;gap:10px}.heading-actions .btn{font-size:13px}
.month-field{border:1px solid #494641;border-radius:12px;background:#181716;color:#bbb6b0;min-height:46px;padding:0 13px}.month-field input{color:#eeebe7;font-size:14px;width:144px;min-height:44px}
.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.balance{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:32px;min-height:230px;padding:34px 38px;border:1px solid #68422f;border-radius:23px;background:radial-gradient(ellipse at 90% 15%,#67301955,transparent 65%),linear-gradient(125deg,#24211e,#171412 68%);color:var(--ink);isolation:isolate}
.balance:before{content:"";inset:auto -100px -160px auto;width:550px;height:420px;opacity:.55;border:1px solid #ef743947;border-radius:50%;transform:rotate(-25deg);background:none;box-shadow:0 -15px 50px #ff632f12,inset 0 18px 36px #ff632f0d}.balance:after{content:"";position:absolute;right:-30px;bottom:-210px;width:500px;height:420px;border:1px solid #ff814325;border-radius:50%;transform:rotate(-25deg);z-index:-1;pointer-events:none}
.balance-main{min-width:0;flex:1}.balance-label{justify-content:flex-start;gap:12px;font-size:14px;font-weight:450;color:#cfc3b7}.balance-label>svg{color:#edb28f;order:-1}.balance-value{margin:20px 0 14px;font-size:clamp(40px,5vw,64px);line-height:1.05;font-weight:500;letter-spacing:-.055em}.balance-value.long-value{font-size:clamp(25px,3.4vw,45px)}.balance-footer{font-size:12px;line-height:1.6;color:#b2a89f}.balance-footer span{background:#f3996f}
.balance-context{position:relative;min-width:210px;display:flex;flex-direction:column;align-items:flex-end;gap:15px;text-align:right}.balance-context>p{font-size:13px;color:#c8b5a8;max-width:26ch}.balance-symbol{color:#efa879;border:1px solid #ffffff1a;border-radius:50%;padding:16px;width:68px;height:68px;background:#ffffff04}.balance-symbol svg{width:34px;height:34px}.balance-link{display:flex;align-items:center;gap:10px;color:#ffbb98;text-decoration:none;font-size:13px;min-height:44px}.balance-link:hover{text-decoration:underline;text-underline-offset:4px}
.metric,.summary-grid .metric{min-height:154px;border:1px solid #30302d;border-radius:18px;background:linear-gradient(145deg,#1c1b1a,#131313 80%);box-shadow:none;padding:22px 25px}.metric-top{font-size:13px;color:#bcb8b2;font-weight:450}.metric-icon{width:30px;height:30px;border-radius:50%;background:#1d3025;color:var(--green)}.metric.out .metric-icon{background:#2d2520;color:#f0b58e}.metric.pending .metric-icon{background:#2e291c;color:#e2c591}.metric-value{font-size:32px;font-weight:500;line-height:1.13;letter-spacing:-.045em;margin:20px 0 12px}.metric-foot{font-size:12px;color:#9d9993}.metric-value.long-value{font-size:23px}
.overview-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:20px;margin-top:24px}.panel{border:1px solid #30302d;border-radius:20px;background:#131313;box-shadow:none}.panel-head{padding:25px 26px 0;align-items:center;gap:20px}.panel-head h2{font-size:21px;font-weight:500}.panel-head p{font-size:12px;margin-top:6px}
.chart-wrap{padding:30px 23px 8px}.chart{max-height:290px}.chart text{fill:#b0aca6;font-family:var(--font);font-size:14px}.chart .grid{stroke:#363431;stroke-dasharray:3 5}.chart .bar-in{fill:var(--accent)}.chart .bar-out{fill:#77736e}.chart .last{fill:#29221d}.legend{font-size:11px;flex-direction:row;gap:12px}.legend i{background:var(--accent);border-radius:3px}.legend i.expense{background:#77736e}.chart-note{padding:15px 26px;font-size:11px}
.progress-panel{display:block;padding:0 0 24px}.progress-panel .panel-head{padding:25px 26px 0}.progress-body{padding:26px 20px 18px}.progress-ring{width:144px;height:144px}.progress-track{stroke:#2c2926;stroke-width:7}.progress-fill{stroke:var(--accent);stroke-width:7}.progress-number b{font-size:34px;font-weight:500}.progress-number span{font-size:11px}.progress-total{margin:0 26px 18px;text-align:center}.progress-total strong{font-size:16px;font-weight:500}.progress-total span{font-size:12px}.progress-stats{justify-content:center;text-align:center;margin:0 0 20px;gap:24px}.progress-stats b{font-size:17px;font-weight:500}.progress-stats p{font-size:12px}.progress-panel>.btn{width:calc(100% - 52px);margin:0 26px;font-size:13px}
.bottom-note{margin-top:32px;border-top:1px solid var(--line);padding-top:20px;color:#a29b94;font-size:11px;flex-direction:row}.route-enter{animation:none}.toast{background:#f0e9df;color:#151311;border:1px solid #fff5;box-shadow:0 12px 40px #0005}
}
@media(prefers-reduced-motion:reduce){.btn{transition:none}.access-orbit{opacity:.65}}
