/* UX-203: approved UX-202C shell semantics only. Page component tokens stay local. */
@font-face { font-family:"MDU Shell Sans"; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/dm-sans-400.ttf"); }
@font-face { font-family:"MDU Shell Sans"; font-style:normal; font-weight:500; font-display:swap; src:url("fonts/dm-sans-500.ttf"); }
@font-face { font-family:"MDU Shell Sans"; font-style:normal; font-weight:600; font-display:swap; src:url("fonts/dm-sans-600.ttf"); }
@font-face { font-family:"MDU Shell Sans"; font-style:normal; font-weight:700; font-display:swap; src:url("fonts/dm-sans-700.ttf"); }
@font-face { font-family:"MDU Shell Brand"; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/dm-serif-display.ttf"); }
body.md-shell {
  --md-shell-navy: #17324d;
  --md-shell-bg: #f4f3ef;
  --md-shell-border: #cdd5db;
  --md-shell-accent: #b06b3d;
  --md-shell-font: "MDU Shell Sans", Arial, sans-serif;
  background: var(--md-shell-bg);
}
body.md-shell[data-workspace="staffing"] { --md-shell-accent: #5bb6a9; }
body.md-shell[data-workspace="research"] { --md-shell-accent: #baa3e5; }
body.md-shell[data-workspace="shared"] { --md-shell-accent: #b4c4d2; }
.md-shell .workspace-shell, .md-shell > .layout:has(> .nav-sidebar) { padding:16px; gap:16px; min-width:0; }
.md-shell .nav-sidebar {
  width:240px; flex:0 0 240px; background:var(--md-shell-navy); border-radius:8px;
  box-shadow:none; padding:16px 0; display:flex; flex-direction:column;
  position:sticky; top:16px; height:calc(100dvh - 32px); align-self:flex-start;
}
.md-shell :is(.sidebar-logo,.mobile-bar-logo) { font:400 21px/1.3 "MDU Shell Brand",Georgia,serif; color:#fff; }
.md-shell :is(.sidebar-logo,.mobile-bar-logo) span { color:#fff; }
.md-shell .sidebar-logo { padding:0 24px; margin-bottom:16px; }
.md-shell :is(.sidebar-kicker,.md-mobile-workspace) { font:500 11px/1.4 var(--md-shell-font); color:#dde5ec; letter-spacing:.06em; display:flex; align-items:center; gap:8px; }
.md-shell .sidebar-kicker { padding:0 24px; margin-bottom:12px; }
.md-shell :is(.sidebar-kicker,.md-mobile-workspace)::before { content:""; width:7px; height:7px; flex:none; border-radius:50%; background:var(--md-shell-accent); }
.md-shell .sidebar-nav { padding:0 12px; min-height:0; overflow-y:auto; }
.md-shell .md-shell-navigation { display:flex; flex-direction:column; flex:1; min-height:0; }
.md-shell .sidebar-group + .sidebar-group { margin-top:12px; }
.md-shell .sidebar-section-label { font:500 10px/1.4 var(--md-shell-font); color:#b4c4d2; letter-spacing:.08em; padding:10px 12px 5px; }
.md-shell .sidebar-section-links li + li { margin-top:4px; }
.md-shell .sidebar-nav li a { font:500 13px/1.35 var(--md-shell-font); padding:9px 12px; border-radius:6px; color:#dae3ec; border:1px solid transparent; min-height:36px; transform:none; box-shadow:none; }
.md-shell .sidebar-nav li a:hover { background:#244a6c; color:#fff; transform:none; }
.md-shell .sidebar-nav li a:is(.active,[aria-current="page"]) { background:#2a4b68; color:#fff; border-color:#55738b; box-shadow:none; }
.md-shell .sidebar-bottom { border-top:1px solid #426078; padding:12px; flex-shrink:0; }
.md-shell .user-avatar { background:#2a4b68; color:#fff; }
.md-shell :is(.user-name,.user-plan) { white-space:normal; overflow-wrap:anywhere; font:500 12px/1.4 var(--md-shell-font); color:#dde5ec; }
.md-shell :is(.main,.target-main) { min-width:0; background:var(--md-shell-bg); border:1px solid var(--md-shell-border); border-radius:8px; box-shadow:none; }
.md-shell .target-main > .shell { padding:0; }
.md-shell .target-main .topbar { top:0; margin-bottom:0; border-width:0 0 1px; }
.md-shell .topbar { background:#fff; padding:16px 20px; border-bottom:1px solid var(--md-shell-border); border-radius:8px 8px 0 0; box-shadow:none; text-align:left; }
.md-shell .topbar-main { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.md-shell .topbar h1 { font:700 26px/1.2 var(--md-shell-font); color:#213344; letter-spacing:-.02em; }
.md-shell .topbar :is(p,.topbar-subtitle) { font:400 13px/1.45 var(--md-shell-font); color:#596b7b; margin-top:5px; max-width:76ch; }
.md-shell .topbar-context { font:500 10px/1.4 var(--md-shell-font); letter-spacing:.07em; color:#596b7b; margin-bottom:4px; }
.md-shell .topbar-actions { gap:8px; flex-wrap:wrap; justify-content:flex-end; margin-left:auto; }
.md-shell .topbar-actions .btn { font:600 13px/1.35 var(--md-shell-font); min-height:36px; padding:7px 12px; border-radius:6px; box-shadow:none; text-decoration:none; }
.md-shell .topbar-actions .btn-primary { background:var(--md-shell-navy); color:#fff; border-color:var(--md-shell-navy); }
.md-shell .topbar-actions .btn-secondary { background:#fff; color:#213344; border:1px solid #81919e; }
.md-shell :is(.content-area,.workspace) { padding:16px; min-width:0; }
.md-shell :is(.nav-sidebar,.mobile-bar,.topbar) :is(a,button):focus-visible { outline:2px solid #77baff; outline-offset:2px; }
.md-shell .mobile-bar { display:none; background:var(--md-shell-navy); padding:8px 16px; gap:8px; flex-wrap:wrap; }
.md-shell .mobile-icon-btn { min-width:44px; min-height:44px; }
.md-shell .md-mobile-workspace { order:3; flex-basis:100%; }
.md-shell .md-shell-close { display:none; }
.md-shell.md-shell-menu-open { overflow:hidden; }
@media(max-width:768px) {
  .md-shell .workspace-shell, .md-shell > .layout:has(> .nav-sidebar) { padding:0; gap:0; }
  .md-shell .mobile-bar { display:flex; }
  .md-shell .nav-sidebar { display:none; position:fixed; inset:12px auto 12px 12px; width:min(280px,calc(100vw - 24px)); height:calc(100dvh - 24px); min-height:0; overflow:hidden; z-index:300; padding-top:12px; }
  .md-shell .nav-sidebar.mobile-open { display:flex; }
  .md-shell .sidebar-nav li a { min-height:44px; }
  .md-shell .md-shell-close { display:block; align-self:flex-end; margin:0 12px 8px; padding:8px 12px; min-height:44px; border:1px solid #55738b; border-radius:6px; background:#2a4b68; color:#fff; font:600 13px var(--md-shell-font); cursor:pointer; }
  .md-shell :is(.main,.target-main) { border-radius:0; border:0; }
  .md-shell .topbar { padding:16px; border-radius:0; }
  .md-shell .topbar h1 { font-size:24px; }
  .md-shell .topbar-actions .btn { min-height:44px; }
  .md-shell .topbar-actions { margin-left:0; justify-content:flex-start; }
}

/* UX-205 account actions and public workspace discoverability. */
.md-account-anchor{position:relative;width:100%}
.md-shell .md-account-button{width:100%;border:0;background:transparent;color:inherit;text-align:left;padding:8px;border-radius:10px;cursor:pointer;font:inherit;min-height:44px}
.md-shell .md-account-button:hover{background:rgba(255,255,255,.1)}
.md-account-menu{position:absolute;bottom:calc(100% + 8px);left:0;right:0;z-index:400;background:var(--md-surface,#fff);border:1px solid var(--md-border,#dce5e5);border-radius:12px;padding:6px;box-shadow:0 12px 32px #102b4033}
.md-account-menu a,.md-account-menu button{display:block;width:100%;min-height:44px;padding:12px;border:0;background:transparent;color:var(--md-text,#183747);text-align:left;text-decoration:none;font:inherit;font-size:14px;border-radius:8px;cursor:pointer}
.md-account-menu a:hover,.md-account-menu button:hover{background:#eef7f5}
.md-account-button:focus-visible,.md-account-menu :focus-visible{outline:3px solid #28b6a1;outline-offset:2px}
.md-account-menu[hidden],.md-account-button[hidden],.md-public-workspace-switch[hidden]{display:none!important}
.md-public-workspace-switch{white-space:normal;text-align:center;max-width:100%;min-height:44px}
