/* Desktop chrome: shared geometry, independent of the selected palette. */
.desktop-layout { --radius:6px; --shadow-1:0 2px 8px rgba(0,0,0,.12); isolation:isolate; }
.desktop-layout .topbar { position:relative; flex:0 0 46px; height:46px; min-height:46px; padding:0 12px; gap:12px; background:var(--surface-2); border-bottom:1px solid var(--border); box-shadow:none; z-index:40; }
.desktop-layout .topbar-start,.desktop-layout .topbar-end { display:flex;align-items:center;gap:12px;min-width:0; }
.shell-brand { display:flex;align-items:center;gap:9px;font-size:14px;font-weight:750;letter-spacing:.06em;color:var(--text);user-select:none; }
.shell-menu-button { display:grid;place-items:center;width:30px;height:30px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--muted);font-size:15px; }
.shell-menu-button:hover { background:var(--surface);color:var(--text);border-color:var(--border); }
.desktop-layout .user-display { height:32px;gap:8px;padding:3px 7px;border-radius:5px;background:transparent;border:1px solid transparent;box-shadow:none;transform:none;font-size:12px; }
.desktop-layout .user-display:hover { background:var(--surface);border-color:var(--border);transform:none; }
.desktop-layout .profile-pic,.user-initial { width:24px;height:24px;margin:0;border-radius:5px;object-fit:cover; }
.user-initial { display:grid;place-items:center;font-size:11px;font-weight:700;background:color-mix(in srgb,var(--primary) 16%,var(--surface));color:var(--text); }
.desktop-layout .user-display-name { max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550; }
.desktop-layout .user-display-arrow { font-size:9px;color:var(--muted); }
.user-menu-dismiss { position:fixed;inset:0;background:transparent;border:0;cursor:default;z-index:50; }
.desktop-layout .user-dropdown { top:calc(100% + 8px);z-index:51;border-radius:6px;padding:4px;min-width:200px;box-shadow:0 6px 20px rgba(0,0,0,.18);background:var(--surface); }
.desktop-layout .user-dropdown button { padding:8px 10px;font-size:13px;border-radius:3px;gap:10px; }
.desktop-layout .main { min-width:0;min-height:0; }
.desktop-layout .sidebar { flex:0 0 250px;width:250px;min-width:0;height:100%;background:var(--surface-2);border-right:1px solid var(--border);overflow:hidden;transition:width .15s ease,flex-basis .15s ease; }
.desktop-layout .sidebar.closed { width:0;flex-basis:0;border:0; }
.desktop-layout .sidebar.closed .sidebar-container { visibility:hidden;pointer-events:none; }
.desktop-layout .sidebar-container { height:100%;width:250px;overflow:hidden; }
.desktop-layout .sidebar-panel { height:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none; }
.desktop-layout .toggle-button { display:none; }
.desktop-layout .content { display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--bg);background-image:none; }
.desktop-layout .tab-shell { flex:1;min-height:0;overflow:hidden; }
.desktop-layout .tab-header { flex:0 0 35px;min-height:35px;position:relative;top:auto;gap:0;padding:0 5px;background:var(--surface-2);border-bottom:1px solid var(--border);backdrop-filter:none;overflow-x:auto;overflow-y:hidden; }
.desktop-layout .tab-button { height:34px;min-height:34px;max-width:240px;gap:8px;padding:0 10px;font-size:12px;font-weight:500;border:0;border-right:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none;transform:none;transition:background-color .1s ease; }
.desktop-layout .tab-button:hover { background:var(--surface);transform:none; }
.desktop-layout .tab-button.active { background:var(--bg);color:var(--text);font-weight:600;box-shadow:inset 0 2px var(--primary); }
.desktop-layout .tab-button.active::after { display:none; }
.desktop-layout .tab-button-label { overflow:hidden;text-overflow:ellipsis; }
.desktop-layout .tab-button-close { width:20px;height:20px;border-radius:3px;flex-shrink:0;font-size:11px; }
.desktop-layout .tab-content { flex:1;min-height:0;min-width:0;overflow:hidden;padding:0; }
.desktop-layout .tab-panel { height:100%;min-width:0;overflow:auto;padding:12px;scrollbar-gutter:stable; }
.desktop-layout .workspace-empty { max-width:440px;border:0;background:transparent;margin:6vh auto;padding:24px; }
.desktop-layout .workspace-empty h1 { font-size:18px; }.desktop-layout .workspace-empty p { font-size:13px; }
.desktop-layout .footer { flex:0 0 28px;min-height:28px;height:28px;padding:0 10px;gap:12px;background:var(--surface-2);border-top:1px solid var(--border);box-shadow:none;font-size:11px;flex-wrap:nowrap; }
.desktop-layout .footer-section { gap:7px;min-width:0;flex-wrap:nowrap; }
.desktop-layout .footer-section-center { overflow:hidden; }.desktop-layout .footer-clock-group { flex-wrap:nowrap;gap:10px; }
.desktop-layout .footer-brand { font-size:11px; }.desktop-layout .footer-clock { white-space:nowrap;font-size:10px; }
.desktop-layout :is(.shell-menu-button,.user-display,.tab-button-select,.tab-button-close):focus-visible { outline:2px solid var(--primary);outline-offset:-2px; }
@media(max-width:899px) {
    .desktop-layout .sidebar { position:absolute;inset:0 auto 0 0;z-index:25;box-shadow:6px 0 16px rgba(0,0,0,.18); }
    .desktop-layout .sidebar.closed { box-shadow:none; }
    .desktop-layout .tab-panel { padding:8px; }
    .desktop-layout .footer-copy,.desktop-layout .footer-culture { display:none; }
    .desktop-layout .footer-clock-group .footer-clock:last-child { display:none; }
}
@media(pointer:coarse) {
    .desktop-layout .topbar { flex-basis:52px;height:52px;min-height:52px; }
    .shell-menu-button,.desktop-layout .user-display { min-width:44px;height:44px; }
    .desktop-layout .tab-header { flex-basis:44px;min-height:44px; }
    .desktop-layout .tab-button { height:44px;min-height:44px; }.desktop-layout .tab-button-close { min-width:32px;min-height:32px; }
}
@media(prefers-reduced-motion:reduce) { .desktop-layout .sidebar,.desktop-layout .tab-button { transition:none; } }

/* Shared accent buttons follow the selected palette; operational severity colors are unchanged. */
.desktop-layout .btn-primary { --bs-btn-bg:var(--primary);--bs-btn-border-color:var(--primary);--bs-btn-color:var(--on-primary);--bs-btn-hover-bg:color-mix(in srgb,var(--primary) 88%,var(--text));--bs-btn-hover-border-color:var(--primary);--bs-btn-hover-color:var(--on-primary);--bs-btn-active-bg:var(--primary);--bs-btn-active-border-color:var(--primary);--bs-btn-active-color:var(--on-primary); }
.desktop-layout .btn-outline-primary { --bs-btn-color:var(--primary);--bs-btn-border-color:var(--primary);--bs-btn-hover-bg:var(--primary);--bs-btn-hover-border-color:var(--primary);--bs-btn-hover-color:var(--on-primary);--bs-btn-active-bg:var(--primary);--bs-btn-active-border-color:var(--primary);--bs-btn-active-color:var(--on-primary); }

/* Keep configured signal hues while improving their contrast on white surfaces. */
body[data-theme="cora-light"] .desktop-layout :is(.threshold-legend,.threshold-active),
body[data-theme="cora-light"] .desktop-layout .plot .threshold-line { filter:brightness(.65); }
body[data-theme="cora-light"] .desktop-layout .plot :is(polyline,circle),
body[data-theme="cora-light"] .desktop-layout .level > span { filter:brightness(.8); }
