:root{
  --bg:#202427;
  --panel:#2d3336;
  --panel-2:#252a2d;
  --text:#f4f7f8;
  --muted:#b9c3c7;
  --border:#111517;
  --accent:#ffd54f;
  --green:#74b97a;
  --red:#c94b4b;
  --field:#171b1d;
}

*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;min-height:100%;max-width:100%;overflow-x:hidden;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial;background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,input,select,textarea{font:inherit;white-space:normal;overflow-wrap:anywhere}
.manager-shell{width:min(1180px,calc(100vw - 24px));min-width:0;margin:18px auto 40px}
.manager-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.logo{width:56px;height:56px;border-radius:8px;object-fit:contain;background:#111517}
h1{margin:0;font-size:24px}
p{margin:4px 0 0;color:var(--muted)}
.manager-session{margin-left:auto;text-align:right;line-height:1.35}
.manager-welcome{font-size:15px;font-weight:900;color:var(--text)}
.manager-last-login{font-size:12px;font-weight:800;color:var(--muted)}
.header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.manager-header-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border:2px solid var(--border);border-radius:8px;background:#3a4246;color:var(--text);font-size:13px;font-weight:900;text-decoration:none;line-height:1.1}
.manager-header-link:hover,.manager-header-link:focus-visible{background:#4a5358;outline:2px solid var(--accent);outline-offset:2px}
.logout,.refresh,.danger-action,.secondary-action,.cancel-action,.warning-action{border:2px solid var(--border);background:var(--accent);color:#111;padding:10px 16px;border-radius:8px;font-weight:800;cursor:pointer}
.secondary-action{background:#646b70;color:var(--text)}
.cancel-action{background:var(--panel-2);color:var(--text);border-color:var(--border)}
.cancel-action:hover,.cancel-action:focus-visible{background:#3a4246;outline:2px solid var(--accent);outline-offset:2px}
.logout{background:var(--red);color:#fff}
.warning-action{background:#8a5b23;color:#fff;border-color:rgba(255,213,79,.35)}
.warning-action:hover,.warning-action:focus-visible{background:#9b681f;outline:2px solid var(--accent);outline-offset:2px}
.danger-action{background:var(--red);color:#fff}
.danger-action:disabled{
  background:#4a4f52;
  color:var(--muted);
  border-color:#22282b;
  cursor:not-allowed;
  opacity:.72;
}
.danger-action:disabled:hover,.danger-action:disabled:focus-visible{
  background:#4a4f52;
  outline:none;
}
.refresh:disabled,.secondary-action:disabled,.cancel-action:disabled,.warning-action:disabled{
  background:#4a4f52;
  color:var(--muted);
  border-color:#22282b;
  cursor:not-allowed;
  opacity:.72;
}
.refresh:disabled:hover,.refresh:disabled:focus-visible,.secondary-action:disabled:hover,.secondary-action:disabled:focus-visible,.cancel-action:disabled:hover,.cancel-action:disabled:focus-visible,.warning-action:disabled:hover,.warning-action:disabled:focus-visible{
  background:#4a4f52;
  outline:none;
}
#btnLogout[hidden]+.action-help,#btnHeaderRefresh[hidden]+.action-help,.danger-action[hidden]+.owner-only-help,.refresh[hidden]+.owner-only-help{display:none!important}
.action-help{position:relative;display:inline-flex;align-items:center;align-self:center}
.info-toggle{width:24px;height:24px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:#3a4246;color:var(--text);font-size:14px;font-weight:900;line-height:1;cursor:help}
.info-toggle:hover,.info-toggle:focus-visible{background:#4a5358;outline:2px solid var(--accent);outline-offset:2px}
.info-bubble{display:none;position:fixed;left:12px;top:12px;width:max-content;max-width:min(320px,calc(100vw - 24px));padding:10px 34px 10px 12px;border:1px solid rgba(255,255,255,.14);border-radius:6px;background:#111517;color:var(--text);box-shadow:0 10px 24px rgba(0,0,0,.35);font-size:12px;font-weight:700;line-height:1.35;text-align:left;z-index:200}
.action-help.open .info-bubble{display:block}
.info-close{position:absolute;top:6px;right:6px;width:22px;height:22px;border:1px solid rgba(255,255,255,.18);border-radius:4px;background:#252a2d;color:var(--text);font-size:13px;font-weight:900;line-height:1;cursor:pointer}
.info-close:hover,.info-close:focus-visible{background:#3a4246;outline:2px solid var(--accent);outline-offset:1px}

.login-panel{max-width:420px;margin:56px auto;background:var(--panel);border:2px solid var(--border);border-radius:8px;padding:18px}
.login-display{background:var(--field);border-radius:8px;padding:16px;text-align:center;margin-bottom:14px}
.login-prompt{font-size:13px;font-weight:800;color:var(--muted)}
.login-heading{font-size:22px;font-weight:900;margin-top:8px}
.primary-login-step,.keypad-login-step{display:grid;gap:12px}
.primary-login-fields{display:grid;gap:12px}
.primary-login-fields .refresh{width:100%}
.login-masked{font-family:monospace;letter-spacing:9px;font-size:24px;font-weight:800;margin-top:8px}
.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.key{min-height:62px;border:2px solid var(--border);border-radius:8px;background:#3a4246;color:var(--text);font-weight:900;font-size:20px;cursor:pointer}
.key.clear{background:#646b70}
.key.enter{background:var(--green)}
.login-secondary-actions{display:flex;justify-content:center}
.message{min-height:24px;text-align:center;font-weight:800;color:var(--accent)}

.dashboard{display:grid;gap:16px;min-width:0}
.manager-nav{position:relative}
.manager-menu-button{display:none;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:46px;border:2px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);padding:9px 12px;font-weight:900;cursor:pointer}
.menu-bars{display:grid;gap:4px}
.menu-bars span{display:block;width:20px;height:2px;background:var(--accent);border-radius:2px}
.manager-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;align-items:stretch;padding:4px 0 2px}
.manager-tab{min-height:44px;height:100%;border:2px solid var(--border);border-radius:8px;background:#3a4246;color:var(--text);padding:8px;font-weight:900;cursor:pointer;white-space:normal;text-align:center;width:100%;display:flex;align-items:center;justify-content:center;line-height:1.15}
.manager-tab:hover,.manager-tab:focus-visible{background:#4a5358;outline:2px solid var(--accent);outline-offset:2px}
.manager-tab.active{background:var(--accent);color:#111}
.tab-panel{display:grid;gap:16px;min-width:0}
.toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;background:var(--panel);border:2px solid var(--border);border-radius:8px;padding:12px}
.employee-tools{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.employee-tools label{min-width:min(220px,100%);flex:1 1 180px}
.add-employee-form{display:grid;gap:12px;padding:14px;border-bottom:1px solid rgba(255,255,255,.08);background:var(--panel-2)}
.form-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.form-status{color:var(--muted);font-size:13px;font-weight:900}
.toolbar-status{color:var(--accent);font-size:13px;font-weight:900;align-self:center;min-height:20px}
.payroll-tools .toolbar-status{flex:1 1 260px;min-width:min(260px,100%);line-height:1.3;overflow-wrap:anywhere}
.tax-estimate-status{flex:1 1 100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;max-width:100%;padding:10px 12px;border-top:1px solid rgba(255,255,255,.08);background:#1d2224;color:var(--muted);font-size:13px;font-weight:800;line-height:1.35}
.tax-status-copy{display:grid;gap:3px;min-width:0}
.tax-status-copy strong{color:var(--text);font-size:13px;font-weight:900}
.tax-status-copy span{overflow-wrap:anywhere}
.tax-estimate-status.ready{border-color:rgba(116,185,122,.38);background:#1c2b20;color:#d8f3dc}
.tax-estimate-status.paused{border-color:rgba(255,213,79,.35);background:#332f1d;color:var(--accent)}
.tax-estimate-status.error{border-color:rgba(201,75,75,.48);background:#351f20;color:#ffd3d3}
.tax-status-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}
.tax-status-actions .control-action{grid-template-columns:minmax(0,max-content) 24px}
.company-profile-panel{display:grid;gap:12px;min-width:0;padding:14px;border-bottom:1px solid rgba(255,255,255,.08);background:#1d2224}
.company-profile-panel[hidden]{display:none!important}
.company-profile-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.company-profile-heading div{display:grid;gap:3px;min-width:0}
.company-profile-heading h3{margin:0;color:var(--text);font-size:15px}
.company-profile-heading span{color:var(--muted);font-size:12px;font-weight:900}
.company-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:12px;min-width:0}
.company-profile-grid>*{min-width:0;max-width:100%}
.company-profile-panel label{min-width:0;max-width:100%}
.company-profile-panel input,.company-profile-panel select{box-sizing:border-box;width:100%;min-width:0;max-width:100%}
.company-profile-panel select{overflow:hidden;text-overflow:ellipsis}
.company-profile-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.company-profile-actions .toolbar-status{flex:1 1 260px;min-width:min(260px,100%);line-height:1.35;overflow-wrap:anywhere}
.reset-warning{flex:1 1 100%;display:grid;gap:8px;min-width:0;max-width:100%;padding:10px 12px;border:1px solid rgba(255,213,79,.35);border-radius:8px;background:#332f1d;color:var(--accent);font-size:13px;font-weight:900;line-height:1.35}
.reset-warning-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.reset-warning-summary span{min-width:0;overflow-wrap:anywhere}
.reset-warning-toggle{flex:0 0 auto;min-height:30px;padding:5px 9px;border:1px solid rgba(255,213,79,.42);border-radius:6px;background:#1d2224;color:var(--accent);font-size:12px;font-weight:900;cursor:pointer}
.reset-warning-toggle:hover,.reset-warning-toggle:focus-visible{background:#252a2d;outline:2px solid var(--accent);outline-offset:2px}
.reset-warning-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;color:var(--text)}
.reset-warning-details section{display:grid;gap:6px;min-width:0;padding:8px;border-radius:6px;background:#1d2224;border:1px solid rgba(255,255,255,.08)}
.reset-warning-details h3{margin:0;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}
.reset-warning-list{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.reset-warning-list li{display:grid;gap:2px;min-width:0;color:var(--text);font-size:12px;font-weight:800;line-height:1.3;overflow-wrap:anywhere}
.reset-warning-list li span,.reset-warning-muted{color:var(--muted);font-size:12px;font-weight:800}
.reset-warning-next{grid-column:1/-1;margin:0;color:var(--accent);font-size:12px;font-weight:900;line-height:1.35}
.test-employee-toggle{grid-column:1/-1;padding:10px 12px;border:1px solid rgba(255,213,79,.35);border-radius:8px;background:#332f1d;color:var(--accent)}
.checkbox-row{display:flex;align-items:center;gap:8px;color:var(--text);font-weight:900}
.checkbox-row input{width:18px;height:18px;min-height:18px;padding:0;accent-color:var(--accent)}
.pending-test-toggle{display:flex;flex-direction:row;align-items:center;gap:6px;color:var(--text);font-size:12px}
.pending-test-toggle .checkbox-row span{white-space:nowrap}
.employee-name-cell{display:grid;gap:4px;min-width:0}
.employee-name-cell strong{font-weight:900;overflow-wrap:break-word;word-break:normal}
.employee-badge-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.employee-position-title{color:var(--muted);font-size:12px;font-weight:800;line-height:1.25;overflow-wrap:anywhere}
.payroll-table .employee-name-cell strong{white-space:normal;overflow-wrap:break-word;word-break:normal}
.payroll-table .employee-position-title{display:block;max-width:100%;overflow-wrap:normal;word-break:normal}
.pto-earned-value,.pto-balance-value{font-weight:900;color:var(--accent)}
.pto-balance-value.finalized{color:var(--green)}
.pto-balance-value.projected{color:#6bb6ff}
.pto-leave-used{display:grid;gap:2px;min-width:0;line-height:1.2}
.pto-leave-used strong{color:var(--text);font-weight:900}
.pto-leave-used span{color:var(--muted);font-size:12px;font-weight:800;overflow-wrap:anywhere}
.pto-leave-impact{display:grid;gap:8px;min-width:0;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#1d2224;color:var(--muted);font-size:13px;font-weight:800;line-height:1.35}
.pto-leave-impact.good{border-color:rgba(116,185,122,.45);background:#1c2b20;color:#d8f3dc}
.pto-leave-impact.warning{border-color:rgba(255,213,79,.38);background:#332f1d;color:var(--accent)}
.pto-leave-impact.error{border-color:rgba(201,75,75,.5);background:#351f20;color:#ffd3d3}
.pto-leave-impact strong{color:var(--text);font-weight:900}
.pto-leave-impact ul{display:grid;gap:5px;margin:0;padding-left:18px}
.pto-leave-impact li{overflow-wrap:anywhere}
.pto-leave-impact .impact-muted{color:var(--muted);font-size:12px;font-weight:800}
.login-password-field input:disabled{background:#22282b;color:var(--muted);border-color:#22282b;cursor:not-allowed;opacity:.72}
.record-editor input:disabled,.record-editor select:disabled,.record-editor textarea:disabled{background:#22282b;color:var(--muted);border-color:#22282b;cursor:not-allowed;opacity:.72}
.record-credential-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px;align-items:end;min-width:0}
.record-credential-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0}
.record-credential-actions .authenticator-code-field{flex:1 1 160px;min-width:min(180px,100%);margin:0}
.record-credential-actions .authenticator-code-field input{min-width:0}
.login-security-block .record-credential-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px}
.login-security-block .record-credential-actions{grid-column:1/-1}
.login-security-block .record-credential-actions .control-action{flex:0 1 auto}
.record-password-status{grid-column:1/-1}
.record-recovery-codes{grid-column:1/-1;min-height:132px;font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;letter-spacing:1px;resize:vertical}
.pto-ledger-state{display:inline-flex;margin-left:6px;padding:2px 6px;border-radius:999px;background:#3d464a;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;line-height:1.2}
.role-summary{align-self:end;display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:42px;min-width:min(180px,100%);padding:8px 10px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:var(--panel-2)}
.role-summary-label{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}
.role-summary-position{color:var(--muted);font-size:12px;font-weight:800;overflow-wrap:anywhere}
.role-badge{display:inline-flex;align-items:center;max-width:100%;min-height:24px;padding:4px 8px;border-radius:999px;background:#3d464a;color:var(--text);font-size:11px;font-weight:900;line-height:1.15;white-space:normal;overflow-wrap:anywhere}
.role-badge.current-owner,.role-badge.owner{background:#7a5b13;color:#fff;border:1px solid rgba(255,213,79,.45)}
.role-badge.manager{background:#315b35}
.role-badge.employee{background:#4a4f52}
label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:13px;font-weight:700}
/* iOS zooms focused form controls below 16px, even when the page layout is responsive. */
input,select,textarea{min-height:42px;border:2px solid var(--border);border-radius:8px;background:var(--field);color:var(--text);padding:8px 10px;font-size:16px;line-height:1.25}
input,select,textarea,button{max-width:100%}
.toolbar label,.payroll-tools label,.editor-controls label,.time-row label{min-width:min(220px,100%);flex:1 1 180px}
.panel{min-width:0;background:var(--panel);border:2px solid var(--border);border-radius:8px;overflow:hidden}
.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--panel-2);border-bottom:2px solid var(--border)}
h2{margin:0;font-size:18px}
.panel-title span{color:var(--muted);font-size:13px;font-weight:800}
.title-help{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.title-help .action-help{flex:0 0 auto}
.day-editor{padding:14px;display:grid;gap:14px}
.record-editor{padding:14px;display:grid;gap:14px}
.owner-record-review-panel{display:grid;gap:0}
.owner-review-title h2{margin:0;font-size:18px}
.review-sections{display:grid;gap:0;padding:14px}
.record-review-section{display:grid;gap:10px;padding:0 0 14px}
.record-review-section+.record-review-section{padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.record-review-section:last-child{padding-bottom:0}
.subsection-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 0 8px}
.subsection-title h3{margin:0;font-size:15px}
.record-review-table .action-help{margin-left:6px}
.review-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.review-empty-note{padding:12px;border-radius:8px;background:#1d2224;color:var(--muted);font-size:13px;font-weight:800;line-height:1.4}
.editor-controls,.time-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.control-action{display:grid;grid-template-columns:minmax(0,max-content) 24px;align-items:center;gap:8px;min-width:0}
.control-action:has(> button[hidden]){display:none!important}
.control-action>button{min-width:0}
.control-action .action-help{justify-self:end}
.editor-grid{display:grid;grid-template-columns:1fr;gap:14px}
.record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;min-width:0}
.tenure-block,.availability-block,.pto-policy-block,.login-security-block{grid-column:1/-1;display:grid;gap:8px;min-width:0;max-width:100%;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:var(--panel-2)}
.tenure-heading,.availability-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:13px;font-weight:900}
.tenure-list{display:grid;gap:6px}
.tenure-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px;padding:8px 10px;border-radius:6px;background:#1d2224;color:var(--text);font-size:13px}
.tenure-row span{color:var(--muted);font-weight:900}
.tenure-row strong{font-weight:900;text-align:right}
.empty-inline{color:var(--muted);font-size:13px;font-weight:800}
.availability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;min-width:0;max-width:100%}
.availability-row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:stretch;min-width:0;max-width:100%;overflow:hidden;padding:12px;border-radius:8px;background:#1d2224}
.availability-row label{min-width:0;max-width:100%}
.availability-row label:not(.availability-toggle){display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:0;overflow:visible}
.availability-toggle{align-self:stretch;display:flex;flex-direction:row;align-items:center;gap:8px;min-height:28px;color:var(--text);font-weight:900}
.availability-toggle input{width:18px;height:18px;min-height:18px;padding:0;accent-color:var(--accent)}
.time-field-label{display:block;min-width:0;padding:0 12px;line-height:1.25}
.time-input-shell{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:0 12px;overflow:visible}
.availability-row input[type=time],.weekly-schedule-row input[type=time]{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;inline-size:100%;min-inline-size:0;border-radius:8px;text-align:center;-webkit-appearance:none;appearance:none}
.availability-row input[type=time]::-webkit-date-and-time-value,.weekly-schedule-row input[type=time]::-webkit-date-and-time-value{width:100%;margin:0;text-align:center}
.availability-row.inactive{opacity:.72}
.availability-row.inactive input[type=time]{background:#22282b;color:#899398;cursor:not-allowed}
.availability-note{min-height:22px;margin:4px 0 8px;color:var(--muted);font-size:12px;font-weight:900;line-height:1.35}
.availability-note.warning{color:var(--accent)}
.availability-note.good{color:var(--green)}
.pto-policy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;min-width:0;max-width:100%}
.pto-policy-grid label{min-width:0}
.pto-policy-toggle{justify-content:center;min-height:42px;padding:8px 10px;border:2px solid var(--border);border-radius:8px;background:var(--field)}
.pto-policy-toggle input{flex:0 0 auto}
.weekly-schedule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;min-width:0;max-width:100%}
.weekly-schedule-row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:stretch;min-width:0;max-width:100%;overflow:hidden;padding:12px;border-radius:8px;background:#1d2224}
.weekly-schedule-row label{min-width:0;max-width:100%}
.weekly-schedule-row label:not(.weekly-schedule-toggle){display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:0;overflow:visible}
.weekly-schedule-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}
.weekly-schedule-toggle{display:flex;flex-direction:row;align-items:center;gap:8px;min-height:28px;color:var(--text);font-weight:900}
.weekly-schedule-toggle input{width:18px;height:18px;min-height:18px;padding:0;accent-color:var(--accent)}
.schedule-day-heading{display:grid;gap:2px;min-width:0}
.schedule-day-name{line-height:1.15}
.schedule-day-date{color:var(--muted);font-size:12px;font-weight:800;line-height:1.2}
.weekly-schedule-row.inactive{opacity:.72}
.weekly-schedule-row.locked{border:1px solid rgba(255,213,79,.25)}
.weekly-schedule-row.locked input{pointer-events:none}
.weekly-schedule-row.locked label{cursor:not-allowed}
.weekly-schedule-row.inactive input[type=time]{background:#22282b;color:#899398;cursor:not-allowed}
.schedule-day-note{color:var(--muted);font-size:11px;font-weight:800;line-height:1.25;padding:0 12px}
.schedule-day-note.warning{color:var(--accent)}
.schedule-day-note.good{color:var(--green)}
#scheduleStart[aria-disabled="true"],#scheduleEnd[aria-disabled="true"]{pointer-events:none}
.tenure-editor{display:grid;gap:10px;margin-top:8px}
.tenure-editor-rows{display:grid;gap:8px}
.tenure-edit-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:end;padding:10px;border-radius:8px;background:#1d2224}
.tenure-edit-row label{min-width:0}
.tenure-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tenure-actions .refresh,.tenure-actions .secondary-action,.tenure-actions .danger-action{min-height:38px;padding:8px 12px}
.audit-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:14px}
.editor-block{background:var(--panel-2);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:12px}
.editor-block.locked{border-color:rgba(255,213,79,.25)}
.editor-block.locked label{cursor:not-allowed}
.editor-block-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
.editor-block-heading h3{margin:0}
.schedule-override-heading{align-items:flex-start;gap:8px}
.schedule-override-heading h3{min-width:0}
.schedule-override-heading .lock-badge{flex:0 0 auto}
.lock-badge{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:4px 8px;border:1px solid rgba(255,213,79,.35);border-radius:8px;background:rgba(255,213,79,.08);color:var(--accent);font-size:11px;font-weight:900;line-height:1;white-space:nowrap}
.lock-badge.compact{min-height:24px;padding:3px 7px;font-size:10px}
.lock-icon{position:relative;display:inline-block;width:12px;height:10px;border:2px solid currentColor;border-radius:2px}
.lock-icon::before{content:"";position:absolute;left:2px;top:-8px;width:4px;height:7px;border:2px solid currentColor;border-bottom:0;border-radius:6px 6px 0 0}
.editor-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.editor-actions .refresh,.editor-actions .cancel-action{min-width:0}
h3{margin:0 0 12px;font-size:15px}
.editor-block label{min-width:140px;flex:1}
@media (min-width:900px){.editor-grid{grid-template-columns:320px 1fr}}
.payroll-tools{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:14px;border-bottom:1px solid rgba(255,255,255,.08)}
.chart-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 0}
.chart-title h3{margin:0;font-size:15px}
.chart-title span{color:var(--muted);font-size:12px;font-weight:800}
.pto-ledger-title{border-top:1px solid rgba(255,255,255,.08)}
.pto-ledger-wrap{padding:14px}
.weekly-chart{display:grid;gap:10px;padding:14px}
.week-row{display:grid;grid-template-columns:minmax(180px,260px) 1fr 82px;gap:10px;align-items:center}
.week-name{display:grid;gap:3px;min-width:0;font-weight:800;line-height:1.25}
.week-name strong{display:block;min-width:0;overflow-wrap:break-word;word-break:normal}
.week-name .employee-position-title{display:block;min-width:0;font-size:11px;line-height:1.2}
.week-bars{display:grid;grid-template-columns:repeat(7,minmax(54px,1fr));gap:4px}
.week-heading{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}
.week-label{text-align:center}
.week-day{min-height:34px;border-radius:6px;background:#3d464a;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;color:#101315}
.week-day.empty{background:#4a4f52;color:#d0d7da}
.week-day.low{background:#f0bd55}
.week-day.good{background:#74b97a}
.week-day.overtime{background:#c94b4b;color:#fff}
.week-day.vacation{background:#6bb6ff;color:#07131f}
.week-day.unavailable{background:#111517;color:#f4f7f8;border:1px solid rgba(255,255,255,.18)}
.week-legend{display:flex;gap:8px 12px;align-items:center;flex-wrap:wrap;margin:0 14px 14px;padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:var(--panel-2);color:var(--muted);font-size:12px;font-weight:900}
.week-legend-title{color:var(--text);font-size:12px;font-weight:900;text-transform:uppercase}
.week-legend-item{display:inline-flex;align-items:center;gap:6px;min-width:0;line-height:1.2}
.week-swatch{display:inline-block;flex:0 0 18px;width:18px;min-width:18px;max-width:18px;height:18px;min-height:18px;max-height:18px;border-radius:4px}
.week-swatch.empty{background:#4a4f52}
.week-swatch.low{background:#f0bd55}
.week-swatch.good{background:#74b97a}
.week-swatch.overtime{background:#c94b4b}
.week-swatch.vacation{background:#6bb6ff}
.week-swatch.unavailable{background:#111517;border:1px solid rgba(255,255,255,.18)}
.week-total{text-align:right;font-weight:900}
.payroll-print-area{padding:14px}
.print-title{display:none}
.table-wrap{overflow:visible}
.pagination-controls{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;max-width:100%;min-width:0;overflow:hidden;padding:10px 14px;border-top:1px solid rgba(255,255,255,.08);background:var(--panel-2);color:var(--muted);font-size:12px;font-weight:900}
.pagination-summary,.pagination-total{min-height:34px;display:flex;align-items:center;white-space:nowrap}
.pagination-actions{display:grid;grid-template-columns:repeat(4,auto) minmax(70px,92px) auto auto auto minmax(78px,110px);grid-template-areas:"first prev page total go next last rows";align-items:center;justify-content:end;gap:8px;width:100%;max-width:100%;min-width:0}
.pagination-actions .secondary-action{width:100%;min-width:0;min-height:34px;padding:6px 10px;font-size:12px;line-height:1.1;white-space:nowrap}
.pagination-actions .secondary-action:disabled{background:#4a4f52;color:var(--muted);border-color:#22282b;cursor:not-allowed;opacity:.72}
.pagination-actions .page-first{grid-area:first}
.pagination-actions .page-prev{grid-area:prev}
.pagination-actions .page-next{grid-area:next}
.pagination-actions .page-last{grid-area:last}
.pagination-actions .page-go{grid-area:go}
.page-go-label{grid-area:page}
.pagination-total{grid-area:total}
.page-size-label{grid-area:rows}
.page-go-label,.page-size-label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;min-width:0;min-height:34px;font-size:12px}
.page-go-input,.page-size-select{width:100%;min-width:0;min-height:34px;padding:5px 7px}
.audit-grid .pagination-controls,.record-review-section .pagination-controls,.attendance-detail .pagination-controls{margin-top:10px;border:1px solid rgba(255,255,255,.08);border-radius:8px}
table{width:100%;border-collapse:collapse;table-layout:fixed}
th,td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;vertical-align:middle}
th{color:var(--muted);font-size:12px;text-transform:uppercase}
td{font-size:14px;overflow-wrap:anywhere}
.payroll-table th,.payroll-table td{padding:8px 7px;text-align:center;line-height:1.25;overflow-wrap:break-word;word-break:normal}
.payroll-table th{font-size:11px}
.payroll-table th:first-child,.payroll-table td:first-child{text-align:left}
.status-select,.manager-access-select,.owner-transfer-select{min-width:130px}
.pay-edit{display:grid;grid-template-columns:1fr;gap:8px;align-items:center}
.pay-edit .pay-type{grid-column:1/-1}
.pay-edit .control-action{grid-template-columns:minmax(0,1fr) 24px;width:100%;justify-self:stretch}
.pay-edit .control-action>button{width:100%;min-width:0}
.pay-edit .action-help{justify-self:end}
.pay-edit input,.pay-edit select{width:100%;min-width:0;min-height:34px;padding:5px 6px}
.pay-field{min-width:0}
.pay-field-label{color:var(--muted);font-size:11px;font-weight:900;line-height:1.2;text-transform:uppercase}
.pay-field-note{color:var(--muted);font-size:11px;font-weight:800;line-height:1.25}
.field-note{display:block;color:var(--muted);font-size:11px;font-weight:800;line-height:1.25;overflow-wrap:anywhere}
.field-note.good{color:var(--green)}
.field-note.warning{color:var(--accent)}
.pay-field.inactive{opacity:.72}
.pay-field.inactive input{background:#22282b;color:#899398;cursor:not-allowed}
.pay-field.inactive .pay-field-note{color:#899398}
.pay-field input[type=number]{padding-right:28px}
.pay-save{min-height:34px;padding:5px 10px;border:2px solid var(--border);border-radius:6px;background:var(--accent);color:#111;font-weight:900;cursor:pointer}
.reassign-id-cell{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.reassign-id-button{min-height:34px;border:2px solid var(--border);border-radius:6px;background:var(--red);color:#fff;font-weight:900;cursor:pointer;padding:5px 8px}
.reassign-id-button:disabled{background:#4a4f52;color:var(--muted);cursor:not-allowed}
.pill{display:inline-block;max-width:100%;padding:4px 8px;border-radius:999px;background:#3d464a;color:var(--text);font-size:12px;font-weight:800;white-space:normal;overflow-wrap:anywhere}
.pill.yes{background:#315b35}
.pill.no{background:#4a4f52}
.pill.test{background:#7a5b13;color:#fff;border:1px solid rgba(255,213,79,.45)}
td.empty,.empty:not(.week-swatch):not(.week-day){color:var(--muted);text-align:center;padding:18px}
.archive-json{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.45;color:var(--text)}
.muted{color:var(--muted)}
.attendance-point-key{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin:0 14px 12px;padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:var(--panel-2);color:var(--muted);font-size:12px;font-weight:900}
.attendance-key-title{color:var(--text);font-size:12px;font-weight:900;text-transform:uppercase}
.attendance-key-item{display:inline-flex;align-items:center;gap:6px;min-width:0;line-height:1.2}
.attendance-key-item::before{content:"|";color:rgba(255,255,255,.22);font-weight:900}
.attendance-key-title+.attendance-key-item::before{content:none}
.attendance-key-item span{overflow-wrap:anywhere}
.attendance-key-divider{display:none}
.point-badge{display:inline-grid;place-items:center;flex:0 0 auto;min-width:24px;height:24px;padding:0 6px;border-radius:6px;background:#3a4246;color:var(--text);border:1px solid rgba(255,255,255,.12);font-size:12px;font-weight:900;line-height:1}
.point-badge.range{min-width:34px}
.point-badge.points-0{background:#246080;color:#fff;border-color:rgba(107,182,255,.52)}
.point-badge.points-1{background:#3f6f30;color:#fff;border-color:rgba(132,203,106,.5)}
.point-badge.points-2{background:#6d7a28;color:#fff;border-color:rgba(218,220,87,.48)}
.point-badge.points-3{background:#7a5b13;color:#fff;border-color:rgba(255,213,79,.42)}
.point-badge.points-4{background:#9b681f;color:#fff;border-color:rgba(255,190,91,.48)}
.point-badge.points-5,.point-badge.points-6{background:#a1551f;color:#fff;border-color:rgba(255,160,83,.5)}
.point-badge.points-7,.point-badge.points-8,.point-badge.points-9{background:#8c3728;color:#fff;border-color:rgba(255,123,91,.5)}
.point-badge.points-10-plus{background:#742828;color:#fff;border-color:rgba(255,99,99,.56)}
.event-count-point{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.attendance-window-pill{align-self:center;display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:var(--panel-2);color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}
.attendance-detail{display:grid;gap:14px;padding:14px;border-top:1px solid rgba(255,255,255,.08)}
.attendance-detail-heading{align-items:center}
.attendance-detail-title-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}
.attendance-detail-close{min-height:30px;padding:5px 10px;font-size:12px}
.attendance-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-bottom:12px}
.attendance-actions{margin-top:10px}
.attendance-note-label{display:grid;gap:6px}
.attendance-event-editor textarea{width:100%;min-height:90px;resize:vertical}
.attendance-event-editor input:disabled,
.attendance-event-editor select:disabled,
.attendance-event-editor textarea:disabled{background:#3f4447;color:var(--muted);border-color:#22282b;cursor:not-allowed;opacity:.72}
.attendance-event-rule-list{display:grid;gap:4px;margin-top:-4px}
.attendance-event-rule{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;align-items:center;padding:6px 0;border-top:1px solid rgba(255,255,255,.08);font-size:12px;font-weight:900;line-height:1.3}
.attendance-event-rule:first-child{border-top:0}
.attendance-event-rule-name{min-width:0;overflow-wrap:anywhere;color:var(--text)}
.attendance-event-rule.unavailable .attendance-event-rule-name{color:var(--muted);text-decoration:line-through;text-decoration-thickness:2px}
.attendance-event-rule-state{justify-self:end;color:var(--green);text-transform:uppercase}
.attendance-event-rule.unavailable .attendance-event-rule-state{color:var(--accent)}
.attendance-event-rule-reason{grid-column:1 / -1;color:var(--muted);font-weight:800}
.attendance-pill{display:inline-flex;align-items:center;max-width:100%;min-height:26px;padding:4px 8px;border-radius:999px;background:#4a4f52;color:var(--text);font-size:12px;font-weight:900;line-height:1.2;overflow-wrap:anywhere}
.attendance-pill.none{background:#315b35}
.attendance-pill.exempt{background:#7a5b13;color:#fff;border:1px solid rgba(255,213,79,.45)}
.attendance-pill.monitor{background:#4a4f52}
.attendance-pill.document{background:#7a5b13;color:#fff;border:1px solid rgba(255,213,79,.45)}
.attendance-pill.suspension{background:#8a5b23;color:#fff;border:1px solid rgba(255,213,79,.35)}
.attendance-pill.termination{background:#7d3030;color:#fff;border:1px solid rgba(201,75,75,.5)}
.attendance-pill.pending{background:#8a5b23;color:#fff;border:1px solid rgba(255,213,79,.42)}
.pending-review-actions{display:grid;gap:8px;margin-top:0}
.pending-review-actions .control-action{width:100%}
.pending-review-actions .refresh,.pending-review-actions .secondary-action,.pending-review-actions .cancel-action,.pending-review-actions .danger-action,.pending-review-actions .warning-action{width:100%;min-width:0}
.pending-review-meta{display:grid;gap:3px}
.pending-review-meta strong{color:var(--text)}
.pending-review-meta span{color:var(--muted);font-size:12px;font-weight:800}
.attendance-status-cell{display:grid;gap:4px;min-width:0}
.attendance-status-cell strong{color:var(--text);font-size:13px;font-weight:900;line-height:1.2;overflow-wrap:anywhere}
.attendance-early-out{display:grid;gap:3px;min-width:0;line-height:1.2}
.attendance-early-out strong{color:var(--text);font-size:13px;font-weight:900}
.attendance-early-out span{color:var(--muted);font-size:12px;font-weight:800;overflow-wrap:normal;word-break:normal}
.review-window-note{display:block;color:var(--muted);font-size:12px;font-weight:800;line-height:1.25;overflow-wrap:anywhere}
.review-window-note.expired{color:#f3c463}
.attendance-detail-table .tardy-protect,.attendance-detail-table .tardy-restore{white-space:nowrap;overflow-wrap:normal;word-break:normal}
.archive-raw-viewer{display:grid;gap:12px;width:100%;max-width:100%;min-width:0;padding:12px;overflow:hidden;contain:inline-size}
.archive-raw-viewer *{max-width:100%;min-width:0}
.archive-table,.archive-table tbody,.archive-table tr,.archive-table td{max-width:100%;min-width:0}
.archive-bundle-row{max-width:100%;min-width:0}
.archive-detail{display:grid;gap:14px;width:100%;max-width:100%;min-width:0;overflow:hidden}
.archive-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;max-width:100%;min-width:0}
.archive-meta-grid.compact{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-top:8px}
.archive-meta-item{display:grid;gap:4px;min-width:0;padding:9px 10px;border-radius:8px;background:#1d2224;border:1px solid rgba(255,255,255,.08)}
.archive-meta-item.wide{grid-column:1/-1}
.archive-meta-item span{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;overflow-wrap:anywhere}
.archive-meta-item strong{color:var(--text);font-size:12px;font-weight:800;overflow-wrap:anywhere;word-break:break-word}
.archive-file-list{display:grid;gap:12px;max-width:100%;min-width:0}
.archive-file-card{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:100%;max-width:100%;min-width:0;padding:12px;border-radius:8px;background:var(--panel-2);border:1px solid rgba(255,255,255,.08);overflow:hidden}
.archive-file-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;width:100%;max-width:100%;min-width:0}
.archive-file-title h3{margin:0;font-size:14px;overflow-wrap:anywhere;word-break:break-word}
.archive-file-title span{flex:0 1 auto;color:var(--accent);font-size:11px;font-weight:900;text-transform:uppercase;overflow-wrap:anywhere}
.owner-backup-center{display:grid;gap:10px;padding:14px 14px 0;min-width:0}
.owner-backup-card{background:#1d2224}
.owner-backup-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.owner-backup-actions .toolbar-status{flex:1 1 260px;min-width:min(260px,100%);line-height:1.35}
.owner-backup-table .backup-manifest{display:grid;gap:2px;min-width:0;line-height:1.25}
.owner-backup-table .backup-manifest strong{color:var(--text);font-weight:900}
.owner-backup-table .backup-manifest span{color:var(--muted);font-size:11px;font-weight:800;overflow-wrap:anywhere}
.owner-backup-action-stack{display:grid;gap:8px;min-width:0}
.owner-backup-action-stack .control-action{width:100%}
.owner-restore-panel{display:grid;gap:10px;margin-top:2px;padding:12px;border:1px solid rgba(201,75,75,.32);border-radius:8px;background:#241a1b;min-width:0}
.owner-restore-panel[hidden]{display:none!important}
.owner-restore-confirm{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:10px;align-items:end;min-width:0}
.owner-restore-confirm .control-action{align-self:end}
.backup-status-badge{display:inline-flex;align-items:center;max-width:100%;min-height:24px;padding:3px 7px;border-radius:8px;background:#3d464a;color:var(--text);font-size:11px;font-weight:900;line-height:1.15;white-space:normal;overflow-wrap:anywhere}
.backup-status-badge.good{background:#315b35;color:#d8f3dc}
.backup-status-badge.warning{background:#7a5b13;color:#fff}
.backup-status-badge.error{background:#6b2c2f;color:#ffd3d3}
.archive-content{display:grid;grid-column:1/-1;gap:8px;width:100%;max-width:100%;min-width:0;overflow:hidden}
.archive-content summary{cursor:pointer;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.archive-content summary .inline-help{margin-left:6px;vertical-align:middle}
.archive-raw{display:block;box-sizing:border-box;width:100%;inline-size:100%;max-width:100%;max-inline-size:100%;min-width:0;max-height:420px;overflow-y:auto;overflow-x:hidden;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-all;margin:8px 0 0;padding:10px;border-radius:8px;background:#111517;border:1px solid rgba(255,255,255,.08);font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;color:var(--text);-webkit-text-size-adjust:100%;text-size-adjust:100%}
.archive-value{overflow-wrap:anywhere;word-break:break-word}
.archive-muted{color:var(--muted);font-style:italic}
.archive-back{margin:0 0 12px}
.archive-back-action{margin:0 0 12px}
.archive-back-action .archive-back{margin:0}
#archiveLogFilter{display:block;width:100%;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.manager-footer{margin:18px 0 0;text-align:center;color:var(--muted);font-size:11px;font-weight:700}
.idle-warning{position:fixed;inset:0;display:grid;place-items:center;background:rgba(12,15,17,.76);padding:18px;z-index:100}
.idle-warning-card{width:min(420px,100%);background:var(--panel);border:2px solid var(--border);border-radius:8px;padding:18px;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.idle-warning-card h2{font-size:20px}
.idle-warning-card p{margin-top:8px;font-weight:800}
.idle-warning-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
.idle-warning-actions button{min-width:96px}

@media (min-width:1301px){
  .employee-table th,.employee-table td{padding-left:6px;padding-right:6px}
  .employee-table th:nth-child(1),.employee-table td:nth-child(1){width:8%}
  .employee-table th:nth-child(2),.employee-table td:nth-child(2){width:13%}
  .employee-table th:nth-child(3),.employee-table td:nth-child(3){width:13%}
  .employee-table th:nth-child(4),.employee-table td:nth-child(4){width:10%}
  .employee-table th:nth-child(5),.employee-table td:nth-child(5){width:8%;text-align:center}
  .employee-table th:nth-child(6),.employee-table td:nth-child(6){width:8%;text-align:center}
  .employee-table th:nth-child(7),.employee-table td:nth-child(7){width:14%}
  .employee-table th:nth-child(8),.employee-table td:nth-child(8){width:12%}
  .employee-table th:nth-child(9),.employee-table td:nth-child(9){width:14%;text-align:center}
  .employee-table .manager-access-select,.employee-table .owner-transfer-select{width:100%;min-width:0;padding-left:8px;padding-right:24px;white-space:nowrap;overflow-wrap:normal;text-align:center;text-align-last:center}
  .employee-table .status-select,.employee-table .contractor-status-select{width:100%;min-width:0;padding-left:6px;padding-right:22px}
  .employee-table td:nth-child(5) .pill,.employee-table td:nth-child(6) .pill{min-width:44px;text-align:center}
  .employee-table .reassign-id-cell{justify-content:center;flex-wrap:nowrap}
  .employee-table .reassign-id-cell .control-action{grid-template-columns:minmax(94px,1fr) 24px;width:100%;gap:6px}
  .employee-table .reassign-id-button{width:100%;min-width:0;white-space:nowrap;overflow-wrap:normal;line-height:1.15;padding-left:10px;padding-right:10px}
  .payroll-table-scroll{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;padding-bottom:6px;contain:inline-size;scrollbar-gutter:stable}
  .payroll-table-scroll .payroll-table{width:1840px;min-width:1840px;max-width:none;table-layout:fixed}
  .payroll-table-scroll .payroll-table th,.payroll-table-scroll .payroll-table td{padding:8px 7px;line-height:1.25;overflow-wrap:break-word;word-break:normal}
  .payroll-table-scroll .payroll-table th{font-size:11px}
  .payroll-table-scroll .payroll-table td{font-size:13px}
  .payroll-table-scroll .payroll-table th:nth-child(1),.payroll-table-scroll .payroll-table td:nth-child(1){width:180px}
  .payroll-table-scroll .payroll-table th:nth-child(2),.payroll-table-scroll .payroll-table td:nth-child(2){width:120px}
  .payroll-table-scroll .payroll-table th:nth-child(3),.payroll-table-scroll .payroll-table td:nth-child(3){width:98px}
  .payroll-table-scroll .payroll-table th:nth-child(4),.payroll-table-scroll .payroll-table td:nth-child(4){width:140px}
  .payroll-table-scroll .payroll-table th:nth-child(5),.payroll-table-scroll .payroll-table td:nth-child(5){width:105px}
  .payroll-table-scroll .payroll-table th:nth-child(6),.payroll-table-scroll .payroll-table td:nth-child(6){width:90px}
  .payroll-table-scroll .payroll-table th:nth-child(7),.payroll-table-scroll .payroll-table td:nth-child(7){width:160px}
  .payroll-table-scroll .payroll-table th:nth-child(8),.payroll-table-scroll .payroll-table td:nth-child(8){width:115px}
  .payroll-table-scroll .payroll-table th:nth-child(9),.payroll-table-scroll .payroll-table td:nth-child(9){width:120px}
  .payroll-table-scroll .payroll-table th:nth-child(10),.payroll-table-scroll .payroll-table td:nth-child(10){width:145px}
  .payroll-table-scroll .payroll-table th:nth-child(11),.payroll-table-scroll .payroll-table td:nth-child(11){width:110px}
  .payroll-table-scroll .payroll-table th:nth-child(12),.payroll-table-scroll .payroll-table td:nth-child(12){width:120px}
  .payroll-table-scroll .payroll-table th:nth-child(13),.payroll-table-scroll .payroll-table td:nth-child(13){width:120px}
  .payroll-table-scroll .payroll-table th:nth-child(14),.payroll-table-scroll .payroll-table td:nth-child(14){width:135px}
  .payroll-table-scroll .payroll-table th:nth-child(15),.payroll-table-scroll .payroll-table td:nth-child(15){width:145px}
  .payroll-table-scroll .payroll-table th:nth-child(16),.payroll-table-scroll .payroll-table td:nth-child(16){width:137px}
  .payroll-table-scroll .payroll-table .employee-name-cell,.payroll-table-scroll .payroll-table .pto-leave-used{white-space:normal;overflow-wrap:break-word}
  .attendance-detail-table th:nth-child(1),.attendance-detail-table td:nth-child(1){width:17%}
  .attendance-detail-table th:nth-child(2),.attendance-detail-table td:nth-child(2){width:13%}
  .attendance-detail-table th:nth-child(3),.attendance-detail-table td:nth-child(3){width:9%}
  .attendance-detail-table th:nth-child(4),.attendance-detail-table td:nth-child(4){width:19%}
  .attendance-detail-table th:nth-child(5),.attendance-detail-table td:nth-child(5){width:7%}
  .attendance-detail-table th:nth-child(6),.attendance-detail-table td:nth-child(6){width:12%}
  .attendance-detail-table th:nth-child(7),.attendance-detail-table td:nth-child(7){width:23%}
  .attendance-detail-table .tardy-protect,.attendance-detail-table .tardy-restore{padding-left:10px;padding-right:10px;font-size:12px;line-height:1.15}
}

@media (max-width:1300px){
  .responsive-table{min-width:0;border-collapse:separate;border-spacing:0}
  .responsive-table thead{display:none}
  .responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}
  .responsive-table tr{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.12)}
  .responsive-table tr:nth-child(even):not(.empty-row){background:rgba(255,255,255,.025)}
  .responsive-table td{display:grid;grid-template-columns:minmax(120px,28%) minmax(0,1fr);gap:10px;align-items:center;min-height:38px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.06);overflow-wrap:anywhere}
  .payroll-table td{display:grid;text-align:left;padding:7px 0}
  .payroll-table td:first-child{text-align:left}
  .payroll-table .employee-name-cell{justify-items:start}
  .responsive-table td:last-child{border-bottom:none}
  .responsive-table td::before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}
  .responsive-table .empty{display:block;padding:14px 0;text-align:center}
  .responsive-table .empty::before{content:none}
  .archive-table td[data-label="Archive Bundle"]{display:block;width:100%;max-width:100%;min-width:0}
  .archive-table td[data-label="Archive Bundle"]::before{display:block;margin-bottom:8px}
}


@media (max-width:1080px) and (min-width:761px){
  .manager-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:760px){
  .manager-header{align-items:flex-start;flex-direction:column}
  .manager-session{margin-left:0;text-align:left}
  .header-actions{width:100%;justify-content:flex-start;display:grid;grid-template-columns:1fr;gap:8px;align-items:center}
  .header-actions .refresh,.header-actions .logout,.header-actions .manager-header-link{width:100%;min-width:0}
  .header-actions .control-action,.toolbar .control-action,.employee-tools .control-action,.payroll-tools .control-action,.company-profile-actions .control-action,.form-actions .control-action,.tenure-actions .control-action{grid-template-columns:minmax(0,1fr) 24px;width:100%;flex:1 1 100%}
  .header-actions .control-action>button,.toolbar .control-action>button,.employee-tools .control-action>button,.payroll-tools .control-action>button,.company-profile-actions .control-action>button,.form-actions .control-action>button,.tenure-actions .control-action>button{width:100%;min-width:0}
  .login-security-block .record-credential-actions{display:grid;grid-template-columns:1fr;gap:8px;width:100%}
  .login-security-block .record-credential-actions .control-action{grid-template-columns:minmax(0,1fr) 24px;width:100%;justify-self:stretch}
  .login-security-block .record-credential-actions .control-action>button{width:100%;min-width:0}
  .login-security-block .record-credential-actions .authenticator-code-field{width:100%;min-width:0}
  #btnHeaderRefresh{width:100%}
  #btnHeaderRefresh[hidden]+.action-help,#btnLogout[hidden]+.action-help{display:none!important}
  .manager-menu-button{display:flex}
  .manager-tabs{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;grid-template-columns:1fr;gap:8px;padding:10px;border:2px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:0 16px 34px rgba(0,0,0,.45);z-index:40}
  .manager-menu-open .manager-tabs{display:grid}
  .manager-tab{width:100%;min-height:44px;text-align:left}
  .toolbar label,.toolbar .refresh,.toolbar .danger-action,.employee-tools label,.employee-tools .refresh,.payroll-tools label,.payroll-tools .refresh,.company-profile-actions .refresh,.editor-controls label,.editor-controls .refresh,.editor-block .refresh,.editor-block .cancel-action{width:100%;flex-basis:100%}
  .editor-controls .control-action{grid-template-columns:minmax(0,1fr) 24px;width:100%;flex:1 1 100%}
  .editor-controls .control-action .refresh,.editor-controls .control-action .cancel-action{width:100%;min-width:0}
  .tax-estimate-status{display:grid;grid-template-columns:1fr;align-items:stretch;padding:9px 10px}
  .tax-status-actions{display:grid;grid-template-columns:1fr;gap:8px;width:100%}
  .tax-status-actions .control-action{grid-template-columns:minmax(0,1fr) 24px;width:100%}
  .tax-status-actions .control-action>button{width:100%;min-width:0}
  .company-profile-heading{align-items:flex-start}
  .company-profile-heading .action-help{flex:0 0 auto}
  .company-profile-grid{grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;overflow:hidden}
  .company-profile-actions{display:grid;grid-template-columns:1fr;gap:8px;width:100%}
  .reset-warning{width:100%;padding:9px 10px}
  .reset-warning-summary{align-items:stretch}
  .reset-warning-toggle{align-self:start}
  .reset-warning-details{grid-template-columns:1fr}
  .pay-edit .control-action,.review-actions .control-action,.attendance-table .control-action,.attendance-actions .control-action,.attendance-event-table .control-action,.pending-review-actions .control-action,.reassign-id-cell .control-action,.tenure-edit-row .control-action,.archive-table .control-action,.archive-raw-viewer .control-action,.owner-backup-actions .control-action,.owner-backup-table .control-action,.owner-restore-confirm .control-action{grid-template-columns:minmax(0,1fr) 24px;width:100%;justify-self:stretch}
  .pay-edit .control-action>button,.review-actions .control-action>button,.attendance-table .control-action>button,.attendance-actions .control-action>button,.attendance-event-table .control-action>button,.pending-review-actions .control-action>button,.reassign-id-cell .control-action>button,.tenure-edit-row .control-action>button,.archive-table .control-action>button,.archive-raw-viewer .control-action>button,.owner-backup-actions .control-action>button,.owner-backup-table .control-action>button,.owner-restore-confirm .control-action>button{width:100%;min-width:0}
  .editor-actions{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:8px;width:100%}
  .editor-actions .action-help{justify-self:end}
  .attendance-event-rule{grid-template-columns:1fr;gap:3px}
  .attendance-event-rule-state{justify-self:start}
  [data-tab-panel="archive-logs"] .toolbar{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:end}
  [data-tab-panel="archive-logs"] .toolbar label{min-width:0;width:100%}
  [data-tab-panel="archive-logs"] .action-help{justify-self:end}
  .panel-title,.chart-title{align-items:flex-start;flex-direction:column}
  .owner-review-title{align-items:flex-start;flex-direction:row;justify-content:space-between}
  .owner-review-title .action-help{flex:0 0 auto;margin-left:auto;align-self:flex-start}
  .pay-edit{gap:8px}
  .pay-edit .pay-save{min-height:38px}
  .week-row{grid-template-columns:1fr;gap:6px}
  .week-bars{grid-template-columns:repeat(7,minmax(0,1fr))}
  .week-total{text-align:left}
  .pagination-controls{grid-template-columns:1fr;align-items:stretch;gap:8px;padding:8px}
  .pagination-summary{width:100%;min-height:0;padding:0 2px;font-size:12px;line-height:1.25}
  .pagination-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"page page total go" "first prev next last" "rows rows rows rows";align-items:center;justify-content:stretch;gap:6px;width:100%}
  .pagination-actions .secondary-action{min-height:34px;padding:6px 5px;font-size:12px}
  .pagination-actions .page-go{width:100%}
  .page-go-label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;min-width:0}
  .pagination-total{justify-content:center;min-height:34px;white-space:nowrap}
  .page-size-label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;min-width:0}
  .page-go-input,.page-size-select{width:100%;min-width:0;min-height:34px}
  .idle-warning-actions{flex-direction:column}
  .idle-warning-actions button{width:100%}
}

@media (max-width:480px){
  .manager-shell{width:calc(100vw - 12px);max-width:100%;margin-top:6px}
  .logo{width:48px;height:48px}
  h1{font-size:20px}
  .login-panel{margin:28px auto;padding:14px}
  .key{min-height:56px}
  .panel-title,.toolbar,.employee-tools,.add-employee-form,.day-editor,.record-editor,.review-sections,.audit-grid,.payroll-tools,.company-profile-panel,.payroll-print-area,.pto-ledger-wrap,.weekly-chart,.attendance-detail{padding:10px}
  .owner-backup-center{padding:10px 10px 0}
  .week-legend,.attendance-point-key{margin:0 10px 10px}
  .attendance-point-key{padding:10px;gap:8px}
  .attendance-key-item::before{content:none}
  .responsive-table td{grid-template-columns:1fr;gap:4px}
  .responsive-table td::before{font-size:10px}
  .pay-edit{grid-template-columns:1fr}
  .availability-grid{grid-template-columns:1fr}
  .availability-row{grid-template-columns:1fr}
  .weekly-schedule-grid{grid-template-columns:1fr}
  .title-help{width:100%;justify-content:space-between}
  .weekly-schedule-card-heading{align-items:flex-start}
  .editor-block-heading{align-items:flex-start;flex-direction:column}
  .attendance-detail-title-actions{width:100%;justify-content:space-between}
  .schedule-override-heading{flex-direction:row;align-items:flex-start;justify-content:space-between}
  .schedule-override-heading .lock-badge{white-space:nowrap}
  .lock-badge{white-space:normal}
  .reset-warning-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
  .reset-warning-toggle{min-height:32px}
  .pagination-actions .secondary-action{min-height:32px;padding:6px 4px;font-size:11px;line-height:1.1}
  .pagination-actions .page-first{grid-area:first}
  .pagination-actions .page-prev{grid-area:prev}
  .pagination-actions .page-next{grid-area:next}
  .pagination-actions .page-last{grid-area:last}
  .pagination-actions .page-go{grid-area:go;width:100%}
  .pagination-total{min-height:32px}
  .tenure-edit-row{grid-template-columns:1fr}
  .tenure-actions .refresh,.tenure-actions .secondary-action,.tenure-actions .danger-action{width:100%}
  .review-actions .secondary-action,.review-actions .danger-action{width:100%}
  .record-review-section{padding-bottom:12px}
  .record-review-section+.record-review-section{padding-top:12px}
  .pay-edit .control-action{justify-self:stretch}
  .pay-edit .action-help{justify-self:end}
  .archive-meta-grid,.archive-meta-grid.compact{grid-template-columns:1fr}
  .archive-raw-viewer{padding:8px}
  .archive-raw-viewer .archive-back,.archive-raw-viewer .archive-view{display:block;width:100%;min-width:0;white-space:normal;text-align:center;line-height:1.25}
  .archive-file-title{flex-direction:column;align-items:flex-start;gap:4px}
  .archive-file-title span{align-self:flex-start;max-width:100%}
  .archive-file-title h3{font-size:13px;line-height:1.3}
  .archive-meta-item span{font-size:9px}
  .archive-meta-item strong{font-size:11px;line-height:1.35}
  .archive-content summary{font-size:11px}
  .archive-raw{max-height:360px;padding:8px;font-size:10.5px!important;line-height:1.45!important;letter-spacing:0}
  .archive-back,.archive-view{width:100%}
  .archive-content summary{display:flex;align-items:center;gap:6px;line-height:1.35}
  .archive-content summary .inline-help{flex:0 0 auto;margin-left:0}
  .archive-bundle-row{padding:6px}
  .archive-table td[data-label="Archive Bundle"]{padding:0}
  .archive-file-card{padding:8px}
  .archive-meta-item{padding:8px}
  .archive-file-card .archive-raw{width:100%;max-width:100%;margin-left:0;margin-right:0}
  .archive-raw-viewer .archive-raw{overflow:hidden auto;word-break:break-all;white-space:pre-wrap!important}
  #archiveLogFilter{font-size:16px;line-height:1.25;padding-right:28px}
}

@media (max-width:360px){
  .manager-shell{width:calc(100vw - 8px);margin-top:4px}
  .panel{border-width:1px}
  .panel-title,.toolbar,.employee-tools,.add-employee-form,.day-editor,.record-editor,.review-sections,.audit-grid,.payroll-tools,.company-profile-panel,.payroll-print-area,.pto-ledger-wrap,.weekly-chart,.attendance-detail{padding:8px}
  .owner-backup-center{padding:8px 8px 0}
  .week-legend,.attendance-point-key{margin:0 8px 8px;padding:8px}
  .responsive-table tr{padding:8px}
  .pagination-actions{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"page page" "total go" "first prev" "next last" "rows rows"}
  .pagination-actions .secondary-action{font-size:12px}
  .archive-bundle-row{padding:4px}
  .archive-raw{font-size:9.5px!important;padding:7px}
  .archive-table td[data-label="Archive Bundle"]::before{display:none}
  .archive-detail{gap:10px}
  .archive-raw-viewer{padding:6px}
  .archive-file-list{gap:10px}
  .archive-file-title h3{font-size:12px}
  .archive-file-title span{font-size:10px}
  .archive-content summary{font-size:10px}
  .archive-content summary{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center}
  .archive-content summary .inline-help{justify-self:end}
  .archive-meta-item span{font-size:8.5px}
  .archive-meta-item strong{font-size:10px}
  .archive-file-card .archive-raw{border-radius:6px}
  .archive-raw-viewer{gap:8px}
}

@media (max-width:320px){
  .archive-file-title h3{font-size:11px}
  .archive-file-title span{font-size:9px}
  .archive-content summary{font-size:9.5px}
  .archive-meta-item span{font-size:8px}
  .archive-meta-item strong{font-size:9.5px}
  .archive-raw{font-size:9px!important;line-height:1.4!important}
  .archive-raw-viewer .archive-raw{max-height:320px}
  .archive-back,.archive-view{font-size:12px;padding:8px 10px}
}

@page{size:portrait;margin:.4in}

@media print{
  html,body{height:auto!important;min-height:0!important;background:#fff!important;color:#000!important;overflow:visible!important}
  .manager-header,.login-panel,.manager-tabs,.toolbar,.panel:not(.payroll-panel),.payroll-tools,.company-profile-panel,.chart-title,.weekly-chart,.week-legend,.pagination-controls,.pto-ledger-wrap,.idle-warning{display:none!important}
  .dashboard,.manager-shell,.payroll-panel,.payroll-print-area,.payroll-print-area .table-wrap{display:block!important;background:#fff!important;color:#000!important;overflow:visible!important}
  .manager-shell{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}
  .payroll-panel{border:none!important;border-radius:0!important;background:#fff!important;color:#000!important;break-after:auto!important;page-break-after:auto!important}
  .panel-title{display:none}
  .payroll-print-area{padding:0!important;margin:0!important;break-after:auto!important;page-break-after:auto!important}
  .print-title{display:block;margin-bottom:10px}
  .print-title h2{color:#000;font-size:15px;margin:0 0 4px}
  .print-title p{color:#222;font-size:10px;margin:0}
  table{min-width:0;color:#000}
  th,td{border:1px solid #333;color:#000}
  .payroll-table,.payroll-table tbody,.payroll-table tr,.payroll-table td{display:block!important;width:100%!important}
  .payroll-table{margin:0!important;min-width:0!important;border-collapse:separate!important;border-spacing:0!important;table-layout:auto!important;break-after:auto!important;page-break-after:auto!important}
  .payroll-table thead{display:none!important}
  .payroll-table tr{margin:0 0 10px!important;padding:8px 10px!important;border:1px solid #333!important;break-inside:avoid;page-break-inside:avoid;background:#fff!important}
  .payroll-table tbody tr:last-child{margin-bottom:0!important}
  .payroll-table td{display:grid!important;grid-template-columns:1.25in minmax(0,1fr)!important;gap:8px!important;align-items:start!important;padding:4px 0!important;border:0!important;border-bottom:1px solid #ccc!important;font-size:10.5px!important;line-height:1.25!important;text-align:left!important}
  .payroll-table td:last-child{border-bottom:0!important}
  .payroll-table td::before{content:attr(data-label)!important;color:#333!important;font-size:8.5px!important;font-weight:900!important;text-transform:uppercase!important}
  .payroll-table .employee-name-cell{display:grid;gap:2px;min-width:0}
  .payroll-table .employee-name-cell strong{font-size:11px;line-height:1.15}
  .payroll-table .employee-position-title{font-size:9.5px;line-height:1.15;color:#333}
  .payroll-table .pto-earned-value,.payroll-table .pto-balance-value{color:#000}
  .payroll-table .pill{font-size:8px;padding:1px 4px;border-color:#333;color:#000;background:#eee}
}











