/* Shared web/native preparation. No permissions, caching or role changes. */
.shell{min-height:100dvh}
body{padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
body:not(.employee-mode){padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-block:24px 110px}
dialog{max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain}
@media(pointer:coarse){
  button:not([hidden]),a.btn,nav a,summary{min-height:48px}
  input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font-size:16px;min-height:48px}
  input[type=checkbox],input[type=radio]{flex-shrink:0}
  .check{min-height:48px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Equal 32px rows keep the month directly under the finger without layout jumps. */
.month-wheel-values{display:flex;flex-direction:column;justify-content:center;position:relative;height:96px;min-height:96px;padding:0;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;overflow:hidden;contain:layout paint}
.month-wheel-values::after{content:"";position:absolute;inset:auto 0;top:50%;height:32px;box-sizing:border-box;transform:translateY(-50%);border-block:1px solid var(--stone);pointer-events:none}
.month-wheel-track{position:absolute;top:50%;left:0;right:0;height:160px;margin-top:-80px;display:flex;flex-direction:column;transform:translate3d(0,0,0);pointer-events:none}
.month-wheel-track>span{display:flex;align-items:center;justify-content:center;box-sizing:border-box;flex:0 0 32px;height:32px;margin:0;padding:0;line-height:32px;font-weight:400;white-space:nowrap;text-align:center}
.month-wheel-track>[data-wheel-offset="0"]{font-size:13px;font-weight:700;color:var(--olive)}
.month-wheel-track>.month-wheel-neighbor{font-size:11px;line-height:32px;color:var(--muted)}
.month-wheel-values.is-dragging{cursor:grabbing}
.month-wheel-values.is-dragging .month-wheel-track{will-change:transform}
.month-wheel-values:focus-visible{outline:2px solid var(--olive);outline-offset:-2px;border-radius:6px}

/* Center older three-row markup as well when an installed page is restored. */
.month-wheel-values>strong,.month-wheel-values>.month-wheel-neighbor{display:flex;align-items:center;justify-content:center;box-sizing:border-box;flex:0 0 32px;height:32px;margin:0;padding:0;line-height:32px;border:0}

/* Compact, equal-width range controls: 16px neighbours around a 32px selection. */
.overview-range{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:640px}.overview-range .month-wheel{width:100%}.overview-range .month-wheel-values{height:64px;min-height:64px;padding:0}.overview-range .month-wheel-track{height:96px;margin-top:-48px}.overview-range .month-wheel-track>span{flex:0 0 16px;height:16px;line-height:16px}.overview-range .month-wheel-track>[data-wheel-offset="0"]{flex-basis:32px;height:32px;line-height:32px}.overview-range .month-wheel-track>.month-wheel-neighbor{font-size:10px;line-height:16px}.document-trash{display:inline-grid;place-items:center;flex:none;width:38px;height:38px;padding:8px;border:1px solid #e8b5b2;border-radius:8px;background:transparent;color:#c22d29;cursor:pointer}.document-trash svg{width:21px;height:21px}.document-trash:hover{background:#fff0ef}.document-delete-confirm{background:#c22d29!important;color:white!important}.document-items .actions{flex-wrap:wrap}html[data-theme=dark] .document-trash{color:#ff9490;border-color:#a54b47}html[data-theme=dark] .document-trash:hover{background:#512725}html[data-app-mode=phone] .overview-intro{display:none}html[data-app-mode=phone] .shell>main>.notice{display:none!important}@media(max-width:700px){body:not(.employee-mode) .overview-intro{display:none}.overview-range{margin-top:0;grid-template-columns:repeat(3,minmax(0,1fr))}.overview-range .month-wheel-values{padding:0}.overview-range .month-wheel-track>[data-wheel-offset="0"]{font-size:11px}.overview-range .month-wheel-track>.month-wheel-neighbor{font-size:9px}}
@media(max-width:700px){.document-items .row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.document-items .actions{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;width:100%;gap:8px}.document-items .actions>a.btn,.document-items .actions>.document-trash{width:auto;flex:0 0 auto}.document-items .actions>.document-trash{width:38px}.document-items .actions>[data-document-share]{flex-basis:100%;width:100%}}
.save-feedback-button{position:relative;overflow:hidden}.save-feedback-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#218549;color:#fff;border-radius:inherit;pointer-events:none;animation:qrts-save-feedback 1.8s ease both;white-space:nowrap;font-weight:600;padding:0 5px}@keyframes qrts-save-feedback{0%{opacity:0}12%,80%{opacity:1}100%{opacity:0}}@media(prefers-reduced-motion:reduce){.save-feedback-overlay{animation:none;opacity:1}}
.save-feedback-button{color:transparent!important}

/* Employee workspace: a single sticky header, no overlapping stacked offsets. */
.employee-mode .staff-sticky-header{position:sticky;top:0;z-index:30;background:var(--paper);padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid var(--stone);margin-bottom:16px}
.employee-mode .staff-sticky-header .staff-top{padding:12px 0 9px;margin:0;border:0}
.employee-mode .staff-sticky-header .staff-head{margin:0;padding:4px 0 12px}
.employee-mode .staff-sticky-header .staff-head h1{font-size:25px;margin:4px 0 0}
.employee-mode .staff-sticky-header .staff-head .eyebrow{font-size:10px;letter-spacing:1px}
.employee-mode .staff-mode:empty{display:none}.employee-mode .staff-calendar-property h3 span{font-size:14.4px;min-width:0;overflow-wrap:anywhere}
.staff-profile-logout{display:block;width:100%;color:#b62c27!important;background:transparent!important;border-color:transparent!important;margin-bottom:16px}
.employee-mode .staff-time-card{padding:16px}.staff-time-location select,.staff-time-card #switch-unit{width:100%}.staff-time-location label,.staff-time-card .work-task-picker{font-size:12px;color:var(--muted)}
.staff-time-card .work-task-picker{margin:8px 0 0;gap:3px}.staff-time-card .work-task-picker select{font-size:14px;color:var(--ink);padding:9px}
.staff-time-clock{text-align:center;padding:10px 0 0}.employee-mode .staff-time-clock .clock{font-size:36px;margin:4px 0;line-height:1.3}.staff-time-clock #timer-status{font-size:12px}
.employee-mode .staff-time-card .actions{gap:8px;margin-top:12px}.employee-mode .staff-time-card .btn{font-size:14px;min-height:46px;padding:8px 10px}.staff-time-card #switch .staff-icon{width:22px;height:22px}
.staff-time-history h2{font-size:18px;margin-bottom:12px}.staff-time-day{border-top:1px solid var(--stone);padding-top:12px;margin-top:12px}.staff-time-day-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.staff-time-day-heading h3{font-size:14px;margin:0}.staff-time-day-heading .pill{font-size:10px;padding:2px 8px}
.staff-time-totals{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:5px 0 9px}.staff-time-totals bdi{color:var(--ink);font-variant-numeric:tabular-nums}
.staff-time-entry{padding:8px 0;border-bottom:1px solid var(--stone)}.staff-time-entry:last-child{border:0}.staff-time-entry-title{display:flex;justify-content:space-between;gap:8px;align-items:baseline;font-size:12px}.staff-time-entry-title strong{font-weight:600}.staff-time-entry-title>span{font-size:11px;color:var(--muted)}
.staff-time-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:7px 0 0}.staff-time-values dt{font-size:10px;color:var(--muted)}.staff-time-values dd{font-size:12px;margin:2px 0 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.staff-time-values>div:last-child dd{font-weight:650}.staff-time-reason{font-size:10px;color:var(--muted)}
html[data-theme=dark] .staff-sticky-header{background:var(--paper)}html[data-theme=dark] .staff-profile-logout{color:#ff9690!important}
