:root{font-family:SF Pro Display,SF Pro Text,PingFang SC,-apple-system,BlinkMacSystemFont,Noto Sans SC,Microsoft YaHei,sans-serif;font-synthesis:none;color-scheme:light;--ink: #101418;--ink-muted: #596368;--ink-soft: #7e888c;--ink-faint: #99a2a5;--leaf-text: #58a021;--blue: #236de9;--blue-hover: #1d61d5;--blue-soft: rgba(35, 109, 233, .1);--lime: #82dd2d;--lime-soft: rgba(130, 221, 45, .14);--amber: #d98a17;--amber-text: #a96a08;--amber-soft: rgba(233, 168, 46, .16);--red: #ff5a50;--red-text: #e0443b;--red-soft: rgba(255, 90, 80, .11);--focus: rgba(35, 109, 233, .8);--r-xs: 8px;--r-sm: 12px;--r-md: 16px;--r-lg: 20px;--r-xl: 24px;--shade: 46, 58, 62;--line: rgba(var(--shade), .085);--line-strong: rgba(var(--shade), .11);--glass-line: rgba(255, 255, 255, .88);--glass-line-soft: rgba(255, 255, 255, .7);--e1: 0 1px 2px rgba(var(--shade), .05), 0 5px 14px rgba(var(--shade), .04);--e2: 0 1px 3px rgba(var(--shade), .06), 0 9px 22px rgba(var(--shade), .055);--e3: 0 2px 6px rgba(var(--shade), .07), 0 16px 34px rgba(var(--shade), .08);--e-accent: 0 1px 2px rgba(20, 66, 148, .28), 0 8px 18px rgba(35, 109, 233, .24);--e-accent-hover: 0 1px 2px rgba(20, 66, 148, .32), 0 12px 24px rgba(35, 109, 233, .3);--e-danger: 0 1px 2px rgba(150, 40, 34, .26), 0 8px 18px rgba(255, 90, 80, .24);--edge: inset 0 1px 0 rgba(255, 255, 255, .92);--edge-strong: inset 0 1px 0 rgba(255, 255, 255, .98);--stage: #dfe3e2;--frame: #17191d;--canvas: #f6f8f7;--rail-bg: rgba(250, 251, 250, .92);--pill-bg: linear-gradient(145deg, rgba(255, 255, 255, .93), rgba(246, 251, 249, .62));--pill-inset: inset 0 -1px 0 rgba(105, 122, 128, .08);--float-bg: rgba(242, 246, 244, .97);--float-inset: inset 0 0 0 1px rgba(120, 132, 135, .13), inset 0 1px 0 rgba(255, 255, 255, .72);--surface: linear-gradient(145deg, rgba(255, 255, 255, .97), rgba(249, 252, 251, .93));--surface-solid: #fbfcfc;--groove-bg: rgba(225, 231, 229, .5);--groove-inset: inset 0 1px 0 rgba(255, 255, 255, .46);--input-bg: rgba(255, 255, 255, .78);--hover-bg: rgba(var(--shade), .045);--press-bg: rgba(var(--shade), .075);--overlay: rgba(16, 20, 24, .26);--dark-surface: #131619;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--fs-display-xl: 56px;--fs-display-l: 40px;--fs-display-m: 28px;--track-eyebrow: .14em;--hatch-ink: rgba(var(--shade), .16);--hatch: repeating-linear-gradient(135deg, var(--hatch-ink) 0 1.5px, transparent 1.5px 6px);--tick: rgba(var(--shade), .22);--tick-strong: rgba(var(--shade), .5);--plate-bg: rgba(21, 24, 26, .9);--plate-line: rgba(255, 255, 255, .1);--plate-ink: #f2f5f4;--plate-soft: rgba(255, 255, 255, .56);--cat-1-bg: #f6e7c4;--cat-1-ink: #7a5a16;--cat-2-bg: #d7e7fb;--cat-2-ink: #275a96;--cat-3-bg: #e4dcf7;--cat-3-ink: #5b4597;--cat-4-bg: #f7dce1;--cat-4-ink: #94384c;--cat-5-bg: #d8f0dc;--cat-5-ink: #2d7140;--ambient-a: rgba(130, 221, 45, .07);--ambient-b: rgba(35, 109, 233, .055);--thread: rgba(var(--shade), .2);--thread-active: rgba(35, 109, 233, .62);--pulse-halo: rgba(35, 109, 233, .18);--node-bg: rgba(255, 255, 255, .94);--graph-1: 186, 140, 52;--graph-2: 58, 122, 206;--graph-3: 122, 96, 204;--graph-4: 200, 90, 118;--graph-5: 58, 150, 92;--graph-ink: 46, 58, 62;--graph-accent: 35, 109, 233;--graph-lime: 110, 190, 36;--graph-danger: 224, 68, 59;--graph-paper: 255, 255, 255;--ease-premium: cubic-bezier(.16, 1, .3, 1);--rail-w: 232px;--topbar-h: 64px;--layer-overlay: 200;--layer-toast: 400;--control-h: 36px;--control-h-sm: 30px;--row-h: 48px;--cell-px: 16px}:root[data-density=comfy]{--row-h: 56px;--cell-px: 18px}:root[data-density=compact]{--row-h: 40px;--cell-px: 14px}:root[data-theme=dark]{color-scheme:dark;--ink: #eef2f1;--ink-muted: #b0babd;--ink-soft: #8d979a;--ink-faint: #6c7679;--leaf-text: #9be35a;--blue: #4c8dff;--blue-hover: #3d7ff2;--blue-soft: rgba(76, 141, 255, .16);--lime-soft: rgba(130, 221, 45, .16);--amber: #e8b055;--amber-text: #f0c274;--amber-soft: rgba(233, 168, 46, .18);--red-text: #ff7a71;--red-soft: rgba(255, 90, 80, .16);--focus: rgba(76, 141, 255, .85);--shade: 0, 0, 0;--line: rgba(255, 255, 255, .07);--line-strong: rgba(255, 255, 255, .1);--glass-line: rgba(255, 255, 255, .1);--glass-line-soft: rgba(255, 255, 255, .07);--e1: 0 1px 2px rgba(0, 0, 0, .3), 0 5px 14px rgba(0, 0, 0, .2);--e2: 0 1px 3px rgba(0, 0, 0, .32), 0 12px 30px rgba(0, 0, 0, .28);--e3: 0 2px 6px rgba(0, 0, 0, .36), 0 22px 50px rgba(0, 0, 0, .42);--e-accent: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 18px rgba(76, 141, 255, .26);--e-accent-hover: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 24px rgba(76, 141, 255, .34);--e-danger: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 18px rgba(255, 90, 80, .26);--edge: inset 0 1px 0 rgba(255, 255, 255, .06);--edge-strong: inset 0 1px 0 rgba(255, 255, 255, .09);--stage: #090b0c;--frame: #000;--canvas: #121517;--rail-bg: rgba(22, 26, 28, .94);--pill-bg: linear-gradient(145deg, rgba(255, 255, 255, .11), rgba(255, 255, 255, .05));--pill-inset: inset 0 -1px 0 rgba(0, 0, 0, .2);--float-bg: rgba(26, 30, 33, .97);--float-inset: inset 0 0 0 1px rgba(255, 255, 255, .04), inset 0 1px 0 rgba(255, 255, 255, .06);--surface: linear-gradient(145deg, rgba(29, 33, 36, .98), rgba(25, 29, 31, .96));--surface-solid: #1b1f21;--groove-bg: rgba(0, 0, 0, .22);--groove-inset: inset 0 1px 2px rgba(0, 0, 0, .28);--input-bg: rgba(255, 255, 255, .04);--hover-bg: rgba(255, 255, 255, .05);--press-bg: rgba(255, 255, 255, .08);--overlay: rgba(0, 0, 0, .5);--hatch-ink: rgba(255, 255, 255, .12);--tick: rgba(255, 255, 255, .16);--tick-strong: rgba(255, 255, 255, .42);--plate-bg: rgba(8, 10, 11, .78);--cat-1-bg: rgba(232, 190, 96, .16);--cat-1-ink: #ecc779;--cat-2-bg: rgba(100, 160, 240, .16);--cat-2-ink: #92bdf5;--cat-3-bg: rgba(160, 132, 236, .17);--cat-3-ink: #bfaaf4;--cat-4-bg: rgba(236, 120, 140, .16);--cat-4-ink: #f2a3b1;--cat-5-bg: rgba(110, 200, 130, .15);--cat-5-ink: #94dca6;--ambient-a: rgba(130, 221, 45, .05);--ambient-b: rgba(76, 141, 255, .07);--thread: rgba(255, 255, 255, .16);--thread-active: rgba(110, 160, 255, .72);--pulse-halo: rgba(76, 141, 255, .28);--node-bg: rgba(32, 37, 40, .94);--graph-1: 236, 199, 121;--graph-2: 146, 189, 245;--graph-3: 191, 170, 244;--graph-4: 242, 163, 177;--graph-5: 148, 220, 166;--graph-ink: 214, 222, 220;--graph-accent: 76, 141, 255;--graph-lime: 155, 227, 90;--graph-danger: 255, 122, 113;--graph-paper: 36, 41, 44}@property --fill{syntax: "<percentage>"; inherits: false; initial-value: 0%;}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{min-width:320px;min-height:100dvh;color:var(--ink);background:var(--stage);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#app{min-height:100dvh}button,input,select,textarea{font:inherit;color:inherit}button{border:0;background:none;padding:0;cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}img,svg{display:block}table{border-collapse:collapse;border-spacing:0}::selection{background:var(--blue-soft)}:focus{outline:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.tnum{font-variant-numeric:tabular-nums}.mono{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:12px}.muted{color:var(--ink-muted)}.soft{color:var(--ink-soft)}.faint{color:var(--ink-faint)}.ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*{scrollbar-width:thin;scrollbar-color:rgba(var(--shade),.18) transparent}:root[data-theme=dark] *{scrollbar-color:rgba(255,255,255,.14) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(var(--shade),.16);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}.section-label{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:650;letter-spacing:-.01em;color:var(--ink)}.section-label:before{content:"";width:7px;height:7px;border-radius:999px;background:var(--lime);box-shadow:0 0 0 5px var(--lime-soft);flex:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}}.m-rail{background:var(--rail-bg)}.m-pill{border:1px solid var(--glass-line);background:var(--pill-bg);box-shadow:var(--e2),var(--edge-strong),var(--pill-inset)}.m-float{border:1px solid var(--glass-line);background:var(--float-bg);box-shadow:var(--e3),var(--float-inset)}.m-surface{border:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--edge),var(--e1)}.m-groove{border:1px solid var(--glass-line-soft);background:var(--groove-bg);box-shadow:var(--groove-inset)}.m-glow{--px: 50%;--py: 50%;position:relative;isolation:isolate}.m-glow>.glow-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .28s ease}.m-glow>.glow-layer:before{content:"";position:absolute;left:0;top:0;width:240px;height:240px;margin:-120px 0 0 -120px;border-radius:50%;background:radial-gradient(circle closest-side,rgba(255,255,255,.9),rgba(130,221,45,.08) 42%,transparent 72%);transform:translate3d(var(--px),var(--py),0)}:root[data-theme=dark] .m-glow>.glow-layer:before{background:radial-gradient(circle closest-side,rgba(255,255,255,.07),rgba(130,221,45,.05) 42%,transparent 72%)}@media(hover:hover){.m-glow:hover>.glow-layer{opacity:.72}}@media(prefers-reduced-transparency:reduce){.m-float,.m-rail{background:var(--surface-solid)}}@media(pointer:coarse),(prefers-reduced-motion:reduce){.m-glow>.glow-layer{display:none}}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:var(--control-h);padding:0 15px;border-radius:var(--r-sm);font-size:13px;font-weight:620;letter-spacing:.005em;white-space:nowrap;flex:none;-webkit-user-select:none;user-select:none;transform-origin:50% 68%;transition:color .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}.btn:disabled{opacity:.5}.btn-sm{height:var(--control-h-sm);padding:0 11px;font-size:12.5px;border-radius:var(--r-xs);gap:5px}.btn-block{width:100%}.btn-primary{color:#fff;background:var(--blue);box-shadow:var(--e-accent);font-weight:660}.btn-primary:hover:not(:disabled){background:var(--blue-hover);box-shadow:var(--e-accent-hover)}.btn-secondary{color:var(--ink)}.btn-secondary:hover:not(:disabled){box-shadow:var(--e2),var(--edge-strong),var(--pill-inset);color:var(--ink)}.btn-ghost{color:var(--ink-muted)}.btn-ghost:hover:not(:disabled){color:var(--ink);background:var(--hover-bg)}.btn-text{color:var(--blue);height:auto;padding:4px 6px;border-radius:var(--r-xs);font-weight:600}.btn-text:hover:not(:disabled){background:var(--blue-soft)}.btn-text.is-danger{color:var(--red-text)}.btn-text.is-danger:hover:not(:disabled){background:var(--red-soft)}.btn-danger{color:#fff;background:var(--red);box-shadow:var(--e-danger);font-weight:660}.btn-danger:hover:not(:disabled){background:#f14c42}.btn .spinner{width:14px;height:14px}.spinner{border-radius:999px;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-xs);color:var(--ink-soft);flex:none;transition:color .2s ease,background .2s ease,box-shadow .2s ease}.icon-btn:hover:not(:disabled){color:var(--ink);background:var(--hover-bg)}.icon-btn:disabled{opacity:.45}.icon-btn.is-bordered{border:1px solid var(--line-strong);background:var(--input-bg);box-shadow:var(--edge)}.icon-btn.is-danger:hover:not(:disabled){color:var(--red-text);background:var(--red-soft)}.icon-btn-sm{width:28px;height:28px}.icon-bubble{position:fixed;z-index:380;transform:translate(-50%,-100%);padding:4px 9px;border-radius:var(--r-xs);background:var(--ink);color:var(--surface-solid);font-size:11.5px;line-height:1.45;white-space:nowrap;pointer-events:none;box-shadow:var(--e2);animation:icon-bubble-in .12s var(--ease-premium, ease-out) both}@keyframes icon-bubble-in{0%{opacity:0;transform:translate(-50%,-90%)}to{opacity:1;transform:translate(-50%,-100%)}}@media(prefers-reduced-motion:reduce){.icon-bubble{animation:none}}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>.segmented{align-self:flex-start;max-width:100%}.segmented-dropdown{min-width:148px}.field-label{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--ink-muted)}.field-label .req{color:var(--red-text);font-weight:700}.field-hint{font-size:11.5px;color:var(--ink-soft)}.field-error{font-size:11.5px;color:var(--red-text)}.input-shell{display:flex;align-items:center;gap:8px;min-width:0;height:var(--control-h);padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--input-bg);box-shadow:var(--edge);color:var(--ink-soft);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.input-shell:hover{border-color:rgba(var(--shade),.18)}:root[data-theme=dark] .input-shell:hover{border-color:#ffffff29}.input-shell:focus-within{outline:2px solid var(--focus);outline-offset:2px;border-color:transparent}.input-shell.is-invalid{border-color:var(--red)}.input-shell.is-invalid:focus-within{outline-color:var(--red)}.input-shell.is-disabled{opacity:.6;background:var(--groove-bg)}.input-shell.is-multiline{height:auto;align-items:stretch;padding:9px 12px}.input-shell input,.input-shell textarea{flex:1;min-width:0;width:100%;height:100%;padding:0;border:0;background:transparent;color:var(--ink);font-size:13px;outline:none}.input-shell textarea{resize:vertical;min-height:64px;line-height:1.55}.input-shell input::placeholder,.input-shell textarea::placeholder{color:var(--ink-faint)}.input-shell input[type=number]::-webkit-inner-spin-button{opacity:.4}.input-shell .input-clear{display:inline-flex;color:var(--ink-faint);border-radius:999px}.input-shell .input-clear:hover{color:var(--ink-muted)}.select-trigger{width:100%;cursor:pointer;justify-content:space-between;text-align:left;color:var(--ink);background:var(--surface-solid)}.select-trigger .select-value{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px}.select-trigger .select-value.is-placeholder{color:var(--ink-faint)}.select-trigger .select-caret{color:var(--ink-soft);flex:none;transition:color .2s ease}.dp-trigger{background:var(--surface-solid)}.select-menu{position:fixed;z-index:120;width:max-content;min-width:160px;max-width:calc(100vw - 16px);max-height:min(420px,calc(100vh - 24px));display:flex;flex-direction:column;padding:6px;border-radius:var(--r-md);overflow:hidden}.select-search{padding:2px 2px 6px}.select-search .input-shell{height:32px}.select-options{overflow-y:auto;overscroll-behavior:contain}.select-option{display:flex;align-items:center;gap:8px;min-height:34px;padding:0 10px;border-radius:var(--r-xs);font-size:13px;color:var(--ink);cursor:pointer;transition:background .15s ease,color .15s ease}.select-option .opt-label{flex:1;min-width:0;white-space:nowrap}.select-option .opt-hint{flex:none;margin-left:18px;color:var(--ink-faint);font-size:11.5px;font-variant-numeric:tabular-nums}.select-options--sheet{padding:2px 0 6px}.select-option--sheet{min-height:46px;padding:0 4px;border-radius:10px;font-size:14.5px}.select-option--sheet .opt-label{white-space:normal;word-break:break-word;line-height:1.35;padding:10px 0}.select-option--sheet.is-selected{background:var(--hover-bg)}.select-footer--sheet{display:flex;gap:10px;padding:10px 0 2px;border-top:1px solid var(--line)}.select-footer--sheet .select-footer-btn{flex:1;min-height:42px}.select-option.is-active{background:var(--hover-bg)}.select-option.is-selected{color:var(--blue);font-weight:620}.select-option.is-disabled{color:var(--ink-faint);cursor:not-allowed}.select-empty{padding:14px 10px;font-size:12px;color:var(--ink-soft);text-align:center}.select-trigger .select-prefix{flex:none;color:var(--ink-soft);font-size:13px}.select-trigger .select-prefix.is-idle{color:var(--ink-faint)}.select-footer{display:flex;align-items:center;gap:4px;margin-top:4px;padding-top:5px;border-top:1px solid var(--line)}.select-footer-btn{flex:1;height:26px;border:0;border-radius:var(--r-xs);background:transparent;color:var(--blue);font-size:12px;cursor:pointer}.select-footer-btn:hover:not(:disabled){background:var(--blue-soft)}.select-footer-btn:disabled{color:var(--ink-faint);cursor:default}.search-form .search-filter{display:inline-flex;align-items:center;flex:none}.search-form .search-filter .select-trigger{width:auto;max-width:236px}.dp-trigger .dp-value{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px}.dp-trigger .dp-value.is-placeholder{color:var(--ink-faint)}.dp-trigger .dp-value:not(.is-placeholder){font-family:var(--font-mono);letter-spacing:.2px}.dp-panel{position:fixed;z-index:120;width:268px;padding:10px;border-radius:var(--r-md)}.dp-head{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 2px 8px}.dp-month{font-size:13px;font-weight:620;color:var(--ink);font-variant-numeric:tabular-nums}.dp-nav{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid transparent;border-radius:var(--r-xs);background:transparent;color:var(--ink-soft);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.dp-nav:hover{background:var(--hover-bg);color:var(--ink);border-color:var(--line)}.dp-nav:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.dp-week{display:grid;grid-template-columns:repeat(7,1fr);padding:0 0 4px;font-size:11px;color:var(--ink-faint);text-align:center}.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dp-cell{display:inline-flex;align-items:center;justify-content:center;height:30px;border:1px solid transparent;border-radius:var(--r-xs);background:transparent;color:var(--ink);font-size:12.5px;font-variant-numeric:tabular-nums;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.dp-cell:hover{background:var(--hover-bg)}.dp-cell:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.dp-cell.is-outside{color:var(--ink-faint)}.dp-cell.is-disabled{color:var(--ink-faint);opacity:.45;cursor:not-allowed}.dp-cell.is-disabled:hover{background:transparent}.dp-cell.is-today{border-color:var(--line-strong)}.dp-cell.is-selected{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:620}.dp-cell.is-selected:hover{background:var(--blue-hover);border-color:var(--blue-hover)}.dp-cell.is-span{background:var(--blue-soft);border-radius:0}.dp-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 2px 0;margin-top:6px;border-top:1px solid var(--line)}.dp-hint{font-size:11.5px;color:var(--ink-soft)}.dp-link{padding:0;border:0;background:transparent;color:var(--blue);font-size:12px;cursor:pointer}.dp-link:hover{color:var(--blue-hover)}.dp-link:disabled{color:var(--ink-faint);cursor:not-allowed}.dp-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-xs)}.checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--ink);-webkit-user-select:none;user-select:none}.checkbox.is-disabled{cursor:not-allowed;opacity:.5}.checkbox-box{position:relative;display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:5px;border:1.5px solid rgba(var(--shade),.28);background:var(--input-bg);color:#fff;flex:none;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}:root[data-theme=dark] .checkbox-box{border-color:#ffffff38}.checkbox:hover .checkbox-box{border-color:var(--blue)}.checkbox.is-on .checkbox-box,.checkbox.is-partial .checkbox-box{background:var(--blue);border-color:var(--blue);box-shadow:0 2px 6px #236de947}.checkbox input{position:absolute;opacity:0;width:0;height:0}.checkbox input:focus-visible+.checkbox-box{outline:2px solid var(--focus);outline-offset:2px}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px;color:var(--ink-muted)}.switch.is-disabled{cursor:not-allowed;opacity:.5}.switch-track{--fill: 0%;position:relative;width:38px;height:22px;border-radius:999px;flex:none;background:linear-gradient(90deg,var(--lime) var(--fill),rgba(var(--shade),.14) var(--fill));box-shadow:inset 0 1px 2px rgba(var(--shade),.14);transition:--fill .32s var(--ease-premium)}:root[data-theme=dark] .switch-track{background:linear-gradient(90deg,var(--lime) var(--fill),rgba(255,255,255,.14) var(--fill))}.switch.is-on .switch-track{--fill: 100%}.switch-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #10141838,0 2px 6px #1014181a;transition:translate .32s var(--ease-premium)}.switch.is-on .switch-knob{translate:16px 0}.switch input{position:absolute;opacity:0;width:0;height:0}.switch input:focus-visible+.switch-track{outline:2px solid var(--focus);outline-offset:3px}.segmented{position:relative;display:inline-flex;padding:3px;border-radius:var(--r-sm);flex:none}.segmented:has(button:focus-visible){outline:2px solid var(--focus);outline-offset:3px}.segmented .seg-thumb{position:absolute;top:3px;bottom:3px;left:0;border-radius:var(--r-xs);z-index:0;pointer-events:none;animation:fade-in .2s ease both}.segmented button{position:relative;z-index:1;height:28px;padding:0 13px;border-radius:var(--r-xs);font-size:12.5px;font-weight:600;color:var(--ink-soft);white-space:nowrap;outline:none;transition:color .2s ease;display:inline-flex;align-items:center;gap:6px}.segmented button:hover,.segmented button.is-active{color:var(--ink)}.segmented .seg-label{display:inline-block}.segmented .seg-count{min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:rgba(var(--shade),.09);color:var(--ink-soft);font-size:10.5px;font-weight:700;line-height:17px;text-align:center}.segmented button.is-active .seg-count{background:var(--ink);color:var(--surface-solid)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.tag{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;color:var(--ink-muted);background:rgba(var(--shade),.065)}:root[data-theme=dark] .tag{background:#ffffff12}.tag-dot{width:6px;height:6px;border-radius:999px;background:currentColor;flex:none}.tag.tone-ok{color:var(--leaf-text);background:var(--lime-soft)}.tag.tone-ok .tag-dot{background:var(--lime);box-shadow:0 0 0 3px var(--lime-soft)}.tag.tone-info{color:var(--blue);background:var(--blue-soft)}.tag.tone-warn{color:var(--amber-text);background:var(--amber-soft)}.tag.tone-warn .tag-dot{background:var(--amber);box-shadow:0 0 0 3px var(--amber-soft)}.tag.tone-danger{color:var(--red-text);background:var(--red-soft)}.tag.tone-neutral .tag-dot{background:var(--ink-faint)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;flex:none;font-weight:650;color:#fff;letter-spacing:-.02em;box-shadow:inset 0 1px #ffffff47,0 1px 2px rgba(var(--shade),.12)}.panel{border-radius:var(--r-lg);min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:14px 20px;flex-wrap:wrap}.panel-head .panel-meta{font-size:12px;color:var(--ink-soft);font-weight:500}.panel-tools{display:flex;align-items:center;gap:6px}.panel-body{padding:0 20px 20px}.table-wrap{position:relative;overflow-x:auto;overflow-y:clip}.table{width:100%;min-width:720px;font-size:13px}.table th{position:sticky;top:0;z-index:1;height:40px;padding:0 var(--cell-px);text-align:left;font-size:12px;font-weight:620;color:var(--ink-soft);white-space:nowrap;background:var(--surface-solid);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.table th.is-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.is-sortable:hover{color:var(--ink)}.table .th-inner{display:inline-flex;align-items:center;gap:4px}.list-error{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:9px 12px;border-radius:var(--r-sm);background:rgba(var(--graph-danger),.08);color:rgb(var(--graph-danger));font-size:12.5px}.list-error .list-error-text{flex:1;min-width:0;word-break:break-all}.list-error .btn{height:26px;padding:0 10px;font-size:12px}.table .th-head{display:inline-flex;align-items:center;gap:4px;max-width:100%}.table .sort-ico{color:var(--ink-faint)}.table .sort-ico.is-on{color:var(--blue)}.table td{height:var(--row-h);padding:0 var(--cell-px);border-bottom:1px solid var(--line);color:var(--ink);vertical-align:middle;white-space:nowrap}.table .cell-text{display:inline-block;max-width:280px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.table tbody tr{transition:background .15s ease}.table tbody tr:hover{background:var(--hover-bg)}.table tbody tr.is-selected{background:var(--blue-soft)}.table tbody tr:last-child td{border-bottom:0}.table .col-check{width:44px;padding-right:0}.table .col-actions{text-align:right;white-space:nowrap}.table th.col-actions,.table td.col-actions{position:sticky;right:0;z-index:1;background:var(--surface-solid);box-shadow:inset 1px 0 0 var(--line)}.table th.col-actions{z-index:2}.table tbody tr:hover td.col-actions{background:linear-gradient(var(--hover-bg),var(--hover-bg)),var(--surface-solid)}.table tbody tr.is-selected td.col-actions{background:linear-gradient(var(--blue-soft),var(--blue-soft)),var(--surface-solid)}.row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:2px}.tree-cell{display:inline-flex;align-items:center;gap:4px}.tree-toggle{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:6px;color:var(--ink-soft);flex:none}.tree-toggle:hover{background:var(--hover-bg);color:var(--ink)}.tree-toggle svg{transition:rotate .24s var(--ease-premium)}.tree-toggle.is-open svg{rotate:90deg}.tree-toggle.is-leaf{visibility:hidden}.cell-main{display:flex;align-items:center;gap:11px;min-width:0}.cell-title{font-weight:620;color:var(--ink)}.cell-sub{font-size:12px;color:var(--ink-soft);margin-top:1px}.code-chip{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:11.5px;color:var(--ink-muted);background:rgba(var(--shade),.06);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}:root[data-theme=dark] .code-chip{background:#ffffff0f}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 20px;border-top:1px solid var(--line)}.pager-info{font-size:12px;color:var(--ink-soft)}.pager-info b{color:var(--ink);font-weight:650}.pager-ctrl{display:flex;align-items:center;gap:4px}.pg-btn{min-width:30px;height:30px;padding:0 8px;border-radius:var(--r-xs);display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:600;color:var(--ink-muted);transition:color .2s ease,background .2s ease,box-shadow .2s ease}.pg-btn:hover:not(:disabled):not(.is-active){background:var(--hover-bg);color:var(--ink)}.pg-btn:disabled{opacity:.35}.pg-btn.is-active{color:var(--ink)}.pg-dots{width:22px;text-align:center;color:var(--ink-faint)}.log-stats-toggle{display:flex;align-items:center;gap:6px;width:100%;height:36px;padding:0 12px;margin-bottom:8px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-soft);font-size:12px;cursor:pointer}.log-stats-toggle:active{background:var(--hover-bg)}.log-stats-toggle .faint{margin-left:auto}.log-bands{display:flex;flex-direction:column;gap:12px}.mobile-card-list{display:flex;flex-direction:column;gap:6px}.mobile-card{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-solid);cursor:pointer}.mobile-card.is-skeleton{cursor:default;gap:5px}.mobile-card-head{display:flex;align-items:center;gap:6px;min-width:0}.mobile-card-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:12.5px;font-weight:650;color:var(--ink);line-height:1.3}.mobile-card-title .cell-title{font-size:12.5px;font-weight:650}.mobile-card-title .cell-sub,.mobile-card-title .muted{font-size:9.5px;font-weight:400}.mobile-card-title .cell-2l{gap:0}.mobile-card-title .cell-2l .l-row{font-size:10px;line-height:1.3}.mobile-card-title .cell-tag{font-size:9.5px;padding:1px 5px}.mobile-card-head-actions{display:flex;align-items:center;gap:2px;flex:none}.mobile-card-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--glass-line-soft)}.mobile-card-actions>*{flex:none}.mobile-card-actions .icon-btn{min-width:40px;min-height:40px}.mobile-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 10px}.mobile-card-label{font-size:9.5px;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-card-value{font-size:11px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-card-value .cell-2l{gap:0}.mobile-card-value .cell-2l .l-row{font-size:10.5px;line-height:1.3}.mobile-card-empty{padding:10px 0}.mobc{display:flex;flex-direction:column;gap:6px;min-width:0}.mobc-head{display:flex;align-items:center;gap:6px;min-width:0}.mobc-name{font-size:13px;font-weight:650;color:var(--ink);white-space:nowrap}.mobc-level{flex:none}.mobc-no{margin-left:auto;font-size:9.5px;color:var(--ink-faint);white-space:nowrap}.mobc-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 10px}.mobc-metric{display:flex;flex-direction:column;gap:1px;min-width:0}.mobc-metric-label{font-size:9.5px;color:var(--ink-faint);white-space:nowrap}.mobc-metric-main{font-size:12px;font-weight:650;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobc-metric-main.mono,.mobc-metric-main [class*=mono],.mobc-metric .mono{white-space:normal;word-break:break-all;line-height:1.35;overflow:visible;text-overflow:clip}.mobc-metric-sub{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;word-break:break-word}.mobc-metric-sub{font-size:10px;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobc-tags{display:flex;flex-wrap:wrap;align-items:center;gap:3px 6px;font-size:10px;color:var(--ink-faint)}.mobc-consult{color:var(--ink-soft)}.mobc-warn,.mobc-overdue{color:var(--red-text)}.mobc-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:2px;padding-top:7px;border-top:1px dashed var(--glass-line-soft)}.mobc-actions:empty{display:none}.mob-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--layer-overlay);display:flex;align-items:flex-end;background:var(--overlay)}.mob-sheet{display:flex;flex-direction:column;width:100%;max-height:92dvh;border-radius:20px 20px 0 0;background:var(--surface-solid);box-shadow:var(--e3);padding-bottom:env(safe-area-inset-bottom)}.mob-sheet-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 6px}.mob-sheet-title{font-size:15px;font-weight:700;color:var(--ink)}.mob-sheet-body{flex:1;min-height:0;overflow-y:auto;padding:8px 16px 16px}.mob-sheet-foot{flex:none;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.dp-panel--sheet,.mob-sheet .staff-panel,.mob-sheet .qdp-panel,.mob-sheet .dp-panel{position:static;width:auto;max-width:none;padding:0;border:0;box-shadow:none;background:transparent}.mob-sheet .qdp-body{flex-direction:column;gap:10px}.mob-sheet .staff-body{max-height:none}.mob-sheet .staff-item{min-height:44px}.mob-sheet .dp-grid button{min-height:40px}.mob-sheet .dp-link{min-height:38px;padding:0 12px}.mobile-sort-bar{display:flex;align-items:center;gap:8px;padding:0 0 8px}.mobile-sort-bar>:first-child{flex:1 1 auto;min-width:0}.mobile-sort-dir{flex:none;display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-soft);font-size:12.5px;font-weight:620;cursor:pointer}.mobile-sort-dir:active{background:var(--hover-bg)}.mobile-card-list{display:flex;flex-direction:column;gap:8px}.mobile-card{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-solid);cursor:pointer}.mobile-card.is-selected{border-color:var(--accent);background:var(--accent-soft)}.mobile-card.is-skeleton{cursor:default;gap:6px}.mobile-card-head{display:flex;align-items:flex-start;gap:8px;min-width:0}.mobile-card-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:13px;font-weight:650;color:var(--ink);line-height:1.35}.mobile-card-title .cell-title{font-size:13px;font-weight:650}.mobile-card-title .cell-sub,.mobile-card-title .muted{font-size:10.5px;font-weight:400}.mobile-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}.mobile-card-field{display:flex;flex-direction:column;gap:1px;min-width:0}.mobile-card-label{font-size:10px;color:var(--ink-faint)}.mobile-card-value{font-size:11.5px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding-top:7px;border-top:1px dashed var(--glass-line-soft)}.mobile-card-empty{padding:12px 0}@media(min-width:821px){.overlay.drawer-overlay{left:var(--rail-offset, var(--rail-w))}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--layer-overlay);display:grid;place-items:center;padding:24px;background:var(--overlay)}.modal{width:100%;max-height:calc(100dvh - 48px);display:flex;flex-direction:column;border-radius:var(--r-xl);box-shadow:var(--edge),var(--e3);background:var(--surface-solid)}.modal-head,.drawer-head{flex:none;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 6px}.modal-title{font-size:16px;font-weight:700;letter-spacing:-.015em}.order-drawer-title{font-size:20px;font-weight:800;color:#000}.modal-sub{font-size:12px;color:var(--ink-soft);margin-top:3px}.modal-body{min-height:0;padding:14px 22px 20px;overflow-y:auto}.modal-foot,.drawer-foot{flex:none;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid var(--line)}.overlay.drawer-overlay{left:0;place-items:stretch end;grid-template-rows:minmax(0,1fr);padding:8px;background:#10141885;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.drawer{height:100%;min-height:0;max-width:calc(100vw - 16px);display:flex;flex-direction:column;overflow:hidden;border-radius:var(--r-xl);background:var(--surface-solid);box-shadow:var(--edge),var(--e3)}.drawer-body{flex:1;min-height:0;overflow-y:auto;padding:14px 22px 22px}.store-rail{display:flex;flex-direction:column;gap:2px}.store-rail-head{display:flex;flex-direction:column;gap:8px;padding:2px 4px 10px}.store-rail-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-soft);font:inherit;font-size:13px;text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease}.store-rail-item:hover{background:var(--hover-bg);color:var(--ink)}.store-rail-item.is-active{background:var(--blue-soft);color:var(--blue);font-weight:640}.store-rail-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.store-rail-empty{padding:8px 10px;font-size:12px;color:var(--ink-faint)}.drawer-split{flex:1;min-height:0;display:grid;grid-template-columns:180px minmax(0,1fr)}.drawer-aside{min-height:0;overflow-y:auto;padding:10px 8px 16px;border-right:1px solid var(--line);background:var(--hover-bg)}.drawer-main{min-width:0;min-height:0;display:flex;flex-direction:column}.drawer-actions{flex:none;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 22px;border-bottom:1px solid var(--line)}.drawer-split .drawer-body{padding-top:16px}.tabnav{display:flex;flex-direction:column;gap:2px}.tabnav-head{padding:4px 10px 6px;font-size:11px;font-weight:650;letter-spacing:.04em;color:var(--ink-faint)}.tabnav-sep{height:1px;margin:8px 10px;background:var(--line)}.tabnav-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 10px;border:0;border-radius:var(--r-xs);font-size:13px;font-weight:560;color:var(--ink-muted);background:transparent;text-align:left;cursor:pointer;transition:background .18s var(--ease-premium),color .18s var(--ease-premium)}.tabnav-item:hover:not(:disabled){background:var(--hover-bg);color:var(--ink)}.tabnav-item.is-active{background:var(--surface-solid);color:var(--ink);font-weight:650;box-shadow:var(--e1)}.tabnav-item:disabled{opacity:.45;cursor:not-allowed}.tabnav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabnav-count{flex:none;min-width:20px;padding:0 6px;border-radius:999px;font-size:11px;line-height:18px;text-align:center;color:var(--ink-soft);background:rgba(var(--shade),.07)}.tabnav-item.is-active .tabnav-count{color:var(--blue);background:var(--blue-soft)}.archive-head{min-width:0}.archive-badges{display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap}.archive-section{display:flex;flex-direction:column;gap:12px}.archive-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.archive-metric-text{display:block;margin-top:2px;font-size:20px;font-weight:650;letter-spacing:-.02em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-title{margin-top:6px;font-size:12px;font-weight:650;letter-spacing:.02em;color:var(--ink-soft)}.archive-note{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px;font-size:12px;color:var(--ink-soft)}.timeline{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.timeline-item{position:relative;display:flex;gap:12px;padding-bottom:16px}.timeline-item:not(:last-child):before{content:"";position:absolute;left:3px;top:14px;bottom:0;width:1px;background:var(--line)}.timeline-dot{position:relative;z-index:1;flex:none;width:7px;height:7px;margin-top:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.timeline-body{min-width:0}.timeline-head{display:flex;align-items:baseline;gap:8px;font-size:13px}.timeline-text{margin-top:2px;font-size:13px;color:var(--ink-muted)}.timeline-meta{margin-top:3px;font-size:12px;color:var(--ink-faint)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}.form-grid.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.form-grid-3 .span-2{grid-column:1 / -1}@media(max-width:1280px){.form-grid.form-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}.form-grid .span-2{grid-column:1 / -1}.basic-form{margin-bottom:4px}.basic-form-actions{justify-content:flex-end;margin-top:16px}.confirm-body{display:flex;gap:14px;align-items:flex-start}.confirm-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--r-sm);flex:none;color:var(--blue);background:var(--blue-soft)}.confirm-icon.is-danger{color:var(--red-text);background:var(--red-soft)}.confirm-text{font-size:13.5px;color:var(--ink-muted);line-height:1.6;padding-top:2px}.confirm-text b{color:var(--ink)}.kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border-radius:var(--r-md);overflow:hidden;background:var(--line);border:1px solid var(--line)}.kv{padding:12px 14px;background:var(--surface-solid);min-width:0}.kv.span-2{grid-column:1 / -1}.kv-label{font-size:11px;font-weight:600;color:var(--ink-soft);margin-bottom:4px}.kv-value{font-size:13px;color:var(--ink);word-break:break-all}.code-block{margin:0;padding:14px 16px;border-radius:var(--r-md);font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.65;color:#d9e1e4;background:var(--dark-surface);box-shadow:inset 0 1px #ffffff0f;overflow:auto;white-space:pre}.imgv-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--layer-overlay) + 100);display:flex;flex-direction:column;background:#0c0e10d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.imgv-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;color:#ffffffeb}.imgv-title{display:inline-flex;align-items:baseline;gap:10px;min-width:0;font-size:13px;font-weight:600}.imgv-name{max-width:46vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:500;color:#ffffff8c}.imgv-actions{display:inline-flex;align-items:center;gap:8px;flex:none}.imgv-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#ffffff14;color:#ffffffe6;font-size:12px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.imgv-btn.is-icon{width:32px;padding:0;justify-content:center}.imgv-btn:hover{background:#ffffff29;border-color:#ffffff47}.imgv-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}.imgv-nav{position:fixed;top:50%;translate:0 -50%;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#ffffff14;color:#fff;cursor:pointer;transition:background .15s ease}.imgv-nav:hover{background:#fff3}.imgv-nav.is-prev{left:18px}.imgv-nav.is-next{right:18px}.imgv-stage{flex:1;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;padding:8px 72px 16px}.imgv-img{cursor:zoom-in}.imgv-img-contain{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 18px 48px #00000073}.imgv-img-actual{max-width:none;max-height:none;cursor:zoom-out;border-radius:4px}.imgv-fallback{display:flex;flex-direction:column;align-items:center;gap:8px;color:#ffffffb8;font-size:13px}.imgv-fallback a{color:#9ec2ff;font-size:12px}.imgv-foot{flex:none;display:flex;justify-content:center;gap:8px;padding:10px 16px 16px;overflow-x:auto}.imgv-thumb{flex:none;width:52px;height:52px;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#ffffff0f;cursor:pointer;opacity:.6;transition:opacity .15s ease,border-color .15s ease}.imgv-thumb img{display:block;width:100%;height:100%;object-fit:cover}.imgv-thumb:hover{opacity:.9}.imgv-thumb.is-active{opacity:1;border-color:#ffffffd9}.toast-host{--toast-h: 44px;position:fixed;left:50%;bottom:28px;z-index:var(--layer-toast);width:min(460px,calc(100vw - 32px));height:var(--toast-h);translate:-50% 0;pointer-events:none}.toast-host:empty{display:none}.toast-slot{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;pointer-events:auto;transform-origin:50% 100%;transform:translateY(calc(var(--depth) * -9px)) scale(calc(1 - var(--depth) * .05));opacity:calc(1 - var(--depth) * .28);z-index:calc(10 - var(--depth));transition:transform .42s var(--ease-premium),opacity .3s ease}.toast-host.is-expanded .toast-slot{transform:translateY(calc(var(--depth) * (var(--toast-h) + 8px) * -1));opacity:1}.toast-slot:nth-last-child(n+4){opacity:0}.toast-host.is-expanded .toast-slot:nth-last-child(n+4){opacity:1}.toast{display:inline-flex;align-items:center;gap:10px;max-width:100%;min-height:var(--toast-h);padding:8px 8px 8px 14px;border-radius:999px;font-size:13px;font-weight:560;color:var(--ink)}.toast-msg{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.toast-dot{width:8px;height:8px;border-radius:999px;flex:none;background:var(--blue)}.toast.tone-ok .toast-dot{background:var(--lime);box-shadow:0 0 0 4px var(--lime-soft)}.toast.tone-info .toast-dot{box-shadow:0 0 0 4px var(--blue-soft)}.toast.tone-danger .toast-dot{background:var(--red);box-shadow:0 0 0 4px var(--red-soft)}.toast-close{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;color:var(--ink-faint);flex:none;transition:background .2s ease,color .2s ease}.toast-close:hover{background:var(--hover-bg);color:var(--ink)}.toast-ring{overflow:visible}.toast-ring circle{fill:none;stroke-width:1.6}.toast-ring .ring-track{stroke:var(--line-strong)}.toast-ring .ring-time{stroke:currentColor;stroke-dasharray:44;stroke-dashoffset:0;transform:rotate(-90deg);transform-origin:50% 50%;animation:toast-count linear forwards}.toast.is-paused .ring-time{animation-play-state:paused}.toast-ring path{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}@keyframes toast-count{to{stroke-dashoffset:44}}.empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:44px 16px;font-size:13px;color:var(--ink-soft);text-align:center}.empty-ico{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:var(--r-md);color:var(--ink-faint)}.empty-title{font-weight:620;color:var(--ink-muted)}.skeleton{display:block;height:12px;border-radius:999px;background:rgba(var(--shade),.08);animation:pulse 1.4s ease-in-out infinite}:root[data-theme=dark] .skeleton{background:#ffffff12}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.tree{display:flex;flex-direction:column;gap:4px}.tree-row{display:flex;align-items:center;gap:6px;min-height:28px;margin-bottom:2px;padding-right:8px;border:1px solid transparent;border-radius:6px;background:transparent;box-shadow:none;font-size:12px;font-weight:500;color:var(--ink);cursor:pointer;transition:background .15s ease,color .15s ease}.tree-row:last-child{margin-bottom:2px}.tree-row:hover{background:var(--hover-bg);border-color:transparent;box-shadow:none}.tree-row.is-selected{background:var(--blue-soft);border-color:transparent;box-shadow:none;color:var(--blue);font-weight:560}.tree-row.is-sub{min-height:26px;font-size:11px;font-weight:400}.tree-row .tree-label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tree-row .tree-count{font-size:10.5px;color:var(--ink-faint)}.tree-row .tree-actions .icon-btn{width:22px;height:22px}.tree-divider{height:1px;margin:2px 0 4px;background:var(--glass-line-soft)}.split-side .eyebrow{font-size:11px}.side-tree{display:flex;flex-direction:column;gap:8px;min-width:0}.side-tree-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}.side-tree-head .eyebrow{font-size:11px;color:var(--ink-faint)}.side-tree-tools{display:inline-flex;align-items:center;gap:6px;flex:none}.side-tree-tools .icon-btn{width:24px;height:24px}.side-tree-body{display:flex;flex-direction:column;gap:2px;min-width:0}.side-tree-empty{margin:2px 0;padding:4px 8px;font-size:11px;color:var(--ink-faint)}.tree-row.tree-all{font-weight:500}.tree-row.tree-all.is-selected{box-shadow:none;font-weight:500}.perm-chips{display:flex;flex-wrap:wrap;gap:6px;padding:2px 0 8px}.perm-chip{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:560;color:var(--ink-muted);border:1px solid var(--line-strong);background:var(--input-bg);transition:color .2s ease,background .2s ease,border-color .2s ease}.perm-chip:hover{border-color:var(--blue);color:var(--ink)}.perm-chip.is-on{color:var(--blue);border-color:transparent;background:var(--blue-soft)}@media(max-width:720px){.form-grid,.form-grid.form-grid-3,.kv-grid{grid-template-columns:minmax(0,1fr)}.modal-head,.drawer-head{padding:18px 18px 4px}.modal-body,.drawer-body{padding:12px 18px 18px}.modal-foot,.drawer-foot{padding:12px 18px}.overlay{padding:12px}.drawer-split{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.drawer-aside{border-right:0;border-bottom:1px solid var(--line);padding:8px 10px}.drawer-aside .tabnav{flex-direction:row;gap:6px;overflow-x:auto}.drawer-aside .tabnav-head,.drawer-aside .tabnav-sep{display:none}.drawer-aside .tabnav-item{width:auto;flex:none;white-space:nowrap}.drawer-aside .store-rail{flex-direction:row;align-items:center;gap:6px;overflow-x:auto}.drawer-aside .store-rail-head{flex:none;padding:0}.drawer-aside .store-rail-head .tabnav-head{display:none}.drawer-aside .store-rail-item{flex:none;white-space:nowrap}.drawer-actions{padding:10px 18px}.archive-metrics{grid-template-columns:minmax(0,1fr)}}.archive-loading{display:flex;align-items:center;gap:10px;padding:40px 4px;font-size:13px;color:var(--ink-soft)}.follow-cell{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:2px 4px 2px 0;border:0;background:transparent;color:var(--ink-muted);font-variant-numeric:tabular-nums;cursor:pointer}.follow-cell:hover .follow-dot{background:var(--ink-soft)}.follow-cell:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-xs)}.follow-dot{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:none;border-radius:50%;background:var(--ink-faint);color:#fff;font-size:10px;font-weight:700;line-height:1;transition:background .15s ease}.follow-time{font-size:10px;color:var(--ink-muted);font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:.1px}.follow-card{display:flex;flex-direction:column;gap:10px}.follow-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}.follow-card-title{font-size:12.5px;font-weight:650;color:var(--ink)}.follow-card-staff{font-size:12px;color:var(--ink-soft)}.follow-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.follow-item{min-width:0}.follow-item-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--ink-faint)}.follow-item-staff{color:var(--ink-soft)}.follow-item-text{margin-top:2px;font-size:12.5px;line-height:1.5;color:var(--ink-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.follow-more{font-size:11.5px;color:var(--ink-faint)}.follow-empty{font-size:12.5px;color:var(--ink-faint)}.follow-foot{display:flex;flex-direction:column;gap:5px;padding-top:8px;border-top:1px solid var(--line)}.follow-foot-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:12px;color:var(--ink-muted)}.follow-foot-label{color:var(--ink-soft);flex:none}.follow-foot-row .is-overdue{color:var(--red-text);font-weight:600}.form-rows{display:flex;flex-direction:column;gap:10px}.form-row{display:grid;gap:10px;align-items:end}.form-row-item{grid-template-columns:minmax(0,2.4fr) minmax(0,.7fr) minmax(0,1fr) minmax(0,1.1fr) auto}.form-row-pay{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1.2fr) auto}.form-row-perf{grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto}.form-row-fee{grid-template-columns:minmax(0,1.8fr) minmax(0,.8fr) minmax(0,.9fr) auto}.form-row-adjust{grid-template-columns:minmax(0,2fr) minmax(0,.8fr) minmax(0,.9fr)}.form-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.form-sum{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:18px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--ink-soft)}.form-sum strong{color:var(--ink);font-variant-numeric:tabular-nums}.follow-inline{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.image-textarea{display:flex;flex-direction:column;gap:6px}.image-textarea-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.image-pick{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px dashed var(--line);border-radius:999px;background:transparent;color:var(--ink-soft);font-size:12px;cursor:pointer}.image-pick:hover:not(:disabled){border-color:var(--accent);color:var(--accent-ink)}.image-pick:disabled{opacity:.55;cursor:not-allowed}.image-textarea-hint{font-size:11px;color:var(--ink-faint)}.image-thumbs{display:flex;flex-wrap:wrap;gap:8px}.image-thumb{position:relative;width:72px;height:72px;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface-sunken)}.image-thumb img{display:block;width:100%;height:100%;object-fit:cover}.image-thumb-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;padding:0;border:0;border-radius:999px;background:#1014189e;color:#fff;font-size:13px;line-height:1;cursor:pointer}.image-thumb-remove:hover{background:var(--red-text, #b42318)}.follow-cell-images{display:flex;flex-wrap:wrap;gap:4px}.follow-cell-images img{display:block;width:34px;height:34px;border-radius:5px;border:1px solid var(--line);object-fit:cover}.follow-cell-image-btn{padding:0;border:0;border-radius:5px;background:none;line-height:0;cursor:zoom-in}.follow-cell-image-btn:hover img{border-color:var(--blue)}.follow-cell-image-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.order-items-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.order-item-cards{display:flex;flex-direction:column;gap:8px;margin-top:8px}.order-item-card{display:flex;flex-direction:column;gap:4px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-solid)}.order-item-row{display:flex;flex-wrap:nowrap;align-items:center;gap:8px 12px}.order-item-row .grow{flex:1 1 auto;min-width:0}.order-item-field{display:inline-flex;flex:none;align-items:center;gap:6px;font-size:11px;color:var(--ink-faint)}.order-item-qty{width:56px;flex:none}.order-item-price{width:100px;flex:none}.order-item-expire{width:116px;flex:none}.order-item-remove{flex:none}.order-item-tag{padding:1px 6px;border-radius:4px;background:var(--accent-soft);color:var(--accent-ink);font-size:10.5px}.order-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}.order-perf-alloc{margin-bottom:6px;font-size:11.5px;color:var(--ink-faint)}.order-perf-alloc b{margin:0 2px;font-size:14px;color:var(--ink)}.order-perf-picker{width:100%;margin-bottom:6px}.order-perf-table{display:flex;flex-direction:column;gap:2px}.order-perf-head,.order-perf-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px;align-items:center}.order-perf-head{padding-bottom:2px;font-size:10.5px;font-weight:650;color:var(--ink-faint)}.order-perf-row{padding:3px 0;border-top:1px solid var(--glass-line-soft)}.order-perf-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px}.order-perf-input{width:100%;height:26px;padding:0 6px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font-size:12px;font-weight:600;text-align:center;font-variant-numeric:tabular-nums}.order-perf-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px var(--accent-soft)}.order-perf-empty{margin:2px 0;font-size:11px}.order-perf-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;padding-top:5px;border-top:1px dashed var(--glass-line-soft);font-size:10.5px;color:var(--ink-faint)}.order-perf-foot b{color:var(--ink);font-size:12px}.order-approval-chain{display:flex;flex-direction:column;gap:3px;margin-top:8px;padding-top:7px;border-top:1px dashed var(--glass-line-soft)}.order-approval-chain .faint{font-size:11px}@media(max-width:1100px){.order-bottom{grid-template-columns:minmax(0,1fr)}.order-item-row{flex-wrap:wrap}}.card-col{display:flex;flex-direction:column;gap:6px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--hover-bg)}.card-col-head{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12px;font-weight:650;color:var(--ink-soft)}.card-list{display:flex;flex-direction:column;gap:6px}.entity-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:7px 26px 7px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-solid)}.entity-card-row{display:flex;align-items:center;gap:6px;min-width:0}.entity-card-row>*{min-width:0}.entity-card .grow{flex:1 1 auto}.entity-card .w-sm{flex:none;width:72px}.entity-card .w-md{flex:none;width:96px}.entity-name{font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-remove{position:absolute;top:4px;right:4px}.card-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;font-size:11px;color:var(--ink-faint)}.card-foot strong{color:var(--ink);font-variant-numeric:tabular-nums}.card-add{align-self:flex-start}@media(max-width:900px){.follow-inline{grid-template-columns:minmax(0,1fr)}}.order-form{display:flex;flex-direction:column;gap:12px}.order-base{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start}.member-locked{display:flex;align-items:baseline;gap:8px;min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-sunken)}.member-locked-name{font-size:13px;font-weight:620;color:var(--ink)}.member-locked-no{font-size:11.5px;color:var(--ink-faint)}.form-notes{display:flex;flex-direction:column;gap:8px}.form-notes-toggle{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;padding:2px 0;border:0;background:transparent;color:var(--ink-soft);font-size:12px;cursor:pointer}.form-notes-toggle:hover{color:var(--ink)}.form-notes-arrow{display:inline-block;transition:transform .18s var(--ease-premium)}.form-notes-arrow.is-open{transform:rotate(90deg)}.form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media(max-width:1200px){.order-base{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){.form-grid-2{grid-template-columns:minmax(0,1fr)}}.card-col{padding:7px;gap:5px}.entity-card{padding:5px 22px 5px 6px;gap:4px;font-size:10px}.entity-card .input-shell{height:30px;padding:0 8px;border-radius:var(--r-xs)}.entity-card .input-shell input,.entity-card .input-shell textarea{font-size:10px}.entity-card .input-shell svg{width:12px;height:12px}.entity-card-row{gap:4px}.entity-card .w-sm{width:62px}.entity-card .w-md{width:84px}.entity-name,.card-col-head{font-size:10.5px}.card-foot{font-size:10px}.entity-remove{top:2px;right:2px}.staff-multi-trigger{gap:4px}.staff-multi-chips{display:flex;flex-wrap:nowrap;align-items:center;gap:3px;min-width:0;overflow:hidden;flex:1}.staff-multi-chip{display:inline-flex;align-items:center;gap:2px;max-width:88px;padding:1px 4px;border-radius:4px;background:var(--accent-soft);color:var(--accent-ink);font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-multi-x{cursor:pointer;color:var(--ink-faint);font-size:11px;line-height:1}.staff-multi-x:hover{color:var(--red-text)}.staff-multi-more{flex:none;font-size:10.5px;color:var(--ink-faint)}.staff-multi-check{flex:none;color:var(--accent-ink)}.staff-multi-foot{display:flex;align-items:center;justify-content:space-between;margin-top:6px;padding-top:6px;border-top:1px solid var(--line)}.service-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.service-cards{display:flex;flex-direction:column;gap:8px;margin-top:8px;max-height:400px;overflow-y:auto;padding-right:4px}.service-card{display:flex;flex-direction:column;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-solid)}.service-card.is-picked{border-color:var(--accent);background:var(--accent-soft)}.service-card-info{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 24px;font-size:11px;color:var(--ink-faint)}.service-card-name{max-width:340px;margin-right:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;color:var(--ink)}.service-meta{font-variant-numeric:tabular-nums;white-space:nowrap}.service-num{font-size:13px;font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums}.service-meta em,.service-entry-value em{margin-right:5px;font-style:normal;color:var(--ink-faint)}.service-card-entry{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding-top:8px;border-top:1px dashed var(--glass-line-soft)}.service-entry-label{font-size:11px;color:var(--ink-faint)}.service-entry-staff-label{margin-left:6px}.service-entry-staff{min-width:230px;max-width:320px}.service-entry-staff .staff-trigger{height:28px;font-size:11px}.service-entry-partner{width:120px}.service-entry-value{font-size:11px;color:var(--ink-faint);font-variant-numeric:tabular-nums;white-space:nowrap}.service-stepper{display:flex;align-items:center;gap:2px}.service-stepper button{width:22px;height:22px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink-soft);cursor:pointer}.service-stepper button:disabled{opacity:.45;cursor:default}.service-stepper input{width:40px;height:22px;padding:0 3px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink);font-size:13px;font-weight:650;text-align:center;font-variant-numeric:tabular-nums}.service-empty{margin:8px;font-size:11px}.service-summary{display:grid;grid-template-columns:minmax(200px,.8fr) minmax(360px,1.2fr);gap:14px;margin-top:8px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--hover-bg);align-items:start}.service-summary-left{display:flex;flex-direction:column;gap:6px;font-size:11.5px;color:var(--ink-soft)}.service-summary-line{display:flex;align-items:baseline;gap:6px}.service-summary-line strong{font-size:14px;color:var(--ink)}.service-alloc{display:flex;flex-direction:column;gap:3px;min-width:0}.service-alloc-head,.service-alloc-row{display:grid;grid-template-columns:minmax(0,1fr) 84px 96px;gap:8px;align-items:center}.service-alloc-head{font-size:10.5px;font-weight:650;color:var(--ink-faint);padding-bottom:2px}.service-alloc-head span:nth-child(2),.service-alloc-head span:nth-child(3){text-align:center}.service-alloc-row{padding:3px 0;border-top:1px solid var(--glass-line-soft)}.service-alloc-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;color:var(--ink)}.service-alloc-input{width:100%;height:26px;padding:0 6px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font-size:12px;font-weight:600;text-align:center;font-variant-numeric:tabular-nums}.service-alloc-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px var(--accent-soft)}.service-alloc-empty{margin:2px 0;font-size:11px}.service-alloc-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;padding-top:5px;border-top:1px dashed var(--glass-line-soft);font-size:10.5px;color:var(--ink-faint)}.service-alloc-foot strong{color:var(--ink);font-size:12px}.staff-trigger{justify-content:flex-start}.staff-trigger-text{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;text-align:left}.staff-trigger-text.is-placeholder,.staff-trigger-arrow{color:var(--ink-faint)}.staff-panel{position:fixed;width:540px;max-width:calc(100vw - 16px);padding:8px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-solid);box-shadow:var(--e3)}.staff-search{display:flex;align-items:center;gap:6px;height:30px;padding:0 9px;margin-bottom:8px;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--surface);color:var(--ink-faint)}.staff-search input{flex:1;min-width:0;height:100%;border:0;background:transparent;color:var(--ink);font-size:12px;outline:none}.staff-body{display:grid;grid-template-columns:176px minmax(0,1fr);gap:8px;height:264px}.staff-depts{min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:6px;border-right:1px solid var(--line)}.staff-depts .tree-row{flex:none;min-height:26px;margin-bottom:0}.staff-depts .tree-row.is-sub{min-height:24px}.staff-depts .tree-toggle{width:18px;height:18px;flex:none;border:0;background:transparent;color:var(--ink-faint);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.staff-depts .tree-toggle svg{transition:rotate .2s var(--ease-premium)}.staff-depts .tree-toggle.is-open svg{rotate:90deg}.staff-list{min-height:0;overflow-y:auto}.staff-empty{margin:10px 8px;font-size:12px;color:var(--ink-faint)}.staff-item{display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:var(--ink);font-size:12.5px;text-align:left;cursor:pointer}.staff-item:hover,.staff-item.is-hover{background:var(--hover-bg)}.staff-item.is-active{background:var(--accent-soft);color:var(--accent-ink);font-weight:620}.staff-item-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-item-post{flex:none;font-size:10.5px;color:var(--ink-faint)}.staff-item.is-active .staff-item-post{color:var(--accent-ink)}.staff-item-cat{margin-left:6px;font-size:10px;color:var(--ink-faint)}.project-panel{width:600px}.appointment-projects{flex:1 1 320px;min-width:260px}.project-times-panel{width:560px}.project-times-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.project-times-row{display:flex;align-items:center;gap:8px}.project-times-pick{flex:1;display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-solid);cursor:pointer;text-align:left}.project-times-pick:hover{border-color:var(--accent)}.project-times-pick.is-picked{border-color:var(--accent);background:var(--accent-soft)}.project-times-name{font-size:12.5px;font-weight:600;color:var(--ink)}.project-times-lesson{font-size:10.5px;color:var(--ink-faint)}.project-times-pick.is-picked .project-times-name{color:var(--accent-ink)}.project-times-input{display:flex;align-items:center;gap:4px;flex:none;font-size:11px;color:var(--ink-soft)}.project-times-input input{width:56px;height:28px;padding:0 6px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font-size:12px}.project-times-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.project-times-total{flex:none;font-size:10.5px;color:var(--accent-ink)}.qdp-panel{width:452px}.qdp-body{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:8px}.qdp-cal{min-width:0}.qdp-presets{display:flex;flex-direction:column;gap:4px;padding-left:8px;border-left:1px solid var(--line)}.qdp-preset{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink-soft);font-size:11.5px;text-align:left;cursor:pointer}.qdp-preset:hover{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.qdp-title{display:inline-flex;align-items:center;gap:6px;min-width:0}.qdp-year{height:26px;padding:0 4px;border:1px solid transparent;border-radius:var(--r-xs);background:transparent;color:var(--ink);font-size:13px;font-weight:620;font-variant-numeric:tabular-nums;cursor:pointer}.qdp-year:hover{border-color:var(--line);background:var(--hover-bg)}.qdp-year:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.qdp-input{flex:1;min-width:0;height:28px;padding:0 8px;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--input-bg);color:var(--ink);font-family:var(--font-mono);font-size:12.5px;letter-spacing:.2px}.qdp-input::placeholder{color:var(--ink-faint);letter-spacing:0;font-family:inherit}.qdp-input:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--blue)}.dp-link.is-primary{color:var(--accent-ink);font-weight:640}.cust-picker,.cust-picker-search{position:relative}.cust-picker-state{flex:none;font-size:11px;color:var(--ink-faint)}.cust-picker-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;max-height:240px;overflow:auto;margin:0;padding:4px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-solid);box-shadow:var(--e3);list-style:none}.cust-picker-option{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%;padding:7px 9px;border:0;border-radius:var(--r-xs);background:none;color:var(--ink);font-size:12.5px;text-align:left;cursor:pointer}.cust-picker-option:hover,.cust-picker-option:focus-visible{background:var(--hover-bg)}.cust-picker-option-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cust-picker-option-meta{flex:none;font-size:11px;color:var(--ink-faint)}.cust-picker-picked{display:flex;align-items:center;gap:6px;min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-sunken)}.cust-picker-name{display:inline-flex;align-items:center;gap:6px;min-width:0;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;color:var(--ink)}.cust-picker-link{flex:none;padding:0 2px;border:0;background:transparent;color:var(--blue);font-size:12px;cursor:pointer}.cust-picker-link:hover{color:var(--blue-hover)}.member-select{width:100%;min-width:0}.detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}.detail-kv{margin-bottom:18px}.flex-grow{flex:1 1 auto}.my-log-detail{margin-top:14px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--hover-bg)}.my-log-detail-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}@media(max-width:860px){.form-row-item,.form-row-pay,.form-row-perf,.form-row-fee,.form-row-adjust{grid-template-columns:minmax(0,1fr)}.form-row-actions{justify-content:flex-start}}.h5-shell{max-width:720px;margin:0 auto;padding:12px}.h5-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 4px}.h5-tabs{display:flex;flex-wrap:wrap;gap:6px 8px;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:12px}.h5-tab{padding:6px 12px;border-radius:8px;color:var(--ink-soft);font-size:14px;text-decoration:none}.h5-tab.is-active{background:var(--groove-bg);color:var(--ink);font-weight:600}.h5-body{padding-bottom:24px}.h5-input{width:100%;height:36px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);box-sizing:border-box}.drp-panel{position:fixed;z-index:122;width:720px;max-width:calc(100vw - 24px);padding:0;border-radius:var(--r-md);overflow:hidden}.drp-body{display:flex;align-items:stretch;min-height:392px}.drp-fields{flex:0 0 20%;display:flex;flex-direction:column;gap:2px;padding:12px 10px;border-right:1px solid var(--line);background:var(--surface-soft, rgba(var(--shade), .02))}.drp-fields-title{padding:2px 8px 8px;font-size:11px;font-weight:620;letter-spacing:.4px;color:var(--ink-faint)}.drp-field{display:flex;align-items:center;gap:8px;padding:7px 8px;border:1px solid transparent;border-radius:var(--r-xs);background:transparent;color:var(--ink);font-size:12.5px;text-align:left;cursor:pointer}.drp-field:hover{background:var(--hover-bg)}.drp-field.is-on{background:var(--blue-soft);color:var(--blue);font-weight:600}.drp-field:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.drp-radio{width:12px;height:12px;flex:none;border:1.4px solid var(--line-strong);border-radius:50%}.drp-field.is-on .drp-radio{border-color:var(--blue);box-shadow:inset 0 0 0 3px var(--blue)}.drp-main{flex:1;display:flex;flex-direction:column;min-width:0}.drp-quick{flex:0 0 25%;padding:12px 14px;border-bottom:1px solid var(--line)}.drp-quick-title{display:flex;align-items:baseline;gap:8px;font-size:11px;font-weight:620;color:var(--ink-faint)}.drp-quick-title em{font-style:normal;font-weight:400;color:var(--ink-faint);opacity:.85}.drp-quick-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.drp-chip{padding:5px 10px;border:1px solid var(--line);border-radius:var(--r-xs);background:transparent;color:var(--ink-muted);font-size:12px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.drp-chip:hover{background:var(--blue-soft);border-color:transparent;color:var(--blue)}.drp-chip:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.drp-cal{flex:1;display:flex;flex-direction:column;min-height:0;padding:10px 14px 12px}.drp-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:6px}.drp-cal-title{display:flex;align-items:baseline;gap:8px;font-size:11px;font-weight:620;color:var(--ink-faint)}.drp-cal-title em{font-style:normal;font-weight:400;color:var(--ink-soft)}.drp-nav{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid transparent;border-radius:var(--r-xs);background:transparent;color:var(--ink-soft);cursor:pointer}.drp-nav:hover{background:var(--hover-bg);color:var(--ink);border-color:var(--line)}.drp-nav:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.drp-months{display:grid;grid-template-columns:1fr 1fr;gap:14px}.drp-month{min-width:0}.drp-month-title{font-size:13px;font-weight:620;color:var(--ink);font-variant-numeric:tabular-nums;padding:2px 0 6px}.drp-week{display:grid;grid-template-columns:repeat(7,1fr);padding-bottom:4px;font-size:11px;color:var(--ink-faint);text-align:center}.drp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.drp-cell{display:inline-flex;align-items:center;justify-content:center;height:30px;border:1px solid transparent;border-radius:var(--r-xs);background:transparent;color:var(--ink);font-size:12.5px;font-variant-numeric:tabular-nums;cursor:pointer}.drp-cell:hover{background:var(--hover-bg)}.drp-cell:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.drp-cell.is-outside{color:var(--ink-faint)}.drp-cell.is-today{border-color:var(--line-strong)}.drp-cell.is-selected{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:620}.drp-cell.is-span{background:var(--blue-soft);border-radius:0}.drp-foot{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--line);background:var(--surface-solid, var(--surface))}.drp-foot-value{flex:1;min-width:0;font-size:12px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.search-more{display:inline-flex;align-items:center;gap:5px;flex:none;padding:7px 10px;border:1px solid var(--line);border-radius:var(--r-xs);background:transparent;color:var(--ink-muted);font-size:12px;cursor:pointer}.search-more:hover{border-color:var(--line-strong);color:var(--ink)}.search-more.is-open{color:var(--blue);border-color:transparent;background:var(--blue-soft)}.search-more:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.search-more b{font-weight:650}.search-more-items{display:contents}.name-dup{margin-left:6px;vertical-align:1px}.th-sort{display:inline-flex;align-items:center;gap:3px;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.th-sort:hover{color:var(--ink)}.th-sort:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-xs)}.th-sort-icon{color:var(--ink-faint);opacity:.55}.th-sort-icon.is-active{color:var(--blue);opacity:1}.is-sorted{color:var(--ink)}.cell-2l{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;min-width:0;text-align:left}.cell-2l-btn{padding:0;border:0;background:transparent;cursor:pointer;color:inherit;font:inherit}.cell-2l-btn:hover .l-row{color:var(--blue)}.cell-2l-btn.is-empty:hover .l-row{color:var(--ink)}.cell-2l-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-xs)}.l-row{display:block;min-width:0;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.35}.l-11{font-size:11px;color:var(--ink);font-weight:650}.l-10{font-size:10px;color:var(--ink-muted)}.l-9{font-size:9px;color:var(--ink-muted);letter-spacing:.1px}.l-11.is-sub{font-weight:400;color:var(--ink-muted)}.name-line{display:flex;align-items:baseline;justify-content:flex-start;gap:5px}.tag.cell-tag{height:20px;padding:0 8px;font-size:11px}.next-follow{font-size:11px;color:var(--ink);font-variant-numeric:tabular-nums}.next-follow.is-empty{color:var(--ink-faint)}.next-follow.is-overdue{color:var(--red-text);font-weight:600}.l-row.is-unassigned{color:var(--ink-faint)}.cell-2l-btn.expiring.is-warn .l-row{color:var(--red-text);font-weight:650}.l-row.is-expired{color:var(--red-text);opacity:.72}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;letter-spacing:.02em;color:var(--ink-faint);white-space:nowrap}.section-mark{display:flex;flex-direction:column;gap:6px;min-width:0}.section-mark-title{font-size:15px;font-weight:680;letter-spacing:-.012em;color:var(--ink)}.odometer{display:inline-flex;align-items:baseline;line-height:1}.odo-cell{position:relative;display:inline-block;height:1em;overflow:hidden}.odo-cell.is-sep{overflow:visible}.odo-cell.is-fraction{color:var(--ink-faint)}.odo-strip{display:flex;flex-direction:column;transition:transform .9s var(--ease-premium)}.odo-strip>span{display:block;height:1em;line-height:1;text-align:center}.metric{display:flex;flex-direction:column;gap:8px;min-width:0}.metric-label{font-size:12px;font-weight:600;color:var(--ink-soft)}.metric-figure{display:inline-flex;align-items:flex-start;gap:4px;font-weight:720;letter-spacing:-.045em;color:var(--ink);line-height:1}.metric-xl .metric-figure{font-size:var(--fs-display-xl)}.metric-l .metric-figure{font-size:var(--fs-display-l)}.metric-m .metric-figure{font-size:var(--fs-display-m);letter-spacing:-.035em}.metric-s .metric-figure{font-size:20px;letter-spacing:-.02em}.metric-unit{position:relative;top:.12em;font-size:.32em;font-weight:640;letter-spacing:0;color:var(--ink-soft);vertical-align:top}.metric-s .metric-unit,.metric-m .metric-unit{font-size:.46em}.delta-pill{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px 0 6px;border-radius:999px;font-size:11px;font-weight:650;white-space:nowrap;color:var(--ink-soft);background:rgba(var(--shade),.06)}.delta-pill.is-up{color:var(--leaf-text);background:var(--lime-soft)}.delta-pill.is-down{color:var(--red-text);background:var(--red-soft)}.delta-pill.is-new{color:var(--blue);background:var(--blue-soft)}.ruler{position:relative;height:26px}.ruler-ticks{position:absolute;inset:0 0 auto 0;height:8px;background:linear-gradient(90deg,var(--tick-strong) 1px,transparent 1px) 0 0 / calc(100% / var(--ruler-major) - .01px) 8px repeat-x,linear-gradient(90deg,var(--tick) 1px,transparent 1px) 0 0 / calc(100% / var(--ruler-major) / var(--ruler-minor) - .01px) 4px repeat-x}.ruler-labels{position:absolute;top:11px;right:0;bottom:0;left:0}.ruler-labels span{position:absolute;translate:-50% 0;font-family:var(--font-mono);font-size:10px;color:var(--ink-faint);white-space:nowrap}.ruler-labels span:first-child{translate:0 0}.ruler-labels span:last-child{translate:-100% 0}.ruler-marker{position:absolute;top:-2px;width:2px;height:12px;margin-left:-1px;border-radius:2px;background:var(--lime);box-shadow:0 0 0 3px var(--lime-soft)}.ruler-marker-label{position:absolute;bottom:calc(100% + 4px);left:50%;translate:-50% 0;padding:1px 6px;border-radius:999px;font-family:var(--font-mono);font-size:10px;font-weight:650;color:#1c2a0c;background:var(--lime)}.hovercard-trigger{display:inline-flex;min-width:0}.hovercard{position:fixed;z-index:150;padding:14px;border-radius:var(--r-md);font-size:12.5px;color:var(--ink);pointer-events:auto}.hc-head{display:flex;align-items:center;gap:11px}.hc-name{font-size:14px;font-weight:680;letter-spacing:-.01em}.hc-sub{font-size:11.5px;color:var(--ink-soft)}.hc-rows{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.hc-rows dt{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.hc-rows dd{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-primary,.btn-danger{position:relative;isolation:isolate}.ripple-clip{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;border-radius:inherit;pointer-events:none}.ripple-dot{position:absolute;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.42),rgba(255,255,255,.12) 55%,transparent 72%);pointer-events:none}@media(prefers-reduced-motion:reduce){.ripple-clip{display:none}}.cat-1{--cat-bg: var(--cat-1-bg);--cat-ink: var(--cat-1-ink)}.cat-2{--cat-bg: var(--cat-2-bg);--cat-ink: var(--cat-2-ink)}.cat-3{--cat-bg: var(--cat-3-bg);--cat-ink: var(--cat-3-ink)}.cat-4{--cat-bg: var(--cat-4-bg);--cat-ink: var(--cat-4-ink)}.cat-5{--cat-bg: var(--cat-5-bg);--cat-ink: var(--cat-5-ink)}.trend{position:relative;width:100%;touch-action:pan-y}.trend svg{display:block;overflow:visible}.trend.tone-blue{--trend-ink: var(--blue)}.trend.tone-ink{--trend-ink: var(--ink)}.trend-stop{stop-color:var(--trend-ink)}.trend-grid line{stroke:var(--line-strong);stroke-dasharray:1 5;stroke-linecap:round}.trend-axis text{font-family:var(--font-mono);font-size:10px;fill:var(--ink-faint);font-variant-numeric:tabular-nums}.trend-line{fill:none;stroke:var(--trend-ink);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.trend-base{stroke:var(--line-strong)}.trend-tick{fill:var(--tick)}.trend-stem{stroke:var(--trend-ink);stroke-width:2;stroke-linecap:round}.trend-stem.is-secondary{stroke:var(--red);stroke-width:1.6;stroke-dasharray:3 3}.trend-stem-label{font-family:var(--font-mono);font-size:11px;font-weight:600;fill:var(--ink)}.trend-line-2{fill:none;stroke:var(--red);stroke-width:1.6;stroke-dasharray:4 4;stroke-linecap:round;opacity:.8}.trend-band{opacity:.9}.hatch-line{stroke:var(--hatch-ink);stroke-width:1.6}.trend-nodes circle{fill:var(--surface-solid);stroke:var(--trend-ink);stroke-width:2}.trend-nodes .trend-halo{fill:var(--blue-soft);stroke:none}.trend-cursor{stroke:var(--tick-strong);stroke-dasharray:2 3}.trend-cursor.is-h{stroke:var(--tick)}.trend-dot{fill:var(--surface-solid);stroke:var(--trend-ink);stroke-width:2.4}.trend-tip{position:absolute;left:0;top:0;display:flex;flex-direction:column;gap:4px;min-width:128px;padding:9px 12px;border-radius:var(--r-sm);font-size:12px;color:var(--ink-muted);pointer-events:none}.trend-tip-row{display:flex;align-items:center;gap:7px}.trend-tip-row b{margin-left:auto;font-size:13px;color:var(--ink)}.tip-key{width:8px;height:3px;border-radius:2px;background:var(--trend-ink, var(--blue))}.tip-key.is-secondary{background:var(--red)}.legend-dot{width:9px;height:9px;border-radius:3px;background:var(--cat-bg);box-shadow:inset 0 0 0 1px var(--cat-ink);flex:none}.legend-label{flex:1;min-width:0;color:var(--ink-muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.swimlane{--swim-label-w: 132px;--lane-h: 46px;position:relative}.swimlane.is-compact{--swim-label-w: 92px;--lane-h: 30px}.swim-head{display:grid;grid-template-columns:var(--swim-label-w) minmax(0,1fr);align-items:start;margin-bottom:6px}.swim-corner{padding-top:2px}.swim-zoom{align-self:start;justify-self:start;height:22px;padding:0 9px;border:1px solid var(--line-strong);border-radius:999px;background:var(--hover-bg);color:var(--ink-soft);font:inherit;font-size:11px;cursor:pointer;transition:color .2s,border-color .2s}.swim-zoom:hover{color:var(--blue);border-color:var(--blue)}.swim-zoom:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.swim-body{position:relative}.swim-grid{position:absolute;inset:0 0 0 var(--swim-label-w);pointer-events:none;background:linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0 / calc(100% / var(--swim-cols)) 100% repeat-x;border-right:1px solid var(--line)}.swim-lane{position:relative;display:grid;grid-template-columns:var(--swim-label-w) minmax(0,1fr);align-items:center;height:var(--lane-h)}.swim-lane+.swim-lane{border-top:1px dashed var(--line)}.swim-label{display:flex;flex-direction:column;min-width:0;padding-right:12px}.swim-name{font-size:12.5px;font-weight:640;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.swim-count{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint)}.is-compact .swim-name{font-size:11.5px}.is-compact .swim-count{display:none}.swim-track{position:relative;height:100%}.lane-block{position:absolute;top:50%;height:calc(var(--lane-h) - 16px);translate:0 -50%;min-width:6px;display:inline-flex;align-items:center;justify-content:flex-end;padding:0 6px;border-radius:999px;color:var(--cat-ink);background:var(--cat-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cat-ink) 22%,transparent);transition:box-shadow .2s ease,filter .2s ease}.is-compact .lane-block{height:calc(var(--lane-h) - 12px)}.lane-block:hover,.lane-block:focus-visible{box-shadow:inset 0 0 0 1.5px var(--cat-ink),var(--e1);z-index:2}.lane-block.is-slow{background-image:var(--hatch)}.lane-block.is-failed{box-shadow:inset 0 0 0 1.5px var(--red),0 0 0 3px var(--red-soft)}.lane-block-count{font-family:var(--font-mono);font-size:10px;font-weight:700}.swim-now{position:absolute;top:-8px;bottom:0;width:2px;margin-left:-1px;border-radius:2px;background:var(--lime);box-shadow:0 0 0 3px var(--lime-soft);pointer-events:none;z-index:3}.swim-tip{position:absolute;z-index:5;display:flex;flex-direction:column;gap:3px;min-width:168px;padding:10px 12px;border-radius:var(--r-sm);font-size:12px;translate:-50% calc(-100% - 8px);pointer-events:none}.swim-tip-row{display:flex;justify-content:space-between;gap:12px;color:var(--ink-soft)}.swim-tip-row b{color:var(--ink)}.swim-tip-row b.is-red{color:var(--red-text)}.swim-more{margin:8px 0 0 var(--swim-label-w);font-size:11.5px}@media(max-width:720px){.swimlane,.swimlane.is-compact{--swim-label-w: 76px}}.float-bar{position:fixed;left:50%;bottom:28px;z-index:140;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:8px 8px 8px 18px;border-radius:999px;translate:-50% 0;color:var(--plate-ink);border:1px solid var(--plate-line);background:var(--plate-bg);box-shadow:var(--e3),inset 0 1px #ffffff1f;font-size:13px;white-space:nowrap}.float-bar-count{color:var(--plate-soft)}.float-bar-count b{color:var(--plate-ink);font-weight:720}.float-bar-sep{width:1px;height:18px;margin:0 6px;background:var(--plate-line)}.float-bar .btn-text{color:#8fb8ff}.float-bar .btn-text:hover:not(:disabled){background:#ffffff14}.float-bar .btn-text.is-danger{color:#ff8a82}.float-bar .btn-text.is-danger:hover:not(:disabled){background:#ff5a5029}.float-bar .btn-secondary{color:var(--plate-ink);background:#ffffff14;border-color:var(--plate-line);box-shadow:none}.float-bar .float-bar-clear{color:var(--plate-soft)}@media(max-width:720px){.float-bar{bottom:16px;padding-left:14px;overflow-x:auto}}.alt-view{min-width:0}.alt-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-bottom:12px}.board-toolbar{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;margin-bottom:14px}.board-toolbar .input-shell{width:240px}.board-toolbar .spacer{flex:1}.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(248px,1fr);gap:14px;overflow-x:auto;padding-bottom:6px;align-items:stretch}.board-col{display:flex;flex-direction:column;min-height:280px;max-height:max(420px,calc(100dvh - 300px));border-radius:var(--r-xl);border:1px solid var(--line);background:color-mix(in srgb,var(--cat-bg) 34%,var(--surface-solid));transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}.board-col.is-over{border-color:color-mix(in srgb,var(--cat-ink) 50%,transparent);background:color-mix(in srgb,var(--cat-bg) 62%,var(--surface-solid));box-shadow:0 0 0 4px color-mix(in srgb,var(--cat-bg) 70%,transparent)}.board-col-head{display:flex;align-items:center;gap:9px;padding:14px 16px 10px}.board-dot{width:9px;height:9px;border-radius:3px;background:var(--cat-ink);box-shadow:0 0 0 3px var(--cat-bg)}.board-col-title{flex:1;min-width:0;font-size:13.5px;font-weight:680;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.board-col-count{min-width:24px;height:22px;padding:0 7px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--cat-ink);background:var(--cat-bg)}.board-col-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:2px 10px 12px}.board-card{position:relative;padding:12px 12px 12px 14px;border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);transition:opacity .2s ease}.board-card:before,.board-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;transition:opacity .15s ease}.board-card:before{box-shadow:var(--edge),var(--e1);opacity:1}.board-card:after{box-shadow:var(--edge),var(--e2);opacity:0}.board.is-draggable .board-card{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.board-card:hover:before{opacity:0}.board-card:hover:after{opacity:1}.board-card.is-placeholder{opacity:.32;border-style:dashed}.board-card.is-placeholder:before,.board-card.is-placeholder:after{opacity:0}.board.is-busy .board-card{pointer-events:none}.board-ghost{position:fixed;left:0;top:0;z-index:calc(var(--layer-overlay) - 1);pointer-events:none;box-shadow:var(--edge-strong),var(--e3)!important;cursor:grabbing}.board-card-menu{position:absolute;top:8px;right:8px}.board-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;color:var(--ink-faint);opacity:0;transition:opacity .2s ease,background .2s ease}.board-card:hover .board-menu-btn,.board-menu-btn:focus-visible,.board-menu-btn[aria-expanded=true]{opacity:1}.board-menu-btn:hover{background:var(--hover-bg);color:var(--ink)}.board-menu{position:absolute;right:0;top:28px;z-index:20;min-width:150px;padding:8px 6px 6px;border-radius:var(--r-sm);display:flex;flex-direction:column;gap:2px}.board-menu .eyebrow{padding:0 8px 4px}.board-menu .menu-item{display:flex;align-items:center;height:32px;padding:0 10px;border-radius:var(--r-xs);font-size:12.5px;text-align:left}.board-menu .menu-item:hover{background:var(--hover-bg)}.board-empty{margin:12px 0;text-align:center;font-size:12px;color:var(--ink-faint)}.ucard-head{display:flex;align-items:center;gap:10px;padding-right:22px}.ucard-name{font-size:13.5px;font-weight:680;line-height:1.25}.ucard-sub{font-size:11.5px;color:var(--ink-soft)}.ucard-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.ucard-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:9px;border-top:1px dashed var(--line-strong)}.ucard-time{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint)}.ucard-state{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:640}.ucard-state:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--lime);box-shadow:0 0 0 3px var(--lime-soft)}.ucard-state.is-off{color:var(--ink-faint)}.ucard-state.is-off:before{background:var(--ink-faint);box-shadow:none}.matrix{--mx-label-w: 280px;--mx-col-w: 112px;border-radius:var(--r-xl);border:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--edge),var(--e1);overflow:hidden}.mx-scroll{max-height:max(480px,calc(100dvh - 250px));overflow:auto;overscroll-behavior:contain}.mx-grid{min-width:calc(var(--mx-label-w) + var(--mx-cols) * var(--mx-col-w))}.mx-head,.mx-row{display:grid;grid-template-columns:var(--mx-label-w) repeat(var(--mx-cols),minmax(var(--mx-col-w),1fr))}.mx-head{position:sticky;top:0;z-index:3;border-bottom:1px solid var(--line-strong);background:var(--surface-solid)}.mx-corner{position:sticky;left:0;z-index:1;display:flex;align-items:flex-end;padding:14px 16px;background:var(--surface-solid);border-right:1px solid var(--line-strong)}.mx-role{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;padding:14px 8px 12px;text-align:center;transition:background .2s ease}.mx-role.is-hover{background:var(--blue-soft)}.mx-role-name{font-size:12.5px;font-weight:680;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mx-role-meta{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint)}.mx-role.is-locked .mx-role-name{color:var(--ink-muted)}.mx-role.is-off{opacity:.5}.mx-row{min-height:40px;border-bottom:1px solid var(--line);transition:background .15s ease}.mx-row:last-child{border-bottom:0}.mx-row.is-hover{background:#236de90b}.mx-row.is-dir{background:rgba(var(--shade),.025)}.mx-label{position:sticky;left:0;z-index:1;display:flex;align-items:center;gap:6px;min-width:0;padding-right:12px;background:var(--surface-solid);border-right:1px solid var(--line-strong);font-size:13px}.mx-row.is-hover .mx-label{background:color-mix(in srgb,var(--blue) 5%,var(--surface-solid))}.mx-row.is-dir .mx-name{font-weight:680}.mx-row.is-btn .mx-name{color:var(--ink-muted);font-size:12.5px}.mx-ico{color:var(--ink-soft);flex:none}.mx-name{flex:1;min-width:0}.mx-type{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--ink-faint);flex:none}.mx-cell{display:flex;align-items:center;justify-content:center;min-height:40px;transition:background .15s ease}.mx-cell.is-col-hover{background:#236de90b}.mx-row.is-hover .mx-cell.is-col-hover{background:var(--blue-soft)}.mx-cell:disabled{cursor:default}.mx-mark{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:7px;color:#1c2a0c;border:1.5px solid rgba(var(--shade),.2);background:var(--input-bg);transition:background .2s ease,border-color .2s ease,transform .3s var(--ease-premium),box-shadow .2s ease}:root[data-theme=dark] .mx-mark{border-color:#ffffff2e}.mx-row.is-btn .mx-mark{width:16px;height:16px;border-radius:6px}.mx-cell.is-on .mx-mark{border-color:transparent;background:var(--lime);box-shadow:0 2px 8px #82dd2d59}.mx-cell.is-partial .mx-mark{border-color:color-mix(in srgb,var(--lime) 70%,transparent);background:linear-gradient(135deg,var(--lime) 0 50%,transparent 50%)}.mx-cell:not(:disabled):hover .mx-mark{transform:scale(1.12);border-color:var(--lime)}.mx-cell.is-locked .mx-mark{opacity:.55}.mx-cell:focus-visible{outline:2px solid var(--focus);outline-offset:-3px;border-radius:8px}@media(max-width:720px){.matrix{--mx-label-w: 180px;--mx-col-w: 88px}.mx-type{display:none}}.rg{position:relative;overflow:hidden;border-radius:var(--r-xl);border:1px solid var(--line-strong);background:radial-gradient(55% 50% at 50% 46%,var(--ambient-b),transparent 72%),radial-gradient(40% 40% at 12% 90%,var(--ambient-a),transparent 70%),var(--surface-solid);box-shadow:var(--edge),var(--e1);outline:none}.rg.is-pannable{cursor:grab;touch-action:none}.rg-stage-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.rg-layer{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0}.rg-links{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.rg-link{color:var(--thread-active)}.rg-link.cat-1,.rg-link.cat-2,.rg-link.cat-3,.rg-link.cat-4,.rg-link.cat-5{color:color-mix(in srgb,var(--cat-ink) 75%,transparent)}.rg-link.is-danger{color:var(--red-text)}.rg-link.is-lime{color:var(--leaf-text)}.rg-path{fill:none;stroke:var(--thread);stroke-width:1.2;stroke-linecap:round;transition:stroke .3s,stroke-width .3s}.rg-link.is-dashed .rg-path{stroke-dasharray:3 4}.rg-link.is-lit .rg-path,.rg-link.is-active .rg-path{stroke:currentColor;stroke-width:1.6}.rg-link.is-danger .rg-path{stroke:color-mix(in srgb,var(--red-text) 55%,transparent)}.rg-link.is-dim .rg-path{stroke-opacity:.35}.rg-pulse{fill:currentColor;opacity:0;stroke:var(--pulse-halo);stroke-width:6;paint-order:stroke}.rg-pulse.is-back{fill:var(--leaf-text);stroke:#82dd2d33}.rg-node{position:absolute;left:0;top:0;width:0;height:0;padding:0;border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer;opacity:0;z-index:1}.rg-node.is-static{cursor:default}.rg-node.is-active,.rg-node:hover,.rg-node:focus-visible{z-index:3}.rg-node:focus-visible{outline:none}.rg-node:focus-visible .rg-body{outline:2px solid var(--focus);outline-offset:3px}.rg-body{position:absolute;left:0;top:0;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;translate:-50% -50%;transition:opacity .3s,box-shadow .3s,border-color .3s,background .3s,translate .3s}.rg-node.align-left .rg-body{translate:-7px -50%}.rg-node.align-right .rg-body{translate:calc(-100% + 7px) -50%;flex-direction:row-reverse;text-align:right}.rg-node.is-dim .rg-body{opacity:.26}.rg-dot{flex:none;display:grid;place-items:center;width:14px;height:14px;border-radius:50%;background:var(--node-bg);border:1.5px solid var(--cat-ink, var(--blue));box-shadow:0 0 0 4px color-mix(in srgb,var(--cat-ink, var(--blue)) 12%,transparent);color:var(--cat-ink, var(--blue))}.rg-text{display:flex;flex-direction:column;min-width:0;line-height:1.25}.rg-label{font-size:12.5px;font-weight:620;letter-spacing:-.005em;max-width:220px;overflow:hidden;text-overflow:ellipsis}.rg-sub{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint);max-width:220px;overflow:hidden;text-overflow:ellipsis}.rg-badge{font-family:var(--font-mono);font-size:10.5px;padding:1px 7px;border-radius:999px;color:var(--cat-ink, var(--ink-soft));background:var(--cat-bg, var(--hover-bg))}.rg-node.is-item .rg-body{padding:5px 11px 5px 6px;border-radius:999px;background:var(--node-bg);border:1px solid var(--line-strong);box-shadow:var(--edge),var(--e1)}.rg-node.is-item:hover .rg-body,.rg-node.is-item.is-active .rg-body{border-color:color-mix(in srgb,var(--cat-ink, var(--blue)) 55%,transparent);box-shadow:var(--edge),var(--e2)}.rg-node.is-item.is-active .rg-dot{background:var(--cat-ink, var(--blue))}.rg-node.is-dot .rg-dot{width:10px;height:10px;box-shadow:0 0 0 3px color-mix(in srgb,var(--cat-ink, var(--blue)) 12%,transparent)}.rg-node.is-dot .rg-body{gap:6px}.rg-node.is-dot .rg-text{position:absolute;left:16px;top:50%;translate:0 -50%;padding:3px 8px;border-radius:var(--r-xs);background:var(--float-bg);box-shadow:var(--float-inset),var(--e2);opacity:0;pointer-events:none;transition:opacity .2s}.rg-node.is-dot:hover .rg-text,.rg-node.is-dot:focus-visible .rg-text,.rg-node.is-dot.is-active .rg-text{opacity:1}.rg-node.is-dot.is-active .rg-dot{background:var(--cat-ink, var(--blue))}.rg-node.is-hub .rg-body{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"dot count" "text text";column-gap:10px;row-gap:4px;min-width:150px;padding:12px 16px 13px;border-radius:var(--r-lg);background:var(--pill-bg);border:1px solid var(--glass-line);box-shadow:var(--pill-inset),var(--edge),var(--e2)}.rg-node.is-hub .rg-dot{grid-area:dot;width:26px;height:26px;border-radius:var(--r-xs);background:var(--cat-bg, var(--blue-soft));border:0;box-shadow:none}.rg-node.is-hub .rg-count{grid-area:count;justify-self:end;font-family:var(--font-mono);font-size:22px;font-weight:600;letter-spacing:-.03em;color:var(--ink)}.rg-node.is-hub .rg-text{grid-area:text}.rg-node.is-hub .rg-label{font-size:13.5px;font-weight:700}.rg-node.is-hub:hover .rg-body,.rg-node.is-hub.is-active .rg-body{box-shadow:var(--pill-inset),var(--edge),var(--e3);border-color:color-mix(in srgb,var(--cat-ink, var(--blue)) 40%,var(--glass-line))}.rg-node.is-core .rg-body{flex-direction:column;justify-content:center;gap:6px;width:112px;height:112px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#2a3136,var(--plate-bg) 70%);color:var(--plate-ink);text-align:center;box-shadow:0 0 0 1px var(--plate-line),0 18px 40px rgba(var(--shade),.22)}.rg-node.is-core .rg-body:before{content:"";position:absolute;top:-18px;right:-18px;bottom:-18px;left:-18px;border-radius:50%;z-index:-1;background:radial-gradient(circle closest-side,var(--pulse-halo),transparent);animation:rg-breathe 5.5s ease-in-out infinite}.rg-node.is-core .rg-dot{width:auto;height:auto;border:0;box-shadow:none;background:none;color:var(--lime)}.rg-node.is-core .rg-text{align-items:center}.rg-node.is-core .rg-label{font-size:13px;font-weight:700}.rg-node.is-core .rg-sub{color:var(--plate-soft)}@keyframes rg-breathe{50%{transform:scale(1.12);opacity:.6}}.rg-node.tone-danger{--cat-ink: var(--red-text);--cat-bg: var(--red-soft)}.rg-node.tone-lime{--cat-ink: var(--leaf-text);--cat-bg: var(--lime-soft)}.rg-node.tone-accent{--cat-ink: var(--blue);--cat-bg: var(--blue-soft)}.rg-node.tone-off .rg-body{opacity:.5}.rg-node.tone-off .rg-label{text-decoration:line-through;text-decoration-color:var(--ink-faint)}.rg-corner{position:absolute;z-index:5;max-width:min(340px,calc(50% - 32px));cursor:default}.rg-corner:empty{display:none}.rg-corner.is-tl{left:16px;top:16px}.rg-corner.is-tr{right:16px;top:16px}.rg-corner.is-bl{left:16px;bottom:16px}.rg-corner.is-br{right:16px;bottom:16px}@media(prefers-reduced-motion:reduce){.rg-node.is-core .rg-body:before{animation:none}}.rg.is-stage{background:radial-gradient(circle,rgba(var(--shade),.07) 1px,transparent 1.2px) 0 0 / 22px 22px,radial-gradient(55% 50% at 50% 46%,var(--ambient-b),transparent 72%),radial-gradient(40% 40% at 10% 92%,var(--ambient-a),transparent 70%),var(--surface-solid)}:root[data-theme=dark] .rg.is-stage{background:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1.2px) 0 0 / 22px 22px,radial-gradient(55% 50% at 50% 46%,var(--ambient-b),transparent 72%),var(--surface-solid)}.rg.is-stage .rg-node.is-core:before,.rg.is-stage .rg-node.is-hub:before{content:"";position:absolute;border-radius:50%;width:var(--size, 96px);height:var(--size, 96px);left:calc(var(--size, 96px) / -2);top:calc(var(--size, 96px) / -2)}.rg.is-stage .rg-node.is-core .rg-body{width:auto;height:auto;padding:0;gap:1px;background:none;box-shadow:none;border-radius:0;color:var(--ink);translate:-50% calc(var(--size, 96px) / 2 + 26px)}.rg.is-stage .rg-node.is-core .rg-body:before{display:none}.rg.is-stage .rg-node.is-core .rg-dot{display:none}.rg.is-stage .rg-node.is-core .rg-label{font-size:14px;font-weight:700}.rg.is-stage .rg-node.is-core .rg-sub{color:var(--ink-faint)}.rg.is-stage .rg-node.is-hub .rg-body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:var(--size, 104px);height:var(--size, 104px);min-width:0;padding:0;translate:-50% -50%;border:0;border-radius:50%;background:none;box-shadow:none}.rg.is-stage .rg-node.is-hub .rg-dot{width:auto;height:auto;background:none;color:var(--cat-ink, var(--blue))}.rg.is-stage .rg-node.is-hub .rg-count{font-size:calc(var(--size, 104px) * .2);line-height:1;color:var(--ink)}.rg.is-stage .rg-node.is-hub .rg-text{position:absolute;top:calc(100% + 10px);left:50%;translate:-50% 0;align-items:center;text-align:center;padding:2px 8px;border-radius:var(--r-xs);background:color-mix(in srgb,var(--surface-solid) 86%,transparent)}.rg.is-stage .rg-node.is-hub .rg-label{font-size:13.5px;font-weight:700}.rg.is-stage .rg-node.is-hub .rg-sub{font-family:inherit;font-size:11.5px;max-width:180px}.rg.is-stage .rg-node.is-hub:hover .rg-body,.rg.is-stage .rg-node.is-hub.is-active .rg-body{box-shadow:none;border-color:transparent}.rg.is-stage .rg-node.is-hub:hover .rg-label,.rg.is-stage .rg-node.is-hub.is-active .rg-label{color:var(--cat-ink, var(--blue))}.rg.is-stage .rg-node.is-hub:focus-visible .rg-body{outline-offset:6px;border-radius:50%}.rg.is-stage .rg-node.is-dot .rg-dot{width:18px;height:18px;background:none;border:0;box-shadow:none}.rg.is-stage .rg-node.is-slab .rg-body{flex-direction:column;gap:2px;width:var(--size, 140px);padding:12px 10px;border-radius:var(--r-md);text-align:center;white-space:normal;background:var(--pill-bg);border:1px solid var(--glass-line);box-shadow:var(--pill-inset),var(--edge),var(--e2)}.rg.is-stage .rg-node.is-slab .rg-body:before{content:"";position:absolute;left:16px;right:16px;top:-1px;height:3px;border-radius:0 0 3px 3px;background:var(--cat-ink)}.rg.is-stage .rg-node.is-slab .rg-dot{display:none}.rg.is-stage .rg-node.is-slab .rg-text{align-items:center}.rg-rank{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--cat-ink, var(--ink-faint))}.rg.is-stage .rg-node.is-slab .rg-count{font-family:var(--font-mono);font-size:26px;font-weight:600;letter-spacing:-.03em;line-height:1.1}.rg.is-stage .rg-node.is-slab .rg-count:after{content:" 人";font-size:11px;font-weight:500;color:var(--ink-faint);letter-spacing:0}.rg.is-stage .rg-node.is-slab .rg-label{font-size:13.5px;font-weight:680;max-width:100%}.rg.is-stage .rg-node.is-slab .rg-sub{max-width:100%}.rg.is-stage .rg-node.is-slab:hover .rg-body,.rg.is-stage .rg-node.is-slab.is-active .rg-body{border-color:color-mix(in srgb,var(--cat-ink) 40%,var(--glass-line));box-shadow:var(--pill-inset),var(--edge),0 0 0 4px color-mix(in srgb,var(--cat-ink) 10%,transparent),var(--e3)}.rg.is-stage .rg-node.is-slab.is-dim .rg-body{opacity:.6}.rg.is-stage .rg-node.is-slab.tone-off .rg-label{text-decoration:line-through}.rg-corner.is-tr{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.rg-tools{display:inline-flex;gap:2px;padding:3px;border-radius:999px;border:1px solid var(--glass-line);background:var(--float-bg);box-shadow:var(--float-inset),var(--e1)}.rg-tools button{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border:0;border-radius:999px;background:none;color:var(--ink-soft);font:inherit;font-size:11.5px;cursor:pointer;transition:color .2s,background .2s}.rg-tools button:hover{color:var(--ink);background:var(--hover-bg)}.rg-tools button[aria-pressed=true]{color:var(--ink);background:var(--press-bg)}.rg-tools button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}@media(prefers-reduced-motion:reduce){.rg-tools{display:none}}.insight{display:flex;flex-direction:column;width:min(360px,100%);max-height:100%;border-radius:var(--r-xl);overflow:hidden}.insight-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 12px 0 16px}.insight-kind{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--ink-soft)}.insight-kind-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;color:var(--cat-ink, var(--blue));background:var(--cat-bg, var(--blue-soft))}.insight-body{display:flex;flex-direction:column;gap:14px;padding:10px 16px 16px;overflow-y:auto;overscroll-behavior:contain}.insight-title h3{margin:0;font-size:20px;font-weight:720;letter-spacing:-.02em}.insight-subtitle{margin:2px 0 0;font-family:var(--font-mono);font-size:11.5px;color:var(--ink-faint)}.insight-status{margin:8px 0 0;font-size:12.5px;color:var(--ink-muted);line-height:1.55}.insight-metric{padding:12px 14px;border-radius:var(--r-md);background:linear-gradient(120deg,color-mix(in srgb,var(--cat-bg, var(--blue-soft)) 90%,transparent),transparent 85%),var(--surface-solid);border:1px solid var(--line)}.insight-metric-label{font-size:11.5px;color:var(--ink-soft)}.insight-metric-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.insight-bars{display:flex;align-items:flex-end;gap:3px;height:34px}.insight-bars i{width:6px;height:calc(var(--h) * 100%);border-radius:2px 2px 0 0;background:color-mix(in srgb,var(--cat-ink, var(--blue)) 55%,transparent);transform-origin:bottom;animation:insight-grow .7s var(--ease-premium) var(--d) both}@keyframes insight-grow{0%{transform:scaleY(0)}}.insight-tiles{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px}.insight-tiles div{padding:9px 11px;border-radius:var(--r-sm);background:var(--hover-bg)}.insight-tiles dt{font-size:11px;color:var(--ink-faint)}.insight-tiles dd{margin:2px 0 0;font-family:var(--font-mono);font-size:17px;font-weight:600;letter-spacing:-.02em}.insight-tiles small{margin-left:2px;font-size:10px;color:var(--ink-faint)}.insight-cards{display:flex;flex-direction:column;gap:7px}.insight-card{position:relative;padding:9px 12px 10px 15px;border-radius:var(--r-sm);background:var(--hover-bg)}.insight-card:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--blue)}.insight-card.tone-warn:before{background:#e3a83b}.insight-card.tone-ok:before{background:var(--lime)}.insight-card.tone-danger:before{background:var(--red)}.insight-card h4{margin:0;font-size:12.5px;font-weight:680}.insight-card p{margin:3px 0 0;font-size:12px;line-height:1.55;color:var(--ink-muted)}.insight-group h4{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:12px;font-weight:650;color:var(--ink-muted)}.insight-group h4 b{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;font-weight:500;color:var(--ink-faint)}.insight-chips{display:flex;flex-wrap:wrap;gap:6px}.insight-chip{display:inline-flex;align-items:baseline;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--line-strong);background:var(--node-bg);color:var(--ink);font-size:12px;cursor:pointer;transition:border-color .2s,background .2s}.insight-chip:hover{border-color:var(--cat-ink, var(--blue));background:var(--cat-bg, var(--blue-soft))}.insight-chip small{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint)}.insight-chip.tone-danger{border-color:color-mix(in srgb,var(--red-text) 40%,transparent);color:var(--red-text)}.insight-chip.tone-off{opacity:.55}.insight-chip.is-more{cursor:default;color:var(--ink-faint)}.insight-chip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.trace-graph{height:max(600px,calc(100dvh - 236px))}.trace-crumbs{display:flex;align-items:center;gap:6px;padding:4px 12px 4px 4px;border-radius:999px;font-size:12.5px}.trace-crumbs:not(:has(.icon-btn)){padding-left:6px}.trace-crumb{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:0;border-radius:999px;background:none;color:var(--ink-muted);font:inherit;cursor:pointer}button.trace-crumb:hover{color:var(--blue)}.trace-crumb.is-current{color:var(--ink);font-weight:650;cursor:default}.trace-sep{color:var(--ink-faint)}.trace-legend{margin:0;display:grid;grid-template-columns:repeat(3,auto);gap:8px 18px;padding:12px 16px;border-radius:var(--r-lg);font-size:12px}.trace-legend dt{display:flex;align-items:center;gap:6px;color:var(--ink-soft);font-size:11px}.trace-legend dt i{width:8px;height:8px;border-radius:50%;background:var(--cat-ink)}.trace-legend dd{margin:2px 0 0;font-family:var(--font-mono);font-size:18px;font-weight:600;letter-spacing:-.02em}.trace-legend .is-warn dd{color:#c98a16}.trace-panel{position:absolute;z-index:6;right:16px;top:16px;bottom:16px;display:flex;width:360px;max-width:calc(100% - 32px);pointer-events:none}.trace-panel>*{pointer-events:auto}.trace-hint{position:absolute;left:50%;top:22px;translate:-50% 0;margin:0;font-size:12px;pointer-events:none;white-space:nowrap}@media(max-width:899px){.trace-panel{top:auto;height:46%;left:16px;width:auto}.trace-legend,.trace-hint{display:none}}.heat{--cell-gap: 4px;display:flex;flex-direction:column;gap:var(--cell-gap);overflow-x:auto;padding-bottom:2px}.heat.is-loading{opacity:.5}.heat-hours,.heat-row{display:grid;grid-template-columns:40px repeat(24,minmax(18px,1fr));gap:var(--cell-gap);min-width:560px}.heat-hours span{grid-row:1;font-family:var(--font-mono);font-size:10px;color:var(--ink-faint);transition:color .2s}.heat-hours span:first-child{grid-column:2}.heat-hours span.is-on{color:var(--ink)}.heat-day{font-size:11.5px;color:var(--ink-soft);align-self:center;transition:color .2s}.heat-day.is-on{color:var(--ink);font-weight:650}.heat-cell{position:relative;aspect-ratio:1.25;min-height:18px;padding:0;border:0;border-radius:5px;cursor:default;background:var(--hover-bg);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .2s,filter .2s}.heat-cell.lv-1{background:color-mix(in srgb,var(--lime) 18%,var(--surface-solid))}.heat-cell.lv-2{background:color-mix(in srgb,var(--lime) 38%,var(--surface-solid))}.heat-cell.lv-3{background:color-mix(in srgb,var(--lime) 62%,var(--surface-solid))}.heat-cell.lv-4{background:color-mix(in srgb,var(--leaf-text) 88%,var(--surface-solid));box-shadow:0 0 0 1px color-mix(in srgb,var(--leaf-text) 40%,transparent),0 4px 10px #82dd2d40}.heat-cell.is-risky:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--red-text) 70%,transparent) 0 1.5px,transparent 1.5px 4.5px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--red-text) 55%,transparent)}.heat:has(.is-hover) .heat-cell:not(.is-cross){filter:saturate(.4) opacity(.55)}.heat-cell.is-hover{box-shadow:0 0 0 2px var(--blue),0 6px 14px rgba(var(--shade),.18);z-index:1}.heat-cell:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.heat-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:6px;min-width:0}.heat-readout{font-size:12.5px;color:var(--ink-muted);font-variant-numeric:tabular-nums}.heat-legend{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--ink-faint)}.heat-legend i{position:relative;width:12px;height:12px;border-radius:3px;background:var(--hover-bg)}.heat-legend i.lv-1{background:color-mix(in srgb,var(--lime) 18%,var(--surface-solid))}.heat-legend i.lv-2{background:color-mix(in srgb,var(--lime) 38%,var(--surface-solid))}.heat-legend i.lv-3{background:color-mix(in srgb,var(--lime) 62%,var(--surface-solid))}.heat-legend i.lv-4{background:color-mix(in srgb,var(--leaf-text) 88%,var(--surface-solid));margin-right:4px}.heat-legend i.is-risky{margin-left:10px;background:repeating-linear-gradient(135deg,var(--red-text) 0 1.5px,transparent 1.5px 4px);box-shadow:inset 0 0 0 1px var(--red-text)}.alert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.alert-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:14px 16px 14px 18px;border-radius:var(--r-lg);border:1px solid color-mix(in srgb,var(--red-text) 22%,var(--line));background:linear-gradient(140deg,var(--red-soft),transparent 70%),var(--surface-solid);text-align:left;color:var(--ink);font:inherit;cursor:pointer;box-shadow:var(--edge),var(--e1);transition:border-color .25s}.alert-card:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:var(--red)}.alert-card:hover{border-color:color-mix(in srgb,var(--red-text) 45%,var(--line));box-shadow:var(--edge),var(--e2)}.alert-card:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.alert-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.alert-kind{font-family:var(--font-mono);font-size:10.5px;letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--red-text)}.alert-key{font-family:var(--font-mono);font-size:15px;font-weight:650;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-figure{display:flex;align-items:baseline;gap:6px}.alert-figure b{font-family:var(--font-mono);font-size:28px;font-weight:600;letter-spacing:-.03em;color:var(--red-text)}.alert-figure span{font-size:12px;color:var(--ink-soft)}.alert-meta{font-size:11.5px;color:var(--ink-faint);font-variant-numeric:tabular-nums}.alert-calm{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:var(--r-lg);background:var(--lime-soft);color:var(--leaf-text);font-size:13px}.band-tools{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap}.rg.is-stage .trace-hint{color:var(--ink-soft)}.rg.is-stage .trace-crumb.cat-2,.rg.is-stage .trace-crumb.cat-3,.rg.is-stage .trace-crumb.cat-5{color:var(--cat-ink)}.rg-node.is-item .rg-dot:has(svg){width:22px;height:22px}.pipe-steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:var(--r-md);margin-bottom:18px}.pipe-thumb{position:absolute;left:0;top:4px;bottom:4px;border-radius:var(--r-sm);pointer-events:none}.pipe-step{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px;height:38px;border:0;border-radius:var(--r-sm);background:none;color:var(--ink-soft);font:inherit;font-size:13px;cursor:pointer;transition:color .25s}.pipe-step.is-on{color:var(--ink);font-weight:650}.pipe-step-n{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font-family:var(--font-mono);font-size:11px;background:var(--hover-bg);color:var(--ink-soft)}.pipe-step.is-on .pipe-step-n{background:var(--blue);color:#fff}.pipe-step.is-done .pipe-step-n{background:var(--lime-soft);color:var(--leaf-text)}.pipe-stage{min-height:420px}.pipe-info{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}.pipe-readouts{margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.pipe-readouts div{padding:12px 14px;border-radius:var(--r-md);background:var(--hover-bg)}.pipe-readouts dt{font-size:11.5px;color:var(--ink-faint)}.pipe-readouts dd{margin:4px 0 0;font-family:var(--font-mono);font-size:24px;font-weight:600;letter-spacing:-.03em}.pipe-map{position:relative}.pipe-map-head{position:relative;height:22px}.pipe-map-head span{position:absolute;top:0;translate:-50% 0;font-family:var(--font-mono);font-size:10.5px;letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--ink-faint)}.pipe-graph{border-radius:var(--r-lg)}.pipe-note{margin:10px 0 0;font-size:12px}.pipe-dir{display:block;padding:10px 10px 4px;font-size:10.5px;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipe-dir:first-child{padding-top:2px}.pipe-code{counter-reset:none;max-height:58vh;overflow:auto}.code-line{display:block;white-space:pre}.code-line i{display:inline-block;width:3.2em;margin-right:1em;color:var(--ink-faint);font-style:normal;text-align:right;-webkit-user-select:none;user-select:none;opacity:.7}@media(max-width:900px){.pipe-info{grid-template-columns:1fr}}.swatchbook{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;align-items:start}.swatch{display:flex;flex-direction:column;gap:12px;padding:14px 16px;border-radius:var(--r-xl);min-width:0}.swatch.is-open{grid-column:1 / -1;box-shadow:var(--edge),var(--e2);border-color:color-mix(in srgb,var(--blue) 30%,var(--line))}.swatch.is-off{opacity:.7}.swatch.is-builtin{background:var(--groove-bg);border-color:var(--line)}.swatch.is-builtin .swatch-title b{color:var(--ink-muted)}.swatch.is-builtin .swatch-count{color:var(--ink-soft)}.swatch.is-builtin .swatch-bar{opacity:.5}.swatch-builtin{display:inline-flex;align-items:center;margin-left:6px;padding:1px 6px;border:1px solid var(--line);border-radius:var(--r-xs);background:rgba(var(--shade),.05);font-size:10.5px;font-weight:600;letter-spacing:.04em;color:var(--ink-faint);vertical-align:1px}.swatch-locked-hint{font-size:11.5px;margin-left:auto}.tier-gap-hint{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px;padding:9px 12px;border-radius:10px;background:var(--amber-soft);color:var(--amber-text);font-size:12.5px;line-height:1.55}.tier-gap-hint svg{flex:none;margin-top:1px}.swatch-head{display:flex;align-items:flex-start;gap:10px;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.swatch-head:focus-visible{outline:2px solid var(--focus);outline-offset:4px;border-radius:var(--r-sm)}.swatch-title{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;flex:1}.swatch-title b{font-size:15px;font-weight:700;letter-spacing:-.01em}.swatch-count{font-family:var(--font-mono);font-size:22px;font-weight:600;letter-spacing:-.03em;line-height:1}.swatch-count small{margin-left:2px;font-size:11px;font-weight:500;color:var(--ink-faint)}.swatch-chevron{color:var(--ink-faint);margin-top:2px}.swatch-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:24px}.swatch-tags:empty{display:none}.swatch .tag.is-off{opacity:.45;text-decoration:line-through}.swatch-bar{display:flex;gap:2px;height:4px;border-radius:4px;overflow:hidden;background:var(--hover-bg)}.swatch-bar i{display:block;min-width:4px}.swatch-bar i.tone-ok{background:var(--lime)}.swatch-bar i.tone-info{background:var(--blue)}.swatch-bar i.tone-danger{background:var(--red)}.swatch-bar i.tone-neutral{background:var(--ink-faint)}.swatch-foot{display:flex;align-items:center;gap:10px;min-width:0;font-size:12px}.swatch-editor{display:flex;flex-direction:column;gap:2px;padding-top:4px;border-top:1px solid var(--line)}.swatch-row{display:grid;grid-template-columns:minmax(120px,200px) minmax(60px,140px) auto auto auto auto;align-items:center;gap:16px;padding:9px 4px;border-bottom:1px solid var(--line)}.swatch-row:last-of-type{border-bottom:0}.swatch-tones{display:inline-flex;gap:6px}.swatch-tone{width:20px;height:20px;padding:0;border-radius:50%;border:2px solid var(--surface-solid);box-shadow:0 0 0 1px var(--line-strong);cursor:pointer;transition:box-shadow .2s,transform .2s}.swatch-tone.tone-neutral{background:var(--ink-faint)}.swatch-tone.tone-ok{background:var(--lime)}.swatch-tone.tone-info{background:var(--blue)}.swatch-tone.tone-danger{background:var(--red)}.swatch-tone.is-on{box-shadow:0 0 0 2px var(--ink)}.swatch-tone:hover:not(:disabled){transform:scale(1.12)}.swatch-tone:disabled{cursor:default;opacity:.6}.swatch-tone:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.swatch-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:10px}@media(max-width:760px){.swatch-row{grid-template-columns:1fr auto;gap:8px 12px}}.hovercard.is-solid{border:1px solid var(--line-strong);background:var(--surface-solid);box-shadow:var(--e3)}.sched-page{display:flex;flex-direction:column;gap:8px}.sched-view{min-width:0}.sched-scroll{overflow-x:auto;overscroll-behavior:contain;border-radius:var(--r-lg);border:1px solid var(--line-strong);background:var(--surface)}.sched-grid{min-width:calc(140px + var(--sched-cols) * 64px)}.sched-head,.sched-row{display:grid;grid-template-columns:140px repeat(var(--sched-cols),minmax(64px,1fr))}.sched-head{position:sticky;top:0;z-index:3;border-bottom:1px solid var(--line-strong);background:var(--surface-solid)}.sched-corner{position:sticky;left:0;z-index:1;display:flex;align-items:flex-end;padding:10px 12px;background:var(--surface-solid);border-right:1px solid var(--line-strong);font-size:12px;color:var(--ink-faint)}.sched-time{padding:8px 0 6px;text-align:center;font-family:var(--font-mono);font-size:11px;color:var(--ink-faint)}.sched-time.is-hour{color:var(--ink-soft);border-left:1px solid var(--line)}.sched-row{min-height:44px;border-bottom:1px solid var(--line)}.sched-row:last-child{border-bottom:0}.sched-label{position:sticky;left:0;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:4px 12px;background:var(--surface-solid);border-right:1px solid var(--line-strong)}.sched-name{font-size:13px;font-weight:640}.sched-shift{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint)}.sched-cell{position:relative;min-height:44px;border:0;border-left:1px solid var(--line);background:var(--surface-solid);font:inherit;font-size:10.5px;color:var(--ink-soft);cursor:pointer;transition:background .15s ease}.sched-cell:hover:not(:disabled){background:var(--blue-soft)}.sched-cell.is-full{background:var(--blue-soft);color:var(--blue)}.sched-cell.is-off{background:var(--hover-bg);color:var(--ink-faint);cursor:not-allowed}.sched-cell-count{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.sched-closed{margin-bottom:8px;padding:6px 10px;border-radius:var(--r-sm);background:var(--red-soft);color:var(--red-text);font-size:12px}.sched-empty,.sched-loading{padding:24px;text-align:center;color:var(--ink-faint);font-size:13px}.sched-tip{margin-top:6px;font-size:12px;color:var(--ink-faint)}.tag-row{display:flex;flex-wrap:wrap;gap:8px}.simple-table{width:100%;border-collapse:collapse;font-size:12.5px}.simple-table th,.simple-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}.simple-table th{color:var(--ink-faint);font-weight:640}.sched-stats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.sched-stat{display:flex;flex-direction:column;gap:2px;min-width:96px;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface)}.sched-stat-label{font-size:11px;color:var(--ink-faint)}.sched-stat-value{font-size:20px;font-weight:680}.book-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.book-cal{border:1px solid var(--line);border-radius:var(--r-lg);padding:10px;background:var(--surface)}.book-cal-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px;font-size:12px;font-weight:620}.book-cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;font-size:10px;color:var(--ink-faint);text-align:center}.book-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.book-cal-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:44px;border:0;border-radius:7px;background:transparent;color:var(--ink);cursor:pointer;font-size:12px}.book-cal-day:hover:not(:disabled){background:var(--surface-sunken)}.book-cal-day .n{font-family:var(--font-mono);font-size:14px;line-height:1.1}.book-cal-day .r{display:flex;align-items:center;justify-content:center;gap:4px;font-size:9.5px;color:var(--ink-faint);line-height:1;white-space:nowrap}.book-cal-day .r .c{color:var(--red-text);font-weight:700}.book-cal-day .r .s{color:var(--blue);font-weight:700}.book-cal-day.is-full .r .s{color:var(--red-text, var(--ink-soft))}.book-cal-day.is-muted{opacity:.25}.book-cal-day.is-off,.book-cal-day.is-out-range{color:var(--ink-faint);cursor:not-allowed;opacity:.35}.book-cal-day.is-selected{background:var(--accent-soft);color:var(--accent-ink)}.book-cal-foot{display:flex;align-items:center;gap:4px;margin-top:8px;font-size:11px}.book-side{min-width:0}.book-techs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.book-tech{display:flex;flex-direction:column;gap:1px;padding:5px 9px;border-radius:8px;border:1px solid var(--line);background:var(--blue-soft);color:var(--ink);cursor:pointer;font-size:12px}.book-tech .tn{font-size:12px;font-weight:600}.book-tech .n{font-size:10px;color:var(--ink-faint)}.book-tech.is-active{border-color:var(--accent);background:var(--blue-soft);color:var(--accent-ink)}.book-slot-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.book-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:44px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer;font-size:11px}.book-slot .t{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint)}.book-slot .n{font-size:10px}.book-slot.is-free{border-color:var(--ok-line, var(--line));background:var(--surface-solid)}.book-slot.is-free:hover{border-color:var(--accent)}.book-slot:disabled{background:var(--surface-sunken);color:var(--ink-faint);cursor:not-allowed}.book-slot.is-range-start,.book-slot.is-range-end,.book-slot.is-in-range{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.book-slot.is-range-start,.book-slot.is-range-end{border-width:2px;padding:0;font-weight:650}.book-slot.is-in-range{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.book-slot{transition:background .22s var(--ease-premium),border-color .22s var(--ease-premium),color .22s var(--ease-premium);transform:translateZ(0)}.book-slot.is-range-start .t,.book-slot.is-range-end .t,.book-slot.is-in-range .t{color:var(--accent-ink)}.sched-tip.is-error{color:var(--red-text)}.book-cal-empty,.book-side-empty{margin:28px 0;text-align:center}.book-store-empty{margin:6px 4px;font-size:11px}.book-board.has-stores{grid-template-columns:148px minmax(0,1.15fr) minmax(0,1fr)}.book-store{border:1px solid var(--line);border-radius:var(--r-lg);padding:10px;background:var(--surface)}.book-store-list{display:flex;flex-direction:column;gap:2px;margin-top:6px}.book-store-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:7px 8px;border:0;border-radius:7px;background:transparent;color:var(--ink-muted);font-size:12px;text-align:left;cursor:pointer;transition:background .16s ease,color .16s ease}.book-store-item:hover:not(:disabled){background:var(--hover-bg);color:var(--ink)}.book-store-item.is-active{background:var(--accent-soft);color:var(--accent-ink);font-weight:640}.book-store-item.is-locked{opacity:.4;cursor:not-allowed}.book-store-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.book-store-mark{font-size:9.5px;color:var(--ink-faint)}.book-store-item.is-active .book-store-mark{color:var(--accent-ink)}@media(max-width:900px){.book-board{grid-template-columns:minmax(0,1fr)}}@media(max-width:1200px){.book-board.has-stores{grid-template-columns:minmax(0,1fr)}}.plan-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg)}.plan-grid{width:100%;min-width:840px;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:12px}.plan-grid th,.plan-grid td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:0}.plan-grid thead th{background:var(--surface-solid)}.plan-grid th.plan-staff{position:sticky;left:0;z-index:3;width:88px;padding:8px 10px;border-right:1px solid var(--line);background:var(--surface-solid);text-align:left;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-day.is-closed{background:var(--hover-bg)}.plan-day-btn{display:flex;flex-direction:column;align-items:center;gap:1px;width:100%;padding:6px 0;border:0;background:transparent;cursor:pointer;font-size:9.5px;white-space:nowrap}.plan-day-btn .n{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:9.5px}.plan-day-btn .c{max-width:100%;overflow:hidden;white-space:nowrap}.plan-day-btn .w,.plan-day-btn .c{color:var(--ink-faint);font-size:9px}.plan-cell.is-closed{background:var(--hover-bg)}.plan-shift{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-height:58px;padding:6px 0;border:1px dashed var(--line);border-radius:6px;background:var(--surface);cursor:pointer;font-size:10px}.plan-shift:hover:not(:disabled){border-color:var(--accent)}.plan-shift.is-rest{border-style:solid;background:var(--hover-bg);color:var(--ink-soft)}.plan-shift.is-rest .t{color:var(--ink-soft)}.plan-shift .t{font-size:10px;line-height:1.2;white-space:nowrap}.plan-cell-menu{min-width:190px}.plan-cell-menu-head{padding:4px 10px 6px;margin-bottom:4px;border-bottom:1px solid var(--line);color:var(--ink-faint);font-size:11px}.plan-cell-menu .select-option:hover{background:var(--hover-bg)}.shift-def-list{display:flex;flex-direction:column;gap:2px;margin-bottom:14px}.shift-def-row{display:flex;align-items:center;gap:10px;padding:5px 8px;border-radius:var(--r-xs)}.shift-def-row.is-editing{background:var(--hover-bg)}.shift-def-row.is-disabled .shift-def-name,.shift-def-row.is-disabled .shift-def-time{color:var(--ink-faint)}.shift-def-name{font-weight:600}.shift-def-time{color:var(--ink-soft);font-size:12px}.shift-def-time-inputs{display:flex;align-items:center;gap:6px}.shift-def-time-inputs .input-shell{width:92px}.plan-preview{display:flex;flex-wrap:wrap;gap:4px;max-height:140px;overflow:auto}.plan-preview-item{font-size:10px;padding:2px 6px;border-radius:6px;background:var(--hover-bg)}.plan-preview-item.is-add{color:var(--ok-ink, var(--accent-ink))}.plan-preview-item.is-skip{color:var(--ink-faint);text-decoration:line-through}.schedule-workspace{display:flex;flex-direction:column;gap:12px}.schedule-plan{display:flex;flex-direction:column;gap:10px}.seg-tabs{display:inline-flex;gap:4px;padding:3px;border-radius:9px;background:var(--surface-sunken)}.seg-tab{border:0;border-radius:7px;padding:5px 12px;background:transparent;color:var(--ink-soft);font-size:12px;cursor:pointer}.seg-tab:hover{color:var(--ink)}.seg-tab.is-active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1);font-weight:600}.archive-page{display:flex;flex-direction:column;gap:14px}.archive-page-head{display:flex;align-items:flex-start;gap:16px}.archive-page-head .archive-head{flex:1;min-width:0}.archive-page-body{display:grid;grid-template-columns:156px minmax(0,1fr);gap:16px;align-items:start}.archive-page-aside{position:sticky;top:12px}.archive-page-content{min-width:0;display:flex;flex-direction:column;gap:10px}.archive-page-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}@media(max-width:900px){.archive-page-body{grid-template-columns:1fr}}.appointment-compact{display:flex;flex-direction:column;gap:8px}.appointment-topbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.appointment-topbar .seg-tabs{flex:none}.appointment-mode{flex:none;padding:4px 10px;border-radius:999px;border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent-ink);font-size:12px;font-weight:640;white-space:nowrap}.appointment-member-locked{flex:0 1 auto;min-width:200px}.appointment-member{position:relative;display:flex;align-items:center;gap:6px;flex:1 1 300px;min-width:260px}.appointment-member .input-shell,.appointment-member input{min-width:0}.appointment-new-hint{font-size:12px;color:var(--ink-faint)}.appointment-errors{margin:0;font-size:12px;color:var(--red-text)}.appointment-board{min-width:0}.appointment-empty{margin:0;padding:8px 0}.appointment-footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--line)}.dual-trend{position:relative;width:100%;touch-action:pan-y}.dual-trend svg{display:block;overflow:visible}.dual-trend-legend{position:absolute;right:0;top:-4px;z-index:2;display:flex;gap:14px;font-size:11px;color:var(--ink-soft);pointer-events:none}.dual-trend-legend span{display:inline-flex;align-items:center;gap:5px}.dual-trend-legend i{width:14px;height:0;border-top:2px solid var(--blue)}.dual-trend-legend .is-secondary i{border-top:2px dashed var(--red)}.dual-trend-grid line{stroke:var(--line-strong);stroke-dasharray:1 5;stroke-linecap:round}.dual-trend-axis text{font-family:var(--font-mono);font-size:10px;fill:var(--ink-faint);font-variant-numeric:tabular-nums}.dual-trend-line{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.dual-trend-line.is-primary{stroke:var(--blue)}.dual-trend-line.is-secondary{stroke:var(--red);stroke-width:1.7;stroke-dasharray:4 4;opacity:.85}.dual-trend-area{opacity:.92}.dual-trend-stop{stop-color:var(--blue)}.dual-trend-cursor{stroke:var(--tick-strong);stroke-dasharray:2 3}.dual-trend-dot.is-primary{fill:var(--surface-solid);stroke:var(--blue);stroke-width:2.4}.dual-trend-dot.is-secondary{fill:var(--surface-solid);stroke:var(--red);stroke-width:2}.dual-trend-tip{position:absolute;z-index:5;display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:var(--r-md);font-size:11.5px;pointer-events:none}.dual-trend-tip .eyebrow{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint)}.dual-trend-tip-row{display:flex;align-items:center;gap:6px}.dual-trend-tip-row b{margin-left:auto;font-size:12.5px;color:var(--ink)}.dual-trend-tip-row i{width:10px;height:0;border-top:2px solid var(--blue)}.dual-trend-tip-row i.is-secondary{border-top:2px dashed var(--red)}.stage{position:relative;min-height:100dvh;padding:8px;overflow:clip;background:var(--stage)}.app-frame{position:relative;height:calc(100dvh - 16px);min-height:560px;display:grid;grid-template-columns:var(--rail-w) minmax(0,1fr);overflow:clip;border:10px solid var(--frame);border-radius:38px;background:radial-gradient(55% 45% at 92% 0%,var(--ambient-a),transparent 70%),radial-gradient(45% 40% at 20% 100%,var(--ambient-b),transparent 70%),var(--canvas);box-shadow:0 24px 70px #11171b3d,0 3px 12px #11171b29}.app-frame.is-collapsed{--rail-w: 76px}.app-frame.is-shell-pending .rail-brand,.app-frame.is-shell-pending .nav-group,.app-frame.is-shell-pending .topbar>*{opacity:0}.rail{position:relative;z-index:5;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line-strong)}.rail-brand{display:flex;align-items:center;gap:11px;height:var(--topbar-h);padding:0 18px;flex:none}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--r-sm);flex:none;color:#fff;background:var(--dark-surface);box-shadow:0 1px 3px #0e121429,0 6px 16px #0e121429,inset 0 1px #ffffff1f}.brand-mark .brand-dot{width:9px;height:9px;border-radius:999px;background:var(--lime);box-shadow:0 0 0 4px #82dd2d33,0 0 12px #82dd2d99}.brand-text{min-width:0;overflow:hidden}.brand-name{font-size:15px;font-weight:720;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-sub{font-size:10px;letter-spacing:.08em;color:var(--ink-soft);white-space:nowrap;text-transform:uppercase}.rail-nav{position:relative;flex:1;min-height:0;overflow-y:auto;overflow-x:clip;padding:8px 12px 16px}.nav-group+.nav-group{margin-top:14px}.nav-group-title{padding:6px 10px;font-size:11px;font-weight:650;letter-spacing:.06em;color:var(--ink-faint);white-space:nowrap}.nav-list{position:relative;display:flex;flex-direction:column;gap:2px}.nav-thumb{position:absolute;left:12px;right:12px;top:0;height:38px;border-radius:var(--r-sm);z-index:0;pointer-events:none;animation:fade-in .24s ease both}.nav-item{position:relative;z-index:1;display:flex;align-items:center;gap:11px;width:100%;height:38px;padding:0 11px;border-radius:var(--r-sm);font-size:13px;font-weight:560;color:var(--ink-muted);text-align:left;white-space:nowrap;transform-origin:50% 60%;transition:color .2s ease,opacity .2s ease}.nav-item .nav-ico{color:var(--ink-soft);transition:color .2s ease}.nav-item:hover{color:var(--ink)}.nav-item.is-active{color:var(--ink);font-weight:650}.nav-item.is-active .nav-ico{color:var(--blue)}.nav-item:focus-visible{outline-offset:-2px}.nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}@media(hover:hover){.nav-list:has(.nav-item:hover) .nav-item:not(:hover):not(.is-active){opacity:.62}}.rail-foot{padding:10px 12px 14px;border-top:1px solid var(--line);flex:none}.app-frame.is-collapsed .brand-text,.app-frame.is-collapsed .nav-label,.app-frame.is-collapsed .nav-group-title,.app-frame.is-collapsed .rail-foot .nav-label{display:none}.app-frame.is-collapsed .rail-brand{padding:0;justify-content:center}.app-frame.is-collapsed .nav-item{justify-content:center;padding:0}.app-frame.is-collapsed .nav-group+.nav-group{margin-top:6px;padding-top:6px}.workspace{position:relative;min-width:0;min-height:0;display:grid;grid-template-rows:var(--topbar-h) minmax(0,1fr)}.topbar{position:relative;z-index:2;display:flex;align-items:center;gap:10px;padding:0 20px 0 14px;border-bottom:1px solid var(--line);min-width:0}.topbar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:0;background:var(--rail-bg);box-shadow:0 1px 0 var(--line-strong),0 10px 26px rgba(var(--shade),.07);transition:opacity .3s ease}.workspace.is-scrolled .topbar:before{opacity:1}.topbar .spacer{flex:1}.crumbs{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-soft);min-width:0;white-space:nowrap}.crumbs .crumb-current{color:var(--ink);font-weight:620}.crumbs .crumb-sep{color:var(--ink-faint)}.top-entry{position:relative;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:var(--r-sm);font-size:12.5px;font-weight:560;color:var(--ink-soft);white-space:nowrap;cursor:pointer;transition:color .18s ease,background-color .18s ease}.top-entry:hover{color:var(--ink);background:var(--hover-bg)}.top-entry:active{transform:translateY(.5px)}.top-entry .entry-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:rgb(var(--graph-danger));color:#fff;font-size:10.5px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--stage)}.cmd-trigger{display:inline-flex;align-items:center;gap:8px;width:240px;height:34px;padding:0 8px 0 11px;border-radius:var(--r-sm);font-size:12.5px;color:var(--ink-faint);transition:box-shadow .2s ease,border-color .2s ease}.cmd-trigger .cmd-text{flex:1;text-align:left}.kbd{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:6px;font-size:11px;font-weight:600;color:var(--ink-soft);border:1px solid var(--line-strong);background:var(--input-bg)}.user-chip{display:inline-flex;align-items:center;gap:9px;height:40px;padding:0 10px 0 4px;border-radius:999px;transition:background .2s ease}.user-chip:hover{background:var(--hover-bg)}.user-chip .user-name{font-size:12.5px;font-weight:640;line-height:1.2;text-align:left}.user-chip .user-role{font-size:11px;color:var(--ink-soft);line-height:1.2;text-align:left}.menu-pop{position:fixed;z-index:120;min-width:220px;padding:6px;border-radius:var(--r-md)}.menu-pop .menu-head{padding:10px 10px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}.menu-pop .menu-item{display:flex;align-items:center;gap:10px;width:100%;height:36px;padding:0 10px;border-radius:var(--r-xs);font-size:13px;color:var(--ink);text-align:left;transition:background .15s ease,color .15s ease}.menu-pop .menu-item:hover{background:var(--hover-bg)}.menu-pop .menu-item.is-danger{color:var(--red-text)}.settings-chip{padding:0 12px}.settings-chip .settings-caret{color:var(--ink-faint)}.settings-chip[aria-expanded=true]{color:var(--ink);background:var(--hover-bg)}.settings-pop{min-width:236px;max-height:min(70vh,520px);overflow-y:auto}.settings-pop .settings-sect+.settings-sect{margin-top:6px;padding-top:6px;border-top:1px solid var(--line)}.settings-pop .settings-sect-title{padding:6px 10px 4px;font-size:11px;font-weight:650;letter-spacing:.06em;color:var(--ink-faint);white-space:nowrap}.settings-pop .menu-item .settings-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-pop .menu-item.is-active{font-weight:650;background:var(--hover-bg)}.settings-pop .settings-check{color:var(--blue)}.settings-pop--sheet{min-width:0;max-height:none;overflow:visible}.settings-pop--sheet .settings-sect+.settings-sect{margin-top:8px;padding-top:8px}.settings-item--sheet{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:var(--ink);font-size:15px;text-align:left;cursor:pointer}.settings-item--sheet:active{background:var(--hover-bg)}.settings-item--sheet>span{flex:1}.settings-item--sheet .settings-check{color:var(--blue);flex:none}.content{position:relative;min-height:0;overflow-y:auto;overflow-x:clip;overscroll-behavior:contain}.route-host{transform-origin:50% 0}.page{padding:26px 28px 40px;transform-origin:50% 0;contain:layout paint}.page.is-motion-pending .reveal{opacity:0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin-bottom:20px}.page-head-main{min-width:0;display:flex;flex-direction:column}.page-head-side{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.page-title{font-size:28px;font-weight:740;line-height:1.15;letter-spacing:-.03em;text-wrap:balance}.page-desc{margin-top:6px;max-width:680px;font-size:13px;color:var(--ink-muted);text-wrap:pretty}.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:16px}.search-form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px 16px;padding:16px 20px;border-radius:var(--r-lg)}.search-form .field{width:200px}.search-form .field.is-wide{width:260px}.search-form .search-field{display:inline-flex;align-items:center;flex:none;width:172px}.search-form .search-field>*{width:100%}.search-form .search-actions{display:flex;gap:8px;margin-left:auto}.search-mobile-bar{display:flex;align-items:center;gap:8px}.search-mobile-open{flex:1;min-width:0;height:36px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-soft);font-size:12px;cursor:pointer}.search-mobile-open:active{background:var(--hover-bg)}.search-mobile-open b{font-weight:650;color:var(--blue)}.search-mobile-bar .btn{flex:none}.list-side-open{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;align-self:flex-start;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-soft);font-size:12px;cursor:pointer}.list-side-open:active{background:var(--hover-bg)}.search-form.search-form-sheet{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:0;border-radius:0;background:transparent;box-shadow:none}.search-form.search-form-sheet .field,.search-form.search-form-sheet .field.is-wide,.search-form.search-form-sheet .search-field,.search-form.search-form-sheet .search-filter{width:100%}.search-form.search-form-sheet .search-filter .select-trigger{width:100%;max-width:none;display:flex}.split{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}.split-side{position:sticky;top:0;border-radius:var(--r-lg);padding:14px 10px;max-height:calc(100dvh - 140px);overflow-y:auto}.split-side-head{padding:2px 8px 10px}@media(max-width:1180px){.app-frame:not(.is-collapsed){--rail-w: 208px}.cmd-trigger{width:200px}}@media(max-width:1080px){.cmd-trigger{width:34px;padding:0;justify-content:center}.cmd-trigger .cmd-text,.cmd-trigger .kbd,.user-chip .user-meta{display:none}.settings-chip{padding:0 10px}.settings-chip .settings-label,.settings-chip .settings-caret{display:none}.split{grid-template-columns:minmax(0,1fr)}.split-side{position:static;max-height:280px}}.ai-page{display:flex;gap:16px;padding:18px 20px 22px;box-sizing:border-box;height:calc(100dvh - var(--topbar-h));min-height:520px}.ai-side{width:236px;flex:none;display:flex;flex-direction:column;gap:10px;min-height:0;padding:12px 10px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}.ai-new{display:flex;align-items:center;justify-content:center;gap:6px;height:38px;flex:none;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.ai-new:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.ai-conv-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:1px;padding-right:2px}.ai-conv-empty{margin:8px 6px;font-size:12.5px;color:var(--ink-faint)}.ai-conv-group{margin:12px 8px 4px;font-size:11px;font-weight:600;color:var(--ink-faint);letter-spacing:.04em}.ai-conv-group:first-child{margin-top:2px}.ai-conv{position:relative;display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;border:0;border-radius:var(--r-xs);background:transparent;color:var(--ink-muted);font-size:13px;text-align:left;cursor:pointer;transition:background .12s ease,color .12s ease}.ai-conv:hover{background:var(--hover-bg);color:var(--ink)}.ai-conv.is-active{background:var(--blue-soft);color:var(--ink);font-weight:600}.ai-conv-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-conv-time{flex:none;font-size:11px;color:var(--ink-faint)}.ai-conv.is-active .ai-conv-time{display:none}.ai-conv-del{flex:none;display:none;width:20px;height:20px;border-radius:var(--r-xs);align-items:center;justify-content:center;color:var(--ink-faint)}.ai-conv:hover .ai-conv-del{display:inline-flex}.ai-conv-del:hover{color:var(--red-text);background:var(--red-soft)}.ai-conv-rename{width:100%;padding:2px 6px;font:inherit;font-size:13px;color:var(--ink);border:1px solid var(--blue);border-radius:var(--r-xs);background:var(--surface)}.ai-side-foot{margin:0;padding:2px 4px;font-size:10.5px;color:var(--ink-faint);text-align:center}.ai-main{flex:1;min-width:0;display:flex;flex-direction:column;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);overflow:hidden}.ai-main-head{display:flex;align-items:center;gap:12px;padding:14px 22px;border-bottom:1px solid var(--line);flex:none}.ai-main-title{margin:0;font-size:14.5px;font-weight:600;color:var(--ink);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-head-tools{display:flex;align-items:center;gap:8px;flex:none}.ai-effort{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-faint)}.ai-effort select{height:30px;padding:0 10px;font:inherit;font-size:12.5px;color:var(--ink);border:1px solid var(--line);border-radius:999px;background:var(--surface);cursor:pointer}.ai-effort select:hover:not(:disabled){border-color:var(--blue)}.ai-stream{flex:1;min-height:0;overflow-y:auto;padding:24px 28px 16px;display:flex;flex-direction:column;gap:20px}.ai-blank{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:var(--ink-soft)}.ai-blank-title{margin:0;font-size:19px;font-weight:660;color:var(--ink);letter-spacing:-.01em}.ai-blank-hint{margin:0;font-size:12.5px;color:var(--ink-faint)}.ai-skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;width:100%;max-width:720px;margin-top:14px}.ai-skill-card{display:flex;flex-direction:column;gap:4px;padding:13px 15px;text-align:left;cursor:pointer;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.ai-skill-card:hover{border-color:var(--blue);transform:translateY(-1px);box-shadow:var(--e2, var(--e3))}.ai-skill-card-name{font-size:13.5px;font-weight:600;color:var(--ink)}.ai-skill-card-desc{font-size:11.5px;color:var(--ink-faint);line-height:1.5}.ai-msg{display:flex;gap:10px;max-width:84%;align-items:flex-start}.ai-msg.user{align-self:flex-end;justify-content:flex-end}.ai-avatar{flex:none;width:26px;height:26px;border-radius:50%;margin-top:2px;display:inline-flex;align-items:center;justify-content:center;background:var(--blue-soft);color:var(--blue)}.ai-msg p{margin:0;white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.72}.ai-msg.user p{background:var(--blue);color:#fff;padding:10px 15px;border-radius:14px 14px 4px;max-width:100%}.ai-msg.assistant p{background:transparent;color:var(--ink);padding:0;border-radius:0}.ai-composer{flex:none;display:flex;flex-direction:column;gap:8px;margin:0 20px 6px;padding:10px 12px 8px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--e1, none)}.ai-skill{padding:4px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-muted);font-size:12px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.ai-skill:hover:not(:disabled){color:var(--blue);border-color:var(--blue);background:var(--blue-soft)}.ai-composer-row{display:flex;align-items:flex-end;gap:8px}.ai-attach{flex:none;width:34px;height:34px;border:0;border-radius:var(--r-xs);background:transparent;color:var(--ink-faint);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.ai-attach:hover:not(:disabled){color:var(--blue);background:var(--blue-soft)}.ai-composer textarea{flex:1;resize:none;min-height:52px;max-height:150px;padding:8px 4px;font:inherit;font-size:13.5px;border:0;background:transparent;color:var(--ink);line-height:1.6}.ai-composer textarea:focus{outline:none}.ai-composer textarea::placeholder{color:var(--ink-faint)}.ai-send{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;flex:none;cursor:pointer;border:0;border-radius:var(--r-sm);background:var(--blue);color:#fff;font-size:13px;font-weight:600;transition:opacity .15s ease}.ai-send:hover:not(:disabled){opacity:.92}.ai-send:disabled{opacity:.35;cursor:not-allowed}.ai-stop{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;flex:none;cursor:pointer;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-muted);font-size:13px;font-weight:600}.ai-note{flex:none;margin:0;padding:0 24px 12px;font-size:11px;color:var(--ink-faint);text-align:center}.ai-pending-item{position:relative;width:52px;height:52px;border-radius:var(--r-xs);overflow:hidden;border:1px solid var(--line)}@media(max-width:900px){.ai-page{height:auto;min-height:0;flex-direction:column}.ai-side{width:auto;max-height:190px}.ai-main{min-height:64vh}.ai-msg{max-width:94%}.ai-stream{padding:16px}.ai-composer{margin:0 12px 6px}}.ai-md{font-size:13px;line-height:1.72;color:var(--ink);word-break:break-word}.ai-md>:first-child{margin-top:0}.ai-md>:last-child{margin-bottom:0}.ai-md p{margin:0 0 8px}.ai-md h1,.ai-md h2,.ai-md h3,.ai-md h4{margin:14px 0 8px;font-weight:660;line-height:1.4}.ai-md h1{font-size:16px}.ai-md h2{font-size:15px}.ai-md h3{font-size:14px}.ai-md h4{font-size:13px}.ai-md ul,.ai-md ol{margin:0 0 8px;padding-left:20px}.ai-md li{margin:3px 0}.ai-md strong{font-weight:660}.ai-md code{padding:1px 5px;border-radius:var(--r-xs);font-size:12.5px;background:var(--blue-soft);color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ai-md pre{margin:0 0 10px;padding:10px 12px;overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm)}.ai-md pre code{padding:0;background:transparent;font-size:12.5px}.ai-md blockquote{margin:0 0 10px;padding:6px 12px;border-left:3px solid var(--line);color:var(--ink-muted);background:var(--surface)}.ai-md hr{margin:12px 0;border:0;border-top:1px solid var(--line)}.ai-md a{color:var(--blue);text-decoration:none}.ai-md a:hover{text-decoration:underline}.ai-md-table-wrap{position:relative;margin:0 0 10px;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-sm)}.ai-md table{width:100%;border-collapse:collapse;font-size:12px;min-width:320px}.ai-md th,.ai-md td{padding:7px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);white-space:normal;word-break:break-word}.ai-md th{background:var(--surface);font-weight:660;color:var(--ink-muted);white-space:nowrap}.ai-md td{color:var(--ink)}.ai-md tr:last-child td{border-bottom:0}.ai-md tbody tr:hover td{background:var(--hover-bg)}.ai-md-csv{position:absolute;top:4px;right:4px;z-index:1;padding:2px 8px;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--surface);color:var(--ink-faint);font-size:11px;cursor:pointer;opacity:0;transition:opacity .15s ease}.ai-md-table-wrap:hover .ai-md-csv{opacity:1}.ai-md-csv:hover{color:var(--blue);border-color:var(--blue)}.ai-msg-tools{display:flex;gap:6px;margin-top:6px}.ai-msg-tool{padding:2px 8px;border:1px solid var(--line);border-radius:var(--r-xs);background:transparent;color:var(--ink-faint);font-size:11.5px;cursor:pointer}.ai-msg-tool:hover{color:var(--blue);border-color:var(--blue)}.ai-skills{display:flex;flex-wrap:wrap;gap:6px}.ai-skill{padding:4px 11px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink-muted);font-size:12px;cursor:pointer;transition:color .15s ease,border-color .15s ease}.ai-skill:hover:not(:disabled){color:var(--blue);border-color:var(--blue)}.ai-skill:disabled{opacity:.45;cursor:not-allowed}.ai-stop{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 16px;flex:none;cursor:pointer;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-muted);font-size:13px;font-weight:600}.ai-stop:hover{color:var(--red-text);border-color:var(--red)}.ai-inline-error{margin:8px 0 0!important;padding:8px 11px!important;border:1px solid var(--red)!important;border-radius:var(--r-sm)!important;background:var(--red-soft)!important;color:var(--red-text)!important;font-size:12.5px!important}.ai-to-bottom{position:sticky;bottom:8px;align-self:center;margin-top:-8px;display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-muted);font-size:12px;cursor:pointer;box-shadow:var(--e2, var(--e3))}.ai-msg-image-btn{padding:0;border:0;background:transparent;cursor:zoom-in}.ai-streaming{white-space:pre-wrap}.ai-caret{display:inline-block;width:7px;height:15px;margin-left:2px;vertical-align:-2px;background:var(--blue);border-radius:1px;animation:ai-caret-blink 1s steps(1) infinite}@keyframes ai-caret-blink{0%,50%{opacity:1}51%,to{opacity:0}}.ai-effort{display:inline-flex;align-items:center;gap:6px;margin-left:auto;flex:none;font-size:12px;color:var(--ink-soft)}.ai-effort select{height:28px;padding:0 8px;font:inherit;font-size:12.5px;color:var(--ink);border:1px solid var(--line);border-radius:var(--r-xs);background:var(--surface);cursor:pointer}.ai-effort select:disabled{opacity:.5;cursor:not-allowed}.ai-pending-strip{flex:none;margin:0 20px 6px;padding:10px 12px;border:1px solid var(--amber, #e9a82e);border-radius:var(--r-md);background:var(--amber-soft, rgba(233,168,46,.12));display:flex;flex-direction:column;gap:6px}.ai-pending-strip-head{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--amber-text, #a96a08)}.ai-pending-strip-item{display:flex;align-items:center;gap:8px}.ai-pending-strip-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--ink)}.ai-pending-strip-time{flex:none;font-size:10.5px;color:var(--ink-faint)}.ai-pending-strip-item .ai-btn-primary,.ai-pending-strip-item .ai-btn-ghost{height:26px;padding:0 10px;font-size:11.5px}.ai-kb{display:flex;flex-direction:column;gap:12px}.ai-kb-head{display:flex;align-items:center;gap:10px}.ai-kb-hint{font-size:11.5px;color:var(--ink-faint)}.ai-kb-list{display:flex;flex-direction:column;gap:6px;max-height:340px;overflow-y:auto}.ai-kb-empty{margin:4px 0;font-size:12.5px;color:var(--ink-faint)}.ai-kb-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}.ai-kb-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.ai-kb-title{font-size:12.5px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-kb-sub{font-size:11px;color:var(--ink-faint)}.ai-kb-del{flex:none;padding:3px 10px;border:1px solid var(--line);border-radius:var(--r-xs);background:transparent;color:var(--ink-faint);font-size:11.5px;cursor:pointer}.ai-kb-del:hover{color:var(--red-text);border-color:var(--red)}.ai-context{width:216px;flex:none;display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);overflow-y:auto}.ai-context-title{margin:0 0 2px;font-size:11px;font-weight:600;color:var(--ink-faint);letter-spacing:.04em}.ai-context-row{display:flex;flex-direction:column;gap:1px}.ai-context-label{font-size:10.5px;color:var(--ink-faint)}.ai-context-value{font-size:12.5px;color:var(--ink);font-weight:600}.ai-context-hint{margin:2px 0 0;font-size:11px;color:var(--ink-muted);line-height:1.5}.ai-context-focus{display:inline-flex;align-items:center;gap:6px}.ai-context-clear{padding:0 5px;border:1px solid var(--line);border-radius:var(--r-xs);background:transparent;color:var(--ink-faint);font-size:10px;cursor:pointer}.ai-context-clear:hover{color:var(--red-text);border-color:var(--red)}.ai-context-stores{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.ai-context-store{padding:2px 7px;border-radius:999px;font-size:10.5px;color:var(--ink-muted);background:var(--blue-soft);border:1px solid transparent}.ai-context-tip{margin:auto 0 0;font-size:10.5px;color:var(--ink-faint);line-height:1.6}.ai-context-toggle{flex:none;width:30px;height:30px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-faint);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.ai-context-toggle:hover{color:var(--blue);border-color:var(--blue)}@media(max-width:1200px){.ai-context,.ai-context-toggle{display:none}}.ai-pending-actions{display:flex;flex-direction:column;gap:8px;margin:10px 0 4px}.ai-pending-action{max-width:420px;padding:12px 14px;border:1px solid var(--amber, #e9a82e);border-radius:var(--r-md);background:var(--amber-soft, rgba(233,168,46,.12))}.ai-pending-action-head{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--amber-text, #a96a08)}.ai-pending-action-summary{margin:6px 0 10px;font-size:12.5px;color:var(--ink);line-height:1.6}.ai-pending-action-btns{display:flex;gap:8px}.ai-btn-primary{height:30px;padding:0 14px;border:0;border-radius:var(--r-xs);cursor:pointer;background:var(--blue);color:#fff;font-size:12.5px;font-weight:600}.ai-btn-primary:hover{opacity:.92}.ai-btn-ghost{height:30px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-xs);cursor:pointer;background:var(--surface);color:var(--ink-muted);font-size:12.5px}.ai-btn-ghost:hover{color:var(--ink)}.ai-pending-action-done,.ai-pending-action-cancelled{margin:0;font-size:12.5px}.ai-pending-action-done{color:var(--leaf-text, #58a021)}.ai-pending-action-cancelled{color:var(--ink-faint)}.ai-artifacts{display:flex;flex-direction:column;gap:8px;margin:10px 0 6px}.ai-artifact{display:flex;align-items:center;gap:10px;max-width:340px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);text-decoration:none;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.ai-artifact:hover{border-color:var(--blue);box-shadow:var(--e1, none);transform:translateY(-1px)}.ai-artifact-icon{flex:none;width:30px;height:30px;border-radius:var(--r-xs);display:inline-flex;align-items:center;justify-content:center;background:var(--blue-soft);color:var(--blue)}.ai-artifact-meta{display:flex;flex-direction:column;gap:1px;min-width:0}.ai-artifact-name{font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-artifact-size{font-size:11px;color:var(--ink-faint)}.ai-steps{margin-bottom:8px}.ai-steps-toggle{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:transparent;color:var(--ink-faint);font-size:11.5px;cursor:pointer}.ai-steps-toggle:hover{color:var(--blue)}.ai-steps-list{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px}.ai-steps-list li{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-muted)}.ai-step-dot{width:6px;height:6px;border-radius:50%;flex:none;background:var(--lime, #82dd2d)}.ai-steps-list li.is-running .ai-step-dot{background:var(--blue);animation:ai-step-pulse 1s ease-in-out infinite}.ai-steps-list li.is-fail .ai-step-dot{background:var(--red)}.ai-steps-list li.is-fail .ai-step-label{color:var(--red-text)}.ai-step-label{min-width:0}.ai-step-cost{color:var(--ink-faint);font-size:11px}@keyframes ai-step-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}.ai-reasoning{margin-bottom:6px}.ai-reasoning-toggle{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:transparent;color:var(--ink-faint);font-size:11.5px;cursor:pointer}.ai-reasoning-toggle:hover{color:var(--blue)}.ai-reasoning-body{margin:6px 0 0!important;padding:9px 11px!important;border-left:2px solid var(--line)!important;background:transparent!important;border-radius:0!important;color:var(--ink-soft)!important;font-size:12.5px!important;line-height:1.7!important;white-space:pre-wrap;word-break:break-word}.ai-msg{display:flex;max-width:78%}.ai-msg.user{align-self:flex-end}.ai-msg-bubble{min-width:0}.ai-msg p{margin:0;white-space:pre-wrap;word-break:break-word;font-size:13.5px;line-height:1.75}.ai-msg.user p{background:var(--blue);color:#fff;padding:10px 14px;border-radius:var(--r-sm) var(--r-sm) 4px var(--r-sm)}.ai-msg.assistant p{background:var(--surface);border:1px solid var(--line);color:var(--ink);padding:12px 15px;border-radius:var(--r-sm) var(--r-sm) var(--r-sm) 4px}.ai-typing{color:var(--ink-soft)!important;font-style:italic}.ai-composer{flex:none;display:flex;flex-direction:column;gap:8px;padding:12px 20px 4px;border-top:1px solid var(--line)}.ai-composer-row{display:flex;align-items:flex-end;gap:10px}.ai-attach{flex:none;width:40px;height:40px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.ai-attach:hover{border-color:var(--blue);color:var(--blue)}.ai-attach:disabled{opacity:.45;cursor:not-allowed}.ai-pending{display:flex;gap:8px;flex-wrap:wrap}.ai-pending-item{position:relative;width:56px;height:56px;border-radius:var(--r-xs);overflow:hidden;border:1px solid var(--line)}.ai-pending-item img{width:100%;height:100%;object-fit:cover;display:block}.ai-pending-item button{position:absolute;top:2px;right:2px;width:17px;height:17px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:#00000094;color:#fff;cursor:pointer}.ai-msg-images{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.ai-msg-images img{max-width:220px;max-height:180px;border-radius:var(--r-xs);border:1px solid var(--line);display:block}.ai-composer textarea{flex:1;resize:none;min-height:54px;max-height:150px;padding:11px 13px;font:inherit;font-size:13.5px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink)}.ai-composer textarea:focus{outline:2px solid var(--focus);outline-offset:-1px}.ai-send{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 16px;flex:none;cursor:pointer;border:0;border-radius:var(--r-sm);background:var(--blue);color:#fff;font-size:13px;font-weight:600}.ai-send:disabled{opacity:.45;cursor:not-allowed}.ai-note{flex:none;margin:0;padding:8px 20px 12px;font-size:11.5px;color:var(--ink-faint)}@media(max-width:900px){.ai-page{height:auto;min-height:0;flex-direction:column}.ai-side{width:auto;max-height:180px}.ai-main{min-height:62vh}.ai-msg{max-width:92%}}.login{position:relative;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(18px,3vh,32px);padding:calc(28px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));overflow:hidden;background:#1b2a1e}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.login-veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,#070c16d1 0,#101c3080 48%,#7896be29)}.login-stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:clamp(18px,3vh,32px);width:100%}.login.is-intro-pending .login-dial,.login.is-intro-pending .login-card{opacity:0}.login-dial{position:relative;flex:none;width:clamp(200px,21vw,300px);aspect-ratio:1}.login-dial svg{width:100%;height:100%;overflow:visible;display:block}.dial-tick{stroke:#ffffff6b;stroke-width:.7;stroke-linecap:round;transition:stroke .35s ease}.dial-tick.is-major{stroke-width:1.15;stroke:#ffffffe0}.dial-tick.is-on{stroke:var(--lime)}.dial-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.dial-time{font-family:var(--font-mono);font-size:clamp(24px,2.6vw,34px);font-weight:650;letter-spacing:-.02em;color:#fff}.dial-date{font-family:var(--font-mono);font-size:10.5px;letter-spacing:var(--track-eyebrow);color:#ffffffb8}.login-card{position:relative;width:min(420px,100%);border-radius:var(--r-xl);border:1px solid rgba(255,255,255,.34);background:#ffffffeb;backdrop-filter:blur(18px) saturate(1.1);-webkit-backdrop-filter:blur(18px) saturate(1.1);box-shadow:0 30px 70px #00000052,inset 0 1px #ffffffb3;color:var(--ink)}.login-card-inner{position:relative;z-index:1;padding:32px 32px 30px}.login-card-title{margin-top:8px;font-size:26px;font-weight:740;letter-spacing:-.03em}.login-card-sub{margin-top:4px;font-size:13px;color:var(--ink-soft)}.login-form{display:flex;flex-direction:column;gap:16px;margin-top:24px}.login-form .input-shell{height:42px}.captcha-row{display:flex;gap:10px}.captcha-row .input-shell{flex:1}.captcha-box{width:116px;height:42px;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--ink-soft);flex:none}.captcha-code{display:inline-flex;gap:4px;font-family:var(--font-mono);font-size:20px;font-weight:700;color:var(--ink);letter-spacing:.02em}.captcha-code span{display:inline-block}.login-options{display:flex;align-items:center;justify-content:space-between}.login-error{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:var(--r-sm);font-size:12.5px;color:var(--red-text);background:var(--red-soft)}.login-submit-slot{display:flex;justify-content:center;margin-top:4px;min-height:46px}.login-submit{height:46px;font-size:14px;border-radius:var(--r-md)}.tenant-picker{display:flex;flex-direction:column;gap:14px;margin-top:24px}.tenant-picker-hint{font-size:13px;color:var(--ink-soft)}.tenant-picker-hint strong{color:var(--ink);font-weight:600}.tenant-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin:0;padding:0;max-height:268px;overflow-y:auto}.tenant-card{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.tenant-card:hover{border-color:var(--line-strong, var(--line))}.tenant-card.is-selected{border-color:var(--blue);background:var(--blue-soft, var(--surface))}.tenant-badge{flex:none;width:38px;height:38px;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:650;color:var(--blue);background:var(--blue-soft, var(--surface))}.tenant-card.is-selected .tenant-badge{color:var(--surface);background:var(--blue)}.tenant-meta{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.tenant-name{font-size:14px;font-weight:620;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-check{flex:none;display:inline-flex;width:16px;color:var(--blue)}.tenant-back{align-self:center;border:0;background:none;padding:4px 8px;font-size:12.5px;color:var(--ink-soft);cursor:pointer}.tenant-back:hover{color:var(--ink)}.success-orb{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:999px;color:#fff;background:var(--blue);box-shadow:var(--e-accent)}.success-orb svg{flex:none}.success-orb circle{fill:none;stroke:#ffffff8c;stroke-width:2.4;transform:rotate(-90deg);transform-origin:50% 50%}.success-orb path{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.login-foot{position:absolute;right:22px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:1;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;color:#ffffff8c}.tag.is-ok{color:var(--leaf-text);background:var(--lime-soft)}.tag.is-warn{color:var(--amber-text);background:var(--amber-soft)}@media(max-height:800px)and (min-width:961px){.login{gap:18px;padding-top:20px;padding-bottom:20px}.login-dial{width:clamp(150px,16vw,210px)}.login-card-inner{padding:24px 26px 22px}.login-card-sub{display:none}.login-form{margin-top:18px;gap:13px}}@media(max-width:960px){.login{padding:calc(22px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom));gap:16px;justify-content:flex-start}.login-stage{gap:16px}.login-dial{width:148px}.dial-time{font-size:22px}.dial-date{font-size:8.5px}.login-card{width:100%;max-width:460px;border-radius:var(--r-lg)}.login-card-inner{padding:22px 18px 20px}.login-card-title{font-size:22px}.login-form .input-shell{height:46px}.captcha-box{width:96px;height:46px}.login-submit{height:48px;font-size:15px}.login-foot{position:static;margin-top:4px}}@media(prefers-reduced-motion:reduce){.dial-tick{transition:none}}.bento-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.bento{position:relative;min-width:0;padding:20px 22px;border-radius:var(--r-xl);border:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--edge),var(--e1)}.bento>:not(.glow-layer){position:relative;z-index:1}.bento-hero{grid-column:span 8;grid-row:span 2;display:flex;flex-direction:column;gap:14px;overflow:hidden}.bento-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.bento-meta{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);white-space:nowrap;padding-top:2px}.bento-hero{border-color:var(--glass-line);background:radial-gradient(120% 90% at 0% 0%,rgba(130,221,45,.26),transparent 58%),radial-gradient(90% 80% at 100% 100%,rgba(255,255,255,.9),transparent 60%),linear-gradient(150deg,#eef8e2,#f8fbf6 55%,#fbfcfb);box-shadow:var(--edge-strong),var(--e2)}:root[data-theme=dark] .bento-hero{background:radial-gradient(120% 90% at 0% 0%,rgba(130,221,45,.16),transparent 58%),linear-gradient(150deg,#1b2316,#171b1c 60%,#15191a)}.hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.pill-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border-radius:999px;font-size:12.5px;font-weight:640;color:var(--ink);border:1px solid var(--line-strong);background:#ffffffb8;box-shadow:var(--edge);transition:background .2s ease,box-shadow .25s ease}:root[data-theme=dark] .pill-btn{background:#ffffff0f}.pill-btn:hover:not(:disabled){box-shadow:var(--edge),var(--e1)}.pill-btn:disabled{opacity:.5}.page-date{display:block;margin-bottom:8px;font-size:12px;letter-spacing:.02em;color:var(--ink-faint)}.trend-foot{display:flex;gap:12px;margin-top:12px}.readout{flex:1;padding:12px 14px;border-radius:var(--r-md);background:var(--groove-bg)}.readout-label{display:block;font-size:11.5px;color:var(--ink-soft)}.readout-value{display:block;margin-top:4px;font-size:22px;font-weight:720;letter-spacing:-.02em}.readout-value small{font-size:13px;font-weight:600;color:var(--ink-soft);margin-left:2px}.page.is-motion-pending .bento{opacity:0}@media(max-width:1280px){.bento-hero{grid-column:1 / -1;grid-row:auto}}@media(max-width:760px){.bento-grid{gap:12px}.bento{padding:16px;border-radius:var(--r-lg)}.metric-xl .metric-figure{font-size:44px}}.drawer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.scope-list{display:flex;flex-direction:column;gap:8px}.scope-option{display:flex;align-items:flex-start;gap:12px;width:100%;padding:13px 14px;border-radius:var(--r-md);border:1px solid var(--line-strong);text-align:left;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.scope-option:hover:not(.is-on){border-color:rgba(var(--shade),.2);background:var(--hover-bg)}.scope-option.is-on{border-color:var(--glass-line)}.scope-radio{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-top:1px;border-radius:999px;border:1.5px solid rgba(var(--shade),.28);color:#fff;flex:none}.scope-option.is-on .scope-radio{background:var(--blue);border-color:var(--blue)}.scope-name{display:block;font-size:13.5px;font-weight:640}.scope-desc{display:block;margin-top:2px;font-size:12px;color:var(--ink-soft)}.pref-list{display:flex;flex-direction:column}.pref-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;flex-wrap:wrap}.pref-row+.pref-row{border-top:1px solid var(--line)}.pref-title{font-size:13.5px;font-weight:640}.pref-desc{font-size:12px;color:var(--ink-soft);margin-top:2px}.cmd-overlay{place-items:start center;padding-top:min(16vh,140px)}.cmd-panel{max-width:672px;border-radius:var(--r-xl);overflow:hidden}.cmd-input{display:flex;align-items:center;gap:10px;height:56px;padding:0 18px;border-bottom:1px solid var(--line);color:var(--ink-soft)}.cmd-input input{flex:1;border:0;background:transparent;font-size:15px;color:var(--ink);outline:none}.cmd-input input::placeholder{color:var(--ink-faint)}.cmd-results{position:relative;max-height:min(420px,56vh);overflow-y:auto;padding:6px 8px 8px}.cmd-thumb{position:absolute;left:8px;right:8px;top:0;height:44px;border-radius:var(--r-sm);pointer-events:none;z-index:0}.cmd-group{display:block;padding:10px 10px 4px}.cmd-item{position:relative;z-index:1;display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:7px 10px;border-radius:var(--r-sm);text-align:left}.cmd-ico{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--r-xs);color:var(--ink-muted);flex:none}.cmd-item.is-active .cmd-ico{color:var(--blue)}.cmd-label{font-size:13.5px;font-weight:580;white-space:nowrap}.cmd-sub{flex:1;min-width:0;font-size:12px;color:var(--ink-faint);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cmd-go{margin-left:auto;color:var(--ink-faint);opacity:0;transition:opacity .15s ease;flex:none}.cmd-item.is-active .cmd-go{opacity:1;color:var(--blue)}.cmd-foot{display:flex;align-items:center;gap:14px;padding:10px 16px;border-top:1px solid var(--line);font-size:11.5px;color:var(--ink-soft)}.cmd-foot .kbd{margin-right:3px}.cmd-foot .spacer{flex:1}.link-btn{font-weight:640;color:var(--ink);border-radius:6px;text-align:left;transition:color .2s ease}.link-btn:hover{color:var(--blue)}.row-ico{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-xs);color:var(--ink-soft);flex:none}.flag-row{display:inline-flex;gap:4px;flex-wrap:wrap}.import-search{display:flex;gap:8px;margin-bottom:12px}.import-search .input-shell{flex:1}.import-list{max-height:360px;overflow-y:auto;border-radius:var(--r-md);padding:4px}.import-row{display:flex;align-items:center;gap:12px;min-height:42px;padding:0 12px;border-radius:var(--r-sm);font-size:13px;cursor:pointer;transition:background .15s ease}.import-row:hover:not(.is-disabled){background:var(--hover-bg)}.import-row.is-on{background:var(--blue-soft)}.import-row.is-disabled{cursor:default;opacity:.6}.preview{display:grid;grid-template-columns:240px minmax(0,1fr);gap:14px;min-height:420px}.preview-files{display:flex;flex-direction:column;gap:2px;max-height:60vh;overflow-y:auto}.preview-file{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 10px;border-radius:var(--r-sm);text-align:left;transition:background .15s ease}.preview-file:hover{background:var(--hover-bg)}.preview-file.is-active{background:var(--blue-soft)}.preview-name{font-size:12.5px;font-weight:620;font-family:SF Mono,ui-monospace,Menlo,monospace}.preview-file.is-active .preview-name{color:var(--blue)}.preview-dir{font-size:10.5px;color:var(--ink-faint);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-code{display:flex;flex-direction:column;gap:8px;min-width:0}.preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.preview-code .code-block{flex:1;max-height:60vh}@media(max-width:760px){.preview{grid-template-columns:minmax(0,1fr)}.preview-files{flex-direction:row;overflow-x:auto}}.band{margin-bottom:20px;padding:20px 24px 22px;border-radius:var(--r-xl);border:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--edge),var(--e1)}.band-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;margin-bottom:18px}.band-label{margin:34px 0 14px;padding:0 4px}.band-empty{padding:36px 0;text-align:center;font-size:13px}.readout-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0}.readout-strip .metric{padding:4px 20px}.readout-strip .metric:first-child{padding-left:0}.readout-strip .metric+.metric{border-left:1px solid var(--line-strong)}.readout-strip .metric.is-alert .metric-figure{color:var(--red-text)}@media(max-width:760px){.band{padding:16px;border-radius:var(--r-lg)}.readout-strip{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}.readout-strip .metric{padding:0 12px}.readout-strip .metric:nth-child(odd){padding-left:0;border-left:0}}.dash-net{height:232px;border:0;box-shadow:none;background:none;border-radius:var(--r-lg)}.workbench .wb-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.workbench .wb-hero{grid-column:1 / 9;grid-row:1;display:flex;flex-direction:column;gap:12px;overflow:hidden}.workbench .wb-todo-card{grid-column:9 / 13;grid-row:1}.workbench .wb-quick{grid-column:1 / 9;grid-row:2;display:flex;flex-direction:column;gap:10px}.workbench .wb-approval-card{grid-column:9 / 13;grid-row:2}.workbench .wb-trend{grid-column:1 / 9;grid-row:3;display:flex;flex-direction:column}.workbench .wb-schedule{grid-column:9 / 13;grid-row:3;display:flex;flex-direction:column;min-height:320px}.workbench .wb-filters{align-items:flex-end;gap:10px}.wb-filter{display:inline-flex;flex-direction:column;gap:4px;min-width:150px}.wb-filter-label{font-size:11px;color:var(--ink-faint);letter-spacing:.04em}.wb-scope-chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line-strong);background:var(--input-bg);font-size:12.5px;color:var(--ink-soft);white-space:nowrap}.wb-hero-body{flex:1;display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:20px 26px;align-items:center}.wb-hero-figure{display:flex;flex-direction:column;gap:6px;min-width:0}.wb-hero-value{font-size:46px;font-weight:740;line-height:1.05;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.wb-hero-delta{display:flex;align-items:center;gap:8px;font-size:12px}.wb-hero-note{margin:2px 0 0;font-size:11px;color:var(--ink-faint)}.wb-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-self:stretch}.wb-kpi{padding:12px 14px;border-left:1px solid var(--line);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px;justify-content:center}.wb-kpi:nth-child(-n+3){border-top:0}.wb-kpi:nth-child(3n+1){border-left:0}.wb-kpi-label{font-size:11px;color:var(--ink-faint);white-space:nowrap}.wb-kpi-value{font-size:16px;font-weight:680;letter-spacing:-.01em}.wb-type-strip{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line);font-size:12px}.wb-type-strip-label{font-size:11px;color:var(--ink-faint);letter-spacing:.06em}.wb-type{display:inline-flex;align-items:baseline;gap:6px}.wb-type.is-refund{margin-left:auto}.wb-type.is-refund b{color:var(--red-text);font-weight:640}.wb-side{display:flex;flex-direction:column;gap:4px;min-height:0}.wb-action-card{display:flex;flex-direction:column;gap:4px;text-align:left;color:inherit;font:inherit;cursor:pointer;transition:transform .2s ease,border-color .25s ease}.wb-action-card:hover{transform:translateY(-2px);border-color:var(--glass-line)}.wb-action-card:active{transform:translateY(0)}.wb-side-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.wb-side-label{font-size:12.5px;font-weight:600;color:var(--ink-soft)}.wb-side-ico{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);color:var(--blue)}.wb-side-value{margin-top:8px;font-size:40px;font-weight:730;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.wb-side-value small{font-size:12px;font-weight:500;color:var(--ink-soft);letter-spacing:0}.wb-side-sub{font-size:12px;color:var(--ink-soft)}.wb-side-empty{flex:1;display:flex;align-items:center;font-size:12px;color:var(--ink-faint)}.wb-side-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink-soft)}.wb-todo-list{list-style:none;margin:12px 0 0;padding:12px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:9px;flex:1;min-height:0;overflow:hidden}.wb-todo-list li{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12px}.wb-todo-dot{flex:none;width:7px;height:7px;border-radius:999px;background:var(--ink-faint);align-self:center}.wb-todo-dot.is-overdue{background:var(--red-text)}.wb-todo-dot.is-today{background:var(--lime)}.wb-todo-dot.is-upcoming{background:var(--blue)}.wb-todo-dot.is-none{background:var(--ink-faint);opacity:.6}.wb-todo-time.is-overdue{color:var(--red-text);font-weight:640}.wb-audit-stage{flex:none;padding:1px 7px;border-radius:999px;font-size:10.5px;font-weight:640;color:var(--ink-soft);background:var(--hover-bg);border:1px solid var(--line)}.wb-todo-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wb-todo-time{flex:none;font-size:10.5px;color:var(--ink-faint);font-family:var(--font-mono)}.wb-progress{display:block;height:6px;margin-top:10px;border-radius:999px;background:var(--hover-bg);overflow:hidden}.wb-progress i{display:block;height:100%;border-radius:inherit;background:var(--lime);transition:width .4s var(--ease-premium)}.wb-quick-head{margin-bottom:2px}.wb-quick-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.wb-quick-tile{display:flex;align-items:center;gap:10px;min-height:60px;padding:10px 14px;border-radius:var(--r-md);border:1px solid var(--line);background:#ffffff8c;color:inherit;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .25s ease,border-color .2s ease}:root[data-theme=dark] .wb-quick-tile{background:#ffffff0d}.wb-quick-tile:hover{transform:translateY(-1px);border-color:var(--glass-line);box-shadow:var(--edge),var(--e1)}.wb-quick-tile:active{transform:translateY(0)}.wb-quick-ico{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);color:var(--blue);flex:none}.wb-quick-text{min-width:0;flex:1}.wb-quick-text b{display:block;font-size:13px;font-weight:640}.wb-quick-text small{display:block;margin-top:2px;font-size:11px;color:var(--ink-faint)}.wb-quick-tile.has-badge{position:relative;padding-right:14px}.wb-quick-badge{position:absolute;top:8px;right:10px;min-width:26px;height:20px;padding:0 7px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:11.5px;font-weight:680;line-height:1}:root[data-theme=dark] .wb-quick-badge{background:#ffffff1a;color:var(--ink)}.mine-drawer{display:flex;flex-direction:column;gap:10px;min-height:0}@media(min-width:761px){.mine-drawer{height:100%}}.mine-drawer-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 14px;padding-bottom:12px;border-bottom:1px solid var(--glass-line-soft)}.mine-drawer-field{display:inline-flex;align-items:center;width:200px;min-width:0;flex:none}.mine-drawer-field>*{width:100%}.mine-drawer-field.is-wide{width:260px}.mine-drawer-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.mine-drawer-body{flex:1;min-height:0;overflow:auto}.mine-drawer-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--glass-line-soft)}.mine-drawer-total{font-size:12.5px;color:var(--ink-soft)}.mine-drawer .is-overdue{color:var(--red-text);font-weight:600}.appt-overdue{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600;color:var(--red-text);background:color-mix(in srgb,var(--red-text) 12%,transparent)}.mine-drawer-total b{color:var(--ink);font-size:13px}.quick-order{position:relative;display:flex;flex-direction:column;gap:14px}.quick-order-tip{margin:2px 0 4px;font-size:11.5px;color:var(--ink-faint)}.quick-order-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:flex-start;justify-content:center;padding-top:40px;background:#ffffff80;border-radius:var(--r-md);font-size:12px;color:var(--ink-soft)}.wb-trend-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.wb-skeleton .bento{min-height:150px;opacity:.6;animation:wb-breathe 1.4s ease-in-out infinite}.wb-skeleton .wb-hero{min-height:320px}.wb-skeleton .wb-trend{min-height:300px}.wb-skeleton .wb-schedule{min-height:320px}@keyframes wb-breathe{0%,to{opacity:.45}50%{opacity:.7}}@media(max-width:1280px){.workbench .wb-hero,.workbench .wb-todo-card,.workbench .wb-quick,.workbench .wb-approval-card,.workbench .wb-trend,.workbench .wb-schedule{grid-column:1 / -1;grid-row:auto}}@media(max-width:760px){.workbench .wb-filters{width:100%;justify-content:flex-start}.wb-filter{min-width:0;flex:1}.wb-hero-body{grid-template-columns:minmax(0,1fr)}.wb-hero-value{font-size:38px}.wb-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wb-kpi{border-left:1px solid var(--line)}.wb-kpi:nth-child(3n+1){border-left:1px solid var(--line)}.wb-kpi:nth-child(odd){border-left:0}.wb-kpi:nth-child(-n+2){border-top:0}.wb-quick-row{grid-template-columns:1fr 1fr}}@media(max-width:820px){.stage{padding:0}.app-frame{height:100dvh;border:0;border-radius:0;grid-template-columns:minmax(0,1fr)}.rail{position:fixed;top:0;bottom:0;left:0;width:min(84vw,320px);z-index:var(--layer-overlay);transform:translate(-100%);transition:transform .26s cubic-bezier(.22,.61,.36,1);border-right:1px solid var(--line-strong);border-left:0;box-shadow:none;padding-bottom:env(safe-area-inset-bottom);background:var(--surface-solid)}.app-frame.is-rail-open .rail{transform:translate(0);box-shadow:var(--e3)}.rail-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--layer-overlay) - 1);background:var(--overlay)}.workspace{grid-column:1;grid-row:1}.rail-brand{padding:0 18px;justify-content:flex-start}.rail-nav{padding:8px 8px 12px}.nav-item{justify-content:flex-start;gap:10px;padding:0 12px;min-height:46px;height:auto}.nav-item .nav-ico{width:20px}.nav-thumb{left:8px;right:8px}.nav-group+.nav-group{margin-top:6px;padding-top:6px}.rail-toggle-btn{display:inline-flex}.topbar{gap:4px;padding:0 8px}.cmd-trigger,.appearance-btn{display:none}.top-entry{padding:0 9px}.top-entry>span:not(.entry-badge){display:none}.settings-chip .settings-label,.settings-chip .settings-caret{display:none}.top-entry .entry-badge{right:-2px}.crumbs{display:none}.page{padding:18px 12px calc(18px + env(safe-area-inset-bottom));font-size:12px}.page-title{font-size:18px}.page-head-side{width:100%;justify-content:space-between}.section-label{font-size:13px}.field-label,.faint,.soft{font-size:10.5px}.overlay.drawer-overlay{left:0;place-items:end stretch;padding:0}.drawer{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding-bottom:env(safe-area-inset-bottom)}.drawer-head{padding:14px 16px 4px}.drawer-body{padding:12px 16px 18px}.drawer-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.drawer-actions{flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:8px 12px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.drawer-actions::-webkit-scrollbar{display:none}.drawer-actions>*{flex:none}.overlay:not(.drawer-overlay):not(.mob-sheet-overlay){place-items:end center;padding:0}.overlay:not(.drawer-overlay):not(.mob-sheet-overlay) .modal{width:100%;max-width:100%;max-height:92dvh;border-radius:20px 20px 0 0}.modal{max-width:100%}.mob-sheet input:not([type=checkbox]):not([type=radio]),.mob-sheet textarea,.drawer input:not([type=checkbox]):not([type=radio]),.drawer textarea,.modal input:not([type=checkbox]):not([type=radio]),.modal textarea{font-size:16px}.mob-sheet .form-row-actions,.drawer .form-row-actions{position:sticky;bottom:0;z-index:3;margin:8px -16px -16px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--surface-solid);border-top:1px solid var(--line)}.mob-sheet .form-row-actions .btn,.drawer .form-row-actions .btn{flex:1}.btn,.btn-sm{min-height:40px;height:auto;font-size:12px}.icon-btn{width:36px;height:36px}.input-shell,.select-trigger{font-size:12px}.dp-link,.select-footer-btn{min-height:40px}.pager{flex-wrap:wrap;gap:8px;padding:10px 12px}.pager-info{font-size:11px}.pager-ctrl{gap:4px}.pager-ctrl .pg-btn[aria-label=首页],.pager-ctrl .pg-btn[aria-label=末页],.pager-ctrl .pg-btn.tnum,.pager-ctrl .pg-dots{display:none}.pager-ctrl>div[style]{width:100px!important;margin-right:0!important}.pg-btn{min-width:36px;height:36px}.pager-jump{display:inline-flex;align-items:center;gap:4px}.pager-jump-input{width:64px;height:36px;padding:0 8px;border:1px solid var(--line-strong);border-radius:var(--r-xs);background:var(--input-bg);color:var(--ink);font-size:12px}.pager-jump-input:focus{outline:2px solid var(--focus);outline-offset:1px}.search-form .field,.search-form .field.is-wide{width:100%}.search-form .search-actions{margin-left:0}.panel-tools{flex-wrap:wrap;gap:6px}.panel-tools>*{flex:0 0 auto}.panel-head{flex-wrap:wrap;gap:8px}.mobile-sort-bar{display:flex;align-items:center;gap:8px;padding:0 0 8px}.mobile-sort-bar>:first-child{flex:1 1 auto;min-width:0}.mobile-sort-dir{flex:none;display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-soft);font-size:12.5px;font-weight:620;cursor:pointer}.mobile-sort-dir:active{background:var(--hover-bg)}.mobile-card-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--glass-line-soft)}.mobile-card-actions>*{flex:none}.mobile-card-actions .icon-btn{min-width:40px;min-height:40px}.mobc-metric-main.code-chip,.mobc .code-chip{height:auto;min-height:22px;padding:2px 8px;white-space:normal;word-break:normal;overflow-wrap:anywhere;line-height:1.35;text-overflow:clip;overflow:visible;text-align:left}.follow-cell{min-height:32px;padding:5px 0}.mobc-name{min-height:24px;display:inline-flex;align-items:center}.url-cell{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%}.url-cell>.ellipsis{min-width:0;flex:1 1 auto}.table th,.table td{font-size:11px}.kv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kv-grid>div{padding:8px 10px!important}.kv-label{font-size:9.5px}.kv-value{font-size:15px}.kv-value.mono.break{word-break:break-all;white-space:normal}.detail-actions{flex-wrap:wrap;gap:6px}.imgv-stage{padding:8px 12px 12px}.imgv-nav{width:36px;height:36px}.imgv-nav.is-prev{left:8px}.imgv-nav.is-next{right:8px}.imgv-name{max-width:30vw}.book-step{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-bottom:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface-solid);font-size:12px;cursor:pointer}.book-step:active{background:var(--hover-bg)}.book-step-no{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);font-size:10.5px;font-weight:700}.book-step-name{color:var(--ink-soft)}.book-step-value{margin-left:auto;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650;color:var(--ink)}.book-step-edit{color:var(--blue);font-size:11px}.book-cal,.book-side{border:0;padding:0}.book-store{padding:8px}.book-store .section-label{display:none}.book-store-list{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;padding-bottom:2px}.book-store-item{flex:none;width:auto;max-width:160px;white-space:nowrap;padding:6px 10px}.appointment-topbar{flex-wrap:wrap;row-gap:8px}.appointment-projects{flex-basis:100%}.h5-input{height:44px;font-size:16px}.h5-form .btn,.h5-form .field+.btn{width:100%;height:44px}.login input{font-size:16px}.login-side .panel{padding:22px 16px}.page>.kv-grid>div{padding:10px 12px!important}}@media(hover:none){.tree-row .tree-actions{opacity:1!important;visibility:visible!important;pointer-events:auto!important}.board-card .board-menu-btn{opacity:1!important}}
