:root {
  --brand-navy: #0b1830;
  --brand-blue: #0b6bcb;
  --brand-blue-hover: #084d94;
  --brand-red: #d82333;
  --brand-red-hover: #b91c2b;
  --color-primary: #0b1830;
  --color-primary-hover: #132a4d;
  --color-secondary: #334155;
  --color-accent: #d82333;
  --color-accent-hover: #b91c2b;
  --color-success: #16835f;
  --color-warning: #b76e00;
  --color-danger: #c62838;
  --color-info: #2563a8;
  --color-background: #f4f6f9;
  --color-surface: #ffffff;
  --color-surface-subtle: #f8fafc;
  --color-border: #dce2ea;
  --color-border-strong: #c5ced9;
  --color-text: #172033;
  --color-text-muted: #64748b;
  --color-focus: #2f6fed;
  --sidebar-background: #0b1830;
  --sidebar-surface: #132544;
  --sidebar-text: #dce5f2;
  --sidebar-muted: #8fa0b8;
  --font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-md: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.5rem;
  --font-size-2xl: 2rem;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --radius-sm: 0.5rem;
  --radius-md: 0.75rem;
  --radius-lg: 1rem;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 2px rgba(11, 24, 48, 0.05);
  --shadow-md: 0 8px 24px rgba(11, 24, 48, 0.07);
  --sidebar-width: 16rem;
  --topbar-height: 4.5rem;
  --content-max: 96rem;
  --transition-fast: 150ms ease;
}

[data-bs-theme="dark"] {
  --color-background: #08111f;
  --color-surface: #101c2d;
  --color-surface-subtle: #142238;
  --color-border: #28384f;
  --color-border-strong: #3a4b63;
  --color-text: #edf2f8;
  --color-text-muted: #a3b0c2;
  --color-primary-hover: #1b365f;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.18);
  --shadow-md: 0 10px 28px rgba(0, 0, 0, 0.24);
}

* { box-sizing: border-box; }
html { background: var(--color-background); }
body { margin: 0; background: var(--color-background); color: var(--color-text); font-family: var(--font-family); font-size: var(--font-size-sm); line-height: 1.5; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--color-focus) 45%, transparent); outline-offset: 2px; }
.skip-link { position: fixed; top: var(--space-3); left: var(--space-3); z-index: 1100; padding: var(--space-2) var(--space-4); border-radius: var(--radius-sm); background: var(--color-accent); color: #fff; transform: translateY(-150%); transition: transform var(--transition-fast); }
.skip-link:focus { transform: translateY(0); }
.ui-icon { display: block; flex: 0 0 auto; }

.app-shell { display: flex; min-height: 100vh; }
.sidebar { --bs-offcanvas-bg: var(--sidebar-background); width: var(--sidebar-width); flex: 0 0 var(--sidebar-width); display: flex; flex-direction: column; min-height: 100vh; padding: var(--space-5); background-color: var(--sidebar-background) !important; color: var(--sidebar-text); }
.sidebar-header { display: flex; align-items: center; justify-content: space-between; min-height: 2.75rem; }
.brand { display: flex; align-items: center; gap: var(--space-3); color: #fff; font-size: var(--font-size-sm); font-weight: 800; letter-spacing: 0.04em; text-decoration: none; }
.brand img { width: 2.5rem; height: 2.5rem; object-fit: contain; border-radius: var(--radius-sm); background: #fff; }
.brand small { display: block; color: var(--sidebar-muted); font-size: 0.65rem; font-weight: 550; letter-spacing: 0.02em; }
.primary-nav { display: flex; flex: 1; flex-direction: column; margin-top: var(--space-6); overflow-y: auto; scrollbar-width: thin; }
.nav-group + .nav-group { margin-top: var(--space-5); }
.nav-section { margin: 0 var(--space-3) var(--space-2); color: var(--sidebar-muted); font-size: 0.65rem; font-weight: 750; letter-spacing: 0.14em; text-transform: uppercase; }
.sidebar .nav-link { display: flex; align-items: center; gap: var(--space-3); min-height: 2.75rem; padding: 0 var(--space-3); border-radius: var(--radius-sm); color: var(--sidebar-text); font-weight: 600; text-decoration: none; transition: background-color var(--transition-fast), color var(--transition-fast); }
.sidebar .nav-link:hover, .sidebar .nav-link:focus-visible { background: var(--sidebar-surface); color: #fff; }
.sidebar .nav-link.active { background: var(--sidebar-surface); box-shadow: inset 3px 0 var(--color-accent); color: #fff; }
.sidebar .nav-parent { width: 100%; border: 0; background: transparent; text-align: left; }
.sidebar .nav-parent .ui-icon:last-child { transition: transform var(--transition-fast); }
.sidebar .nav-parent[aria-expanded="true"] .ui-icon:last-child { transform: rotate(180deg); }
.nav-children { margin: var(--space-1) 0 var(--space-2) 2.65rem; padding-left: var(--space-3); border-left: 1px solid rgba(255,255,255,0.16); }
.nav-children[hidden] { display: none; }
.nav-child-link { display: block; padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); color: var(--sidebar-muted); font-size: var(--font-size-xs); font-weight: 650; text-decoration: none; }
.nav-child-link:hover, .nav-child-link:focus-visible { background: var(--sidebar-surface); color: #fff; }
.nav-child-link.active { background: var(--sidebar-surface); color: #fff; box-shadow: inset 2px 0 var(--color-accent); }
.sidebar .nav-link-planned { cursor: default; color: color-mix(in srgb, var(--sidebar-text) 68%, transparent); }
.sidebar .nav-link-planned:hover { background: transparent; color: color-mix(in srgb, var(--sidebar-text) 68%, transparent); }
.nav-label { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nav-state-dot { width: 0.35rem; height: 0.35rem; flex: 0 0 auto; border-radius: 50%; background: var(--sidebar-muted); opacity: 0.65; }
.sidebar[data-collapsed="true"] { width: 5rem; flex-basis: 5rem; }
.sidebar[data-collapsed="true"] .brand span, .sidebar[data-collapsed="true"] .nav-label, .sidebar[data-collapsed="true"] .nav-section, .sidebar[data-collapsed="true"] .sidebar-footer div, .sidebar[data-collapsed="true"] .nav-state-dot { display: none; }
.sidebar[data-collapsed="true"] .nav-children { display: none; }
.sidebar[data-collapsed="true"] .brand, .sidebar[data-collapsed="true"] .nav-link, .sidebar[data-collapsed="true"] .sidebar-footer { justify-content: center; }
.sidebar-footer { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4); border: 1px solid rgba(255,255,255,0.1); border-radius: var(--radius-md); background: rgba(255,255,255,0.035); }
.sidebar-footer strong, .sidebar-footer span { display: block; }
.sidebar-footer strong { font-size: var(--font-size-xs); }
.sidebar-footer span { color: var(--sidebar-muted); font-size: 0.68rem; }

.content-area { min-width: 0; flex: 1; }
.topbar { position: sticky; top: 0; z-index: 100; display: flex; align-items: center; gap: var(--space-4); height: var(--topbar-height); padding: 0 var(--space-6); border-bottom: 1px solid var(--color-border); background: color-mix(in srgb, var(--color-surface) 94%, transparent); backdrop-filter: blur(12px); }
.topbar-context { display: flex; flex-direction: column; line-height: 1.2; }
.topbar-kicker { color: var(--color-text-muted); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.topbar-title { font-size: var(--font-size-md); font-weight: 750; }
.topbar-actions { display: flex; align-items: center; gap: var(--space-2); margin-left: auto; }
.icon-button { display: inline-grid; width: 2.5rem; height: 2.5rem; place-items: center; padding: 0; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-text-muted); transition: border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast); }
.icon-button:hover:not(:disabled) { border-color: var(--color-border-strong); background: var(--color-surface-subtle); color: var(--color-text); }
.icon-button:disabled { cursor: not-allowed; opacity: 0.45; }
.notification-button { position: relative; text-decoration: none; }
.notification-count { position: absolute; top: -.35rem; right: -.35rem; min-width: 1.25rem; padding: .1rem .25rem; border: 2px solid var(--color-surface); border-radius: var(--radius-pill); background: var(--color-accent); color: #fff; font-size: .6rem; font-weight: 800; text-align: center; }
.sidebar .icon-button { border-color: rgba(255,255,255,0.12); background: transparent; color: #fff; }
.sidebar-close { font-size: 1.6rem; }
.account-chip { display: flex; align-items: center; gap: var(--space-2); height: 2.5rem; padding: 0 var(--space-3) 0 var(--space-2); border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface); }
.account-avatar { display: grid; width: 1.75rem; height: 1.75rem; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--color-primary) 10%, var(--color-surface)); color: var(--color-primary); }
[data-bs-theme="dark"] .account-avatar { color: #cbd9ed; }
.account-copy { line-height: 1.05; }
.account-copy strong, .account-copy small { display: block; }
.account-copy strong { font-size: var(--font-size-xs); }
.account-copy small { margin-top: 0.15rem; color: var(--color-text-muted); font-size: 0.65rem; }
.logout-form { margin: 0; }
.theme-icon-moon { display: none; }
[data-bs-theme="dark"] .theme-icon-sun { display: none; }
[data-bs-theme="dark"] .theme-icon-moon { display: inline-flex; }

.main-content { width: 100%; max-width: var(--content-max); margin: 0 auto; padding: var(--space-8); }
.main-content > * + * { margin-top: var(--space-8); }
.dashboard-section { padding-block: var(--space-2); }
.feedback-stack { margin-bottom: var(--space-5); }
.page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-6); margin-bottom: var(--space-8); }
.page-heading h1 { margin: var(--space-1) 0 var(--space-2); font-size: clamp(1.65rem, 2vw, var(--font-size-2xl)); font-weight: 760; letter-spacing: -0.025em; }
.page-description, .section-heading p { max-width: 46rem; margin: 0; color: var(--color-text-muted); }
.eyebrow { margin: 0; color: var(--color-accent); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }
.section-heading { display: flex; justify-content: space-between; margin-bottom: var(--space-4); }
.section-heading h2, .panel h2, .empty-state h2 { margin: 0 0 var(--space-1); font-size: var(--font-size-md); font-weight: 750; }
.status-badge { display: inline-flex; align-items: center; gap: var(--space-2); min-height: 1.65rem; padding: 0.2rem 0.55rem; border: 1px solid transparent; border-radius: var(--radius-pill); font-size: 0.68rem; font-weight: 750; white-space: nowrap; }
.status-badge-neutral { border-color: var(--color-border); background: var(--color-surface); color: var(--color-text-muted); }
.status-badge-muted { background: var(--color-surface-subtle); color: var(--color-text-muted); }
.status-badge-success { background: color-mix(in srgb, var(--color-success) 12%, var(--color-surface)); color: var(--color-success); }
.status-badge-warning { background: color-mix(in srgb, var(--color-warning) 12%, var(--color-surface)); color: var(--color-warning); }
.status-dot { width: 0.45rem; height: 0.45rem; border-radius: 50%; background: currentColor; }

.kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
.projects-kpi-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-3); }
.projects-kpi-grid .kpi-card { min-width: 0; min-height: 8rem; padding: var(--space-4); }
.operations-kpi-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.operations-kpi-grid .kpi-card { min-height: 8rem; padding: var(--space-4); }
.notification-row-action { flex: 1; margin: 0; }
.notification-row-link, .notification-row-static { display: flex; flex: 1; min-width: 0; flex-direction: column; align-items: flex-start; padding: var(--space-3) 0; color: var(--color-text); text-align: left; text-decoration: none; }
button.notification-row-link { width: 100%; border: 0; background: transparent; cursor: pointer; }
.notification-row-link span, .notification-row-static span { color: var(--color-text-muted); }
.notification-row-link:hover strong { color: var(--color-primary); text-decoration: underline; }
.kpi-card, .panel, .empty-state { border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-sm); }
.kpi-card { min-height: 10.5rem; padding: var(--space-5); }
.kpi-card-unavailable { background: linear-gradient(145deg, var(--color-surface), var(--color-surface-subtle)); }
.kpi-card-header { display: flex; align-items: center; justify-content: space-between; }
.kpi-icon, .capability-icon, .empty-state-icon { display: grid; place-items: center; border-radius: var(--radius-sm); background: color-mix(in srgb, var(--color-primary) 8%, var(--color-surface)); color: var(--color-primary); }
[data-bs-theme="dark"] .kpi-icon, [data-bs-theme="dark"] .capability-icon, [data-bs-theme="dark"] .empty-state-icon { color: #c5d5ec; }
.kpi-icon { width: 2.15rem; height: 2.15rem; }
.kpi-card p { margin: var(--space-5) 0 0; color: var(--color-text-muted); font-weight: 650; }
.kpi-card strong { display: block; margin: var(--space-1) 0; font-size: 1.65rem; line-height: 1.1; }
.kpi-card small { color: var(--color-text-muted); }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr); gap: var(--space-4); margin-top: var(--space-6); }
.panel { padding: var(--space-6); }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); }
.capability-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); margin-top: var(--space-5); }
.capability-item { display: flex; align-items: center; gap: var(--space-3); min-height: 4.25rem; padding: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-subtle); }
.capability-icon { width: 2.25rem; height: 2.25rem; flex: 0 0 auto; }
.capability-item strong, .capability-item span { display: block; }
.capability-item strong { font-size: var(--font-size-xs); }
.capability-item span { margin-top: 0.1rem; color: var(--color-text-muted); font-size: 0.7rem; }
.flag-list { margin: var(--space-4) 0 0; padding: 0; list-style: none; }
.flag-list li { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); min-height: 2.75rem; border-bottom: 1px solid var(--color-border); }
.flag-list li:last-child { border-bottom: 0; }
.flag-list li > span:first-child { display: grid; gap: 0.1rem; }
.flag-list small { color: var(--color-text-muted); font-size: var(--font-size-xs); }
.empty-state { display: flex; align-items: center; gap: var(--space-4); margin-top: var(--space-6); padding: var(--space-6); border-style: dashed; }
.empty-state-icon { width: 3rem; height: 3rem; flex: 0 0 auto; }
.empty-state p { margin: 0; color: var(--color-text-muted); }
.error-card { max-width: 42rem; margin: 8vh auto; padding: var(--space-8); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-md); }
.btn-primary { --bs-btn-bg: var(--brand-blue); --bs-btn-border-color: var(--brand-blue); --bs-btn-hover-bg: var(--brand-blue-hover); --bs-btn-hover-border-color: var(--brand-blue-hover); }

.auth-page { min-height: 100vh; background: var(--color-background); }
.auth-shell { display: grid; grid-template-columns: minmax(20rem, 1fr) minmax(24rem, 0.8fr); min-height: 100vh; }
.auth-brand { display: flex; flex-direction: column; justify-content: center; padding: clamp(2.5rem, 7vw, 7rem); background: linear-gradient(145deg, var(--sidebar-background), #142b50); color: #fff; }
.auth-brand img { width: 4.5rem; height: 4.5rem; margin-bottom: var(--space-8); object-fit: contain; border-radius: var(--radius-md); background: #fff; }
.auth-brand h1 { max-width: 36rem; margin: var(--space-2) 0 var(--space-4); font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 780; letter-spacing: -0.04em; }
.auth-brand > p:last-child { max-width: 34rem; color: #b8c6da; font-size: var(--font-size-lg); }
.auth-card { position: relative; width: min(100% - 2rem, 31rem); margin: auto; padding: var(--space-8); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-md); }
.auth-card-toolbar { position: absolute; top: var(--space-5); right: var(--space-5); }
.auth-card-heading { padding-right: 3rem; margin-bottom: var(--space-6); }
.auth-card-heading h2 { margin: var(--space-1) 0 var(--space-2); font-size: var(--font-size-xl); font-weight: 760; }
.auth-card-heading p:last-child, .auth-help { color: var(--color-text-muted); }
.form-field { margin-bottom: var(--space-5); }
.form-field label { display: block; margin-bottom: var(--space-2); font-weight: 700; }
.form-field-heading { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); }
.form-field-heading a { color: var(--color-info); font-size: var(--font-size-xs); font-weight: 650; text-decoration: none; }
.form-field-heading a:hover { text-decoration: underline; }
.password-control { position: relative; }
.password-control .form-control { padding-right: 3.25rem; }
.password-toggle { position: absolute; top: 50%; right: 0.35rem; display: grid; width: 2.25rem; height: 2.25rem; place-items: center; padding: 0; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--color-text-muted); transform: translateY(-50%); }
.password-toggle:hover { background: var(--color-surface-subtle); color: var(--color-text); }
.password-icon-hide { display: none; }
.password-toggle[aria-pressed="true"] .password-icon-show { display: none; }
.password-toggle[aria-pressed="true"] .password-icon-hide { display: inline-flex; }
.form-control { min-height: 2.85rem; border-color: var(--color-border-strong); background: var(--color-surface); color: var(--color-text); }
.form-control:focus { border-color: var(--color-focus); background: var(--color-surface); color: var(--color-text); box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--color-focus) 18%, transparent); }
.form-check { margin: var(--space-5) 0; }
.auth-submit { width: 100%; min-height: 2.85rem; font-weight: 750; }
.auth-help { margin: var(--space-5) 0 0; font-size: var(--font-size-xs); text-align: center; }

.page-actions, .form-actions, .danger-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.admin-search { display: flex; max-width: 38rem; gap: var(--space-2); margin-bottom: var(--space-4); }
.admin-filter-bar { display: grid; grid-template-columns: minmax(14rem, 2fr) repeat(3, minmax(10rem, 1fr)) auto; gap: var(--space-2); margin-bottom: var(--space-4); }
.admin-table-card, .admin-form-card { border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-sm); }
.admin-table-card { overflow: hidden; }
.admin-table-card .table { --bs-table-bg: transparent; --bs-table-color: var(--color-text); --bs-table-border-color: var(--color-border); margin: 0; }
.admin-table-card th { padding: var(--space-3) var(--space-4); background: var(--color-surface-subtle); color: var(--color-text-muted); font-size: var(--font-size-xs); text-transform: uppercase; letter-spacing: 0.05em; }
.admin-table-card td { padding: var(--space-4); }
.admin-table-card td strong, .admin-table-card td small { display: block; }
.admin-table-card td small { margin-top: var(--space-1); color: var(--color-text-muted); }
.admin-empty { padding: var(--space-8); color: var(--color-text-muted); text-align: center; }
.record-list { margin: 0; padding: 0; list-style: none; }
.record-list li + li { border-top: 1px solid var(--color-border); }
.record-list a { display: flex; justify-content: space-between; gap: var(--space-4); padding: var(--space-3) 0; text-decoration: none; }
.record-list a:hover strong { color: var(--brand-blue); }
.record-list span { color: var(--color-text-muted); }
.procurement-filter { grid-template-columns: minmax(14rem, 2fr) repeat(2, minmax(10rem, 1fr)) auto; }
.inventory-action-panel { margin-top: var(--space-6); }
.inventory-movement-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 var(--space-5); }
.inventory-reason { grid-column: span 2; }
.inventory-submit { align-items: end; padding-bottom: var(--space-5); }
.inventory-submit .btn { min-height: 2.85rem; }
.procurement-line-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 var(--space-5); }
.procurement-form-submit { align-items: end; padding-bottom: var(--space-5); }
.record-total { display: flex; justify-content: flex-end; gap: var(--space-6); margin: var(--space-4) 0 0; font-size: var(--font-size-md); }
.embedded-form { max-width: none; padding: var(--space-5); box-shadow: none; }
.settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.workforce-grid { display: grid; gap: var(--space-4); }
.workforce-card .section-heading { padding: var(--space-5) var(--space-5) 0; }
.workforce-card .admin-empty { padding-block: var(--space-6); }
.admin-form-card { max-width: 60rem; padding: var(--space-6); }
.admin-form-narrow { max-width: 36rem; }
.admin-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-5); }
.admin-check-row { display: flex; gap: var(--space-6); margin-bottom: var(--space-6); }
.admin-check-row .form-check, .admin-single-check { margin: 0; }
.form-hint { color: var(--color-text-muted); font-size: var(--font-size-xs); }
.assignment-fieldset { margin: var(--space-6) 0; padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-md); }
.assignment-fieldset legend { float: none; width: auto; margin: 0; padding: 0 var(--space-2); font-size: var(--font-size-sm); font-weight: 750; }
.assignment-fieldset > p { color: var(--color-text-muted); }
.assignment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
.assignment-option { display: flex; align-items: flex-start; gap: var(--space-2); min-height: 2.75rem; padding: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface-subtle); cursor: pointer; }
.assignment-option strong, .assignment-option small { display: block; }
.assignment-option small { margin-top: 0.1rem; color: var(--color-text-muted); }
.detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.detail-list { margin: var(--space-4) 0 0; }
.detail-list div { display: grid; grid-template-columns: 8rem 1fr; gap: var(--space-4); padding: var(--space-3) 0; border-bottom: 1px solid var(--color-border); }
.detail-list dt { color: var(--color-text-muted); }
.detail-list dd { margin: 0; }
.tag-list { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-4); }
.tag-list a { text-decoration: none; }
.confirm-action, .danger-actions { margin-top: var(--space-6); }

@media (max-width: 79.99rem) { .kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 79.99rem) { .projects-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 79.99rem) { .operations-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 55rem) { .projects-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) {
  html, body { height: 100%; overflow: hidden; }
  .app-shell { height: 100dvh; min-height: 0; overflow: hidden; }
  .sidebar { height: 100dvh; min-height: 0; }
  .content-area { display: flex; height: 100%; min-height: 0; flex-direction: column; overflow: hidden; }
  .topbar { position: relative; flex: 0 0 var(--topbar-height); }
  .main-content { min-height: 0; flex: 1 1 auto; overflow-x: hidden; overflow-y: auto; scrollbar-gutter: stable; }
}
@media (max-width: 63.99rem) { .sidebar { width: 17rem; } .main-content { padding: var(--space-6); } .dashboard-grid { grid-template-columns: 1fr; } }
@media (max-width: 63.99rem) { .admin-filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 47.99rem) { .topbar { padding: 0 var(--space-4); } .account-copy { display: none; } .account-chip { width: 2.5rem; padding: 0; justify-content: center; } .main-content { padding: var(--space-5) var(--space-4); } .capability-grid, .admin-form-grid, .assignment-grid, .detail-grid, .admin-filter-bar, .inventory-movement-form, .procurement-line-form, .settings-grid { grid-template-columns: 1fr; } .inventory-reason { grid-column: auto; } .admin-search { flex-direction: column; } .record-list a { flex-direction: column; gap: var(--space-1); } }
@media (max-width: 63.99rem) { .auth-shell { grid-template-columns: 1fr; } .auth-brand { display: none; } .auth-card { margin-block: var(--space-6); } }
@media (max-width: 30rem) { .topbar-kicker { display: none; } .topbar-title { font-size: var(--font-size-sm); } .kpi-grid, .operations-kpi-grid { grid-template-columns: 1fr; } .page-heading { flex-direction: column; margin-bottom: var(--space-6); } .empty-state { align-items: flex-start; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; } }
/* Phase 9 analytics workspace */
.analytics-filter { display: grid; grid-template-columns: repeat(5, minmax(150px, 1fr)) auto auto; gap: 1rem; align-items: end; margin-bottom: 2rem; }
.analytics-filter label { display: grid; gap: .4rem; font-weight: 650; }
.analytics-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1rem; }
.analytics-kpis .kpi-card { display: grid; gap: .45rem; min-height: 135px; padding: 1.15rem; }
.analytics-kpis .kpi-card strong { color: var(--color-primary); font-size: clamp(1.35rem, 2vw, 2rem); }
.analytics-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.analytics-chart-card { min-width: 0; padding: 1.1rem; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-sm); }
.analytics-chart-card header, .analytics-list-row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.analytics-chart-card header span, .chart-source, .analytics-list-row small { display: block; color: var(--color-text-muted); font-size: .8rem; }
.analytics-chart-card canvas { display: block; width: 100%; height: auto; max-height: 300px; margin-top: .75rem; }
.analytics-management-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2rem; }
.analytics-list-row { padding: .85rem 0; border-bottom: 1px solid var(--color-border); }
.analytics-list-row:last-child { border-bottom: 0; }
@media (max-width: 1100px) { .analytics-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .analytics-chart-grid, .analytics-management-grid, .analytics-filter { grid-template-columns: 1fr; } .analytics-heading { align-items: flex-start; } }
.assistant-shell{display:grid;gap:1rem;max-width:900px}.assistant-notice{padding:.8rem;border-left:4px solid var(--color-info);background:var(--color-surface-subtle)}.assistant-shell form{display:grid;gap:.6rem}.assistant-shell textarea{min-height:110px}.assistant-thread{display:grid;gap:1rem}.assistant-bubble{max-width:75%;padding:1rem;border-radius:var(--radius-md);background:var(--color-surface-subtle)}.assistant-bubble p{margin:.4rem 0}.assistant-assistant{margin-left:auto;border-left:3px solid var(--color-info)}
