:root{--bg:#f4f6fa;--surface:#fff;--surface-2:#f8fafd;--surface-3:#eef2f8;--line:#e1e6ef;--line-strong:#c7d0df;--ink:#12244a;--ink-2:#4a5b78;--ink-3:#6b7a93;--brand:#0b4fbf;--brand-solid:#0b4fbf;--brand-hover:#083e96;--brand-tint:#e6eefb;--ok:#0f7b55;--ok-solid:#128a5e;--ok-tint:#e2f3ea;--warn:#9a5b00;--warn-tint:#fcefd6;--bad:#b42318;--bad-solid:#c4321f;--bad-tint:#fce8e6;--info:#1d5fd1;--info-tint:#e3edfd;--shadow-sm:0 1px 2px #12244a0f;--shadow:0 10px 30px #12244a1f;--scrim:#12244a73;--hero:radial-gradient(120% 120% at 100% 0%, #2f7bf0 0%, transparent 55%), linear-gradient(150deg, #0b4fbf 0%, #12244a 100%);--font-display:"Bricolage Grotesque", "IBM Plex Sans", system-ui, sans-serif;--font-ui:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--sidebar:248px;--topbar:56px;--tabbar:64px;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#0a1120;--surface:#111a2c;--surface-2:#162036;--surface-3:#1b2740;--line:#233150;--line-strong:#33446a;--ink:#e8edf6;--ink-2:#b3bfd6;--ink-3:#8593ae;--brand:#6ea2f7;--brand-solid:#2f6fe0;--brand-hover:#3d7df0;--brand-tint:#6ea2f724;--ok:#4ade9b;--ok-solid:#13895d;--ok-tint:#4ade9b1f;--warn:#f6c35c;--warn-tint:#f6c35c21;--bad:#ff8a80;--bad-solid:#c4321f;--bad-tint:#ff8a8021;--info:#7db0ff;--info-tint:#7db0ff21;--shadow-sm:0 1px 2px #0000004d;--shadow:0 14px 40px #00000073;--scrim:#020610a6;--hero:radial-gradient(120% 120% at 100% 0%, #2b63c9 0%, transparent 55%), linear-gradient(150deg, #123a8a 0%, #0b1630 100%);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:15px;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:700;line-height:1.15}h1{font-size:22px}h2{font-size:18px}h3{font-size:16px}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--brand)}img{max-width:100%}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}::selection{background:var(--brand-tint)}@media (width>=900px){h1{font-size:26px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (width>=900px){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);border:3px solid var(--bg);border-radius:10px}::-webkit-scrollbar-track{background:0 0}}.muted{color:var(--ink-3)}.ink-2{color:var(--ink-2)}.small{font-size:13px}.xs{font-size:12px}.strong{font-weight:600}.mono{font-family:var(--font-mono);letter-spacing:-.01em;font-size:.92em}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.right{text-align:right}.row{align-items:center;gap:8px;display:flex}.row-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.between{justify-content:space-between}.grow{flex:1;min-width:0}.stack{flex-direction:column;gap:12px;display:flex}.stack-lg{flex-direction:column;gap:16px;display:flex}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.break-any{overflow-wrap:anywhere}.c-ok{color:var(--ok)}.c-warn{color:var(--warn)}.c-bad{color:var(--bad)}.c-brand{color:var(--brand)}.hide-mobile{display:none!important}@media (width>=900px){.hide-mobile{display:revert!important}.hide-desktop{display:none!important}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{cursor:pointer;white-space:nowrap;min-height:42px;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn svg{flex:none}.btn-primary{background:var(--brand-solid);color:#fff;box-shadow:0 1px 2px #0b4fbf40}.btn-primary:hover{background:var(--brand-hover)}.btn-ok{background:var(--ok-solid);color:#fff}.btn-ok:hover{filter:brightness(1.08)}.btn-secondary{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.btn-secondary:hover{background:var(--surface-2);border-color:var(--ink-3)}.btn-ghost{color:var(--ink-2)}.btn-ghost:hover{background:var(--brand-tint);color:var(--brand)}.btn-danger{background:var(--bad-solid);color:#fff}.btn-danger-ghost{color:var(--ink-2)}.btn-danger-ghost:hover{background:var(--bad-tint);color:var(--bad)}.btn-soft{background:var(--brand-tint);color:var(--brand)}.btn-soft:hover{filter:brightness(.97)}.btn-sm{border-radius:9px;min-height:36px;padding:0 12px;font-size:14px}.btn-lg{border-radius:12px;min-height:50px;padding:0 20px;font-size:16px;font-weight:600}.btn-icon{flex:none;width:42px;min-height:42px;padding:0}.btn-icon.btn-sm{width:36px;min-height:36px}.btn-block{width:100%}.btn[disabled]{opacity:.55;cursor:not-allowed}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.linklike{color:var(--brand);cursor:pointer;background:0 0;border:0;padding:4px;font-weight:500}.linklike:hover{text-decoration:underline}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>span{color:var(--ink-2);font-size:14px;font-weight:500}.field>span .req{color:var(--bad)}.field small{color:var(--ink-3);font-size:12.5px}.input,.select,.textarea{border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:44px;color:var(--ink);border-radius:10px;padding:10px 12px;font-size:16px;transition:border-color .15s,box-shadow .15s}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-3) 50%), linear-gradient(135deg, var(--ink-3) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px;padding-right:36px}.select option{background:var(--surface);color:var(--ink)}.textarea{resize:vertical;min-height:90px;line-height:1.45}.input::placeholder,.textarea::placeholder{color:var(--ink-3);opacity:.8}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint);outline:none}.input[disabled],.select[disabled],.input[readonly]{background:var(--surface-2);color:var(--ink-2)}.input.num-input{text-align:right;font-variant-numeric:tabular-nums}.input-strong{color:var(--brand);font-weight:600}@media (width>=900px){.input,.select,.textarea{font-size:15px}}.input-icon{position:relative}.input-icon>svg{color:var(--ink-3);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-icon .input{padding-left:40px}.input-icon .input-action{width:38px;height:38px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.input-icon .input-action:hover{color:var(--brand);background:var(--brand-tint)}.input-icon:has(.input-action) .input{padding-right:46px}.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media (width>=560px){.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=760px){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.span-all{grid-column:1/-1}.check{cursor:pointer;align-items:center;gap:10px;min-height:40px;font-size:15px;display:flex}.check input{width:20px;height:20px;accent-color:var(--brand-solid);flex:none}.seg{background:var(--surface-3);border:1px solid var(--line);border-radius:11px;gap:2px;padding:3px;display:flex}.seg button{cursor:pointer;color:var(--ink-2);white-space:nowrap;background:0 0;border:0;border-radius:8px;flex:1;min-height:38px;padding:8px 12px;font-size:14px;font-weight:500}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #12244a29}.seg.inline{display:inline-flex}.seg.inline button{flex:none}.file-drop{border:1.5px dashed var(--line-strong);background:var(--surface-2);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:14px;transition:border-color .15s,background .15s;display:flex}.file-drop:hover{border-color:var(--brand);background:var(--brand-tint)}.file-drop input{opacity:0;width:1px;height:1px;position:absolute}.alert{border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;line-height:1.45;display:flex}.alert>svg{flex:none;margin-top:1px}.alert b{font-weight:600}.alert-error{background:var(--bad-tint);color:var(--bad)}.alert-ok{background:var(--ok-tint);color:var(--ok)}.alert-warn{background:var(--warn-tint);color:var(--warn)}.alert-info{background:var(--brand-tint);color:var(--brand)}.alert .alert-body{flex:1;min-width:0}.alert .alert-body p{color:var(--ink-2);margin-top:2px;font-size:13.5px}.badge{white-space:nowrap;background:var(--surface-3);color:var(--ink-2);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:600;line-height:1.35;display:inline-flex}.badge svg{flex:none}.badge-ok{background:var(--ok-tint);color:var(--ok)}.badge-warn{background:var(--warn-tint);color:var(--warn)}.badge-bad{background:var(--bad-tint);color:var(--bad)}.badge-brand,.badge-info{background:var(--brand-tint);color:var(--brand)}.badge-outline{border:1px solid var(--line-strong);background:0 0}.dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.dot.pulse{animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.3}}.toasts{z-index:120;left:12px;right:12px;bottom:calc(var(--tabbar) + 12px + var(--safe-b));pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed}@media (width>=900px){.toasts{width:380px;bottom:20px;left:auto;right:20px}}.toast{pointer-events:auto;color:#fff;box-shadow:var(--shadow);cursor:pointer;background:#12244a;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-size:14px;animation:.2s ease-out up;display:flex}[data-theme=dark] .toast{background:#22325a}.toast.error{background:var(--bad-solid)}.toast.ok{background:var(--ok-solid)}@keyframes up{0%{opacity:0;transform:translateY(12px)}}.app{min-height:100dvh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--line);z-index:70;width:min(86vw,300px);padding-top:var(--safe-t);padding-bottom:var(--safe-b);flex-direction:column;transition:transform .22s;display:flex;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{box-shadow:var(--shadow);transform:none}.scrim{background:var(--scrim);z-index:60;animation:.15s ease-out fade;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}@media (width>=900px){.sidebar{height:100dvh;width:var(--sidebar);flex:none;position:sticky;top:0;transform:none;box-shadow:none!important}.scrim{display:none}}.side-brand{align-items:center;gap:10px;padding:16px 16px 14px;display:flex}.side-brand .who{min-width:0}.side-org{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;margin:0 12px 6px;padding:10px 12px;display:flex}.side-org .avatar{border-radius:10px;width:34px;height:34px;font-size:13px}.side-org b{font-size:14px;font-weight:600;display:block}.nav{flex-direction:column;flex:1;gap:2px;padding:6px 10px 10px;display:flex;overflow-y:auto}.nav-group{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:14px 12px 6px;font-size:11.5px;font-weight:600}.nav a{min-height:42px;color:var(--ink-2);border-radius:10px;align-items:center;gap:12px;padding:0 12px;font-size:14.5px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav a:hover{background:var(--surface-2);color:var(--ink)}.nav a.active{background:var(--brand-tint);color:var(--brand);font-weight:600}.nav a.active:before{content:"";background:var(--brand);border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px;left:-10px}.side-foot{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding:12px;display:flex}.user-row{align-items:center;gap:10px;display:flex}.avatar{background:var(--brand-tint);width:38px;height:38px;color:var(--brand);font-size:14px;font-weight:700;font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;display:grid}.kbrand{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.kbrand img{width:auto;height:30px;display:block}.kbrand .product{font-family:var(--font-display);color:var(--ink);border-left:1px solid var(--line-strong);padding-left:10px;font-size:16px;font-weight:700;line-height:1.15}.logo-light{display:block}.logo-dark,[data-theme=dark] .logo-light{display:none!important}[data-theme=dark] .logo-dark{display:block!important}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{z-index:40;height:calc(var(--topbar) + var(--safe-t));padding:var(--safe-t) 6px 0;background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:4px;display:flex;position:sticky;top:0}.topbar h1{padding:0 4px;font-size:17px;font-weight:700}@media (width>=900px){.topbar.mobile-only{display:none}}.content{flex:1;min-width:0}.page{padding:16px;padding-bottom:calc(var(--tabbar) + 28px + var(--safe-b));flex-direction:column;gap:16px;width:100%;max-width:1240px;margin:0 auto;display:flex}@media (width>=900px){.page{gap:20px;padding:28px 32px 40px}}.page-narrow{max-width:860px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.page-head .titles{min-width:0}.page-head p{color:var(--ink-3);margin-top:3px;font-size:14px}.page-head .actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=559px){.page-head .actions{width:100%}.page-head .actions .btn{flex:1}}.back-head{align-items:center;gap:8px;display:flex}.back-head h1{font-size:20px}.tabbar{z-index:45;height:calc(var(--tabbar) + var(--safe-b));padding-bottom:var(--safe-b);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a,.tabbar button{color:var(--ink-3);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;font-size:11.5px;font-weight:500;text-decoration:none;display:flex}.tabbar a.active{color:var(--brand)}.tabbar a.active svg{stroke-width:2.4px}.tabbar .fab{position:relative}.tabbar .fab span.fab-btn{background:var(--brand-solid);color:#fff;border-radius:16px;place-items:center;width:48px;height:48px;margin-top:-18px;display:grid;box-shadow:0 8px 18px #0b4fbf59}@media (width>=900px){.tabbar{display:none}.page{padding-bottom:40px}}.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:16px;min-width:0}.card-pad{padding:16px}@media (width>=900px){.card-pad{padding:20px}}.card-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;display:flex}.card-head h2,.card-head h3{font-size:16px}.card-head p{color:var(--ink-3);font-size:13px}.card-foot{border-top:1px solid var(--line);padding:12px 16px}.section-title{align-items:center;gap:10px;margin-bottom:14px;display:flex}.section-title .ico{background:var(--brand-tint);width:34px;height:34px;color:var(--brand);border-radius:10px;flex:none;place-items:center;display:grid}.section-title h3{font-size:16px}.section-title p{color:var(--ink-3);font-size:13px}.sub-card{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:14px}.kv{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}@media (width>=560px){.kv{grid-template-columns:repeat(2,minmax(0,1fr))}}.kv>div{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;min-width:0;padding:10px 12px}.kv span{color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:12px;display:block}.kv b{overflow-wrap:anywhere;font-weight:600}.table-wrap{overflow-x:auto}.rtable{border-collapse:collapse;width:100%;font-size:14px}.rtable th{text-align:left;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap;padding:11px 16px;font-size:12px;font-weight:600}.rtable th.right,.rtable td.right{text-align:right}.rtable td{border-bottom:1px solid var(--line);vertical-align:middle;overflow-wrap:break-word;padding:12px 16px}.rtable tbody tr{transition:background .12s}.rtable tbody tr:hover{background:var(--surface-2)}.rtable tr:last-child td{border-bottom:0}.rtable .cell-actions{white-space:nowrap}.rtable .cell-actions>div{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.rtable .sub{color:var(--ink-3);font-size:12.5px;display:block}@media (width<=759px){.rtable thead{display:none}.rtable,.rtable tbody,.rtable tr,.rtable td{width:100%;display:block}.rtable tr{border-bottom:1px solid var(--line);padding:12px 16px}.rtable tbody tr:hover{background:0 0}.rtable tr:last-child{border-bottom:0}.rtable td{text-align:right;border:0;grid-template-columns:auto minmax(0,1fr);place-items:center end;column-gap:16px;padding:3px 0;display:grid}.rtable td[data-label]:before{content:attr(data-label);color:var(--ink-3);text-align:left;grid-row:span 9;align-self:start;padding-top:1px;font-size:13px}.rtable td:not([data-label]){grid-template-columns:minmax(0,1fr)}.rtable td.cell-main{text-align:left;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:6px;font-weight:600;display:flex}.rtable td.cell-main .sub{font-weight:400}.rtable td.cell-actions{padding-top:10px}.rtable td.cell-actions>div{justify-content:flex-start;width:100%}.rtable td.hide-card{display:none}.rtable td.right{text-align:right}}.rtable .show-card{display:none}@media (width<=759px){.rtable .show-card{display:inline-flex}.rtable .hide-on-card{display:none}}.empty{text-align:center;color:var(--ink-3);flex-direction:column;align-items:center;gap:10px;padding:44px 16px;display:flex}.empty .empty-ico{background:var(--brand-tint);width:56px;height:56px;color:var(--brand);border-radius:16px;place-items:center;display:grid}.empty b{color:var(--ink);font-size:16px;font-family:var(--font-display)}.empty p{max-width:360px;font-size:14px}.skeleton{background:linear-gradient(90deg, var(--surface-3) 0%, var(--surface-2) 50%, var(--surface-3) 100%);background-size:200% 100%;border-radius:8px;animation:1.2s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width>=900px){.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}}@media (width<=899px){.stats>.stat:last-child:nth-child(odd){grid-column:1/-1}}.stat{background:var(--surface);border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;gap:6px;padding:14px;display:flex}@media (width>=900px){.stat{padding:18px}}.stat-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.stat-label{color:var(--ink-3);font-size:13px;font-weight:500}.stat-ico{background:var(--brand-tint);width:34px;height:34px;color:var(--brand);border-radius:10px;flex:none;place-items:center;display:grid}.stat-ico.ok{background:var(--ok-tint);color:var(--ok)}.stat-ico.warn{background:var(--warn-tint);color:var(--warn)}.stat-ico.bad{background:var(--bad-tint);color:var(--bad)}.stat-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:22px;font-weight:700;line-height:1.15}@media (width>=900px){.stat-value{font-size:26px}}.stat-sub{color:var(--ink-3);font-size:12.5px}.progress{background:var(--surface-3);border-radius:99px;height:8px;overflow:hidden}.progress>span{background:var(--brand-solid);border-radius:99px;height:100%;transition:width .4s;display:block}.progress.ok>span{background:var(--ok-solid)}.progress.warn>span{background:#d99a1e}.progress.bad>span{background:var(--bad-solid)}.progress.thin{height:5px}.chips{scrollbar-width:none;gap:6px;margin:0 -16px;padding-bottom:2px;padding-left:16px;padding-right:16px;display:flex;overflow-x:auto}@media (width>=900px){.chips{flex-wrap:wrap;margin:0;padding-left:0;padding-right:0}}.chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:6px;min-height:38px;padding:6px 14px;font-size:14px;font-weight:500;display:inline-flex}.chip:hover{border-color:var(--ink-3)}.chip.on{background:var(--ink);color:var(--surface);border-color:var(--ink)}.chip .cnt{opacity:.75;font-size:12px}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;align-items:center;gap:8px;min-height:44px;margin-bottom:-1px;padding:10px 14px;font-size:14.5px;font-weight:500;display:inline-flex}.tabs button:hover{color:var(--ink)}.tabs button.on{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar .search{flex:260px;max-width:460px}.modal-back{background:var(--scrim);z-index:100;justify-content:center;align-items:flex-end;animation:.15s ease-out fade;display:flex;position:fixed;inset:0}.modal{background:var(--surface);color:var(--ink);width:100%;max-height:calc(100dvh - 24px - var(--safe-t));box-shadow:var(--shadow);border-radius:20px 20px 0 0;flex-direction:column;animation:.22s ease-out up;display:flex}.modal:before{content:"";background:var(--line-strong);border-radius:4px;flex:none;width:40px;height:4px;margin:8px auto 0}.modal-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px 16px 12px;display:flex}.modal-head h2{flex:1;font-size:18px}.modal-body{overscroll-behavior:contain;flex-direction:column;gap:14px;padding:16px;display:flex;overflow-y:auto}.modal-foot{padding:12px 16px calc(12px + var(--safe-b));border-top:1px solid var(--line);justify-content:flex-end;gap:8px;display:flex}.modal-foot .btn{flex:1}@media (width>=640px){.modal-back{align-items:center;padding:24px}.modal{border-radius:20px;max-width:540px;max-height:88vh}.modal:before{display:none}.modal-head{padding:16px 20px}.modal-body{padding:20px}.modal-foot{padding:14px 20px}.modal.wide{max-width:760px}.modal-foot .btn{flex:none}}.form-sep{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border-top:1px solid var(--line);margin-top:4px;padding-top:14px;font-size:12px;font-weight:600}.picker{border:1px solid var(--line);background:var(--surface);border-radius:12px;max-height:240px;overflow-y:auto}.picker.floating{z-index:30;box-shadow:var(--shadow);position:absolute;top:calc(100% + 4px);left:0;right:0}.picker button{text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;width:100%;min-height:48px;color:var(--ink);background:0 0;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.picker button:last-child{border-bottom:0}.picker button:hover,.picker button:focus-visible{background:var(--brand-tint);outline:none}.picker .pk-main{min-width:0}.picker .pk-main b{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:600;display:block;overflow:hidden}.picker .pk-main span{color:var(--ink-3);font-size:12.5px}.picker .pk-empty{color:var(--ink-3);text-align:center;padding:14px;font-size:14px}.selected-box{border:1px solid var(--brand);background:var(--brand-tint);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.selected-box .grow b{font-weight:600;display:block}.selected-box .grow span{color:var(--ink-2);font-size:13px}.doc-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.doc-side{display:none}@media (width>=1040px){.doc-layout{grid-template-columns:minmax(0,1fr) 340px}.doc-side{display:block;position:sticky;top:24px}}.line-items{flex-direction:column;gap:10px;display:flex}.line-item{border:1px solid var(--line);background:var(--surface-2);border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:12px;display:grid;position:relative}.line-item .li-desc{grid-column:1/-1;align-items:flex-start;gap:8px;display:flex}.line-item .li-total{border-top:1px dashed var(--line-strong);grid-column:1/-1;justify-content:space-between;align-items:center;padding-top:4px;font-size:14px;display:flex}.line-item .li-total b{font-variant-numeric:tabular-nums;font-size:15px}.line-item .field>span{font-size:12.5px}@media (width>=760px){.line-item{grid-template-columns:minmax(0,3fr) minmax(90px,1fr) minmax(110px,1fr) minmax(90px,1fr) minmax(100px,auto);align-items:end;padding:12px 14px}.line-item .li-desc{grid-column:auto}.line-item.no-disc{grid-template-columns:minmax(0,3fr) minmax(90px,1fr) minmax(110px,1fr) minmax(100px,auto)}.line-item .li-total{border:0;flex-direction:column;grid-column:auto;justify-content:center;align-items:flex-end;gap:0;padding:0 0 10px}.line-item .li-total span{color:var(--ink-3);font-size:12.5px}}.add-line{border:1.5px dashed var(--line-strong);color:var(--brand);cursor:pointer;background:0 0;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;padding:12px;font-weight:600;display:flex}.add-line:hover{border-color:var(--brand);background:var(--brand-tint)}.totals{flex-direction:column;gap:8px;font-size:14.5px;display:flex}.totals>div{justify-content:space-between;gap:12px;display:flex}.totals>div span:first-child{color:var(--ink-2)}.totals>div span:last-child{font-variant-numeric:tabular-nums}.totals .grand{border-top:1px solid var(--line);font-size:20px;font-weight:700;font-family:var(--font-display);margin-top:4px;padding-top:12px}.totals .grand span:first-child{color:var(--ink)}.totals .grand span:last-child{color:var(--brand)}.sticky-cta{bottom:calc(var(--tabbar) + var(--safe-b) + 8px);z-index:20;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:12px;padding:12px;display:flex;position:sticky}.sticky-cta .tt span{color:var(--ink-3);font-size:12px;display:block}.sticky-cta .tt b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:20px}@media (width>=1040px){.sticky-cta{display:none}}.hero{color:#fff;background:var(--hero);isolation:isolate;border-radius:20px;padding:20px;position:relative;overflow:hidden}.hero:after{content:"";z-index:-1;border:2px solid #ffffff29;border-radius:50%;width:460px;height:460px;position:absolute;top:-260px;right:-200px;box-shadow:inset 0 0 60px #78b4ff40}.hero:before{content:"";z-index:-1;border:1px solid #ffffff1a;border-radius:50%;width:300px;height:300px;position:absolute;bottom:-220px;right:-60px}.hero h1{color:#fff;font-size:24px}.hero p{color:#ffffffc7;margin-top:4px;font-size:14.5px}.hero .hero-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.hero .pill{color:#fff;white-space:nowrap;background:#ffffff24;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.hero .pill.prod .dot{background:#4ade9b}.hero .pill.test .dot{background:#f6c35c}.hero-figure{flex-wrap:wrap;align-items:flex-end;gap:24px;margin-top:18px;display:flex}.hero-figure .big{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:1}.hero-figure .lbl{color:#ffffffb8;margin-bottom:6px;font-size:13px}@media (width>=900px){.hero{padding:28px 32px}.hero h1{font-size:30px}.hero-figure .big{font-size:42px}}.quick{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width>=760px){.quick{grid-template-columns:repeat(4,minmax(0,1fr))}}.quick a,.quick button{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;min-height:68px;box-shadow:var(--shadow-sm);border-radius:16px;align-items:center;gap:12px;padding:14px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.quick a:hover,.quick button:hover{border-color:var(--brand);transform:translateY(-1px)}.quick .q-ico{background:var(--brand-tint);width:40px;height:40px;color:var(--brand);border-radius:12px;flex:none;place-items:center;display:grid}.quick .q-ico.ok{background:var(--ok-tint);color:var(--ok)}.quick .q-ico.warn{background:var(--warn-tint);color:var(--warn)}.quick .q-ico.violet{color:#7c5cff;background:#7c5cff24}[data-theme=dark] .quick .q-ico.violet{color:#a996ff}.quick b{font-size:14.5px;font-weight:600;display:block}.quick span.q-sub{color:var(--ink-3);font-size:12.5px}.dash-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (width>=1040px){.dash-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}}.doc-list{flex-direction:column;display:flex}.doc-row{border-bottom:1px solid var(--line);color:inherit;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;display:flex}.doc-row:last-child{border-bottom:0}.doc-row .doc-ico{background:var(--surface-3);width:38px;height:38px;color:var(--ink-2);border-radius:11px;flex:none;place-items:center;display:grid}.doc-row b{font-size:14.5px;font-weight:600}.doc-row .meta{color:var(--ink-3);font-size:12.5px}.doc-row .amt{font-variant-numeric:tabular-nums;text-align:right;font-weight:600}.bars{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:4px;height:200px;padding-top:8px;display:grid;position:relative}.bars:before{content:"";border-top:1px solid var(--line);position:absolute;bottom:22px;left:0;right:0}.bar-col{cursor:default;outline:none;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex;position:relative}.bar-col .bar{background:var(--brand-solid);border-radius:4px 4px 0 0;width:min(70%,28px);min-height:2px;transition:height .35s,opacity .15s}.bar-col .bar.zero{background:var(--line)}.bar-col .m{color:var(--ink-3);height:16px;font-size:11px}.bars:hover .bar-col .bar{opacity:.45}.bars .bar-col:hover .bar,.bars .bar-col:focus .bar{opacity:1}.bar-tip{background:var(--ink);color:var(--surface);white-space:nowrap;pointer-events:none;opacity:0;z-index:5;box-shadow:var(--shadow);border-radius:8px;padding:6px 9px;font-size:12px;transition:opacity .12s;position:absolute;bottom:calc(100% - 4px);left:50%;transform:translate(-50%)}.bar-tip b{font-size:13px;display:block}.bar-col:hover .bar-tip,.bar-col:focus .bar-tip{opacity:1}.bar-col:first-child .bar-tip{left:0;transform:none}.bar-col:last-child .bar-tip{left:auto;right:0;transform:none}.status-row{flex-direction:column;gap:6px;display:flex}.status-row .top{justify-content:space-between;gap:8px;font-size:14px;display:flex}.auth-page{background:var(--bg);flex-direction:column;min-height:100dvh;display:flex;position:relative}.auth-hero{color:#fff;background:var(--hero);padding:calc(22px + var(--safe-t)) 20px 76px;isolation:isolate;position:relative;overflow:hidden}.auth-hero:after{content:"";z-index:-1;border:2px solid #ffffff2e;border-radius:50%;width:520px;height:520px;position:absolute;top:-300px;right:-260px;box-shadow:inset 0 0 60px #78b4ff40}.auth-brand{align-items:center;gap:12px;display:flex}.auth-brand img{width:auto;height:34px;display:block}.auth-brand span{font-family:var(--font-display);border-left:1px solid #fff6;padding-left:12px;font-size:18px;font-weight:700}.auth-hero h1{color:#fff;max-width:460px;margin:22px 0 0;font-size:26px;line-height:1.15}.auth-hero .lead{color:#fffc;max-width:440px;margin-top:10px;font-size:15px}.auth-features{flex-direction:column;gap:14px;margin:30px 0 0;padding:0;list-style:none;display:none}.auth-features li{color:#ffffffeb;align-items:center;gap:12px;font-size:15px;display:flex}.auth-features li span{background:#ffffff1f;border:1px solid #ffffff2e;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.auth-hero-foot{color:#ffffffa6;margin:0;font-size:13px;display:none}.auth-side{padding:0 16px calc(16px + var(--safe-b));flex-direction:column;flex:1;align-items:center;display:flex}.auth-card{z-index:2;background:var(--surface);border:1px solid var(--line);width:100%;max-width:440px;box-shadow:var(--shadow);border-radius:20px;margin-top:-52px;padding:24px 20px;position:relative}.auth-card.wide{max-width:860px}.auth-title{font-size:24px}.auth-sub{color:var(--ink-2);margin-top:6px;font-size:15px}.auth-icon{background:var(--brand-tint);width:54px;height:54px;color:var(--brand);border-radius:16px;place-items:center;display:grid}.auth-foot{color:var(--ink-3);text-align:center;margin-top:auto;padding-top:24px;font-size:13px}.auth-theme{z-index:5;right:12px;top:calc(12px + var(--safe-t));color:#fff;position:absolute}.auth-theme:hover{color:#fff!important;background:#ffffff24!important}.code-input{font-family:var(--font-display);letter-spacing:.45em;text-align:center;height:62px;padding-left:.45em;font-size:30px;font-weight:700}@media (width>=900px){.auth-page{flex-direction:row}.auth-hero{flex-direction:column;flex:1.05;justify-content:space-between;min-height:100vh;padding:40px 56px;display:flex;position:sticky;top:0}.auth-hero:after{width:760px;height:760px;top:-420px;right:-380px}.auth-hero h1{font-size:40px}.auth-features,.auth-hero-foot{display:flex}.auth-theme{color:var(--ink-2);z-index:5}.auth-theme:hover{background:var(--brand-tint)!important;color:var(--brand)!important}.auth-side{flex:1;justify-content:center;padding:40px 32px}.auth-card{margin-top:0}.auth-card.plain{box-shadow:none;background:0 0;border:0;padding:0}.auth-page.reg .auth-hero{flex:.7}.auth-page.reg .auth-side{flex:1.3;justify-content:flex-start}}.plans{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width>=760px){.plans{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}.plan{border:1.5px solid var(--line);cursor:pointer;background:var(--surface);text-align:left;color:var(--ink);border-radius:14px;flex-direction:column;gap:4px;padding:14px;transition:border-color .15s,background .15s;display:flex;position:relative}.plan:hover{border-color:var(--line-strong)}.plan.on{border-color:var(--brand);background:var(--brand-tint)}.plan .price{font-family:var(--font-display);color:var(--brand);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.plan .price small{color:var(--ink-3);font-size:12px;font-weight:500;font-family:var(--font-ui)}.plan ul{color:var(--ink-2);flex-direction:column;gap:2px;margin:4px 0 0;padding:0;font-size:12.5px;list-style:none;display:flex}.plan .tag{background:var(--brand-solid);color:#fff;letter-spacing:.03em;border-radius:99px;padding:2px 8px;font-size:10.5px;font-weight:700;position:absolute;top:-10px;right:10px}.switch-btn{background:var(--line-strong);cursor:pointer;border:0;border-radius:99px;flex:none;width:46px;height:26px;transition:background .15s;position:relative}.switch-btn:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.switch-btn.on{background:var(--brand-solid)}.switch-btn.on:after{transform:translate(20px)}.steps-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.steps-list li{gap:12px;display:flex}.steps-list .n{background:var(--brand-solid);color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid}.steps-list b{font-weight:600;display:block}.steps-list p{color:var(--ink-2);font-size:14px}.float-card{z-index:110;left:12px;right:12px;bottom:calc(var(--tabbar) + 12px + var(--safe-b));background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:12px;padding:12px;animation:.2s ease-out up;display:flex;position:fixed}.float-card img{border-radius:11px;flex:none}.float-card b{font-size:14.5px;display:block}.float-card.update{border-color:var(--brand)}.float-card.update .u-ico{background:var(--brand-tint);width:40px;height:40px;color:var(--brand);border-radius:11px;flex:none;place-items:center;display:grid}@media (width>=900px){.float-card{width:400px;bottom:20px;left:auto;right:20px}}.auth-page~.float-card,.no-tabbar .float-card{bottom:calc(12px + var(--safe-b))}.install-steps{flex-direction:column;gap:10px;margin:0;padding-left:20px;display:flex}.install-steps svg{vertical-align:-4px;color:var(--brand)}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.action-grid button{border:1px solid var(--line);background:var(--surface-2);cursor:pointer;text-align:left;color:var(--ink);border-radius:14px;flex-direction:column;align-items:flex-start;gap:8px;min-height:96px;padding:14px;display:flex}.action-grid button:hover{border-color:var(--brand);background:var(--brand-tint)}.action-grid b{font-size:14.5px;font-weight:600}.action-grid span{color:var(--ink-3);font-size:12.5px}.action-grid .q-ico{background:var(--brand-tint);width:38px;height:38px;color:var(--brand);border-radius:11px;place-items:center;display:grid}.code-block{font-family:var(--font-mono);background:var(--surface-3);overflow-wrap:anywhere;border-radius:10px;padding:10px 12px;font-size:12.5px}.msg-sri{border-left:3px solid var(--bad);background:var(--bad-tint);color:var(--ink);border-radius:0 10px 10px 0;padding:8px 12px;font-size:13.5px}.msg-sri b{color:var(--bad)}.sticky-save{bottom:calc(var(--tabbar) + var(--safe-b) + 10px);z-index:20;pointer-events:none;justify-content:flex-end;display:flex;position:sticky}.sticky-save .btn{pointer-events:auto;box-shadow:var(--shadow)}@media (width<=559px){.sticky-save .btn{width:100%}}@media (width>=900px){.sticky-save{bottom:16px}}@media (width>=760px) and (width<=1099px){.rtable.rtable-wide thead{display:none}.rtable.rtable-wide,.rtable.rtable-wide tbody,.rtable.rtable-wide tr,.rtable.rtable-wide td{width:100%;display:block}.rtable.rtable-wide tr{border-bottom:1px solid var(--line);padding:12px 16px}.rtable.rtable-wide tr:last-child{border-bottom:0}.rtable.rtable-wide td{text-align:right;border:0;grid-template-columns:auto minmax(0,1fr);place-items:center end;column-gap:16px;padding:3px 0;display:grid;max-width:none!important}.rtable.rtable-wide td[data-label]:before{content:attr(data-label);color:var(--ink-3);text-align:left;grid-row:span 9;align-self:start;font-size:13px}.rtable.rtable-wide td.cell-main{text-align:left;justify-content:space-between;gap:10px;padding-bottom:6px;font-weight:600;display:flex}.rtable.rtable-wide td.cell-actions{padding-top:10px}.rtable.rtable-wide td.cell-actions>div{justify-content:flex-start;width:100%}.rtable.rtable-wide td.hide-card{display:none}.rtable.rtable-wide .show-card{display:inline-flex}}.stat-value{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=559px){.stat-value{font-size:clamp(17px,5.2vw,22px)}.stat{padding:12px}.stat-ico{width:30px;height:30px}.quick a,.quick button{gap:10px;min-height:60px;padding:12px}.quick .q-ico{width:36px;height:36px}.quick b{font-size:14px;line-height:1.25}.hero-figure{gap:18px}.doc-row{gap:10px;padding:12px 14px}.doc-row .doc-ico{display:none}}.doc-row .meta{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}@media (width<=559px){.section-title .title-extra{flex-basis:100%;padding-left:44px}}@media (width<=759px){.rtable td.cell-main .sub.show-card{display:block}}@media (width>=760px) and (width<=1099px){.rtable.rtable-wide td.cell-main .sub.show-card{display:block}}.rtable td[data-label]:before{font-weight:400}.card>.rtable thead th:first-child{border-top-left-radius:15px}.card>.rtable thead th:last-child{border-top-right-radius:15px}.side-org{position:relative}.side-org-select{opacity:0;cursor:pointer;width:100%;font-size:16px;position:absolute;inset:0}.side-org:has(.side-org-select):after{content:"▾";color:var(--ink-3);font-size:13px}@media (width>=760px){.line-item.with-iva{grid-template-columns:minmax(0,3fr) minmax(80px,.8fr) minmax(100px,1fr) minmax(150px,1.3fr) minmax(90px,auto)}}
