/* Shared glass treatment for the global navigation and its shadow-root panels. */
.office>.stage>.topbar{min-height:78px;padding:12px 28px;gap:24px;border-radius:0 0 24px 24px;background:linear-gradient(120deg,rgba(255,255,255,.72),rgba(255,255,255,.38));border:1px solid #ffffffa6;border-top:0;box-shadow:inset 0 -1px 0 #ffffffc0,0 8px 28px #23342b08;backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%)}
.office .topbar :is(.department,.global-search,.header-tool,.assistant-button,.avatar-button),.notification-center-wrap>.notification{border:1px solid #ffffffc9;background:linear-gradient(145deg,#ffffff9c,#ffffff40);box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 #22332b0a,0 3px 10px #24322909;backdrop-filter:blur(16px) saturate(160%);color:var(--text,#28302c);transition:background .2s ease,box-shadow .2s ease,transform .2s ease,border-color .2s ease}
.office .topbar .department{width:210px;min-height:50px;border-radius:16px;padding:9px 14px}.department-switcher{flex-basis:210px}.topbar .department small{font-size:9px;font-weight:500;letter-spacing:.07em}.topbar .department strong{font-size:13px;font-weight:500}
.office .topbar .global-search{border-radius:999px;min-height:44px;padding:0 16px;font-size:13px}.topbar .global-search kbd{background:#ffffff70;border:1px solid #24322909;font-weight:400}
.topbar .topbar-actions{gap:8px;align-items:center}.header-popover{position:relative}.header-tool{height:40px;min-width:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 11px;list-style:none;cursor:pointer;font-size:12px;font-weight:500}.header-tool::-webkit-details-marker{display:none}.header-popover.language-popover .header-tool{border-radius:999px}.header-tool>svg:last-child:not(:first-child){width:12px}.topbar :is(.header-tool,.department,.global-search,.assistant-button) svg{width:18px;height:18px;stroke-width:1.6}.topbar-actions>.assistant-button,.topbar-actions>.avatar-button,.notification-center-wrap>.notification{width:40px;height:40px;min-height:40px;border-radius:50%;font-weight:500}.notification-center-wrap>.notification svg{width:18px;height:18px;stroke-width:1.6}.topbar-actions>.avatar-button{color:#a92c3a}
.office .topbar :is(summary,button):not(:disabled):hover,.notification-center-wrap>.notification:hover{background:linear-gradient(145deg,#fffffff2,#ffffff8c);border-color:#ffffff;box-shadow:inset 0 1px 0 white,0 5px 16px #24322916;transform:translateY(-1px)}
.topbar :is(summary,button):focus-visible{outline:2px solid #bd3445;outline-offset:3px}.header-popover[open]>.header-tool{background:#ffffffd6;color:#ae2c3b}
.header-menu,.office .department-menu,.notification-panel,.profile-summary-card{background:linear-gradient(140deg,rgba(255,255,255,.91),rgba(246,248,247,.78));border:1px solid #ffffffda;box-shadow:inset 0 1px 0 white,0 22px 60px #182a222b;backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);border-radius:20px;animation:glass-menu-in .18s ease-out}
.header-menu{position:absolute;top:calc(100% + 12px);right:0;width:190px;padding:8px;z-index:70}.header-menu-label,.office .department-menu-label{display:block;padding:8px 10px;color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.header-menu button{width:100%;display:flex;align-items:center;gap:10px;min-height:40px;padding:9px 11px;border:0;border-radius:12px;background:transparent;color:var(--text);font-size:13px;text-align:left;cursor:pointer}.header-menu button>svg{width:17px;height:17px}.header-menu button>svg:last-child{margin-left:auto}.header-menu button[aria-current=true]{opacity:1;background:#c937480c;color:#a72b39;cursor:default}
.office .department-menu{top:calc(100% + 12px);left:0;width:310px;padding:8px}.office .department-menu button{display:flex;flex-direction:row;align-items:center;gap:11px;padding:11px;border-radius:13px}.department-menu-copy{display:flex;flex-direction:column;gap:3px;flex:1}.office .department-menu button strong{font-size:13px;font-weight:500}.office .department-menu button small{font-size:11px}.department-menu-icon{display:grid;place-items:center;width:34px;height:34px;background:#ffffff80;border:1px solid #ffffffc0;border-radius:11px;color:#a73240}.department-menu-icon svg{width:18px;height:18px}.department-menu button>svg{width:16px;height:16px;color:#b42f40}
.notification-panel{top:76px}.notification-panel-head{background:transparent}.notification-panel-head h2{font-size:18px;font-weight:500}.profile-summary-card h2{font-weight:500}
@keyframes glass-menu-in{from{opacity:0;transform:translateY(-5px) scale(.98)}to{opacity:1;transform:none}}
html[data-theme=dark] .office>.stage>.topbar{background:linear-gradient(120deg,#202923c9,#151c18a6);border-color:#ffffff20;box-shadow:inset 0 -1px 0 #ffffff14,0 8px 28px #0002}
html[data-theme=dark] .office .topbar :is(.department,.global-search,.header-tool,.assistant-button,.avatar-button),:host([data-theme=dark]) .notification-center-wrap>.notification{background:linear-gradient(145deg,#ffffff18,#ffffff06);border-color:#ffffff20;color:#e1e7e3;box-shadow:inset 0 1px 0 #ffffff19,0 3px 10px #0002}
html[data-theme=dark] :is(.header-menu,.office .department-menu),:host([data-theme=dark]) :is(.notification-panel,.profile-summary-card){background:linear-gradient(140deg,#28332ef0,#19231ddb);border-color:#ffffff26;color:#e1e7e3;box-shadow:inset 0 1px 0 #ffffff16,0 22px 60px #0005}.department-menu button.selected{background:#c9374810}html[data-theme=dark] .department-menu-icon{background:#ffffff08;border-color:#ffffff12;color:#efb1b9}
@media(max-width:800px){.office>.stage>.topbar{padding:10px 14px;gap:10px}.office .topbar .department{width:100%}.department-switcher{flex:1}.office .topbar .global-search{padding:10px;min-width:40px}.office .department-menu{width:min(310px,calc(100vw - 40px))}}
@media(max-width:600px){.office>.stage>.topbar{grid-template-columns:36px minmax(0,1fr) 40px}.header-menu{max-width:calc(100vw - 28px)}}
@media(pointer:coarse){.header-tool,.topbar-actions>.assistant-button,.topbar-actions>.avatar-button,.notification-center-wrap>.notification{min-width:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.office .topbar *, .notification-panel,.profile-summary-card{animation:none!important;transition:none!important}}
/* Popovers remain readable even when nested backdrop roots prevent blurring. */
.office .department-menu,.header-menu{background:linear-gradient(140deg,rgba(255,255,255,.98),rgba(246,248,247,.96))}
html[data-theme=dark] .office .topbar :is(summary,button):not(:disabled):hover{background:#ffffff20;border-color:#ffffff38;color:#f2f6f3}
html[data-theme=dark] .header-menu button{color:#e1e7e3}html[data-theme=dark] .header-menu button[aria-current=true]{background:#d1485820;color:#efb1b9}
/* Floating capsule: retain the current controls and glass material. */
.office>.stage>.topbar{margin:16px 24px 0;width:auto;top:16px;border-radius:999px;border-top:1px solid #ffffffa6;box-shadow:inset 0 1px 0 #ffffffe0,inset 0 -1px 0 #ffffff80,0 12px 32px #23342b12}
html[data-theme=dark] .office>.stage>.topbar{border-top-color:#ffffff20;box-shadow:inset 0 1px 0 #ffffff1c,0 12px 32px #0003}
.notification-panel{top:104px;max-height:calc(100dvh - 120px)}
@media(max-width:1100px){.office>.stage>.topbar{margin:12px 16px 0;top:12px;padding-inline:18px}}
@media(max-width:800px){.office>.stage>.topbar{margin:10px 12px 0;top:10px;border-radius:28px;padding-inline:14px}}
@media(max-width:600px){.office>.stage>.topbar{margin:8px 10px 0;top:8px;border-radius:24px}.notification-panel{top:140px;max-height:calc(100dvh - 154px)}}
/* Match the exact inner edges of the shared page heading. */
/* The header menu is only needed when navigation becomes a mobile drawer. */
@media(min-width:801px){.office>.stage>.topbar>.mobile-menu{display:none}}
.office>.stage{--header-gutter:clamp(20px,3vw,40px)}
.office>.stage>.topbar{box-sizing:border-box;width:calc(min(1540px,100%) - var(--header-gutter) * 2);margin:14px auto 0;top:14px;min-height:60px;padding:9px 12px;gap:16px;border-radius:999px}
.office .topbar .department-switcher{flex:0 1 210px;min-width:160px}
.office .topbar .department{box-sizing:border-box;width:100%;height:40px;min-height:40px;padding:5px 13px;border-radius:999px;gap:10px}
.office .topbar .department>span{gap:1px}.office .topbar .department small{font-size:8px;line-height:1.2}.office .topbar .department strong{font-size:12px;line-height:1.3}
.office .topbar .global-search{box-sizing:border-box;height:40px;min-height:40px;flex:0 1 420px;width:420px;padding:0 14px;font-size:12px}
.office .topbar .topbar-actions{gap:6px}
.office .topbar .topbar-actions :is(.header-tool,.icon-button,.avatar-button),.notification-center-wrap>.notification{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px;max-height:40px;padding:0;border-radius:50%;margin:0;aspect-ratio:1}
.office .topbar .header-popover.language-popover .header-tool>svg{display:none}
.office .topbar .header-popover.language-popover .header-tool>span{font-size:11px;font-weight:500}
.notification-panel{top:88px;max-height:calc(100dvh - 104px)}
@media(max-width:1180px){.office>.stage{--header-gutter:24px}.office>.stage>.topbar{gap:10px}}
@media(max-width:860px){.office>.stage{--header-gutter:20px}}
@media(max-width:800px){.office .topbar .department-switcher{flex:1}.office .topbar .global-search{flex:0 0 40px;width:40px;padding:10px}.office>.stage>.topbar{border-radius:24px}}
@media(max-width:760px){.office>.stage{--header-gutter:12px}}
@media(max-width:600px){.office>.stage>.topbar{margin-top:10px;top:10px;gap:8px}.notification-panel{top:136px;max-height:calc(100dvh - 152px)}}

/* Installed mobile apps draw below the iOS status bar with viewport-fit=cover.
   Reserve that area in flow as well as at the sticky position. */
@media(max-width:800px){
 .office>.stage{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);min-height:100dvh;box-sizing:border-box}
 .office>.stage>.topbar{top:calc(env(safe-area-inset-top,0px) + 10px);flex-shrink:0}
 .office.is-preview>.stage>.topbar{top:calc(env(safe-area-inset-top,0px) + 54px)}
 .office>.stage>.topbar>.mobile-menu{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:10px;border-radius:50%}
 .office>.stage>.topbar .department-switcher{min-width:0}
 .office>.stage>.topbar .department{min-width:0;min-height:44px;height:44px}
 .office>.stage>.topbar>.global-search{width:44px;min-width:44px;height:44px;min-height:44px;flex-basis:44px}
 .office>.stage>.topbar .topbar-actions :is(.header-tool,.icon-button,.avatar-button){width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;max-height:44px}
 .notification-center-wrap>.notification{width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;max-height:44px}
 .notification-panel{top:calc(env(safe-area-inset-top,0px) + 88px);max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 104px)}
}
@media(max-width:600px){
 .office>.stage>.topbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;grid-template-rows:auto auto;gap:8px;padding:9px 10px;border-radius:24px}
 .office>.stage>.topbar>.mobile-menu{grid-area:1 / 1}
 .office>.stage>.topbar>.department-switcher{grid-area:1 / 2;width:100%;max-width:none}
 .office>.stage>.topbar>.global-search{grid-area:1 / 3;margin:0}
 .office>.stage>.topbar>.topbar-actions{grid-area:2 / 1 / 3 / -1;justify-content:flex-end;gap:6px;margin:0;width:100%;min-width:0}
 .notification-panel{top:calc(env(safe-area-inset-top,0px) + 142px);max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 158px)}
}

/* Mobile utility row: time clock on the left, four consistent tools on the right. */
.mobile-punch{display:none}
/* Desktop uses the same punch control and personal panel as mobile. */
@media(min-width:801px){
 .office .topbar .mobile-punch{display:flex;align-items:center;gap:8px;flex:none;box-sizing:border-box;height:40px;min-height:40px;padding:4px 13px;text-align:left;border-radius:999px;border:1px solid #ffffffc9;background:linear-gradient(145deg,#ffffff9c,#ffffff40);color:var(--text);box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 #22332b0a,0 3px 10px #24322909;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);cursor:pointer;transition:background .2s ease,box-shadow .2s ease,transform .2s ease,border-color .2s ease}
 .mobile-punch-dot{width:6px;height:6px;flex:none;border-radius:50%;background:var(--muted)}
 .mobile-punch.is-running .mobile-punch-dot{background:#219766;box-shadow:0 0 0 3px #21976618}
 .mobile-punch-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
 .mobile-punch-copy strong{font-size:11px;line-height:1.2;font-weight:550;white-space:nowrap}
 .mobile-punch-copy small{font-size:10px;line-height:1.2;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
 html[data-theme=dark] .office .topbar .mobile-punch{background:linear-gradient(145deg,#ffffff18,#ffffff06);border-color:#ffffff20;color:#e1e7e3;box-shadow:inset 0 1px 0 #ffffff19,0 3px 10px #0002}
}
@media(max-width:800px){
 .office>.stage>.topbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;grid-template-rows:auto auto;gap:8px;padding:10px;border-radius:24px}
 .office>.stage>.topbar>.mobile-menu{grid-area:1 / 1}
 .office>.stage>.topbar>.department-switcher{grid-area:1 / 2;width:100%;max-width:none}
 .office>.stage>.topbar>.global-search{grid-area:1 / 3;margin:0}
 .office>.stage>.topbar>.topbar-actions{grid-area:2 / 1 / 3 / -1;display:flex;justify-content:flex-end;gap:6px;width:100%;min-width:0;margin:0;padding-top:0;border-top:0}
 .office .topbar .mobile-punch{display:flex;align-items:center;gap:7px;flex:1;min-width:0;min-height:44px;padding:4px 8px;margin-right:auto;text-align:left;border-radius:14px;border:1px solid var(--line);background:var(--glass-control);color:var(--text);box-shadow:inset 0 1px 0 #ffffff50}
 .mobile-punch-dot{width:6px;height:6px;flex:none;border-radius:50%;background:var(--muted)}
 .mobile-punch.is-running .mobile-punch-dot{background:#219766;box-shadow:0 0 0 3px #21976618}
 .mobile-punch-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
 .mobile-punch-copy strong{font-size:11px;line-height:1.2;font-weight:550;white-space:nowrap}
 .mobile-punch-copy small{font-size:10px;line-height:1.2;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
 .office .topbar .topbar-actions>.header-popover,.office .topbar #notifications-workspace{flex:none}
 .notification-panel{top:calc(env(safe-area-inset-top,0px) + 152px);max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 168px)}
}
@media(max-width:360px){
 .office>.stage>.topbar>.topbar-actions{gap:3px}
 .office .topbar .mobile-punch{padding-inline:5px;gap:4px}
 .mobile-punch-dot{display:none}
 .mobile-punch-copy strong{font-size:10px}
}

/* One mobile control shape and glass surface, including the shadow-root bell. */
@media(max-width:800px){
 .office>.stage>.topbar :is(.mobile-menu,.department,.global-search,.mobile-punch,.header-tool,.avatar-button),
 .notification-center-wrap>.notification{
  box-sizing:border-box;height:44px;min-height:44px;max-height:44px;border-radius:999px;
  border:1px solid rgba(255,255,255,.8);
  background:linear-gradient(145deg,rgba(255,255,255,.7),rgba(255,255,255,.3));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(34,51,43,.04),0 3px 10px rgba(36,50,41,.035);
  backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);
 }
 .office>.stage>.topbar .language-popover .header-tool{gap:0}
 .office>.stage>.topbar .language-popover .header-tool>svg{display:none}
 .office>.stage>.topbar .language-popover .header-tool>span{font-size:11px;font-weight:500}
 html[data-theme=dark] .office>.stage>.topbar :is(.mobile-menu,.department,.global-search,.mobile-punch,.header-tool,.avatar-button),
 :host([data-theme=dark]) .notification-center-wrap>.notification{
  background:linear-gradient(145deg,#ffffff18,#ffffff06);border-color:#ffffff20;color:#e1e7e3;box-shadow:inset 0 1px 0 #ffffff19,0 3px 10px #0002;
 }
}
/* Header audit: one control height, type scale and optical icon alignment. */
.office>.stage>.topbar{align-items:center;gap:12px;min-height:68px;padding:11px 14px}
.office>.stage>.topbar :is(.department,.global-search,.mobile-punch){height:44px;min-height:44px;max-height:none;font-size:13px;border-radius:999px}
.office>.stage>.topbar .department{padding:6px 14px;align-items:center;gap:10px}
.office>.stage>.topbar .department>span{display:flex;flex-direction:column;gap:0;min-width:0}
.office>.stage>.topbar .department small{font-size:11px;font-weight:400;line-height:1.4;letter-spacing:0;text-transform:none;color:var(--muted)}
.office>.stage>.topbar .department strong{font-size:13px;font-weight:550;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.office>.stage>.topbar .global-search{flex:1 1 360px;width:auto;max-width:560px;min-width:44px;margin-inline:auto;padding-inline:14px;gap:10px;text-align:left;font-weight:400;justify-content:flex-start}
.office>.stage>.topbar .global-search>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.office>.stage>.topbar .global-search kbd{flex:none;margin-left:auto;font:inherit;font-size:11px;line-height:1.4}
.office>.stage>.topbar .topbar-actions{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}
.office>.stage>.topbar .topbar-actions :is(.header-tool,.icon-button,.avatar-button),.notification-center-wrap>.notification{width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;max-height:44px}
.office>.stage>.topbar :is(.header-tool,.department,.global-search,.mobile-punch) svg{width:18px;height:18px;stroke-width:1.65;flex:none}
.office>.stage>.topbar .department>svg{width:14px;height:14px}
.office>.stage>.topbar .header-popover.language-popover .header-tool>span{font-size:13px;line-height:1.4;font-weight:550}
.office>.stage>.topbar .mobile-punch{padding:6px 14px;gap:10px;align-items:center}
.office>.stage>.topbar .mobile-punch-copy{gap:0}
.office>.stage>.topbar .mobile-punch-copy strong{font-size:13px;font-weight:550;line-height:1.4}
.office>.stage>.topbar .mobile-punch-copy small{font-size:11px;line-height:1.4;white-space:nowrap;font-variant-numeric:tabular-nums}
.office>.stage>.topbar #notifications-workspace{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none}
@media(max-width:1100px){.office>.stage>.topbar{gap:8px}.office>.stage>.topbar .global-search kbd{display:none}.office>.stage>.topbar .department-switcher{flex-basis:180px;min-width:150px}.office>.stage>.topbar .topbar-actions{gap:6px}}
@media(max-width:800px){.office>.stage>.topbar{display:flex;flex-wrap:wrap;border-radius:24px}.office>.stage>.topbar .global-search{flex:0 0 44px;width:44px;max-width:44px;padding:12px;margin-left:auto;margin-right:0}.office>.stage>.topbar .global-search>span{display:none}.office>.stage>.topbar .department-switcher{flex:1 1 140px;min-width:0}.office>.stage>.topbar .topbar-actions{flex-wrap:wrap}}
@media(max-width:600px){.office>.stage>.topbar .topbar-actions{flex-basis:100%;justify-content:flex-end}.office>.stage>.topbar .mobile-punch{margin-right:auto}.office>.stage>.topbar .avatar-button{display:inline-flex}}
