:root{--c-bg-deep: #f5f6f8;--c-bg: #ffffff;--c-bg-soft: #f0f2f5;--c-panel: rgba(0, 0, 0, .025);--c-panel-strong: rgba(0, 0, 0, .04);--c-panel-hover: rgba(0, 0, 0, .055);--c-fg: #0d1118;--c-fg-muted: #4b5563;--c-fg-dim: #6b7280;--c-label: var(--c-fg-dim);--c-value: var(--c-fg);--c-line: rgba(0, 0, 0, .08);--c-line-strong: rgba(0, 0, 0, .14);--c-line-soft: rgba(0, 0, 0, .05);--c-accent: #4182C1;--c-accent-soft: rgba(65, 130, 193, .14);--c-accent-line: rgba(65, 130, 193, .45);--c-ok: #16a34a;--c-warn: #c2410c;--c-err: #dc2626;--brand-grad: linear-gradient(135deg, #0ABDB4 0%, #4182C1 50%, #9C21D6 100%);--brand-grad-btn: linear-gradient(135deg, #4182C1 0%, #6E3FC9 60%, #9C21D6 100%);--brand-grad-160: linear-gradient(160deg, #0ABDB4, #4182C1, #9C21D6);--brand-grad-soft: linear-gradient(135deg, rgba(10,189,180,.1), rgba(65,130,193,.1), rgba(156,33,214,.1));--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--r-sm: 6px;--r: 10px;--r-lg: 14px;--r-xl: 20px;--shadow-1: 0 1px 0 rgba(255, 255, 255, .8) inset, 0 1px 2px rgba(0, 0, 0, .06);--shadow-2: 0 1px 0 rgba(255, 255, 255, .8) inset, 0 8px 24px -8px rgba(0, 0, 0, .14);--shadow-elev: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 24px 60px -20px rgba(0, 0, 0, .22);--t-fast: .12s cubic-bezier(.2, .8, .2, 1);--t: .2s cubic-bezier(.2, .8, .2, 1);--t-slow: .36s cubic-bezier(.2, .8, .2, 1);--font: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, "Cascadia Mono", Consolas, monospace;--fs-2xs: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-base:14px;--fs-md: 16px;--fs-lg: 19px;--fs-xl: 22px;--fs-2xl: 26px;--fs-3xl: 32px;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.2;--lh-snug: 1.4;--lh-normal: 1.5;--c-gold-bg: #fdf2c8;--c-gold-fg: #92591b;--c-mention-bg: rgba(96, 165, 250, .16);--c-mention-fg: #2563eb;color-scheme:light}:root[data-theme=dark]{--c-bg-deep: #07080b;--c-bg: #0b0d12;--c-bg-soft: #11141b;--c-panel: rgba(255, 255, 255, .03);--c-panel-strong: rgba(255, 255, 255, .045);--c-panel-hover: rgba(255, 255, 255, .06);--c-fg: #eef1f6;--c-fg-muted: #8a93a3;--c-fg-dim: #76808f;--c-line: rgba(255, 255, 255, .07);--c-line-strong: rgba(255, 255, 255, .12);--c-line-soft: rgba(255, 255, 255, .04);--c-accent: #5B97D6;--c-accent-soft: rgba(91, 151, 214, .16);--c-accent-line: rgba(91, 151, 214, .45);--c-ok: #6ee7a8;--c-warn: #f5b87f;--c-err: #ff8a92;--shadow-1: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 8px 24px -8px rgba(0, 0, 0, .6);--shadow-elev: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 24px 60px -20px rgba(0, 0, 0, .7);--c-gold-bg: rgba(245, 184, 127, .16);--c-gold-fg: #f5b87f;--c-mention-bg: rgba(122, 166, 255, .16);--c-mention-fg: #7aa6ff;color-scheme:dark}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{color-scheme:dark}*{box-sizing:border-box}*::selection{background:var(--c-accent-soft);color:var(--c-fg)}html,body,#root{height:100%;margin:0}body{font-family:var(--font);font-size:var(--fs-sm);line-height:var(--lh-normal);color:var(--c-fg);letter-spacing:.01em;background:radial-gradient(80vw 60vh at 75% -10%,rgba(37,99,235,.06),transparent 60%),radial-gradient(70vw 50vh at -10% 110%,rgba(22,163,74,.04),transparent 60%),var(--c-bg-deep);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:root[data-theme=dark] body{background:radial-gradient(80vw 60vh at 75% -10%,rgba(122,166,255,.06),transparent 60%),radial-gradient(70vw 50vh at -10% 110%,rgba(110,231,168,.04),transparent 60%),var(--c-bg-deep);background-attachment:fixed}a{color:var(--c-fg);text-decoration:none;border-bottom:1px solid transparent;transition:border-color var(--t),color var(--t)}a:hover{border-bottom-color:var(--c-accent-line);color:var(--c-accent)}h1,h2,h3{letter-spacing:-.01em;font-weight:var(--fw-semibold)}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-md)}p{margin:0 0 var(--s-3)}button,.btn{font:inherit;cursor:pointer;background:var(--c-panel);color:var(--c-fg);border:1px solid var(--c-line);padding:8px 14px;border-radius:var(--r-sm);transition:background var(--t),border-color var(--t),color var(--t),transform var(--t-fast);letter-spacing:.01em;font-weight:500}button:hover,.btn:hover{background:var(--c-panel-hover);border-color:var(--c-line-strong)}button:active,.btn:active{transform:translateY(1px)}button:focus-visible{outline:2px solid var(--c-accent-line);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}button.ghost{background:transparent;border-color:transparent}button.ghost:hover{background:var(--c-panel);border-color:var(--c-line)}input,select,textarea{color-scheme:light;font:inherit;background:var(--c-panel);border:1px solid var(--c-line);border-radius:var(--r-sm);color:var(--c-fg);padding:9px 12px;width:100%;transition:border-color var(--t),background var(--t),box-shadow var(--t)}input::placeholder,textarea::placeholder{color:var(--c-fg-dim)}input:hover,select:hover,textarea:hover{border-color:var(--c-line-strong)}select option{background:#fff;color:#15171f}select option:checked,select option:hover{background:#e8edf5;color:#15171f}:root[data-theme=dark] select option{background:#11141b;color:#eef1f6}:root[data-theme=dark] select option:checked,:root[data-theme=dark] select option:hover{background:#1d2230;color:#eef1f6}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--c-accent-line);background:var(--c-panel-strong);box-shadow:0 0 0 3px var(--c-accent-soft)}label{display:block;margin-bottom:6px;color:var(--c-fg-muted);font-size:11px;letter-spacing:.04em;text-transform:uppercase;font-weight:500}.card,.glass{background:linear-gradient(180deg,#ffffff0a,#ffffff05);backdrop-filter:blur(14px) saturate(1.05);-webkit-backdrop-filter:blur(14px) saturate(1.05);border:1px solid var(--c-line);border-radius:var(--r);padding:var(--s-4);box-shadow:var(--shadow-1)}.elev{box-shadow:var(--shadow-elev)}.muted{color:var(--c-fg-muted)}.dim{color:var(--c-fg-dim)}.error{color:var(--c-err)}.ok{color:var(--c-ok)}.mono{font-family:var(--font-mono);font-size:12px}.row{margin-bottom:var(--s-3)}.grow{flex:1}.gap-1{gap:var(--s-1)}.gap-2{gap:var(--s-2)}.gap-3{gap:var(--s-3)}.gap-4{gap:var(--s-4)}.flex{display:flex}.flex-c{display:flex;align-items:center}.between{display:flex;align-items:center;justify-content:space-between}.layout{display:grid;grid-template-rows:60px 1fr;height:100vh}.topbar{position:sticky;top:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--s-5);padding:0 var(--s-5);background:linear-gradient(180deg,#07080bd9,#07080bb3);backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);border-bottom:1px solid var(--c-line);z-index:50}.topbar-center{display:flex;align-items:center;gap:var(--s-4);min-width:0;flex:1}.searchbox{position:relative;flex:0 1 380px;min-width:0}.searchbox input[type=search]{width:100%;padding:8px 12px;background:var(--c-panel);border:1px solid var(--c-line);border-radius:var(--r-sm)}.searchbox-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:linear-gradient(180deg,#07080bfa,#07080b);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--c-line);border-radius:var(--r);box-shadow:var(--shadow-elev);z-index:100;max-height:60vh;overflow:auto;padding:4px}.sb-group{margin-bottom:4px}.sb-group:last-child{margin-bottom:0}.sb-group-title{padding:8px 10px 4px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--c-fg-muted)}.sb-row{display:block;width:100%;text-align:left;padding:8px 10px;background:transparent;border:none;color:var(--c-fg);cursor:pointer;border-radius:var(--r-sm);font-size:13px;transition:background var(--t-fast)}.sb-row:hover{background:var(--c-panel)}.sb-row+.sb-row{border-top:1px solid var(--c-line-soft)}.lang-toggle{font-family:var(--font)}.brand{display:flex;align-items:center;gap:var(--s-2);font-weight:600;font-size:14px;letter-spacing:.02em}.brand .logo{width:22px;height:22px;border-radius:6px;background:conic-gradient(from 200deg at 50% 50%,#7aa6ff,#6ee7a8,#f5b87f,#7aa6ff);position:relative;box-shadow:0 0 0 1px var(--c-line-strong),0 0 18px #7aa6ff59}.brand .logo:after{content:"";position:absolute;inset:4px;border-radius:4px;background:var(--c-bg-deep)}.brand .name{font-weight:600}.brand .name .accent{color:var(--c-accent)}.nav{display:flex;gap:4px;justify-content:center}.nav a{padding:8px 14px;border-radius:var(--r-sm);color:var(--c-fg-muted);border:none;font-weight:500;font-size:13px;transition:background var(--t),color var(--t)}.nav a:hover{background:var(--c-panel);color:var(--c-fg);border-bottom-color:transparent}.nav a.active{background:var(--c-panel-strong);color:var(--c-fg);box-shadow:inset 0 -2px 0 var(--c-accent)}.user{display:flex;align-items:center;gap:var(--s-3);font-size:13px}.user .who{color:var(--c-fg);font-weight:500}.user .role{color:var(--c-fg-muted);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.nav-desktop,.user-desktop{display:flex}.topbar-mobile-actions{display:none;align-items:center;gap:var(--s-2)}.hamburger{width:36px;height:36px;display:grid;place-items:center;padding:0;border-radius:var(--r-sm);color:var(--c-fg)}.hamburger:hover{background:var(--c-panel)}.avatar{letter-spacing:.02em}.drawer-backdrop{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:90;animation:fadein .16s ease}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes slidein{0%{transform:translate(8px);opacity:0}to{transform:translate(0);opacity:1}}.drawer{position:fixed;top:56px;right:0;bottom:0;width:min(320px,86vw);z-index:95;background:linear-gradient(180deg,#0b0d12f5,#0b0d12fc);backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);border-left:1px solid var(--c-line);box-shadow:-20px 0 60px #00000080;display:flex;flex-direction:column;padding:var(--s-4);animation:slidein .2s ease}.drawer-user{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3);border:1px solid var(--c-line);border-radius:var(--r);background:var(--c-panel);margin-bottom:var(--s-4)}.drawer-nav{display:flex;flex-direction:column;gap:2px;flex:1}.drawer-nav a{display:block;padding:12px 14px;border-radius:var(--r-sm);color:var(--c-fg-muted);border:1px solid transparent;font-size:14px;font-weight:500;transition:background var(--t),color var(--t),border-color var(--t)}.drawer-nav a:hover{background:var(--c-panel);color:var(--c-fg);border-bottom-color:transparent}.drawer-nav a.active{background:var(--c-accent-soft);color:var(--c-accent);border-color:var(--c-accent-line)}.drawer-logout{margin-top:var(--s-3);padding:12px;text-align:center;font-weight:500}.content{padding:var(--s-6);overflow:auto;max-width:1480px;width:100%;margin:0 auto}.center-wrap{display:grid;place-items:center;min-height:100vh;padding:var(--s-6)}.login-card{width:min(400px,100%);padding:var(--s-8)}.login-card .brand{margin-bottom:var(--s-6);justify-content:center}.login-card h1{margin:0 0 var(--s-2);font-size:22px;font-weight:600;text-align:center;letter-spacing:-.01em}.login-card .sub{color:var(--c-fg-muted);text-align:center;margin-bottom:var(--s-6);font-size:12px}.login-card .err{color:var(--c-err);margin-top:var(--s-3);min-height:18px;font-size:12px}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--c-line);margin-bottom:var(--s-5)}.tabs button{background:transparent;border:none;color:var(--c-fg-muted);padding:10px 16px;border-radius:0;border-bottom:1px solid transparent;margin-bottom:-1px;font-weight:500;font-size:13px;transition:color var(--t),border-color var(--t),background var(--t)}.tabs button:hover{color:var(--c-fg);background:var(--c-panel)}.tabs button.active{color:var(--c-fg);border-bottom-color:var(--c-accent)}.tabs.tabs-groups{margin-bottom:0;border-bottom-width:2px}.tabs.tabs-groups button{font-weight:600;font-size:14px;padding:12px 18px;letter-spacing:.01em}.tabs.tabs-groups button.active{border-bottom-color:var(--c-accent);border-bottom-width:2px}.tabs.tabs-sub{margin-top:0;margin-bottom:var(--s-5);border-bottom-color:var(--c-line-soft);padding-left:var(--s-2)}.tabs.tabs-sub button{font-size:12px;padding:8px 12px;font-weight:400}.tabs.tabs-sub button.active{font-weight:600}.toggle-switch{position:relative;display:inline-block;width:38px;height:22px;flex:0 0 auto}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch .slider{position:absolute;cursor:pointer;inset:0;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:999px;transition:background var(--t),border-color var(--t)}.toggle-switch .slider:before{content:"";position:absolute;height:16px;width:16px;left:2px;top:2px;background:var(--c-fg-muted);border-radius:50%;transition:transform var(--t),background var(--t)}.toggle-switch input:checked+.slider{background:var(--c-accent);border-color:var(--c-accent)}.toggle-switch input:checked+.slider:before{transform:translate(16px);background:#0b0d12}.toggle-switch input:disabled+.slider{opacity:.5;cursor:not-allowed}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--c-panel);border:1px solid var(--c-line);border-radius:6px;color:var(--c-fg);cursor:pointer;transition:background var(--t),border-color var(--t),color var(--t),box-shadow var(--t)}.icon-btn:hover{background:var(--c-panel-strong);color:var(--c-accent);border-color:var(--c-accent-line);box-shadow:0 0 0 3px var(--c-accent-soft)}.icon-btn svg{width:16px;height:16px;stroke-width:2.2;flex-shrink:0}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.group-stats{display:grid;grid-template-columns:52px 64px 80px 110px minmax(72px,auto);align-items:center;gap:18px;font-size:12px}.group-stats-status{display:flex;gap:3px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:720px){.group-stats{grid-template-columns:repeat(2,1fr);gap:10px 16px;width:100%}.group-stats-status{grid-column:1 / -1;justify-content:flex-start}}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:500;letter-spacing:.02em;background:var(--c-panel);color:var(--c-fg-muted);border:1px solid var(--c-line)}.badge.ok{background:#6ee7a81a;color:var(--c-ok);border-color:#6ee7a859}.badge.warn{background:#f5b87f1a;color:var(--c-warn);border-color:#f5b87f59}.badge.err{background:#ff8a921a;color:var(--c-err);border-color:#ff8a9259}.badge.busy,.badge.accent{background:var(--c-accent-soft);color:var(--c-accent);border-color:var(--c-accent-line)}.badge.dim{background:transparent}.toolbar{display:flex;gap:var(--s-3);align-items:center;margin-bottom:var(--s-4)}table{width:100%;border-collapse:separate;border-spacing:0}th,td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--c-line-soft);vertical-align:middle}th{font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--c-fg-muted);position:sticky;top:0;background:var(--c-bg-soft);box-shadow:0 1px 0 var(--c-line),0 4px 8px #0003;z-index:5}tbody tr{transition:background var(--t-fast)}tbody tr:hover td{background:var(--c-panel)}.card.no-pad{padding:0}.card.no-pad table{width:100%}.card.no-pad.scroll-x{overflow-x:auto}.card.no-pad.scroll-x table{min-width:max-content}table.data-table{font-variant-numeric:tabular-nums;font-size:13px}table.data-table thead th{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--c-label);font-weight:600;padding:11px 12px 9px;border-bottom:1px solid var(--c-line-soft)}table.data-table tbody td{padding:10px 12px;border-bottom:1px solid var(--c-line-soft)}table.data-table tbody tr:nth-child(2n) td{background:transparent}table.data-table tbody tr:hover td{background:var(--c-panel-hover)}table.data-table tbody tr:last-child td{border-bottom:none}table.data-table td.num,table.data-table th.num{text-align:right;font-variant-numeric:tabular-nums}:root[data-theme=light] table.data-table tbody tr:nth-child(2n) td{background:transparent}.card.no-pad table.data-table th:first-child,.card.no-pad table.data-table td:first-child{padding-left:16px}.card.no-pad table.data-table th:last-child,.card.no-pad table.data-table td:last-child{padding-right:16px}.kv{display:grid;grid-template-columns:220px 1fr;gap:var(--s-2) var(--s-5);font-size:13px}.kv>.k{color:var(--c-label);font-size:11px;text-transform:uppercase;letter-spacing:.05em;align-self:center}.kv>.v{word-break:break-word;color:var(--c-value)}.kv>.v.dim{color:var(--c-fg-dim)}.progress{height:4px;background:var(--c-panel);border-radius:999px;overflow:hidden}.progress>div{height:100%;background:linear-gradient(90deg,var(--c-accent),#93b9ff);transition:width var(--t-slow)}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--s-3)}.gallery img{width:100%;height:160px;object-fit:cover;border-radius:var(--r-sm);background:var(--c-panel);cursor:zoom-in;border:1px solid var(--c-line);transition:transform var(--t),border-color var(--t),box-shadow var(--t)}.gallery img:hover{transform:translateY(-2px);border-color:var(--c-accent-line);box-shadow:0 8px 32px -10px #00000080,0 0 0 1px var(--c-accent-line)}dialog.lightbox{border:none;background:transparent;width:100vw;height:100vh;max-width:100vw;max-height:100vh;padding:0;color:var(--c-fg)}dialog.lightbox::backdrop{background:#000000eb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}dialog.lightbox img{max-width:95vw;max-height:95vh;display:block;margin:auto;box-shadow:0 30px 80px #000000b3;border-radius:var(--r-sm)}dialog.modal{position:fixed;inset:0;border:none;background:#0009;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);width:100vw;height:100vh;max-width:100vw;max-height:100vh;padding:0;display:grid;place-items:center;z-index:1000}dialog.modal[open]{display:grid}dialog.modal .modal-card{width:min(560px,95vw);max-height:86vh;overflow:auto}.empty{padding:var(--s-10);text-align:center;color:var(--c-fg-muted)}.spinner{width:14px;height:14px;border:2px solid var(--c-line-strong);border-top-color:var(--c-accent);border-radius:50%;display:inline-block;animation:spin .6s linear infinite;vertical-align:middle}.tree-row{display:flex;align-items:center;gap:6px;padding:5px 6px;border-radius:var(--r-sm);cursor:pointer;user-select:none;transition:background var(--t-fast);font-size:13px}.tree-row:hover{background:var(--c-panel)}.tree-row .arrow{width:14px;color:var(--c-fg-dim);display:inline-block;text-align:center;font-size:10px}.tree-row strong{font-weight:500}.tree-children{border-left:1px solid var(--c-line-soft);margin-left:13px;padding-left:10px}.tree-leaves{margin:4px 0 var(--s-3) 27px}.tree-leaves table th,.tree-leaves table td{padding:6px 10px;border-bottom:1px solid var(--c-line-soft)}.tree-leaves table tr:last-child td{border-bottom:none}.job-card{padding:var(--s-4)}.job-meta{font-size:11px;color:var(--c-fg-dim);letter-spacing:.02em}@media(max-width:960px){body{font-size:13px}.content{padding:var(--s-4)}.topbar{padding:0 var(--s-4);gap:var(--s-3)}.kv{grid-template-columns:160px 1fr;gap:4px var(--s-4)}}@media(max-width:720px){body{font-size:13px}.layout{grid-template-rows:56px 1fr}.topbar{grid-template-columns:1fr auto;gap:var(--s-2);padding:0 var(--s-3)}.topbar .brand-text,.nav-desktop,.user-desktop,.topbar-center{display:none}.topbar-mobile-actions{display:flex}.content{padding:var(--s-3)}h2{font-size:17px}h3{font-size:14px}.card{padding:var(--s-3);border-radius:var(--r-sm)}.kv{grid-template-columns:1fr;gap:0 4px}.kv>.k{font-size:10px;padding-top:8px}.kv>.v{padding-bottom:6px;border-bottom:1px solid var(--c-line-soft)}.kv>.v:last-of-type{border-bottom:none}th,td{padding:8px;font-size:12px}th{font-size:10px}.tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;margin:0 calc(-1 * var(--s-3)) var(--s-3);padding:0 var(--s-3)}.tabs::-webkit-scrollbar{display:none}.tabs button{white-space:nowrap;flex:0 0 auto;padding:8px 12px;font-size:12px}.toolbar{flex-wrap:wrap;gap:var(--s-2)}.toolbar input,.toolbar select{width:100%}.between{flex-wrap:wrap;gap:var(--s-2)}.between>div{min-width:0}.patterns-grid{grid-template-columns:1fr!important;gap:var(--s-3)!important}.patterns-grid>div:first-child img{max-height:280px;width:auto!important;max-width:100%}.stack-on-mobile{grid-template-columns:1fr!important}.gallery{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px}.gallery img{height:110px}.login-card{padding:var(--s-5)}.login-card h1{font-size:19px}dialog.modal .modal-card{padding:var(--s-3)}.help-layout{grid-template-columns:1fr!important;gap:var(--s-3)!important}.help-toc{position:static!important;border-right:none!important;border-bottom:1px solid var(--c-line-soft);padding-bottom:8px}}.help-prose h2{font-size:20px;margin-top:32px}.help-prose h3{font-size:17px;margin-top:24px}.help-prose h4{font-size:14px;margin-top:18px;margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em;color:var(--c-fg-muted)}.help-prose p{margin:8px 0}.help-prose ul,.help-prose ol{margin:8px 0;padding-left:22px}.help-prose li{margin:4px 0}.help-prose table{margin:12px 0;font-size:13px}.help-prose th,.help-prose td{padding:8px 12px;vertical-align:top}.help-toc a:hover{background:var(--c-panel)!important}@media(max-width:380px){th,td{padding:6px;font-size:11px}.card{padding:var(--s-2)}.nav a{padding:6px 8px;font-size:11px}}.topnav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:var(--s-4);padding:0 var(--s-5);height:56px;background:#ffffffe0;backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);border-bottom:1px solid var(--c-line)}:root[data-theme=dark] .topnav{background:#0b0d12e0}.topnav:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--brand-grad);pointer-events:none}.topnav-links{display:flex;align-items:center;gap:var(--s-1);flex:1;flex-wrap:wrap}.topnav-link{display:inline-flex;align-items:center;gap:var(--s-1);padding:6px 10px;border-radius:var(--r-sm);color:var(--c-fg-muted);font-size:13px;white-space:nowrap;border:1px solid transparent;transition:background var(--t),color var(--t),border-color var(--t)}.topnav-link:hover{color:var(--c-fg);background:var(--c-panel-hover);border-bottom-color:transparent}.topnav-link{position:relative}.topnav-link.active{color:var(--c-fg);background:var(--c-accent-soft);border-color:transparent;font-weight:var(--fw-semibold)}.topnav-link.active:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;border-radius:2px;background:var(--brand-grad)}.topnav-link.disabled{opacity:.4;cursor:not-allowed}.topnav-right{display:flex;align-items:center;gap:var(--s-2);margin-left:auto}.btn-primary{font:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:8px 16px;border-radius:var(--r-sm);border:0;background:var(--brand-grad-btn);color:#fff;font-size:13px;font-weight:600;letter-spacing:.01em;box-shadow:0 1px 2px #00000038,0 1px #ffffff2e inset;transition:filter var(--t),transform var(--t-fast),box-shadow var(--t)}.btn-primary:hover{filter:brightness(1.08) saturate(1.05);box-shadow:0 4px 14px -3px #4182c173,0 1px #ffffff38 inset}.btn-primary:active{transform:translateY(1px)}.btn-primary:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.btn-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;filter:none}.btn-secondary{font:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:7px 14px;border-radius:var(--r-sm);border:1px solid var(--c-accent-line);background:var(--c-accent-soft);color:var(--c-accent);font-size:13px;font-weight:500;transition:background var(--t),border-color var(--t),transform var(--t-fast)}.btn-secondary:hover{background:#7aa6ff2e;border-color:var(--c-accent)}.btn-secondary:active{transform:translateY(1px)}.btn-secondary:focus-visible{outline:2px solid var(--c-accent-line);outline-offset:2px}.btn-secondary:disabled{opacity:.45;cursor:not-allowed}:root[data-theme=light] .btn-secondary:hover{background:#2563eb29}.btn-danger{font:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:7px 14px;border-radius:var(--r-sm);border:1px solid rgba(220,38,38,.4);background:#dc26261a;color:var(--c-err);font-size:13px;font-weight:500;transition:background var(--t),border-color var(--t),transform var(--t-fast)}.btn-danger:hover{background:#dc26262e;border-color:var(--c-err)}.btn-danger:active{transform:translateY(1px)}.btn-danger:focus-visible{outline:2px solid rgba(220,38,38,.45);outline-offset:2px}.btn-danger:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{font:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-1);padding:6px 12px;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--c-fg-muted);font-size:13px;transition:background var(--t),color var(--t),border-color var(--t)}.btn-ghost:hover{background:var(--c-panel-hover);color:var(--c-fg);border-color:var(--c-line)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.row-clickable{cursor:pointer;transition:background var(--t-fast)}.row-clickable:hover{background:var(--c-panel-hover)}.card{background:linear-gradient(180deg,#ffffff0d,#ffffff06);border:1px solid rgba(255,255,255,.09);box-shadow:var(--shadow-2)}@media(max-width:900px){.topnav{padding:0 var(--s-3);gap:var(--s-2)}.topnav-link{padding:4px 8px;font-size:12px}}.topnav-group{position:relative;display:inline-flex;align-items:center}.topnav-trigger{cursor:pointer;background:transparent;border:1px solid transparent;font:inherit}.topnav-caret{margin-left:var(--s-1);opacity:.7;font-size:10px}.topnav-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;padding:var(--s-1);display:flex;flex-direction:column;gap:2px;background:#fffffffa;border:1px solid var(--c-line-strong);border-radius:var(--r);box-shadow:var(--shadow-elev);z-index:100;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.topnav-dropdown-item{display:block;padding:8px 12px;border-radius:var(--r-sm);color:var(--c-fg-muted);font-size:13px;white-space:nowrap;text-decoration:none;border-bottom:0;transition:background var(--t-fast),color var(--t-fast)}.topnav-dropdown-item:hover{background:var(--c-panel-hover);color:var(--c-fg);border-bottom-color:transparent}.topnav-dropdown-item.active{background:var(--c-accent-soft);color:var(--c-accent)}:root[data-theme=light]{--c-bg-deep: #f5f6f8;--c-bg: #ffffff;--c-bg-soft: #f0f2f5;--c-panel: rgba(0, 0, 0, .025);--c-panel-strong: rgba(0, 0, 0, .04);--c-panel-hover: rgba(0, 0, 0, .055);--c-fg: #0d1118;--c-fg-muted: #4b5563;--c-fg-dim: #8a93a3;--c-line: rgba(0, 0, 0, .08);--c-line-strong: rgba(0, 0, 0, .14);--c-line-soft: rgba(0, 0, 0, .05);--c-accent: #4182C1;--c-accent-soft: rgba(65, 130, 193, .14);--c-accent-line: rgba(65, 130, 193, .45);--c-ok: #16a34a;--c-warn: #c2410c;--c-err: #dc2626;--shadow-1: 0 1px 0 rgba(255, 255, 255, .8) inset, 0 1px 2px rgba(0, 0, 0, .06);--shadow-2: 0 1px 0 rgba(255, 255, 255, .8) inset, 0 8px 24px -8px rgba(0, 0, 0, .14);--shadow-elev: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 24px 60px -20px rgba(0, 0, 0, .22);--c-gold-bg: #fdf2c8;--c-gold-fg: #92591b;--c-mention-bg: rgba(96, 165, 250, .16);--c-mention-fg: #2563eb;color-scheme:light}:root[data-theme=light] body{background:radial-gradient(80vw 60vh at 75% -10%,rgba(37,99,235,.07),transparent 60%),radial-gradient(70vw 50vh at -10% 110%,rgba(22,163,74,.05),transparent 60%),var(--c-bg-deep)}:root[data-theme=light] .topnav-dropdown{background:#fffffffa}:root[data-theme=dark] .topnav-dropdown{background:#11141bfa}:root[data-theme=light] .topnav{background:#ffffffe0}:root[data-theme=light] .card{background:linear-gradient(180deg,#ffffffe6,#fff9);border-color:var(--c-line)}.dashboard-tile{position:relative;padding:var(--s-4);min-width:160px;flex:1 1 160px;display:flex;flex-direction:column;gap:6px;overflow:hidden;transition:transform var(--t-fast),border-color var(--t),box-shadow var(--t)}.dashboard-tile:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--brand-grad)}.dashboard-tile-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--c-fg-muted);font-weight:500}.dashboard-tile-value{font-size:30px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--c-fg);line-height:1.1}.dashboard-tile-hint{font-size:12px;color:var(--c-fg-dim);margin-top:auto}.dashboard-tile-link{display:block;text-decoration:none;color:inherit;border-radius:var(--r);border-bottom:none}.dashboard-tile-link:hover{color:inherit;border-bottom-color:transparent}.dashboard-tile-link:hover .dashboard-tile{transform:translateY(-1px);border-color:var(--c-accent-line);box-shadow:var(--shadow-2)}.dashboard-tile-link:hover .dashboard-tile-value{color:var(--c-accent)}.dashboard-tile-link:focus-visible{outline:2px solid var(--c-accent-line);outline-offset:2px}.page-toolbar{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;margin-bottom:var(--s-4)}.page-toolbar .page-toolbar-title{margin:0;flex:1 1 320px;min-width:0}.page-toolbar .page-toolbar-actions{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.more-menu{position:relative;display:inline-flex}.more-menu .more-menu-trigger{width:32px;height:32px;padding:0;display:inline-grid;place-items:center;font-size:16px;line-height:1}.more-menu-dropdown{position:absolute;top:calc(100% + 6px);min-width:200px;background:#fff;border:1px solid var(--c-line);border-radius:var(--r);box-shadow:var(--shadow-elev);padding:4px;z-index:60;display:flex;flex-direction:column;gap:2px;animation:more-menu-in .14s ease}:root[data-theme=light] .more-menu-dropdown{background:#fffffffa}@keyframes more-menu-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}.more-menu-right{right:0}.more-menu-left{left:0}.more-menu-item{display:block;width:100%;text-align:left;padding:8px 12px;background:transparent;border:none;color:var(--c-fg);cursor:pointer;font:inherit;font-size:13px;border-radius:var(--r-sm);text-decoration:none;transition:background var(--t-fast)}.more-menu-item:hover,.more-menu-item.focused{background:var(--c-panel-hover)}.more-menu-item.danger{color:var(--c-err)}.more-menu-item.danger:hover{background:#dc26261f}.more-menu-item.disabled{opacity:.45;cursor:not-allowed}.pager{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-panel)}.pager>a,.pager>span.pager-step{display:inline-grid;place-items:center;width:26px;height:26px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--c-fg);text-decoration:none;font-size:16px;line-height:1;transition:background var(--t-fast),color var(--t-fast)}.pager>a:hover{background:var(--c-panel-hover);color:var(--c-accent);border-bottom-color:transparent}.pager>span.pager-step.is-disabled{opacity:.3;pointer-events:none}.pager .pager-pos{font-size:11px;font-variant-numeric:tabular-nums;color:var(--c-fg-muted);padding:0 6px;border-left:1px solid var(--c-line);border-right:1px solid var(--c-line);height:26px;display:inline-flex;align-items:center}.attachment-tile{position:relative;transition:transform var(--t-fast)}.attachment-tile:hover{transform:translateY(-1px)}.attachment-tile .detach-btn{position:absolute;top:6px;right:6px;width:24px;height:24px;padding:0;display:grid;place-items:center;border-radius:50%;background:#0000008c;color:var(--c-err);border:1px solid rgba(220,38,38,.45);font-size:14px;line-height:1;cursor:pointer;opacity:0;transform:scale(.92);transition:opacity var(--t-fast),transform var(--t-fast),background var(--t-fast);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.attachment-tile:hover .detach-btn,.attachment-tile .detach-btn:focus-visible{opacity:1;transform:scale(1)}.attachment-tile .detach-btn:hover{background:#dc2626d9;color:#fff}.attachment-tile .detach-btn:disabled{opacity:.4;cursor:not-allowed}.inbox-row{display:flex;align-items:center;gap:var(--s-3);padding:12px 14px;border-bottom:1px solid var(--c-line-soft);border-left:2px solid transparent;text-decoration:none;color:inherit;font-size:14px;transition:background var(--t-fast),border-left-color var(--t-fast)}.inbox-row:hover{background:var(--c-panel-hover);color:inherit;border-bottom-color:var(--c-line-soft)}.inbox-row:last-child{border-bottom:none}.inbox-row-unread{background:var(--c-accent-soft);border-left-color:var(--c-accent)}.inbox-row-unread:hover{background:#7aa6ff33}:root[data-theme=light] .inbox-row-unread:hover{background:#2563eb24}.inbox-row-id{font-size:11.5px;color:var(--c-fg-muted);min-width:110px}.inbox-row-title{flex:1;min-width:0}.inbox-row-time{font-size:11.5px;color:var(--c-fg-dim);font-variant-numeric:tabular-nums}.badge-count{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 7px;border-radius:999px;background:var(--c-accent);color:#06121f;font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums}:root[data-theme=light] .badge-count{color:#fff}.gantt-bar{position:absolute;top:12px;height:18px;min-width:4px;border-radius:4px;background:linear-gradient(180deg,var(--c-accent),color-mix(in srgb,var(--c-accent) 75%,transparent));opacity:.45;box-shadow:inset 0 1px #ffffff2e;transition:opacity var(--t-fast)}.gantt-bar:hover{opacity:.65}.gantt-tick{position:absolute;top:6px;width:3px;height:30px;border-radius:2px;box-shadow:0 0 0 1px #00000080,0 0 0 2px #ffffff14;pointer-events:auto;cursor:help}:root[data-theme=light] .gantt-tick{box-shadow:0 0 0 1px #fff9,0 0 0 2px #00000014}.tick-sketch{background:var(--c-accent)}.tick-factory{background:#c084fc}.tick-arrival{background:var(--c-ok)}.gantt-legend{display:flex;gap:var(--s-4);padding:var(--s-2) var(--s-3);font-size:11px;color:var(--c-fg-muted);border-top:1px solid var(--c-line-soft)}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle;box-shadow:0 0 0 1px #00000080}.legend-sketch{background:var(--c-accent)}.legend-factory{background:#c084fc}.legend-arrival{background:var(--c-ok)}.query-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-3);min-height:120px;text-align:center}.query-state-loading,.query-state-empty,.query-state-error{color:var(--c-fg-muted);font-size:13px}.query-state-loading{gap:var(--s-2);flex-direction:row}.query-state-spinner{width:16px;height:16px;border:2px solid var(--c-line);border-top-color:var(--c-accent);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.query-state-empty-title{font-size:14px;color:var(--c-fg-muted);font-weight:500}.query-state-empty-action{margin-top:var(--s-2)}.query-state-error{color:var(--c-err)}.query-state-icon{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#dc262624;color:var(--c-err);font-weight:700;font-size:12px;border:1px solid rgba(220,38,38,.3)}.active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);padding:4px 0 var(--s-3);font-size:12px}.active-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 4px 4px 10px;background:var(--c-panel);border:1px solid var(--c-line);border-radius:999px;line-height:1;height:24px}.active-filter-label{color:var(--c-fg-muted);text-transform:lowercase;letter-spacing:.01em}.active-filter-value{color:var(--c-fg);font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-filter-clear{display:inline-grid;place-items:center;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--c-fg-muted);cursor:pointer;font-size:14px;line-height:1;transition:background var(--t-fast),color var(--t-fast)}.active-filter-clear:hover{background:var(--c-panel-hover);color:var(--c-err)}.active-filter-clear-all{padding:4px 10px;font-size:12px;color:var(--c-fg-muted)}.active-filter-clear-all:hover{color:var(--c-accent)}.bulk-bar{position:sticky;top:0;z-index:6;display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;padding:10px 16px;background:var(--c-accent-soft);border-bottom:1px solid var(--c-accent-line);backdrop-filter:blur(10px) saturate(1.15);-webkit-backdrop-filter:blur(10px) saturate(1.15);font-size:13px}.bulk-bar .bulk-count{display:inline-flex;align-items:baseline;gap:6px;padding-right:var(--s-3);font-variant-numeric:tabular-nums}.bulk-bar .bulk-count strong{font-size:15px;color:var(--c-accent)}.bulk-bar .bulk-divider{width:1px;height:22px;background:var(--c-accent-line);margin:0 var(--s-1)}.bulk-bar .bulk-error{color:var(--c-err);font-size:12px;margin-left:var(--s-2)}.bulk-bar .bulk-cancel{margin-left:auto}.bulk-bar select{padding:6px 10px;font-size:13px;background:var(--c-panel)}.status-pill-link{display:inline-flex;align-items:center;gap:var(--s-2);padding:5px 11px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--pill-bg, var(--c-fg-muted)) 9%,var(--c-panel));color:var(--c-fg);border:1px solid color-mix(in srgb,var(--pill-bg, var(--c-line)) 22%,var(--c-line));text-decoration:none;font-size:var(--fs-sm);font-weight:var(--fw-medium);letter-spacing:.01em;transition:transform var(--t-fast),border-color var(--t),background var(--t)}.status-pill-link:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--pill-bg, var(--c-fg-muted)) 15%,var(--c-panel));border-color:color-mix(in srgb,var(--pill-bg, var(--c-line)) 45%,var(--c-line))}.status-pill-link:focus-visible{outline:2px solid var(--c-accent-line);outline-offset:2px}.status-pill-dot{width:8px;height:8px;border-radius:50%;background:var(--pill-bg, var(--c-fg-muted));flex:none}.status-pill-link.is-empty{opacity:.5}.status-pill-link.is-empty .status-pill-dot{background:var(--c-fg-dim)}.status-pill-link .status-pill-label{text-transform:lowercase}.status-pill-link .status-pill-count{color:var(--c-fg-muted);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.status-badge{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:500;letter-spacing:.02em;text-transform:lowercase;white-space:nowrap;border:1px solid transparent;vertical-align:middle;background:var(--c-panel);color:var(--c-fg);text-shadow:0 1px 0 rgba(0,0,0,.18)}.status-badge.status-badge-md{height:26px;padding:0 11px;font-size:12px}.status-badge.status-badge-neutral{background:var(--c-panel);border-color:var(--c-line);color:var(--c-fg-muted);text-shadow:none}.status-badge.status-badge-ok{background:#6ee7a82e;color:var(--c-ok);border-color:#6ee7a866}.status-badge.status-badge-warn{background:#f5b87f2e;color:var(--c-warn);border-color:#f5b87f66}.status-badge.status-badge-err{background:#dc26262e;color:var(--c-err);border-color:#dc262666}.status-badge.status-badge-neutral.status-badge-pending{color:var(--c-fg-muted)}.at-risk-row{transition:border-color var(--t),transform var(--t-fast)}.at-risk-row:hover{border-color:var(--c-accent-line);transform:translateY(-1px);border-bottom-color:var(--c-accent-line)}.styles-list .card>select{width:auto;flex:1 1 160px;min-width:140px}.entity-map{margin-top:12px}.emap-lane-label,.emap-col-head{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--c-fg-muted);margin-bottom:8px;text-align:center}.emap-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.emap-chip{display:inline-flex;align-items:center;padding:6px 12px;border:1px solid var(--c-line);border-radius:999px;background:var(--c-panel);color:var(--c-fg);text-decoration:none;font-size:var(--fs-sm);transition:border-color var(--t),background var(--t)}a.emap-chip:hover{border-color:var(--c-accent-line);background:var(--c-panel-strong)}.emap-chip.is-static{opacity:.75}.emap-down{text-align:center;color:var(--c-fg-dim);font-size:var(--fs-lg);line-height:1;margin:8px 0}.emap-hub{display:block;max-width:380px;margin:0 auto;text-align:center;padding:16px 20px;border:1px solid var(--c-accent-line);border-radius:var(--r-sm);background:var(--c-accent-soft);color:var(--c-fg);text-decoration:none;transition:transform var(--t-fast),box-shadow var(--t)}.emap-hub:hover{transform:translateY(-1px);box-shadow:0 8px 24px #00000040}.emap-hub-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:.04em}.emap-hub-sub{font-size:var(--fs-xs);color:var(--c-fg-muted);margin-top:4px}.emap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:4px}.emap-node{display:block;padding:12px 14px;border:1px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-panel);margin-bottom:10px;text-decoration:none;color:inherit;transition:border-color var(--t),background var(--t)}a.emap-node:hover{border-color:var(--c-accent-line);background:var(--c-panel-strong)}.emap-node-title{font-weight:var(--fw-semibold);font-size:var(--fs-sm)}.emap-node-desc{font-size:var(--fs-xs);color:var(--c-fg-muted);margin-top:3px;line-height:var(--lh-snug)}.emap-chain{font-size:var(--fs-2xs);color:var(--c-fg-dim);margin-top:6px;font-family:var(--font-mono)}@media(max-width:720px){.emap-grid{grid-template-columns:1fr}}@media(max-width:900px){.page-toolbar .page-toolbar-title{flex-basis:100%}.page-toolbar .page-toolbar-actions{flex-wrap:wrap}}@media(max-width:720px){.styles-list .card{padding:12px}.styles-list .card>select{flex:1 1 calc(50% - 6px);min-width:0}.styles-list .card>input[type=search]{flex-basis:100%}.bulk-bar{padding:8px 12px;gap:6px}.bulk-bar .bulk-divider{display:none}.bulk-bar .bulk-cancel{margin-left:0}.active-filters{padding-bottom:8px}.dashboard-tile{min-width:140px}.dashboard-tile-value{font-size:26px}.calendar-row{grid-template-columns:1fr!important}.calendar-row .gantt-bar,.calendar-row .gantt-tick{display:none}.gantt-legend{flex-wrap:wrap;gap:12px}}@media(max-width:480px){.status-badge{height:22px;padding:0 9px;font-size:11.5px}.status-badge-md{height:26px}.inbox-row{gap:8px;padding:10px 12px;font-size:13px}.inbox-row-id{min-width:0;flex-basis:100%;order:-1}.inbox-row-time{display:none}}@media(max-width:700px){.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}button.btn-ghost,button.btn-primary{min-height:36px}table.data-table button.btn-ghost{min-height:32px;min-width:32px}.card{border-radius:8px}.topnav-right .lang-toggle,.topnav-right .theme-toggle{display:none}}@supports (padding: max(0px)){body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right));padding-bottom:max(0px,env(safe-area-inset-bottom))}}.style-tabs{display:flex;gap:var(--s-1);margin-top:var(--s-6);border-bottom:1px solid var(--c-line);overflow-x:auto}.style-tab{position:relative;padding:10px var(--s-4);min-height:44px;font-size:var(--fs-sm);color:var(--c-fg-muted);background:none;border:none;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:7px}.style-tab:hover,.style-tab.is-active{color:var(--c-fg)}.style-tab.is-active:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;background:var(--c-accent);border-radius:2px}.style-tab:focus-visible{outline:2px solid var(--c-accent-line);outline-offset:2px;border-radius:var(--r-sm)}.style-tab-count{font-size:var(--fs-2xs);color:var(--c-fg-muted);background:var(--c-panel-strong);border-radius:20px;padding:1px 7px;font-family:var(--font-mono)}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--c-accent);color:#04122e;padding:8px 14px;border-radius:var(--r-sm);font-weight:var(--fw-semibold)}.skip-link:focus{left:8px;top:8px}.skeleton{background:linear-gradient(90deg,var(--c-panel) 25%,var(--c-panel-strong) 37%,var(--c-panel) 63%);background-size:400% 100%;border-radius:var(--r-sm);animation:skeleton-shimmer 1.4s ease infinite}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.tg-chat{display:flex;flex-direction:column;gap:10px;position:relative}.tg-chat.tg-dragover:after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;border:2px dashed var(--c-accent, #3b82f6);border-radius:12px;background:color-mix(in srgb,var(--c-accent, #3b82f6) 8%,transparent)}.tg-list{padding:12px 14px;max-height:460px;min-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:3px;background:var(--c-bg, #0b0c10)}.tg-empty{opacity:.5;font-size:var(--fs-sm);text-align:center;padding:28px}.tg-day{text-align:center;margin:10px 0 6px}.tg-day span{display:inline-block;padding:2px 12px;border-radius:12px;background:var(--c-bg-soft, rgba(255,255,255,.06));color:var(--c-fg-muted, #9aa);font-size:var(--fs-2xs);font-weight:600}.tg-row{display:flex;justify-content:flex-start}.tg-row.mine{justify-content:flex-end}.tg-bubble{position:relative;max-width:78%;min-width:64px;padding:6px 10px 4px;background:var(--c-bg-soft, #1a1c22);color:var(--c-fg, #e7e7ea);border:1px solid var(--c-line, rgba(255,255,255,.07));border-radius:14px 14px 14px 4px;font-size:var(--fs-base);line-height:var(--lh-snug, 1.35)}.tg-bubble.grouped{border-bottom-left-radius:14px;border-top-left-radius:4px}.tg-bubble.mine{background:var(--c-accent, #3b82f6);color:#fff;border-color:transparent;border-bottom-left-radius:14px;border-bottom-right-radius:4px}.tg-bubble.mine.grouped{border-top-right-radius:4px;border-bottom-right-radius:4px}.tg-name{font-size:var(--fs-2xs);font-weight:700;color:var(--c-accent, #6ea8fe);margin-bottom:1px}.tg-text{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}.tg-deleted{opacity:.55;font-style:italic}.tg-time{display:block;text-align:right;font-size:10px;opacity:.6;margin-top:2px;line-height:1}.tg-bubble.mine .tg-time{color:#fffc}.tg-del{position:absolute;top:2px;right:4px;background:transparent;border:none;cursor:pointer;opacity:0;color:inherit;font-size:var(--fs-base);line-height:1;padding:0}.tg-bubble:hover .tg-del{opacity:.5}.tg-del:hover{opacity:1!important}.tg-atts{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.tg-att{text-decoration:none;color:inherit;display:block}.tg-att-img{max-width:220px;max-height:220px;display:block;border-radius:10px}.tg-att-file{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;background:color-mix(in srgb,var(--c-fg, #fff) 8%,transparent)}.tg-att-ic{font-size:var(--fs-lg)}.tg-att-meta{display:flex;flex-direction:column}.tg-att-name{font-size:var(--fs-xs)}.tg-att-size{font-size:10px;opacity:.6}.tg-mention{border-radius:4px;padding:0 3px;font-weight:500;background:var(--c-mention-bg, rgba(96,165,250,.18));color:var(--c-mention-fg, #6ea8fe)}.tg-bubble.mine .tg-mention{background:#ffffff38;color:#fff}.tg-mention-me{background:var(--c-gold-bg, #fdf2c8);color:var(--c-gold-fg, #92591b);font-weight:700}.tg-composer{padding:8px 10px;display:flex;flex-direction:column;gap:6px}.tg-pending{display:flex;flex-wrap:wrap;gap:6px}.tg-chip{display:inline-flex;align-items:center;gap:6px;background:var(--c-bg-soft, #1a1c22);border:1px solid var(--c-line, #333);border-radius:14px;padding:3px 10px;font-size:var(--fs-xs)}.tg-chip-x{background:transparent;border:none;cursor:pointer;color:var(--c-err, #e66);padding:0;font-size:var(--fs-base);line-height:1}.tg-input-row{display:flex;align-items:flex-end;gap:8px}.tg-attach-btn,.tg-send{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-lg)}.tg-attach-btn{background:transparent;color:var(--c-fg-muted, #9aa)}.tg-attach-btn:hover{background:var(--c-bg-soft, rgba(255,255,255,.06));color:var(--c-fg, #fff)}.tg-send{background:var(--c-accent, #3b82f6);color:#fff}.tg-send:disabled{opacity:.5;cursor:default}.tg-textarea-wrap{position:relative;flex:1}.tg-textarea{width:100%;box-sizing:border-box;resize:none;max-height:160px;overflow-y:auto;padding:9px 12px;border-radius:18px;border:1px solid var(--c-line, #333);background:var(--c-bg-soft, #1a1c22);color:var(--c-fg, #e7e7ea);font-size:var(--fs-base);font-family:inherit;line-height:var(--lh-snug, 1.35)}.tg-textarea:focus{outline:none;border-color:var(--c-accent, #3b82f6)}.tg-mention-pop{position:absolute;bottom:100%;left:0;right:0;margin-bottom:6px;z-index:20;background:var(--c-panel, #16181d);border:1px solid var(--c-line, #333);border-radius:10px;box-shadow:0 8px 24px #00000059;max-height:240px;overflow-y:auto}.tg-mention-opt{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:none;padding:7px 10px;cursor:pointer;text-align:left;font-size:var(--fs-sm);color:var(--c-fg, #e7e7ea)}.tg-mention-opt.active{background:var(--c-bg-soft, rgba(255,255,255,.07))}.tg-mention-av{flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:var(--c-accent, #3b82f6);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-2xs);font-weight:700}.tg-err{font-size:var(--fs-sm);color:var(--c-err, #e66)}.tg-row{width:100%;max-width:760px;margin-left:auto;margin-right:auto}.tg-day{max-width:760px;margin-left:auto;margin-right:auto}.sku-chip{display:inline-flex;align-items:baseline;gap:4px;padding:1px 7px;border-radius:10px;background:var(--c-bg-subtle, rgba(127, 127, 127, .1));border:1px solid var(--c-line, rgba(127, 127, 127, .2));font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.sku-chip b{font-family:var(--font-mono, monospace)}.login-bg{position:relative;isolation:isolate}:root[data-theme=light] .login-bg{background-image:url(/brand/login-bg.svg);background-size:cover;background-position:center;background-repeat:no-repeat}:root[data-theme=dark] .login-bg:before,:root:not([data-theme=light]) .login-bg:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60vw 50vh at 80% 0%,rgba(10,189,180,.1),transparent 60%),radial-gradient(55vw 45vh at 0% 100%,rgba(156,33,214,.1),transparent 60%);pointer-events:none}.login-bg .login-card{position:relative;z-index:1}:root[data-theme=light] .login-bg .login-card{background:#fffffff0;backdrop-filter:blur(8px);box-shadow:var(--shadow-elev);border:1px solid var(--c-line)}.login-bg .login-card .brand img{max-width:100%}.login-split{min-height:100vh;width:100%;display:grid;grid-template-columns:1fr 1fr}.login-brand{position:relative;overflow:hidden;background:var(--brand-grad-160);color:#fff;display:flex;flex-direction:column;justify-content:center;gap:var(--s-5);padding:clamp(32px,6vw,80px);isolation:isolate}.login-brand:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(120% 120% at 30% 20%,#000 30%,transparent 85%);-webkit-mask-image:radial-gradient(120% 120% at 30% 20%,#000 30%,transparent 85%);pointer-events:none}.login-brand-wordmark{font-family:Helvetica,Arial,sans-serif;font-weight:700;letter-spacing:.06em;font-size:clamp(34px,5vw,56px);line-height:1;color:#fff;display:flex;align-items:baseline;gap:.4em}.login-brand-wordmark .plm{font-weight:400;font-size:.5em;letter-spacing:.18em;opacity:.92;padding:.2em .5em;border:1px solid rgba(255,255,255,.55);border-radius:var(--r-sm)}.login-brand-tagline{font-size:clamp(15px,1.6vw,19px);line-height:1.5;max-width:30ch;color:#fffffff0;font-weight:400}.login-brand-tagline .en{display:block;margin-top:6px;font-size:.82em;color:#ffffffb8}.login-form-panel{background:var(--c-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(28px,5vw,64px);position:relative}.login-form-panel .login-logo{margin-bottom:var(--s-6)}.login-form-panel .login-card{width:min(380px,100%);padding:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none}.login-form-panel .login-lang{position:absolute;top:var(--s-5);right:var(--s-5)}@media(max-width:820px){.login-split{grid-template-columns:1fr;grid-template-rows:auto 1fr}.login-brand{padding:var(--s-6) var(--s-5);gap:var(--s-3);align-items:flex-start}.login-brand-wordmark{font-size:30px}.login-brand-tagline{font-size:14px}.login-brand-tagline .en{display:none}.login-form-panel{padding:var(--s-6) var(--s-5);justify-content:flex-start}.login-form-panel .login-logo{margin-top:var(--s-4)}}.qv-backdrop{position:fixed;inset:0;background:#00000073;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:110;animation:fadein .14s ease}.qv-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,92vw);z-index:111;background:var(--c-bg);border-left:1px solid var(--c-line);box-shadow:-24px 0 60px #00000059;display:flex;flex-direction:column;animation:slidein .2s ease;overflow:hidden}:root[data-theme=light] .qv-drawer{box-shadow:-24px 0 60px #0000002e}.qv-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--c-line);background:var(--c-panel)}.qv-drawer-title{margin:0;font-size:var(--fs-md);line-height:1.3}.qv-drawer-sub{font-size:var(--fs-xs);color:var(--c-fg-muted);margin-top:2px}.qv-drawer-close{flex:0 0 auto;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);border:1px solid var(--c-line);background:var(--c-panel);color:var(--c-fg-muted);cursor:pointer;font-size:var(--fs-md);transition:color var(--t),background var(--t),border-color var(--t)}.qv-drawer-close:hover{color:var(--c-fg);border-color:var(--c-line-strong)}.qv-drawer-close:focus-visible{outline:2px solid var(--c-accent-line);outline-offset:2px}.qv-drawer-body{flex:1;min-height:0;overflow-y:auto;padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-4)}.qv-drawer-foot{padding:var(--s-4) var(--s-5);border-top:1px solid var(--c-line);background:var(--c-panel);display:flex;gap:var(--s-2);justify-content:flex-end}.etree{margin-top:16px}.etree-inputs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.etree-inputs-label{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--c-label);margin-right:4px}.etree-chip{position:relative;display:inline-flex;align-items:center;padding:4px 11px;border-radius:999px;font-size:var(--fs-xs);font-weight:500;background:var(--c-panel);color:var(--c-fg-muted);border:1px solid var(--c-line);text-decoration:none;cursor:pointer;outline:none}a.etree-chip:hover,.etree-chip:focus-visible{border-color:var(--c-accent-line);background:var(--c-panel-strong);color:var(--c-value)}.etree-chip.is-static{cursor:default}.etree-stem{width:2px;height:20px;background:var(--c-line-strong);margin:6px auto}.etree-rootwrap{display:flex;justify-content:center}.etree-root{display:inline-block;text-align:center;padding:13px 28px;border-radius:14px;color:#fff;background:var(--brand-grad);box-shadow:0 6px 22px #0003;text-decoration:none;max-width:520px;transition:transform .12s,box-shadow .12s}.etree-root:hover{transform:translateY(-1px);box-shadow:0 10px 28px #00000042}.etree-root-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:.04em}.etree-root-sub{font-size:var(--fs-xs);opacity:.92;margin-top:3px}.etree-branches{display:grid;grid-template-columns:repeat(auto-fit,minmax(264px,1fr));gap:14px;margin-top:2px;padding-top:18px;position:relative;border-top:1px dashed var(--c-line-strong)}.etree-branch{background:var(--c-panel);border:1px solid var(--c-line);border-radius:10px;padding:12px 12px 10px}.etree-branch-head{position:relative;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--c-value);padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--c-line-soft);cursor:default;outline:none}.etree-leaves{list-style:none;margin:0;padding:0 0 0 4px;position:relative}.etree-leaves:before{content:"";position:absolute;left:5px;top:2px;bottom:16px;border-left:1px solid var(--c-line-strong)}.etree-leaf{position:relative;padding:5px 6px 5px 20px;border-radius:6px;font-size:var(--fs-sm);color:var(--c-value);outline:none;display:flex;flex-direction:column;gap:1px}.etree-leaf:before{content:"";position:absolute;left:5px;top:-2px;width:11px;height:16px;border-left:1px solid var(--c-line-strong);border-bottom:1px solid var(--c-line-strong);border-bottom-left-radius:5px}.etree-leaf-link{display:flex;flex-direction:column;gap:1px;text-decoration:none;color:inherit}.etree-leaf:hover,.etree-leaf:focus-visible,.etree-leaf:focus-within{background:var(--c-panel-strong)}.etree-leaf-title{font-weight:500}.etree-arrow{font-size:var(--fs-2xs);color:var(--c-accent);font-family:var(--font-mono)}.etree-leaf-desc{font-size:var(--fs-2xs);color:var(--c-fg-dim)}.etree-tip{position:absolute;left:16px;top:calc(100% - 2px);z-index:40;width:max-content;max-width:300px;padding:8px 11px;background:var(--c-bg);color:var(--c-value);border:1px solid var(--c-line-strong);border-radius:8px;box-shadow:0 10px 28px #00000038;font-size:var(--fs-xs);font-weight:400;line-height:var(--lh-snug);text-transform:none;letter-spacing:normal;white-space:normal;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease;pointer-events:none}.etree-leaf:hover>.etree-tip,.etree-leaf:focus-within>.etree-tip,.etree-leaf-link:hover>.etree-tip,.etree-leaf-link:focus-visible>.etree-tip,.etree-branch-head:hover>.etree-tip,.etree-branch-head:focus-visible>.etree-tip,.etree-chip:hover>.etree-tip,.etree-chip:focus-visible>.etree-tip{opacity:1;visibility:visible;transform:translateY(0)}.etree-branch-head .etree-tip{left:0}.etree-chip .etree-tip{left:0;top:calc(100% + 4px)}@media(max-width:720px){.etree-branches{grid-template-columns:1fr}}html{overflow-x:clip}.app-shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:232px;flex-shrink:0;height:100vh;display:flex;flex-direction:column;background:var(--c-bg);border-right:1px solid var(--c-line)}.sidebar-brand{display:flex;align-items:center;height:60px;padding:0 var(--s-4);border-bottom:1px solid var(--c-line);flex-shrink:0}.sidebar-nav{flex:1;overflow-y:auto;padding:var(--s-3) var(--s-2)}.sidebar-section{margin-bottom:var(--s-2)}.sidebar-section-title{font-size:var(--fs-2xs);letter-spacing:.07em;text-transform:uppercase;font-weight:var(--fw-semibold);color:var(--c-fg-dim);padding:0 var(--s-2);margin:var(--s-3) 0 4px}.sidebar-link{display:flex;align-items:center;gap:8px;padding:7px var(--s-2);border-radius:var(--r-sm);color:var(--c-fg);text-decoration:none;font-size:var(--fs-sm);line-height:1.25}.sidebar-link:hover{background:var(--c-panel-hover)}.sidebar-link.active{background:var(--c-accent-soft);color:var(--c-accent);font-weight:var(--fw-semibold)}.sidebar-link.home{font-weight:var(--fw-semibold);margin-bottom:4px}.sidebar-footer{flex-shrink:0;border-top:1px solid var(--c-line);padding:var(--s-2);display:flex;flex-direction:column;gap:2px}.sidebar-tools{display:flex;align-items:center;gap:6px;padding:4px var(--s-2)}.app-shell .content{flex:1;min-width:0;height:100vh;overflow:auto}.sidebar-hamburger,.sidebar-overlay{display:none}@media(max-width:860px){.sidebar{position:fixed;left:0;top:0;z-index:200;transform:translate(-100%);transition:transform .2s ease;box-shadow:0 0 40px #00000080}.sidebar.open{transform:translate(0)}.sidebar-overlay.show{display:block;position:fixed;inset:0;z-index:150;background:#00000073}.sidebar-hamburger{display:flex;position:fixed;top:10px;left:10px;z-index:100;width:40px;height:40px;align-items:center;justify-content:center;border-radius:var(--r-sm);border:1px solid var(--c-line);background:var(--c-bg);color:var(--c-fg);cursor:pointer;font-size:18px}.app-shell .content{padding-top:56px}}.hub-band{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:16px}.hub-card{display:flex;flex-direction:column;gap:4px;text-align:left;padding:12px 14px;border:1px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-bg);cursor:pointer;transition:border-color .12s ease,background .12s ease}.hub-card:hover{border-color:var(--c-accent-line);background:var(--c-panel)}.hub-card:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.hub-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.hub-card-label{font-weight:var(--fw-semibold);font-size:var(--fs-sm)}.hub-card-count{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--c-accent);font-variant-numeric:tabular-nums}.hub-card-hint{font-size:var(--fs-xs);color:var(--c-fg-dim)}.dash-charts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}.dash-chart-title{margin:0 0 12px;font-size:var(--fs-md)}.dash-status-row{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.dash-donut{flex-shrink:0}.dash-status-legend{display:flex;flex-direction:column;gap:6px;flex:1;min-width:180px;max-height:240px;overflow-y:auto}@media(max-width:860px){.dash-charts{grid-template-columns:1fr}}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:var(--fs-sm);margin-bottom:12px}.breadcrumb-item{display:inline-flex;align-items:center;gap:6px}.breadcrumbs a{color:var(--c-fg-dim);text-decoration:none}.breadcrumbs a:hover{color:var(--c-accent);text-decoration:underline}.breadcrumbs [aria-current=page]{color:var(--c-fg);font-weight:var(--fw-semibold)}.breadcrumb-sep{color:var(--c-fg-dim);opacity:.6}.toaster{position:fixed;top:16px;right:16px;z-index:1200;display:flex;flex-direction:column;gap:8px;max-width:min(380px,calc(100vw - 32px))}.toast{display:flex;align-items:flex-start;gap:10px;padding:11px 12px 11px 14px;border-radius:var(--r-sm);background:var(--c-bg);border:1px solid var(--c-line);border-left:3px solid var(--c-fg-dim);box-shadow:0 6px 24px #0000002e;font-size:var(--fs-sm);color:var(--c-fg);animation:toast-in .18s ease}@keyframes toast-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}.toast-success{border-left-color:var(--c-ok)}.toast-error{border-left-color:var(--c-err)}.toast-info{border-left-color:var(--c-accent)}.toast-msg{flex:1;line-height:1.35}.toast-x{flex-shrink:0;border:none;background:none;color:var(--c-fg-dim);cursor:pointer;font-size:16px;line-height:1;padding:0 2px}.toast-x:hover{color:var(--c-fg)}.modal-overlay{position:fixed;inset:0;z-index:1100;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px}.confirm-card{width:min(440px,100%);background:var(--c-bg);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:22px;box-shadow:0 20px 60px #00000059}.confirm-title{margin:0 0 8px;font-size:var(--fs-lg)}.confirm-message{margin:0;color:var(--c-fg);line-height:1.45}.confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.errboundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--c-bg-deep)}.errboundary-card{max-width:460px;text-align:center;background:var(--c-bg);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:32px}.errboundary-card h1{margin:0 0 8px;font-size:var(--fs-xl, 22px)}.errboundary-card p{color:var(--c-fg-dim);line-height:1.5;margin:0}.th-sortable{padding:0}.th-sort-btn{display:flex;align-items:center;gap:6px;width:100%;padding:11px 12px 9px;background:none;border:none;cursor:pointer;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left}.th-sort-btn:hover{color:var(--c-accent)}.th-sort-btn:focus-visible{outline:2px solid var(--c-accent);outline-offset:-2px}table.data-table th.num .th-sort-btn{justify-content:flex-end}.th-sort-ind{font-size:8px;opacity:.4}.th-sortable[aria-sort=ascending] .th-sort-ind,.th-sortable[aria-sort=descending] .th-sort-ind{opacity:1;color:var(--c-accent)}.field-err{color:var(--c-err, #dc2626);font-size:var(--fs-xs, 12px);margin-top:4px;line-height:var(--lh-snug, 1.3)}.input-invalid{border-color:var(--c-err, #dc2626)!important}.input-invalid:focus,.input-invalid:focus-visible{outline-color:var(--c-err, #dc2626)}.factory-shell{min-height:100vh;background:var(--c-bg, #fff)}.factory-topbar{display:flex;align-items:center;gap:16px;padding:10px 20px;border-bottom:1px solid var(--c-line, #d4d4d8);background:var(--c-panel, #fafafa);position:sticky;top:0;z-index:10}.factory-brand{display:flex;align-items:center;text-decoration:none}.factory-nav{display:flex;gap:4px;align-items:center}.factory-tools{margin-left:auto;display:flex;gap:8px;align-items:center}.factory-main{max-width:1100px;margin:0 auto;padding:24px 20px 48px}@media(max-width:640px){.factory-topbar{gap:10px;padding:8px 12px;flex-wrap:wrap}.factory-main{padding:16px 12px 40px}}.plmflow-login{position:fixed;inset:0;display:grid;place-items:center;padding:24px;overflow:auto;background:radial-gradient(120% 100% at 28% 16%,#1b2740,#0e1626 55%,#0a111d);font-family:var(--font);z-index:0}.plmflow-login:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:url(/brand/plmflow-mark.svg);background-repeat:no-repeat;background-position:6% 16%;background-size:min(58vmax,720px);opacity:.12}.plmflow-login:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(38vmax 38vmax at 10% 88%,rgba(46,230,196,.1),transparent 60%),radial-gradient(44vmax 44vmax at 90% 6%,rgba(167,139,250,.13),transparent 60%)}.plmflow-login-lang{position:absolute;top:18px;right:22px;z-index:2}.plmflow-login-lang :is(button,a){color:#aebacd}.plmflow-card{position:relative;z-index:1;width:min(420px,100%);padding:38px 34px 30px;border-radius:22px;background:#111929b8;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px) saturate(1.1);-webkit-backdrop-filter:blur(16px) saturate(1.1);box-shadow:0 32px 90px -34px #000000bf,inset 0 0 0 1px #ffffff05}.plmflow-lockup{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin-bottom:24px}.plmflow-lockup .mark{width:150px;height:auto;display:block;filter:drop-shadow(0 8px 26px rgba(0,0,0,.4))}.plmflow-word{font-family:"Poppins",var(--font);font-weight:700;font-size:38px;letter-spacing:-.02em;line-height:1}.plmflow-word .plm{color:#fff}.plmflow-word .flow{background:linear-gradient(90deg,#2ee6c4,#5fb8e6,#a78bfa);-webkit-background-clip:text;background-clip:text;color:transparent}.plmflow-tag{margin:2px 0 0;color:#9fb0c8;font-size:13px;line-height:1.45;max-width:30ch}.plmflow-tag .en{display:block;margin-top:3px;font-size:.85em;color:#74839b}.plmflow-form{display:flex;flex-direction:column;gap:14px}.plmflow-form .row{display:flex;flex-direction:column;gap:6px}.plmflow-form label{font-size:12px;font-weight:600;letter-spacing:.02em;color:#aebacd}.plmflow-form input{width:100%;padding:11px 13px;font-size:14px;font-family:var(--font);color:#eaf1fb;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:11px;transition:border-color .15s,box-shadow .15s,background .15s}.plmflow-form input::placeholder{color:#5d6b81}.plmflow-form input:focus{outline:none;border-color:#2ee6c4;background:#ffffff0f;box-shadow:0 0 0 3px #2ee6c42e}.plmflow-form .hint{font-size:11px;color:#74839b;margin-top:-1px}.plmflow-btn{width:100%;margin-top:4px;padding:12px 16px;font-size:15px;font-weight:700;font-family:var(--font);color:#06231f;border:0;border-radius:11px;cursor:pointer;background:linear-gradient(90deg,#2ee6c4,#5fb8e6,#a78bfa);box-shadow:0 10px 26px -10px #5fb8e68c;transition:filter .15s,transform .05s;display:inline-flex;align-items:center;justify-content:center}.plmflow-btn:hover:not(:disabled){filter:brightness(1.06)}.plmflow-btn:active:not(:disabled){transform:translateY(1px)}.plmflow-btn:disabled{opacity:.65;cursor:default}.plmflow-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}.plmflow-or{text-align:center;font-size:12px;color:#74839b;margin:6px 0 2px}.plmflow-sso{display:flex;flex-direction:column;gap:8px}.plmflow-ghost{width:100%;padding:10px 14px;font-size:14px;font-weight:600;font-family:var(--font);color:#dbe5f2;background:#ffffff0a;border:1px solid rgba(255,255,255,.14);border-radius:11px;cursor:pointer;transition:background .15s,border-color .15s}.plmflow-ghost:hover{background:#ffffff14;border-color:#ffffff3d}.plmflow-ghost:focus-visible{outline:2px solid #2EE6C4;outline-offset:2px}.plmflow-err{color:#ff8a8a;font-size:12px;min-height:16px;text-align:center}.plmflow-foot{text-align:center;font-size:13px;margin-top:2px}.plmflow-foot a{color:#5fb8e6;text-decoration:none}.plmflow-foot a:hover{text-decoration:underline}@media(max-width:480px){.plmflow-card{padding:30px 22px 24px;border-radius:18px}.plmflow-word{font-size:32px}.plmflow-lockup .mark{width:124px}.plmflow-login:before{background-size:80vmax;opacity:.09}}.brand-plm{color:var(--c-fg)}.brand-flow{background:linear-gradient(90deg,#2ee6c4,#5fb8e6,#a78bfa);-webkit-background-clip:text;background-clip:text;color:transparent}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-devanagari-600-normal-STEjXBNN.woff2) format("woff2"),url(/assets/poppins-devanagari-600-normal-ClASKHrr.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-ext-600-normal-CAhIAdZj.woff2) format("woff2"),url(/assets/poppins-latin-ext-600-normal-Df5ffKXP.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-600-normal-zEkxB9Mr.woff2) format("woff2"),url(/assets/poppins-latin-600-normal-BJdTmd5m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-devanagari-700-normal-O-jipLrW.woff2) format("woff2"),url(/assets/poppins-devanagari-700-normal-fHs-vx92.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-ext-700-normal-cby-RkWa.woff2) format("woff2"),url(/assets/poppins-latin-ext-700-normal-DctTR6Tg.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-700-normal-Qrb0O0WB.woff2) format("woff2"),url(/assets/poppins-latin-700-normal-BVuQR_eA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
