:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#202b29;background:#f4f6f5;font-synthesis:none;--green:#176451;--muted:#626e69;--line:#dce3df;--red:#b34132;letter-spacing:0}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d49235;outline-offset:3px}button{border:1px solid var(--line);background:white;color:inherit;border-radius:6px;min-height:42px;padding:9px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600}button:hover:not(:disabled){background:#eef4f0}button.primary{background:var(--green);color:white;border-color:var(--green)}button.primary:hover:not(:disabled){background:#104b3d}button.danger{color:var(--red)}button.icon{width:42px;padding:0;flex-shrink:0}svg.lucide{width:18px;height:18px;flex-shrink:0}input,select,textarea{width:100%;min-width:0;border:1px solid #becbc4;border-radius:5px;background:white;padding:11px 12px;min-height:44px;color:inherit}textarea{resize:vertical}label{font-size:13px;font-weight:600;display:grid;gap:7px}input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--green)}.check{display:flex;align-items:center;gap:8px}.field{margin-bottom:18px}.muted,.meta{color:var(--muted);font-size:13px;line-height:1.6}.brand{display:flex;align-items:center;gap:12px}.brand img{width:40px;height:40px}.brand strong{display:block;font-size:20px}.brand small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:4px;font-size:12px;background:#e7eeea;white-space:nowrap}.pill.good{background:#e3f1e9;color:#15583d}.pill.warn{background:#fff0d5;color:#81511b}.pill.bad{background:#fae8e4;color:#973c2f}h1,h2,h3,p{margin-top:0}h1{font-size:28px;line-height:1.25;margin-bottom:8px}h2{font-size:19px;margin-bottom:16px}h3{font-size:15px}p{line-height:1.6}.login{max-width:420px;margin:9vh auto;padding:24px}.login .brand{margin-bottom:48px}.login h1{font-size:25px}.login form{margin-top:28px}.login .primary{width:100%}.demo-details{margin-top:24px;border-top:1px solid var(--line);padding-top:20px;font-size:13px;line-height:1.8}.demo-details summary{cursor:pointer;color:var(--green);font-weight:600}.demo-details code{overflow-wrap:anywhere}.demo-details button{margin:6px 4px 6px 0;font-size:12px}.login-footer{margin-top:32px;font-size:12px;color:var(--muted)}.topbar{background:white;border-bottom:1px solid var(--line);min-height:82px;padding:18px 32px;display:flex;justify-content:space-between;align-items:center;gap:16px}.account{display:flex;align-items:center;gap:18px}.account-text{text-align:right;font-size:13px;line-height:1.6}.layout{max-width:1200px;margin:auto;padding:32px}.headline{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:24px}.eyebrow{font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:700;letter-spacing:0;margin-bottom:10px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:28px;overflow-x:auto}.tabs button{border:0;border-radius:0;background:none;padding:14px 0;border-bottom:3px solid transparent;white-space:nowrap;font-size:14px}.tabs button.active{border-color:var(--green);color:var(--green)}.clock-section{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;padding:8px 0 32px;border-bottom:1px solid var(--line);margin-bottom:28px}.clock-time{font-size:54px;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.2;margin:12px 0}.clock-date{color:var(--muted);font-size:14px}.clock-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.clock-buttons button{min-height:52px;min-width:160px}.session-summary{border-left:1px solid var(--line);padding-left:36px;display:flex;flex-direction:column;justify-content:center}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:22px 0}.metric{border-left:3px solid #b7c8be;padding:4px 0 4px 15px}.metric:first-child{border-color:var(--green)}.metric.warn{border-color:#d49235}.metric strong{font-size:27px;font-variant-numeric:tabular-nums;display:block;margin-top:6px}.metric small{font-size:12px;color:var(--muted)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 16px}.section-heading h2{margin:0}.downloads{display:flex;gap:8px}.downloads a{text-decoration:none;display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border:1px solid var(--line);border-radius:5px;font-size:13px;background:white;min-height:40px}.filters{display:grid;grid-template-columns:1fr 1fr 1.4fr auto auto;gap:12px;align-items:end;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:16px}.filters .check{min-height:44px}.table-wrap{overflow-x:auto;background:white;border:1px solid var(--line);border-radius:6px}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}th{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;background:#f8faf9;padding:14px 16px;white-space:nowrap}td{border-top:1px solid var(--line);padding:15px 16px;vertical-align:middle}td strong{display:block;font-weight:600}td small{display:block;color:var(--muted);font-size:11px;margin-top:4px}td .icon{width:34px;min-height:34px}.row-actions{display:flex;gap:6px}.table-time{font-variant-numeric:tabular-nums;white-space:nowrap}.empty{text-align:center;color:var(--muted);padding:40px 20px}.footnote{margin:16px 0 0;font-size:12px;color:var(--muted)}.inline-alert{background:#fff2dc;color:#80521e;border-left:3px solid #d49235;padding:13px 16px;font-size:13px;margin-bottom:20px}.timeline{list-style:none;padding:0;margin:12px 0}.timeline li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0;font-size:14px}.timeline span{display:flex;align-items:center;gap:8px}.loading{padding:40px;text-align:center}.footer{border-top:1px solid var(--line);margin-top:40px;padding-top:16px;display:flex;gap:12px;justify-content:space-between;font-size:11px;color:var(--muted)}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;padding:13px 20px;background:#203e34;color:white;border-radius:6px;box-shadow:0 5px 25px #0002;z-index:20;display:none;font-size:14px}#notice.error{background:#883a31}dialog{border:1px solid var(--line);border-radius:8px;padding:28px;max-width:760px;width:calc(100% - 32px);max-height:90vh;box-shadow:0 20px 80px #0003}dialog::backdrop{background:#15251d70}dialog .dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}dialog .dialog-head h2{margin:0}dialog .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.event-edit{display:grid;grid-template-columns:1fr 1.7fr 1fr auto;gap:8px;margin-bottom:12px;align-items:end}.event-edit input,.event-edit select{font-size:13px;padding:9px 6px}.revision{padding:16px 0;border-bottom:1px solid var(--line)}.revision p{font-size:13px;overflow-wrap:anywhere;margin-bottom:8px}.revision code{font-size:11px;overflow-wrap:anywhere}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.audit-list{list-style:none;padding:0}.audit-list li{padding:18px 0;border-bottom:1px solid var(--line);font-size:13px}.audit-list small{color:var(--muted)}.error-text{color:var(--red);font-size:13px;margin-top:12px}.credential{padding:20px;background:#eff5f1;overflow-wrap:anywhere}
@media(max-width:760px){.topbar{padding:16px}.brand strong{font-size:18px}.brand img{width:34px;height:34px}.account{gap:8px}.account-text{display:none}.topbar>.pill{display:none}.layout{padding:24px 16px}.headline{margin-bottom:16px}.headline h1{font-size:24px}.headline>.pill{font-size:10px}.clock-section{grid-template-columns:1fr;gap:24px}.clock-time{font-size:48px}.session-summary{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.clock-buttons{display:grid;grid-template-columns:1fr 1fr}.clock-buttons button{min-width:0;font-size:14px;padding:12px 8px}.filters{grid-template-columns:1fr 1fr}.filters .person-filter{grid-column:1/-1}.filters>.primary{min-width:80px}.metrics{gap:10px}.metric{padding-left:9px}.metric strong{font-size:22px}.metric small{font-size:11px}.section-heading{align-items:start}.section-heading h2{font-size:17px}.downloads a{padding:8px;font-size:12px}.tabs{gap:24px}.tabs button{font-size:13px}td,th{padding:12px}.footer{flex-direction:column;gap:6px}.event-edit{grid-template-columns:1fr 1fr}.event-edit label:first-child{grid-column:1}.event-edit label:nth-child(2){grid-column:1/-1;grid-row:2}.event-edit label:nth-child(3){grid-column:2;grid-row:1}.event-edit button{grid-column:2;justify-self:end}.two-col{grid-template-columns:1fr}dialog{padding:20px}.login{margin:2vh auto}.login .brand{margin-bottom:32px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s,color .15s}}
.toolbar{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.toolbar label{max-width:160px}.leave-heading{align-items:end;flex-wrap:wrap}.leave-balances{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:28px 0}.calendar-scroll{overflow:auto;border:1px solid var(--line);border-radius:6px;background:white}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:620px}.weekday{text-align:center;padding:12px;font-size:12px;color:var(--muted);background:#edf1ee}.calendar-day{min-height:115px;padding:8px;border-top:1px solid var(--line);border-right:1px solid var(--line);min-width:0}.calendar-day time{display:block;font-size:12px;margin-bottom:10px}.calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--green)}.calendar-day.outside{background:#f5f7f6}.absence-name{display:block;font-size:11px;background:#e1eee8;color:#145641;padding:5px;margin:4px 0;border-radius:3px;overflow-wrap:anywhere}.weekdays{display:flex;flex-wrap:wrap;gap:14px;border:1px solid var(--line);border-radius:5px;padding:16px;margin:0 0 18px}.weekdays legend{font-size:13px;font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.month-select input{max-width:185px}.login-title{margin-top:24px}.actions{flex-wrap:wrap}.response-notice{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:0 0 24px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.response-notice p{margin:0}
@media(max-width:760px){.leave-balances{grid-template-columns:repeat(2,1fr);row-gap:20px}.leave-heading .toolbar{width:100%;display:grid;grid-template-columns:1fr 1fr}.leave-heading .toolbar label{max-width:none}.leave-heading .toolbar button{min-width:0;font-size:12px;min-height:44px}.month-select input{max-width:156px}.calendar-day{min-height:100px}.tabs{gap:18px}.response-notice{align-items:start}.response-notice p{overflow-wrap:anywhere}.actions button{flex:1;min-width:120px}}
.calendar-toolbar{flex-wrap:nowrap}.name-short{display:none}
.clock-status{position:sticky;top:0;z-index:12;display:flex;justify-content:space-between;align-items:center;gap:16px;background:#f4f6f5;border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:16px;min-height:76px}
.clock-status>.pill{white-space:normal;line-height:1.4}
.clock-status-time{flex-shrink:0;text-align:right}
.clock-status .clock-time{display:block;font-size:28px;line-height:1.2;margin:0 0 4px}
.clock-status .clock-date{display:block;font-size:12px;line-height:1.4}
button.back-to-top{position:fixed;right:24px;bottom:24px;z-index:15;width:48px;min-height:48px;border-color:#b7c8be;box-shadow:0 2px 10px #203e3420;color:var(--green)}
.back-to-top svg{width:24px;height:24px}
.layout{padding-bottom:96px}
.clock-buttons{display:grid;grid-template-columns:1fr;max-width:520px}
.clock-buttons button{min-height:80px;font-size:20px;padding:18px 20px;white-space:normal;line-height:1.3}
.clock-buttons button svg{width:26px;height:26px}
.clock-section .clock-buttons{margin-top:0}
.clock-section [data-clock="in"]{min-height:144px;font-size:26px}
.clock-section [data-clock="in"] svg{width:34px;height:34px}
.clock-buttons .clock-finish{min-height:72px;color:#943b32;border-color:#d9b5b0;background:#fff}
.clock-buttons .clock-finish:hover:not(:disabled){background:#fcf0ed}
.session-summary .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
.tabs button{position:relative;flex-shrink:0}
.nav-count{font-size:11px;min-width:18px;min-height:18px;padding:1px 4px;background:#f9dfac;color:#71410d;border-radius:4px}
.worker-view .headline .muted:empty{display:none}
.worker-view .layout{max-width:1060px}
.worker-view .clock-section{padding-top:4px}
.history-filters{border-block:1px solid var(--line);padding:14px 0;margin-bottom:16px}
.history-filters summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:600;min-height:30px;color:var(--green)}
.history-filters summary::after{content:'+';margin-left:auto;font-size:20px}
.history-filters[open] summary::after{content:'\2212'}
.history-filters .filters{border:0;margin:0;padding-bottom:0;grid-template-columns:1fr 1fr auto auto}
.history-filters .filters>span{display:none}
.shift-list,.application-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.shift-list>li,.application-list>li{border:1px solid var(--line);border-radius:6px;background:white;padding:20px;min-width:0}
.shift-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.shift-heading h3{margin:0;font-size:16px;overflow-wrap:anywhere}
.shift-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px}
.shift-times dt{font-size:12px;color:var(--muted);margin-bottom:6px}
.shift-times dd{margin:0;font-size:19px;font-variant-numeric:tabular-nums}
.shift-times small,.application-list small{display:block;font-size:12px;color:var(--muted);margin-top:5px}
.shift-list .row-actions{flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line);gap:10px}
.shift-list .row-actions button,.application-list button{min-height:44px;font-size:13px}
.incident-text{color:#81511b;font-size:13px;overflow-wrap:anywhere}
.application-list p{font-size:14px}
.section-heading{flex-wrap:wrap}
dialog{position:fixed;inset:0;margin:auto}
.check input[type=checkbox]{flex-shrink:0}
.feedback{min-height:22px;margin:0 0 12px;font-size:14px;color:var(--green);line-height:22px}
.feedback.error-text{color:var(--red)}
.worker-view:not([data-screen="history"]) .feedback:empty{display:none}
.balance-detail{font-size:13px;color:var(--muted);margin:16px 0}
.balance-detail summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;color:var(--green)}
.balance-detail p{margin:10px 0}
.worker-view .leave-balances{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){
  .worker-view .layout{padding:20px 16px calc(156px + env(safe-area-inset-bottom))}
  .clock-status{min-height:72px;gap:12px}
  .clock-status .clock-time{font-size:24px}
  .worker-view .back-to-top{right:16px;bottom:calc(88px + env(safe-area-inset-bottom))}
  .worker-view .headline>.pill{display:none}
  .worker-view .headline{margin-bottom:20px}
  .worker-view .eyebrow{margin-bottom:6px}
  .worker-view .tabs{position:fixed;bottom:0;left:0;right:0;z-index:10;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:4px 4px calc(4px + env(safe-area-inset-bottom));margin:0;border-bottom:0;border-top:1px solid var(--line);background:#fff;overflow:visible}
  .worker-view .tabs button{min-width:0;min-height:64px;flex-direction:column;gap:5px;padding:8px 1px;font-size:11px;border:0;border-radius:5px;white-space:normal}
  .worker-view .tabs button.active{background:#e7f1eb;color:#15583d}
  .worker-view .tabs button svg{width:22px;height:22px}
  .worker-view .tabs .nav-count{position:absolute;top:1px;right:5px;font-size:10px;min-height:16px;line-height:14px}
  .worker-view #notice{top:88px;bottom:auto;padding:10px 14px;pointer-events:none}
  .clock-section{gap:24px}
  .clock-buttons{grid-template-columns:1fr;gap:14px;margin-top:20px;max-width:none}
  .clock-buttons button{min-height:84px;font-size:20px;padding:18px 12px}
  .clock-buttons .clock-finish{min-height:72px;font-size:18px}
  .clock-date{line-height:1.5;font-size:13px}
  .worker-view .session-summary{padding-top:20px}
  .worker-view .session-summary h2{margin-bottom:0;font-size:17px}
  .history-filters .filters{grid-template-columns:1fr 1fr}
  .shift-list>li,.application-list>li{padding:16px}
  .shift-heading{gap:10px;margin-bottom:16px}
  .shift-heading h3{font-size:15px}
  .shift-times{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}
  .shift-list .row-actions{display:grid;grid-template-columns:1fr}
  .shift-list .row-actions button,.application-list button{min-height:48px}
  .worker-view .leave-heading .toolbar{grid-template-columns:1fr 1fr}
  .worker-view .leave-heading #request-vacation{grid-column:1/-1;min-height:56px;font-size:16px}
  .worker-view .leave-heading .toolbar label{grid-column:1/-1;max-width:140px}
  .worker-view .leave-balances{gap:20px 12px}
  .worker-view .response-notice{flex-direction:column}
  input,select,textarea{font-size:16px}
  .event-edit input,.event-edit select{font-size:16px}
  td .icon{width:44px;min-height:44px}
  .downloads a{min-height:44px}
  dialog{max-height:calc(100dvh - 24px)}
}
@media(max-width:760px){.calendar-heading{flex-wrap:wrap}.calendar-heading .toolbar{width:100%;justify-content:space-between}.calendar-grid{min-width:0}.calendar-day{min-height:78px;padding:5px 3px}.calendar-grid .weekday{padding:10px 2px;font-size:10px}.absence-name{padding:4px 2px;text-align:center;font-size:10px}.name-full{display:none}.name-short{display:inline}.calendar-day time{margin-bottom:8px}}

/* Standalone identity: the embedded module keeps its host application's layout. */
body.standalone {
  --green:#304e68;
  --muted:#686d73;
  --line:#e0e2e5;
  --red:#9a4147;
  color:#26292e;
  background:#f5f5f6;
  font-family:Segoe UI,Arial,sans-serif;
}
body.standalone button {border-radius:6px;font-weight:600}
body.standalone button:hover:not(:disabled) {background:#f0f1f3}
body.standalone button.primary {background:#304e68;border-color:#304e68;color:white}
body.standalone button.primary:hover:not(:disabled) {background:#263e54}
body.standalone input,body.standalone select,body.standalone textarea {border-color:#cfd2d7}
body.standalone :focus-visible {outline-color:#577e9e}
body.standalone .brand {min-width:0;flex-shrink:1}
body.standalone .brand img {display:block;width:350px;height:auto;max-width:100%;aspect-ratio:1100/240}
body.standalone .topbar {min-height:94px;padding:14px max(24px,calc((100% - 1184px)/2));gap:24px}
body.standalone .topbar > .pill {background:#f2f0eb;color:#6d6250;font-size:11px;border:1px solid #e8e3d9}
body.standalone .account {gap:8px;flex-shrink:0}
body.standalone .account-text {margin-right:14px;font-size:12px;color:var(--muted)}
body.standalone .account-text strong {color:#303238;font-size:14px}
body.standalone .account button {border-color:transparent;background:transparent;color:#60656d}
body.standalone .layout {max-width:1184px;padding:32px 24px 96px}
body.standalone.worker-view .layout {max-width:1100px}
body.standalone .headline {align-items:center;margin-bottom:24px}
body.standalone .headline h1 {font-size:26px;font-weight:600;margin-bottom:4px}
body.standalone .headline .muted {margin:0}
body.standalone .eyebrow {text-transform:none;font-size:13px;font-weight:500;margin-bottom:6px}
body.standalone .headline > .pill {background:transparent;color:var(--muted);padding:0}
body.standalone .tabs {display:flex;gap:5px;background:#fff;border:1px solid var(--line);padding:6px;margin-bottom:24px;border-radius:7px;overflow-x:auto}
body.standalone .tabs button {flex:1;min-height:46px;padding:10px 14px;border:0;border-radius:4px;color:#62676e}
body.standalone .tabs button.active {background:#304e68;color:#fff}
body.standalone .tabs button:hover:not(.active) {background:#f2f3f5}
body.standalone .clock-status {background:#f5f5f6;min-height:78px;margin-bottom:20px;padding:12px 0;border-color:#d8dce0}
body.standalone .clock-status .pill {font-weight:600;font-size:13px;background:#e9eaed;color:#555c64;padding:8px 12px}
body.standalone .clock-status .pill.good {background:#e7eee9;color:#3c664e}
body.standalone .clock-status .pill.warn {background:#f5ecd9;color:#856021}
body.standalone .clock-status .clock-time {font-size:27px;font-weight:500;color:#343b43}
body.standalone .clock-status .clock-date {font-size:12px}
body.standalone .clock-section {grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;padding:4px 0 30px;margin-bottom:0}
body.standalone .clock-buttons {max-width:none;gap:12px}
body.standalone .clock-buttons button {min-height:82px;font-size:21px;border-radius:7px}
body.standalone .clock-section [data-clock="in"] {min-height:156px;font-size:27px;box-shadow:0 5px 12px #304e6810}
body.standalone .clock-section [data-clock="in"] svg {width:32px;height:32px}
body.standalone .clock-buttons .clock-finish {min-height:72px;color:#95474d;border-color:#dfc9cd;background:#fff}
body.standalone .clock-buttons .clock-finish:hover {background:#faf1f2}
body.standalone .session-summary {padding-left:32px}
body.standalone .session-summary h2 {font-size:16px;font-weight:600;color:#484e55;margin-bottom:12px}
body.standalone .session-summary > .muted {margin:0;font-size:14px}
body.standalone .session-summary .metrics {margin:12px 0 10px}
body.standalone .metric {border-color:#c8cdd3}
body.standalone .metric:first-child {border-color:#58748b}
body.standalone .metric.warn {border-color:#b69253}
body.standalone .metric strong {font-size:28px;font-weight:600}
body.standalone .session-summary .timeline {margin-bottom:0}
body.standalone .timeline li {font-size:13px;padding:9px 0}
body.standalone .timeline li:last-child {border-bottom:0}
body.standalone .timeline svg {color:#7b8590;width:16px;height:16px}
body.standalone .home-links {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:24px 0 0;border-block:1px solid var(--line);padding:6px 0}
body.standalone .home-links button {justify-content:flex-start;gap:12px;min-height:62px;padding:12px 16px;background:transparent;border:0;border-radius:0;font-size:14px;font-weight:500}
body.standalone .home-links button + button {border-left:1px solid var(--line)}
body.standalone .home-links button > svg:first-child {color:#657a8b;width:21px;height:21px}
body.standalone .home-links button > svg:last-child {margin-left:auto;color:#979da4;width:16px}
body.standalone .section-heading h2 {font-size:18px;font-weight:600}
body.standalone .filters {background:#efeff1;padding:16px;border:1px solid var(--line);border-radius:6px;margin-bottom:20px}
body.standalone .history-filters .filters {background:transparent;padding:16px 0 0;border:0}
body.standalone .table-wrap,body.standalone .calendar-scroll {border-radius:6px}
body.standalone th {background:#f9f9fa;font-size:11px;padding:14px 16px}
body.standalone td {padding:17px 16px}
body.standalone tbody tr:hover {background:#fafbfc}
body.standalone .pill {background:#eceef0;color:#626871}
body.standalone .pill.good {background:#e7efe9;color:#38634b}
body.standalone .pill.warn {background:#f6eddc;color:#825d26}
body.standalone .pill.bad {background:#f6e8e9;color:#99434b}
body.standalone .nav-count {background:#efe1c5;color:#6e5228}
body.standalone .weekday {background:#eff0f2}
body.standalone .calendar-day.outside {background:#f4f4f5}
body.standalone .absence-name {background:#e8eef2;color:#38566e}
body.standalone .inline-alert {background:#f8f1e5;border-color:#ba985f;color:#785b2e}
body.standalone .credential {background:#f0f3f6}
body.standalone .footer {margin-top:36px;color:#7a7e84}
body.standalone .back-to-top {background:#fff;color:#304e68;border-color:#cfd6dc;box-shadow:0 3px 12px #24292e12}
body.standalone #notice {background:#304e68}
body.standalone #notice.error {background:#963f46}
body.standalone dialog::backdrop {background:#22283070}
body.standalone .login {max-width:448px;margin:5vh auto;padding:24px}
body.standalone .login .brand {margin:0 0 32px}
body.standalone .login .brand img {width:100%;max-width:400px}
body.standalone .login .login-title {font-size:25px;font-weight:600;margin-top:24px}
body.standalone .login .primary {min-height:50px}
body.standalone .login form {border-bottom:1px solid var(--line);padding-bottom:20px}
body.standalone .demo-details {border:0;margin-top:20px;padding-top:0}
@media(min-width:761px) {
  body.standalone .topbar {position:sticky;top:0;z-index:20;height:94px;padding:14px 28px}
  body.standalone .layout,body.standalone.worker-view .layout {width:calc(100% - 224px);max-width:1280px;margin-left:224px;padding:28px 36px 96px}
  body.standalone .tabs {position:fixed;inset:94px auto 0 0;z-index:14;width:224px;margin:0;padding:24px 12px;display:flex;flex-direction:column;gap:6px;border:0;border-right:1px solid var(--line);border-radius:0;overflow-y:auto;overflow-x:hidden}
  body.standalone .tabs button {flex:0 0 auto;justify-content:flex-start;gap:12px;min-height:50px;padding:12px 15px;text-align:left;font-size:14px;white-space:normal}
  body.standalone .tabs .nav-count {margin-left:auto}
  body.standalone .clock-status {top:94px}
}
@media(max-width:1000px) {
  body.standalone .topbar > .pill {display:none}
  body.standalone .tabs button {padding:10px 8px;font-size:13px}
}
@media(min-width:761px) and (max-width:1100px) {
  body.standalone .layout,body.standalone.worker-view .layout {padding-inline:24px}
  body.standalone .clock-section {grid-template-columns:minmax(0,1fr)}
  body.standalone .session-summary {border-left:0;border-top:1px solid var(--line);padding:20px 0 0}
  body.standalone .filters {grid-template-columns:1fr 1fr}
  body.standalone .filters .person-filter {grid-column:1/-1}
  body.standalone .home-links {grid-template-columns:minmax(0,1fr)}
  body.standalone .home-links button+button {border-left:0;border-top:1px solid var(--line)}
}
@media(max-width:760px) {
  body.standalone .topbar {min-height:76px;padding:12px 16px;gap:8px}
  body.standalone .topbar .brand {flex:1;max-width:320px}
  body.standalone .topbar .brand img {width:100%;height:auto}
  body.standalone .account {gap:0}
  body.standalone .account button {width:36px;min-height:44px}
  body.standalone .layout {padding:24px 16px 100px}
  body.standalone.worker-view .layout {padding:20px 16px calc(146px + env(safe-area-inset-bottom))}
  body.standalone .headline {margin-bottom:16px}
  body.standalone .headline h1 {font-size:24px}
  body.standalone .eyebrow {font-size:12px}
  body.standalone .tabs {gap:4px;padding:5px;margin-bottom:20px}
  body.standalone:not(.worker-view) .tabs button {flex:0 0 auto;min-height:44px;padding:10px 14px}
  body.standalone.worker-view .tabs {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;border:0;border-top:1px solid #d8dce0;border-radius:0;padding:6px 4px calc(6px + env(safe-area-inset-bottom));margin:0;gap:2px}
  body.standalone.worker-view .tabs button {min-height:62px;min-width:0;padding:7px 1px;font-size:10px;gap:5px;flex-direction:column;white-space:normal;line-height:1.25}
  body.standalone.worker-view .tabs button.active {background:#e8edf1;color:#304e68}
  body.standalone .clock-status {min-height:72px;gap:8px;margin-bottom:18px}
  body.standalone .clock-status .pill {font-size:12px;padding:7px 8px;gap:5px;max-width:58%}
  body.standalone .clock-status .clock-time {font-size:24px}
  body.standalone .clock-status .clock-date {font-size:11px}
  body.standalone .clock-section {grid-template-columns:minmax(0,1fr);gap:22px;padding-bottom:22px}
  body.standalone .clock-buttons button {min-height:84px;font-size:20px}
  body.standalone .clock-section [data-clock="in"] {min-height:156px;font-size:25px}
  body.standalone .clock-buttons .clock-finish {min-height:72px;font-size:18px}
  body.standalone .session-summary {padding:20px 0 0;border-left:0}
  body.standalone .session-summary h2 {font-size:15px}
  body.standalone .session-summary .metrics {margin-top:8px}
  body.standalone .metric strong {font-size:24px}
  body.standalone .home-links {grid-template-columns:minmax(0,1fr);margin-top:18px}
  body.standalone .home-links button {min-height:58px;padding:12px 0}
  body.standalone .home-links button + button {border-left:0;border-top:1px solid var(--line)}
  body.standalone .filters {padding:12px;gap:12px 8px}
  body.standalone .section-heading h2 {font-size:17px}
  body.standalone .login {margin:20px auto;padding:24px}
  body.standalone .login .brand {margin-bottom:28px}
  body.standalone .footer {margin-top:28px}
}
@media(max-width:760px) {
  body.standalone:not(.worker-view) .layout {padding-bottom:calc(146px + env(safe-area-inset-bottom))}
  body.standalone:not(.worker-view) .tabs {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:10;background:#fff;border:0;border-top:1px solid #d8dce0;border-radius:0;padding:6px 2px calc(6px + env(safe-area-inset-bottom));margin:0;gap:0;overflow:visible}
  body.standalone:not(.worker-view) .tabs button {min-width:0;min-height:62px;padding:7px 0;font-size:10px;gap:5px;flex-direction:column;white-space:normal;line-height:1.25}
  body.standalone:not(.worker-view) .tabs button.active {background:#e8edf1;color:#304e68}
  body.standalone:not(.worker-view) .tabs button svg {width:22px;height:22px}
  body.standalone:not(.worker-view) .tabs .nav-count {position:absolute;top:0;right:2px;min-height:16px;font-size:9px;line-height:14px}
  body.standalone .back-to-top {right:16px;bottom:calc(88px + env(safe-area-inset-bottom))}
  body.standalone #notice {bottom:calc(92px + env(safe-area-inset-bottom))}
}
@media(max-width:380px) {
  body.standalone .filters,body.standalone .history-filters .filters {grid-template-columns:minmax(0,1fr)}
}

.company-switch{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex-shrink:0;border:1px solid var(--line);border-radius:6px;background:white;color:inherit}
