/* Scoped information architecture. Shared semantic palette serves both themes. */
#app.shell { grid-template-columns: 248px minmax(0,1fr); }
#app .admin-sidebar { display:flex; flex-direction:column; gap:0; padding:24px 14px 12px; overflow:hidden; }
#app .admin-sidebar .cloud-brand { padding:0 12px; flex-shrink:0; }
#app .admin-sidebar .admin-space { margin:22px 8px 14px; padding:10px; flex-shrink:0; }
#app .admin-space strong { font-size:12px; }
#app .admin-space small { font-size:10px; }
#app .admin-area-search { display:flex; align-items:center; gap:7px; margin:0 8px 12px; border:1px solid var(--admin-border,#dfe5ed); border-radius:8px; background:var(--admin-subtle,#f7f9fc); color:var(--admin-muted,#66758a); padding:0 9px; flex-shrink:0; }
#app .admin-area-search svg { width:16px; height:16px; flex-shrink:0; }
#app .admin-area-search input { min-width:0; width:100%; min-height:38px; padding:6px 0; border:0; box-shadow:none; background:transparent; color:var(--admin-text,#29374b); font-size:12px; }
#app .admin-sidebar nav { display:block; flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; padding:0 4px 12px; }
#app .admin-area-group { margin:0 0 10px; }
#app .admin-area-group h2 { color:var(--admin-muted,#66758a); font-size:10px; font-weight:650; letter-spacing:.06em; text-transform:uppercase; padding:12px 10px 6px; margin:0; }
#app .admin-area-group button { display:flex; width:100%; text-align:left; margin:2px 0; min-height:40px; border-radius:8px; padding:10px; gap:10px; }
#app .admin-area-group button>span:last-child { font-size:12px; font-weight:550; min-width:0; }
#app .admin-area-group button>span:first-child { display:flex; flex-shrink:0; }
#app .admin-area-group button.is-active { box-shadow:inset 3px 0 var(--admin-accent,#285dde); }
#app .admin-area-group button .nav-count { margin-left:4px; }
#app .admin-area-empty { font-size:12px; padding:14px 10px; color:var(--admin-muted,#66758a); }
#app .admin-sidebar-links { display:flex; gap:14px; padding:12px 10px; margin:0; flex-shrink:0; border-top:1px solid var(--admin-border,#dfe5ed); }
#app .admin-sidebar-links a { display:flex; gap:5px; align-items:center; font-size:10px; }
#app .admin-sidebar-links svg { width:13px; height:13px; }
#app .admin-sidebar-identity { padding:10px; margin:0; flex-shrink:0; border:0; }
#app .admin-sidebar-identity strong { font-size:12px; }
#app .admin-sidebar-identity small { font-size:10px; }
#app .admin-profile-link { display:flex; align-items:center; gap:10px; width:100%; padding:8px 10px; min-height:36px; font-size:12px; border:0; border-radius:7px; background:transparent; color:var(--admin-muted,#66758a); box-shadow:none; flex-shrink:0; }
#app .admin-profile-link.is-active,#app .admin-profile-link:hover { background:var(--admin-selected,#edf3ff); color:var(--admin-accent,#285dde); }
#app .admin-topbar { position:sticky; top:0; z-index:30; height:66px; min-height:66px; padding:0 28px; }
#app .admin-breadcrumb { font-size:12px; }
#app .admin-breadcrumb strong { overflow:hidden; text-overflow:ellipsis; }
#app .admin-content { padding:30px 28px 0; max-width:1640px; }
#app .admin-hero { align-items:flex-start; padding-bottom:24px; }
#app .admin-hero h1 { font-size:34px; font-weight:650; }
#app .admin-hero small { font-size:10px; }
#app .admin-hero p { font-size:13px; max-width:750px; }
#app .admin-resource-heading h2 { color:var(--admin-text,#29374b); font-size:15px; font-weight:650; margin:0; }
#app .admin-resource-heading>span { font-size:11px; color:var(--admin-muted,#66758a); }
#app .is-stale #admin-shortcut-state { color:var(--admin-warning,#986729); }
#app .dashboard-grid { gap:18px; }
#app .panel-head { padding:18px 20px; }
#app .dashboard-attention .attention-list { max-height:360px; overflow:auto; scrollbar-width:thin; }
#app .admin-page-index { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 22px; padding:0 0 14px; border-bottom:1px solid var(--admin-border,#dfe5ed); }
#app .admin-page-index button { border:1px solid var(--admin-border,#dfe5ed); background:var(--admin-surface,#fff); color:var(--admin-text,#29374b); border-radius:7px; padding:8px 12px; font-size:12px; min-height:38px; box-shadow:none; }
#app .admin-page-index button:hover { background:var(--admin-selected,#edf3ff); color:var(--admin-accent,#285dde); }
#app [id^=admin-server-panel],#app #monitoring-history,#app #privacy-access-panel { scroll-margin-top:86px; }
#app .admin-secondary-details { margin:18px 0; border:1px solid var(--admin-border,#dfe5ed); border-radius:8px; background:var(--admin-surface,#fff); color:var(--admin-text,#29374b); overflow:hidden; }
#app .admin-secondary-details>summary { padding:16px 18px; font-size:13px; font-weight:600; cursor:pointer; background:var(--admin-subtle,#f7f9fc); }
#app .admin-secondary-details>.release-context { padding:18px; margin:0; }
#app .admin-secondary-details>.users-role-grid { margin:0; padding:18px; }
#app #overview-releases .release-form { margin:0; }
#app #overview-releases .release-dropdown { margin-top:18px; }
#app #overview-accounts .service-banner { padding:20px 24px; margin-bottom:20px; border-radius:10px; }
#app #overview-accounts .service-banner h2 { font-size:21px; margin:6px 0; }
#app #overview-accounts .service-banner p { font-size:12px; line-height:1.5; }
#app #overview-accounts .service-banner-symbol { width:44px; height:44px; }
#app #overview-users .users-intro { padding:22px; }
#app #overview-users .users-role-grid h3 { font-size:16px; }
#app #audit-list { max-height:65dvh; overflow:auto; overscroll-behavior:contain; }
#app .admin-skip-link { position:fixed; top:-100px; left:270px; z-index:200; padding:10px 16px; border-radius:8px; background:var(--admin-surface,#fff); color:var(--admin-accent,#285dde); }
#app .admin-skip-link:focus { top:10px; }
.architecture-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; }
#app [hidden] { display:none !important; }
@media (max-width:1280px) {
 #app .dashboard-grid { grid-template-columns:minmax(0,1fr); }
 #app .enterprise-clock,#app .enterprise-environment { display:none; }
}
/* Must match app.js setAdminNavigation's 1020px breakpoint, including inert. */
@media (max-width:1020px) {
 #app.shell { grid-template-columns:minmax(0,1fr); }
 #app .admin-sidebar { position:fixed; left:0; top:0; width:min(290px,calc(100vw - 42px)); height:100dvh; transform:translateX(-100%); z-index:70; transition:transform .18s ease; border-right:1px solid var(--admin-border,#dfe5ed); }
 #app .admin-sidebar.is-open { transform:translateX(0); }
 #app .admin-nav-backdrop:not([hidden]) { display:block; position:fixed; inset:0; z-index:60; width:100%; height:100dvh; background:var(--admin-scrim,#15233d66); border:0; border-radius:0; }
 #app .admin-menu { display:flex; justify-content:center; align-items:center; min-width:38px; min-height:38px; padding:8px; border:1px solid var(--admin-border,#dfe5ed); color:var(--admin-text,#29374b); background:var(--admin-surface,#fff); border-radius:7px; }
 #app .admin-topbar { padding:0 20px; }
 #app .admin-content { padding:24px 20px 0; }
 #app .admin-skip-link { left:20px; }
}
@media (max-width:600px) {
 #app .admin-topbar { padding:0 12px; height:60px; min-height:60px; }
 #app .admin-breadcrumb { gap:7px; }
 #app .admin-breadcrumb>span,#app .admin-breadcrumb>i,#app .header-actions .connection { display:none; }
 #app .header-actions { gap:7px; }
 #app .header-actions #logout { font-size:11px; padding:6px; }
 #app .admin-content { padding:22px 14px 0; }
 #app .admin-hero h1 { font-size:29px; }
 #app .admin-hero { gap:12px; }
 #app .admin-resource-heading>span { display:block; margin-top:4px; }
 #app .admin-page-index { gap:6px; }
 #app .admin-page-index button { padding:7px 9px; font-size:11px; }
 #app #overview-accounts .service-banner { padding:16px; }
 #app .admin-secondary-details>.release-context,#app .admin-secondary-details>.users-role-grid { padding:12px; }
}
@media (prefers-reduced-motion:reduce) { #app .admin-sidebar { transition:none; } }
/* Instance inventory: legacy styles declare seven columns with !important.
   Own the actual column tracks at every breakpoint; areas alone cannot reset
   those tracks. Optional progress/error rows are auto-placed, with no empty rows. */
#app #overview-customers .instances { grid-template-columns:minmax(0,1fr); gap:10px; padding:16px; }
#app #overview-customers .customer-select-card { display:grid; grid-template-columns:minmax(280px,1fr) 150px 300px 116px !important; grid-template-areas:"name status meta actions"; align-items:center; gap:12px 16px; padding:14px 18px; min-height:0; height:auto; border-radius:8px; }
#app #overview-customers .customer-select-card>header { grid-area:status; display:flex; align-items:center; justify-content:flex-start; min-width:0; margin:0; padding:0; }
#app #overview-customers .customer-card-icon { display:none; }
#app #overview-customers .customer-card-copy { grid-area:name; min-width:0; padding:0; margin:0; gap:5px; }
#app #overview-customers .customer-card-copy>strong { font-size:15px; overflow-wrap:anywhere; word-break:normal; }
#app #overview-customers .customer-card-copy>small { min-width:0; overflow-wrap:anywhere; word-break:normal; }
#app #overview-customers .customer-select-card>.customer-card-meta { grid-area:meta; grid-template-columns:64px minmax(0,1fr) 72px; min-width:0; margin:0; padding:0; gap:6px; align-self:center; }
#app #overview-customers .customer-card-meta span { margin:0; padding:8px; }
#app #overview-customers .customer-select-card>.row-actions { grid-area:actions; margin:0; flex-direction:column; min-width:0; align-self:center; }
#app #overview-customers .customer-select-card>.row-actions button { min-height:36px; width:100%; }
#app #overview-customers .customer-select-card>.row-actions [data-provision]:disabled { display:none; }
#app #overview-customers .customer-select-card>.install-progress { grid-area:auto; grid-column:1/-1; margin:0; }
#app #overview-customers .customer-select-card>.error { grid-area:auto; grid-column:1/-1; margin:0; }
#app #overview-customers .panel-hint { display:none; }
#app #overview-customers #open-create { white-space:nowrap; min-width:145px; }
@media (max-width:1280px) {
 #app #overview-customers .customer-select-card { grid-template-columns:minmax(280px,1fr) 150px !important; grid-template-areas:"name status" "meta actions"; }
 #app #overview-customers .customer-select-card>.customer-card-meta { width:300px; max-width:100%; justify-self:start; }
}
@media (max-width:760px) {
 #app #overview-customers .customer-select-card { grid-template-columns:minmax(0,1fr) !important; grid-template-areas:"name" "status" "meta" "actions"; }
 #app #overview-customers .customer-select-card>.install-progress { grid-row:auto; }
 #app #overview-customers .customer-select-card>.error { grid-row:auto; }
}
@media (max-width:600px) {
 #app #overview-customers .instances { padding:12px; }
 #app #overview-customers .customer-select-card { padding:14px; gap:12px; }
 #app #overview-customers .customer-select-card>.row-actions { flex-direction:row; }
 #app #overview-customers .customer-select-card>.row-actions button { flex:1; }
}
#app #overview-releases #release-list button { background:var(--admin-selected,#edf3ff); color:var(--admin-accent,#285dde); border-color:var(--admin-border,#dfe5ed); }
#app #overview-releases #release-list button:disabled { background:var(--admin-subtle,#f7f9fc); color:var(--admin-muted,#66758a); opacity:1; }

/* Environment policy box removed; the remaining technical controls own the row. */
#app #overview-security .governance-grid { grid-template-columns:minmax(0,1fr); }

/* Work centre: five destinations, the current area's original subpages below. */
#app .admin-sidebar .admin-space { margin-top:20px; margin-bottom:18px; }
#app .admin-sidebar nav .admin-primary-link { display:flex; align-items:center; gap:12px; width:100%; min-height:48px; padding:12px; margin:4px 0; border:0; border-radius:9px; color:var(--admin-muted,#66758a); background:transparent; text-align:left; box-shadow:none; }
#app .admin-primary-link>span { font-size:14px; font-weight:600; flex:1; }
#app .admin-primary-link>svg { width:19px; height:19px; flex-shrink:0; }
#app .admin-primary-link>svg:last-child { width:14px; height:14px; opacity:.5; }
#app .admin-sidebar nav .admin-primary-link:is(:hover,.is-active) { color:var(--admin-accent,#285dde); background:var(--admin-selected,#edf3ff); }
#app .admin-sidebar nav .admin-primary-link.is-active { box-shadow:inset 3px 0 var(--admin-accent,#285dde); }
#app .admin-search-results { margin-top:18px; border-top:1px solid var(--admin-border,#dfe5ed); }
#app .admin-context-navigation { margin:0 0 24px; min-width:0; border-bottom:1px solid var(--admin-border,#dfe5ed); }
#app .admin-context-navigation .admin-area-group { display:flex; flex-wrap:wrap; align-items:center; gap:4px; margin:0; }
#app .admin-context-navigation .admin-area-group>h2 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); padding:0; }
#app .admin-context-navigation .admin-area-group button { width:auto; min-height:44px; border:0; border-radius:7px 7px 0 0; padding:10px 14px; margin:0; color:var(--admin-muted,#66758a); background:transparent; box-shadow:none; }
#app .admin-context-navigation .admin-area-group button>span:first-child { display:none; }
#app .admin-context-navigation .admin-area-group button>span:last-child { font-size:12px; }
#app .admin-context-navigation .admin-area-group button:is(:hover,.is-active) { color:var(--admin-accent,#285dde); background:var(--admin-selected,#edf3ff); }
#app .admin-context-navigation .admin-area-group button.is-active { box-shadow:inset 0 -2px var(--admin-accent,#285dde); }
#app .admin-content { padding-top:22px; }
#app .admin-hero { padding-bottom:22px; }
#app .operations-command-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 16px; margin:0 0 22px; border:1px solid var(--admin-border,#dfe5ed); background:var(--admin-subtle,#f7f9fc); border-radius:9px; min-height:62px; }
#app .operations-command-bar>div:first-child { border:0; padding:0; grid-column:auto; }
#app #admin-work-state { color:var(--admin-muted,#66758a); font-size:11px; text-align:right; }
#app .operations-command-bar.is-stale #admin-work-state { color:var(--admin-warning,#986729); }
#app .operations-command-bar.is-stale #command-platform-status { color:var(--admin-muted,#66758a); }
#app .operations-command-bar.is-stale>div:first-child { opacity:.6; }
#app #overview-dashboard .dashboard-grid { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:18px; align-items:start; }
#app #overview-dashboard .dashboard-grid>.dashboard-attention { grid-column:auto; }
#app .dashboard-attention .attention-list { max-height:320px; overflow:auto; overscroll-behavior:contain; }
#app .dashboard-attention.is-expanded .attention-list { max-height:none; }
#app .attention-item { padding:14px 18px; min-height:78px; align-items:center; }
#app .attention-item strong { font-size:13px; line-height:1.4; }
#app .attention-item small { font-size:11px; line-height:1.45; }
#app .admin-view-all { display:flex; justify-content:center; align-items:center; gap:8px; width:100%; border:0; border-top:1px solid var(--admin-border,#dfe5ed); background:var(--admin-subtle,#f7f9fc); color:var(--admin-accent,#285dde); padding:12px 16px; min-height:44px; font-size:12px; border-radius:0; box-shadow:none; }
#app .admin-view-all:hover { background:var(--admin-selected,#edf3ff); }
#app .admin-work-ticket { display:flex; align-items:center; gap:12px; padding:14px 18px; width:100%; border:0; border-bottom:1px solid var(--admin-border,#dfe5ed); border-radius:0; background:var(--admin-surface,#fff); color:var(--admin-text,#29374b); text-align:left; min-height:92px; box-shadow:none; }
#app .admin-work-ticket:hover { background:var(--admin-hover,#f6f8fb); }
#app .admin-work-ticket>span:nth-child(2) { flex:1; min-width:0; display:grid; gap:5px; }
#app .admin-work-ticket strong { font-size:13px; line-height:1.4; overflow-wrap:anywhere; }
#app .admin-work-ticket small { font-size:11px; color:var(--admin-muted,#66758a); line-height:1.4; overflow-wrap:anywhere; }
#app .admin-work-ticket>svg { width:15px; height:15px; flex-shrink:0; color:var(--admin-muted,#66758a); }
#app .admin-work-ticket .ticket-priority { flex-shrink:0; height:34px; }
#app .admin-work-empty { color:var(--admin-muted,#66758a); padding:20px; margin:0; font-size:12px; line-height:1.6; }
#app .admin-work-activity { grid-column:1/-1; }
#app #admin-work-activity { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
#app #admin-work-activity>article { display:flex; align-items:center; gap:12px; padding:14px 20px; border-bottom:1px solid var(--admin-border,#dfe5ed); min-width:0; }
#app #admin-work-activity>article:nth-child(odd) { border-right:1px solid var(--admin-border,#dfe5ed); }
#app #admin-work-activity>article>div { min-width:0; flex:1; display:grid; gap:4px; }
#app #admin-work-activity strong { color:var(--admin-text,#29374b); font-size:12px; line-height:1.4; overflow-wrap:anywhere; }
#app #admin-work-activity :is(small,time) { color:var(--admin-muted,#66758a); font-size:10px; }
#app #admin-work-activity time { white-space:nowrap; }
#app .admin-activity-symbol { display:flex; color:var(--admin-muted,#66758a); flex-shrink:0; }
#app .admin-activity-symbol svg { width:17px; height:17px; }
#app .admin-monitoring-resources { margin-bottom:24px; padding:18px 20px; border:1px solid var(--admin-border,#dfe5ed); background:var(--admin-surface,#fff); border-radius:9px; }
#app .admin-monitoring-resources #dashboard-stats { margin-bottom:0; }
#app .admin-page-index button.is-active { color:var(--admin-accent,#285dde); background:var(--admin-selected,#edf3ff); border-color:var(--admin-accent,#285dde); }
#app .admin-local-view { min-width:0; }
#app .admin-local-view>.panel { margin-top:0; }
#app #overview-accounts .service-banner { padding:14px 18px; border-radius:9px; }
#app #overview-accounts .service-banner>div>small,#app #overview-accounts .service-banner-symbol { display:none; }
#app #overview-accounts .service-banner h2 { font-size:17px; margin:0 0 5px; }
#app #overview-accounts .service-banner p { margin:0; }
#app #overview-users .users-intro { padding:16px 20px; margin-bottom:18px; }
#app #overview-users .users-intro h2 { font-size:22px; }
#app #overview-users .users-intro h2 br { display:none; }
#app #overview-users .users-intro>span { display:none; }
#app :is(.admin-primary-link,.admin-context-navigation button,.admin-page-index button,.admin-work-ticket,.admin-view-all):focus-visible { outline:2px solid var(--admin-accent,#285dde); outline-offset:-3px; }
@media(max-width:1100px) {
 #app #overview-dashboard .dashboard-grid { grid-template-columns:minmax(0,1fr); }
 #app #admin-work-activity { grid-template-columns:minmax(0,1fr); }
 #app #admin-work-activity>article:nth-child(odd) { border-right:0; }
}
@media(max-width:600px) {
 #app .admin-context-navigation { margin-bottom:20px; }
 #app .admin-context-navigation .admin-area-group button { padding:9px 10px; }
 #app .operations-command-bar { align-items:flex-start; flex-direction:column; gap:5px; padding:12px 14px; }
 #app #admin-work-state { text-align:left; }
 #app .operations-command-bar>div:first-child { grid-column:auto; }
 #app .admin-work-activity .panel-head { align-items:flex-start; }
 #app #admin-work-activity>article { padding:14px; gap:9px; flex-wrap:wrap; }
 #app .admin-monitoring-resources { padding:16px 12px; }
 #app .admin-ticket-queue .panel-head>div { min-width:0; }
}
/* The header already carries the unread indicator. Its full notice stays in
   other areas; the work centre presents those same tickets in its work queue. */
body[data-admin-section=dashboard] #app .ticket-notice { display:none; }
#app .operations-command-bar>div:first-child { min-height:0; }
#app .operations-command-bar>div:first-child>div { gap:2px; }
#app .operations-command-bar small { margin-bottom:0; }
#app #overview-dashboard .dashboard-grid>.admin-work-activity { grid-column:1/-1; }
#app .admin-context-navigation { margin-bottom:16px; }
#app .admin-hero { padding-bottom:16px; }
#app .operations-command-bar { margin-bottom:18px; }
#app #admin-area-search { border:0; background:transparent; box-shadow:none; padding:6px 0; min-height:38px; }
/* One search surface: reserve space for the icon and avoid a nested input border. */
#app .section-toolbar .instance-search-field { gap:10px; padding:0 14px; min-height:44px; }
#app .section-toolbar .instance-search-field>span { flex:0 0 20px; padding:0; }
#app .instance-search-field .ui-icon { width:20px; height:20px; flex:none; }
#app .section-toolbar #customer-search { flex:1; width:0; min-width:0; min-height:42px; padding:10px 0; border:0; border-radius:0; background:transparent; box-shadow:none; outline:none; }
#app .section-toolbar .instance-search-field:focus-within { border-color:var(--admin-accent, #2563eb); outline:2px solid var(--admin-accent, #2563eb); outline-offset:2px; }
