/* Compact, readable employee workspace. Other roles retain their existing layout. */
.employee-mode { --muted:#b7c3d3; font-size:16px; }
.employee-view { grid-template-columns:248px minmax(0,1fr); }
.employee-view main { max-width:1200px; padding:28px 32px 36px; }
.employee-view .topbar { min-height:68px; padding:12px 32px; gap:12px; }
.employee-view .sidebar { padding:18px 12px; }
.employee-view .sidebar nav button { display:flex; align-items:center; gap:10px; min-height:46px; padding:10px 12px; font-size:15px; }
.employee-view .sidebar .brand-name { font-size:25px; }
.employee-view .sidebar .brand img { width:42px; }
.employee-view .sidebar .org { margin:16px 0 12px; padding:14px; }
.employee-view .sidebar .org small { font-size:13px; }
.employee-view .sidebar > .eyebrow { display:none; }
.employee-view .sidebar-bottom { margin-top:auto; padding:20px 8px 0; }
.employee-view .sidebar .profile { margin-top:0; }
.employee-view h1 { font-size:36px; line-height:1.15; }
.employee-view h2,.employee-dialog h2 { font-size:20px; line-height:1.35; }
.employee-view h3,.employee-dialog h3 { font-size:16px; line-height:1.5; }
.employee-view .pagehead { margin:0 0 22px; align-items:center; }
.employee-view .pagehead p { font-size:16px; line-height:1.55; margin-top:7px; }
.employee-view .pagehead .actions { margin:0; }
.employee-view .btn,.employee-dialog .btn { min-height:44px; font-size:14px; padding:10px 15px; }
.employee-view p,.employee-dialog p { line-height:1.6; }
.employee-view footer { font-size:13px; line-height:1.6; padding-top:18px; margin-top:24px; }
.employee-view .badge,.employee-dialog .badge { font-size:14px; padding:4px 8px; line-height:1.4; white-space:normal; }
.employee-view .badge.green,.employee-dialog .badge.green { color:#b6e7cd; background:#16362a; border-color:#356c52; }
.employee-view .badge.yellow,.employee-dialog .badge.yellow { color:#ffe0a0; background:#392d15; border-color:#756034; }
.employee-view .badge.blue,.employee-dialog .badge.blue { color:#c6e3ff; background:#1b3552; border-color:#456b96; }
.employee-view .badge.red,.employee-dialog .badge.red { color:#ffd0d5; background:#481f28; border-color:#8e4d58; }
.employee-view .helper,.employee-dialog .helper { font-size:14px; color:#b7c3d3; }
.employee-section { margin:0 0 24px; }
.employee-section>h2 { margin:0 0 12px; }
.employee-section>p { margin:10px 0; }
.employee-section-title { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.employee-count { display:inline-grid; place-items:center; min-width:28px; height:28px; border:1px solid #486587; border-radius:20px; color:#d6e8ff; font-size:14px; }
.employee-list { margin:0; padding:0; list-style:none; border:1px solid #353d48; border-radius:8px; background:#11161d; overflow:hidden; }
.employee-item { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:17px 18px; }
.employee-item+li { border-top:1px solid #353d48; }
.employee-item>div { min-width:0; }
.employee-item h3 { margin:0; overflow-wrap:anywhere; }
.employee-item>.btn { flex-shrink:0; }
.employee-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-top:7px; color:#b7c3d3; font-size:14px; line-height:1.5; }
.employee-due { font-size:14px; color:#d3dfed; }
.employee-due.overdue { color:#ffb8bf; font-weight:600; }
.employee-empty { padding:20px; border:1px solid #353d48; border-radius:8px; background:#11161d; color:#c7d3e0; }
.employee-shortcuts { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.employee-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.employee-policy-receipt { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:22px; padding:16px 0; border-top:1px solid #353d48; font-size:14px; line-height:1.6; color:#c7d3e0; }
.employee-receipt { background:#142d24; color:#c5ead7; padding:12px 16px; border-radius:6px; }
.employee-contact { padding:16px 18px; border-left:3px solid #719dd4; background:#152234; margin:18px 0; }
.employee-contact p { margin:6px 0 0; }
.employee-policy-copy { max-width:76ch; }
.employee-policy-section { margin:24px 0; }
.employee-policy-section h2 { margin-bottom:8px; }
.employee-policy-section p { margin:0; }
.employee-view .preserve-lines { margin:14px 0; overflow-wrap:anywhere; }
.employee-view .next-step { margin:0 0 20px; padding:14px 18px; }
.employee-view .next-step p { margin:6px 0 0; }
.employee-view .back-to-list { margin-bottom:18px; }
.employee-view .location-nav { font-size:14px; }
.employee-view .controls { gap:8px; }
.employee-view .emergency-controls { gap:0; }
.employee-view .emergency-header { min-height:44px; }
.employee-view .controls>[aria-label^="Notifications"] { position:relative; width:48px; min-width:48px; padding:10px; display:flex; justify-content:center; }
.notification-count { position:absolute; top:-6px; right:-6px; min-width:21px; height:21px; padding:1px 5px; border-radius:14px; background:#b12d40; color:white; font-size:12px; line-height:19px; font-weight:700; }
.employee-demo-menu { position:relative; order:3; }
.employee-demo-menu summary { list-style:none; border:1px solid #454e5d; border-radius:5px; padding:10px; min-height:44px; cursor:pointer; font-size:14px; color:#d9c38f; }
.employee-demo-menu summary::-webkit-details-marker { display:none; }
.employee-demo-menu>div { position:absolute; right:0; top:calc(100% + 8px); width:220px; padding:16px; border:1px solid #56677d; background:#151c26; border-radius:7px; z-index:35; box-shadow:0 10px 30px #0008; }
.employee-demo-menu label { display:block; font-size:14px; margin-bottom:8px; }
.employee-demo-menu .role-switch { width:100%; max-width:none; min-height:44px; font-size:16px; }
.employee-view .mobile-menu { min-width:44px; min-height:44px; border:1px solid #454e5d; border-radius:5px; margin:0; }
.employee-skip { position:fixed; top:-100px; left:12px; z-index:200; background:#d9e9ff; color:#0b1727; padding:12px; border-radius:4px; }
.employee-skip:focus { top:8px; }
.employee-nav-backdrop { display:none; }
.employee-view .employee-step { margin:0 0 12px; padding:10px 14px; border-left:3px solid #ec6574; background:#172232; font-size:16px; }
.employee-emergency-note { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:0 0 10px; }
.employee-emergency-note .btn { padding:4px 10px; }
.employee-draft { font-size:14px; color:#a8ccec; margin:10px 0 18px; }
.employee-form-body { background:#11161d; border:1px solid #353d48; border-radius:8px; padding:20px; }
.employee-view .field label,.employee-dialog .field label { font-size:16px; line-height:1.5; }
.employee-view .field input,.employee-view .field select,.employee-view .field textarea,.employee-dialog .field input,.employee-dialog .field textarea { font-size:16px; min-height:46px; max-width:100%; }
.employee-view .field input[type=file],.employee-dialog .field input[type=file] { font-size:14px; overflow:hidden; }
.employee-view input,.employee-view textarea,.employee-dialog input,.employee-dialog textarea { border-color:#647386; }
.employee-view .form-footer { padding:16px 0 0; margin:0; }
.employee-view .field-error { display:block; font-size:14px; color:#ffb9c1; line-height:1.5; margin-top:6px; }
.employee-view [aria-invalid=true] { border-color:#ff7f91; }
.privacy-options legend { font-size:18px; font-weight:600; margin-bottom:12px; }
.privacy-option { display:flex; align-items:flex-start; gap:12px; padding:16px; border:1px solid #56657a; border-radius:7px; cursor:pointer; margin-bottom:12px; }
.privacy-option:has(input:checked) { border-color:#8bbbf5; background:#182d47; }
.privacy-option input { width:20px; height:20px; flex:0 0 20px; margin:3px 0 0; accent-color:#80b6fa; }
.privacy-option strong,.privacy-option span span { display:block; font-size:16px; line-height:1.5; }
.privacy-option span span { color:#c3d0df; margin-top:5px; }
.employee-document-search { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0 0 20px; }
.employee-document-search label { flex-basis:100%; font-size:16px; }
.employee-document-search input { flex:1; min-width:120px; min-height:46px; padding:10px 12px; background:#10151c; color:#f0f4fa; border:1px solid #647386; border-radius:5px; font-size:16px; }
.employee-dialog { width:760px; max-height:90dvh; }
.employee-dialog>.panel-head { position:sticky; top:0; background:#11161d; z-index:2; padding:16px 20px; align-items:center; }
.employee-dialog>.panel-head>button { min-width:44px; min-height:44px; color:#e4edfa; flex-shrink:0; }
.employee-dialog>.panel-body { padding:20px; }
.employee-dialog .disclosure { margin:16px 0; }
.employee-dialog .preserve-lines { margin:14px 0; }
.employee-dialog ol,.employee-view ol { padding-left:24px; }
.employee-dialog li,.employee-view .employee-section ol li { margin:10px 0; line-height:1.6; }
.employee-dialog .employee-item { margin:0; }
.employee-dialog .actions { margin-bottom:0; }
.employee-related { margin:16px 0; }
.employee-response { padding:16px 0; border-top:1px solid #353d48; }
.employee-mode #toast { font-size:14px; max-width:min(440px,calc(100vw - 32px)); bottom:18px; padding:12px 16px; }
.employee-mode #toast:not(.show) { visibility:hidden; pointer-events:none; }
.employee-mode :is(button,a,summary,input,textarea,select):focus-visible { outline:3px solid #9bcaff; outline-offset:3px; }
@media(max-width:1023px) {
  .employee-view { display:block; }
  .employee-view .sidebar { position:fixed; top:0; left:-310px; width:290px; max-width:calc(100vw - 36px); height:100dvh; max-height:100dvh; z-index:60; overflow-y:auto; visibility:hidden; }
  .employee-view .sidebar.open { left:0; visibility:visible; box-shadow:8px 0 30px #0009; }
  .employee-view .mobile-menu,.employee-view .close-nav { display:block; }
  .employee-view .close-nav { min-height:44px; margin:0 0 8px auto; }
  .employee-view .sidebar .brand { margin:8px 0; }
  .employee-view .sidebar .org { margin:10px 0; }
  .employee-view .sidebar nav { margin-top:0; }
  .employee-view .sidebar nav button { min-height:44px; padding:8px 12px; margin:0; }
  .employee-view .sidebar-bottom { padding-top:14px; }
  .employee-view .employee-nav-backdrop:not([hidden]) { display:block; position:fixed; inset:0; border:0; background:#0009; z-index:50; }
  .employee-menu-open { overflow:hidden; }
  .employee-view .topbar { padding:12px 20px; flex-wrap:wrap; align-items:center; }
  .employee-view .location-nav { order:3; flex-basis:100%; }
  .employee-view .controls { margin-left:auto; flex:0 0 auto; flex-wrap:nowrap; }
  .employee-view main { padding:24px 20px; }
}
@media(max-width:600px) {
  .employee-view main { padding:20px 16px 28px; }
  .employee-view h1 { font-size:30px; }
  .employee-view .topbar { padding:10px 16px; gap:8px; }
  .employee-view .topbar .location-nav { font-size:13px; }
  .employee-view .location-nav li+li::before { padding:0 7px; }
  .employee-view .pagehead { gap:14px; margin-bottom:18px; align-items:flex-start; }
  .employee-view .pagehead>.actions { width:auto; }
  .employee-item { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; padding:15px; }
  .employee-item>.btn { justify-self:start; min-height:44px; }
  .employee-meta { gap:6px 10px; }
  .employee-section { margin-bottom:22px; }
  .employee-section-title { align-items:center; }
  .employee-section-title .btn { padding:8px 10px; }
  .employee-policy-receipt { align-items:flex-start; flex-wrap:wrap; }
  .employee-form-body { padding:16px; }
  .employee-view .form-grid { grid-template-columns:1fr; gap:0; }
  .employee-view .employee-sticky-actions,.employee-dialog .employee-sticky-actions { position:sticky; bottom:0; z-index:1; background:#11161d; border-top:1px solid #455268; padding:12px 0 max(12px,env(safe-area-inset-bottom)); margin-top:16px; display:flex; flex-wrap:wrap; gap:8px; }
  .employee-sticky-actions .btn { flex:1; }
  .employee-dialog { position:fixed; inset:0; margin:0; width:100%; max-width:100%; height:100dvh; max-height:100dvh; border:0; border-radius:0; }
  .employee-dialog>.panel-head { padding:10px 16px; }
  .employee-dialog>.panel-body { padding:16px 16px max(16px,env(safe-area-inset-bottom)); }
  .employee-dialog .form-grid { grid-template-columns:1fr; }
  .employee-view .employee-emergency-note { gap:4px; }
  .employee-mode #toast { bottom:12px; }
}
@media(prefers-reduced-motion:reduce) {.employee-mode * { scroll-behavior:auto!important; transition:none!important; }}

.employee-view .employee-shortcuts .btn { width:auto; }
.employee-draft-banner { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px; margin-bottom:20px; border:1px solid #456b96; border-radius:8px; background:#152234; color:#d6e8ff; flex-wrap:wrap; }

.employee-view :is(h1,h2,h3,p),.employee-dialog :is(h2,h3,p) { overflow-wrap:anywhere; }
.employee-view .btn,.employee-dialog .btn { white-space:normal; overflow-wrap:anywhere; }
