.notification-center[data-v-65a93f8c]{position:relative}.notification-trigger[data-v-65a93f8c]{position:relative;display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink-700);background:var(--surface);cursor:pointer}.notification-trigger[data-v-65a93f8c]:hover{color:var(--teal);border-color:var(--line-strong)}.notification-trigger[data-v-65a93f8c]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.notification-badge[data-v-65a93f8c]{position:absolute;top:-6px;right:-7px;min-width:19px;height:19px;padding:0 5px;border:2px solid var(--surface-raised);border-radius:999px;color:var(--text-on-solid);background:var(--red);font-size:10px;font-weight:800;line-height:15px}.notification-backdrop[data-v-65a93f8c]{position:fixed;z-index:240;inset:0;border:0;background:var(--scrim-soft)}.notification-panel[data-v-65a93f8c]{position:fixed;z-index:250;top:68px;right:24px;display:grid;width:min(430px,calc(100vw - 32px));max-height:min(720px,calc(100dvh - 92px));grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md)}.notification-head[data-v-65a93f8c]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 14px;border-bottom:1px solid var(--line)}.notification-head>div[data-v-65a93f8c]:first-child{display:grid;gap:2px}.notification-head>div:first-child>span[data-v-65a93f8c]{color:var(--teal);font-size:11px;font-weight:800;letter-spacing:.06em}.notification-head h2[data-v-65a93f8c]{margin:0;font-size:20px}.notification-head-actions[data-v-65a93f8c]{display:flex;align-items:center;gap:4px}.notification-body[data-v-65a93f8c]{min-height:180px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--line-strong) transparent;scrollbar-gutter:stable;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.notification-list[data-v-65a93f8c]{margin:0;padding:0;list-style:none}.notification-list li+li[data-v-65a93f8c]{border-top:1px solid var(--line)}.notification-item[data-v-65a93f8c]{display:grid;width:100%;grid-template-columns:8px minmax(0,1fr);gap:11px;padding:15px 18px;border:0;color:var(--ink-900);background:var(--surface);text-align:left;cursor:pointer}.notification-item[data-v-65a93f8c]:hover{background:var(--surface-soft)}.notification-item[data-v-65a93f8c]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.notification-item.unread[data-v-65a93f8c]{background:var(--surface-selected)}.notification-dot[data-v-65a93f8c]{width:7px;height:7px;margin-top:7px;border-radius:50%;background:var(--line-strong)}.notification-item.unread .notification-dot[data-v-65a93f8c]{background:var(--teal)}.notification-item.severity-warning.unread .notification-dot[data-v-65a93f8c]{background:var(--amber)}.notification-item.severity-critical.unread .notification-dot[data-v-65a93f8c]{background:var(--red)}.notification-copy[data-v-65a93f8c]{display:grid;min-width:0;gap:5px}.notification-copy strong[data-v-65a93f8c]{font-size:14px;line-height:1.45}.notification-copy>span[data-v-65a93f8c]:last-child{color:var(--ink-500);font-size:12px;line-height:1.55}.notification-meta[data-v-65a93f8c]{display:flex;justify-content:space-between;gap:12px;color:var(--ink-500);font-size:11px}.notification-meta>span[data-v-65a93f8c]{color:var(--teal);font-weight:750}.notification-pagination[data-v-65a93f8c]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:14px 18px 18px;border-top:1px solid var(--line)}.notification-pagination>span[data-v-65a93f8c]{color:var(--ink-500);font-size:12px}.notification-pagination>div[data-v-65a93f8c]{display:flex;gap:8px}.notification-pagination__error[data-v-65a93f8c]{grid-column:1 / -1;color:var(--red)!important}.notification-pagination[data-v-65a93f8c] .ui-button{min-height:40px}@media(max-width:720px),(max-width:1023px)and (max-height:500px){.notification-trigger[data-v-65a93f8c]{width:44px;height:44px}.notification-panel[data-v-65a93f8c]{inset:auto 0 0;width:100%;max-height:min(82dvh,700px);border-width:1px 0 0;border-radius:16px 16px 0 0;padding-bottom:env(safe-area-inset-bottom)}.notification-head[data-v-65a93f8c]{padding:16px}.notification-item[data-v-65a93f8c]{padding-inline:16px}.notification-pagination[data-v-65a93f8c]{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}}.connectivity-banner[data-v-36f010b1]{position:fixed;z-index:300;top:12px;left:50%;display:grid;width:min(680px,calc(100% - 24px));grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;transform:translate(-50%);border:1px solid var(--amber-border);border-radius:8px;padding:10px 12px;color:var(--amber-strong);background:var(--amber-soft);box-shadow:var(--shadow-md)}.connectivity-offline[data-v-36f010b1]{border-color:var(--red-border);color:var(--red-strong);background:var(--red-soft)}.connectivity-dot[data-v-36f010b1]{width:9px;height:9px;border-radius:50%;background:currentColor}.connectivity-banner strong[data-v-36f010b1],.connectivity-banner p[data-v-36f010b1]{margin:0}.connectivity-banner strong[data-v-36f010b1]{font-size:13px}.connectivity-banner p[data-v-36f010b1]{margin-top:2px;font-size:12px;line-height:1.45}.connectivity-banner button[data-v-36f010b1]{min-width:88px;min-height:44px;border:1px solid currentColor;border-radius:6px;padding:0 13px;color:inherit;background:var(--surface-translucent);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.connectivity-banner button[data-v-36f010b1]:disabled{cursor:wait;opacity:.65}@media(max-width:600px){.connectivity-banner[data-v-36f010b1]{top:8px;width:calc(100% - 16px);grid-template-columns:auto minmax(0,1fr)}.connectivity-banner button[data-v-36f010b1]{grid-column:2;justify-self:start}}:root{color:var(--text-primary);background-color:var(--canvas);color-scheme:light;font-family:MiSans,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,system-ui,-apple-system,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--font-sans: "MiSans", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, -apple-system, sans-serif;--ink-950: #101b2d;--ink-900: #172033;--ink-800: #253249;--ink-700: #344054;--ink-600: #475467;--ink-500: #667085;--ink-400: #98a2b3;--ink-200: #d0d5dd;--canvas: #ffffff;--surface: #ffffff;--surface-soft: #f7f9fc;--surface-raised: #ffffff;--surface-elevated: var(--surface-raised);--surface-hover: #f8fbfb;--surface-selected: #f0f8f7;--surface-disabled: #f2f4f6;--surface-readonly: #f7f8fa;--surface-table-header: #fafbfc;--surface-track: #eef1f5;--surface-track-strong: #e5e9ee;--surface-translucent: rgba(255, 255, 255, .97);--surface-translucent-strong: rgba(255, 255, 255, .98);--surface-accent: #f0f8f7;--text-strong: var(--ink-950);--text-primary: var(--ink-900);--text-secondary: var(--ink-700);--text-muted: var(--ink-500);--text-subtle: var(--ink-400);--text-disabled: var(--ink-400);--text-on-solid: #ffffff;--text-inverse: var(--text-on-solid);--line: #e1e6ee;--line-strong: #c7d0dd;--border-default: var(--line);--border-strong: var(--line-strong);--border-muted: #eef1f5;--navy: #101b2d;--navy-soft: #1a2b43;--navy-subtle: #f6f8fb;--teal: #157e78;--teal-dark: #106a65;--teal-strong: #116b65;--teal-soft: #e8f4f2;--teal-subtle: #f5fbfa;--teal-subtle-soft: #f7fbfa;--teal-badge: #f4fbfa;--teal-border: #a9d1cd;--teal-border-soft: rgba(21, 126, 120, .28);--teal-line: rgba(21, 126, 120, .18);--teal-divider: rgba(21, 126, 120, .2);--blue: var(--teal);--blue-dark: var(--teal-dark);--blue-soft: var(--teal-soft);--green: #157e78;--green-soft: #e8f4f2;--amber: #d97706;--amber-strong: #93540b;--amber-soft: #fff5e6;--amber-subtle: #fff9ef;--amber-badge: #fffaf2;--amber-border: #f0d2a7;--amber-border-strong: #efc48c;--amber-callout-text: #8a4f0a;--amber-callout-text-strong: #8c500a;--amber-notice-text: #99530a;--amber-chart: #a15c08;--red: #c2413b;--red-strong: #c2413b;--danger: var(--red);--red-soft: #fff0ef;--red-subtle: #fff7f6;--red-border: #e6aaa7;--red-border-soft: #e5c1c1;--solid-brand: #157e78;--solid-brand-hover: #106a65;--solid-neutral: #344054;--solid-neutral-hover: #101b2d;--solid-danger: #c2413b;--solid-danger-hover: #a93632;--status-success: var(--teal);--status-success-strong: var(--teal-strong);--status-success-surface: var(--teal-badge);--status-success-border: #b9dfd8;--status-warning: var(--amber);--status-warning-strong: var(--amber-strong);--status-warning-surface: var(--amber-badge);--status-warning-border: var(--amber-border);--status-danger: var(--red);--status-danger-strong: var(--red-strong);--status-danger-surface: var(--red-subtle);--status-danger-border: var(--red-border);--status-neutral-strong: var(--navy);--status-neutral-surface: var(--navy-subtle);--info-border: #c9d8e8;--info-strong: #385b7f;--info-soft: #f2f7fb;--callout-accent-surface: var(--teal-subtle);--note-accent-surface: var(--teal-subtle-soft);--detail-accent-surface: #f7fbfb;--callout-warning-surface: var(--amber-subtle);--chart-grid: #dfe5ec;--chart-label-halo: #ffffff;--chart-halo: var(--chart-label-halo);--chart-muted: #aeb8c7;--chart-track: #e7ebf0;--chart-plan: #aeb8c7;--chart-1: var(--teal);--chart-2: #385b7f;--chart-3: var(--amber-chart);--chart-4: var(--red);--chart-5: #8393a7;--timeline-grid: rgba(225, 230, 236, .45);--timeline-dependency: #8393a7;--timeline-today: rgba(185, 42, 52, .72);--gantt-bar-border: #7dbfb5;--gantt-bar-bg: #cae8e2;--gantt-bar-text: #174f48;--gantt-attention-border: #d6a34d;--gantt-attention-bg: #f6dfb6;--gantt-attention-text: #75470b;--gantt-danger-border: #d8908b;--gantt-danger-bg: #f2c9c5;--gantt-danger-text: #882f34;--gantt-accepted-border: #9ab4ac;--gantt-accepted-bg: #dfe9e6;--gantt-accepted-text: #48635c;--gantt-progress: rgba(30, 123, 111, .25);--sidebar-bg: #101b2d;--sidebar-bg-soft: #1a2b43;--sidebar-text: #d9e1ec;--sidebar-text-strong: #ffffff;--sidebar-text-muted: #9eacbf;--sidebar-text-subtle: #8290a5;--sidebar-control-text: #aebaca;--sidebar-session-text: #bac5d4;--sidebar-session-muted: #91a1b5;--sidebar-preference-text: #b7c1cf;--sidebar-warning-text: #f4ba72;--sidebar-border: rgba(255, 255, 255, .12);--sidebar-border-soft: rgba(255, 255, 255, .09);--sidebar-control-bg: rgba(255, 255, 255, .04);--sidebar-control-hover: rgba(255, 255, 255, .1);--sidebar-row-bg: rgba(255, 255, 255, .025);--sidebar-nav-hover: rgba(255, 255, 255, .07);--sidebar-nav-active: rgba(21, 126, 120, .34);--sidebar-accent: #45b8ad;--sidebar-focus: #6bd5cc;--brand-panel-text-muted: #aeb9c9;--brand-panel-text: #b9c4d2;--brand-panel-text-subtle: #9eacbf;--brand-panel-accent: #79c8c1;--brand-panel-border: rgba(255, 255, 255, .16);--scrim: rgba(16, 27, 45, .52);--scrim-soft: rgba(16, 27, 45, .46);--focus-ring: rgba(21, 126, 120, .2);--control-knob: #ffffff;--loading-track: #bfdeda;--shadow-sm: 0 1px 2px rgba(16, 27, 45, .06);--shadow-md: 0 16px 40px rgba(16, 27, 45, .14);--shadow-lg: 0 20px 54px rgba(16, 27, 45, .12);--shadow-control-inset: inset 0 1px 2px rgba(16, 27, 45, .18);--shadow-control-knob: 0 1px 4px rgba(16, 27, 45, .2);--shadow-mobile-nav: 0 -4px 18px rgba(16, 27, 45, .08);--shadow-compose: 0 -6px 18px rgba(16, 27, 45, .08);--shadow-drawer: -20px 0 60px rgba(16, 27, 45, .2);--skeleton-bg: var(--surface-track);--progress-track: var(--surface-track-strong);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--sidebar-width: 208px;--topbar-height: 76px;--content-max: 1480px}:root[data-theme=dark]{color-scheme:dark;--ink-950: #f4f7fb;--ink-900: #edf3fa;--ink-800: #dce5ef;--ink-700: #c7d2df;--ink-600: #a9b7c7;--ink-500: #8f9fb2;--ink-400: #76879b;--ink-200: #2b3a4e;--canvas: #07111f;--surface: #0d1929;--surface-soft: #111f31;--surface-raised: #142338;--surface-elevated: #17283e;--surface-hover: #172a3f;--surface-selected: #123230;--surface-disabled: #172438;--surface-readonly: #101d2e;--surface-table-header: #101d2d;--surface-track: #1b2a3e;--surface-track-strong: #26364a;--surface-translucent: rgba(13, 25, 41, .96);--surface-translucent-strong: rgba(13, 25, 41, .98);--surface-accent: #123230;--line: #26364a;--line-strong: #3d4f65;--border-muted: #1b2a3e;--navy: #07111f;--navy-soft: #112238;--navy-subtle: #142134;--teal: #43b8ae;--teal-dark: #73d2ca;--teal-strong: #82d8d0;--teal-soft: #102d30;--teal-subtle: #102a2c;--teal-subtle-soft: #0e2528;--teal-badge: #123133;--teal-border: #39736f;--teal-border-soft: rgba(67, 184, 174, .42);--teal-line: rgba(67, 184, 174, .28);--teal-divider: rgba(67, 184, 174, .32);--green: #43b8ae;--green-soft: #102d30;--amber: #d8a15f;--amber-strong: #efbf80;--amber-soft: #342719;--amber-subtle: #2d2318;--amber-badge: #302518;--amber-border: #755638;--amber-border-strong: #8b6239;--amber-callout-text: #edb975;--amber-callout-text-strong: #f1c383;--amber-notice-text: #e7b875;--amber-chart: #e0ad6b;--red: #d97975;--red-strong: #f0aaa5;--red-soft: #351f24;--red-subtle: #301c22;--red-border: #784745;--red-border-soft: #694143;--solid-brand: #147a73;--solid-brand-hover: #106a65;--solid-neutral: #344a61;--solid-neutral-hover: #405970;--solid-danger: #a94b48;--solid-danger-hover: #923f3d;--status-success-surface: #123133;--status-success-border: #386b66;--status-warning-surface: #302518;--status-danger-surface: #301c22;--status-neutral-strong: #c7d2df;--status-neutral-surface: #142134;--info-border: #38536f;--info-strong: #9fc1e0;--info-soft: #142538;--callout-accent-surface: #102a2c;--note-accent-surface: #0e2528;--detail-accent-surface: #102329;--callout-warning-surface: #2d2318;--chart-grid: #2a3b50;--chart-label-halo: #0d1929;--chart-muted: #718196;--chart-track: #1e2d41;--chart-plan: #718196;--chart-2: #7aa6cf;--chart-5: #8295aa;--timeline-grid: rgba(78, 96, 118, .4);--timeline-dependency: #8295aa;--timeline-today: rgba(217, 121, 117, .82);--gantt-bar-border: #428c84;--gantt-bar-bg: #16433f;--gantt-bar-text: #b8ebe5;--gantt-attention-border: #a67834;--gantt-attention-bg: #3d2d17;--gantt-attention-text: #f0cf9a;--gantt-danger-border: #a85d59;--gantt-danger-bg: #452426;--gantt-danger-text: #f2b7b3;--gantt-accepted-border: #59756d;--gantt-accepted-bg: #243833;--gantt-accepted-text: #bfd0ca;--gantt-progress: rgba(67, 184, 174, .28);--sidebar-bg: #050d18;--sidebar-bg-soft: #0b1a2b;--sidebar-text: #d7e2ee;--sidebar-text-strong: #f5f8fc;--sidebar-text-muted: #9aabbd;--sidebar-text-subtle: #8192a7;--sidebar-control-text: #afbdcd;--sidebar-session-text: #c1cddd;--sidebar-session-muted: #91a3b7;--sidebar-preference-text: #b5c2d1;--sidebar-warning-text: #e0ad70;--sidebar-nav-active: rgba(67, 184, 174, .26);--sidebar-accent: #43b8ae;--sidebar-focus: #72d7ce;--scrim: rgba(0, 5, 12, .72);--scrim-soft: rgba(0, 5, 12, .64);--focus-ring: rgba(67, 184, 174, .28);--control-knob: #f4f7fb;--loading-track: #2e5b59;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 18px 44px rgba(0, 0, 0, .42);--shadow-lg: 0 22px 58px rgba(0, 0, 0, .46);--shadow-control-inset: inset 0 1px 2px rgba(0, 0, 0, .45);--shadow-control-knob: 0 1px 4px rgba(0, 0, 0, .48);--shadow-mobile-nav: 0 -6px 22px rgba(0, 0, 0, .38);--shadow-compose: 0 -6px 20px rgba(0, 0, 0, .34);--shadow-drawer: -20px 0 64px rgba(0, 0, 0, .52)}*,*:before,*:after{box-sizing:border-box}html{width:100%;min-width:0;min-height:100%;overflow-x:hidden;background:var(--canvas);scroll-behavior:smooth}body{width:100%;min-width:0;min-height:100vh;min-height:100dvh;margin:0;overflow-x:hidden;color:var(--text-primary);background:var(--canvas);font-family:var(--font-sans);font-size:14px;line-height:1.5}@media(min-width:1024px){html,body,#root{width:100%;height:100%;min-height:0;overflow:hidden}}html.modal-open,body.modal-open{overflow:hidden;overscroll-behavior:none}button,input,select,textarea{font:inherit}button,input,select,textarea{color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}img,svg{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3,strong{letter-spacing:-.012em}.icon{width:20px;height:20px;flex:0 0 auto}.muted{color:var(--text-muted)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{display:inline-flex;min-height:44px;align-items:center;box-sizing:border-box;position:fixed;z-index:1000;top:8px;left:8px;padding:10px 14px;border-radius:var(--radius-sm);color:var(--text-on-solid);background:var(--navy);font-weight:700;text-decoration:none;transform:translateY(-150%)}@media print{html,body,#root{height:auto!important;min-height:0;overflow:visible!important}}.skip-link:focus{transform:translateY(0)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--teal);outline-offset:2px}@media(max-width:720px),(max-width:1023px)and (max-height:500px){:where(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){min-height:44px!important}}::selection{color:var(--text-on-solid);background:var(--solid-brand)}::placeholder{color:var(--text-subtle);opacity:1}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{min-height:100vh;min-height:100dvh;background:var(--canvas)}.sidebar{position:fixed;z-index:40;inset:0 auto 0 0;display:flex;width:var(--sidebar-width);height:100vh;height:100dvh;flex-direction:column;padding:16px 12px 14px;overflow:hidden;color:var(--sidebar-text);background:var(--sidebar-bg);font-size:14px;line-height:1.4;scrollbar-width:thin;transition:width .18s ease}.sidebar-brand-row{display:flex;flex:0 0 auto;align-items:center;gap:8px;padding:0 4px 14px;border-bottom:1px solid var(--sidebar-border)}.shell-brand{display:flex;min-width:0;flex:1 1 auto;align-items:center;gap:11px;min-height:44px;padding:4px;color:var(--sidebar-text-strong);text-decoration:none}.shell-brand-logo{width:36px;height:36px;flex:0 0 auto;border-radius:8px;object-fit:cover}.shell-brand-copy{display:grid;min-width:0;line-height:1.25}.shell-brand-copy strong{font-size:18px}.shell-brand-copy small{margin-top:3px;overflow:hidden;color:var(--sidebar-text-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.sidebar-tool-button{display:inline-flex;width:40px;min-width:40px;min-height:40px;align-items:center;justify-content:center;gap:6px;padding:0;border:1px solid var(--sidebar-border);border-radius:var(--radius-sm);color:var(--sidebar-control-text);background:var(--sidebar-control-bg);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.sidebar-tool-button .icon{width:18px;height:18px}.sidebar-tool-label{display:none}.sidebar-tool-button:hover,.sidebar-tool-button.active{color:var(--sidebar-text-strong);background:var(--sidebar-control-hover)}.sidebar-tool-button:focus-visible,.sidebar-resizer:focus-visible{outline:2px solid var(--sidebar-focus);outline-offset:2px}.sidebar-navigation-region{min-height:0;flex:1 1 auto;padding:16px 2px 0 0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin}.side-nav,.navigation-menu-list{display:grid;gap:4px}.navigation-menu-row{min-width:0}.navigation-menu-list.is-customizing .navigation-menu-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;border:1px solid var(--sidebar-border-soft);border-radius:var(--radius-sm);background:var(--sidebar-row-bg)}.navigation-menu-list.is-customizing .nav-link{border-radius:calc(var(--radius-sm) - 1px)}.navigation-menu-list--desktop.is-customizing .navigation-menu-row{grid-template-columns:minmax(0,1fr);gap:0}.navigation-menu-list--desktop.is-customizing .nav-link{min-height:40px;padding:8px 10px}.navigation-menu-list--desktop.is-customizing .navigation-order-controls{justify-content:flex-end;padding:0 6px 5px}.navigation-menu-row.is-dragging{opacity:.68;box-shadow:inset 0 0 0 1px var(--sidebar-focus)}.navigation-order-controls{display:inline-flex;align-items:center;gap:2px;padding-right:4px}.navigation-order-controls button{display:grid;width:28px;height:32px;padding:0;border:0;border-radius:6px;place-items:center;color:var(--sidebar-control-text);background:transparent;font:inherit;font-size:13px;cursor:pointer}.navigation-order-controls button:hover:not(:disabled),.navigation-order-controls button:focus-visible{color:var(--sidebar-text-strong);background:var(--sidebar-control-hover)}.navigation-order-controls button:focus-visible{outline:2px solid var(--sidebar-focus);outline-offset:-2px}.navigation-order-controls button:disabled{opacity:.28;cursor:not-allowed}.navigation-control-icon{width:16px;height:16px}.navigation-direction-icon.is-up{transform:rotate(-90deg)}.navigation-direction-icon.is-down{transform:rotate(90deg)}.navigation-order-controls .navigation-drag-handle{touch-action:none;cursor:grab}.navigation-order-controls .navigation-drag-handle:active{cursor:grabbing}.nav-link{position:relative;display:flex;align-items:center;gap:11px;min-height:46px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--sidebar-session-text);font-weight:650;text-decoration:none}.nav-link>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navigation-menu-list--desktop .nav-link:hover{color:var(--sidebar-text-strong);background:var(--sidebar-nav-hover)}.navigation-menu-list--desktop .nav-link.active{color:var(--sidebar-text-strong);background:var(--sidebar-nav-active)}.navigation-menu-list--desktop .nav-link.active:before{position:absolute;inset:10px auto 10px -8px;width:3px;background:var(--sidebar-accent);content:""}.sidebar-footer{display:grid;flex:0 0 auto;gap:8px;margin-top:auto;padding:14px 4px 0;border-top:1px solid var(--sidebar-border)}.sidebar-preference-state{color:var(--sidebar-preference-text);font-size:12px;line-height:1.4}.sidebar-resizer{position:absolute;z-index:2;inset:0 -5px 0 auto;width:10px;touch-action:none;cursor:col-resize}.sidebar-resizer:after{position:absolute;inset:0 4px;background:transparent;content:"";transition:background .12s ease}.sidebar-resizer:hover:after,.sidebar-resizer:focus-visible:after,body.sidebar-resizing .sidebar-resizer:after{background:var(--sidebar-accent)}body.sidebar-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.sidebar.is-collapsed{padding-inline:8px}.sidebar.is-collapsed .sidebar-brand-row{display:grid;justify-items:center;gap:8px;padding:0 0 14px}.sidebar.is-collapsed .sidebar-navigation-region{display:grid;align-content:safe center;padding:clamp(12px,2dvh,24px) 0;overflow-x:hidden;scrollbar-gutter:auto}.sidebar.is-collapsed .side-nav,.sidebar.is-collapsed .navigation-menu-list--desktop{width:100%}.sidebar.is-collapsed .navigation-menu-list--desktop{gap:clamp(4px,.7dvh,8px)}.sidebar.is-collapsed .shell-brand{justify-content:center;width:44px;min-height:44px;flex:0 0 auto;padding-inline:0}.sidebar.is-collapsed .shell-brand-copy,.sidebar.is-collapsed .session-copy,.sidebar.is-collapsed .sidebar-service-state,.sidebar.is-collapsed .sidebar-action-label{display:none}.sidebar.is-collapsed .sidebar-tool-button{width:44px;min-width:44px;height:44px;padding:0}.sidebar.is-collapsed .sidebar-tool-label,.sidebar.is-collapsed .nav-link span{display:none}.sidebar.is-collapsed .nav-link{width:44px;min-height:44px;margin-inline:auto;justify-content:center;padding-inline:0}.sidebar.is-collapsed .navigation-menu-list--desktop .nav-link.active:before{left:-8px}.sidebar.is-collapsed .session-card{width:44px;min-height:44px;margin-inline:auto;justify-content:center}.sidebar.is-collapsed .sidebar-footer{gap:4px;margin-top:0;padding:12px 0 0}.sidebar.is-collapsed .ui-button.sidebar-logout,.sidebar.is-collapsed .ui-button.sidebar-settings{min-width:44px;width:44px;min-height:44px;height:44px;margin-inline:auto;padding-inline:0;justify-content:center}.sidebar-service-state{color:var(--sidebar-warning-text);font-size:12px}.session-card,.mobile-menu-identity{display:flex;align-items:center;gap:10px;min-width:0}.session-avatar{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:50%;color:var(--text-on-solid);background:var(--solid-brand);font-size:13px;font-weight:800}.session-copy,.mobile-menu-identity>span:last-child{display:grid;min-width:0;line-height:1.25}.session-copy strong,.session-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-copy strong{color:var(--sidebar-text-strong);font-size:13px}.session-copy small{margin-top:3px;color:var(--sidebar-session-muted);font-size:12px}.sidebar .ui-button--ghost.ui-button--neutral{justify-content:flex-start;color:var(--sidebar-session-text)}.sidebar .ui-button--ghost.ui-button--neutral:hover:not(:disabled){color:var(--sidebar-text-strong);background:var(--sidebar-nav-hover)}.main{min-width:0;min-height:100vh;min-height:100dvh;margin-left:var(--sidebar-width);background:var(--canvas);transition:margin-left .18s ease}.main:focus{outline:none}.topbar{position:sticky;z-index:30;top:0;display:flex;min-height:var(--topbar-height);align-items:center;justify-content:space-between;gap:20px;padding:12px 28px;border-bottom:1px solid var(--line);background:var(--surface-translucent)}.title-block{display:grid;min-width:0;gap:2px}.title-block h1{margin:0;overflow:hidden;font-size:22px;font-weight:760;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.topbar-context{color:var(--ink-500);font-size:12px}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px}.backend-indicator{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid var(--amber-border);border-radius:999px;color:var(--amber-notice-text);background:var(--amber-soft);font-size:12px;font-weight:700}.backend-indicator:before{width:6px;height:6px;border-radius:50%;background:currentColor;content:""}.mobile-account-trigger,.mobile-nav,.mobile-menu-panel,.mobile-menu-backdrop{display:none}.main>.page-grid,.main>.access-state,.route-viewport>.page-grid,.route-viewport>.access-state{width:min(100%,var(--content-max));margin-inline:auto}.route-viewport{min-width:0}.page-grid{display:grid;gap:20px;padding:24px 28px 48px}body.modal-open{overflow:hidden}@media(min-width:1024px){.app-shell{height:100vh;height:100dvh;min-height:0;overflow:hidden}.main{display:grid;height:100vh;height:100dvh;min-height:0;grid-template-rows:var(--topbar-height) minmax(0,1fr);overflow:hidden}.topbar{position:relative;height:var(--topbar-height);min-height:0}.route-viewport{min-height:0;overflow:hidden}.route-viewport>.page-grid,.route-viewport>.access-state{height:100%;min-height:0}.route-viewport>.page-grid{padding-top:16px;padding-bottom:16px}.route-viewport>.access-state{overflow:auto;overscroll-behavior:contain}}@media(max-width:1100px){.topbar,.page-grid{padding-inline:22px}}@media(max-width:1023px){:root{--topbar-height: 68px}.sidebar{display:none}.main{margin-left:0;padding-bottom:calc(68px + env(safe-area-inset-bottom))}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:9px 18px}.mobile-account-trigger{display:grid;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;place-items:center;color:var(--text-on-solid);background:var(--solid-brand);font-size:13px;font-weight:800}.mobile-menu-backdrop{position:fixed;z-index:90;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:var(--scrim-soft)}.mobile-menu-panel{position:fixed;z-index:100;inset:0 0 0 auto;display:flex;width:min(380px,90vw);max-height:100vh;max-height:100dvh;flex-direction:column;padding:20px;overflow:hidden;border-left:1px solid var(--line);background:var(--surface-elevated);box-shadow:var(--shadow-md);font-size:14px;line-height:1.4}.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--line)}.mobile-menu-identity strong,.mobile-menu-identity small{display:block}.mobile-menu-identity small{margin-top:3px;color:var(--ink-500);font-size:12px}.mobile-menu-list{display:grid;align-content:start;min-height:0;flex:1;gap:4px;padding:16px 0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin}.mobile-menu-list a{display:flex;min-height:48px;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--ink-700);font-weight:700;text-decoration:none}.mobile-menu-list a:hover,.navigation-menu-list--mobile .nav-link.active{color:var(--teal-dark);background:var(--teal-soft)}.navigation-menu-list--mobile .nav-link.active:before{display:none}.mobile-menu-toolbar{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;color:var(--ink-500);font-size:12px;font-weight:700}.mobile-menu-toolbar>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px}.navigation-menu-list--mobile.is-customizing .navigation-menu-row{border-color:var(--line);background:var(--surface-soft)}.navigation-menu-list--mobile .navigation-order-controls button{color:var(--ink-500)}.navigation-menu-list--mobile .navigation-order-controls button:hover:not(:disabled),.navigation-menu-list--mobile .navigation-order-controls button:focus-visible{color:var(--teal-dark);background:var(--teal-soft)}.navigation-menu-list--mobile .navigation-order-controls button:focus-visible{outline-color:var(--teal)}.mobile-menu-foot{display:grid;gap:10px;padding-top:16px;border-top:1px solid var(--line)}.mobile-nav{position:fixed;z-index:80;inset:auto 0 0;display:grid;grid-template-columns:repeat(var(--mobile-route-count, 5),minmax(0,1fr));min-height:calc(64px + env(safe-area-inset-bottom));padding-top:4px;padding-right:max(8px,env(safe-area-inset-right),calc((100vw - 720px)/2));padding-bottom:env(safe-area-inset-bottom);padding-left:max(8px,env(safe-area-inset-left),calc((100vw - 720px)/2));border-top:1px solid var(--line);background:var(--surface-translucent-strong);box-shadow:var(--shadow-mobile-nav)}.mobile-nav a,.mobile-nav button{position:relative;display:flex;min-width:0;min-height:56px;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 2px;border:0;border-radius:var(--radius-sm);color:var(--ink-500);background:transparent;font-size:12px;font-weight:700;text-decoration:none}.mobile-nav a.active,.mobile-nav button.active{color:var(--teal-dark);background:var(--teal-soft)}.mobile-nav button.is-open:not(.active){color:var(--teal-dark);box-shadow:inset 0 0 0 1px var(--line-strong)}.mobile-nav .icon{width:20px;height:20px}}@media(prefers-reduced-motion:reduce){.sidebar,.main,.sidebar-resizer:after{transition:none}}@media(max-width:767px),(max-width:1023px)and (max-height:500px){.topbar{min-height:64px;padding-top:8px;padding-right:max(14px,env(safe-area-inset-right));padding-bottom:8px;padding-left:max(14px,env(safe-area-inset-left))}.title-block h1{font-size:18px}.topbar-context,.backend-indicator{display:none}.page-grid{gap:14px;padding-top:16px;padding-right:max(14px,env(safe-area-inset-right));padding-bottom:28px;padding-left:max(14px,env(safe-area-inset-left))}}@media(max-width:600px){.mobile-menu-panel{inset:auto 0 0;width:100%;max-height:min(82vh,680px);max-height:min(82dvh,680px);padding:14px 16px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);border-left:0;border-radius:12px 12px 0 0}.mobile-menu-list{max-height:min(42dvh,360px);flex:0 1 auto}.mobile-menu-panel:before{width:36px;height:4px;flex:0 0 auto;align-self:center;margin-bottom:12px;border-radius:4px;background:var(--line-strong);content:""}}@media print{.app-shell,.main,.route-viewport,.route-viewport>.page-grid,.route-viewport>.access-state{height:auto!important;min-height:0;overflow:visible!important}.main{display:block;margin-left:0}.topbar{position:static;height:auto}}.ui-button{position:relative;display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;padding:9px 14px;border:1px solid transparent;border-radius:var(--radius-sm);appearance:none;background:var(--surface-raised);font-weight:720;line-height:1;text-decoration:none;white-space:nowrap;transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.ui-button--sm{min-height:34px;padding:6px 10px;font-size:13px}.ui-button--lg{min-height:48px;padding:12px 18px;font-size:15px}.ui-button.is-block{width:100%}.ui-button.is-icon-only{width:40px;padding:0}.ui-button--sm.is-icon-only{width:34px}.ui-button--lg.is-icon-only{width:48px}.ui-button__stack{display:grid;place-items:center}.ui-button__content,.ui-button__loading-content{grid-area:1 / 1;display:inline-flex;align-items:center;justify-content:center;gap:7px}.ui-button__loading-content{opacity:0;pointer-events:none}.ui-button.is-loading .ui-button__content{opacity:0}.ui-button.is-loading .ui-button__loading-content{opacity:1}.ui-button__spinner{width:16px;height:16px;flex:0 0 auto;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.ui-button--solid.ui-button--brand{border-color:var(--solid-brand);color:var(--text-on-solid);background:var(--solid-brand)}.ui-button--solid.ui-button--brand:hover:not(:disabled){border-color:var(--solid-brand-hover);background:var(--solid-brand-hover)}.ui-button--solid.ui-button--neutral{border-color:var(--solid-neutral);color:var(--text-on-solid);background:var(--solid-neutral)}.ui-button--solid.ui-button--neutral:hover:not(:disabled){border-color:var(--solid-neutral-hover);background:var(--solid-neutral-hover)}.ui-button--solid.ui-button--danger{border-color:var(--solid-danger);color:var(--text-on-solid);background:var(--solid-danger)}.ui-button--solid.ui-button--danger:hover:not(:disabled){border-color:var(--solid-danger-hover);background:var(--solid-danger-hover)}.ui-button--outline{background:var(--surface-raised)}.ui-button--outline.ui-button--brand{border-color:var(--teal-border);color:var(--teal-dark)}.ui-button--outline.ui-button--brand:hover:not(:disabled){border-color:var(--teal);background:var(--teal-soft)}.ui-button--outline.ui-button--neutral{border-color:var(--line-strong);color:var(--ink-700)}.ui-button--outline.ui-button--neutral:hover:not(:disabled){border-color:var(--ink-400);background:var(--surface-soft)}.ui-button--outline.ui-button--danger{border-color:var(--red-border);color:var(--red)}.ui-button--outline.ui-button--danger:hover:not(:disabled),.ui-button--ghost.ui-button--danger:hover:not(:disabled){background:var(--red-soft)}.ui-button--ghost{border-color:transparent;background:transparent}.ui-button--ghost.ui-button--brand{color:var(--teal-dark)}.ui-button--ghost.ui-button--brand:hover:not(:disabled){background:var(--teal-soft)}.ui-button--ghost.ui-button--neutral{color:var(--ink-700)}.ui-button--ghost.ui-button--neutral:hover:not(:disabled){background:var(--surface-soft)}.ui-button--ghost.ui-button--danger{color:var(--red)}.ui-button:active:not(:disabled){box-shadow:var(--shadow-control-inset)}.ui-button:disabled{border-color:var(--line);color:var(--ink-400);background:var(--surface-soft);box-shadow:none;opacity:1}.ui-button.is-loading{cursor:progress}.ui-button .icon{width:17px;height:17px}.ui-action-group{display:flex;min-width:0;max-width:100%}.ui-action-group__items{display:flex;min-width:0;max-width:100%;align-items:center;flex-wrap:wrap;gap:8px}.ui-action-group__items>*{min-width:0;max-width:100%}.ui-action-group--align-start,.ui-action-group--align-start .ui-action-group__items{justify-content:flex-start}.ui-action-group--align-center,.ui-action-group--align-center .ui-action-group__items{justify-content:center}.ui-action-group--align-end,.ui-action-group--align-end .ui-action-group__items{justify-content:flex-end}.ui-action-group--align-between,.ui-action-group--align-between .ui-action-group__items{width:100%;justify-content:space-between}.ui-action-group--align-stretch,.ui-action-group--align-stretch .ui-action-group__items{width:100%}.ui-action-group--align-stretch .ui-action-group__items>*{flex:1}.ui-action-group--panel,.ui-action-group--table{flex:0 0 auto}.ui-action-group--form{width:100%;margin-top:16px}.ui-action-group--table .ui-action-group__items{flex-wrap:nowrap}.ui-action-group--dialog{width:100%;margin-top:20px}.ui-action-group__mobile-menu{display:none}.panel,.surface{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm)}.panel-header{display:flex;min-height:68px;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line)}.panel-header h3{margin:0;font-size:17px}.panel-header p{margin:4px 0 0;color:var(--ink-500);font-size:13px}.panel-body{padding:16px 18px}.tag{display:inline-flex;width:max-content;align-items:center;padding:4px 8px;border-radius:999px;color:var(--teal-dark);background:var(--teal-soft);font-size:12px;font-weight:750;white-space:nowrap}.tag.green,.status-normal{color:var(--teal-strong);background:var(--green-soft)}.tag.amber,.status-attention{color:var(--amber-strong);background:var(--amber-soft)}.tag.red,.status-risk{color:var(--red);background:var(--red-soft)}.field{display:grid;min-width:0;gap:7px}.field>span,.weekday-field legend{color:var(--ink-700);font-size:13px;font-weight:700}.field input,.field select,.field textarea,.filter-bar input,.filter-bar select{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);outline:0;background:var(--surface-raised);transition:border-color .15s ease,box-shadow .15s ease}.field textarea{resize:vertical;line-height:1.6}.field input:focus,.field select:focus,.field textarea:focus,.filter-bar input:focus,.filter-bar select:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--focus-ring)}.field input[readonly]{color:var(--ink-500);background:var(--surface-soft)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field-wide{grid-column:1 / -1}.compose-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.empty-state{display:grid;justify-items:center;gap:7px;padding:34px 20px;color:var(--ink-500);text-align:center}.empty-state-mark{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;color:var(--teal-dark);background:var(--teal-soft);font-weight:850}.empty-state strong{color:var(--ink-700)}.empty-state p{max-width:420px;margin:0;font-size:13px}.dialog-backdrop,.modal-backdrop{position:fixed;z-index:200;inset:0;border:0;background:var(--scrim)}.dialog-backdrop{z-index:400;display:grid;padding:20px;place-items:center}.dialog{width:min(100%,480px);max-height:calc(100dvh - 40px);padding:22px;overflow-y:auto;border-radius:var(--radius-lg);outline:0;background:var(--surface-elevated);box-shadow:var(--shadow-md)}.dialog-head>span{color:var(--teal-dark);font-size:12px;font-weight:800;letter-spacing:.06em}.dialog-head h2{margin:7px 0 8px;font-size:22px}.dialog-head p{margin-bottom:18px;color:var(--ink-500);line-height:1.6}.dialog-disabled-reason{margin:12px 0 0;padding:9px 11px;border:1px solid var(--amber-border);border-radius:var(--radius-sm);color:var(--amber-strong);background:var(--amber-soft);font-size:13px;line-height:1.5}.toast{position:fixed;z-index:300;bottom:28px;left:50%;max-width:min(90vw,520px);padding:11px 16px;border-radius:var(--radius-md);color:var(--text-on-solid);background:var(--sidebar-bg);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transform:translate(-50%,14px);transition:opacity .2s ease,transform .2s ease}.toast.show{opacity:1;transform:translate(-50%)}.app-loading{display:grid;min-height:100vh;min-height:100dvh;place-content:center;justify-items:center;gap:8px;background:var(--canvas)}.app-loading span{color:var(--ink-500);font-size:13px}.loading-mark{width:36px;height:36px;border:3px solid var(--loading-track);border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-header{display:flex;min-height:82px;align-items:center;justify-content:space-between;gap:24px;padding:0 2px 18px;border-bottom:1px solid var(--line)}.page-header--titleless{min-height:64px}.page-header__copy{display:grid;min-width:0;gap:5px}.page-header h2{margin:0;font-size:28px;line-height:1.25}.page-header p{max-width:720px;margin:0;color:var(--ink-500)}.filter-bar__count{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;color:var(--teal-dark);background:var(--teal-soft);font-size:12px;font-weight:750}.page-header__actions{display:flex;flex:0 0 auto;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.enterprise-kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised)}.enterprise-kpi-strip>article{display:flex;min-width:0;min-height:96px;align-items:center;gap:12px;padding:14px 16px;border-left:1px solid var(--line)}.enterprise-kpi-strip>article:first-child{border-left:0}.enterprise-kpi-strip__icon{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:50%;color:var(--teal-dark);background:var(--teal-soft)}.enterprise-kpi-strip .is-amber .enterprise-kpi-strip__icon{color:var(--amber);background:var(--amber-soft)}.enterprise-kpi-strip .is-red .enterprise-kpi-strip__icon{color:var(--red);background:var(--red-soft)}.enterprise-kpi-strip__icon .icon{width:17px;height:17px}.enterprise-kpi-strip__copy{display:grid;min-width:0}.enterprise-kpi-strip__copy>span,.enterprise-kpi-strip__copy small{overflow:hidden;color:var(--ink-500);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.enterprise-kpi-strip__copy strong{margin-block:2px;overflow:hidden;font-size:24px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.filter-bar{display:grid;min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft)}.filter-bar__toggle{display:none}.filter-bar__content,.filter-bar__actions{display:flex;min-width:0;align-items:end;flex-wrap:wrap;gap:10px}.filter-bar__content>*{min-width:min(180px,100%);flex:1 1 180px}.filter-bar__actions{justify-content:flex-end}.data-collection{min-width:0;max-width:100%}.data-collection__desktop{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:var(--line-strong) transparent;scrollbar-gutter:stable;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.data-collection__desktop:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}.data-collection__desktop table{width:100%;border-collapse:collapse}.data-collection__desktop th,.data-collection__desktop td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.data-collection__desktop th{color:var(--ink-500);background:var(--surface-soft);font-size:12px;font-weight:700}.data-collection__desktop tbody tr:last-child td{border-bottom:0}.data-collection__desktop tbody tr.is-selectable{cursor:pointer}.data-collection__desktop tbody tr.is-selectable:hover,.data-collection__desktop tbody tr.is-selected{background:var(--teal-soft)}.data-collection .align-center{text-align:center}.data-collection .align-end{text-align:right}.data-collection__actions{white-space:nowrap}.data-collection__mobile{display:none}.data-collection--bounded{display:grid;min-height:0}.data-collection--bounded .data-collection__desktop{max-height:clamp(360px,52dvh,680px);overflow:auto;overscroll-behavior:contain}.data-collection--bounded .data-collection__desktop thead th{position:sticky;z-index:2;top:0;box-shadow:0 1px var(--line)}.detail-drawer{position:fixed;z-index:210;inset:0 0 0 auto;display:grid;width:min(480px,100%);max-height:100vh;max-height:100dvh;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:var(--surface-elevated);box-shadow:var(--shadow-md)}.bottom-sheet{position:fixed;z-index:210;inset:auto 0 0;display:grid;width:min(720px,100%);max-height:min(82vh,760px);max-height:min(82dvh,760px);margin-inline:auto;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;border-radius:12px 12px 0 0;background:var(--surface-elevated);box-shadow:var(--shadow-md)}.bottom-sheet__handle{width:36px;height:4px;justify-self:center;margin-top:10px;border-radius:999px;background:var(--line-strong)}.detail-drawer__header,.bottom-sheet__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line)}.detail-drawer__header h2,.bottom-sheet__header h2{margin:0;font-size:20px}.detail-drawer__header p,.bottom-sheet__header p{margin:4px 0 0;color:var(--ink-500);font-size:13px}.detail-drawer__body,.bottom-sheet__body{min-height:0;padding:20px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--line-strong) transparent;scrollbar-gutter:stable;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.detail-drawer__footer,.bottom-sheet__footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:14px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface-elevated)}.detail-drawer__body:last-child,.bottom-sheet__body:last-child{padding-bottom:calc(20px + env(safe-area-inset-bottom))}.settings-center{display:grid;gap:14px}.settings-section{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.settings-section__header{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--surface-soft)}.settings-section__header h3{margin:0;color:var(--ink-900);font-size:15px;line-height:1.35}.settings-section__header span{display:block;margin-top:2px;color:var(--ink-500);font-size:11px}.settings-section__header .settings-storage-state{margin:0;padding:4px 7px;border-radius:999px;color:var(--amber-notice-text);background:var(--amber-soft);font-size:11px;font-weight:700}.theme-choice-group{display:grid;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:12px 14px 14px;border:0}.theme-choice{position:relative;display:grid;min-width:0;align-content:start;min-height:72px;gap:4px;padding:14px 40px 14px 14px;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text-primary);background:var(--surface-raised);cursor:pointer;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.theme-choice:hover{border-color:var(--line-strong);background:var(--surface-hover)}.theme-choice.is-selected,.theme-choice[aria-checked=true],.theme-choice:has(>input:checked){border-color:var(--teal);background:var(--teal-subtle);box-shadow:0 0 0 2px var(--focus-ring)}.theme-choice>input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.theme-choice:has(>input:focus-visible){outline:2px solid var(--teal);outline-offset:2px}.theme-choice:after{position:absolute;top:16px;right:16px;width:12px;height:12px;border:2px solid var(--line-strong);border-radius:50%;background:var(--surface-raised);box-shadow:0 0 0 2px var(--surface-raised);content:""}.theme-choice.is-selected:after,.theme-choice[aria-checked=true]:after,.theme-choice:has(>input:checked):after{border-color:var(--teal);background:var(--teal)}.theme-choice__copy{display:grid;min-width:0;gap:2px}.theme-choice__label{color:var(--text-secondary);font-size:12px;font-weight:750}.theme-choice__description{color:var(--text-muted);font-size:10px;line-height:1.4}.settings-navigation{display:grid;max-height:320px;gap:14px;padding:12px;overflow-y:auto;overscroll-behavior:contain}.navigation-menu-list--settings.is-customizing .navigation-menu-row{border-color:var(--line);background:var(--surface)}.navigation-menu-list--settings .settings-navigation-label{min-height:44px;color:var(--ink-700);font-weight:700}.navigation-menu-list--settings .navigation-order-controls button{width:36px;height:36px;color:var(--ink-500)}.navigation-menu-list--settings .navigation-order-controls button:hover:not(:disabled),.navigation-menu-list--settings .navigation-order-controls button:focus-visible{color:var(--teal-dark);background:var(--teal-soft)}.navigation-menu-list--settings .navigation-order-controls button:focus-visible{outline-color:var(--teal)}.settings-facts{display:grid;margin:0}.settings-facts>div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;padding:11px 14px;border-bottom:1px solid var(--line)}.settings-facts>div:last-child{border-bottom:0}.settings-facts dt{color:var(--ink-500);font-size:12px}.settings-facts dd{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--ink-800);font-size:13px;font-weight:700;text-align:right}@media(max-width:1023px){.ui-action-group,.ui-action-group__items,.filter-bar__content,.filter-bar__actions,.data-collection__desktop{width:100%}.ui-action-group--table .ui-action-group__items{flex-wrap:wrap}.filter-bar{grid-template-columns:minmax(0,1fr);align-items:stretch}.filter-bar__content,.filter-bar__actions{max-width:100%}.data-collection__desktop table{min-width:680px}.navigation-menu-list--settings .navigation-order-controls button{width:44px;height:44px}.enterprise-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.enterprise-kpi-strip>article:nth-child(3){border-left:0}.enterprise-kpi-strip>article:nth-child(n+3){border-top:1px solid var(--line)}}@media(max-width:767px),(max-width:1023px)and (max-height:500px){.ui-button--sm,.ui-button--md{min-height:44px}.ui-button--sm.is-icon-only,.ui-button--md.is-icon-only{width:44px}.page-header{min-height:0;align-items:stretch;flex-direction:column;gap:14px;padding-bottom:16px}.page-header h2{font-size:24px}.page-header__actions,.page-header__actions>*{width:100%}.filter-bar{display:block;padding:0;overflow:hidden}.filter-bar__toggle{display:flex;width:100%;min-height:48px;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:0;background:var(--surface-soft);font-weight:700}.filter-bar:not(.filter-bar--mobile-collapsible) .filter-bar__toggle{display:none}.filter-bar__toggle>span:first-child{margin-right:auto}.filter-bar--mobile-collapsible:not([data-expanded=true]) .filter-bar__content,.filter-bar--mobile-collapsible:not([data-expanded=true]) .filter-bar__actions{display:none}.filter-bar__content,.filter-bar__actions{display:grid;padding:12px}.filter-bar__content>*{width:100%;min-width:0}.filter-bar__actions{padding-top:0}.filter-bar__actions>*{width:100%}.data-collection__desktop{display:none}.data-collection__mobile{display:grid;gap:10px}.data-collection--bounded .data-collection__mobile{max-height:min(58dvh,620px);padding-right:3px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--line-strong) transparent;scrollbar-gutter:stable;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.data-collection--bounded .data-collection__mobile:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.mobile-row-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised)}.mobile-row-card.is-selectable{cursor:pointer}.mobile-row-card.is-selected{border-color:var(--teal);box-shadow:0 0 0 2px var(--focus-ring)}.mobile-row-card>div{display:grid;min-width:0;gap:2px}.mobile-row-card>div.is-primary,.mobile-row-card__actions{grid-column:1 / -1}.mobile-row-card>div>span{color:var(--ink-500);font-size:12px}.mobile-row-card>div>strong{min-width:0;overflow-wrap:anywhere;font-size:13px}.mobile-row-card>div.is-primary>strong{font-size:15px}.mobile-row-card__actions{display:flex!important;padding-top:10px;border-top:1px solid var(--line);flex-wrap:wrap;gap:8px}.detail-drawer{inset:auto 0 0;width:100%;max-height:88dvh;border-radius:12px 12px 0 0}.detail-drawer__header,.bottom-sheet__header,.detail-drawer__body,.bottom-sheet__body,.detail-drawer__footer,.bottom-sheet__footer{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.settings-navigation{max-height:260px}.settings-facts>div{grid-template-columns:96px minmax(0,1fr)}}@media(max-width:767px),(max-width:1023px)and (max-height:500px){.ui-action-group--mobile-split{width:100%}.ui-action-group--mobile-split .ui-action-group__items{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.ui-action-group--mobile-split .ui-action-group__items>*{width:100%}.ui-action-group--mobile-stack,.ui-action-group--mobile-stack .ui-action-group__items{width:100%}.ui-action-group--mobile-stack .ui-action-group__items{flex-direction:column;align-items:stretch}.ui-action-group--mobile-stack .ui-action-group__items>*{width:100%}.ui-action-group--mobile-menu.has-mobile-menu{width:100%}.ui-action-group--mobile-menu.has-mobile-menu .ui-action-group__items{display:none}.ui-action-group--mobile-menu.has-mobile-menu .ui-action-group__mobile-menu{display:flex;width:100%;align-items:center;justify-content:flex-end}.panel-header{min-height:62px;align-items:flex-start;flex-direction:column;padding:14px}.panel-body{padding:14px}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.enterprise-kpi-strip>article{min-height:86px;padding:12px}.enterprise-kpi-strip__icon{display:none}.enterprise-kpi-strip__copy strong{font-size:21px}.enterprise-kpi-strip__copy small{overflow:visible;line-height:1.4;text-overflow:clip;white-space:normal}.toast{bottom:calc(78px + env(safe-area-inset-bottom))}.dialog-backdrop{align-items:end;padding:0}.dialog{width:100%;max-height:88dvh;padding-bottom:calc(22px + env(safe-area-inset-bottom));border-radius:12px 12px 0 0}}@media(max-width:1023px)and (max-height:500px){.page-header{gap:8px;padding-bottom:10px}.filter-bar--mobile-collapsible[data-expanded=true] .filter-bar__content{max-height:min(42dvh,240px);overflow-y:auto;overscroll-behavior:contain}.data-collection--bounded .data-collection__desktop,.data-collection--bounded .data-collection__mobile{max-height:min(44dvh,280px)}.detail-drawer,.bottom-sheet,.dialog{max-height:calc(100dvh - 8px - env(safe-area-inset-top))}.detail-drawer__header,.bottom-sheet__header{padding-top:10px;padding-bottom:10px}.detail-drawer__body,.bottom-sheet__body{padding-top:12px;padding-bottom:12px}.detail-drawer__footer,.bottom-sheet__footer{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.ui-action-group--form,.ui-action-group--dialog{margin-top:10px}}@media(max-width:520px){.theme-choice-group{grid-template-columns:1fr}.theme-choice{grid-template-columns:minmax(0,1fr);align-items:start}}@media(max-width:360px){.ui-action-group--mobile-split .ui-action-group__items{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.ui-button__spinner,.loading-mark{animation:none}}.login-screen{display:grid;min-height:100vh;min-height:100dvh;padding:clamp(24px,5vw,64px);place-items:center;background:var(--surface-soft)}.login-shell{display:grid;width:min(1040px,100%);min-height:600px;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg)}.login-hero{display:flex;min-width:0;flex-direction:column;padding:clamp(32px,5vw,54px);color:var(--text-on-solid);background:var(--sidebar-bg)}.brand{display:flex;align-items:center;gap:11px}.brand-mark{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:9px;color:var(--text-on-solid);background:url(/lingxi-app-icon.png) center / cover no-repeat}.brand-mark .icon{opacity:0}.brand-title{color:var(--text-on-solid);font-size:19px;font-weight:820}.brand-subtitle{margin-top:2px;color:var(--brand-panel-text-muted);font-size:12px}.login-hero-copy{max-width:560px;margin:auto 0;padding:50px 0}.login-hero-copy .eyebrow{color:var(--brand-panel-accent);font-size:12px;font-weight:750;letter-spacing:.08em}.login-hero-copy h1{margin:14px 0 18px;font-size:clamp(34px,4vw,48px);line-height:1.16}.login-hero-copy p{margin:0;color:var(--brand-panel-text);font-size:15px;line-height:1.8}.login-hero-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.login-hero-grid article{display:grid;gap:5px;padding-top:13px;border-top:1px solid var(--brand-panel-border)}.login-hero-grid strong{font-size:13px}.login-hero-grid span{color:var(--brand-panel-text-subtle);font-size:11px;line-height:1.5}.login-shell>.login-card{display:flex;align-self:stretch;justify-content:center;flex-direction:column;padding:clamp(34px,5vw,58px)}.login-card-head>span{color:var(--teal-dark);font-size:12px;font-weight:750;letter-spacing:.06em}.login-card-head h2{margin:9px 0;font-size:clamp(27px,3vw,36px)}.login-card-head p{margin:0;color:var(--ink-500);line-height:1.7}.login-form{display:grid;gap:18px;margin-top:30px}.password-control{position:relative;display:block;min-width:0}.field .password-control input{padding-right:66px}.password-control button{position:absolute;top:50%;right:6px;min-width:48px;min-height:34px;padding:6px;border:0;border-radius:var(--radius-sm);color:var(--ink-500);background:transparent;font-size:12px;font-weight:700;transform:translateY(-50%)}.password-control button:hover{color:var(--teal-dark);background:var(--teal-soft)}.login-submit{margin-top:22px}.login-assurance{display:flex;align-items:center;gap:8px;margin-top:18px;color:var(--ink-500);font-size:12px}.login-assurance .icon{width:16px;height:16px;color:var(--teal)}.password-screen{padding:24px}.password-card{display:grid;width:min(100%,520px);gap:18px;padding:clamp(28px,5vw,44px);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg)}.password-brand{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line)}.password-brand>div:last-child{display:grid;gap:3px}.password-brand strong{font-size:16px}.password-brand span,.password-requirements{color:var(--ink-500);font-size:12px;line-height:1.6}.password-requirements{padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-soft)}@media(max-width:900px){.login-screen{align-items:start;padding:24px}.login-shell{min-height:0;grid-template-columns:1fr}.login-hero{min-height:250px;padding:28px 32px}.login-hero-copy{margin:0;padding:34px 0 0}.login-hero-copy h1{margin-bottom:0;font-size:clamp(29px,6vw,40px)}.login-hero-copy p,.login-hero-grid{display:none}}@media(max-width:560px){.login-screen{padding:0;background:var(--surface)}.login-shell{min-height:100vh;min-height:100dvh;border:0;border-radius:0;box-shadow:none}.login-hero{min-height:184px;padding:20px}.login-hero-copy{padding-top:24px}.login-hero-copy .eyebrow{display:none}.login-hero-copy h1{margin-top:0;font-size:26px}.login-shell>.login-card{padding:30px 20px 40px}.password-control button{min-height:44px}.password-screen{min-height:100dvh;padding:16px;background:var(--surface-soft)}.password-card{padding:24px 18px}}@media(max-width:1023px){:root{-webkit-text-size-adjust:100%;text-size-adjust:100%}html{scroll-padding-top:var(--topbar-height);scroll-padding-bottom:calc(84px + env(safe-area-inset-bottom))}html,body,#app{max-width:100%}body{overflow-x:clip}button,.ui-button,summary{min-height:44px!important}button,a,input,select,textarea{touch-action:manipulation}.ui-button.is-icon-only{min-width:44px}input,select,textarea{max-width:100%;font-size:16px}.field{min-width:0}.main,.page-grid,.page-header,.panel,.surface,.filter-bar,.data-collection,.ui-action-group,.ui-action-group__items{min-width:0;max-width:100%}.field:focus-within{scroll-margin-bottom:calc(104px + env(safe-area-inset-bottom))}}@media(max-width:767px),(max-width:1023px)and (max-height:500px){.ui-action-group--mobile-split .ui-action-group__items>.muted{grid-column:1 / -1}}@supports (padding: max(0px)){@media(max-width:1023px){.topbar{padding-top:max(8px,env(safe-area-inset-top))}}}.access-state{display:grid;min-height:calc(100dvh - var(--topbar-height));max-width:680px;align-content:center;justify-items:start;padding:28px}.access-state-mark{display:grid;width:46px;height:46px;margin-bottom:18px;place-items:center;border-radius:var(--radius-md);color:var(--red);background:var(--red-soft)}.access-state h2{margin:0 0 10px;font-size:28px}.access-state p{max-width:560px;margin:0;color:var(--ink-500);line-height:1.75}.access-state-actions{display:flex;gap:10px;margin-top:24px}@media(max-width:767px){.access-state{min-height:calc(100dvh - 140px);padding:20px 14px}}@media(max-width:430px){.access-state-actions,.access-state-actions>*{width:100%}.access-state-actions{display:grid}}
