:root{--font: "Urbanist", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-2xs: 11px;--fs-xs: 12px;--fs-sm: 12.5px;--fs-md: 13.5px;--fs-base: 14px;--fs-lg: 15px;--fs-xl: 17px;--fs-2xl: 20px;--fs-3xl: 22px;--fs-4xl: 26px;--fs-display: 34px;--r-sm: 10px;--r-md: 14px;--r-lg: 18px;--r-xl: 24px;--ease: cubic-bezier(.22, 1, .36, 1);--ease-out: cubic-bezier(.215, .61, .355, 1);--ease-io: cubic-bezier(.65, 0, .35, 1);--ease-back: cubic-bezier(.34, 1.56, .64, 1);--side-w: 248px;--rail-w: 84px;--gap: 18px;--bg: #eef1f3;--wash-a: #f1d58f;--wash-b: #e7dcc4;--wash-c: #ece6d8;--glass: #ffffff8c;--glass-hi: #ffffff9e;--glass-rim: #ffffffe6;--glass-edge: #17252d12;--blur: blur(26px) saturate(180%);--float: #fbfcfce6;--card: #fbfcfc;--card-2: #17252d0b;--card-3: #17252d17;--ink: #15212a;--ink-2: #354550;--muted: #55616a;--line: #17252d14;--line-2: #17252d26;--shadow: 0 1px 2px #17252d0a, 0 14px 34px -18px #17252d33;--shadow-lg: 0 2px 6px #17252d0f, 0 28px 60px -24px #17252d57;--accent: #7a5c0c;--accent-hi: #8d6b10;--accent-ink: #fff;--accent-soft: #b8902a24;--good: #23733f;--bad: #b3263a;--warn: #9a5208;--dark-surface: #1c1a15;--side-bg: #ffffff6b;--side-ink: #15212a;--side-muted: #4d5a63;color-scheme:light}[data-theme=dark]{--bg: #0d1214;--wash-a: #d4a72c33;--wash-b: #8a6a1a2e;--wash-c: #5a4a2a1f;--glass: #181f238c;--glass-hi: #1f282d9e;--glass-rim: #ffffff1a;--glass-edge: #ffffff10;--float: #172024eb;--card: #172024;--card-2: #ecf4f60d;--card-3: #ecf4f61a;--ink: #ecf2f3;--ink-2: #c5d2d6;--muted: #9aaab0;--line: #ecf4f614;--line-2: #ecf4f62b;--shadow: 0 1px 2px #0000004d, 0 14px 32px -16px #0009;--shadow-lg: 0 2px 6px #0006, 0 28px 60px -24px #000c;--accent: #e0b545;--accent-hi: #ecc664;--accent-ink: #1c1505;--accent-soft: #e0b54524;--good: #6ccb8f;--bad: #f4878f;--warn: #f0a160;--dark-surface: #2a2518;--side-bg: #11181b88;--side-ink: #ecf2f3;--side-muted: #9fb0b6;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:var(--font);font-size:var(--fs-base);font-weight:500;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;overflow:hidden}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(60% 55% at 0% 0%,var(--wash-a),transparent 70%),radial-gradient(55% 55% at 100% 100%,var(--wash-b),transparent 70%),radial-gradient(50% 40% at 70% 10%,var(--wash-c),transparent 70%)}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}h1,h2,h3,p{margin:0}svg.i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{position:relative;z-index:1;display:grid;grid-template-columns:var(--side-w) 1fr;height:100vh;transition:grid-template-columns .5s var(--ease)}html.is-rail .app{grid-template-columns:var(--rail-w) 1fr}.main{overflow-y:auto;padding:14px 26px 40px 22px;scrollbar-width:thin}.view{display:none}.view.is-active{display:block}.side{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--side-bg);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:inset -1px 0 0 var(--glass-rim),1px 0 0 var(--line);color:var(--side-ink)}.side__head{display:flex;align-items:center;gap:10px;min-height:72px;padding:20px 16px 14px 20px}.logo{width:36px;height:36px;border-radius:11px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:800;flex:none;box-shadow:inset 0 1px #ffffff40}.side__brand{font-size:var(--fs-xl);font-weight:800;letter-spacing:-.01em;white-space:nowrap}.side__scroll{position:relative;flex:1;padding:4px 12px 12px;overflow:hidden auto;scrollbar-width:none}.navgroup{position:relative;padding:8px 0}.navgroup+.navgroup{border-top:1px solid var(--line)}.navgroup__label{display:block;font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--side-muted);padding:4px 12px 6px;font-weight:700}.navitem{position:relative;z-index:1;display:flex;align-items:center;gap:12px;width:100%;height:44px;padding:0 12px;border-radius:13px;color:var(--side-muted);font-weight:600;font-size:var(--fs-md);white-space:nowrap;text-align:left;transition:color .25s var(--ease),background .25s var(--ease)}.navitem:hover{color:var(--side-ink);background:var(--card-2)}.navitem svg{transition:transform .35s var(--ease-back)}.navitem:hover svg{transform:scale(1.12) rotate(-4deg)}.navitem.is-active{color:var(--accent-ink)}.navitem .dot{margin-left:auto;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--glass-hi)}.navitem.is-active .dot{background:var(--accent-ink)}.nav-ind{position:absolute;inset:0;z-index:0;background:var(--accent);border-radius:13px;pointer-events:none;box-shadow:0 10px 20px -10px var(--accent);opacity:0}.side__foot{padding:10px 12px 16px;display:grid;gap:8px}.collapse{display:flex;align-items:center;gap:12px;height:40px;padding:0 12px;border-radius:12px;color:var(--side-muted);font-weight:600;font-size:var(--fs-md);white-space:nowrap}.collapse:hover{background:var(--card-2);color:var(--side-ink)}html.is-rail .collapse svg{transform:scaleX(-1)}html.is-rail .side__brand,html.is-rail .navitem span,html.is-rail .navgroup__label,html.is-rail .collapse span{display:none}html.is-rail .side__head{flex-direction:column;gap:12px;padding:18px 0 10px}html.is-rail .navitem,html.is-rail .collapse{justify-content:center;padding:0}html.is-rail .navitem .dot{position:absolute;top:9px;right:14px;margin:0}.tip{position:fixed;z-index:90;pointer-events:none;padding:7px 11px;border-radius:9px;background:var(--ink);color:var(--bg);font-size:var(--fs-xs);font-weight:700;opacity:0;transform:translate(-6px);transition:opacity .18s,transform .25s var(--ease-out);white-space:nowrap}.tip.is-on{opacity:1;transform:none}.top{display:flex;align-items:center;gap:10px;min-height:56px}.crumbs{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:600;font-size:var(--fs-md);margin-right:auto}.crumbs b{color:var(--ink);font-weight:700}.search{display:flex;align-items:center;gap:10px;width:min(380px,38vw);height:44px;padding:0 12px;border-radius:14px;background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 1px 0 var(--glass-rim),inset 0 0 0 1px var(--line-2);color:var(--muted);transition:box-shadow .3s var(--ease),width .4s var(--ease)}.search:focus-within{box-shadow:inset 0 0 0 2px var(--accent),0 10px 24px -14px var(--accent);width:min(460px,44vw)}.search input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;color:var(--ink)}kbd{font:700 var(--fs-2xs)/1 var(--font);padding:4px 7px;border-radius:7px;background:var(--card-3);color:var(--muted)}.iconbtn{position:relative;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 1px 0 var(--glass-rim),inset 0 0 0 1px var(--line-2);transition:background .25s,transform .3s var(--ease-back)}.iconbtn:hover{background:var(--card)}.iconbtn:active{transform:scale(.92)}.badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:var(--accent-ink);font-size:10.5px;font-weight:800;display:grid;place-items:center}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:12px;font-size:var(--fs-md);font-weight:600;white-space:nowrap;color:var(--ink);background:var(--glass);box-shadow:inset 0 1px 0 var(--glass-rim),inset 0 0 0 1px var(--line-2);transition:background .25s var(--ease),box-shadow .35s var(--ease),transform .25s var(--ease-back),color .2s;translate:var(--mx, 0) var(--my, 0);overflow:hidden}.btn svg.i{width:18px;height:18px}.btn:hover{background:var(--card)}.btn:active{transform:scale(.96);transition-duration:.08s}.btn--primary{background:var(--accent);color:var(--accent-ink);box-shadow:inset 0 1px #ffffff38,0 8px 18px -8px var(--accent)}.btn--primary:hover{background:var(--accent-hi);box-shadow:inset 0 1px #ffffff48,0 14px 26px -8px var(--accent)}.btn--dark{background:var(--ink);color:var(--bg);box-shadow:none}.btn--dark:hover{background:var(--ink-2)}.btn--sm{height:34px;padding:0 12px;font-size:var(--fs-sm)}.btn--ghost{background:transparent;box-shadow:none}.btn--ghost:hover{background:var(--card-2)}.btn.magnetic{transition:translate .5s var(--ease-out),background .25s var(--ease),box-shadow .35s var(--ease),transform .25s var(--ease-back)}.ripple{position:absolute;border-radius:50%;background:currentColor;opacity:.22;pointer-events:none;transform:scale(0);animation:ripple .6s var(--ease-out) forwards}@keyframes ripple{to{transform:scale(1);opacity:0}}.btn.is-loading{pointer-events:none;color:transparent}.btn.is-loading:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid var(--accent-ink);border-right-color:transparent;animation:spin .7s linear infinite}.btn:not(.btn--primary):not(.btn--dark).is-loading:after{border-color:var(--ink);border-right-color:transparent}@keyframes spin{to{transform:rotate(360deg)}}.is-shake{animation:shake .42s var(--ease-out)}@keyframes shake{20%{translate:-8px 0}40%{translate:7px 0}60%{translate:-5px 0}80%{translate:3px 0}}.phead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:10px 0 18px}.phead h1{font-size:var(--fs-display);font-weight:700;letter-spacing:-.02em;line-height:1.1}.phead p{color:var(--muted);font-weight:500;margin-top:6px}.tabs{position:relative;display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:var(--gap)}.tab{position:relative;padding:12px;font-weight:600;color:var(--muted);display:inline-flex;gap:8px;align-items:center;transition:color .25s}.tab:hover{color:var(--ink)}.btn:disabled,.iconbtn:disabled,.switch:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.tab.is-active{color:var(--ink);font-weight:700}.tab.is-active .count{background:var(--accent-soft);color:var(--accent)}.tab .count{font-size:var(--fs-xs);padding:1px 8px;border-radius:99px;background:var(--card-3)}.tabs__line{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);clip-path:inset(0 100% 0 0);pointer-events:none}.grid{display:grid;gap:var(--gap)}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid--main{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.card{position:relative;border-radius:var(--r-lg);padding:18px;background:radial-gradient(120% 80% at 0% 0%,#ffffff9e,transparent 55%),var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:inset 0 1px 0 var(--glass-rim),inset 0 0 0 1px var(--glass-edge),0 1px 2px #17252d0a,0 14px 34px -18px #17252d33;transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out)}[data-theme=dark] .card{background:linear-gradient(160deg,#ffffff10,transparent 55%),var(--glass)}.card--flush{padding:0;overflow:hidden}.card[data-lift]:hover{transform:translateY(-4px);box-shadow:inset 0 1px 0 var(--glass-rim),inset 0 0 0 1px var(--glass-edge),0 2px 6px #17252d0f,0 28px 50px -22px #17252d55}.card--dark{background:var(--dark-surface);color:#fff;box-shadow:var(--shadow-lg)}.card--dark .muted{color:#ffffffa0}.card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card__title{font-size:var(--fs-lg);font-weight:700}.card__sub{color:var(--muted);font-size:var(--fs-sm);font-weight:500}.muted{color:var(--muted)}.kpi{display:grid;gap:6px}.kpi__label{display:flex;align-items:center;gap:10px;color:var(--muted);font-weight:600;font-size:var(--fs-md)}.kpi__ico{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--card-2);color:var(--ink);transition:transform .35s var(--ease-back),background .25s}.card:hover .kpi__ico{transform:rotate(-6deg) scale(1.08);background:var(--accent-soft);color:var(--accent)}.kpi__value{font-size:var(--fs-4xl);font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.kpi__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:var(--fs-sm);color:var(--muted);font-weight:600}.delta{font-weight:700;font-size:var(--fs-sm);padding:2px 8px;border-radius:99px}.delta--up{color:var(--good);background:color-mix(in srgb,var(--good) 14%,transparent)}.delta--down{color:var(--bad);background:color-mix(in srgb,var(--bad) 14%,transparent)}.spark{width:96px;height:34px;overflow:visible}.spark path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.spark .area{fill:currentColor;opacity:.1;stroke:none}.card--dark .spark{color:#fff}.spark{color:var(--accent)}.pick{cursor:pointer}.pick.is-selected{background:var(--dark-surface);color:#fff}.pick.is-selected .muted{color:#ffffffa8}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:10px 18px;font-weight:700;border-bottom:1px solid var(--line)}.table td{padding:14px 18px;border-bottom:1px solid var(--line);font-weight:600}.table tr{transition:background .2s}.table tbody tr:hover{background:var(--card-2)}.table tr:last-child td{border-bottom:0}.num{text-align:right;font-variant-numeric:tabular-nums}.pos{color:var(--good)}.neg{color:var(--bad)}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:99px;font-size:var(--fs-xs);font-weight:700;background:var(--card-3)}.pill--good{color:var(--good);background:color-mix(in srgb,var(--good) 14%,transparent)}.pill--warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}.pill--bad{color:var(--bad);background:color-mix(in srgb,var(--bad) 14%,transparent)}.field{display:grid;gap:6px}.field label{font-size:var(--fs-sm);font-weight:700;color:var(--ink-2)}.input{height:44px;padding:0 14px;border-radius:12px;border:0;outline:0;background:var(--glass);color:var(--ink);font:inherit;box-shadow:inset 0 0 0 1px var(--line-2);transition:box-shadow .25s var(--ease)}.input:focus{box-shadow:inset 0 0 0 2px var(--accent),0 8px 20px -14px var(--accent)}.input.is-invalid{box-shadow:inset 0 0 0 2px var(--bad)}.switch{position:relative;width:44px;height:26px;border-radius:99px;background:var(--card-3);transition:background .3s var(--ease)}.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0003;transition:transform .35s var(--ease-back)}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]:after{transform:translate(18px)}.toasts{position:fixed;right:20px;bottom:20px;z-index:100;display:grid;gap:10px}.toast{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;background:var(--float);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow-lg),inset 0 0 0 1px var(--line);font-weight:600;min-width:240px;animation:toast-in .55s var(--ease-back) both}.toast.is-out{animation:toast-out .3s var(--ease-io) forwards}.toast i{width:8px;height:8px;border-radius:50%;background:var(--accent)}.toast--good i{background:var(--good)}.toast--bad i{background:var(--bad)}@keyframes toast-in{0%{opacity:0;transform:translate(40px) scale(.94)}}@keyframes toast-out{to{opacity:0;transform:translate(30px) scale(.96)}}.float-up{position:fixed;z-index:95;pointer-events:none;font-weight:800;color:var(--good)}@keyframes breathe{50%{box-shadow:0 0 0 7px transparent}}.live-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);animation:breathe 2.6s ease-in-out infinite}@keyframes flash{0%{color:var(--accent)}to{color:inherit}}.is-flash{animation:flash 1s var(--ease-out)}.scrim{position:fixed;inset:0;z-index:80;background:#0b141a66;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .3s}.scrim.is-on{opacity:1;pointer-events:auto}.modal{position:fixed;z-index:85;left:50%;top:50%;width:min(460px,92vw);translate:-50% -50%;opacity:0;pointer-events:none;transform:translateY(24px) scale(.96);transition:opacity .3s,transform .5s var(--ease-back)}.modal.is-on{opacity:1;pointer-events:auto;transform:none}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation:none}.tabbar{display:none}@media(max-width:1100px){:root{--side-w: var(--rail-w)}.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--main{grid-template-columns:1fr}html:not(.is-rail) .app{grid-template-columns:var(--rail-w) 1fr}html:not(.is-rail) .side__brand,html:not(.is-rail) .navitem span,html:not(.is-rail) .navgroup__label,html:not(.is-rail) .collapse span{display:none}html:not(.is-rail) .navitem,html:not(.is-rail) .collapse{justify-content:center;padding:0}html:not(.is-rail) .side__head{flex-direction:column;padding:18px 0 10px}}@media(max-width:760px){.app{grid-template-columns:1fr!important}.side{display:none}.main{padding:10px 16px 96px}.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}.search{display:none}.phead h1{font-size:28px}.tabbar{position:fixed;z-index:70;left:12px;right:12px;bottom:12px;display:flex;justify-content:space-around;padding:8px;border-radius:22px;background:var(--float);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow-lg),inset 0 0 0 1px var(--line)}.tabbar .navitem{width:52px;height:48px;justify-content:center;padding:0}.tabbar .navitem span{display:none}.tabbar .navitem.is-active{background:var(--accent);box-shadow:0 10px 20px -10px var(--accent)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.row-pend td{background:color-mix(in srgb,var(--warn) 9%,transparent)}.row-click{cursor:pointer}.stack{display:grid;gap:10px}.hstack{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.msg{display:grid;grid-template-columns:92px 1fr auto;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:var(--fs-md)}.msg:last-child{border-bottom:0}.msg time{color:var(--muted);font-variant-numeric:tabular-nums}.msg.is-ev b{color:var(--accent)}.msg.is-off{opacity:.5;text-decoration:line-through}.exc{padding:14px 0;border-bottom:1px solid var(--line);display:grid;gap:6px}.exc:last-child{border-bottom:0}.exc__sug{font-size:var(--fs-sm);color:var(--ink-2)}.modal--wide{width:min(860px,94vw);max-height:88vh;overflow:auto}select.input{appearance:none;padding-right:30px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 16px) 52%,calc(100% - 11px) 52%;background-size:5px 5px;background-repeat:no-repeat}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login .card{width:min(420px,94vw)}.empty{padding:28px;text-align:center;color:var(--muted)}.scroll-x{overflow-x:auto}.tag{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
