/* Sticky chrome and full-row selections. */
html:root body:is(.admin-workspace,.staff-workspace) .top{box-shadow:0 4px 12px #172d2520!important;z-index:60!important}
html:root body.admin-workspace .records-table tr:has(details[open]){background:var(--accent-soft)!important}
html:root body.admin-workspace .records-table tr:has(details[open]) :is(td,.record-detail,details){background:transparent!important}
html:root body.admin-workspace .record-actions :is(.record-apply,.record-clear){width:108px!important;min-width:108px!important;height:40px!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center;justify-content:center;padding:0 12px!important}
html:root body.admin-workspace .sw-heading.welcome:has(.staff-count){display:flex!important;justify-content:flex-start!important;flex-wrap:nowrap!important;gap:12px!important}
html:root body.admin-workspace .sw-heading.welcome:has(.staff-count)>div{margin-right:auto}
html:root body.admin-workspace .staff-count{flex:none;padding:7px 10px;border-radius:7px}
html:root body.admin-workspace .staff-view-phone h2{color:#172c25!important}
html:root[data-theme=dark] body.admin-workspace .staff-view-phone h2{color:#e4edf0!important}
html:root body.admin-workspace .summary-phone{flex-wrap:nowrap;align-items:center}
html:root body.admin-workspace .staff-view-phone{border-bottom:0!important}
html:root body.admin-workspace .phone-approval-list>.line{border:0!important;padding:10px 0!important;align-items:center;gap:12px}
html:root body.admin-workspace .phone-review-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;gap:8px}
html:root body.admin-workspace .phone-review-actions form{margin:0!important}
html:root body.admin-workspace .phone-review-actions button{min-width:96px;height:40px}
html:root body.admin-workspace .revoke-filled{background:#c32f40!important;border:1px solid #c32f40!important;color:white!important}
html:root body.admin-workspace .page-content :is(button,a).brand-primary:not(:disabled):not(.audit-danger){color:white!important}
html:root body.admin-workspace .page-content summary.brand-primary{background:var(--accent-gradient)!important;color:white!important}
html:root body.admin-workspace .page-content summary.brand-primary :is(svg,span){color:white!important;stroke:currentColor}
/* Equal calendar cells, with explicit attendance states. */
html:root body:is(.admin-workspace,.staff-workspace) .ov-calendar .ov-week{grid-template-columns:repeat(7,minmax(0,1fr))!important;grid-auto-rows:var(--ov-cell-height,48px)!important}
html:root body:is(.admin-workspace,.staff-workspace) .ov-calendar :is(.ov-day,.ov-empty){height:100%!important;min-height:0!important;max-height:none!important;box-sizing:border-box!important;margin:0!important;padding:3px!important;width:100%!important}
html:root body:is(.admin-workspace,.staff-workspace) .ov-metric small{font-size:16px!important;font-weight:600!important}
html:root body:is(.admin-workspace,.staff-workspace) .ov-calendar .ov-day:is(.present,.absent,.late,.early)::before{background:none!important}
html:root body:is(.admin-workspace,.staff-workspace) .ov-calendar .ov-day.present{background:#078575!important;border-color:#078575!important}
html:root body:is(.admin-workspace,.staff-workspace) .ov-calendar .ov-day.absent{background:#202522!important;border-color:#202522!important}
html:root body:is(.admin-workspace,.staff-workspace) .ov-calendar .ov-day.late{background:#c32f40!important;border-color:#c32f40!important}
html:root body:is(.admin-workspace,.staff-workspace) .ov-calendar .ov-day.early{background:#de7918!important;border-color:#de7918!important}
html:root body:is(.admin-workspace,.staff-workspace) .ov-calendar .ov-day:is(.present,.absent,.late,.early) :is(.ov-num,.ov-mo){color:white!important}
html:root body:is(.admin-workspace,.staff-workspace) .ov-detail{background:transparent!important;border:0!important;border-top:1px solid var(--hr-line)!important;border-bottom:1px solid var(--hr-line)!important;border-radius:0!important;padding:8px 0!important}
/* The embedded read-only calendar has compact chrome, rather than a clipped page. */
html:root body:has(.admin-staff-calendar){--ov-cell-height:clamp(32px,calc((100dvh - 330px)/6),58px)}
html:root body:has(.admin-staff-calendar) :is(.app-frame,.shell,.page-content){padding:8px 12px!important;margin:0!important;max-width:none!important;min-height:0!important;height:auto!important}
html:root body:has(.admin-staff-calendar) .hrdesk-footer{display:none!important}
html:root body.admin-workspace .admin-staff-calendar{padding:0!important;margin:0 auto!important;max-width:1100px!important;gap:8px!important}
html:root body.admin-workspace .admin-staff-calendar .welcome{margin:0!important;padding:0 44px 0 0!important}
html:root body.admin-workspace .admin-staff-calendar .welcome h1{font-size:21px!important;margin:0!important}
html:root body.admin-workspace .admin-staff-calendar .welcome p{margin:3px 0!important;font-size:12px!important}
html:root body.admin-workspace .admin-staff-calendar .ov-panel{padding:4px 0!important;margin:0!important;border:0!important}
html:root body.admin-workspace .admin-staff-calendar .ov-panel h2{font-size:17px!important;margin:0 0 4px!important}
html:root body.admin-workspace .admin-staff-calendar .ov-heading p{margin:0 0 6px!important;font-size:12px}
html:root body.admin-workspace .admin-staff-calendar .ov-metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
html:root body.admin-workspace .admin-staff-calendar .ov-metric{padding:7px 10px!important;min-height:0!important}
html:root body.admin-workspace .admin-staff-calendar .ov-metric strong{font-size:23px!important;margin-top:3px!important}
html:root body.admin-workspace .admin-staff-calendar .ov-days{margin:4px 0!important}
html:root body.admin-workspace .admin-staff-calendar .ov-detail{position:relative;padding-right:40px!important}
html:root body.admin-workspace .admin-staff-calendar .ov-detail-close{position:absolute;right:0;top:0}
html:root body.admin-workspace .admin-staff-calendar .staff-date-shifts p{margin:2px 0!important;font-size:12px}
/* Inline settings: compact disclosure rows; four balanced period boxes. */
html:root body.admin-workspace .settings-dropdowns{margin:0!important}
html:root body.admin-workspace .settings-dropdown-summary{padding:14px 0!important;min-height:0!important}
html:root body.admin-workspace .settings-dropdown-summary h2{margin:0 0 4px!important;font-size:16px!important}
html:root body.admin-workspace .settings-dropdown-body{display:block!important;padding:8px 0 14px!important}
html:root body.admin-workspace .settings-disclosure-chevron{width:24px!important;height:24px!important;flex:none}
html:root body.admin-workspace .period-box-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch}
html:root body.admin-workspace .period-box-grid>.period-box{box-sizing:border-box;border:1px solid var(--hr-line)!important;border-radius:8px;padding:12px!important;margin:0!important;min-width:0}
html:root body.admin-workspace .period-box h2{font-size:15px!important;margin:0 0 8px!important}
html:root body.admin-workspace .period-box p{font-size:12px!important;margin:6px 0!important}
html:root body.admin-workspace .period-box .line{display:block!important;padding:7px 0!important;font-size:12px}
html:root body.admin-workspace .period-box .line span{display:block}
html:root body.admin-workspace .settings-inline-form{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px!important;max-width:none!important}
html:root body.admin-workspace .settings-inline-form label{margin:0!important;min-width:0;display:grid;gap:5px}
html:root body.admin-workspace .settings-inline-form input,html:root body.admin-workspace .settings-inline-form select{height:40px!important;min-width:0!important}
html:root body.admin-workspace :is(.settings-form-actions,.period-box .actions){display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important;grid-column:1/-1}
html:root body.admin-workspace :is(.settings-form-actions,.period-box .actions)>button{width:110px!important;height:40px!important;min-height:40px!important;margin:0!important;padding:0 8px!important;box-sizing:border-box}
html:root body.admin-workspace .period-box .actions{margin-top:auto}
html:root body.admin-workspace .period-box .actions button{flex:1 1 100px!important;width:auto!important;font-size:12px!important}
/* One notification frame; plain full-width entries and consistent read indicators. */
html:root body:is(.admin-workspace,.staff-workspace) #header-notifications{width:min(520px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;border:1px solid var(--hr-line)!important;box-shadow:0 8px 28px #102c2624!important;padding:12px!important}
html:root body:is(.admin-workspace,.staff-workspace) .notification-panel-content{border:0!important;box-shadow:none!important;padding:0!important}
html:root body:is(.admin-workspace,.staff-workspace) .notice-entry{display:grid!important;grid-template-columns:10px minmax(0,1fr) 24px!important;gap:12px!important;align-items:center!important;width:100%!important;background:transparent!important;background-image:none!important;color:var(--hr-text)!important;border:0!important;border-bottom:1px solid var(--hr-line)!important;border-radius:0!important;text-align:left!important;box-shadow:none!important;padding:14px 4px!important;height:auto!important;min-height:52px!important;font-size:14px!important;white-space:normal!important}
html:root body:is(.admin-workspace,.staff-workspace) .notice-entry:hover{background:var(--accent-soft)!important}
.notice-status-dot{width:8px;height:8px;border-radius:50%;display:block;box-sizing:border-box}
.notice-status-dot.is-unread{background:var(--accent)}.notice-status-dot.is-read{background:transparent;border:1px solid #8a9d96}
.notice-chevron{width:24px;height:24px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:700px){html:root body.admin-workspace .period-box-grid{grid-template-columns:repeat(2,minmax(0,1fr))}html:root body.admin-workspace .settings-inline-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}html:root body.admin-workspace .admin-staff-calendar .ov-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}html:root body:has(.admin-staff-calendar){--ov-cell-height:clamp(30px,calc((100dvh - 365px)/6),48px)}}
@media(max-width:430px){html:root body.admin-workspace .period-box-grid{grid-template-columns:1fr}html:root body.admin-workspace .phone-review-actions button{min-width:76px!important}}
.notice-status-dot.is-unread{background:#e32945!important;border:0!important}.notice-status-dot.is-read{background:#9ca3af!important;border:0!important}
html:root body:has(.admin-staff-calendar){--ov-cell-height:clamp(30px,calc((100dvh - 400px)/6),48px)}
html:root body.admin-workspace .page-content .period-box .actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;flex-wrap:nowrap!important}
html:root body.admin-workspace .page-content .period-box .actions button{width:100%!important;min-width:0!important;font-size:12px!important;padding:0 3px!important}
html:root body.admin-workspace .page-content .sw-new-template>summary.brand-primary{color:#fff!important;transition:none!important}
html:root body.admin-workspace .page-content .sw-new-template>summary.brand-primary *{color:#fff!important}
@media(max-width:700px){html:root body:has(.admin-staff-calendar){--ov-cell-height:clamp(30px,calc((100dvh - 400px)/6),44px)}}
/* The programmatic focus ring caused the apparent second border. */
html:root body:is(.admin-workspace,.staff-workspace) #header-notifications:focus{outline:0!important;outline-offset:0!important}
html:root body:is(.admin-workspace,.staff-workspace) #header-notifications:focus-visible{border-color:var(--accent)!important}
@media(max-width:700px){html:root body:is(.admin-workspace,.staff-workspace) #header-notifications{position:fixed!important;right:12px!important;left:auto!important;top:70px!important;box-sizing:border-box!important;max-height:calc(100dvh - 100px)!important}}
