/* Admin extension of the existing workspace design system. Keep the legacy class
   names and vendor behavior; all presentation below belongs to the admin route. */
.cw3-admin[data-cw-system],
.cw3-admin[data-cw-system] .cw3,
:is(.cw3-modal-overlay,.cwk-drawer-overlay,.cw3-dlg-wrap,.cw3-detail-lightbox)[data-cw-system],
:is(.cw3-modal-overlay,.cwk-drawer-overlay,.cw3-dlg-wrap,.cw3-detail-lightbox)[data-cw-system] .cw3 {
    --cw3-bg: var(--cw-surface-canvas);
    --cw3-bg-2: var(--cw-surface-raised);
    --cw3-panel: var(--cw-surface-panel);
    --cw3-panel-2: var(--cw-surface-raised);
    --cw3-surface: var(--cw-surface-panel);
    --cw3-line: var(--cw-border-subtle);
    --cw3-line-2: var(--cw-border-control);
    --cw3-border: var(--cw-border-subtle);
    --cw3-border-2: var(--cw-border-control);
    --cw3-text: var(--cw-text-primary);
    --cw3-text-1: var(--cw-text-primary);
    --cw3-text-2: var(--cw-text-secondary);
    --cw3-text-3: var(--cw-text-secondary);
    --cw3-text-dim: var(--cw-text-secondary);
    --cw3-mech: var(--cw-text-link);
    --cw3-accent: var(--cw-text-link);
    --cw3-success: var(--cw-feedback-success);
    --cw3-warn: var(--cw-feedback-warning);
    --cw3-warning: var(--cw-feedback-warning);
    --cw3-struct: var(--cw-feedback-warning);
    --cw3-elec: var(--cw-feedback-warning);
    --cw3-clash: var(--cw-feedback-error);
    --cw3-danger: var(--cw-feedback-error);
    --cw3-info-bg: var(--cw-selection-background);
    --cw3-elec-bg: var(--cw-feedback-warning-surface);
    --cw3-input-bg: var(--cw-surface-panel);
    --cw3-hover: var(--cw-selection-background);
    --cw3-display: var(--cw-font-family);
    --cw3-mono: var(--cw-font-family);
    --r-sm: var(--cw-radius-control);
    --r-md: var(--cw-radius-panel);
    --r-lg: var(--cw-radius-overlay);
    --shadow-card: var(--cw-shadow-overlay);
    font-family: var(--cw-font-family);
    color: var(--cw-text-primary);
    color-scheme: inherit;
}
.cw3-admin[data-cw-system][data-theme="night"],
:is(.cw3-modal-overlay,.cwk-drawer-overlay,.cw3-dlg-wrap,.cw3-detail-lightbox)[data-cw-system][data-theme="night"] { color-scheme: dark; --cw3-plumb: #c4b5fd; }
.cw3-admin[data-cw-system][data-theme="day"],
:is(.cw3-modal-overlay,.cwk-drawer-overlay,.cw3-dlg-wrap,.cw3-detail-lightbox)[data-cw-system][data-theme="day"] { color-scheme: light; --cw3-plumb: #6d28d9; }
.cw3-admin[data-cw-system] .cw3 { --cw3-plumb: inherit; }

body:has(.cw3-admin[data-cw-system]),
#app:has(.cw3-admin[data-cw-system]) { background: var(--cw-surface-canvas); }
.cw3-admin[data-cw-system].cwk-main {
    min-height: calc(100dvh - var(--cw-envbar-height, 0px));
    padding: clamp(12px, 2vw, 24px);
    overflow: visible;
    font: 400 14px/1.5 var(--cw-font-family);
}
/* A few legacy pages contain their own admin wrapper. The route already owns
   page spacing, so those wrappers must not introduce a second full-height page. */
.cw3-admin[data-cw-system] .cw3-admin {
    min-height: 0;
    padding: 0;
    background: transparent;
}
.cw3-admin[data-cw-system] *, .cw3-admin[data-cw-system] *::before,
.cw3-admin[data-cw-system] *::after { box-sizing: border-box; }
.cw3-admin[data-cw-system] :is(h1,h2,h3,h4,p,dl) { overflow-wrap: anywhere; }
.cw3-admin[data-cw-system] h1 { font-size: 28px; line-height: 1.2; font-weight: 650; letter-spacing: -.02em; }
.cw3-admin[data-cw-system] h2 { font-size: 18px; line-height: 1.35; }
.cw3-admin[data-cw-system] h3 { font-size: 16px; line-height: 1.35; }
.cw3-admin[data-cw-system] :is(code,pre,.cwk-copy-id__value) { font-family: var(--cw-font-mono); }
.cw3-admin[data-cw-system] :is(a,.mud-link) { color: var(--cw-text-link); }
.cw3-admin[data-cw-system] :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible {
    outline: 2px solid var(--cw-focus-ring); outline-offset: 3px;
}
.cw3-admin[data-cw-system] :is(button,input,select,textarea):disabled { cursor: not-allowed; }
.cw3-admin[data-cw-system] :is(button,a)[aria-disabled="true"] { cursor: not-allowed; }

/* Common admin kit: readable type and the same controls as the workspace. */
.cw3-admin[data-cw-system] .cwk-pageheader { gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
.cw3-admin[data-cw-system] .cwk-pageheader__grow { min-width: 0; }
.cw3-admin[data-cw-system] .cwk-pageheader__title { margin: 0; font-size: 28px; }
.cw3-admin[data-cw-system] .cwk-pageheader__desc { margin: 8px 0 0; font-size: 14px; line-height: 1.5; }
.cw3-admin[data-cw-system] .cwk-side__grp { font: 600 12px/1.5 var(--cw-font-family); text-transform: none; letter-spacing: 0; }
.cw3-admin[data-cw-system] .cwk-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 44px; padding: 10px 16px; border: 1px solid transparent;
    border-radius: var(--cw-radius-control); font: 600 14px/1.3 var(--cw-font-family);
    background: var(--cw-action-background); color: var(--cw-action-text); text-decoration: none;
}
.cw3-admin[data-cw-system] .cwk-btn:hover:not(:disabled) { background: var(--cw-action-hover); color: var(--cw-action-text); }
.cw3-admin[data-cw-system] :is(.cwk-btn--ghost,.cwk-btn--cyan) {
    background: var(--cw-surface-panel); color: var(--cw-text-primary); border-color: var(--cw-border-control);
}
.cw3-admin[data-cw-system] :is(.cwk-btn--ghost,.cwk-btn--cyan):hover:not(:disabled) {
    background: var(--cw-surface-raised); color: var(--cw-text-link); border-color: var(--cw-focus-ring);
}
.cw3-admin[data-cw-system] .cwk-toolbar { margin: 0 0 16px; padding: 16px; gap: 12px; }
.cw3-admin[data-cw-system] .cwk-toolbar__actions { flex-wrap: wrap; }
.cw3-admin[data-cw-system] :is(.cwk-filter,.cwk-toolbar__search,.cw3-dlg-select) {
    min-height: 44px; height: auto; font: 400 14px/1.4 var(--cw-font-family);
    color: var(--cw-text-primary); background: var(--cw-surface-panel);
    border: 1px solid var(--cw-border-control); border-radius: var(--cw-radius-control);
}
.cw3-admin[data-cw-system] .cwk-toolbar__filters :is(.cw3-dlg-select,.cwk-toolbar__search) { height: 44px; }
.cw3-admin[data-cw-system] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]),select,textarea) {
    font-family: var(--cw-font-family); font-size: 14px;
    color: var(--cw-text-primary); border-color: var(--cw-border-control);
}
.cw3-admin[data-cw-system] input::placeholder,
.cw3-admin[data-cw-system] textarea::placeholder { color: var(--cw-text-secondary); opacity: 1; }
.cw3-admin[data-cw-system] :is(input[type="checkbox"],input[type="radio"]) { accent-color: var(--cw-action-background); }
.cw3-admin[data-cw-system] .cwk-summary { gap: 12px; margin-bottom: 24px; }
.cw3-admin[data-cw-system] .cwk-summary__card { padding: 16px 16px 16px 20px; background: var(--cw-surface-panel); }
.cw3-admin[data-cw-system] :is(.cwk-summary__label,.cwk-stat__k) { font-size: 12px; text-transform: none; letter-spacing: 0; }
.cw3-admin[data-cw-system] :is(.cwk-summary__value,.cwk-stat__v) { margin-top: 8px; font-size: 28px; font-variant-numeric: tabular-nums; }
.cw3-admin[data-cw-system] :is(.cwk-summary__support,.cwk-stat__d,.cwk-stat__soon) { font-size: 12px; line-height: 1.5; }
.cw3-admin[data-cw-system] .cwk-badge { font-size: 12px; letter-spacing: 0; line-height: 1.4; padding: 4px 9px; }
.cw3-admin[data-cw-system] .cwk-badge--mech { color: var(--cw-text-link); background: var(--cw-selection-background); }
.cw3-admin[data-cw-system] :is(.cwk-badge--struct,.cwk-badge--elec) { color: var(--cw-feedback-warning); background: var(--cw-feedback-warning-surface); }
.cw3-admin[data-cw-system] .cwk-badge--success { color: var(--cw-feedback-success); background: var(--cw-feedback-success-surface); }
.cw3-admin[data-cw-system] .cwk-badge--clash { color: var(--cw-feedback-error); background: var(--cw-feedback-error-surface); }
.cw3-admin[data-cw-system] .cwk-badge--muted { color: var(--cw-text-secondary); background: var(--cw-surface-raised); }
.cw3-admin[data-cw-system] .cwk-state { font-size: 14px; padding: 24px; }
.cw3-admin[data-cw-system] .cwk-state__ref { font-size: 12px; }
.cw3-admin[data-cw-system] .cwk-skel { height: 44px; }
.cw3-admin[data-cw-system] .cwk-expand-row__trigger { width: 44px; }
.cw3-admin[data-cw-system] .cwk-expand-row__trigger:hover { color: var(--cw-text-link); background: var(--cw-selection-background); }
.cw3-admin[data-cw-system] .cwk-expand-row__detail { border-left-color: var(--cw-action-background); }
.cw3-admin[data-cw-system] :is(.cwk-feed,.cwk-actlog__row) { font-size: 13px; line-height: 1.5; gap: 12px; }
.cw3-admin[data-cw-system] .cwk-feed { grid-template-columns: 24px minmax(150px,1.8fr) 64px minmax(100px,1fr) minmax(100px,1fr) 88px 154px 86px; }
.cw3-admin[data-cw-system] :is(.cwk-feed__family,.cwk-feed__action,.cwk-feed__ref,.cwk-feed__time,
    .cwk-feed__impersonated,.cwk-actlog__head,.cwk-actlog__c-time,.cwk-actlog__c-action,.cwk-actlog__c-ref,
    .cwk-activity-detail__users-title,.cwk-activity-detail__user-role,.cwk-activity-detail__label,.cwk-activity-detail__kv .k) {
    font-size: 12px; text-transform: none; letter-spacing: 0;
}
.cw3-admin[data-cw-system] :is(.cwk-activity-detail__kv,.cwk-activity-detail__user-chip,.cwk-activity-detail__raw summary) { font-size: 13px; }
.cw3-admin[data-cw-system] :is(.cwk-activity-detail__raw pre,.cwk-activity-detail__link-btn) { font-size: 12px; }
.cw3-admin[data-cw-system] .cwk-copy-id__button { width: 32px; height: 32px; }
.cw3-admin[data-cw-system] .cwk-drawer { width: min(640px,100vw); min-width: 0; max-width: 100vw; box-shadow: var(--cw-shadow-overlay); }
.cw3-admin[data-cw-system] :is(.cwk-drawer__head,.cwk-drawer__body,.cwk-drawer__footer) { padding: 16px 20px; }
.cw3-admin[data-cw-system] .cwk-drawer__head { align-items: flex-start; }
.cw3-admin[data-cw-system] .cwk-drawer__footer { flex-wrap: wrap; }
.cw3-admin[data-cw-system] :is(.cwk-drawer__kv,.cwk-drawer__lbl,.cwk-drawer__kv .k) { font-size: 13px; letter-spacing: 0; text-transform: none; }
.cw3-admin[data-cw-system] :is(.cw3-conversation-row__label,.cw3-conversation-row__context,.cw3-conversation-message__meta,.cw3-conversation-detail__head) { font-size: 12px; letter-spacing: 0; text-transform: none; }
.cw3-admin[data-cw-system] .cw3-conversation-row__cell { font-size: 13px; }
.cw3-admin[data-cw-system] :is(.cw3-conversation-row__title,.cw3-conversation-message__body) { font-size: 14px; }
.cw3-admin[data-cw-system] .cw3-conversation-row { grid-template-columns: minmax(200px,1.8fr) minmax(100px,1fr) minmax(120px,1fr) 88px 150px; }

/* Charts and coordination readouts share the panel/selection treatment. */
.cw3-admin[data-cw-system] .cw3-admin-chart-card { padding: 20px; }
.cw3-admin[data-cw-system] :is(.cw3-admin-chart-card__head h2,.cw3-coordination-table h2,.cw3-coordination-detail header h2) { font-size: 16px; }
.cw3-admin[data-cw-system] :is(.cw3-admin-chart-card__head p,.cw3-admin-chart-range button,
    .cw3-admin-chart-series__axis,.cw3-admin-chart-series__item span,.cw3-admin-chart-categories__row,
    .cw3-admin-coordination-entry small,.cw3-coordination-filters label,.cw3-coordination-health,
    .cw3-coordination-table th,.cw3-coordination-table td small,.cw3-coordination-detail dt) { font-size: 12px; letter-spacing: 0; text-transform: none; }
.cw3-admin[data-cw-system] .cw3-admin-chart-range { flex-wrap: wrap; }
.cw3-admin[data-cw-system] .cw3-admin-chart-range button { min-width: 44px; min-height: 36px; }
.cw3-admin[data-cw-system] :is(.cw3-admin-chart-range button.is-active,.cw3-admin-chart-range button:hover) { background: var(--cw-selection-background); color: var(--cw-text-link); }
.cw3-admin[data-cw-system] .cw3-admin-chart-series__bar { background: var(--cw-action-background); }
.cw3-admin[data-cw-system] .cw3-admin-chart-categories__row i { background: var(--cw3-plumb); }
.cw3-admin[data-cw-system] .cw3-admin-coordination-entry { background: var(--cw-surface-panel); border-color: var(--cw-border-subtle); }
.cw3-admin[data-cw-system] .cw3-admin-coordination-entry strong { font-size: 14px; }
.cw3-admin[data-cw-system] .cw3-coordination-filters :is(input,select,button) { min-height: 44px; font-size: 14px; }
.cw3-admin[data-cw-system] .cw3-coordination-filters button { color: var(--cw-action-text); background: var(--cw-action-background); }
.cw3-admin[data-cw-system] :is(.cw3-coordination-table table,.cw3-coordination-detail dd,.cw3-coordination-pressure dt,.cw3-coordination-session button) { font-size: 13px; }

/* Vendor components stay in place. Scope popup rules by the actual admin route,
   since Telerik renders its root-level menus outside the themed article. */
.cw3-admin[data-cw-system] :is(.k-grid,.k-tabstrip,.k-editor,.k-tabstrip-content,.k-content) {
    background: var(--cw-surface-panel); color: var(--cw-text-primary); border-color: var(--cw-border-subtle);
    font: 400 13px/1.5 var(--cw-font-family); border-radius: var(--cw-radius-panel);
}
.cw3-admin[data-cw-system] :is(.k-grid-header,.k-grid-footer,.k-grid-toolbar,.k-pager,.k-pager-wrap,.k-tabstrip-items-wrapper,.k-editor-toolbar) {
    background: var(--cw-surface-raised); color: var(--cw-text-primary); border-color: var(--cw-border-subtle);
}
.cw3-admin[data-cw-system] :is(.k-table-th,.k-grid-header-wrap th,.k-column-title,.k-grid-header .k-link) {
    background: var(--cw-surface-raised); color: var(--cw-text-secondary);
    font: 600 12px/1.5 var(--cw-font-family); letter-spacing: 0; text-transform: none;
}
.cw3-admin[data-cw-system] .k-grid-header .k-cell-inner > .k-link { font: 600 12px/1.5 var(--cw-font-family); text-transform: none; letter-spacing: 0; }
.cw3-admin[data-cw-system] :is(.k-grid td,.k-table-td,.k-grid-content) {
    background: var(--cw-surface-panel); color: var(--cw-text-primary); border-color: var(--cw-border-subtle); font-size: 13px;
}
.cw3-admin[data-cw-system] .cwk-grid .k-table-td { font-size: 13px; padding: 10px 13px; }
.cw3-admin[data-cw-system] :is(.k-grid tr:hover td,.k-grid tr.k-selected td,.k-grid tr.k-state-selected td) { background: var(--cw-selection-background); }
.cw3-admin[data-cw-system] .k-grid .k-table-row.k-selected > .k-table-td { background: var(--cw-selection-background); }
.cw3-admin[data-cw-system] :is(.k-input,.k-picker,.k-textbox,.k-dropdownlist,.k-button-solid-base) {
    color: var(--cw-text-primary); background: var(--cw-surface-panel); border-color: var(--cw-border-control); border-radius: var(--cw-radius-control);
}
.cw3-admin[data-cw-system] :is(.k-input-inner,.k-button,.k-tabstrip-items,.k-pager) { font-family: var(--cw-font-family); font-size: 13px; }
.cw3-admin[data-cw-system] :is(.k-tabstrip-item.k-active,.k-tabstrip-item.k-state-active,.k-pager-numbers .k-selected) { color: var(--cw-text-link); background: var(--cw-selection-background); }
.cw3-admin[data-cw-system] :is(.k-button-solid-primary,.k-button-md.k-primary) { background: var(--cw-action-background); color: var(--cw-action-text); border-color: var(--cw-action-background); }
.cw3-admin[data-cw-system] :is(.k-input:focus-within,.k-picker:focus-within) { border-color: var(--cw-focus-ring); box-shadow: 0 0 0 2px var(--cw-selection-background); }
body:has(.cw3-admin[data-cw-system]) :is(.k-popup,.k-menu-popup,.k-list-container,.k-calendar,.k-calendar-header,.k-list,.k-list-content,.k-filter-menu-container) {
    color: var(--cw-text-primary); background: var(--cw-surface-panel); border-color: var(--cw-border-subtle); font-family: var(--cw-font-family);
}
body:has(.cw3-admin[data-cw-system]) :is(.k-popup .k-link,.k-menu-popup .k-menu-link,.k-list-item,.k-calendar .k-link) { color: var(--cw-text-primary); }
body:has(.cw3-admin[data-cw-system]) :is(.k-list-item:hover,.k-list-item.k-selected,.k-menu-item:hover > .k-menu-link,.k-calendar .k-selected .k-link) { background: var(--cw-selection-background); color: var(--cw-text-link); }
body:has(.cw3-admin[data-cw-system]) :is(.k-popup .k-input,.k-popup .k-picker,.k-popup .k-button-solid-base) { background: var(--cw-surface-panel); color: var(--cw-text-primary); border-color: var(--cw-border-control); }
body:has(.cw3-admin[data-cw-system]) .k-popup .k-button-solid-primary { color: var(--cw-action-text); background: var(--cw-action-background); }
body:has(.cw3-admin[data-cw-system]) .mud-tooltip { font-family: var(--cw-font-family) !important; }
body:has(.cw3-admin[data-cw-system]) .cw-drawer--spatial .cw-project-scope-nav-unavailable,
body:has(.cw3-admin[data-cw-system]) .cw-drawer--spatial .cw-project-scope-nav-unavailable button { color: var(--cw-feedback-warning); }
body:has(.cw3-admin[data-cw-system]) .cw-drawer--spatial .cw-project-scope-nav-warning-dot { background: var(--cw-feedback-warning); }
.cw3-admin[data-cw-system] .mud-typography { color: var(--cw-text-primary); font-family: var(--cw-font-family) !important; }

@media (max-width: 1200px) {
    .cw3-admin[data-cw-system] .cwk-feed { grid-template-columns: 24px minmax(0,1fr) auto; align-items: start; }
    .cw3-admin[data-cw-system] :is(.cwk-feed__family,.cwk-feed__action,.cwk-feed__target,.cwk-feed__ref,.cwk-feed__badge-cell) { grid-column: 2; }
    .cw3-admin[data-cw-system] .cwk-feed__time { grid-column: 3; grid-row: 1; }
    .cw3-admin[data-cw-system] .cw3-conversation-row { grid-template-columns: 1fr 1fr; }
    .cw3-admin[data-cw-system] .cw3-conversation-row__titlecell { grid-column: 1/-1; }
    .cw3-admin[data-cw-system] .cw3-conversation-row__cell { display: flex; text-align: left; align-items: flex-start; }
}
@media (max-width: 760px) {
    .cw3-admin[data-cw-system] .cwk-pageheader { margin-top: 36px; }
    .cw3-admin[data-cw-system] .cwk-pageheader__grow { flex: 1 1 100%; width: 100%; }
    .cw3-admin[data-cw-system] .cwk-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cw3-admin[data-cw-system] .cwk-toolbar { grid-template-columns: minmax(0,1fr); grid-template-areas: "search" "filters" "actions"; }
    .cw3-admin[data-cw-system] .cwk-toolbar--no-search { grid-template-areas: "filters" "actions"; }
    .cw3-admin[data-cw-system] .cwk-toolbar--no-filters { grid-template-areas: "search" "actions"; }
    .cw3-admin[data-cw-system] .cwk-toolbar__filters { grid-template-columns: minmax(0,1fr); }
    .cw3-admin[data-cw-system] .cwk-toolbar__actions { justify-content: flex-start; }
    .cw3-admin[data-cw-system] .cwk-btn { white-space: normal; overflow-wrap: anywhere; }
    .cw3-admin[data-cw-system] .cwk-actlog__head { display: none; }
    .cw3-admin[data-cw-system] .cwk-actlog__row { flex-wrap: wrap; }
    .cw3-admin[data-cw-system] .cw3-errrow { grid-template-columns: minmax(0,1fr) auto; }
    .cw3-admin[data-cw-system] .cw3-errrow__feed { grid-column: 1/-1; }
    .cw3-admin[data-cw-system] .cwk-drawer { width: 100vw; }
    .cw3-admin[data-cw-system] :is(.cwk-drawer__head,.cwk-drawer__body,.cwk-drawer__footer) { padding: 16px; }
    .cw3-admin[data-cw-system] .cw3-admin-chart-grid { grid-template-columns: minmax(0,1fr); }
    .cw3-admin[data-cw-system] .cw3-coordination-filters label { min-width: 0; flex: 1 1 100%; }
    .cw3-admin[data-cw-system] .cw3-coordination-filters :is(input,select) { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .cw3-admin[data-cw-system] :is(.cwk-skel,.cwk-drawer,.cwk-copy-id__button) { animation: none; transition: none; }
}
