:root{--on-primary: #fff;--bg: #f4f6fa;--surface: #ffffff;--surface-2: #f8fafc;--surface-3: #eff3f8;--border: #e3e8ef;--border-strong: #cfd7e2;--text: #0f1b2d;--text-2: #4f5d72;--text-3: #8592a6;--ok: #1d7f47;--ok-bg: #e4f4ea;--warn: #a9650a;--warn-bg: #fdf1dd;--err: #c0392b;--err-bg: #fceae8;--info: #0b7fb5;--info-bg: #e3f3fa;--neutral: #4f5d72;--neutral-bg: #eef1f5;--side-text: rgba(255,255,255,.72);--side-hover: rgba(255,255,255,.07);--side-active: rgba(255,255,255,.13);--side-section: rgba(255,255,255,.42);--c-demand: #1E5AA8;--c-stock: #D08A1E;--c-risk: #C0392B;--c-ref: #94A3B8;--shadow-xs: 0 1px 2px rgba(15,27,45,.05);--shadow-sm: 0 1px 3px rgba(15,27,45,.06), 0 1px 2px rgba(15,27,45,.04);--shadow-md: 0 6px 18px rgba(15,27,45,.08);--shadow-lg: 0 24px 60px rgba(15,27,45,.22);--radius-xs: 6px;--radius-sm: 8px;--radius-btn: 10px;--radius-md: 12px;--radius-lg: 16px;--control-h: 40px;--row-h: 52px;--topbar-h: 64px;--sidebar-w: 252px;--sans: Inter, "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;--mono: "JetBrains Mono", "Cascadia Code", Consolas, monospace;color-scheme:light}:root,:root[data-brand=koda]{--navy: #0B2A4A;--side-bg: #0B2A4A;--side-bg-2: #0E3157;--primary: #1E5AA8;--primary-hover: #174A8C;--primary-soft: #EAF2FC;--primary-ring: rgba(30,90,168,.22);--mint: #0096D6;--c-plan: #1E5AA8;--c-cap: #6A48C2;--band: rgba(30,90,168,.11)}:root[data-brand=aubergine]{--navy: #2A1033;--side-bg: #2A1033;--side-bg-2: #3B1747;--primary: #7A2E8E;--primary-hover: #632577;--primary-soft: #F5EBF8;--primary-ring: rgba(122,46,142,.22);--mint: #C2569B;--c-plan: #7A2E8E;--c-cap: #3B5B8C;--band: rgba(122,46,142,.11)}:root[data-brand=indigo]{--navy: #1C1B4D;--side-bg: #1C1B4D;--side-bg-2: #28266A;--primary: #4F46E5;--primary-hover: #4338CA;--primary-soft: #EEF0FE;--primary-ring: rgba(79,70,229,.22);--mint: #8B5CF6;--c-plan: #4F46E5;--c-demand: #0B7FB5;--c-cap: #8E4B7A;--band: rgba(79,70,229,.1)}:root[data-brand=graphite]{--navy: #1E2329;--side-bg: #1E2329;--side-bg-2: #2A3038;--primary: #3E4C5E;--primary-hover: #2B3644;--primary-soft: #EDF0F4;--primary-ring: rgba(62,76,94,.25);--mint: #8A9BB0;--c-plan: #3E4C5E;--c-cap: #8E4B7A;--band: rgba(62,76,94,.11)}:root[data-brand=teal]{--navy: #073B3A;--side-bg: #073B3A;--side-bg-2: #0A4A47;--primary: #0E7C74;--primary-hover: #0B655F;--primary-soft: #E6F4F2;--primary-ring: rgba(14,124,116,.22);--mint: #2BC4A0;--c-plan: #0E7C74;--c-cap: #6A48C2;--band: rgba(14,124,116,.12)}:root[data-theme=dark]{--bg: #0d1420;--surface: #141d2b;--surface-2: #182233;--surface-3: #1e2a3d;--border: #243246;--border-strong: #2f4059;--text: #e8eef6;--text-2: #a9b6c8;--text-3: #74839a;--ok: #4cc287;--ok-bg: rgba(76,194,135,.14);--warn: #f0b556;--warn-bg: rgba(240,181,86,.14);--err: #f07466;--err-bg: rgba(240,116,102,.14);--info: #4fc0f0;--info-bg: rgba(79,192,240,.14);--neutral: #a9b6c8;--neutral-bg: rgba(169,182,200,.12);--c-demand: #6fa6ea;--c-stock: #f0b556;--c-risk: #f07466;--c-ref: #6b7a90;--shadow-xs: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 6px 18px rgba(0,0,0,.35);--shadow-lg: 0 24px 60px rgba(0,0,0,.55);color-scheme:dark}:root[data-theme=dark],:root[data-theme=dark][data-brand=koda]{--navy: #0A111C;--side-bg: #0A111C;--side-bg-2: #0D1624;--primary: #4D8FE0;--primary-hover: #6AA3EA;--primary-soft: rgba(77,143,224,.14);--primary-ring: rgba(77,143,224,.35);--on-primary: #06101E;--c-plan: #4D8FE0;--c-cap: #a88bf0;--band: rgba(77,143,224,.14)}:root[data-theme=dark][data-brand=aubergine]{--navy: #170A1C;--side-bg: #170A1C;--side-bg-2: #221029;--primary: #C98FDB;--primary-hover: #D9A9E7;--primary-soft: rgba(201,143,219,.14);--primary-ring: rgba(201,143,219,.35);--on-primary: #1d0b24;--c-plan: #C98FDB;--c-cap: #7fa6e0;--band: rgba(201,143,219,.14)}:root[data-theme=dark][data-brand=indigo]{--navy: #0f0e2b;--side-bg: #0f0e2b;--side-bg-2: #17163d;--primary: #8C87F5;--primary-hover: #A6A2F8;--primary-soft: rgba(140,135,245,.15);--primary-ring: rgba(140,135,245,.35);--on-primary: #0f0e2b;--c-plan: #8C87F5;--c-demand: #4fc0f0;--c-cap: #d38fc0;--band: rgba(140,135,245,.14)}:root[data-theme=dark][data-brand=graphite]{--navy: #0b0e12;--side-bg: #0b0e12;--side-bg-2: #141920;--primary: #AFC0D3;--primary-hover: #C8D5E3;--primary-soft: rgba(175,192,211,.13);--primary-ring: rgba(175,192,211,.35);--on-primary: #0f1720;--c-plan: #AFC0D3;--c-cap: #d38fc0;--band: rgba(175,192,211,.12)}:root[data-theme=dark][data-brand=teal]{--navy: #061716;--side-bg: #061716;--side-bg-2: #0A1F1E;--primary: #3FBFB2;--primary-hover: #5ED0C4;--primary-soft: rgba(63,191,178,.14);--primary-ring: rgba(63,191,178,.35);--on-primary: #04211f;--c-plan: #3FBFB2;--c-cap: #a88bf0;--band: rgba(63,191,178,.14)}:root[data-density=compact]{--row-h: 40px;--control-h: 34px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--primary)}.num,td.n,.kpi .v{font-variant-numeric:tabular-nums}svg.ic{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}svg.ic.sm{width:15px;height:15px}svg.ic.lg{width:22px;height:22px}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;height:100vh}.app.collapsed{--sidebar-w: 72px}.side{grid-row:1 / 3;background:linear-gradient(180deg,var(--side-bg),var(--side-bg-2));color:var(--side-text);display:flex;flex-direction:column;overflow:hidden}.brand{height:var(--topbar-h);display:flex;align-items:center;gap:11px;padding:0 18px;flex:none}.brand .mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--mint));display:grid;place-items:center;flex:none}.brand .name b{display:block;color:#fff;font-weight:700;font-size:15.5px;letter-spacing:.1px}.brand .name span{font-size:11.5px;color:var(--side-section)}.side nav{flex:1;overflow-y:auto;padding:6px 12px}.side .sec{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--side-section);padding:16px 10px 6px;white-space:nowrap}.side .item{display:flex;align-items:center;gap:12px;width:100%;padding:9px 10px;border:0;background:none;color:var(--side-text);border-radius:var(--radius-sm);cursor:pointer;text-align:left;white-space:nowrap}.side .item:hover{background:var(--side-hover);color:#fff}.side .item.on{background:var(--side-active);color:#fff;font-weight:600}.side .item .cnt{margin-left:auto;background:var(--err);color:#fff;border-radius:999px;font-size:11px;font-weight:700;padding:1px 7px}.side .foot{padding:12px;border-top:1px solid rgba(255,255,255,.08)}.me{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;color:#fff;padding:8px;border-radius:var(--radius-sm);cursor:pointer;text-align:left}.me:hover{background:var(--side-hover)}.me .who b{display:block;font-size:13px}.me .who span{font-size:11.5px;color:var(--side-section)}.av{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--mint));color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700;flex:none}.av.sm{width:26px;height:26px;font-size:10.5px}.collapsed .side .nl,.collapsed .side .sec,.collapsed .brand .name,.collapsed .me .who,.collapsed .side .item .cnt{display:none}.collapsed .side .item{justify-content:center}.top{display:flex;align-items:center;gap:12px;padding:0 22px;background:var(--surface);border-bottom:1px solid var(--border);min-width:0}.crumbs{display:flex;align-items:center;gap:6px;color:var(--text-2);white-space:nowrap;overflow:hidden}.crumbs b{color:var(--text);font-weight:650}.spacer{flex:1}.crumbs{flex:none}.searchbox span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchbox{flex:0 1 240px;min-width:44px;display:flex;align-items:center;gap:8px;height:38px;padding:0 10px 0 12px;border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--surface-2);color:var(--text-3);cursor:pointer}.searchbox kbd{margin-left:auto;font:11px var(--mono);background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:1px 5px;color:var(--text-3)}.tools{display:flex;align-items:center;gap:6px}.icon-btn{position:relative;width:38px;height:38px;border-radius:var(--radius-btn);border:0;background:none;color:var(--text-2);display:grid;place-items:center;cursor:pointer}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.icon-btn.on{background:var(--primary-soft);color:var(--primary)}.icon-btn .pip{position:absolute;top:4px;right:3px;background:var(--err);color:#fff;font-size:10px;font-weight:700;border-radius:999px;padding:0 5px;line-height:16px}.env{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--warn-bg);color:var(--warn)}.picker{display:flex;align-items:center;gap:8px;height:38px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius-btn);background:var(--surface);cursor:pointer;white-space:nowrap;max-width:260px}.picker .dot{width:9px;height:9px;border-radius:50%;flex:none}.picker span{overflow:hidden;text-overflow:ellipsis}main{overflow:auto;min-width:0}.page{max-width:1480px;margin:0 auto;padding:24px 32px 48px}.page.wide{max-width:none}.auth{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px 16px;overflow:auto}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:28px}.auth-card.wide{max-width:520px}.auth-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.auth-mark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--mint))}.auth h1{margin:0;font-size:22px;font-weight:680;line-height:1.25}.auth .sub{margin:6px 0 0;color:var(--text-2)}.lang{height:32px;min-width:40px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-2);font-size:12px;font-weight:700;cursor:pointer}.stack{display:flex;flex-direction:column;gap:12px;margin-top:18px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field span{font-size:13px;font-weight:600;color:var(--text-2)}.field input,.field select{height:var(--control-h);width:100%;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-btn);background:var(--surface)}.field input:focus,.field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.field small{color:var(--text-3);font-size:12px}.btn{display:inline-flex;align-items:center;justify-content:center;height:var(--control-h);padding:0 16px;border-radius:var(--radius-btn);border:1px solid transparent;font-weight:600;font-size:13.5px;cursor:pointer;text-decoration:none}.btn.primary{background:var(--primary);color:var(--on-primary)}.btn.primary:hover{background:var(--primary-hover)}.btn.ghost{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn.ghost:hover{background:var(--surface-3)}.auth-card>.btn{width:100%}.btn:disabled{opacity:.6;cursor:default}.btn:focus-visible,.link:focus-visible,.seg-tabs button:focus-visible,.lang:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.link{align-self:center;border:0;background:none;color:var(--primary);font-size:13px;cursor:pointer;padding:4px}.link.center{display:block;margin:14px auto 0}.seg-tabs{display:flex;gap:4px;padding:4px;margin-top:16px;background:var(--surface-3);border-radius:var(--radius-btn)}.seg-tabs button{flex:1;height:34px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-2);font-weight:600;font-size:13px;cursor:pointer}.seg-tabs button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs)}.alert{padding:10px 12px;border-radius:var(--radius-sm);font-size:13px}.alert.err{background:var(--err-bg);color:var(--err)}.alert.ok{background:var(--ok-bg);color:var(--ok)}.or{display:flex;align-items:center;gap:10px;margin:16px 0 12px;color:var(--text-3);font-size:12px}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--border)}.fine{margin:0;font-size:12.5px;color:var(--text-2)}.fine code{font:12px var(--mono);word-break:break-all}.qr{align-self:center;background:#fff;border-radius:var(--radius-sm)}.choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choice label{display:flex;align-items:center;gap:8px;min-height:var(--control-h);padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-btn);font-weight:600;font-size:13px;cursor:pointer}.choice label.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.check{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--text-2)}.check input{margin-top:2px;flex:none}.company{margin:0;text-align:center;font-weight:650}.legal{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;font-size:12px}.legal a{color:var(--text-3);text-decoration:none}.legal a:hover{color:var(--text-2);text-decoration:underline}.spin{width:32px;height:32px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--primary);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spin{animation-duration:3s}}@media (max-width: 460px){.grid2,.choice{grid-template-columns:1fr}.auth-card{padding:22px}}.hub main{background:var(--bg)}.hub .page{max-width:1040px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.tile{display:flex;align-items:center;gap:14px;width:100%;padding:18px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);color:var(--text);cursor:pointer;transition:border-color .15s,box-shadow .15s}.tile:hover:not(:disabled){border-color:var(--primary);box-shadow:var(--shadow-sm)}.tile:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.tile:disabled{cursor:default;opacity:.72}.tile-icon{width:48px;height:48px;flex:none;border-radius:13px;display:grid;place-items:center;color:#fff}.tile-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tile-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:15.5px;font-weight:650}.tile-sub{font-size:13px;color:var(--text-2)}.tile-reason{font-size:12.5px;color:var(--warn)}.tile-badge{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:var(--warn-bg);color:var(--warn)}.empty{padding:28px;text-align:center;color:var(--text-2);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg)}@media (max-width: 760px){.app.hub{grid-template-columns:1fr;grid-template-rows:var(--topbar-h) 1fr}.app.hub .side{display:none}.app.hub .top{padding:0 16px}.app.hub .page{padding:16px}.tiles{grid-template-columns:1fr}}.hub .ph{margin-bottom:20px}.hub .ph h1{margin:0;font-size:24px;font-weight:680;line-height:1.2}.hub .ph .sub{margin-top:4px;color:var(--text-2);font-size:13.5px}.hub .ph+.alert{margin-bottom:14px}.hub .ph .actions{margin-left:auto}.hub .ph{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.hub .alert{margin-bottom:14px}.btn.sm{height:32px;padding:0 12px;font-size:12.5px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);margin-bottom:16px}.panel h2{margin:0;padding:14px 18px;font-size:14.5px;font-weight:650;border-bottom:1px solid var(--border)}.panel-b{padding:16px 18px}.stack0{display:flex;flex-direction:column;gap:12px;align-items:stretch}.stack0 p{margin:0;color:var(--text-2)}.stack0 .link{align-self:flex-start;padding:0}.code-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.code-row code{font:600 15px var(--mono);padding:8px 12px;border-radius:var(--radius-sm);background:var(--surface-3)}.row-item{display:flex;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid var(--border)}.row-item:last-child{border-bottom:0}.row-item .who{flex:1 1 200px;min-width:0;display:flex;flex-direction:column}.row-item .who b{font-weight:620;overflow-wrap:anywhere}.row-item .who span{font-size:12.5px;color:var(--text-2);overflow-wrap:anywhere}.row-actions{display:flex;gap:8px}.roles{display:flex;flex-wrap:wrap;gap:10px}.rs{display:flex;flex-direction:column;gap:3px;min-width:150px}.rs span{font-size:11.5px;color:var(--text-3)}.rs select{height:34px;padding:0 8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);max-width:210px}.rs select:disabled{opacity:.65}.icon-btn.danger:hover:not(:disabled){color:var(--err);background:var(--err-bg)}.icon-btn:disabled{opacity:.45;cursor:default}.tabbar{display:none}@media (max-width: 760px){.app.hub{grid-template-rows:var(--topbar-h) 1fr 58px}.tabbar{display:flex;grid-column:1;background:var(--surface);border-top:1px solid var(--border)}.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:none;color:var(--text-3);font-size:11px;cursor:pointer}.tabbar button.on{color:var(--primary);font-weight:650}.row-item.member{flex-wrap:wrap}.rs{flex:1 1 130px}.rs select{max-width:none;width:100%}}.page .auth{min-height:240px}.amount{font-variant-numeric:tabular-nums;white-space:nowrap}.lang{padding:0 6px;max-width:118px}.org-pick{height:38px;max-width:min(46vw,320px);padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius-btn);background:var(--surface);font-weight:650}.org-pick:focus-visible,.lang:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (max-width: 560px){.app.hub .top{gap:8px;padding:0 12px}.app.hub .top .spacer{display:none}.org-pick{flex:1 1 0;min-width:0;max-width:none}.lang{max-width:72px}}
