.boot-skeleton[data-v-8f9a2bde]{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh;background:var(--canvas)}.boot-skeleton__sidebar[data-v-8f9a2bde]{display:grid;align-content:start;gap:var(--space-3);padding:var(--space-4) var(--space-3);background:var(--sidebar)}.boot-skeleton__sidebar span[data-v-8f9a2bde]{height:12px;background:var(--sidebar-soft);border-radius:var(--radius-sm)}.boot-skeleton__topbar[data-v-8f9a2bde]{display:flex;align-items:center;height:var(--topbar-height);padding:0 var(--space-4);background:var(--surface);border-bottom:1px solid var(--line)}.boot-skeleton__topbar .skeleton-line[data-v-8f9a2bde]{width:180px}.boot-skeleton__content[data-v-8f9a2bde]{display:grid;gap:var(--space-3);padding:var(--space-5) var(--space-6)}.boot-skeleton__title[data-v-8f9a2bde]{width:240px;height:20px}.boot-skeleton__cards[data-v-8f9a2bde]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.boot-skeleton__cards .skeleton-line[data-v-8f9a2bde]{height:76px}@media(max-width:900px){.boot-skeleton[data-v-8f9a2bde]{grid-template-columns:minmax(0,1fr)}.boot-skeleton__sidebar[data-v-8f9a2bde]{display:none}.boot-skeleton__cards[data-v-8f9a2bde]{grid-template-columns:repeat(2,minmax(0,1fr))}}.schedule-leave-entry[data-v-adc74b42]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3);background:var(--success-soft);border:1px solid var(--success-border);border-radius:var(--radius-md)}.schedule-leave-entry>div[data-v-adc74b42]{display:grid;gap:var(--space-1)}.schedule-leave-entry span[data-v-adc74b42]{color:var(--text-tertiary);font-size:var(--font-size-caption)}@media(max-width:1180px){.schedule-leave-entry[data-v-adc74b42]{align-items:stretch;flex-direction:column}}.chat-attachment[data-v-961908ca]{min-width:0}.image-preview[data-v-961908ca]{display:grid;width:min(360px,100%);overflow:hidden;color:var(--text-secondary);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);text-decoration:none}.image-preview[data-v-961908ca]:hover{border-color:var(--line-hover)}.image-preview img[data-v-961908ca]{display:block;width:100%;max-height:260px;object-fit:contain;background:var(--surface-strong)}.image-preview span[data-v-961908ca]{display:flex;align-items:center;gap:var(--space-1);min-width:0;padding:var(--space-1) var(--space-2);overflow:hidden;font-size:var(--font-size-micro);text-overflow:ellipsis;white-space:nowrap}.file-download[data-v-961908ca]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2);width:min(360px,100%);min-height:48px;padding:var(--space-2);color:var(--text-secondary);text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer}.file-download[data-v-961908ca]:hover{border-color:var(--line-hover);background:var(--surface-hover)}.file-download span[data-v-961908ca]{display:grid;min-width:0;gap:2px}.file-download strong[data-v-961908ca]{overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.file-download small[data-v-961908ca]{color:var(--text-tertiary)}.leave-list[data-v-5f01d75c]{border:1px solid var(--line);border-radius:var(--radius-md)}.leave-list>header[data-v-5f01d75c]{padding:var(--space-3);background:var(--surface-subtle);border-bottom:1px solid var(--line)}.leave-form[data-v-5f01d75c]{display:grid;grid-template-columns:minmax(180px,1fr) repeat(3,minmax(112px,152px));align-items:end;gap:var(--space-2);padding:var(--space-3);background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-md)}.leave-form label[data-v-5f01d75c],.leave-form-intro[data-v-5f01d75c]{display:grid;gap:var(--space-1);color:var(--text-secondary);font-size:var(--font-size-caption)}.leave-form-intro span[data-v-5f01d75c],.leave-policy-note[data-v-5f01d75c]{color:var(--text-tertiary);font-size:var(--font-size-caption)}.leave-reason[data-v-5f01d75c],.leave-policy-note[data-v-5f01d75c],.leave-attachment-list[data-v-5f01d75c]{grid-column:1 / -1}.leave-reason textarea[data-v-5f01d75c]{min-height:56px;resize:vertical}.leave-policy-note[data-v-5f01d75c]{padding:var(--space-2);color:var(--warning-text);background:var(--warning-soft);border:1px solid var(--warning-border);border-radius:var(--radius-sm)}.leave-form-actions[data-v-5f01d75c]{display:flex;grid-column:1 / -1;justify-content:flex-end;gap:var(--space-2)}.leave-form-actions .button[data-v-5f01d75c]{display:inline-flex;align-items:center;gap:var(--space-1)}.leave-attachment-list[data-v-5f01d75c]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.leave-attachment-list>div[data-v-5f01d75c]{display:inline-flex;align-items:center;gap:var(--space-1);max-width:260px;padding:var(--space-1) var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm)}.leave-attachment-list>div span[data-v-5f01d75c]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leave-attachment-list button[data-v-5f01d75c]{display:inline-flex;padding:2px;color:var(--text-tertiary);background:transparent;border:0;cursor:pointer}.leave-row[data-v-5f01d75c]{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line)}.leave-row>div[data-v-5f01d75c]:first-child{display:grid}.leave-row span[data-v-5f01d75c]{color:var(--text-tertiary);font-size:var(--font-size-caption)}.leave-actions[data-v-5f01d75c]{display:flex;gap:var(--space-1)}.leave-record-attachments[data-v-5f01d75c]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-1);margin-top:var(--space-1)}@media(max-width:720px){.leave-form[data-v-5f01d75c]{grid-template-columns:1fr 1fr}.leave-form-intro[data-v-5f01d75c],.leave-reason[data-v-5f01d75c],.leave-policy-note[data-v-5f01d75c],.leave-attachment-list[data-v-5f01d75c],.leave-form-actions[data-v-5f01d75c]{grid-column:1 / -1}.leave-record-attachments[data-v-5f01d75c]{grid-template-columns:1fr}}.self-attendance-actions[data-v-9c2069f7]{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-1);min-width:0;overflow-x:auto}.self-attendance-actions select[data-v-9c2069f7]{width:76px;min-height:var(--control-height-small);padding:var(--space-1) var(--space-2)}.self-attendance-actions .button[data-v-9c2069f7]{white-space:nowrap}.self-attendance-state[data-v-9c2069f7]{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-height-small);padding:var(--space-1) var(--space-2);color:var(--neutral-text);background:var(--neutral-soft);border:1px solid var(--neutral-border);border-radius:var(--radius-md);font-size:var(--font-size-caption);font-weight:var(--weight-strong);white-space:nowrap;cursor:pointer}.self-attendance-state>span[data-v-9c2069f7]{width:8px;height:8px;background:var(--neutral);border-radius:50%}.self-attendance-state--working[data-v-9c2069f7]{color:var(--success-text);background:var(--success-soft);border-color:var(--success-border)}.self-attendance-state--working>span[data-v-9c2069f7]{background:var(--success)}.self-attendance-state--meal[data-v-9c2069f7]{color:var(--warning-text);background:var(--warning-soft);border-color:var(--warning-border)}.self-attendance-state--meal>span[data-v-9c2069f7]{background:var(--warning)}.self-attendance-state--rest[data-v-9c2069f7]{color:var(--primary-text);background:var(--primary-soft);border-color:var(--primary-border)}.self-attendance-state--rest>span[data-v-9c2069f7]{background:var(--primary)}.self-attendance-state--closed[data-v-9c2069f7]{color:var(--neutral-text);background:var(--surface-strong);border-color:var(--line)}.self-attendance-state.is-overdue[data-v-9c2069f7]{color:var(--danger-text);background:var(--danger-soft);border-color:var(--danger-border)}.self-attendance-state.is-overdue>span[data-v-9c2069f7]{background:var(--danger)}.trusted-device-state[data-v-9c2069f7]{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--control-height-small);padding:var(--space-1) var(--space-2);color:var(--warning-text);background:var(--warning-soft);border:1px solid var(--warning-border);border-radius:var(--radius-md);font-size:var(--font-size-micro);font-weight:var(--weight-strong);white-space:nowrap}.trusted-device-state--approved[data-v-9c2069f7]{color:var(--success-text);background:var(--success-soft);border-color:var(--success-border)}.trusted-device-state--blocked[data-v-9c2069f7]{color:var(--danger-text);background:var(--danger-soft);border-color:var(--danger-border)}.duty-role-fixed[data-v-9c2069f7]{min-width:48px;color:var(--text-secondary);font-size:var(--font-size-caption);font-weight:var(--weight-strong);text-align:center}@media(max-width:1180px){.self-attendance-actions .button[data-v-9c2069f7]{padding-inline:var(--space-2)}}.collaboration-bar[data-v-c46bb6f3]{position:sticky;top:var(--topbar-height);z-index:calc(var(--z-topbar) - 2);display:grid;grid-template-columns:auto minmax(120px,1fr) auto auto;align-items:center;gap:var(--space-2);min-height:var(--collaboration-bar-height);padding:var(--space-1) var(--space-4);color:var(--text);background:var(--surface-subtle);border-bottom:1px solid var(--line)}.collaboration-summary[data-v-c46bb6f3],.chat-trigger[data-v-c46bb6f3]{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-height-small);padding:var(--space-1) var(--space-2);color:var(--text-secondary);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap}.collaboration-summary[data-v-c46bb6f3]:hover,.chat-trigger[data-v-c46bb6f3]:hover{border-color:var(--line-hover)}.collaboration-summary strong[data-v-c46bb6f3]{font-weight:var(--weight-strong)}.connection-dot[data-v-c46bb6f3],.staff-online-dot[data-v-c46bb6f3]{width:8px;height:8px;flex:0 0 auto;background:var(--neutral);border-radius:50%}.connection-dot--live[data-v-c46bb6f3],.staff-online-dot.is-online[data-v-c46bb6f3]{background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}.connection-dot--offline[data-v-c46bb6f3]{background:var(--danger)}.online-status-strip[data-v-c46bb6f3]{display:flex;align-items:center;gap:var(--space-1);min-width:0;overflow-x:auto;scrollbar-width:thin}.online-person[data-v-c46bb6f3]{display:inline-flex;flex:0 0 auto;align-items:center;gap:var(--space-1);min-height:28px;padding:2px var(--space-2);color:var(--text-secondary);background:transparent;border:0;border-right:1px solid var(--line);cursor:pointer;white-space:nowrap}.online-person[data-v-c46bb6f3]:last-of-type{border-right:0}.online-person:hover strong[data-v-c46bb6f3]{color:var(--primary-text)}.online-person strong[data-v-c46bb6f3]{color:var(--text);font-size:var(--font-size-caption);font-weight:var(--weight-strong)}.online-person span[data-v-c46bb6f3],.online-person em[data-v-c46bb6f3]{font-size:var(--font-size-micro);font-style:normal}.online-person em[data-v-c46bb6f3]{color:var(--text-tertiary)}.online-empty[data-v-c46bb6f3]{color:var(--text-tertiary);font-size:var(--font-size-micro)}.chat-trigger[data-v-c46bb6f3]{position:relative;color:var(--primary-text);border-color:var(--primary-border)}.chat-trigger[data-v-c46bb6f3]:hover{background:var(--primary-soft);border-color:var(--primary-border)}.chat-trigger b[data-v-c46bb6f3],.collaboration-tabs b[data-v-c46bb6f3],.chat-filters b[data-v-c46bb6f3]{min-width:18px;padding:0 var(--space-1);color:var(--text-inverse);background:var(--danger);border-radius:var(--radius-pill);font:var(--font-micro);font-variant-numeric:tabular-nums;text-align:center}.collaboration-tabs[data-v-c46bb6f3]{display:flex;gap:var(--space-1);margin-bottom:var(--space-3);border-bottom:1px solid var(--line)}.collaboration-tabs button[data-v-c46bb6f3]{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--text-secondary);background:transparent;border:0;border-bottom:2px solid transparent;cursor:pointer}.collaboration-tabs button[data-v-c46bb6f3]:hover{color:var(--text)}.collaboration-tabs button.active[data-v-c46bb6f3]{color:var(--primary-text);border-bottom-color:var(--primary);font-weight:var(--weight-strong)}.internal-chat[data-v-c46bb6f3]{display:grid;grid-template-rows:auto auto minmax(280px,1fr) auto;gap:var(--space-2);height:calc(100vh - 116px)}.online-line[data-v-c46bb6f3]{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-2) var(--space-3);color:var(--text-tertiary);background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-md);font-size:var(--font-size-micro);white-space:nowrap}.online-line span[data-v-c46bb6f3]:first-child{color:var(--success-text);font-weight:var(--weight-strong)}.online-line i[data-v-c46bb6f3]{display:inline-block;width:8px;height:8px;margin-right:var(--space-1);background:var(--success);border-radius:50%}.chat-filters[data-v-c46bb6f3]{display:flex;gap:var(--space-1)}.chat-filters button[data-v-c46bb6f3]{display:inline-flex;align-items:center;gap:var(--space-1);min-height:28px;padding:var(--space-1) var(--space-2);color:var(--text-secondary);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer}.chat-filters button.active[data-v-c46bb6f3]{color:var(--primary-text);background:var(--primary-soft);border-color:var(--primary-border);font-weight:var(--weight-strong)}.message-list[data-v-c46bb6f3]{overflow-y:auto;padding:var(--space-1) var(--space-2) var(--space-4);background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-md)}.load-older[data-v-c46bb6f3]{display:block;margin:var(--space-1) auto var(--space-3);color:var(--primary);background:transparent;border:0;cursor:pointer}.internal-message[data-v-c46bb6f3]{padding:var(--space-2) var(--space-1);border-bottom:1px solid var(--line-subtle)}.internal-message.is-mentioned[data-v-c46bb6f3]{padding-inline:var(--space-2);background:var(--warning-soft);box-shadow:inset 3px 0 var(--warning)}.internal-message header[data-v-c46bb6f3]{display:flex;align-items:center;gap:var(--space-2);min-width:0}.internal-message header strong[data-v-c46bb6f3]{color:var(--text);font-weight:var(--weight-strong)}.internal-message header span[data-v-c46bb6f3],.internal-message time[data-v-c46bb6f3]{color:var(--text-tertiary);font-size:var(--font-size-micro)}.internal-message time[data-v-c46bb6f3]{margin-left:auto;font-variant-numeric:tabular-nums}.internal-message header button[data-v-c46bb6f3]{display:inline-flex;padding:var(--space-1);color:var(--text-tertiary);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer}.internal-message header button[data-v-c46bb6f3]:hover{color:var(--text);background:var(--surface-strong)}.internal-message p[data-v-c46bb6f3]{margin-top:var(--space-1);color:var(--text);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.internal-message blockquote[data-v-c46bb6f3]{margin:var(--space-2) 0 0;padding:var(--space-1) var(--space-2);color:var(--text-tertiary);background:var(--surface-strong);box-shadow:inset 3px 0 var(--line-hover);font-size:var(--font-size-micro)}.message-mentions[data-v-c46bb6f3],.selected-mentions[data-v-c46bb6f3]{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2)}.message-mentions span[data-v-c46bb6f3],.selected-mentions span[data-v-c46bb6f3]{display:inline-flex;align-items:center;gap:2px;padding:2px var(--space-2);color:var(--primary-text);background:var(--primary-soft);border-radius:var(--radius-sm);font-size:var(--font-size-micro);font-weight:var(--weight-strong)}.selected-mentions[data-v-c46bb6f3]{margin-top:0}.selected-mentions button[data-v-c46bb6f3]{display:inline-flex;padding:0;color:var(--primary-text);background:transparent;border:0;cursor:pointer}.message-attachments[data-v-c46bb6f3]{display:grid;gap:var(--space-2);margin-top:var(--space-2)}.chat-empty[data-v-c46bb6f3]{padding:var(--space-6);color:var(--text-tertiary);text-align:center}.message-composer[data-v-c46bb6f3]{display:grid;gap:var(--space-2);padding:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md)}.message-composer.is-dragging[data-v-c46bb6f3]{background:var(--primary-soft);border-color:var(--primary)}.message-composer textarea[data-v-c46bb6f3]{min-height:80px}.message-composer>div[data-v-c46bb6f3]:last-child{display:flex;align-items:center;justify-content:space-between;color:var(--text-tertiary);font-size:var(--font-size-micro)}.pending-attachments[data-v-c46bb6f3]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.pending-attachment[data-v-c46bb6f3]{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-1) var(--space-2);background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-md)}.pending-attachment img[data-v-c46bb6f3]{width:40px;height:36px;object-fit:cover;background:var(--surface-strong);border-radius:var(--radius-sm)}.pending-attachment>span[data-v-c46bb6f3]{display:grid;min-width:0;gap:2px}.pending-attachment strong[data-v-c46bb6f3]{overflow:hidden;color:var(--text);font-size:var(--font-size-micro);text-overflow:ellipsis;white-space:nowrap}.pending-attachment small[data-v-c46bb6f3]{color:var(--text-tertiary);font-size:var(--font-size-micro)}.pending-attachment>button[data-v-c46bb6f3]{display:inline-flex;padding:var(--space-1);color:var(--text-tertiary);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer}.pending-attachment>button[data-v-c46bb6f3]:hover{color:var(--danger-text);background:var(--danger-soft)}.pending-attachment.is-uploading[data-v-c46bb6f3]{grid-template-columns:40px minmax(0,1fr);color:var(--text-tertiary)}.composer-actions>div[data-v-c46bb6f3]{display:flex;align-items:center;gap:var(--space-2)}.composer-actions .icon-button[data-v-c46bb6f3]{width:32px;height:32px}.mention-picker[data-v-c46bb6f3]{position:relative}.mention-menu[data-v-c46bb6f3]{position:absolute;bottom:40px;left:0;z-index:var(--z-dropdown);display:grid;width:260px;max-height:280px;overflow-y:auto;padding:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.mention-menu input[data-v-c46bb6f3]{margin-bottom:var(--space-2)}.mention-menu>button[data-v-c46bb6f3],.mention-groups button[data-v-c46bb6f3]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:32px;padding:var(--space-1) var(--space-2);color:var(--text);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;text-align:left}.mention-menu>button[data-v-c46bb6f3]:hover,.mention-groups button[data-v-c46bb6f3]:hover{background:var(--primary-soft)}.mention-menu small[data-v-c46bb6f3],.mention-menu>span[data-v-c46bb6f3]{color:var(--text-tertiary);font-size:var(--font-size-micro)}.mention-groups[data-v-c46bb6f3]{display:flex;flex-wrap:wrap;gap:var(--space-1);padding-bottom:var(--space-2);margin-bottom:var(--space-1);border-bottom:1px solid var(--line)}.mention-groups button[data-v-c46bb6f3]{min-height:24px;color:var(--primary-text);background:var(--primary-soft)}.reply-target[data-v-c46bb6f3]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-1) var(--space-2);color:var(--text-secondary);background:var(--primary-soft);border-radius:var(--radius-sm);font-size:var(--font-size-micro)}.reply-target span[data-v-c46bb6f3]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-target button[data-v-c46bb6f3]{display:inline-flex;padding:2px;color:var(--text-secondary);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer}.reply-target button[data-v-c46bb6f3]:hover{color:var(--text);background:var(--surface)}.attendance-panel[data-v-c46bb6f3]{display:grid;gap:var(--space-4)}.attendance-roster[data-v-c46bb6f3]{border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.attendance-roster>header[data-v-c46bb6f3]{padding:var(--space-3);background:var(--surface-subtle);border-bottom:1px solid var(--line)}.attendance-roster>header>div[data-v-c46bb6f3]{display:grid;gap:2px}.attendance-roster>header strong[data-v-c46bb6f3]{font-weight:var(--weight-strong)}.attendance-roster header span[data-v-c46bb6f3]{color:var(--text-tertiary);font-size:var(--font-size-micro)}.attendance-table[data-v-c46bb6f3]{display:grid}.attendance-row[data-v-c46bb6f3]{display:grid;grid-template-columns:8px minmax(110px,1fr) 100px 90px 72px;align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line)}.attendance-row[data-v-c46bb6f3]:last-child{border-bottom:0}.attendance-row span[data-v-c46bb6f3]{color:var(--text-secondary)}.attendance-row b[data-v-c46bb6f3]{font-weight:var(--weight-strong)}.state-text--working[data-v-c46bb6f3]{color:var(--success-text)}.state-text--meal[data-v-c46bb6f3]{color:var(--warning-text)}.state-text--rest[data-v-c46bb6f3]{color:var(--primary-text)}.state-text--closed[data-v-c46bb6f3],.state-text--idle[data-v-c46bb6f3]{color:var(--text-tertiary)}@media(max-width:1180px){.online-person em[data-v-c46bb6f3]{display:none}}@media(max-width:720px){.collaboration-bar[data-v-c46bb6f3]{grid-template-columns:auto minmax(0,1fr) auto;padding-inline:var(--space-2)}.collaboration-summary strong[data-v-c46bb6f3],.chat-trigger span[data-v-c46bb6f3]{display:none}.collaboration-summary[data-v-c46bb6f3],.chat-trigger[data-v-c46bb6f3]{width:36px;justify-content:center;padding-inline:0}.online-person span[data-v-c46bb6f3],.online-person em[data-v-c46bb6f3]{display:none}.internal-chat[data-v-c46bb6f3]{height:calc(100vh - 110px)}.pending-attachments[data-v-c46bb6f3]{grid-template-columns:1fr}.attendance-row[data-v-c46bb6f3]{grid-template-columns:8px minmax(100px,1fr) 72px}.attendance-row span[data-v-c46bb6f3]{display:none}}.console[data-v-22c1b149]{min-height:100vh;padding-left:var(--sidebar-width)}.console-sidebar[data-v-22c1b149]{position:fixed;inset:0 auto 0 0;z-index:var(--z-sidebar);display:grid;grid-template-columns:var(--sidebar-rail) minmax(0,1fr);width:var(--sidebar-width);color:var(--sidebar-text-strong);background:var(--sidebar);border-right:1px solid var(--sidebar-line);transition:width var(--transition),transform var(--transition)}.domain-rail[data-v-22c1b149]{display:grid;grid-template-rows:48px 1fr;min-width:0;background:var(--sidebar-rail);border-right:1px solid var(--sidebar-line)}.brand-mark[data-v-22c1b149]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:var(--space-2) auto;color:var(--text-inverse);background:var(--primary);border-radius:var(--radius-md);font:var(--font-micro);font-size:var(--font-size-body-sm);font-weight:var(--weight-strong)}.domain-nav[data-v-22c1b149]{display:grid;align-content:start;gap:var(--space-1);padding:var(--space-2) var(--space-1)}.domain-link[data-v-22c1b149]{position:relative;display:grid;place-items:center;gap:2px;min-height:52px;padding:var(--space-1) 2px;color:var(--sidebar-text-muted);background:transparent;border:0;border-radius:var(--radius-md);cursor:pointer}.domain-link span[data-v-22c1b149]{font:var(--font-micro);text-align:center;line-height:1.2}.domain-link[data-v-22c1b149]:hover{color:var(--sidebar-text-strong);background:var(--sidebar-hover)}.domain-link.is-active[data-v-22c1b149]{color:var(--sidebar-text-strong);background:var(--sidebar-active)}.domain-link.is-active[data-v-22c1b149]:before{position:absolute;inset:var(--space-2) auto var(--space-2) calc(var(--space-1) * -1);width:3px;background:var(--sidebar-accent);border-radius:0 3px 3px 0;content:""}.domain-badge[data-v-22c1b149]{position:absolute;top:2px;right:0;min-width:16px;padding:0 4px;line-height:16px}.context-sidebar[data-v-22c1b149]{display:grid;grid-template-rows:48px 1fr;min-width:0;overflow:hidden}.context-header[data-v-22c1b149]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-width:0;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--sidebar-line)}.brand-copy[data-v-22c1b149]{display:grid;line-height:1.25;overflow:hidden}.brand-copy strong[data-v-22c1b149]{white-space:nowrap}.brand-copy small[data-v-22c1b149]{color:var(--sidebar-text-muted);white-space:nowrap}.sidebar-mobile-close[data-v-22c1b149]{display:none;color:var(--sidebar-text)}.console-nav[data-v-22c1b149]{overflow-y:auto;padding:var(--space-1) var(--space-2) var(--space-3)}.nav-section-label[data-v-22c1b149]{display:block;padding:var(--space-3) var(--space-2) var(--space-1);color:var(--sidebar-text-muted);font:var(--font-micro)}.nav-link[data-v-22c1b149]{display:flex;align-items:center;gap:var(--space-2);min-height:36px;margin:2px 0;padding:var(--space-1) var(--space-2);color:var(--sidebar-text);border-radius:var(--radius-md);transition:color var(--transition),background var(--transition)}.nav-copy[data-v-22c1b149]{display:grid;min-width:0;line-height:1.2}.nav-copy>span[data-v-22c1b149]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-copy small[data-v-22c1b149]{margin-top:2px;overflow:hidden;color:var(--sidebar-text-muted);font-size:var(--font-size-micro);text-overflow:ellipsis;white-space:nowrap}.nav-link[data-v-22c1b149]:hover{color:var(--sidebar-text-strong);background:var(--sidebar-hover)}.nav-link.is-active[data-v-22c1b149]{color:var(--sidebar-text-strong);background:var(--sidebar-active);box-shadow:inset 3px 0 var(--primary)}.nav-badge[data-v-22c1b149]{margin-left:auto;min-width:20px;padding:2px 4px;color:var(--text-inverse);background:var(--danger);border-radius:var(--radius-pill);font-size:var(--font-size-micro);font-weight:var(--weight-strong);line-height:16px;text-align:center}.console-main[data-v-22c1b149]{min-width:0}.console-topbar[data-v-22c1b149]{position:sticky;top:0;z-index:var(--z-topbar);display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,360px) auto;align-items:center;gap:var(--space-3);min-height:var(--topbar-height);padding:0 var(--space-4);background:var(--surface);border-bottom:1px solid var(--line)}.topbar-left[data-v-22c1b149],.topbar-actions[data-v-22c1b149]{display:flex;align-items:center;gap:var(--space-2);min-width:0}.breadcrumbs[data-v-22c1b149]{display:flex;align-items:baseline;gap:var(--space-2);min-width:0;overflow:hidden;color:var(--text-tertiary);font-size:var(--font-size-body-sm);white-space:nowrap}.breadcrumbs i[data-v-22c1b149]{font-style:normal;color:var(--text-disabled)}.breadcrumbs strong[data-v-22c1b149]{overflow:hidden;color:var(--text);font:var(--font-h2);text-overflow:ellipsis}.topbar-search[data-v-22c1b149]{position:relative;display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-2) 0 var(--space-3);color:var(--text-tertiary);background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-md)}.topbar-search[data-v-22c1b149]:focus-within{background:var(--surface);border-color:var(--primary);box-shadow:var(--shadow-focus-ring)}.topbar-search input[data-v-22c1b149]{min-height:32px;padding:0;background:transparent;border:0;box-shadow:none}.topbar-search input[data-v-22c1b149]:focus{box-shadow:none}.topbar-actions[data-v-22c1b149]{justify-content:flex-end}.mobile-menu[data-v-22c1b149],.topbar-search-button[data-v-22c1b149]{display:none}.desktop-collapse .rotated[data-v-22c1b149]{transform:rotate(180deg)}.tech-alert-chip[data-v-22c1b149]{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--hit-min);padding:4px var(--space-2);color:var(--text-secondary);background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-md);font-size:var(--font-size-caption);white-space:nowrap;cursor:pointer}.tech-alert-chip--ok[data-v-22c1b149]{color:var(--success-text);background:var(--success-soft);border-color:var(--success-border)}.tech-alert-chip--new[data-v-22c1b149]{color:var(--primary-text);background:var(--primary-soft);border-color:var(--primary-border)}.tech-alert-chip--overdue[data-v-22c1b149]{color:var(--warning-text);background:var(--warning-soft);border-color:var(--warning-border)}.tech-alert-chip--critical[data-v-22c1b149],.tech-alert-chip--offline[data-v-22c1b149]{color:var(--danger-text);background:var(--danger-soft);border-color:var(--danger-border)}.topbar-popover[data-v-22c1b149],.notice-trigger[data-v-22c1b149]{position:relative}.notice-badge[data-v-22c1b149]{position:absolute;top:0;right:-4px;margin:0}.notice-dot[data-v-22c1b149]{position:absolute;top:8px;right:8px;width:8px;height:8px;background:var(--warning);border-radius:50%}.user-trigger[data-v-22c1b149]{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:2px var(--space-2) 2px 2px;color:var(--text);background:transparent;border:1px solid transparent;border-radius:var(--radius-pill);cursor:pointer}.user-trigger[data-v-22c1b149]:hover{background:var(--surface-strong)}.user-trigger__name[data-v-22c1b149]{max-width:120px;overflow:hidden;font-size:var(--font-size-body-sm);text-overflow:ellipsis;white-space:nowrap}.operator-avatar[data-v-22c1b149]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--success-text);background:var(--success-soft);border-radius:50%;font-weight:var(--weight-strong)}.popover-panel[data-v-22c1b149]{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:var(--z-dropdown);display:grid;width:320px;max-width:calc(100vw - 24px);padding:var(--space-1);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.popover-panel header[data-v-22c1b149]{display:grid;gap:2px;padding:var(--space-2) var(--space-3) var(--space-3);border-bottom:1px solid var(--line);margin-bottom:var(--space-1)}.popover-panel header small[data-v-22c1b149]{color:var(--text-tertiary)}.user-panel[data-v-22c1b149]{width:240px}.notice-item[data-v-22c1b149]{display:grid;grid-template-columns:8px minmax(0,1fr);align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);color:var(--text);background:transparent;border:0;border-radius:var(--radius-md);text-align:left;cursor:pointer}.notice-item[data-v-22c1b149]:hover{background:var(--surface-strong)}.notice-item>i[data-v-22c1b149]{width:8px;height:8px;background:var(--neutral);border-radius:50%}.notice-item span[data-v-22c1b149]{display:grid;min-width:0}.notice-item small[data-v-22c1b149]{color:var(--text-tertiary)}.notice-item--danger>i[data-v-22c1b149]{background:var(--danger)}.notice-item--warning>i[data-v-22c1b149]{background:var(--warning)}.notice-item--info>i[data-v-22c1b149]{background:var(--primary)}.notice-item--success>i[data-v-22c1b149]{background:var(--success)}.notice-empty[data-v-22c1b149]{padding:var(--space-4);color:var(--text-tertiary);text-align:center}.tech-alert-setup[data-v-22c1b149]{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-4);color:var(--warning-text);background:var(--warning-soft);border-bottom:1px solid var(--warning-border);font-size:var(--font-size-caption)}.tech-alert-setup>div[data-v-22c1b149]{display:flex;gap:var(--space-2);min-width:0}.tech-alert-setup strong[data-v-22c1b149],.tech-alert-setup span[data-v-22c1b149]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tech-alert-banner[data-v-22c1b149]{position:sticky;top:var(--topbar-height);z-index:var(--z-banner);display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-1) var(--space-4);color:var(--primary-text);background:var(--primary-soft);border-bottom:1px solid var(--primary-border)}.console.has-collaboration .tech-alert-banner[data-v-22c1b149]{top:calc(var(--topbar-height) + var(--collaboration-bar-height))}.tech-alert-banner>div[data-v-22c1b149]{display:grid;min-width:0}.tech-alert-banner strong[data-v-22c1b149],.tech-alert-banner span[data-v-22c1b149]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tech-alert-banner span[data-v-22c1b149]{font-size:var(--font-size-caption)}.tech-alert-banner--reminder[data-v-22c1b149],.tech-alert-banner--overdue[data-v-22c1b149]{color:var(--warning-text);background:var(--warning-soft);border-color:var(--warning-border)}.tech-alert-banner--critical[data-v-22c1b149]{color:var(--danger-text);background:var(--danger-soft);border-color:var(--danger-border)}.tech-alert-banner--test[data-v-22c1b149]{color:var(--success-text);background:var(--success-soft);border-color:var(--success-border)}.tech-alert-chip--new[data-v-22c1b149],.tech-alert-banner--new[data-v-22c1b149],.nav-badge[data-v-22c1b149]{animation:tech-alert-pulse-22c1b149 1.4s ease-in-out 3}.tech-alert-owner[data-v-22c1b149]{font-weight:var(--weight-strong)}.console-content[data-v-22c1b149]{display:grid;gap:var(--space-4);width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--content-pad-y) var(--content-pad-x) var(--space-6)}.console--collapsed[data-v-22c1b149]{padding-left:var(--sidebar-rail)}.console--collapsed .console-sidebar[data-v-22c1b149]{width:var(--sidebar-rail)}.console--collapsed .context-sidebar[data-v-22c1b149],.mobile-scrim[data-v-22c1b149]{display:none}@media(min-width:1440px){.console-content[data-v-22c1b149]{padding:var(--space-5) var(--space-6) var(--space-8)}}@media(max-width:1100px){.console-topbar[data-v-22c1b149]{grid-template-columns:minmax(0,1fr) auto}.topbar-search[data-v-22c1b149]{display:none}.topbar-search-button[data-v-22c1b149]{display:inline-flex}}@media(max-width:900px){.console[data-v-22c1b149]{padding-left:0}.console-sidebar[data-v-22c1b149]{width:min(296px,calc(100vw - 48px));transform:translate(-100%);box-shadow:var(--shadow-md)}.console-sidebar.is-open[data-v-22c1b149]{transform:translate(0)}.console--collapsed .console-sidebar[data-v-22c1b149]{width:min(296px,calc(100vw - 48px))}.console--collapsed .context-sidebar[data-v-22c1b149]{display:grid}.mobile-scrim[data-v-22c1b149]{position:fixed;inset:0;z-index:var(--z-scrim);display:block;background:var(--scrim)}.mobile-menu[data-v-22c1b149],.sidebar-mobile-close[data-v-22c1b149]{display:inline-flex}.desktop-collapse[data-v-22c1b149]{display:none}.tech-alert-chip span[data-v-22c1b149],.user-trigger__name[data-v-22c1b149],.breadcrumbs>span[data-v-22c1b149],.breadcrumbs>i[data-v-22c1b149]{display:none}.tech-alert-chip[data-v-22c1b149]{width:var(--control-height);justify-content:center;padding-inline:0}.tech-alert-banner[data-v-22c1b149],.tech-alert-setup[data-v-22c1b149]{grid-template-columns:minmax(0,1fr) auto;padding-inline:var(--space-3)}.tech-alert-setup>div[data-v-22c1b149]{grid-column:1 / -1}.tech-alert-owner[data-v-22c1b149]{display:none}.console-content[data-v-22c1b149]{padding:var(--space-3) var(--space-3) var(--space-6)}}@keyframes tech-alert-pulse-22c1b149{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 4px var(--danger-soft)}}@media(prefers-reduced-motion:reduce){.tech-alert-chip--new[data-v-22c1b149],.tech-alert-banner--new[data-v-22c1b149],.nav-badge[data-v-22c1b149]{animation:none}}@media(max-width:560px){.console-topbar[data-v-22c1b149]{padding-inline:var(--space-2)}}.password-page[data-v-b4bac147]{min-height:100vh;background:var(--canvas)}.password-topbar[data-v-b4bac147]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:64px;padding:var(--space-2) var(--space-6);color:var(--sidebar-text-strong);background:var(--sidebar);border-bottom:1px solid var(--sidebar-line)}.password-brand[data-v-b4bac147],.password-identity[data-v-b4bac147]{display:flex;align-items:center;gap:var(--space-2)}.password-brand span[data-v-b4bac147]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--text-inverse);background:var(--primary);border-radius:var(--radius-md);font-weight:var(--weight-strong)}.password-identity[data-v-b4bac147]{color:var(--sidebar-text);font-size:var(--font-size-body-sm)}.password-workspace[data-v-b4bac147]{display:grid;place-items:center;min-height:calc(100vh - 64px);padding:28px var(--space-4)}.password-form[data-v-b4bac147]{display:grid;gap:var(--space-4);width:min(460px,100%);padding:var(--space-8);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.password-heading[data-v-b4bac147]{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:var(--space-3)}.password-heading p[data-v-b4bac147]{color:var(--primary-text);font:var(--font-micro);font-weight:var(--weight-strong)}.password-heading h1[data-v-b4bac147]{margin-top:var(--space-1);font:var(--font-display)}.password-mark[data-v-b4bac147]{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--success-text);background:var(--success-soft);border-radius:var(--radius-lg)}.password-field[data-v-b4bac147]{display:grid;gap:var(--space-1);color:var(--text-secondary);font-size:var(--font-size-body-sm);font-weight:var(--weight-medium)}.password-field input[data-v-b4bac147]{font-weight:var(--weight-regular)}.password-field input[aria-invalid=true][data-v-b4bac147]{border-color:var(--danger)}.password-notice[data-v-b4bac147],.password-error[data-v-b4bac147]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-body-sm)}.password-notice[data-v-b4bac147]{color:var(--warning-text);background:var(--warning-soft);border-color:var(--warning-border)}.password-error[data-v-b4bac147]{color:var(--danger-text);background:var(--danger-soft);border-color:var(--danger-border)}.password-visibility[data-v-b4bac147]{display:inline-flex;align-items:center;gap:var(--space-2);width:fit-content;padding:0;color:var(--text-secondary);background:transparent;border:0;cursor:pointer}.password-visibility[data-v-b4bac147]:hover{color:var(--text)}.password-actions[data-v-b4bac147]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}@media(max-width:520px){.password-topbar[data-v-b4bac147]{padding-inline:var(--space-4)}.password-identity[data-v-b4bac147]{display:none}.password-form[data-v-b4bac147]{padding:var(--space-6) var(--space-5);box-shadow:none}.password-actions[data-v-b4bac147]{align-items:stretch;flex-direction:column}}.login-page[data-v-416c2f78]{display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(420px,.95fr);min-height:100vh;background:var(--canvas)}.login-brand[data-v-416c2f78]{position:relative;display:grid;align-content:space-between;min-height:100vh;padding:var(--space-8) 56px var(--space-8);overflow:hidden;color:var(--text-inverse);background:var(--sidebar) url(/static/v2/login-operations.jpg) center/cover no-repeat}.login-brand__overlay[data-v-416c2f78]{position:absolute;inset:0;background:color-mix(in srgb,var(--sidebar) 82%,transparent)}.login-brand__content[data-v-416c2f78],.login-brand__footer[data-v-416c2f78]{position:relative;z-index:1}.login-logo[data-v-416c2f78]{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--primary);border-radius:var(--radius-md);font:var(--font-h1)}.login-kicker[data-v-416c2f78]{margin-top:56px;color:var(--sidebar-accent);font:var(--font-micro);font-weight:var(--weight-strong)}.login-brand h1[data-v-416c2f78]{max-width:620px;margin-top:var(--space-2);font-size:32px;font-weight:var(--weight-strong);line-height:1.25}.login-subtitle[data-v-416c2f78]{max-width:520px;margin-top:var(--space-4);color:var(--sidebar-text);font:var(--font-h2);font-weight:var(--weight-regular)}.login-signals[data-v-416c2f78]{display:flex;gap:var(--space-2);margin-top:var(--space-8);flex-wrap:wrap}.login-signals span[data-v-416c2f78]{display:inline-flex;align-items:center;gap:var(--space-2);min-height:36px;padding:var(--space-2) var(--space-3);color:var(--sidebar-text-strong);background:color-mix(in srgb,var(--text-inverse) 8%,transparent);border:1px solid color-mix(in srgb,var(--text-inverse) 12%,transparent);border-radius:var(--radius-md)}.login-brand__footer[data-v-416c2f78]{color:var(--sidebar-text-muted);font-size:var(--font-size-caption)}.login-form-area[data-v-416c2f78]{display:grid;place-items:center;padding:var(--space-8)}.login-form[data-v-416c2f78]{display:grid;gap:var(--space-4);width:min(430px,100%);padding:var(--space-8);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.login-form__heading span[data-v-416c2f78]{color:var(--primary-text);font:var(--font-micro);font-weight:var(--weight-strong)}.login-form__heading h2[data-v-416c2f78]{margin-top:var(--space-1);font:var(--font-display)}.login-form__heading p[data-v-416c2f78]{margin-top:var(--space-2);color:var(--text-secondary)}.login-field[data-v-416c2f78]{display:grid;gap:var(--space-1);color:var(--text-secondary);font-size:var(--font-size-body-sm);font-weight:var(--weight-medium)}.input-icon-wrap[data-v-416c2f78]{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:var(--space-2);padding-left:var(--space-3);color:var(--text-tertiary);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);font-weight:var(--weight-regular)}.input-icon-wrap[data-v-416c2f78]:focus-within{color:var(--primary);border-color:var(--primary);box-shadow:var(--shadow-focus-ring)}.input-icon-wrap.is-invalid[data-v-416c2f78]{border-color:var(--danger)}.input-icon-wrap input[data-v-416c2f78]{min-height:var(--control-height-large);padding-left:0;border:0;box-shadow:none}.password-toggle[data-v-416c2f78]{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--text-tertiary);background:transparent;border:0;border-radius:var(--radius-md);cursor:pointer}.password-toggle[data-v-416c2f78]:hover{color:var(--text)}.login-submit[data-v-416c2f78]{margin-top:var(--space-1)}.login-security[data-v-416c2f78]{color:var(--text-tertiary);font-size:var(--font-size-caption);text-align:center}.login-notice[data-v-416c2f78]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-body-sm)}.login-notice--danger[data-v-416c2f78]{color:var(--danger-text);background:var(--danger-soft);border-color:var(--danger-border)}.login-notice--warning[data-v-416c2f78]{color:var(--warning-text);background:var(--warning-soft);border-color:var(--warning-border)}@media(max-width:900px){.login-page[data-v-416c2f78]{grid-template-columns:1fr}.login-brand[data-v-416c2f78]{min-height:260px;padding:28px}.login-kicker[data-v-416c2f78]{margin-top:var(--space-6)}.login-brand h1[data-v-416c2f78]{font-size:var(--font-size-display)}.login-signals[data-v-416c2f78],.login-brand__footer[data-v-416c2f78]{display:none}.login-form-area[data-v-416c2f78]{padding:var(--space-6) var(--space-4) var(--space-8)}}@media(max-width:520px){.login-brand[data-v-416c2f78]{min-height:220px;padding:var(--space-6)}.login-subtitle[data-v-416c2f78]{font-size:var(--font-size-body)}.login-form[data-v-416c2f78]{padding:var(--space-6) var(--space-5);box-shadow:none}}:root{color-scheme:light;--font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", ui-sans-serif, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--canvas: #f4f6f8;--surface: #ffffff;--surface-subtle: #f7f9fb;--surface-strong: #edf1f5;--surface-raised: #fbfcfd;--surface-hover: #f8fbff;--surface-disabled: #f1f4f7;--line: #dce2e9;--line-subtle: #e7ebf0;--line-strong: #c7d0da;--line-hover: #9ba8b8;--text: #182235;--text-secondary: #566478;--text-tertiary: #5f6c80;--text-disabled: #9aa5b4;--text-inverse: #ffffff;--code-text: #1d3d69;--code-block-bg: #121b2d;--code-block-text: #d8e4f2;--backdrop: rgba(15, 23, 42, .42);--scrim: rgba(15, 23, 42, .35);--sidebar: #121a27;--sidebar-rail: #101827;--sidebar-soft: #1c2738;--sidebar-hover: #1d293b;--sidebar-active: #24344d;--sidebar-line: #273349;--sidebar-field: #1b2638;--sidebar-field-line: #2c394e;--sidebar-text: #b9c5d6;--sidebar-text-muted: #8e9db3;--sidebar-text-strong: #e8eef6;--sidebar-accent: #4b8dd8;--primary: #2864dc;--primary-hover: #1e4fb4;--primary-text: #234f87;--primary-border: #c9daf3;--primary-soft: #edf3ff;--success: #078579;--success-hover: #06705f;--success-text: #176a60;--success-border: #a7ded5;--success-soft: #e8f7f4;--warning: #b86d00;--warning-hover: #9c5c00;--warning-text: #875600;--warning-border: #eddba9;--warning-soft: #fff5df;--danger: #c9433e;--danger-hover: #b13a35;--danger-text: #9f2e2a;--danger-border: #f2c9c6;--danger-soft: #fff0ef;--neutral: #8a96a6;--neutral-hover: #727f91;--neutral-text: #596579;--neutral-border: #dce2e9;--neutral-soft: #edf0f4;--accent: #6758b8;--accent-hover: #55489c;--accent-text: #4c408e;--accent-border: #d6d0f1;--accent-soft: #f1efff;--font-display: 600 24px/32px var(--font-sans);--font-size-display: 24px;--line-height-display: 32px;--font-h1: 600 20px/28px var(--font-sans);--font-size-h1: 20px;--line-height-h1: 28px;--font-h2: 600 16px/24px var(--font-sans);--font-size-h2: 16px;--line-height-h2: 24px;--font-h3: 600 14px/22px var(--font-sans);--font-size-h3: 14px;--line-height-h3: 22px;--font-body: 400 14px/22px var(--font-sans);--font-size-body: 14px;--line-height-body: 22px;--font-body-sm: 400 13px/20px var(--font-sans);--font-size-body-sm: 13px;--line-height-body-sm: 20px;--font-caption: 400 12px/18px var(--font-sans);--font-size-caption: 12px;--line-height-caption: 18px;--font-micro: 500 11px/16px var(--font-sans);--font-size-micro: 11px;--line-height-micro: 16px;--weight-regular: 400;--weight-medium: 500;--weight-strong: 600;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(18, 26, 39, .045);--shadow-md: 0 14px 36px rgba(18, 26, 39, .12);--shadow-overlay: 0 22px 60px rgba(18, 26, 39, .18);--shadow-focus-ring: 0 0 0 3px rgba(40, 100, 220, .18);--z-sticky: 10;--z-banner: 35;--z-topbar: 40;--z-scrim: 45;--z-sidebar: 50;--z-dropdown: 1000;--z-drawer: 1100;--z-modal: 1200;--z-toast: 1300;--z-system: 1400;--control-height: 36px;--control-height-small: 30px;--control-height-large: 40px;--hit-min: 32px;--icon-stroke: 1.75;--sidebar-width: 224px;--sidebar-rail: 58px;--topbar-height: 54px;--collaboration-bar-height: 40px;--content-max: 1680px;--content-pad-x: 16px;--content-pad-y: 16px;--transition: .16s ease;--chart-blue: #2864dc;--chart-teal: #078579;--chart-amber: #b86d00;--chart-red: #c9433e;--chart-violet: #6758b8;--chart-cyan: #3288a8;--chart-green: #4f8a55;--chart-gray: #8a96a6;--blue: var(--primary);--blue-strong: var(--primary-hover);--blue-soft: var(--primary-soft);--teal: var(--success);--teal-soft: var(--success-soft);--amber: var(--warning);--amber-soft: var(--warning-soft);--amber-strong: var(--warning-text);--warning-strong: var(--warning-text);--red: var(--danger);--red-soft: var(--danger-soft);--danger-surface: var(--danger-soft);--violet: var(--accent);--violet-soft: var(--accent-soft);--brand: var(--primary);--ink: var(--text);--text-soft: var(--text-secondary);--text-faint: var(--text-tertiary);--text-muted: var(--text-tertiary);--color-text-muted: var(--text-tertiary);--muted: var(--text-tertiary);--border: var(--line);--line-soft: var(--line-subtle);--surface-muted: var(--surface-subtle);--surface-soft: var(--surface-subtle);--code-bg: var(--surface-strong);--radius: var(--radius-md);--control-height-sm: var(--control-height-small);--content-padding-y: var(--content-pad-y);--content-padding-x: var(--content-pad-x)}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}html{overflow-y:scroll;background:var(--canvas);scrollbar-gutter:stable}body{min-width:320px;min-height:100vh;color:var(--text);background:var(--canvas);font:var(--font-body);letter-spacing:0;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;letter-spacing:0}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}h1{font:var(--font-h1)}h2{font:var(--font-h2)}h3,h4{font:var(--font-h3)}strong,b{font-weight:var(--weight-strong)}small{font-size:var(--font-size-caption)}code,pre,kbd{font-family:var(--font-mono)}svg.lucide{stroke-width:var(--icon-stroke);flex:0 0 auto}::selection{color:var(--text-inverse);background:var(--primary)}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}input:where(:not([type=checkbox],[type=radio],[type=range],[type=color],[class*=n-])),select:where(:not([class*=n-])),textarea:where(:not([class*=n-])){width:100%;min-height:var(--control-height);padding:0 var(--space-3);line-height:20px;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition),box-shadow var(--transition)}textarea:where(:not([class*=n-])){min-height:112px;padding:var(--space-2) var(--space-3);resize:vertical;line-height:1.55}input:where(:not([type=checkbox],[type=radio],[type=range],[type=color],[class*=n-])):focus,select:where(:not([class*=n-])):focus,textarea:where(:not([class*=n-])):focus{border-color:var(--primary);box-shadow:var(--shadow-focus-ring)}input:where([aria-invalid=true]),select:where([aria-invalid=true]),textarea:where([aria-invalid=true]){border-color:var(--danger)}input:where(:not([class*=n-]))::placeholder,textarea:where(:not([class*=n-]))::placeholder{color:var(--text-disabled)}input:where(:not([type=checkbox],[type=radio],[type=range],[type=color],[class*=n-])):disabled,select:where(:not([class*=n-])):disabled,textarea:where(:not([class*=n-])):disabled{color:var(--text-tertiary);background:var(--surface-disabled);cursor:not-allowed}input:where([type=checkbox],[type=radio]):where(:not([class*=n-])){flex:0 0 auto;width:16px;height:16px;margin:0;accent-color:var(--primary);cursor:pointer;vertical-align:middle}input:where([type=checkbox],[type=radio]):disabled{cursor:not-allowed}label:where(:not([class*=n-])){display:grid;gap:var(--space-1);min-width:0;color:var(--text-secondary);font-size:var(--font-size-body-sm)}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}.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}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-3);line-height:20px;border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-body);font-weight:var(--weight-medium);cursor:pointer;white-space:nowrap;transition:background var(--transition),border-color var(--transition),color var(--transition),transform var(--transition)}.button:active{transform:translateY(1px)}.button:disabled,.button[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.button--primary{color:var(--text-inverse);background:var(--primary);border-color:var(--primary)}.button--primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.button--secondary{color:var(--text);background:var(--surface);border-color:var(--line-strong)}.button--secondary:hover:not(:disabled){border-color:var(--line-hover);background:var(--surface-subtle)}.button--success{color:var(--text-inverse);background:var(--success);border-color:var(--success)}.button--success:hover:not(:disabled){background:var(--success-hover);border-color:var(--success-hover)}.button--danger{color:var(--text-inverse);background:var(--danger);border-color:var(--danger)}.button--danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.button--danger-outline{color:var(--danger-text);background:var(--surface);border-color:var(--danger-border)}.button--danger-outline:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.button--ghost{color:var(--text-secondary);background:transparent;border-color:transparent}.button--ghost:hover:not(:disabled){color:var(--text);background:var(--surface-strong)}.button--small{min-height:var(--control-height-small);padding:0 var(--space-3);font-size:var(--font-size-body-sm);gap:var(--space-1)}.button--large{min-height:var(--control-height-large);padding:0 var(--space-4)}.button--block{width:100%}.icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 var(--control-height);width:var(--control-height);height:var(--control-height);padding:0;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer}.icon-button:hover:not(:disabled){color:var(--text);background:var(--surface-strong);border-color:var(--line)}.icon-button:disabled{opacity:.45;cursor:not-allowed}.icon-button--small{flex-basis:28px;width:28px;height:28px}.icon-button--danger:hover:not(:disabled){color:var(--danger-text);background:var(--danger-soft);border-color:var(--danger-border)}.button--small:after,.icon-button--small:after{position:absolute;inset:-2px;content:""}.surface{min-width:0;max-width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}.surface-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:48px;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--line)}.surface-header h2{font:var(--font-h2)}.surface-header p{color:var(--text-tertiary);font-size:var(--font-size-caption)}.surface-body{min-width:0;padding:var(--space-4)}.surface-scroll{min-width:0;overflow:auto;overscroll-behavior-x:contain;overscroll-behavior-y:auto}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.section-title h2{font:var(--font-h2)}.section-title p{color:var(--text-tertiary);font-size:var(--font-size-caption)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;min-width:0;gap:var(--space-4)}.page-header h1{font:var(--font-h1)}.page-header p{max-width:920px;margin-top:var(--space-1);color:var(--text-secondary)}.page-eyebrow{display:block;margin-bottom:var(--space-1);color:var(--text-tertiary);font:var(--font-micro)}.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);min-width:0;min-height:48px;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}.toolbar__grow{flex:1 1 240px;min-width:180px}.toolbar input:where(:not([type=checkbox],[type=radio],[type=range],[type=color],[class*=n-])),.toolbar select:where(:not([class*=n-])){min-height:var(--control-height)}.toolbar>select:where(:not([class*=n-])){width:auto;min-width:128px;max-width:min(220px,100%)}.filter-bar{display:grid;gap:var(--space-2);min-width:0;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line)}.filter-bar__row{display:flex;align-items:flex-end;flex-wrap:wrap;gap:var(--space-2) var(--space-3);min-width:0}.filter-bar__search{position:relative;flex:1 1 240px;min-width:180px;max-width:420px}.filter-bar__search>svg{position:absolute;top:50%;left:var(--space-3);color:var(--text-tertiary);transform:translateY(-50%);pointer-events:none}.filter-bar__search>input{padding-left:32px}.filter-bar__row>select:where(:not([class*=n-])),.filter-bar__row>input:where(:not([type=checkbox],[type=radio],[class*=n-])){flex:0 1 auto;width:auto;min-width:140px;max-width:240px}.filter-bar__row>label:where(:not([class*=n-])){flex:0 1 auto;min-width:140px;max-width:240px}.filter-bar__field{display:grid;gap:var(--space-1);min-width:140px;max-width:240px}.filter-bar__field>span{color:var(--text-tertiary);font-size:var(--font-size-caption)}.filter-bar__actions{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.filter-chips{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);color:var(--text-tertiary);font-size:var(--font-size-caption)}.filter-chip{display:inline-flex;align-items:center;gap:var(--space-1);min-height:24px;padding:0 4px 0 8px;color:var(--primary-text);background:var(--primary-soft);border:1px solid var(--primary-border);border-radius:var(--radius-pill);font-size:var(--font-size-caption)}.filter-chip button{display:inline-flex;padding:2px;color:inherit;background:transparent;border:0;border-radius:var(--radius-pill);cursor:pointer}.filter-chip button:hover{background:var(--primary-border)}.filter-chips__total{margin-left:auto;color:var(--text-secondary)}.filter-chips__clear{padding:0;color:var(--primary);background:transparent;border:0;cursor:pointer;font-size:var(--font-size-caption)}.stat-strip{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);min-width:0;min-height:48px;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}.stat-chip{display:inline-flex;align-items:baseline;gap:var(--space-2);min-height:32px;padding:var(--space-1) var(--space-2);color:var(--text);background:transparent;border:0;border-radius:var(--radius-md);font:inherit;text-align:left;white-space:nowrap}.stat-chip>i{flex:0 0 auto;align-self:center;width:8px;height:8px;background:var(--primary);border-radius:50%}.stat-chip__label{color:var(--text-secondary);font-size:var(--font-size-body-sm)}.stat-chip>strong{font:var(--font-h3);font-variant-numeric:tabular-nums}.stat-chip>small{color:var(--text-tertiary);font-size:var(--font-size-caption);white-space:normal}.stat-chip--primary>strong{font:var(--font-h2)}.stat-chip--hinted .stat-chip__label{text-decoration:underline dotted var(--line-hover);text-underline-offset:3px;cursor:help}.stat-chip--teal>i,.stat-chip--success>i{background:var(--success)}.stat-chip--amber>i,.stat-chip--warning>i{background:var(--warning)}.stat-chip--red>i,.stat-chip--danger>i{background:var(--danger)}.stat-chip--violet>i,.stat-chip--accent>i{background:var(--accent)}.stat-chip--neutral>i,.stat-chip--zero>i{background:var(--neutral)}.stat-chip--warning:not(.stat-chip--zero),.stat-chip--amber:not(.stat-chip--zero){background:var(--warning-soft)}.stat-chip--danger:not(.stat-chip--zero),.stat-chip--red:not(.stat-chip--zero){background:var(--danger-soft)}.stat-chip--warning:not(.stat-chip--zero)>strong,.stat-chip--amber:not(.stat-chip--zero)>strong{color:var(--warning-text)}.stat-chip--danger:not(.stat-chip--zero)>strong,.stat-chip--red:not(.stat-chip--zero)>strong{color:var(--danger-text)}button.stat-chip{cursor:pointer}button.stat-chip:hover{background:var(--surface-strong)}.stat-strip__zeros{color:var(--text-tertiary);font-size:var(--font-size-caption)}.stat-strip--stale .stat-chip>strong{color:var(--text-tertiary)}.data-table-wrap{width:100%;max-width:100%;overflow:auto;overscroll-behavior-x:contain;overscroll-behavior-y:auto;scrollbar-gutter:stable}.data-table-wrap--bounded{max-height:min(680px,calc(100vh - 260px))}.data-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;font-size:var(--font-size-body-sm)}.data-table caption{padding:0}.data-table th{position:sticky;top:0;z-index:2;padding:var(--space-2) var(--space-3);color:var(--text-secondary);background:var(--surface-subtle);border-bottom:1px solid var(--line-strong);font-weight:var(--weight-medium);text-align:left;white-space:nowrap}.data-table td{padding:var(--space-2) var(--space-3);background:var(--surface);border-bottom:1px solid var(--line);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover td{background:var(--surface-hover)}.data-table tbody tr.is-selected td{background:var(--primary-soft)}.data-table tbody tr.is-clickable{cursor:pointer}.data-table .num,.data-table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table .center{text-align:center}.data-table td small{display:block;margin-top:2px;color:var(--text-tertiary);font-size:var(--font-size-caption)}.data-table code{color:var(--code-text);word-break:break-all}.data-table .is-sticky-start{position:sticky;left:0;z-index:1;box-shadow:1px 0 0 var(--line)}.data-table th.is-sticky-start{z-index:3}.data-table .is-sticky-end{position:sticky;right:0;z-index:1;box-shadow:-1px 0 0 var(--line)}.data-table th.is-sticky-end{z-index:3}.data-table .col-check{width:40px}.th-sort{display:inline-flex;align-items:center;gap:4px;padding:0;color:inherit;background:transparent;border:0;font:inherit;cursor:pointer}.th-sort:hover{color:var(--text)}.th-sort svg{opacity:.45}.th-sort[aria-pressed=true] svg{opacity:1;color:var(--primary)}.table-actions,.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-1);white-space:nowrap}.batch-bar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) var(--space-4);color:var(--primary-text);background:var(--primary-soft);border-bottom:1px solid var(--primary-border);font-size:var(--font-size-body-sm)}.batch-bar__spacer{flex:1 1 auto}.menu{position:relative;display:inline-flex}.menu__list{position:absolute;top:calc(100% + 4px);right:0;z-index:var(--z-dropdown);display:grid;min-width:160px;padding:var(--space-1);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.menu__list--up{top:auto;bottom:calc(100% + 4px)}.menu__item{display:flex;align-items:center;gap:var(--space-2);min-height:32px;padding:0 var(--space-3);color:var(--text);background:transparent;border:0;border-radius:var(--radius-sm);font-size:var(--font-size-body-sm);text-align:left;white-space:nowrap;cursor:pointer}.menu__item:hover:not(:disabled),.menu__item:focus-visible{background:var(--surface-strong);outline:none}.menu__item:disabled{color:var(--text-disabled);cursor:not-allowed}.menu__item--danger{color:var(--danger-text)}.menu__item--danger:hover:not(:disabled){background:var(--danger-soft)}.menu__divider{height:1px;margin:var(--space-1) 0;background:var(--line)}.status-badge{display:inline-flex;align-items:center;gap:var(--space-2);min-height:24px;padding:2px 8px;border-radius:var(--radius-pill);color:var(--primary-text);background:var(--primary-soft);font-size:var(--font-size-caption);white-space:nowrap}.status-badge i{width:7px;height:7px;flex:0 0 auto;background:var(--primary);border-radius:50%}.status-badge--success{color:var(--success-text);background:var(--success-soft)}.status-badge--success i{background:var(--success)}.status-badge--warning{color:var(--warning-text);background:var(--warning-soft)}.status-badge--warning i{background:var(--warning)}.status-badge--danger{color:var(--danger-text);background:var(--danger-soft)}.status-badge--danger i{background:var(--danger)}.status-badge--neutral{color:var(--neutral-text);background:var(--neutral-soft)}.status-badge--neutral i{background:var(--neutral)}.status-badge--accent{color:var(--accent-text);background:var(--accent-soft)}.status-badge--accent i{background:var(--accent)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-span-2{grid-column:span 2}.form-span-full{grid-column:1 / -1}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-1)}.field-error{color:var(--danger-text);font-size:var(--font-size-caption)}.field-hint{color:var(--text-tertiary);font-size:var(--font-size-caption)}.required:after{margin-left:2px;color:var(--danger);content:"*"}.split-view{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(480px,1.28fr);gap:var(--space-3);min-height:0}.three-pane{display:grid;grid-template-columns:312px minmax(392px,1fr) minmax(300px,.78fr);gap:var(--space-3);min-height:calc(100vh - 170px)}.pane{min-width:0;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}.pane__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:52px;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line)}.pane__body{min-height:0;overflow:auto}.order-row{display:grid;gap:var(--space-1);padding:var(--space-3);border-bottom:1px solid var(--line);cursor:pointer}.order-row:hover{background:var(--surface-subtle)}.order-row.is-selected{background:var(--primary-soft);box-shadow:inset 3px 0 var(--primary)}.order-row__title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.order-row__meta{color:var(--text-secondary);font-size:var(--font-size-caption)}.order-row__desc{color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-2)}.detail-item{min-width:0;padding:var(--space-2) var(--space-3);background:var(--surface-subtle);border:1px solid var(--line-subtle);border-radius:var(--radius-md)}.detail-item span{display:block;color:var(--text-tertiary);font-size:var(--font-size-caption)}.detail-item strong{display:block;margin-top:var(--space-1);overflow-wrap:anywhere}.raw-block{padding:var(--space-3);color:var(--code-block-text);background:var(--code-block-bg);border-radius:var(--radius-md);white-space:pre-wrap;overflow-wrap:anywhere}.tabs{display:flex;align-items:center;gap:4px;min-height:40px;padding:4px;overflow-x:auto;background:var(--surface-strong);border-radius:var(--radius-md);scrollbar-width:thin}.tab{min-height:32px;padding:4px 12px;color:var(--text-secondary);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.tab:hover{color:var(--text)}.tab.is-active,.tab[aria-selected=true]{color:var(--text);background:var(--surface);box-shadow:var(--shadow-sm)}.empty-state,.empty-placeholder{display:grid;place-items:center;align-content:center;gap:var(--space-2);min-height:180px;padding:var(--space-8) var(--space-6);color:var(--text-tertiary);text-align:center}.empty-state strong,.empty-placeholder strong{color:var(--text-secondary)}.empty-state span{max-width:420px}.empty-state--compact{min-height:96px;padding:var(--space-4)}.error-state{display:grid;justify-items:center;gap:var(--space-2);margin:var(--space-4);padding:var(--space-5) var(--space-4);color:var(--text-secondary);text-align:center;background:var(--danger-soft);border:1px solid var(--danger-border);border-radius:var(--radius-md)}.error-state>svg{color:var(--danger)}.error-state strong{color:var(--danger-text)}.error-state span{max-width:520px;overflow-wrap:anywhere;font-size:var(--font-size-body-sm)}.error-state--compact{margin:var(--space-2) 0;padding:var(--space-3)}.stale-note{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--warning-text);background:var(--warning-soft);border:1px solid var(--warning-border);border-radius:var(--radius-md);font-size:var(--font-size-body-sm)}.stale-note .button{margin-left:auto}.loading-block{display:grid;gap:var(--space-3);padding:var(--space-5)}.loading-block--compact{padding:var(--space-3)}.loading-block__label{color:var(--text-tertiary);font-size:var(--font-size-caption)}.skeleton-line{display:block;height:14px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-strong) 20%,var(--surface-subtle) 42%,var(--surface-strong) 64%);background-size:240% 100%;animation:skeleton 1.25s linear infinite}@keyframes skeleton{to{background-position:-240% 0}}.toast-stack{position:fixed;top:calc(var(--topbar-height) + var(--space-2));right:var(--space-4);z-index:var(--z-toast);display:grid;gap:var(--space-2);width:min(390px,calc(100vw - 32px))}.toast{display:grid;grid-template-columns:20px minmax(0,1fr) auto 28px;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);color:var(--text-inverse);background:var(--text);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.toast>span{overflow-wrap:anywhere}.toast--success{background:var(--success-text)}.toast--warning{background:var(--warning-text)}.toast--danger{background:var(--danger-text)}.toast .icon-button{color:inherit}.toast .icon-button:hover{color:inherit;background:transparent;border-color:transparent;opacity:.8}.toast__action{padding:2px 8px;color:inherit;background:transparent;border:1px solid currentColor;border-radius:var(--radius-sm);font-size:var(--font-size-caption);cursor:pointer}.modal-backdrop,.drawer-backdrop{position:fixed;inset:0;display:grid;background:var(--backdrop);backdrop-filter:blur(2px)}.drawer-backdrop{z-index:var(--z-drawer)}.modal-backdrop{z-index:var(--z-modal)}.confirm-dialog,.app-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);overflow:hidden;align-self:center;justify-self:center;width:min(420px,calc(100vw - 28px));background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay)}.app-dialog--form{width:min(560px,calc(100vw - 28px))}.confirm-dialog header,.app-dialog header{display:grid;grid-template-columns:auto minmax(0,1fr) 36px;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line)}.app-dialog header{grid-template-columns:minmax(0,1fr) 36px}.confirm-dialog h2,.app-dialog h2{font:var(--font-h2)}.confirm-dialog__body,.app-dialog__body{display:grid;gap:var(--space-3);min-height:0;overflow-y:auto;overscroll-behavior:contain;overflow-wrap:anywhere;padding:var(--space-4);color:var(--text-secondary)}.confirm-dialog__body>p{white-space:pre-line}.confirm-impact{display:grid;gap:var(--space-1);margin:0;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-6);color:var(--text);background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-md)}.confirm-dialog footer,.app-dialog footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--surface-subtle);border-top:1px solid var(--line)}.confirm-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--warning);background:var(--warning-soft);border-radius:50%}.confirm-icon.danger{color:var(--danger);background:var(--danger-soft)}.choice-list{display:grid;gap:var(--space-2);margin:0;padding:0;border:0}.choice-option{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:start;gap:var(--space-2);padding:var(--space-3);color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer}.choice-option:has(input:checked){background:var(--primary-soft);border-color:var(--primary-border)}.choice-option small{display:block;color:var(--text-tertiary)}.drawer-backdrop{min-width:0;min-height:0;justify-items:end;overflow:hidden}.drawer{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(560px,100vw);max-width:100vw;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;min-width:0;min-height:0;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-overlay)}.drawer--wide{width:min(820px,100vw)}.drawer--full{width:min(1120px,100vw)}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-width:0;min-height:56px;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--line)}.drawer-header h2{min-width:0;font:var(--font-h2);overflow-wrap:anywhere}.drawer-header p{margin-top:2px;color:var(--text-tertiary);font-size:var(--font-size-caption)}.drawer-header .icon-button{flex:0 0 var(--control-height)}.drawer-body{min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-4);scrollbar-gutter:stable}.drawer-body>*{min-width:0}.drawer-footer{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);min-width:0;padding:var(--space-3) var(--space-4);background:var(--surface-subtle);border-top:1px solid var(--line)}.stack,.page-stack{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:var(--space-3)}.stack--loose{gap:var(--space-4)}.panel{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}.inline{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.muted{color:var(--text-tertiary)}.text-secondary{color:var(--text-secondary)}.text-danger{color:var(--danger-text)}.text-success{color:var(--success-text)}.text-warning{color:var(--warning-text)}.mono{font-family:var(--font-mono)}.num{font-variant-numeric:tabular-nums}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kbd{display:inline-flex;align-items:center;min-width:20px;padding:0 4px;color:var(--text-tertiary);background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-sm);font:var(--font-micro);font-family:var(--font-mono)}.pagination-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-4);color:var(--text-secondary);border-top:1px solid var(--line);font-size:var(--font-size-caption)}.pagination-bar__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.pagination-bar>span{white-space:nowrap}.pagination-bar__range{color:var(--text-tertiary)}@media(max-width:1180px){.three-pane{grid-template-columns:312px minmax(440px,1fr)}.three-pane>:last-child{grid-column:1 / -1;min-height:360px}.form-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}.console-content{container-name:console-content;container-type:inline-size}.console-content,.console-content>*,.console-main,.surface,.page-header,.toolbar,.split-view,.three-pane{min-width:0;max-width:100%}.console-main{overflow-x:clip}@container console-content (max-width: 1050px){.split-view,.three-pane{grid-template-columns:1fr!important}.three-pane>:last-child{grid-column:auto!important}.page-header{align-items:stretch;flex-direction:column;gap:var(--space-2)}.page-actions{justify-content:flex-start}}@container console-content (max-width: 760px){.toolbar{align-items:stretch;flex-direction:column}.toolbar__grow{flex-basis:auto;min-width:0}.toolbar>select,.toolbar>.button{width:100%;max-width:none}.form-grid,.form-grid--3{grid-template-columns:1fr!important}.form-span-2{grid-column:span 1}}@media(max-width:820px){.page-header{align-items:stretch;flex-direction:column;gap:var(--space-2)}.page-actions{justify-content:flex-start}.split-view,.three-pane{grid-template-columns:1fr;min-height:0}.three-pane>:last-child{grid-column:auto}.pane{min-height:320px}.form-grid,.form-grid--3{grid-template-columns:1fr}.form-span-2{grid-column:span 1}.toolbar{align-items:stretch;flex-direction:column}.toolbar__grow{flex-basis:auto;min-width:0}}@media(max-width:520px){.page-header h1{font-size:var(--font-size-h1)}.page-actions .button{flex:1 1 auto}.tabs{overflow-x:auto}.drawer-body{padding:12px}.drawer-footer .button{flex:1 1 120px}.pagination-bar{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
