:root{--bg:#f4f5f7;--surface:#fff;--surface-2:#f7f8fa;--border:#10182814;--border-strong:#10182829;--text:#1d1d1f;--text-2:#55555a;--text-3:#6e6e73;--accent:#0071e3;--accent-strong:#0077ed;--accent-soft:#0071e31a;--accent-hi:#2c8cff;--accent-text:var(--accent);--accent-ink:#0062cc;--green:#248a3d;--green-soft:#34c75924;--amber:#d97706;--amber-soft:#ff9f0a26;--amber-line:#d9770647;--red:#e33a2e;--red-soft:#ff3b301f;--blue:#0a84ff;--blue-soft:#0a84ff1f;--slate:#6e6e73;--slate-soft:#0000000f;--gray-soft:#0000000d;--green-ink:#1a6b2f;--amber-ink:#8a5200;--red-ink:#a5251c;--blue-ink:#00499e;--accent-ink-text:#0057b0;--slate-ink:#4a4a4f;--fs-micro:11px;--fs-caption:12px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:17px;--fs-xl:22px;--fs-2xl:28px;--radius:14px;--radius-sm:10px;--r-xs:7px;--r-sm:9px;--r-md:11px;--r-lg:14px;--r-pill:999px;--h-sm:28px;--h-md:34px;--h-lg:40px;--sidebar-w:232px;--topbar-h:56px;--content-max:1560px;--font-mono:ui-monospace, "Cascadia Code", Consolas, monospace;--shadow-sm:0 1px 2px #1018280d;--shadow-md:0 16px 44px #0000001f;--shadow-xs:0 1px 1.5px #1018280d;--shadow-card:0 1px 2px #1018280a, 0 10px 26px -20px #10182852;--shadow-pop:0 2px 8px #1018280f, 0 20px 48px -22px #1018285c;--hover:#1018280b;--press:#10182813;--ring:0 0 0 3px #0071e338;--on-accent:#fff;--border-hover:#10182842;--accent-line:#0071e36b;--accent-line-soft:#0071e329;--accent-shadow:#0046a047;--accent-glow:#0071e340;--row-hover:#0071e309;--red-line:#e33a2e42;--red-line-strong:#e33a2e6b;--slate-line:#64748b29;--slate-line-strong:#64748b52;--green-line:#248a3d3d;--green-ring:#16a34a66;--overlay:#10182852;--shadow-ink:#10182873;--chrome-hi:#fcfcfe;--chrome-blur:#fcfcfed1;--warn-banner-bg:#fff8e8;--warn-banner-ink:#7d5200;--warn-banner-line:#d977063d;--notice-bg:#fffbf2;--notice-line:#d9770638;--code-bg:#11141b;--code-fg:#d7dbe4;--shimmer-hi:#eff1f5;--login-1:#101426;--login-2:#1c2340;--login-3:#232c52;--chart-blue:#0a84ff;--chart-indigo:#4f6ef7;--chart-green:#1db86a;--chart-red:#e04c41;--chart-amber:#e08a00;--dark-bg:#14171c;--dark-surface:#1b1f26;--dark-surface-2:#22262e;--dur-instant:.12s;--dur-fast:.18s;--dur-base:.3s;--dur-slow:.7s;--ease-arrive:cubic-bezier(.16, 1, .3, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--motion-hover:var(--dur-instant);--motion-press:90ms;--motion-pop:var(--dur-fast);--motion-view:var(--dur-base);--motion-chart:var(--dur-slow);--motion-slide:var(--dur-base);--lift-press:1px;--lift-card:2px;--lift-pop:4px;--lift-view:8px;--motion-spinner:.7s;--motion-skeleton:1.4s;--motion-status:2.2s;--stagger-step:45ms;--stagger-cap:.36s;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.55}*{box-sizing:border-box}h1,h2,h3,h4,h5,h6{font-size:inherit;margin:0;font-weight:700;line-height:1.3}html,body,#root{height:100%}html{caret-color:var(--accent);scrollbar-color:var(--scrollbar-color) transparent;scrollbar-width:thin}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea,label,[role=button]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}::selection{background:var(--selection-bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.input:focus-visible,.select:focus-visible,textarea.input:focus-visible,.m-input:focus-visible,.m-select:focus-visible{outline:none}a{text-underline-offset:.18em;text-decoration-thickness:from-font}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:content-box;border:3px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-track{background:0 0}html[data-theme=dark]{--bg:#14171c;--surface:#1b1f26;--surface-2:#22262e;--border:#e8ecf21a;--border-strong:#e8ecf238;--border-hover:#e8ecf257;--text:#e9edf3;--text-2:#b6bdca;--text-3:#939baa;--gray-soft:#262b34;--slate-soft:#2a303a;--slate-ink:#c3cad6;--accent:#2d6cb5;--accent-strong:#2d6cb5;--accent-text:#8dbdf7;--accent-hi:#63a4f5;--accent-ink:#2d6cb5;--accent-ink-text:#8dbdf7;--accent-soft:#5a9beb2e;--accent-line:#78aff580;--accent-line-soft:#78aff53d;--accent-shadow:#00000080;--accent-glow:#6ea8f559;--row-hover:#6ea8f514;--green:#34c759;--green-ink:#63d98f;--green-soft:#34c7592e;--green-line:#63d98f66;--green-ring:#34c75973;--amber:#f0b429;--amber-ink:#f5c451;--amber-soft:#f0b4292e;--amber-line:#f0b42957;--blue:#6cabff;--blue-ink:#8dbcff;--blue-soft:#6cabff2e;--red:#ff6f66;--red-ink:#ff8f88;--red-soft:#ff6f6629;--red-line:#ff8f8866;--red-line-strong:#ff8f8899;--overlay:#0009;--shadow-ink:#000000b3;--hover:#e8ecf20f;--press:#e8ecf21a;--ring:0 0 0 3px #6ea8f566;--chrome-hi:#191d23;--chrome-blur:#1b1f26d1;--warn-banner-bg:#2a2313;--warn-banner-ink:#f0c67a;--warn-banner-line:#f0b42952;--notice-bg:#241f14;--notice-line:#f0b42942;--shimmer-hi:#2c313a;--chart-blue:#6cabff;--chart-indigo:#8b9dff;--chart-green:#4ade80;--chart-red:#f87171;--chart-amber:#fbbf24;--scrollbar-color:#e8ecf238;--scrollbar-thumb:#00000029;--scrollbar-thumb-hover:#00000047;--selection-bg:#0071e333;--btn-primary-ink:#fff}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn-danger,.btn-danger:hover,.btn-danger:focus-visible{color:var(--red-ink)}.btn-danger-plain{cursor:pointer;font-size:inherit;color:var(--red-ink);transition:opacity var(--motion-hover) var(--ease-arrive);background:0 0;border:none;margin-left:2px;padding:0 2px;line-height:1}.btn-danger-plain:hover{opacity:.8}.btn-danger-plain:active{transition-duration:90ms;transform:translateY(1px)}.btn-danger-plain:disabled{opacity:.45;cursor:not-allowed}.scroll-hint{font-size:var(--fs-caption);color:var(--text-3);margin:6px 0 0}.read-bar{z-index:6;border-radius:var(--r-sm);font-size:var(--fs-caption);background:var(--surface);border:1px solid var(--border);animation:fade-in var(--motion-pop) var(--ease-arrive) both;align-items:center;gap:8px;margin-bottom:8px;padding:6px 10px;display:flex;position:sticky;top:0}.read-bar.error{border-color:var(--border-strong);background:var(--amber-soft);color:var(--text)}.read-bar-track{background:var(--gray-soft);border-radius:999px;flex:120px;height:3px;position:relative;overflow:hidden}.read-bar-run{background:var(--accent);width:34%;animation:read-bar-slide var(--motion-skeleton) linear infinite;border-radius:999px;position:absolute;inset:0 auto 0 0}.read-bar-text{flex:auto;min-width:0}@keyframes read-bar-slide{0%{transform:translate(-100%)}to{transform:translate(300%)}}@media (prefers-reduced-motion:reduce){.btn-danger-plain:active{transform:none}.read-bar,.read-bar-run{animation-duration:.01ms;animation-iteration-count:1}}.sync-trace{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:11px;line-height:1.5;display:flex}.sync-trace .mono{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.skip-link{z-index:80;height:var(--h-md);border-radius:var(--r-sm);background:var(--accent-ink);color:var(--on-accent);box-shadow:var(--shadow-pop);transition:top var(--motion-pop) var(--ease-arrive);align-items:center;padding:0 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex;position:absolute;top:-48px;left:12px}.skip-link:focus-visible{box-shadow:var(--ring), var(--shadow-pop);outline:none;top:12px}.shell{height:100dvh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);background:linear-gradient(180deg, var(--chrome-hi) 0%, var(--bg) 100%);border-right:1px solid var(--border);overscroll-behavior:contain;transition:width var(--motion-slide) var(--ease-arrive);flex-direction:column;flex:none;padding:12px 10px 10px;display:flex;overflow-y:auto}.brand{align-items:center;gap:10px;min-width:0;padding:4px 8px 14px;display:flex}.brand-mark{border-radius:var(--r-md);background:linear-gradient(135deg, var(--accent-hi), var(--accent-ink));width:30px;height:30px;color:var(--on-accent);box-shadow:0 2px 7px var(--accent-shadow);flex:none;place-items:center;display:grid}.brand-logo-img{border-radius:var(--r-md);object-fit:contain;flex:none;width:30px;height:30px}.brand-name{letter-spacing:-.01em;white-space:nowrap;font-size:13.5px;font-weight:650}.brand-sub{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11px;overflow:hidden}.nav-section{letter-spacing:.07em;color:var(--text-3);align-items:center;gap:8px;padding:14px 10px 6px;font-size:11px;font-weight:600;display:flex}.nav-section:after{content:"";background:linear-gradient(90deg, var(--border-strong), transparent);opacity:.55;flex:1;height:1px}.nav{flex-direction:column;gap:1px;display:flex}.nav-item{border-radius:var(--r-sm);width:100%;min-height:32px;color:var(--text-2);cursor:pointer;text-align:left;transition:background var(--dur-instant), color var(--dur-instant);background:0 0;border:none;align-items:center;gap:9px;padding:0 10px;font-size:13px;font-weight:500;display:flex;position:relative}.nav-item:hover{background:var(--hover);color:var(--text)}.nav-item:active{background:var(--press)}.nav-item.active{background:var(--accent-soft);color:var(--accent-ink-text);font-weight:600}.nav-item.active:before{content:"";background:var(--accent);transform-origin:50%;width:3px;height:18px;animation:rail-in var(--motion-pop) var(--ease-arrive);border-radius:0 3px 3px 0;position:absolute;top:50%;left:-10px;transform:translateY(-50%)}.nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-count{font-variant-numeric:tabular-nums;color:var(--text-2);background:var(--gray-soft);border-radius:var(--r-pill);flex:none;padding:1px 6px;font-size:11px;font-weight:600}.nav-item.active .nav-count{background:var(--accent-line-soft);color:var(--accent-ink-text)}.nav-count.alarm{background:var(--red-soft);color:var(--red-ink)}.sidebar-foot{border-top:1px solid var(--border);color:var(--text-3);align-items:center;gap:8px;margin-top:auto;padding:10px;font-size:12px;display:flex}.live-dot{background:var(--green);width:8px;height:8px;box-shadow:0 0 0 3px var(--green-soft);border-radius:50%;flex:none}.live-dot.off{background:var(--text-3);box-shadow:0 0 0 3px var(--gray-soft)}.main{flex-direction:column;flex:1;min-width:0;display:flex;overflow-y:auto}.topbar{z-index:5;min-height:var(--topbar-h);background:var(--chrome-blur);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:0 24px;display:flex;position:sticky;top:0}.topbar h1{font-size:var(--fs-md);letter-spacing:-.01em;white-space:nowrap;margin:0;font-weight:650}.topbar-sub{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;overflow:hidden}.topbar-title{flex:none;align-items:baseline;gap:10px;min-width:0;display:flex}.topbar-right{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.kbd{font-family:var(--font-mono);color:var(--text-3);background:var(--surface);border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:5px;padding:3px 5px;font-size:10.5px;line-height:1}.status-pill{height:var(--h-sm);border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--text-2);white-space:nowrap;align-items:center;gap:7px;padding:0 10px;font-size:12px;font-weight:550;display:inline-flex}.status-pill.ok{color:var(--green-ink);border-color:var(--green-line);background:var(--green-soft)}.status-pill.bad{color:var(--red-ink);border-color:var(--red-line);background:var(--red-soft)}.env-banner{background:var(--warn-banner-bg);color:var(--warn-banner-ink);border-bottom:1px solid var(--warn-banner-line);letter-spacing:.01em;text-align:center;justify-content:center;align-items:center;gap:8px;padding:5px 16px;font-size:11.5px;display:flex}.env-banner svg{color:var(--amber);flex:none}.content{width:100%;max-width:var(--content-max);flex-direction:column;gap:16px;margin:0 auto;padding:20px 24px 56px;display:flex}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(228px,1fr));gap:14px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);transition:box-shadow var(--dur-fast) var(--ease-arrive), border-color var(--dur-instant), transform var(--dur-fast) var(--ease-arrive);align-items:flex-start;gap:12px;padding:15px 16px;display:flex;position:relative}.stat-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-pop);transform:translateY(-1px)}.stat-card.is-clickable{cursor:pointer}.icon-tile{border-radius:var(--r-md);background:var(--gray-soft);width:34px;height:34px;color:var(--text-2);flex:none;place-items:center;display:grid}.icon-tile.indigo{background:var(--accent-soft);color:var(--accent-ink-text)}.icon-tile.green{background:var(--green-soft);color:var(--green-ink)}.icon-tile.amber{background:var(--amber-soft);color:var(--amber-ink)}.icon-tile.red{background:var(--red-soft);color:var(--red-ink)}.icon-tile.blue{background:var(--blue-soft);color:var(--blue-ink)}.stat-label{font-size:var(--fs-caption);color:var(--text-3);margin-bottom:2px}.stat-value{font-size:var(--fs-xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;animation:value-in var(--motion-pop) var(--ease-arrive);font-weight:700;line-height:1.15}.stat-sub{color:var(--text-2);margin-top:4px;font-size:12px}.delta{border-radius:var(--r-pill);font-variant-numeric:tabular-nums;vertical-align:3px;background:var(--gray-soft);color:var(--text-2);align-items:center;gap:3px;margin-left:7px;padding:1px 6px;font-size:11px;font-weight:650;display:inline-flex}.delta.up{background:var(--green-soft);color:var(--green-ink)}.delta.down{background:var(--red-soft);color:var(--red-ink)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}.panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;display:flex}.panel-title{font-size:var(--fs-md);letter-spacing:-.01em;margin:0;font-weight:650}.panel-hint{color:var(--text-3);font-size:12px}.panel-body{padding:18px}.notice{border-color:var(--notice-line);background:var(--notice-bg)}.notice-body{color:var(--text-2);align-items:flex-start;gap:11px;padding:14px 18px;font-size:13px;line-height:1.65;display:flex}.notice-body svg{color:var(--amber);flex:none;margin-top:2px}.notice-body strong{color:var(--text)}.grid-2{grid-template-columns:1.6fr 1fr;align-items:stretch;gap:16px;display:grid}.grid-2-even{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=1100px){.grid-2,.grid-2-even{grid-template-columns:1fr}}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.toolbar .spacer{flex:1}.searchbox{position:relative}.searchbox svg{color:var(--text-3);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.searchbox input{width:220px;padding-left:32px}.btn{min-height:var(--h-md);border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--r-sm);cursor:pointer;color:var(--text);box-shadow:var(--shadow-xs);transition:background var(--dur-instant), border-color var(--dur-instant), box-shadow var(--dur-instant), transform var(--dur-instant), color var(--dur-instant);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 13px;font-size:13px;font-weight:550;display:inline-flex}.btn:hover{background:var(--surface-2);border-color:var(--border-hover)}.btn:active{box-shadow:none;transform:translateY(1px)}.btn:focus-visible{box-shadow:var(--ring);outline:none}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn-primary{background:var(--accent-ink);border-color:var(--accent-ink);color:var(--on-accent);box-shadow:0 1px 2px var(--accent-shadow)}.btn-primary:hover{background:var(--accent);border-color:var(--accent)}.btn-ghost{color:var(--text-2);box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--hover);color:var(--text);border-color:#0000}.btn-danger{color:var(--red-ink);border-color:var(--red-line)}.btn-danger:hover{background:var(--red-soft);border-color:var(--red-line-strong)}.btn-sm{min-height:var(--h-sm);border-radius:var(--r-xs);gap:5px;padding:0 10px;font-size:12px}.btn-icon{width:var(--h-md);min-height:var(--h-md);padding:0}.btn-icon.btn-sm{width:var(--h-sm);min-height:var(--h-sm)}.seg{background:var(--gray-soft);border-radius:10px;align-items:center;gap:2px;padding:3px;display:inline-flex}.seg button{min-height:26px;font-size:var(--fs-caption);color:var(--text);cursor:pointer;transition:background var(--dur-instant), box-shadow var(--dur-instant), color var(--dur-instant);background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:0 11px;font-weight:550;display:inline-flex}.seg button:hover{color:var(--text);background:var(--hover)}.seg button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs), inset 0 0 0 1px var(--border);font-weight:650}.input,.select,textarea.input{min-height:var(--h-md);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);width:100%;color:var(--text);transition:border-color var(--dur-instant), box-shadow var(--dur-instant), background var(--dur-instant);outline:none;padding:7px 11px;font-size:13px}.input::placeholder{color:var(--text-3)}.input:hover:not(:disabled),.select:hover:not(:disabled){border-color:var(--border-hover)}.input:focus,.select:focus,textarea.input:focus{border-color:var(--accent);box-shadow:var(--ring)}.input:disabled,.select:disabled{background:var(--surface-2);color:var(--text-3);cursor:not-allowed}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field-label{color:var(--text-2);font-size:12px;font-weight:550}.field-hint{color:var(--text-3);font-size:11px}.checkbox-row{color:var(--text-2);align-items:center;gap:8px;font-size:13px;display:flex}.checkbox-row input{accent-color:var(--accent);width:15px;height:15px}.table-wrap{overflow-x:auto}.table-wrap>table.table-wide{min-width:1040px}.table-wrap>table.table-xwide{min-width:1440px}input.num-input{text-align:right;width:74px;min-height:28px;padding:2px 8px}.chip-group,.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cell-clamp{-webkit-line-clamp:2;line-clamp:2;word-break:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 14px}th{color:var(--text-3);letter-spacing:.02em;background:var(--surface-2);white-space:nowrap;z-index:1;font-size:11.5px;font-weight:600;position:sticky;top:0}tbody tr{transition:background var(--motion-hover) var(--ease-arrive)}tbody tr:hover{background:var(--row-hover)}tbody tr:last-child td{border-bottom:none}td.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);font-size:12px}.row-clickable{cursor:pointer}.pagination{border-top:1px solid var(--border);font-size:var(--fs-caption);color:var(--text-2);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;display:flex}.pagination .btn{transition:background var(--dur-instant), border-color var(--dur-instant), color var(--dur-instant), transform var(--dur-instant) ease}.badge{border-radius:var(--r-pill);letter-spacing:.01em;white-space:nowrap;align-items:center;gap:5px;height:20px;padding:0 8px;font-size:11.5px;font-weight:600;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;flex:none;width:5px;height:5px}.badge-blue{background:var(--blue-soft);color:var(--blue-ink)}.badge-green{background:var(--green-soft);color:var(--green-ink)}.badge-amber{background:var(--amber-soft);color:var(--amber-ink)}.badge-red{background:var(--red-soft);color:var(--red-ink)}.badge-slate{background:var(--slate-soft);color:var(--slate-ink)}.badge-gray{background:var(--gray-soft);color:var(--text-2)}.chip{border-radius:var(--r-sm);background:var(--gray-soft);min-height:22px;color:var(--text-2);white-space:nowrap;animation:badge-in var(--dur-fast) var(--ease-arrive) backwards;transition:background var(--dur-instant), color var(--dur-instant), border-color var(--dur-instant);border:1px solid #0000;align-items:center;gap:5px;padding:1px 8px;font-size:12px;font-weight:500;display:inline-flex}.chip.accent{background:var(--accent-soft);color:var(--accent-ink-text)}button.chip{cursor:pointer;background:var(--surface);border-color:var(--border-strong);color:var(--text-2);box-shadow:var(--shadow-xs)}button.chip:hover{border-color:var(--border-hover);color:var(--text)}button.chip:focus-visible{box-shadow:var(--ring);outline:none}button.chip.active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-ink-text);font-weight:600}.chip .count{font-variant-numeric:tabular-nums;opacity:.75}.progress{background:var(--gray-soft);border-radius:var(--r-pill);height:6px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:var(--r-pill);height:100%;transition:width var(--motion-view) var(--ease-arrive);transform-origin:0;animation:grow-x var(--dur-slow) var(--ease-arrive) backwards}.progress-fill.amber{background:var(--amber)}.progress-fill.green{background:var(--green)}.progress-line{align-items:center;gap:8px;display:flex}.progress-line .progress{flex:1}.progress-pct{font-size:var(--fs-caption);color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums;min-width:34px}.modal-backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;animation:overlay-in var(--dur-base) var(--ease-arrive);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);box-shadow:var(--shadow-md);width:100%;max-width:560px;max-height:88vh;animation:modal-in var(--dur-base) var(--ease-arrive) backwards;border-radius:20px;flex-direction:column;display:flex}.modal-backdrop.closing{animation:overlay-out var(--dur-fast) var(--ease-exit) forwards;pointer-events:none}.modal-backdrop.closing .modal{animation:modal-out var(--dur-fast) var(--ease-exit) forwards}.modal.wide{max-width:720px}.modal:focus,.modal:focus-visible{outline:none}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-title{letter-spacing:-.2px;margin:0;font-size:17px;font-weight:700}.modal-body{padding:24px;overflow-y:auto}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:14px 16px;display:grid}.form-grid .full{grid-column:1/-1}.item-rows{flex-direction:column;gap:8px;display:flex}.item-row{animation:rise-in var(--dur-fast) var(--ease-arrive) backwards;grid-template-columns:2fr 1fr auto;align-items:end;gap:8px;display:grid}.item-row .btn{align-self:end}.field-error{color:var(--red);animation:rise-in var(--dur-fast) var(--ease-arrive) backwards;align-items:center;gap:5px;font-size:12px;line-height:1.4;display:flex}.error{background:var(--red-soft);border:1px solid var(--red-line);color:var(--red);animation:rise-in var(--dur-fast) var(--ease-arrive) backwards;border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;font-weight:500;line-height:1.45;display:flex}.input.invalid,.select.invalid,.sku-form-grid input.invalid,.sku-form-grid select.invalid{border-color:var(--red);background:var(--red-soft)}.input.invalid:focus,.select.invalid:focus{box-shadow:0 0 0 3px var(--red-line)}.shake{animation:shake-x var(--motion-view) var(--ease-exit)}@keyframes shake-x{20%{transform:translate(-4px)}45%{transform:translate(3px)}70%{transform:translate(-2px)}to{transform:translate(0)}}.kv{grid-template-columns:110px 1fr;gap:10px 14px;font-size:13px;display:grid}.kv dt{color:var(--text-3)}.kv dd{color:var(--text);margin:0}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(6px)scale(.985)}}.toast-wrap{z-index:80;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--text);color:var(--on-accent);box-shadow:var(--shadow-md);animation:toast-in var(--motion-pop) var(--ease-arrive);border-radius:10px;align-items:center;gap:10px;max-width:380px;padding:11px 16px;font-size:13px;display:flex}.toast svg{flex:none}.toast.success svg{color:var(--chart-green)}.toast.error svg{color:var(--chart-red)}.toast.info svg{color:var(--chart-blue)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.kanban{grid-template-columns:repeat(6,minmax(230px,1fr));gap:14px;padding-bottom:8px;display:grid;overflow-x:auto}.kanban-col{background:var(--gray-soft);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;min-height:320px;padding:12px;display:flex}.kanban-col-head{font-size:var(--fs-caption);color:var(--text-2);justify-content:space-between;align-items:center;padding:0 2px;font-weight:600;display:flex}.kanban-count{background:var(--surface);border:1px solid var(--border);color:var(--text-3);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 8px;font-size:11px}.kanban-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:14px;padding:13px 15px;transition:border-color .15s,box-shadow .15s}.kanban-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.kanban-card-open{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0;display:block}.kanban-card-open:focus-visible{box-shadow:var(--ring);outline:none}.kanban-card-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.kanban-card-id{font-size:var(--fs-caption);color:var(--text-3);font-variant-numeric:tabular-nums}.kanban-card-name{font-size:13px;font-weight:600}.kanban-card-sub{color:var(--text-2);flex-wrap:wrap;gap:8px;margin:7px 0;font-size:12px;display:flex}.kanban-card-actions{border-top:1px dashed var(--border);flex-wrap:wrap;gap:6px;margin-top:9px;padding-top:9px;display:flex}.gantt{flex-direction:column;gap:10px;display:flex}.gantt-row{grid-template-columns:150px 1fr;align-items:center;gap:12px;display:grid}.gantt-label{font-size:var(--fs-caption);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gantt-track{background:var(--gray-soft);border:1px solid var(--border);border-radius:8px;height:34px;position:relative}.gantt-bar{background:linear-gradient(90deg, var(--chart-blue), var(--accent));height:20px;color:var(--on-accent);font-size:var(--fs-micro);white-space:nowrap;cursor:pointer;box-shadow:0 2px 6px var(--accent-glow);border-radius:6px;align-items:center;padding:0 8px;display:flex;position:absolute;top:6px;overflow:hidden}.gantt-bar.amber{background:linear-gradient(90deg, var(--chart-amber), var(--amber))}.gantt-maintenance{background:repeating-linear-gradient(135deg, var(--slate-line), var(--slate-line) 6px, var(--slate-line-strong) 6px, var(--slate-line-strong) 12px);border:1px dashed var(--slate);z-index:2;pointer-events:none;border-radius:6px;height:26px;position:absolute;top:4px}.health-dot{min-width:22px;height:18px;font-size:var(--fs-micro);color:var(--on-accent);vertical-align:middle;border-radius:9px;justify-content:center;align-items:center;margin-left:7px;padding:0 5px;font-weight:600;display:inline-flex}.health-dot.green{background:var(--green)}.health-dot.amber{background:var(--amber)}.health-dot.red{background:var(--red)}.panel-inner{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:16px}.big-number{color:var(--text);letter-spacing:-.2px;margin:6px 0;font-size:20px;font-weight:650}.gantt-axis{font-size:var(--fs-micro);color:var(--text-3);grid-template-columns:150px 1fr;gap:12px;display:grid}.gantt-ticks{height:14px;position:relative}.gantt-tick{white-space:nowrap;position:absolute;transform:translate(-50%)}.chart-legend{color:var(--text-2);gap:16px;margin-bottom:12px;font-size:12px;display:flex}.chart-legend-item{align-items:center;gap:6px;display:inline-flex}.legend-swatch{border-radius:3px;width:9px;height:9px}.donut-wrap{align-items:center;gap:22px;display:flex}.donut-legend{flex-direction:column;flex:1;gap:8px;display:flex}.donut-legend-row{font-size:var(--fs-caption);align-items:center;gap:8px;display:flex}.donut-legend-row .value{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.list-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 4px;display:flex}.list-row:last-child{border-bottom:none}.list-main{flex:1;min-width:0}.list-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.list-sub{font-size:var(--fs-caption);color:var(--text-3);margin-top:1px}.empty{color:var(--text-3);text-align:center;animation:rise-in var(--dur-base) var(--ease-arrive) backwards;flex-direction:column;align-items:center;gap:6px;padding:40px 20px;display:flex}.empty-icon{border-radius:var(--r-md);background:var(--gray-soft);width:42px;height:42px;color:var(--text-3);place-items:center;margin-bottom:4px;display:grid}.empty-title{font-size:var(--fs-base);color:var(--text);font-weight:600}.empty-sub{max-width:48ch;font-size:12px}.empty-cta{margin-top:10px}.alert-list{flex-direction:column;display:flex}.alert-row{border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;width:100%;color:var(--text);transition:background var(--dur-instant), padding-left var(--dur-instant);background:0 0;align-items:center;gap:12px;padding:11px 6px;display:flex}.alert-row:last-child{border-bottom:none}.alert-row:hover{background:var(--hover)}.alert-row:focus-visible{box-shadow:var(--ring);border-radius:var(--r-sm);outline:none}.alert-main{flex:1;align-items:baseline;gap:8px;min-width:0;display:flex}.alert-main b{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.alert-main .muted{flex:none}.alert-go{color:var(--text-3);transition:color var(--dur-instant);flex:none;align-items:center;gap:2px;font-size:12px;font-weight:550;display:inline-flex}.alert-row:hover .alert-go{color:var(--accent-ink-text)}.alert-go svg{transform:rotate(-90deg)}.pg-inline{align-items:center;gap:6px;display:inline-flex}.cam-warn{background:var(--red-soft);color:var(--red);border-radius:9px;margin:-6px 0 12px;padding:7px 10px;font-size:12px;line-height:1.45}.pg-label{white-space:nowrap}.pg-input{width:76px;font:inherit;color:var(--text-2);background:0 0;border:1px solid #0000;border-radius:7px;padding:2px 6px;font-size:12px}.pg-input:hover{border-color:var(--border-strong)}.pg-input:focus{border-color:var(--blue);background:var(--surface);color:var(--text);outline:none}.muted{color:var(--text-2);font-size:var(--fs-caption)}.inline-status{font-size:var(--fs-caption);color:var(--text-2);align-items:center;gap:7px;display:inline-flex}.code-block{background:var(--code-bg);color:var(--code-fg);white-space:pre;border-radius:10px;margin:0;padding:14px 16px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px;overflow-x:auto}.kv-card{border:1px solid var(--border);border-radius:14px;padding:15px 18px}.kv-card .title{color:var(--text-3);margin-bottom:6px;font-size:12px;font-weight:600}.kv-card .value{font-size:14px;font-weight:600}.kv-card .sub{font-size:var(--fs-caption);color:var(--text-3);word-break:break-all;margin-top:3px}.kv-card.shortage{border-color:var(--red-line);background:var(--red-soft)}.kv-card.shortage .title,.kv-card.shortage .sub{color:var(--red-ink)}.upload-zone{border:1.5px dashed var(--border-strong);color:var(--text-3);cursor:pointer;text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:26px 18px;transition:border-color .15s,background .15s;display:flex}.upload-zone:hover,.upload-zone.dragging{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.upload-title{font-size:var(--fs-base);color:var(--text);word-break:break-all;font-weight:600}.upload-zone:hover .upload-title,.upload-zone.dragging .upload-title{color:var(--accent-text)}.upload-sub{font-size:12px}@keyframes rise-in{0%{transform:translateY(4px)}}@keyframes bar-in{0%{opacity:0;transform:scaleX(.4)}}@keyframes badge-in{0%{opacity:0;transform:scale(.85)}}@keyframes grow-y{0%{transform:scaleY(0)}}@keyframes grow-x{0%{transform:scaleX(0)}}@keyframes row-in{0%{opacity:0;transform:translateY(6px)}}@keyframes overlay-in{0%{background:0 0}}@keyframes overlay-out{to{opacity:0}}@keyframes modal-in{0%{transform:translateY(12px)scale(.975)}}@keyframes modal-out{to{opacity:0;transform:translateY(6px)scale(.985)}}@keyframes donut-draw{0%{opacity:0;stroke-dasharray:0 1000}}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--green-ring)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}@keyframes pulse-loading{0%,to{background-color:#0000}50%{background-color:var(--hover)}}@keyframes toast-out{to{opacity:0;transform:translate(18px)scale(.96)}}.content>*{animation:rise-in var(--motion-view) var(--ease-arrive) backwards}.content>:nth-child(2){animation-delay:calc(var(--stagger-step) * 1)}.content>:nth-child(3){animation-delay:calc(var(--stagger-step) * 2)}.content>:nth-child(4){animation-delay:calc(var(--stagger-step) * 3)}.content>:nth-child(5){animation-delay:calc(var(--stagger-step) * 4)}.stat-card,.panel{transition:transform .18s,box-shadow .18s,border-color .18s}.stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-3px)}.panel:hover{box-shadow:var(--shadow-md)}.btn{transition:background .15s,border-color .15s,box-shadow .15s,transform .12s}.btn:active:not(:disabled){transform:translateY(0)scale(.97)}.btn-primary:hover:not(:disabled){box-shadow:0 6px 18px var(--accent-shadow)}.nav-item{transition:background .15s,color .15s,transform .15s}.nav-item svg{transition:transform var(--dur-fast) var(--ease-arrive)}.nav-item:hover svg{transform:translate(1px)}.live-dot.pulsing{animation:pulse-ring var(--motion-status) ease-out infinite}.badge{animation:badge-in var(--motion-pop) var(--ease-arrive) backwards}.gantt-bar{animation:bar-in var(--motion-view) var(--ease-arrive) backwards;transform-origin:0}.gantt-bar:hover{filter:brightness(1.04);transition:filter var(--motion-hover)}.kanban-card{animation:rise-in var(--motion-view) var(--ease-arrive) backwards;transition:border-color .15s,box-shadow .15s,transform .15s}.kanban-card:hover{transform:translateY(-1px)}.trend-bar{transform-box:fill-box;transform-origin:bottom;animation:grow-y var(--dur-slow) var(--ease-arrive) backwards}.donut-seg{animation:donut-draw var(--motion-chart) var(--ease-arrive) backwards}.toast.leaving{animation:toast-out var(--dur-fast) ease forwards}.loading-pulse{border-radius:var(--r-sm);animation:pulse-loading var(--motion-skeleton) ease-in-out infinite}.spinner{border:2px solid var(--border);border-top-color:var(--accent);width:14px;height:14px;animation:spin var(--motion-spinner) linear infinite;border-radius:50%;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.analytics-grid{grid-template-columns:repeat(6,1fr);align-items:start;gap:16px;display:grid}.analytics-widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);min-width:0;transition:opacity var(--motion-pop) var(--ease-arrive), box-shadow var(--motion-pop) var(--ease-arrive);overflow:hidden}.analytics-widget.s-1{grid-column:span 2}.analytics-widget.s-2{grid-column:span 4}.analytics-widget.s-3{grid-column:span 6}.analytics-widget.dragging{opacity:.45}.analytics-widget.over{outline:2px dashed var(--accent);outline-offset:-2px}.widget-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;display:flex}.widget-head-left{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.widget-title{white-space:nowrap;margin:0;font-size:14px;font-weight:700}.widget-hint{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;max-width:260px;font-size:12px;overflow:hidden}.widget-head-actions{flex:none;align-items:center;gap:6px;display:flex}.widget-drag-handle{cursor:grab;color:var(--text-3);border-radius:6px;padding:4px;display:inline-flex}.widget-drag-handle:hover{background:var(--accent-soft);color:var(--accent-text)}.widget-drag-handle:active{cursor:grabbing}.widget-body{min-height:90px;padding:18px}.size-switch{border:1px solid var(--border);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.size-switch .btn{border:none;padding:3px 8px}.chart-bars{align-items:flex-end;gap:10px;padding-top:18px;display:flex}.chart-bar-col{flex-direction:column;flex:1;align-items:center;gap:0;min-width:0;height:100%;display:flex}.chart-bar-value{color:var(--text-2);white-space:nowrap;font-variant-numeric:tabular-nums;pointer-events:none;font-size:12px;font-weight:600;line-height:1.2;position:absolute;left:50%;transform:translate(-50%)}.chart-bar-track{flex:1;width:100%;min-height:0;display:flex}.chart-bar-plot{justify-content:center;align-items:flex-end;width:100%;height:100%;display:flex;position:relative}.chart-bar{transform-origin:bottom;width:70%;max-width:46px;animation:grow-y var(--dur-slow) var(--ease-arrive) backwards;transition:filter var(--dur-instant);border-radius:6px 6px 2px 2px;flex:none}.chart-bar:hover{filter:brightness(1.06)}.chart-bar-label{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;text-align:center;flex:none;max-width:100%;margin-top:6px;font-size:11px;overflow:hidden}.chart-bar-label.is-hidden{visibility:hidden}.chart-bars.is-dense .chart-bar-label{max-width:none;overflow:visible}.chart-bar-zero{background:var(--border-strong);border-radius:1px;width:70%;max-width:46px;height:2px}.chart-donut-wrap{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.chart-donut{flex:none}.chart-donut-seg{animation:donut-draw var(--motion-chart) var(--ease-arrive) backwards}.chart-donut-value{fill:var(--text);font-size:20px;font-weight:700}.chart-donut-title{fill:var(--text-3);font-size:11px}.chart-legend{flex-direction:column;flex:1;gap:7px;min-width:150px;display:flex}.chart-legend-item{animation:rise-in var(--dur-fast) var(--ease-arrive) backwards;align-items:center;gap:8px;font-size:12px;display:flex}.chart-legend-item:nth-child(2){animation-delay:calc(var(--stagger-step) * 1)}.chart-legend-item:nth-child(3){animation-delay:calc(var(--stagger-step) * 2)}.chart-legend-item:nth-child(4){animation-delay:calc(var(--stagger-step) * 3)}.chart-legend-item:nth-child(5){animation-delay:calc(var(--stagger-step) * 4)}.chart-legend-item:nth-child(n+6){animation-delay:var(--stagger-cap)}.chart-legend--inline{flex-flow:wrap;flex:none;align-items:center;gap:6px 14px;min-width:0;margin:0}.chart-empty{height:100%;min-height:96px;color:var(--text-3);font-size:var(--fs-caption);border:1px dashed var(--border-strong);background:var(--surface-2);animation:rise-in var(--dur-fast) var(--ease-arrive) backwards;border-radius:12px;justify-content:center;align-items:center;gap:7px;display:flex}.chart-legend-dot{border-radius:50%;flex:none;width:9px;height:9px}.chart-legend-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.chart-legend-value{color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap}.swatch-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;max-height:320px;display:grid;overflow-y:auto}.swatch-item{border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:var(--fs-caption);color:var(--text);text-align:left;border-radius:10px;align-items:center;gap:8px;padding:7px 10px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.swatch-item:hover{border-color:var(--border-strong);background:var(--surface-2)}.swatch-item.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft)}.swatch-dot{border:1px solid var(--border-strong);border-radius:50%;flex:none;width:16px;height:16px}.swatch-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cell-swatch{vertical-align:middle;align-items:center;gap:7px;min-width:0;max-width:100%;display:inline-flex}.cell-swatch .swatch-dot{width:13px;height:13px}.swatch-dot.unknown{background:0 0;border-style:dashed}.field-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.color-hint{color:var(--text-3);align-items:center;gap:6px;font-size:11px;display:inline-flex}.color-hint .swatch-dot{width:12px;height:12px}@media (width<=1100px){.analytics-widget.s-1,.analytics-widget.s-2,.analytics-widget.s-3{grid-column:span 6}}.menu-btn{color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px;display:none}.menu-btn:hover{background:var(--hover)}.sidebar-overlay{display:none}@media (width<=900px){.menu-btn{justify-content:center;align-items:center;display:inline-flex}.sidebar{z-index:40;transition:transform var(--motion-slide) var(--ease-arrive);box-shadow:var(--shadow-md);background:var(--chrome-blur);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{z-index:35;background:var(--overlay);display:block;position:fixed;inset:0}.topbar{padding:16px 18px}.topbar h1{font-size:22px}.content{padding:16px 18px 40px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.modal,.modal-backdrop,tbody tr,.content>*,.search-pop,.stat-value,.chart-bar,.trend-bar,.chart-legend-item,.kanban-card{opacity:1!important;transform:none!important}.topbar{box-shadow:none!important;animation:none!important}.notify-skel-title,.notify-skel-sub{background:var(--gray-soft);animation:none!important}.notify-text{transition:none!important}}.login-page{background:radial-gradient(1100px 620px at 50% -12%, var(--accent-glow), transparent 62%), linear-gradient(160deg, var(--login-1) 0%, var(--login-2) 58%, var(--login-3) 100%);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:min(420px,100%);box-shadow:var(--shadow-md);padding:28px 28px 22px}.login-logo{width:104px;height:auto;margin:0 auto 12px;display:block}.login-head{text-align:center;margin-bottom:22px}.login-card h1{font-size:var(--fs-lg);letter-spacing:-.01em;color:var(--text);margin:0;font-weight:650;line-height:1.3}.login-sub{color:var(--text-3);margin:2px 0 0;font-size:12.5px}.login-error{background:var(--red-soft);border:1px solid var(--red-line);color:var(--red-ink);border-radius:var(--r-sm);text-align:left;word-break:break-word;align-items:flex-start;gap:8px;margin-bottom:16px;padding:10px 12px;font-size:13px;line-height:1.45;display:flex}.login-error svg{color:var(--red);flex:none;margin-top:2px}.login-field{text-align:left;flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.login-field>span:first-child{color:var(--text-2);font-size:12.5px;font-weight:550}.login-input{display:block;position:relative}.login-input>svg{color:var(--text-3);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.login-field .input{border-radius:var(--r-md);width:100%;min-height:44px;color:var(--text);background:var(--surface);padding:11px 13px 11px 36px;font-size:15px;line-height:1.4}.login-field .input:focus{border-color:var(--accent);box-shadow:var(--ring)}.login-btn{border-radius:var(--r-md);background:var(--accent-ink);width:100%;min-height:44px;color:var(--on-accent);letter-spacing:.01em;box-shadow:0 1px 2px var(--accent-shadow);border:none;justify-content:center;align-items:center;gap:8px;margin-top:6px;padding:12px 16px;font-size:15px;font-weight:600;line-height:1.4}.login-btn:hover:not(:disabled){background:var(--accent);box-shadow:0 8px 22px var(--accent-glow)}.login-btn:active:not(:disabled){transform:translateY(1px)}.login-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.login-foot{color:var(--text-3);text-align:center;margin:18px 0 0;font-size:12px}.sku-section-label{letter-spacing:.6px;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--border);margin:20px 0 10px;padding-bottom:6px;font-size:12px;font-weight:700}.sku-section-label:first-child{margin-top:0}.sku-form-grid{grid-template-columns:1fr 1fr;gap:14px 16px;display:grid}.sku-form-grid label,.sku-form-grid .sku-field{color:var(--text-2);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.sku-form-grid label>span,.sku-form-grid .sku-field>span{color:var(--text-2);font-size:12px;font-weight:600}.sku-form-grid label>span em,.sku-form-grid .sku-field>span em{color:var(--red);font-style:normal}.sku-form-grid input,.sku-form-grid select{border:1px solid var(--border-strong);background:var(--surface);height:38px;transition:border-color var(--motion-hover), box-shadow var(--motion-hover);box-sizing:border-box;border-radius:10px;outline:none;width:100%;padding:0 12px;font-size:14px}.sku-form-grid input:focus,.sku-form-grid select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.sku-form-grid input:disabled{background:var(--surface-2);color:var(--text-3);cursor:not-allowed}.sku-form-grid input[type=checkbox]{height:auto;accent-color:var(--accent);width:18px!important}.sku-checkbox{align-items:center;padding-top:24px;flex-direction:row!important;gap:8px!important}.sku-checkbox span{font-size:13px!important}.sku-error-sticky{z-index:3;box-shadow:0 6px 18px var(--border-strong);margin-bottom:16px;position:sticky;top:0}.sku-form-grid .sku-span{grid-column:1/-1}.sku-readonly{border:1px dashed var(--border);background:var(--surface-2);border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;font-size:13px;line-height:1.5;display:flex}.qc-editor{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.qc-editor-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qc-editor-head .input{flex:220px;min-width:180px}.qc-check-row{border:1px solid var(--border,var(--border));background:var(--surface-2);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;display:flex}.qc-check-name{flex:160px;min-width:140px}.qc-check-type{width:128px}.qc-check-num{width:88px}.qc-check-unit{width:72px}.qc-check-opts{flex:200px;min-width:160px}.qc-check-req{color:var(--text-2);align-items:center;gap:4px;font-size:12px;display:inline-flex}.qc-collect{border:1px solid var(--border,var(--border));background:var(--surface-2);border-radius:10px;flex-direction:column;gap:6px;margin-bottom:12px;padding:10px;display:flex}.qc-check-label{min-width:168px;color:var(--text);align-items:baseline;gap:5px;font-size:12.5px;display:inline-flex}.qc-check-label em{color:var(--text-3);font-size:11px;font-style:normal}.qc-check-text{flex:180px;min-width:140px}.qc-check-file{align-items:center;gap:8px;font-size:12px;display:inline-flex}.chip em{opacity:.72;margin-left:5px;font-size:11px;font-style:normal}.mv-filters{align-items:center;gap:8px;display:flex}.mv-more{justify-content:center;padding:10px 0 2px;display:flex}.demand-summary{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:12px;font-size:13px;display:flex}.demand-summary .ok{color:var(--green-ink,var(--green-ink))}.demand-summary .warn{color:var(--red-ink)}.demand-actions{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:14px;display:grid}.demand-action{border:1px solid var(--border,var(--border));background:var(--surface-2);border-radius:10px;padding:10px 12px}.demand-inline{align-items:center;gap:8px;margin-top:8px;display:flex}.demand-inline .input{flex:auto;min-width:0}.quote-attribution{border:1px solid var(--border,var(--border));background:var(--surface-2);border-radius:10px;margin-top:10px;padding:10px 12px}.quote-attribution-title{color:var(--text-2);margin-bottom:6px;font-size:12px;font-weight:600}.quote-attribution ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.quote-attribution li{align-items:flex-start;gap:8px;display:flex}.quote-attribution li>.chip{flex:none;margin-top:1px}.quote-attribution-body{color:var(--text);font-size:12px;line-height:1.6}.order-section{border-top:1px solid var(--border);padding:12px 0 14px}.order-section:first-of-type{border-top:none;padding-top:0}.order-section-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.order-section-head h3{color:var(--text-2);margin:0;font-size:13px;font-weight:600}.order-risk{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.order-sub{color:var(--text-3);font-size:11px;line-height:1.5}.order-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.kv.kv-4{grid-template-columns:auto 1fr auto 1fr}.tl{margin:0 0 10px;padding:0 0 0 18px;list-style:none;position:relative}.tl:before{content:"";background:var(--border);width:2px;position:absolute;top:4px;bottom:4px;left:5px}.tl-item{padding:0 0 10px;position:relative}.tl-dot{background:var(--surface);border:2px solid var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:5px;left:-18px}.tl-qc .tl-dot{border-color:var(--green,var(--green-ink))}.tl-print_end .tl-dot,.tl-ship .tl-dot{border-color:var(--amber,var(--amber-ink))}.tl-after_sale .tl-dot{border-color:var(--red,var(--red-ink))}.tl-label{color:var(--text);align-items:baseline;gap:8px;font-size:13px;font-weight:500;display:flex}.tl-time{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:11px;font-weight:400}.tl-detail{color:var(--text-2);font-size:12px}.po-tally{font-variant-numeric:tabular-nums;gap:4px;display:inline-flex}.po-tally em{text-align:center;background:var(--gray-soft);min-width:22px;color:var(--slate-ink);border-radius:6px;padding:1px 5px;font-size:11px;font-style:normal}.po-tally em.good{background:var(--green-soft);color:var(--green-ink,var(--green-ink))}.po-tally em.bad{background:var(--red-soft);color:var(--red-ink)}.po-tally em.lack{background:var(--amber-soft);color:var(--amber-ink,var(--amber-ink))}.board-switch{align-items:center;gap:8px;margin-bottom:12px;font-size:13px;display:flex}.job-board{grid-template-columns:repeat(6,minmax(210px,1fr));align-items:start;gap:12px;padding-bottom:8px;display:grid;overflow-x:auto}.job-col{background:var(--surface-2);border:1px solid var(--border,var(--border));border-radius:12px;min-width:210px;padding:10px}.job-col.drop-hint{border-color:var(--accent);background:var(--row-hover)}.job-col-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.job-col-title{color:var(--text-2);font-size:13px;font-weight:600}.job-col-count{font-variant-numeric:tabular-nums;background:var(--gray-soft);color:var(--slate-ink);border-radius:999px;padding:0 6px;font-size:11px;font-style:normal}.job-col-sub{color:var(--text-3);margin-bottom:8px;font-size:11px}.job-col-body{flex-direction:column;gap:8px;min-height:60px;display:flex}.job-col-empty{text-align:center;padding:18px 0;font-size:12px}.job-card{background:var(--surface);border:1px solid var(--border);cursor:grab;box-shadow:0 1px 2px var(--hover);border-radius:10px;flex-direction:column;gap:6px;padding:9px 10px;display:flex}.job-card:active{cursor:grabbing}.job-card.late{border-color:var(--red-line-strong);box-shadow:0 0 0 1px var(--red-line)}.job-card-top{align-items:center;gap:8px;display:flex}.job-card-img{object-fit:cover;background:var(--gray-soft);border-radius:8px;flex:none;width:34px;height:34px}.job-card-img-empty{color:var(--text-3);place-items:center;display:grid}.job-card-head{flex-direction:column;min-width:0;display:flex}.job-card-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;line-height:1.3;overflow:hidden}.job-card-code{color:var(--text-3);font-size:11px}.job-card-meta{color:var(--text-2);flex-wrap:wrap;gap:4px 8px;font-size:11px;display:flex}.job-card-foot{justify-content:space-between;align-items:center;gap:6px;font-size:11px;display:flex}.sku-field-hint{color:var(--text-3);font-size:12px;font-weight:400}.acct{position:relative}.acct-trigger{border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:var(--fs-caption);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background var(--dur-instant), border-color var(--dur-instant), box-shadow var(--dur-instant);border-radius:999px;align-items:center;gap:8px;padding:5px 10px 5px 5px;display:inline-flex}.acct-trigger:hover{border-color:var(--border-strong);background:var(--surface-2)}.acct-trigger[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.acct-avatar{background:linear-gradient(160deg, var(--accent-hi), var(--accent-ink));width:26px;height:26px;color:var(--on-accent);font-size:var(--fs-micro);border-radius:50%;flex:none;place-items:center;font-weight:700;line-height:1;display:grid;position:relative}.acct-avatar.big{width:38px;height:38px;font-size:var(--fs-md)}.acct-badge{border:1.5px solid var(--surface);background:var(--red);min-width:15px;height:15px;color:var(--on-accent);font-variant-numeric:tabular-nums;border-radius:999px;padding:0 3px;font-size:9px;font-weight:700;line-height:12px;position:absolute;top:-3px;right:-4px}.acct-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;color:var(--text);font-weight:600;font-size:var(--fs-sm);overflow:hidden}.acct-role{background:var(--gray-soft);color:var(--slate-ink);font-size:var(--fs-micro);border-radius:8px;padding:1px 7px}.acct-menu{z-index:60;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:264px;box-shadow:var(--shadow-md);overscroll-behavior:contain;animation:menu-pop var(--dur-fast) var(--ease-arrive) backwards;padding:8px;position:absolute;top:calc(100% + 8px);right:0}@keyframes menu-pop{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:none}}.acct-menu-head{align-items:center;gap:10px;padding:8px 10px 10px;display:flex}.acct-menu-id{flex-direction:column;min-width:0;display:flex}.acct-menu-id strong{font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.acct-menu-id span{font-size:var(--fs-caption);color:var(--text-3)}.acct-warn{background:var(--amber-soft);color:var(--amber-ink);font-size:var(--fs-caption);border-radius:8px;align-items:flex-start;gap:7px;margin:0 4px 6px;padding:8px 10px;line-height:1.5;display:flex}.acct-warn svg{flex:none;margin-top:1px}.acct-item{width:100%;color:var(--text);font-size:var(--fs-md);text-align:left;cursor:pointer;touch-action:manipulation;transition:background var(--dur-instant), color var(--dur-instant);background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;display:flex}.acct-item:hover{background:var(--gray-soft)}.acct-item svg:first-child{color:var(--text-3);flex:none}.acct-item>span:first-of-type{flex:1;min-width:0}.acct-item-tail{color:var(--text-3);font-size:var(--fs-caption);align-items:center;gap:6px;display:inline-flex}.acct-item.danger{color:var(--red-ink)}.acct-item.danger svg{color:var(--red)}.acct-count{background:var(--gray-soft);min-width:20px;color:var(--slate-ink);font-size:var(--fs-micro);font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;padding:1px 6px;font-style:normal}.acct-count.hot{background:var(--red-soft);color:var(--red-ink)}.acct-count.quiet{color:var(--text-3)}.acct-sep{background:var(--border);height:1px;margin:6px 4px}.acct-modal-id{border-bottom:1px solid var(--border);font-size:var(--fs-md);align-items:center;gap:12px;padding-bottom:14px;display:flex}.acct-modal-sub{color:var(--text-3);font-size:var(--fs-caption);align-items:center;gap:6px;margin-top:2px;display:flex}.acct-hidden-user{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.acct-modal-form{flex-direction:column;gap:12px;padding-top:16px;display:flex}.notify-page{flex-direction:column;gap:18px;display:flex}.notify-sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.notify-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.notify-stat{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-card);animation:rise-in var(--dur-base) var(--ease-arrive) backwards;flex-direction:column;gap:2px;padding:15px 16px;display:flex}.notify-stat-label{font-size:var(--fs-caption);color:var(--text-3)}.notify-stat-value{font-size:var(--fs-xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.15}.notify-stat-hint{font-size:var(--fs-micro);color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notify-stat.accent{border-color:var(--accent-line);background:var(--surface)}.notify-stat.accent .notify-stat-value{color:var(--blue-ink)}.notify-stat.danger{border-color:var(--red-line);background:var(--surface)}.notify-stat.danger .notify-stat-value{color:var(--red-ink)}.notify-head-actions{align-items:center;gap:8px;display:inline-flex}.notify-filters{border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:8px 10px;padding:12px 18px;display:flex}.notify-status{flex:none}.seg em{font-variant-numeric:tabular-nums;font-style:normal;font-size:var(--fs-micro);border-radius:var(--r-pill);background:var(--gray-soft);color:var(--slate-ink);padding:0 5px}.seg button.active em{background:var(--accent-soft);color:var(--accent-ink-text)}.chipbtn{min-height:var(--h-sm);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text-2);font-size:var(--fs-caption);box-shadow:var(--shadow-xs);cursor:pointer;touch-action:manipulation;transition:background var(--dur-instant), border-color var(--dur-instant), color var(--dur-instant);align-items:center;gap:5px;padding:0 10px;font-weight:550;display:inline-flex}.chipbtn:hover{border-color:var(--border-hover);color:var(--text)}.chipbtn:focus-visible{box-shadow:var(--ring);outline:none}.chipbtn.on{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-ink-text);font-weight:600}.chipbtn em{font-variant-numeric:tabular-nums;font-style:normal;font-size:var(--fs-micro);background:var(--gray-soft);color:var(--slate-ink);border-radius:999px;padding:0 5px}.sku-model-chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.sku-model-chips .chipbtn.danger.on{background:var(--red-soft);border-color:var(--red-line-strong);color:var(--red-ink)}.model-summary{flex-wrap:wrap;gap:4px;display:inline-flex}.model-summary .chip{font-size:var(--fs-micro);padding:1px 8px}.model-summary .chip.danger{background:var(--red-soft);color:var(--red-ink)}.chipbtn.on em{background:var(--accent-line-soft);color:var(--accent-ink-text)}.notify-search{margin-left:auto}.notify-search input{width:220px;min-height:var(--h-sm);font-size:var(--fs-caption);padding:0 10px 0 32px}.notify-body{padding:4px 22px 10px}.notify-group{padding-bottom:4px}.notify-day{z-index:1;background:var(--surface);color:var(--text-3);font-size:var(--fs-micro);letter-spacing:.4px;text-transform:uppercase;padding:12px 0 6px;font-weight:600;position:sticky;top:0}.notify-row{border-bottom:1px solid var(--border);content-visibility:auto;contain-intrinsic-size:92px;align-items:flex-start;gap:12px;padding:13px 0;display:flex}.notify-row:last-child{border-bottom:none}.notify-bar{border-radius:var(--r-pill);width:3px;min-height:34px;transition:background var(--dur-instant);background:0 0;flex:none;align-self:stretch}.notify-row:not(.read) .notify-bar{background:var(--accent)}.notify-row.read .notify-title{color:var(--text-2);font-weight:500}.notify-main{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.notify-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.notify-title{min-width:0;font-size:var(--fs-md);color:var(--text);text-wrap:pretty;font-weight:650;line-height:1.4}.notify-text{text-align:left;width:100%;font-size:var(--fs-sm);color:var(--text-2);cursor:pointer;overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;max-height:calc(3.3em + 2px);transition:max-height var(--motion-view) var(--ease-arrive), color var(--motion-hover);background:0 0;border:none;-webkit-box-orient:vertical;margin:0;padding:0;line-height:1.65;display:-webkit-box;overflow:hidden}.notify-text.open{-webkit-line-clamp:unset;line-clamp:unset;max-height:44em;overflow:visible}.notify-meta{font-size:var(--fs-micro);color:var(--text-3);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:7px;display:flex}.notify-src{color:var(--text-3);margin-left:auto}.notify-actions{flex:none;align-items:center;gap:6px;display:flex}.notify-skel-title,.notify-skel-sub{border-radius:var(--r-xs);background:linear-gradient(90deg, var(--gray-soft) 0%, var(--shimmer-hi) 42%, var(--gray-soft) 84%);height:12px;animation:shimmer var(--motion-skeleton) linear infinite;background-size:220% 100%}.notify-skel-title{width:46%}.notify-skel-sub{width:26%;margin-top:8px}.notify-confirm{font-size:var(--fs-sm);color:var(--text-2);margin:0;line-height:1.7}.link-btn{color:var(--accent-ink);font-size:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:none;margin-left:4px;padding:0;font-weight:600;text-decoration:underline}@media (width<=1080px){.notify-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.acct-name,.acct-role{display:none}.notify-search{width:100%;margin-left:0}.notify-search input{width:100%}.notify-row{flex-wrap:wrap}.notify-actions{justify-content:flex-end;width:100%}.notify-src{margin-left:0}}.note-section{flex-direction:column;gap:10px;margin:20px 0 18px;display:flex}.note-section-title{font-size:var(--fs-md);color:var(--text);align-items:baseline;gap:10px;font-weight:600;display:flex}.note-section-hint{font-size:var(--fs-caption);color:var(--text-3);font-weight:400}.note-card{border:1px solid var(--border);background:var(--surface);transition:border-color var(--dur-fast) var(--ease-arrive), box-shadow var(--dur-fast) var(--ease-arrive);border-radius:14px;padding:12px 14px 13px}.note-card-readonly{background:var(--surface-2)}.note-card-editing{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.note-card-head{align-items:center;gap:8px;min-width:0;display:flex}.note-card-label{font-size:var(--fs-caption);color:var(--text-2);white-space:nowrap;align-items:center;gap:6px;font-weight:600;display:inline-flex}.note-card-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.note-tag{background:var(--gray-soft);color:var(--text-3);font-size:var(--fs-micro);white-space:nowrap;border-radius:999px;flex:none;padding:2px 8px;font-weight:500}.note-tag-editable{background:var(--accent-soft);color:var(--accent-ink-text)}.note-body{font-size:var(--fs-base);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;line-height:1.65}.note-body-muted{font-size:var(--fs-sm);color:var(--text-3)}.note-meta{font-size:var(--fs-micro);color:var(--text-3);margin:7px 0 0}.note-empty{text-align:left;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);width:100%;color:var(--text-3);font-size:var(--fs-sm);cursor:text;transition:border-color var(--dur-instant) var(--ease-arrive), background var(--dur-instant) var(--ease-arrive), color var(--dur-instant) var(--ease-arrive);background:0 0;margin:9px 0 0;padding:10px 12px;display:block}.note-empty:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--text-2)}.note-textarea{min-height:62px;line-height:1.65;font-size:var(--fs-base);resize:none;margin-top:9px;overflow-y:hidden}.note-foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:9px;display:flex}.note-count{font-size:var(--fs-micro);color:var(--text-3);font-variant-numeric:tabular-nums}.note-count-near{color:var(--amber-ink);font-weight:600}.note-hint{font-size:var(--fs-micro);color:var(--text-3);margin-right:auto}.note-error{font-size:var(--fs-caption);color:var(--red-ink);align-items:center;gap:5px;margin:8px 0 0;display:flex}.note-ok{font-size:var(--fs-caption);color:var(--green-ink);animation:fade-in var(--dur-base) var(--ease-arrive);align-items:center;gap:5px;margin:8px 0 0;display:flex}.note-sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.note-cell{text-overflow:ellipsis;white-space:nowrap;max-width:200px;color:var(--text-2);overflow:hidden}.note-cell-text{vertical-align:middle}.note-tag-inline{vertical-align:baseline;margin-right:6px}@media (width<=720px){.note-section-hint{display:none}.note-foot .btn{flex:1;justify-content:center}}.settings-tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.settings-tab{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);border-radius:var(--r-sm);min-height:var(--h-sm);font-size:var(--fs-caption);cursor:pointer;box-shadow:var(--shadow-xs);transition:background var(--motion-hover), color var(--motion-hover), border-color var(--motion-hover), transform var(--motion-press);padding:0 12px;font-weight:550}.settings-tab:hover{border-color:var(--border-hover);color:var(--text)}.settings-tab:active{transform:translateY(var(--lift-press))}.settings-tab:focus-visible{box-shadow:var(--ring);outline:none}.settings-tab.active{background:var(--accent-soft);color:var(--accent-ink-text);border-color:var(--accent-line);font-weight:600}.table-wrap .table th{z-index:1;background:var(--surface);position:sticky;top:0}.global-search{flex:300px;min-width:0;max-width:420px;margin-left:4px;position:relative}.gs-icon{color:var(--text-3);pointer-events:none;place-items:center;display:grid;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.gs-input{background:var(--surface-2);border-color:var(--border);padding-left:32px;padding-right:32px}.gs-input:hover,.gs-input:focus{background:var(--surface)}.global-search .kbd{pointer-events:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.search-pop{transform-origin:top;animation:pop-in var(--motion-pop) var(--ease-arrive) backwards;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-pop);z-index:60;max-height:420px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.search-group{border-bottom:1px solid var(--border);padding:6px 0}.search-group:last-child{border-bottom:none}.search-group-title{color:var(--text-3);letter-spacing:.04em;padding:2px 12px;font-size:11px;font-weight:600}.search-item{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;padding:7px 12px;font-size:13px;display:block}.search-item:hover{background:var(--accent-soft)}@media (width<=1180px){.topbar-sub{display:none}}body[data-density=compact] .table th,body[data-density=compact] .table td{padding:4px 8px;font-size:12px}.table th{resize:none;min-width:40px;overflow:hidden}.table th:hover{resize:horizontal}.gantt-bar.overdue{outline:2px solid var(--red);outline-offset:-1px}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.table-wrap .pin-cols th:first-child,.table-wrap .pin-cols td:first-child{z-index:1;background:var(--surface);position:sticky;left:0}.table-wrap .pin-cols th:last-child,.table-wrap .pin-cols td:last-child{z-index:1;background:var(--surface);position:sticky;right:0}.table-wrap .pin-cols thead th:first-child,.table-wrap .pin-cols thead th:last-child{z-index:3}.table-wrap .pin-cols tbody tr:hover td:first-child,.table-wrap .pin-cols tbody tr:hover td:last-child{background:var(--surface-2)}.sidebar.collapsed{width:64px;padding-inline:8px}.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-section,.sidebar.collapsed .brand>div{display:none}.sidebar.collapsed .nav-item{justify-content:center;padding-inline:0}.sidebar.collapsed .brand{justify-content:center}.nav-collapse-btn{width:100%;color:var(--text-3);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.nav-collapse-btn:hover{color:var(--text)}.sidebar.collapsed .nav-collapse-btn{justify-content:center}.chipbtn:active,.seg button:active,.filter-btn:active,.nav-item:active,.search-item:active{transform:translateY(var(--lift-press));transition-duration:var(--motion-press)}.search-item{transition:background var(--motion-hover), color var(--motion-hover), transform var(--motion-hover)}.search-item:hover{transform:translate(2px)}@keyframes rail-in{0%{opacity:0;transform:translateY(-50%)scaleY(.2)}}@keyframes value-in{0%{opacity:.4;transform:translateY(-2px)}}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@supports (animation-timeline:scroll()){.topbar{animation:linear both topbar-depth;animation-timeline:scroll();animation-range:0 56px}@keyframes topbar-depth{0%{box-shadow:0 0 #0000}to{box-shadow:0 8px 18px -14px var(--shadow-ink)}}}.page-skel{padding:4px 0}.page-skel .skel-head{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.page-skel .skel-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px;display:grid}.page-skel .skel-rows{flex-direction:column;gap:10px;display:flex}.skel-card{border-radius:var(--r-md);border:1px solid var(--border);height:74px}.skel-bar,.skel-card{background:linear-gradient(90deg, var(--gray-soft) 0%, var(--shimmer-hi) 42%, var(--gray-soft) 84%);border-radius:var(--r-xs);animation:shimmer var(--motion-skeleton) linear infinite;background-size:220% 100%}.skel-note{font-size:var(--fs-caption);color:var(--text-3);margin-top:12px;display:inline-block}.tbl-skel{flex-direction:column;gap:12px;padding:14px 0;display:flex}.tbl-skel-row{align-items:center;gap:16px;display:flex}.state-error{border:1px solid var(--amber-line);border-left:3px solid var(--amber);border-radius:var(--r-md);background:var(--amber-soft,var(--hover));animation:rise-in var(--motion-pop) var(--ease-arrive) both;align-items:flex-start;gap:10px;margin-bottom:12px;padding:12px 14px;display:flex}.state-error.compact{margin-bottom:8px;padding:8px 12px}.state-error-icon{color:var(--amber-ink,var(--amber));padding-top:1px;display:inline-flex}.state-error-body{flex:auto;min-width:0}.state-error-msg{font-size:var(--fs-sm);color:var(--text-2);overflow-wrap:anywhere;margin-top:2px}.state-error-meta{font-size:var(--fs-caption);color:var(--text-2);margin-top:4px}.stale-chip{font-size:var(--fs-caption);color:var(--text-3);border:1px dashed var(--border-strong);background:var(--hover);border-radius:999px;align-items:center;gap:5px;margin-bottom:8px;padding:3px 9px;display:inline-flex}.stale-spin{border:2px solid var(--border-strong);border-top-color:var(--accent);width:11px;height:11px;animation:spin var(--motion-spinner) linear infinite;border-radius:50%}@media (prefers-reduced-motion:reduce){.skel-bar,.skel-card,.state-error,.stale-spin{animation-duration:.01ms;animation-iteration-count:1}.stale-spin{border-top-color:var(--accent)}}.list-pager{border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.list-pager-total strong{color:var(--text);font-variant-numeric:tabular-nums}.list-pager-hint{color:var(--text-3);margin-left:4px;font-style:normal}.list-pager-nav{align-items:center;gap:8px;display:flex}.list-pager-page{text-align:center;font-variant-numeric:tabular-nums;min-width:76px}.pager-caret{display:inline-flex}.pager-caret.flip{transform:rotate(180deg)}.state-inline-error{color:var(--red-ink,var(--red))}.toolbar-filter-toggle,.toolbar-more-toggle{display:none}.toolbar-count{font-size:var(--fs-caption);color:var(--text-3);white-space:nowrap}.toolbar-filters,.toolbar-actions{display:contents}@media (width<=640px){.toolbar[data-mode=compact]{flex-wrap:wrap;gap:8px}.toolbar[data-mode=compact] .toolbar-filter-toggle,.toolbar[data-mode=compact] .toolbar-more-toggle{flex:none;display:inline-flex}.toolbar[data-mode=compact] .toolbar-filters{border-top:1px dashed var(--border);flex-wrap:wrap;flex-basis:100%;order:3;gap:8px;padding-top:6px;display:flex}.toolbar[data-mode=compact] .toolbar-filters[hidden]{display:none}.toolbar[data-mode=compact] .toolbar-filters .select{flex:46%;width:auto!important}.toolbar[data-mode=compact] .toolbar-actions[hidden]{display:none}.toolbar[data-mode=compact] .searchbox{flex:auto;min-width:0}.toolbar[data-mode=compact] .spacer{display:none}.toolbar[data-mode=compact] .toolbar-count{flex:auto;order:2}.toolbar[data-mode=compact] .btn-primary{order:1}}.toolbar-filter-badge{background:var(--accent);min-width:18px;height:18px;color:var(--btn-primary-ink);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;margin-left:6px;padding:0 5px;font-size:11px;line-height:18px}.order-cards{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.order-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);animation:row-in var(--motion-pop) var(--ease-arrive) both;overflow:hidden}.order-card-head{width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color var(--motion-hover) var(--ease-arrive);background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px 8px;padding:10px 12px;display:grid}.order-card-head:hover{background:var(--hover)}.order-card-head:active{transition-duration:90ms;transform:translateY(1px)}.order-card-no{font-family:var(--font-mono,ui-monospace, monospace);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.order-card-platform{font-size:var(--fs-caption);color:var(--text-3);white-space:nowrap}.order-card-amount{font-variant-numeric:tabular-nums;font-weight:600}.order-card-amount.overdue{color:var(--red-ink,var(--red))}.order-card-body{border-top:1px dashed var(--border);animation:rise-in var(--motion-pop) var(--ease-arrive) both;padding:4px 12px 12px}.order-card-meta{font-size:var(--fs-caption);grid-template-columns:auto minmax(0,1fr);gap:4px 10px;margin:8px 0 10px;display:grid}.order-card-meta dt{color:var(--text-3)}.order-card-meta dd{overflow-wrap:anywhere;margin:0}.btn-block{justify-content:center;width:100%}@media (width<=380px){.order-card-head{grid-template-columns:minmax(0,1fr) auto}.order-card-no{white-space:nowrap;text-overflow:clip;grid-column:1/-1;overflow:visible}.order-card-amount{grid-area:2/2}.order-card-platform{grid-area:2/1}}.kanban{outline-offset:3px;align-items:flex-start;gap:12px;display:flex}.kanban-col{flex:0 0 236px;min-width:0;scroll-margin-inline:12px}.kanban-col.sparse{flex-basis:118px}.kanban-jump{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}@media (width<=640px){.kanban-jump{scrollbar-width:thin;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.kanban-jump-btn{flex:none}.kanban-jump{margin-bottom:6px}.toolbar{margin-bottom:8px}.kanban-card{padding:9px 11px}}.kanban-jump-btn{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--text-2);font:inherit;font-size:var(--fs-caption);cursor:pointer;transition:background-color var(--motion-hover) var(--ease-arrive), border-color var(--motion-hover) var(--ease-arrive);border-radius:999px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.kanban-jump-btn:hover{background:var(--hover);border-color:var(--border-strong)}.kanban-jump-btn.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong,var(--accent))}.kanban-jump-count{font-variant-numeric:tabular-nums;color:var(--text-3)}.kanban-hint{font-size:var(--fs-caption);color:var(--text-3);animation:fade-in var(--motion-pop) var(--ease-arrive) both;margin:8px 0 0}@media (pointer:coarse),(width<=640px){.content :is(button,select,input[type=search],[role=button]):not(.table :is(button,select)){min-height:44px}.content :is(button:not(.btn),select,input):not(.table :is(button,select)){min-width:44px}.seg button{flex:1 1 0;min-height:44px}.tabs button,.tab-btn,.chip,.pill,.notify-filter button,.status-pill{min-height:44px}}@media (prefers-reduced-motion:reduce){.kanban-jump-btn,.kanban-hint,.order-card,.order-card-body{transition-duration:.01ms;animation-duration:.01ms}}.swatch-scroll{max-height:232px;overflow-y:auto}.swatch-check{color:var(--accent);margin-left:auto;font-weight:700}.swatch-more{font-size:var(--fs-caption);justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}@media (pointer:coarse),(width<=900px){.btn,.list-pager-nav .btn,.swatch-item,.chip,.filter-pill,.toolbar select,.toolbar input{min-height:44px}.swatch-item,.btn-icon,.nav-collapse-btn{min-width:44px}.table .btn-sm,.table-wide .btn-sm{min-width:44px;min-height:44px}}.cancel-impact{gap:14px;display:grid}.cancel-impact p{margin:0}.cancel-impact-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.cancel-impact-list li{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:8px;gap:5px;padding:12px;display:grid}.cancel-impact-check{cursor:pointer;align-items:flex-start;gap:10px;padding:10px 0;display:flex}.cancel-impact-check input{flex:none;margin-top:4px}.cancel-impact .modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.primary-navigation{gap:6px;margin-top:20px}.primary-navigation .nav-item{min-height:44px;font-size:var(--fs-base);text-decoration:none}.workflow-navigation{border-bottom:1px solid var(--border);background:var(--surface);padding:0 24px}.workflow-links{flex-wrap:wrap;align-items:center;gap:4px 20px;display:flex}.workflow-links a{min-height:44px;color:var(--text-2);font-size:var(--fs-sm);transition:opacity var(--motion-hover) var(--ease-arrive), transform var(--motion-press) var(--ease-arrive);border-bottom:2px solid #0000;align-items:center;padding:8px 2px;text-decoration:none;display:inline-flex}.workflow-links a:hover{color:var(--accent-text);background:var(--hover)}.workflow-links a:active{transform:translateY(1px)}.workflow-links a[aria-current=page]{color:var(--accent-text);border-bottom-color:var(--accent-text);font-weight:650}.workflow-links a:focus-visible,.primary-navigation a:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px;border-radius:var(--r-xs)}.workflow-hint{color:var(--text-2);font-size:var(--fs-caption);margin:0;padding:6px 0 12px;line-height:1.6}.mobile-nav-close{display:none}.production-more summary{cursor:pointer;min-height:44px;color:var(--text-2);align-items:center;display:flex}.production-more summary:hover{color:var(--accent-text)}.production-more summary:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.wb-create h2{font-size:var(--fs-base);margin:0 0 12px}.release-summary{gap:16px;display:grid}.release-summary p{margin:0;line-height:1.7}.release-summary ul{margin:0;padding-left:20px}.release-summary li{margin-block:8px;line-height:1.6}.release-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.release-actions button,.release-actions a{min-height:44px}.release-confirmation{border-top:1px solid var(--border);color:var(--green-ink);padding:14px 0}.job-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.job-actions a,.job-actions button{align-items:center;min-height:44px;display:inline-flex}.job-actions a{color:var(--accent-ink-text);text-underline-offset:3px}@media (width<=900px){.workflow-navigation{padding-inline:16px}.workflow-links{gap:0 16px}.mobile-nav-close{align-self:flex-end;min-width:44px;min-height:44px;display:inline-flex}.sidebar.collapsed.open{width:var(--sidebar-w)}.sidebar.collapsed.open .nav-label{opacity:1;width:auto;display:inline}.sidebar:not(.open){visibility:hidden}}@media (prefers-reduced-motion:reduce){.workflow-links a{transition:none;transform:none}.workflow-links a:active{transform:none}}@media (width<=600px){.topbar{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;height:auto;padding:8px 16px;display:grid}.topbar .menu-btn{grid-area:1/1;min-width:44px;min-height:44px}.topbar-title{grid-area:1/2;min-width:0}.topbar h1{font-size:var(--fs-lg)}.topbar .global-search{grid-area:2/1/auto/-1;width:100%;min-width:0;max-width:none}.topbar .global-search input{min-height:44px}.topbar-right{grid-area:1/3;gap:0}.topbar-right>:not(.acct){display:none}.topbar-right .acct-trigger{justify-content:center;width:44px;height:44px;padding:0}.topbar-right .acct-trigger>:not(.acct-avatar){display:none}.env-banner{white-space:normal;overflow-wrap:anywhere;line-height:1.5}}.topbar,.workflow-navigation{flex-shrink:0}.wb{width:100%;min-width:0}@media (width<=650px){.wb .wb-appbar .wb-actions{flex-wrap:wrap;min-width:0}.wb .wb-appbar select{flex:1;min-width:0}.wb .wb-appbar button,.wb .wb-slice-actions button{width:auto;min-height:44px}}.management-search .search-pop{overscroll-behavior:contain;max-height:min(65vh,620px);padding:12px;overflow-y:auto}.management-search .search-item{white-space:normal;overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;gap:4px;min-height:44px;display:flex}.management-search .search-item .muted{font-size:var(--fs-caption)}.record-filter{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:end;gap:12px;padding:16px;display:flex}.record-filter label{min-width:min(240px,100%);max-width:520px;color:var(--text-2);flex:1;gap:6px;display:grid}.record-filter .input,.record-filter .btn{min-height:44px}@media (width<=900px){.management-search{flex-basis:100%;order:4;width:100%;display:block!important}.management-search .search-pop{width:100%;min-width:0;max-height:55vh}.management-search .gs-input{width:100%;font-size:16px}}.workflow-help{border-bottom:1px solid var(--border);color:var(--text-2);margin-bottom:16px}.workflow-help summary{cursor:pointer;min-height:44px;font-size:var(--fs-sm);padding:12px 0}.workflow-help p{max-width:72ch;margin:0 0 8px;line-height:1.7}.workflow-help nav{flex-wrap:wrap;gap:8px 24px;display:flex}.workflow-help a{min-height:44px;color:var(--accent-text);text-underline-offset:4px;align-items:center;display:inline-flex}.workflow-help summary:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.panel-hint,.job-col-sub,.job-card-code{color:var(--text-2)}.job-actions a{color:var(--accent-ink-text)}.printer-secondary{margin-top:20px}.printer-secondary>summary{cursor:pointer;min-height:44px;color:var(--text-2);padding:12px 0}.printer-secondary>summary:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.resource-picker{flex:1;min-width:0;position:relative}.resource-picker>input{width:100%;min-height:44px}.resource-picker-pop{z-index:30;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);overscroll-behavior:contain;max-height:320px;position:absolute;inset:calc(100% + 4px) 0 auto;overflow-y:auto}.resource-picker-note{font-size:var(--fs-caption);color:var(--text-2);border-bottom:1px solid var(--border);padding:10px 12px}.resource-picker-pop button{text-align:left;width:100%;min-height:44px;color:inherit;font:inherit;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.resource-picker-pop button span{font-size:var(--fs-sm);color:var(--text-2)}.resource-picker-pop button.active,.resource-picker-pop button:hover{background:var(--hover)}.resource-picker-pop button[aria-selected=true] strong{color:var(--accent-text)}.resource-picker-pop p{padding:12px}.job-card,.job-card:active{cursor:default}.management-split{grid-template-columns:minmax(0,380px) minmax(0,1fr)}.management-split-360{grid-template-columns:minmax(0,360px) minmax(0,1fr)}.management-split>*{min-width:0}@media (width<=1100px){.management-split{grid-template-columns:minmax(0,1fr)}}:root{--m-bg:#f2f2f7;--m-card:#fff;--m-blue:#007aff;--m-blue-ink:#0062cc;--m-green-ink:#1a6b2f;--m-orange-ink:#8a5200;--m-red-ink:#a5251c;--m-green:#34c759;--m-red:#ff3b30;--m-orange:#ff9500;--m-yellow:#fc0;--m-gray:#6e6e73;--m-on-accent:#fff;--m-btn-fill:#0062cc;--m-btn-danger-fill:#a5251c;--m-glass:#f2f2f7d1;--m-glass-strong:#f9f9f9f0;--m-glass-dark:#1c1c1ee6;--m-focus-ring:#007aff1f;--m-red-soft:#ffebee;--m-red-strong:#c62828;--m-orange-soft:#ff95001f;--m-orange-line:#ff950052;--m-indigo:#5856d6;--m-shadow-raise:0 1px 2px #0000000f;--m-shadow-card:0 1px 3px #0000001f;--m-shadow-pop:0 20px 60px #00000040;--m-gray2:#aeaeb2;--m-gray3:#c7c7cc;--m-gray4:#d1d1d6;--m-gray5:#e5e5ea;--m-gray6:#f2f2f7;--m-text:#1c1c1e;--m-text2:#3c3c43;--m-sep:#3c3c434a;--m-tint-blue:#e3f0ff;--m-tint-green:#e8f8ee;--m-tint-orange:#fff3e0;--m-tint-red:#ffebee;--m-radius:12px;--m-nav-height:44px;--m-tab-height:49px;--m-safe-top:env(safe-area-inset-top,20px);--m-safe-bottom:env(safe-area-inset-bottom,0px);--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", "PingFang SC", sans-serif}.mobile-root{font-family:var(--font);background:var(--m-bg);min-height:100dvh;color:var(--m-text);-webkit-font-smoothing:antialiased;max-width:590px;margin:0 auto;position:relative;overflow-x:hidden}.m-nav{z-index:100;background:var(--m-glass);-webkit-backdrop-filter:blur(20px)saturate(180%);border-bottom:.5px solid var(--m-sep);padding-top:var(--m-safe-top);position:sticky;top:0}.m-nav-row{height:var(--m-nav-height);justify-content:space-between;align-items:center;padding:0 16px;display:flex}.m-nav-title{letter-spacing:-.4px;color:var(--m-text);text-align:center;flex:1;font-size:17px;font-weight:600}.m-nav-btn{color:var(--m-blue);cursor:pointer;font-size:15px;font-family:var(--font);text-align:left;background:0 0;border:none;min-width:40px;padding:4px 8px}.m-nav-btn.right{text-align:right}.m-nav-btn:disabled{opacity:.35}.m-tabbar{background:var(--m-glass-strong);-webkit-backdrop-filter:blur(20px)saturate(180%);border-top:.5px solid var(--m-sep);width:100%;max-width:590px;padding-bottom:var(--m-safe-bottom);z-index:100;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.m-tab-item{color:var(--m-gray);cursor:pointer;font-family:var(--font);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:1px;padding:5px 0 3px;display:flex}.m-btn-ghost{color:var(--m-blue-ink)}.m-tab-item.active{color:var(--m-blue)}.m-tab-item svg{width:24px;height:24px}.m-tab-label{letter-spacing:-.2px;font-size:10px;font-weight:500}.m-content{padding:12px 16px calc(var(--m-tab-height) + var(--m-safe-bottom) + 16px)}.m-card{background:var(--m-card);border-radius:var(--m-radius);margin-bottom:10px;overflow:hidden}.m-card-header{text-transform:uppercase;color:var(--m-gray);letter-spacing:.5px;padding:12px 16px 0;font-size:13px;font-weight:600}.m-card-body{padding:12px 16px}.m-list{background:var(--m-card);border-radius:var(--m-radius);margin-bottom:10px;overflow:hidden}.m-list-item{border-bottom:.5px solid var(--m-gray5);align-items:flex-start;min-height:44px;padding:12px 16px;display:flex}.m-list-item:last-child{border-bottom:none}.m-list-item:active{background:var(--m-gray6)}.m-list-item>.m-badge{flex-shrink:0;margin-top:2px}.m-list-icon{width:28px;height:28px;color:var(--m-on-accent);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;margin-right:12px;display:flex}.m-list-icon svg{width:16px;height:16px}.m-list-content{flex:1;min-width:0}.m-list-title{color:var(--m-text);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:16px;display:-webkit-box;overflow:hidden}.m-list-sub{color:var(--m-gray);margin-top:1px;font-size:13px}.m-list-value{color:var(--m-gray);margin-right:4px;font-size:15px}.m-list-chevron{color:var(--m-gray3);flex-shrink:0}.m-stats-row{grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:10px;margin-bottom:10px;display:grid}.m-stat-card{background:var(--m-card);border-radius:var(--m-radius);text-align:center;padding:14px}.m-stat-num{letter-spacing:-.8px;font-size:28px;font-weight:700;line-height:1.1}.m-stat-label{color:var(--m-gray);margin-top:4px;font-size:12px}.m-stat-card.blue .m-stat-num{color:var(--m-blue)}.m-stat-card.green .m-stat-num{color:var(--m-green-ink)}.m-stat-card.orange .m-stat-num{color:var(--m-orange-ink)}.m-stat-card.red .m-stat-num{color:var(--m-red-ink)}.m-badge{letter-spacing:-.2px;white-space:nowrap;border-radius:100px;align-items:center;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.m-badge.blue{background:var(--m-tint-blue);color:var(--m-blue-ink)}.m-badge.green{background:var(--m-tint-green);color:var(--m-green-ink)}.m-badge.orange{background:var(--m-tint-orange);color:var(--m-orange-ink)}.m-badge.red{background:var(--m-tint-red);color:var(--m-red-ink)}.m-badge.gray{background:var(--m-gray5);color:var(--m-text2)}.m-progress{background:var(--m-gray5);border-radius:3px;flex:1;height:6px;overflow:hidden}.m-progress-bar{background:var(--m-blue);height:100%;transition:width var(--motion-view) var(--ease-arrive);border-radius:3px}.m-progress-bar.green{background:var(--m-green)}.m-progress-bar.orange{background:var(--m-orange)}.m-btn{border-radius:var(--m-radius);font-size:15px;font-weight:600;font-family:var(--font);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;gap:6px;padding:10px 18px;transition:opacity .15s;display:inline-flex}.m-btn:active{opacity:.7}.m-btn-primary{background:var(--m-btn-fill);color:var(--m-on-accent)}.m-btn-danger{background:var(--m-btn-danger-fill);color:var(--m-on-accent)}.m-btn-ghost{background:var(--m-gray5);color:var(--m-blue)}.m-btn-sm{border-radius:8px;padding:6px 12px;font-size:13px}.m-btn:disabled{opacity:.4}.m-btn-group{flex-wrap:wrap;gap:8px;padding:8px 16px 12px;display:flex}.m-input{border:1px solid var(--m-gray4);width:100%;font-size:15px;font-family:var(--font);background:var(--m-card);color:var(--m-text);-webkit-appearance:none;border-radius:10px;outline:none;padding:10px 12px}.m-input:focus{border-color:var(--m-blue);box-shadow:0 0 0 3px var(--m-focus-ring)}.m-select{border:1px solid var(--m-gray4);width:100%;font-size:15px;font-family:var(--font);background:var(--m-card);color:var(--m-text);-webkit-appearance:none;border-radius:10px;outline:none;padding:10px 12px}.m-toast{bottom:calc(var(--m-tab-height) + var(--m-safe-bottom) + 20px);background:var(--m-glass-dark);color:var(--m-on-accent);font-size:14px;font-family:var(--font);z-index:200;white-space:nowrap;border-radius:100px;padding:10px 20px;animation:.3s mToastIn;position:fixed;left:50%;transform:translate(-50%)}@keyframes mToastIn{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.m-empty{text-align:center;color:var(--m-gray);padding:48px 24px}.m-empty svg{opacity:.3;width:48px;height:48px;margin-bottom:8px}.m-empty p{font-size:15px}.m-section-title{letter-spacing:-.5px;color:var(--m-text);padding:16px 16px 8px;font-size:20px;font-weight:700}.m-pull-hint{text-align:center;color:var(--m-gray);padding:8px;font-size:13px}.m-login-page{background:linear-gradient(180deg, var(--m-blue) 0%, var(--m-indigo) 100%);min-height:100dvh;font-family:var(--font);justify-content:center;align-items:center;padding:24px;display:flex}.m-login-card{background:var(--m-card);text-align:center;border-radius:20px;width:100%;max-width:360px;padding:36px 28px 28px}.m-login-card h1{color:var(--m-text);margin:0 0 4px;font-size:22px;font-weight:700}.m-login-sub{color:var(--m-gray);margin:0 0 24px;font-size:14px}.m-login-field{text-align:left;flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.m-login-field span{color:var(--m-text2);font-size:13px;font-weight:500}.m-login-field .input{border:1px solid var(--m-gray4);border-radius:12px;width:100%;padding:12px 14px;font-size:16px}.m-login-btn{background:var(--m-btn-fill);width:100%;color:var(--m-on-accent);cursor:pointer;font-size:17px;font-weight:600;font-family:var(--font);border:none;border-radius:12px;margin-top:8px;padding:13px}.m-login-btn:disabled{opacity:.5}.m-login-error{background:var(--m-red-soft);color:var(--m-red-strong);border-radius:8px;margin-bottom:12px;padding:8px 12px;font-size:13px}@media (width>=591px){.mobile-root{border-left:1px solid var(--m-gray5);border-right:1px solid var(--m-gray5)}}.mobile-only .desktop-sidebar{display:none!important}.m-login-card .login-logo{object-fit:contain;border-radius:14px;width:72px;height:72px;margin-bottom:10px}@keyframes m-screen-in{0%{opacity:0;transform:translateY(8px)}}@keyframes m-card-in{0%{opacity:0;transform:translateY(10px)}}.m-content{animation:m-screen-in .28s var(--ease-arrive,cubic-bezier(.16, 1, .3, 1)) backwards}.m-screen{animation:none}.m-tab-item{transition:color var(--dur-fast,.18s) ease, transform var(--dur-instant,.12s) ease}.m-tab-item:active{transform:scale(.92)}.m-tab-item svg{transition:transform var(--dur-fast,.18s) cubic-bezier(.16, 1, .3, 1)}.m-tab-item.active svg{transform:translateY(-1px)scale(1.06)}.m-nav-btn,.m-btn{transition:opacity var(--dur-instant,.12s) ease, transform var(--dur-instant,.12s) ease, background var(--dur-instant,.12s) ease}.m-btn:active:not(:disabled){transform:scale(.97)}.m-list-item{transition:background var(--dur-instant,.12s) ease}.m-list-item,.m-stat-card,.m-card{-webkit-tap-highlight-color:transparent}.m-login-card{box-shadow:var(--m-shadow-pop);animation:.32s cubic-bezier(.16,1,.3,1) backwards m-card-in}.m-login-error{animation:.18s backwards m-card-in}@media (prefers-reduced-motion:reduce){.m-content,.m-login-card,.m-login-error{opacity:1!important;animation:none!important;transform:none!important}.m-tab-item,.m-tab-item svg,.m-btn,.m-nav-btn{transition-duration:.01ms!important;transform:none!important}}.m-session-alert{background:var(--m-orange-soft);border:1px solid var(--m-orange-line);border-radius:14px;margin:0 16px 12px;padding:12px 14px}.m-session-alert p{color:var(--m-orange-ink);margin:0;font-size:13px;line-height:1.5}.m-session-alert p+p{margin-top:6px}.m-bell{align-items:center;padding:6px 8px;display:inline-flex;position:relative}.m-bell-dot{background:var(--m-red);width:8px;height:8px;box-shadow:0 0 0 2px var(--m-card);border-radius:50%;position:absolute;top:4px;right:5px}.m-notify{flex-direction:column;gap:10px;display:flex}.m-notify-summary{border-radius:var(--m-radius);background:var(--m-card);box-shadow:var(--m-shadow-raise);align-items:center;gap:14px;padding:12px 14px;display:flex}.m-notify-summary>div{flex-direction:column;line-height:1.2;display:flex}.m-notify-num{font-variant-numeric:tabular-nums;color:var(--m-text);font-size:20px;font-weight:700}.m-notify-num.hot{color:var(--m-red)}.m-notify-cap{color:var(--m-gray);font-size:11px}.m-notify-summary .m-btn{margin-left:auto}.m-seg{background:var(--m-gray5);border-radius:9px;gap:2px;padding:2px;display:flex}.m-seg-btn{color:var(--m-text2);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:7px;flex:1;padding:7px 0;font-size:13px;font-weight:600;transition:background .18s,color .18s}.m-seg-btn.on{background:var(--m-card);color:var(--m-text);box-shadow:var(--m-shadow-card)}.m-notify-item{border-radius:var(--m-radius);background:var(--m-card);box-shadow:var(--m-shadow-raise);overflow:hidden}.m-notify-item+.m-notify-item{margin-top:8px}.m-notify-head{width:100%;color:var(--m-text);text-align:left;font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.m-notify-head:active{background:var(--m-gray6)}.m-notify-icon{width:28px;height:28px;color:var(--m-on-accent);border-radius:8px;flex:none;place-items:center;display:grid}.m-notify-head .m-list-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.m-notify-head .m-list-title{overflow-wrap:anywhere;align-items:flex-start;gap:6px;font-size:14px;font-weight:600;line-height:1.4;display:flex}.m-notify-dot{background:var(--m-blue);border-radius:50%;flex:none;width:7px;height:7px;margin-top:6px}.m-notify-detail{padding:0 14px 12px 52px;animation:.18s ease-out backwards m-rise}@keyframes m-rise{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.m-notify-body{color:var(--m-text2);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.6}.m-notify-foot{color:var(--m-gray);margin:6px 0 0;font-size:11px}.m-notify-acts{gap:8px;margin-top:10px;display:flex}.m-notify-loading{text-align:center;color:var(--m-gray);padding:24px;font-size:13px}.m-notify-error{background:var(--m-red-soft);color:var(--m-red-ink);border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex}.m-notify-error .m-btn{margin-left:auto}@media (prefers-reduced-motion:reduce){.m-notify-detail{animation:none}}html[data-theme=dark]{--m-bg:#000;--m-card:#1c1c1e;--m-blue:#0a84ff;--m-blue-ink:#6ab0ff;--m-green:#30d158;--m-green-ink:#63d98f;--m-red:#ff453a;--m-red-ink:#ff8a84;--m-orange:#ff9f0a;--m-orange-ink:#ffbe57;--m-yellow:#ffd60a;--m-gray:#a8adb6;--m-glass:#1c1c1ed1;--m-glass-strong:#1c1c1ef0;--m-glass-dark:#2e2e30eb;--m-focus-ring:#0a84ff52;--m-red-soft:#ff453a29;--m-red-strong:#ff8a84;--m-orange-soft:#ff9f0a29;--m-orange-line:#ff9f0a57;--m-indigo:#5e5ce6;--m-btn-fill:#0b5bd3;--m-btn-danger-fill:#b3261e;--m-gray2:#636366;--m-gray3:#545458;--m-gray4:#5a5a5e;--m-gray5:#2c2c2e;--m-gray6:#262629;--m-text:#f2f2f7;--m-text2:#ebebf5;--m-sep:#ffffff3d;--m-tint-blue:#0a84ff33;--m-tint-green:#30d1582e;--m-tint-orange:#ff9f0a2e;--m-tint-red:#ff453a33}.m-nav-btn,.m-btn-ghost,.m-tab-item.active{color:var(--m-blue-ink)}.m-nav-link{color:var(--m-gray);font-size:13px}h1.m-nav-title{margin:0;line-height:1.3}.m-error{border:1px solid var(--m-red-soft);border-left:3px solid var(--m-red);background:var(--m-red-soft);color:var(--m-red-ink);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:8px;margin:10px 0;padding:18px 14px;font-size:14px;display:flex}.m-error-msg{overflow-wrap:anywhere;margin:0}.m-error .m-btn{min-width:96px;min-height:44px}html[data-theme=dark] .m-error{border-left-color:var(--m-red)}
