:root{
  --bg:#f5f7fb;--panel:#fff;--text:#182033;--muted:#667085;--line:#d8dee8;--dark:#1f2937;
  --accent:#f6c90e;--accent2:#24314d;--ok:#18794e;--okbg:#e9f8ef;--bad:#b42318;--badbg:#fff0ee;--warn:#9a6700;--warnbg:#fff7d6;
  --entry-blue:#003c8f;--shadow:0 10px 30px rgba(18,38,63,.08);--radius:16px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,input,select,textarea{font-family:inherit}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none}
.topbar{height:72px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;padding:0 24px;gap:24px;position:sticky;top:0;z-index:20}
.brand img{display:block;width:205px;max-height:52px;object-fit:contain;object-position:left center}.topbar-title{font-size:18px;font-weight:750;margin-left:auto;color:#344054}.app-version{font-size:11px;font-weight:800;color:#526174;background:#f1f4f8;border:1px solid #d9e0e8;border-radius:999px;padding:5px 9px;white-space:nowrap;font-variant-numeric:tabular-nums}
.page-shell{max-width:1600px;margin:0 auto;padding:28px 22px 48px}.setup-wrap{max-width:1050px;margin:0 auto}.setup-card{margin-bottom:18px}.setup-complete-line{display:flex;justify-content:space-between;gap:18px;align-items:center}
.card{background:var(--panel);border:1px solid #e5e7eb;border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}
.login-card{max-width:430px;margin:7vh auto 0}.login-card h1{font-size:26px;margin:0 0 8px}.login-card p{margin:0 0 22px;color:var(--muted)}
label{display:block;font-size:13px;font-weight:700;margin:0 0 7px;color:#344054}
.input,input[type=password].input,input[type=text].input,input[type=email].input,select.input{width:100%;max-width:100%;min-width:0;height:43px;border:1px solid #cfd6df;border-radius:10px;background:#fff;padding:0 12px;font:inherit;color:var(--text);outline:none}
.input:focus{border-color:#8ca0bf;box-shadow:0 0 0 3px rgba(38,72,120,.09)}.entered-value{color:var(--entry-blue)!important;font-weight:650}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-group{margin-bottom:16px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;padding:9px 15px;min-height:40px;font-weight:750;font-size:14px;cursor:pointer;background:#e9edf3;color:#24314d;white-space:nowrap}
.btn:hover{filter:brightness(.98)}.btn-primary{background:var(--accent2);color:#fff}.btn-yellow{background:var(--accent);color:#111827}.btn-success{background:#16794c;color:#fff}.btn-danger{background:#b42318;color:#fff}.btn-ghost{background:#fff;border:1px solid #d0d5dd}.btn-sm{min-height:34px;padding:7px 11px;font-size:13px}.btn[disabled]{opacity:.55;cursor:not-allowed}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.actions.right{justify-content:flex-end}.compact-actions .btn{width:84px;padding-left:10px;padding-right:10px}
.page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.page-head h1{font-size:27px;margin:0 0 5px}.page-head p{margin:0;color:var(--muted)}
.breadcrumbs{display:flex;gap:8px;color:var(--muted);font-size:13px;margin-bottom:12px}.breadcrumbs a:hover{text-decoration:underline}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.company-card{background:#fff;border:1px solid #e1e6ef;border-radius:14px;padding:18px;box-shadow:0 4px 16px rgba(18,38,63,.05);transition:.15s}.company-card:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.company-card h3{margin:0 0 8px;font-size:18px}.company-card .meta{color:var(--muted);font-size:13px}
.tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:900px}.big-tile{padding:26px;background:#fff;border:1px solid #e1e6ef;border-radius:16px;box-shadow:var(--shadow);min-height:155px;display:flex;flex-direction:column;justify-content:space-between}.big-tile .icon{font-size:31px}.big-tile h2{margin:14px 0 5px;font-size:21px}.big-tile p{margin:0;color:var(--muted)}
.pending-work-card{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid #dfe4eb;border-radius:14px;padding:17px 20px;margin-bottom:18px;box-shadow:0 4px 16px rgba(18,38,63,.05)}.pending-work-card strong{display:block;font-size:18px;margin-bottom:3px}.pending-work-card small{color:var(--muted)}.pending-count{min-width:48px;height:40px;border-radius:999px;background:#edf1f5;color:#667085;display:inline-flex;align-items:center;justify-content:center;font-weight:850;font-size:18px}.pending-work-card.has-pending{border-color:#e5c94e}.pending-work-card.has-pending .pending-count{background:var(--accent);color:#111827}
.notice{border-radius:10px;padding:11px 13px;margin-bottom:14px;font-size:14px}.notice.success{background:var(--okbg);color:var(--ok)}.notice.error{background:var(--badbg);color:var(--bad)}.notice.warning{background:var(--warnbg);color:var(--warn)}
.table-list{width:100%;border-collapse:collapse}.table-list th,.table-list td{padding:13px 12px;border-bottom:1px solid #e8ebf0;text-align:left}.table-list th{font-size:12px;color:#667085;text-transform:uppercase;letter-spacing:.04em}.table-list tr:hover td{background:#fbfcfe}
.status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;vertical-align:middle}.status.pending{background:var(--warnbg);color:var(--warn)}.status.approved{background:var(--okbg);color:var(--ok)}.status.denied{background:var(--badbg);color:var(--bad)}.status.draft{background:#edf1f6;color:#475467}.status.archived{background:#eceff3;color:#4d5868;font-size:11px;margin-left:6px}
.period-head{background:#fff;border:1px solid #e1e6ef;border-radius:14px;padding:14px 16px;margin-bottom:12px;display:grid;grid-template-columns:1.25fr minmax(0,.8fr) minmax(0,.8fr);gap:12px;align-items:center;overflow:hidden}.period-head>div{min-width:0}.period-head .business{font-size:18px;font-weight:800;padding-bottom:0;display:flex;align-items:center;min-height:40px}.period-head input{height:40px;width:100%;max-width:100%;min-width:0}.period-head input[type=date]{color:var(--entry-blue);font-weight:650}
.autosave{font-size:12px;color:var(--muted);min-width:70px;text-align:right}
.view-switch{display:flex;align-items:center;gap:5px;margin:8px 0 10px;justify-content:flex-end}.view-switch>span{font-size:12px;color:var(--muted);font-weight:700;margin-right:3px}.view-choice{border:1px solid #d0d5dd;background:#fff;color:#344054;border-radius:8px;padding:6px 10px;font-weight:750;font-size:12px;cursor:pointer}.view-choice.active{background:#24314d;color:#fff;border-color:#24314d}

/* Sheet is shrink-wrapped to the actual column total. No elastic white panel remains on the right. */
.sheet-section{width:100%;max-width:100%}.sheet-wrap{width:max-content;max-width:100%;margin:0 auto;overflow:auto;background:transparent;border-radius:6px;box-shadow:0 4px 18px rgba(16,24,40,.05);-webkit-overflow-scrolling:touch}.sheet-wrap.mobile-sheet-wrap{width:100%;max-width:100%;box-shadow:none;overflow:visible}.payroll-sheet{border-collapse:collapse;table-layout:fixed;font-family:Arial,sans-serif;font-size:12px;background:#fff;margin:0 auto}.payroll-sheet th,.payroll-sheet td{border:1px solid #222;padding:0;text-align:center;height:38px;overflow:hidden}.payroll-sheet thead th{background:#c3c3c3;font-weight:800;color:#050505;line-height:1.05;padding:5px 3px;white-space:normal;overflow-wrap:anywhere}.payroll-sheet thead .group-row th{height:30px;font-size:14px}.payroll-sheet .rownum{padding:0 1px;font-variant-numeric:tabular-nums;font-weight:700}.employee-id-display{display:block;text-align:center;white-space:nowrap}

/* Entered values are centered and use the familiar deep-blue prefill look. */
.payroll-sheet td input,.payroll-sheet td select{width:100%;height:37px;border:0;border-radius:0;padding:4px 5px;background:transparent;font:inherit;color:var(--entry-blue);-webkit-text-fill-color:var(--entry-blue);outline:none;min-width:0;text-align:center;text-align-last:center;font-variant-numeric:tabular-nums}.payroll-sheet td input::placeholder{color:#7b8594;-webkit-text-fill-color:#7b8594;opacity:1}.payroll-sheet td input:focus,.payroll-sheet td select:focus{box-shadow:inset 0 0 0 2px #5b8def;background:#f9fbff}.payroll-sheet td.formula{background:#f0f3f7}.payroll-sheet td.formula input{font-weight:800;color:var(--entry-blue);-webkit-text-fill-color:var(--entry-blue)}
.payroll-sheet .status-cell select,.payroll-sheet .pay-type-cell select,.payroll-sheet .payment-method-cell select{height:37px;text-align:center;text-align-last:center;padding:0 2px;font-size:11px}.payroll-sheet .employee-status-label,.payroll-sheet .pay-type-label,.payroll-sheet .payment-method-label{display:flex;align-items:center;justify-content:center;height:37px;font-size:11px;font-weight:700;padding:0 2px;color:var(--entry-blue)}.payroll-sheet .employee-status-label.terminated{color:#555}
.payroll-sheet .withholding-cell{position:relative}.withholding-stack{display:grid;grid-template-rows:18px 19px;height:37px}.payroll-sheet .withholding-cell select{height:18px;font-size:10px;text-align:center;text-align-last:center;padding:0 2px;border:0;border-bottom:1px dashed #aeb6c2;background:transparent}.payroll-sheet .withholding-cell input{height:19px;padding:1px 5px;text-align:center;font-weight:700}.withholding-type-readonly{height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;color:#667085;border-bottom:1px dashed #aeb6c2}
.payroll-sheet .fica-cell{cursor:default}.payroll-sheet .fica-rate{display:flex;align-items:center;justify-content:center;height:37px;font-weight:800;color:#28364e}.payroll-sheet .cell-locked{background:#292929!important}.payroll-sheet .cell-locked input{background:#292929!important;color:#7e8793!important;-webkit-text-fill-color:#7e8793!important;cursor:not-allowed}.payroll-sheet .salary-overtime input::placeholder{color:#7b8594;-webkit-text-fill-color:#7b8594;opacity:1}
.payroll-sheet tr.employee-terminated td{background:#dedede}.payroll-sheet tr.employee-terminated td.formula{background:#d3d6da}.payroll-sheet tr.employee-terminated td input,.payroll-sheet tr.employee-terminated td select{color:#666!important;-webkit-text-fill-color:#666!important}.payroll-sheet tr.employee-terminated .employee-status-label,.payroll-sheet tr.employee-terminated .payment-method-label,.payroll-sheet tr.employee-terminated .pay-type-label{color:#666}.payroll-sheet tr.employee-terminated td.cell-locked,.payroll-sheet tr.employee-terminated td.cell-locked input{background:#292929!important;color:#858b93!important;-webkit-text-fill-color:#858b93!important}.payroll-sheet input:disabled,.payroll-sheet select:disabled{opacity:1}
.payroll-sheet td.rate-changed{background:#ffe4e1!important;box-shadow:inset 0 0 0 2px #d92d20}.payroll-sheet td.rate-changed input{color:#b42318!important;-webkit-text-fill-color:#b42318!important;font-weight:850}.rate-change-legend{display:inline-flex;align-items:center;gap:7px;color:#9d241a;font-size:12px;font-weight:700;margin:2px 0 10px}.rate-change-dot{width:13px;height:13px;border-radius:3px;background:#ffe4e1;border:2px solid #d92d20}
.row-controls{display:flex;justify-content:center;align-items:center;gap:8px;margin:10px auto 0;min-height:40px}.btn-row-control{min-height:34px;padding:6px 11px;font-size:12px}.row-control-message{font-size:12px;color:var(--muted);margin-left:4px}.sheet-note{margin:10px 0 0;color:#667085;font-size:12px}.summary-strip{display:flex;gap:16px;flex-wrap:wrap;background:#fff;border:1px solid #e1e6ef;border-radius:12px;padding:12px 14px;margin-top:12px}.summary-strip b{font-variant-numeric:tabular-nums;color:var(--entry-blue)}
.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(10,18,30,.48);z-index:100;align-items:center;justify-content:center;padding:20px}.modal-backdrop.open{display:flex}.modal{background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.25);width:min(520px,100%);padding:22px}.modal h2{margin:0 0 16px}.divider{height:1px;background:#e5e7eb;margin:20px 0}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.muted{color:var(--muted)}.small{font-size:12px}.danger-zone{border:1px solid #f1b9b5;background:#fff8f7}.client-home{max-width:1600px;margin:25px auto}.client-company{font-size:14px;color:var(--muted);margin-bottom:12px}.history-empty{padding:34px;text-align:center;color:var(--muted)}.status-box{background:#fff;border:1px solid #e1e6ef;border-radius:14px;padding:16px;margin-top:16px}.status-box h3{margin:0 0 10px}.status-controls{display:flex;gap:10px;flex-wrap:wrap}.field-help{font-size:11px;color:#7a8699;margin-top:5px}.hidden{display:none!important}

/* Column editor: resizing one col only changes total table width; nothing else flexes. */
.layout-editor-wrap{overflow:auto}.payroll-sheet[data-layout-editor="1"] th[data-col-key]{position:relative;overflow:visible}.col-resizer{position:absolute;right:-5px;top:0;width:10px;height:100%;cursor:col-resize;z-index:5;touch-action:none}.col-resizer::after{content:"";position:absolute;left:4px;top:4px;bottom:4px;width:2px;background:rgba(36,49,77,.35)}.payroll-sheet[data-layout-editor="1"] th[data-col-key]:hover .col-resizer::after{background:#24314d}.layout-hint{background:#fff7d6;border:1px solid #efd77d;padding:11px 13px;border-radius:10px;margin-bottom:12px;color:#6f5600;font-size:13px}

/* Mobile card view: larger type and touch targets for older clients. */
.payroll-sheet.mobile-view{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;font-size:16px;background:transparent}.payroll-sheet.mobile-view colgroup,.payroll-sheet.mobile-view thead{display:none}.payroll-sheet.mobile-view tbody{display:block}.payroll-sheet.mobile-view tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;background:#fff;border:1px solid #cfd4dc;border-radius:12px;margin-bottom:15px;overflow:hidden;box-shadow:0 3px 12px rgba(16,24,40,.05)}.payroll-sheet.mobile-view tbody tr.employee-terminated{background:#e3e3e3}.payroll-sheet.mobile-view tbody td{display:block;height:auto;min-height:76px;border:0;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;padding:27px 8px 7px;position:relative;overflow:visible}.payroll-sheet.mobile-view tbody td:nth-child(even){border-right:0}.payroll-sheet.mobile-view tbody td::before{content:attr(data-label);position:absolute;top:7px;left:8px;right:6px;font-size:13px;line-height:1.05;text-transform:uppercase;letter-spacing:.01em;color:#4f5d70;font-weight:850;text-align:left}.payroll-sheet.mobile-view tbody td.rownum{grid-column:1/2;min-height:62px;padding-top:27px}.payroll-sheet.mobile-view tbody td.payment-method-cell{grid-column:2/3;min-height:62px;padding-top:22px}.payroll-sheet.mobile-view tbody td.status-cell{grid-column:1/-1;min-height:66px;padding-top:24px}.payroll-sheet.mobile-view tbody td input,.payroll-sheet.mobile-view tbody td select{height:43px;font-size:18px;padding:3px 5px;text-align:center;text-align-last:center}.payroll-sheet.mobile-view .status-cell select,.payroll-sheet.mobile-view .pay-type-cell select,.payroll-sheet.mobile-view .payment-method-cell select{height:43px;font-size:17px}.payroll-sheet.mobile-view .employee-status-label,.payroll-sheet.mobile-view .pay-type-label,.payroll-sheet.mobile-view .payment-method-label,.payroll-sheet.mobile-view .fica-rate{height:43px;font-size:17px}.payroll-sheet.mobile-view .withholding-cell{grid-column:1/-1}.payroll-sheet.mobile-view .withholding-stack{grid-template-columns:1fr 1fr;grid-template-rows:43px;height:43px;gap:7px}.payroll-sheet.mobile-view .withholding-cell select,.payroll-sheet.mobile-view .withholding-cell input,.payroll-sheet.mobile-view .withholding-type-readonly{height:43px;border:1px solid #d7dce4!important;border-radius:7px!important;font-size:17px}.payroll-sheet.mobile-view .cell-locked{min-height:76px}.payroll-sheet.mobile-view .formula{background:#f4f6f8!important}.payroll-sheet.mobile-view tr.employee-terminated td.formula{background:#d7d9dd!important}.payroll-sheet.mobile-view td.rate-changed{background:#ffe4e1!important}

@media(max-width:900px){.grid{grid-template-columns:1fr 1fr}.form-row,.form-row.three,.settings-grid{grid-template-columns:1fr}.period-head{grid-template-columns:1fr 1fr}.period-head .business{grid-column:1/-1}.page-shell{padding-left:14px;padding-right:14px}.topbar{padding:0 14px}.brand img{width:175px}.page-head{align-items:stretch}.page-head .actions{justify-content:flex-start}}
@media(max-width:640px){
  body{font-size:17px}.topbar{height:62px}.brand img{width:155px}.topbar-title{display:none}.app-version{font-size:10px;padding:4px 7px;margin-left:auto}.page-shell{padding:16px 10px 34px}.page-head{display:block}.page-head h1{font-size:25px}.page-head p{font-size:16px;line-height:1.4}.page-head .actions{margin-top:12px}.page-head .actions .btn{flex:1;min-width:88px}.period-head{grid-template-columns:minmax(0,1fr);padding:12px;gap:10px;width:100%;max-width:100%}.period-head .business{grid-column:auto;font-size:18px}.period-head label{font-size:15px}.period-head .input,.period-head input[type=date]{display:block;font-size:17px;min-width:0!important;max-width:100%!important;width:100%!important;padding-left:8px;padding-right:8px}.tile-grid,.grid{grid-template-columns:1fr}.card{padding:16px}.summary-strip{position:sticky;bottom:0;z-index:15;box-shadow:0 -5px 18px rgba(16,24,40,.08);font-size:15px}.sheet-note{font-size:14px;line-height:1.5}.view-switch{justify-content:flex-start}.view-choice{font-size:14px;padding:8px 12px}.table-list th,.table-list td{padding:11px 8px}.pending-work-card{padding:14px 15px}.compact-actions .btn{width:auto}.row-controls{justify-content:stretch;flex-wrap:wrap}.btn-row-control{flex:1;font-size:14px;min-height:40px}.row-control-message{width:100%;text-align:center;margin-left:0}.setup-complete-line{display:block}.setup-complete-line span{display:block;margin-top:5px;color:var(--muted)}
}

/* ---------------- v6 payroll refinements ---------------- */
.payroll-sheet td.profile-changed{background:#ffe4e1!important;box-shadow:inset 0 0 0 2px #d92d20}
.payroll-sheet td.profile-changed input,.payroll-sheet td.profile-changed select{color:#b42318!important;-webkit-text-fill-color:#b42318!important;font-weight:850}
.change-legend{display:inline-flex;align-items:center;gap:7px;color:#9d241a;font-size:12px;font-weight:700;margin:2px 0 10px}.change-dot{width:13px;height:13px;border-radius:3px;background:#ffe4e1;border:2px solid #d92d20}

.payroll-sheet .deduction-cell{position:relative}.deduction-stack{display:grid;grid-template-rows:18px 19px;height:37px}.payroll-sheet .deduction-cell select{height:18px;font-size:10px;text-align:center;text-align-last:center;padding:0 2px;border:0;border-bottom:1px dashed #aeb6c2;background:transparent}.payroll-sheet .deduction-cell input.deduction-value{height:19px;padding:1px 5px;text-align:center;font-weight:700}.deduction-type-readonly{height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;color:#667085;border-bottom:1px dashed #aeb6c2}

.note-cell{background:#fafbfc}.note-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;background:transparent;border-radius:7px;cursor:pointer;padding:5px;transition:.15s}.note-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.note-button.empty-note{color:#a7b0bd}.note-button.has-note{color:#0756a5;background:#e9f2ff}.note-button:hover{background:#edf2f7}.note-button.has-note:hover{background:#dbeaff}.note-textarea{width:100%;min-height:180px;resize:vertical;border:1px solid #cfd6df;border-radius:10px;padding:12px;font:inherit;color:var(--entry-blue);outline:none;line-height:1.5}.note-textarea:focus{border-color:#8ca0bf;box-shadow:0 0 0 3px rgba(38,72,120,.09)}.note-textarea[readonly]{background:#f6f7f9;color:#475467}.note-modal{width:min(560px,100%)}

/* Report uses actual dollar deductions instead of showing percentage settings. */
.payroll-report{margin-top:22px;background:#fff;border:1px solid #dce2ea;border-radius:15px;box-shadow:0 6px 22px rgba(16,24,40,.07);overflow:hidden}.report-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 22px;border-bottom:1px solid #e6eaf0}.report-heading h2{margin:2px 0 3px;font-size:21px}.report-heading p{margin:0;color:var(--muted);font-size:13px}.report-kicker{font-size:11px;font-weight:850;letter-spacing:.12em;color:#59677c}.report-total-net{text-align:right}.report-total-net span{display:block;color:var(--muted);font-size:12px;font-weight:700}.report-total-net strong{display:block;color:var(--entry-blue);font-size:25px;margin-top:2px}.report-table-wrap{overflow:auto;-webkit-overflow-scrolling:touch}.report-table{width:100%;min-width:1370px;border-collapse:collapse;font-size:12px}.report-table th,.report-table td{border-bottom:1px solid #e9edf2;padding:10px 8px;text-align:center;white-space:nowrap}.report-table thead th{background:#eef1f5;color:#27364c;font-size:11px;text-transform:uppercase;letter-spacing:.02em}.report-table tbody td{color:var(--entry-blue);font-variant-numeric:tabular-nums}.report-table .report-name{text-align:left;font-weight:750;color:#182033}.report-table .report-net{font-weight:850}.report-table tfoot th{background:#f7f8fa;border-top:2px solid #aeb7c5;font-size:12px}.paystub-link{display:inline-flex;width:31px;height:31px;align-items:center;justify-content:center;border:1px solid #bfc8d5;border-radius:8px;background:#fff;color:#0756a5;font-size:19px;font-weight:900}.paystub-link:hover{background:#eaf2ff;border-color:#8aa7ce}

/* Mobile mode is opt-in; when selected, make each employee card visually distinct. */
.payroll-sheet.mobile-view tbody tr{border:2px solid #b8c2d0!important;border-radius:14px!important;margin-bottom:26px!important;box-shadow:0 7px 18px rgba(16,24,40,.09)!important}
.payroll-sheet.mobile-view tbody tr+tr{margin-top:2px}
.payroll-sheet.mobile-view tbody td.rownum{grid-column:1/2!important;min-height:66px!important;padding-top:29px!important}
.payroll-sheet.mobile-view tbody td.status-cell{grid-column:2/3!important;min-height:66px!important;padding-top:25px!important}
.payroll-sheet.mobile-view tbody td.payment-method-cell{grid-column:1/2!important;min-height:70px!important;padding-top:25px!important}
.payroll-sheet.mobile-view tbody td.note-cell{grid-column:2/3!important;min-height:70px!important;padding-top:27px!important;display:flex!important;align-items:center;justify-content:center}
.payroll-sheet.mobile-view .note-button{width:43px;height:43px}.payroll-sheet.mobile-view .note-button svg{width:24px;height:24px}
.payroll-sheet.mobile-view .deduction-cell{grid-column:1/-1}.payroll-sheet.mobile-view .deduction-stack{grid-template-columns:1fr 1fr;grid-template-rows:43px;height:43px;gap:7px}.payroll-sheet.mobile-view .deduction-cell select,.payroll-sheet.mobile-view .deduction-cell input.deduction-value,.payroll-sheet.mobile-view .deduction-type-readonly{height:43px;border:1px solid #d7dce4!important;border-radius:7px!important;font-size:17px}
.payroll-sheet.mobile-view td.profile-changed{background:#ffe4e1!important}

@media(max-width:640px){
  .report-heading{padding:16px;display:block}.report-total-net{text-align:left;margin-top:12px}.report-total-net strong{font-size:23px}.payroll-report{border-radius:12px}.report-table{font-size:13px}.report-table th,.report-table td{padding:11px 9px}.change-legend{font-size:13px;line-height:1.35}.note-modal{padding:18px}.note-textarea{min-height:220px;font-size:17px}
}

/* ---------------- V6.2608260136 access + owner profile refinements ---------------- */
.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:24px 0 10px}.section-head h2{margin:0;font-size:19px}.section-head p{margin:4px 0 0;color:var(--muted);font-size:13px}
.owner-profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;margin-bottom:22px}.owner-profile-card{background:#fff;border:1px solid #dce2ea;border-radius:14px;padding:17px 18px;display:flex;align-items:center;gap:13px;box-shadow:0 5px 18px rgba(16,24,40,.045)}.owner-profile-card:hover{border-color:#b7c4d6;box-shadow:0 8px 22px rgba(16,24,40,.07)}.owner-profile-card h3{margin:0 0 4px;font-size:17px}.owner-profile-card .meta{font-size:12px;color:var(--muted)}.owner-avatar{width:40px;height:40px;border-radius:11px;background:#eef3fa;color:#244a7e;display:flex;align-items:center;justify-content:center;font-size:23px;font-weight:800}
.input-action-row,.owner-assignment-row{display:flex;align-items:center;gap:10px}.input-action-row .input,.owner-assignment-row .input{flex:1;min-width:0}.radio-line{display:flex;align-items:flex-start;gap:9px;font-size:14px;font-weight:600;color:#344054;margin:9px 0}.radio-line input{margin-top:2px}.one-time-code{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.one-time-code code{font-size:16px;color:#003c8f;background:#eef4ff;border:1px solid #c9daf3;padding:5px 8px;border-radius:7px;font-weight:800;letter-spacing:.03em}
.qr-modal{width:min(540px,100%)}.qr-code-box{min-height:244px;display:flex;align-items:center;justify-content:center;margin:12px auto 18px;background:#fff}.qr-code-box img,.qr-code-box canvas{border:10px solid #fff;box-shadow:0 0 0 1px #d8dee8;border-radius:5px}.trust-card{text-align:center}.trust-card p{text-align:left;line-height:1.55}.trust-icon{width:56px;height:56px;border-radius:50%;background:#e9f8ef;color:#18794e;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:900;margin:0 auto 14px}.trust-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.trust-actions .btn{min-height:46px}
.company-chooser-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.company-chooser-card{background:#fff;border:1px solid #d9e1eb;border-radius:15px;padding:19px 20px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;box-shadow:var(--shadow)}.company-chooser-card:hover{border-color:#aebfd4;transform:translateY(-1px)}.company-chooser-card h2{font-size:18px;margin:0 0 4px}.company-chooser-card p{margin:0;color:var(--muted);font-size:13px}.company-chooser-card>span{font-size:28px;color:#8190a4}.company-choice-icon{width:43px;height:43px;border-radius:11px;background:#fff4bf;display:flex;align-items:center;justify-content:center;font-size:22px;color:#554300}

/* iPhone/Safari date controls can keep a large intrinsic width. Force every period field to stay inside its grid cell. */
.period-head>*{min-width:0;max-width:100%}.period-head>div{min-width:0;max-width:100%;overflow:hidden}.period-head .input,.period-head input[type="date"]{box-sizing:border-box!important;min-width:0!important;max-width:100%!important;width:100%!important;inline-size:100%!important;max-inline-size:100%!important;-webkit-min-logical-width:0!important}

@media(max-width:640px){
  .input-action-row,.owner-assignment-row{align-items:stretch;flex-direction:column}.input-action-row .btn,.owner-assignment-row .btn{width:100%}.owner-profile-grid,.company-chooser-grid{grid-template-columns:1fr}.trust-actions{grid-template-columns:1fr}.period-head{overflow:hidden!important}.period-head>div{width:100%!important;min-width:0!important;max-width:100%!important}.period-head input[type="date"]{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;inline-size:100%!important;max-inline-size:100%!important;padding-inline:8px!important;font-size:16px!important}.one-time-code{align-items:flex-start}.qr-code-box{min-height:224px}.qr-code-box img,.qr-code-box canvas{max-width:210px!important;max-height:210px!important}}

/* ---------------- V6.2608260229 client content + mobile polish ---------------- */
.content-textarea{height:auto!important;min-height:170px;padding:12px!important;line-height:1.5;resize:vertical;color:var(--entry-blue)!important}
.client-content-grid{align-items:start}.client-content-preview{margin-top:12px;padding:14px 15px;background:#f7f9fc;border:1px solid #e2e7ef;border-radius:10px}.client-content-preview strong{display:block;margin-bottom:6px}.client-content-preview p{margin:0;line-height:1.5;color:#475467;white-space:normal}.client-content-save{margin-top:16px}
.toggle-row{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border:1px solid #dce2ea;border-radius:10px;background:#fafbfc;margin-bottom:16px;cursor:pointer}.toggle-row input{margin-top:3px}.toggle-row span{display:block}.toggle-row strong{display:block;font-size:14px}.toggle-row small{display:block;margin-top:3px;color:var(--muted);font-weight:500;line-height:1.35}

.client-notice-modal{z-index:160}.client-notice-box{width:min(520px,100%);text-align:left}.client-notice-box h2{font-size:23px;margin:0 0 10px}.client-notice-icon{width:42px;height:42px;border-radius:12px;background:#fff3b8;color:#6d5300;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;margin-bottom:14px}.client-notice-message{font-size:15px;line-height:1.6;color:#344054;max-height:50vh;overflow:auto;white-space:normal}.client-notice-box .actions{margin-top:20px}.client-notice-box .btn{min-width:90px}

.mobile-run-actions{display:none;margin-top:18px;gap:12px;width:100%}.mobile-run-actions .btn{min-height:48px;font-size:16px}

/* Center Safari/iOS date text both horizontally and vertically. */
.period-head input[type="date"]{text-align:center!important;line-height:40px!important;padding-top:0!important;padding-bottom:0!important}
.period-head input[type="date"]::-webkit-date-and-time-value{text-align:center;margin:0!important;min-height:40px;display:flex;align-items:center;justify-content:center}
.period-head input[type="date"]::-webkit-datetime-edit{display:flex;align-items:center;justify-content:center;min-height:40px;padding:0;margin:0}

@media(max-width:640px){
  /* Admin dashboard actions stay inside the viewport instead of overflowing their buttons. */
  body.admin .page-head>.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px;margin-top:14px}
  body.admin .page-head>.actions .btn,body.admin .page-head>.actions button{width:100%;min-width:0;max-width:100%;padding:9px 7px;white-space:normal!important;overflow-wrap:anywhere;text-align:center;line-height:1.15;font-size:13px}
  body.admin .page-head>.actions .autosave,body.admin .page-head>.actions .status{grid-column:1/-1;justify-self:start}
  body.admin .page-head>.actions.compact-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.admin .page-head>.actions.compact-actions .autosave{grid-column:1/-1}

  /* On Run Payroll, move Back and Submit to a clean bottom row on phones. */
  .run-top-actions .run-top-back,.run-top-actions .run-top-submit{display:none}
  .mobile-run-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
  .mobile-run-actions .btn:first-child{justify-self:stretch}.mobile-run-actions .btn:last-child{justify-self:stretch}
  .summary-strip{position:static!important;margin-top:14px}

  /* Keep period controls fully inside the phone and center the selected date. */
  .period-head{width:100%!important;max-width:100%!important;padding:12px!important}
  .period-head>div{overflow:hidden!important}
  .period-head input[type="date"]{height:48px!important;line-height:48px!important;padding:0 8px!important;text-align:center!important;overflow:hidden!important}
  .period-head input[type="date"]::-webkit-date-and-time-value{min-height:48px;height:48px;justify-content:center!important;text-align:center!important}
  .period-head input[type="date"]::-webkit-datetime-edit{min-height:48px;height:48px;justify-content:center!important}

  .client-notice-modal{padding:14px}.client-notice-box{padding:20px}.client-notice-box h2{font-size:22px}.client-notice-message{font-size:17px;line-height:1.55}.client-notice-box .actions .btn{width:100%;min-height:46px}
  .client-content-grid{grid-template-columns:1fr}.content-textarea{min-height:190px;font-size:16px}
}

/* ---------------- V6.2608261220 employee management ---------------- */
.employee-list-card{padding:0;overflow:hidden}.employee-list{display:flex;flex-direction:column}.employee-list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid #e6eaf0;background:#fff}.employee-list-row:last-child{border-bottom:0}.employee-list-row.terminated{background:#f2f3f5;color:#667085}.employee-main-link{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.employee-main-link>span:last-child{min-width:0}.employee-main-link strong{display:block;font-size:15px;color:#172033;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.employee-main-link small{display:block;margin-top:3px;color:#667085;font-size:12px}.employee-id-badge{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:32px;border-radius:8px;background:#f0f4f9;color:#173b6d;font-weight:800;font-size:13px}.employee-row-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.employee-record-icon{width:34px;height:34px;border-radius:8px;border:1px solid #d8dee8;display:inline-flex;align-items:center;justify-content:center;color:#aab2bf;background:#f7f8fa;font-size:18px}.employee-record-icon.active{color:#0757b0;background:#eef5ff;border-color:#bcd4f3}.employee-source-notice{display:flex;align-items:center;gap:9px}.employee-source-notice .employee-record-icon{flex:0 0 auto}
.employee-form{display:flex;flex-direction:column;gap:16px}.employee-section{background:#fff;border:1px solid #dce2ea;border-radius:14px;padding:18px;box-shadow:0 4px 16px rgba(16,24,40,.035)}.employee-section h2{font-size:18px;margin:0 0 14px}.employee-section h3{font-size:14px;margin:0 0 10px}.employee-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.employee-field{display:flex;flex-direction:column;gap:6px;min-width:0}.employee-field>span{font-size:12px;font-weight:700;color:#475467}.employee-field .input{width:100%;min-width:0;color:var(--entry-blue);text-align:left}.employee-field textarea.input{min-height:88px;resize:vertical;padding:10px}.employee-wide{grid-column:1/-1}.employee-check{display:flex;align-items:center;gap:8px;padding-top:24px;font-size:13px;font-weight:700;color:#344054}.employee-check input{width:17px;height:17px}.direct-deposit-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dd-account{padding:14px;border:1px solid #e0e5ec;border-radius:10px;background:#fafbfc;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dd-account h3{grid-column:1/-1}.employee-form-save{margin-top:16px}.signature-record{margin-top:16px}.signature-record h2{margin-top:0}.signature-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;font-size:13px;color:#475467}.signature-meta code{font-size:10px;overflow-wrap:anywhere}.signature-image{display:block;max-width:520px;width:100%;height:auto;margin-top:16px;border:1px solid #cfd8e6;border-radius:8px;background:#fff}
.employee-public-shell{max-width:1120px;margin:0 auto}.employee-public-head{padding:8px 2px 14px}.employee-public-head h1{margin:4px 0 4px;font-size:29px}.employee-public-head p{margin:0;color:#667085}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;color:#3f5f87}.employee-success{text-align:center;max-width:600px;margin:40px auto;padding:36px}.success-check{width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e8f7ef;color:#137a4a;font-size:32px;font-weight:900;margin:0 auto 14px}.signature-section{margin-top:2px}.signature-pad-wrap{position:relative;margin:12px 0 14px}.signature-pad-wrap canvas{display:block;width:100%;height:180px;border:2px solid #c8d2e0;border-radius:10px;background:#fff;touch-action:none}.signature-pad-wrap .btn{position:absolute;right:10px;bottom:10px;background:rgba(255,255,255,.92)}.signature-consent{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.45;color:#344054;margin-top:10px}.signature-consent input{margin-top:3px;flex:0 0 auto}.employee-submit-bar{display:flex;justify-content:flex-end;padding:14px 0 34px}.employee-submit-bar .btn{min-width:180px;min-height:48px}.employee-public .topbar-title{display:none}

@media(max-width:900px){.employee-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.direct-deposit-grid{grid-template-columns:1fr}.dd-account{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
  .employee-list-row{align-items:flex-start;padding:12px 10px}.employee-row-actions{gap:5px}.employee-list-row .btn{padding:7px 9px}.employee-main-link strong{font-size:16px}.employee-main-link small{font-size:13px;line-height:1.4}.employee-id-badge{min-width:36px}
  .employee-section{padding:14px;border-radius:12px}.employee-form-grid,.dd-account{grid-template-columns:1fr}.employee-check{padding-top:4px}.employee-field .input{min-height:46px;font-size:16px}.employee-section h2{font-size:18px}.employee-wide{grid-column:auto}.signature-meta{grid-template-columns:1fr}.signature-pad-wrap canvas{height:160px}.employee-public-head h1{font-size:26px}.employee-submit-bar{position:sticky;bottom:0;background:linear-gradient(to top,#f5f7fb 75%,rgba(245,247,251,0));padding:14px 0 18px;z-index:10}.employee-submit-bar .btn{width:100%}
}

/* v6.2608261220 employee onboarding + admin button arrangement */
.general-link-card{margin:0 0 16px;padding:18px}.general-link-copy h2{margin:0 0 6px;font-size:18px}.general-link-copy p{margin:0 0 14px;color:#667085;line-height:1.45}.general-link-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;align-items:center}.general-link-controls .input{min-width:0;color:var(--entry-blue);font-size:13px}.dashboard-arrange-link{margin-top:7px;padding:0;border:0;background:transparent;color:#52647f;font:inherit;font-size:12px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.dashboard-arrange-link:hover{color:#173b6d}.arrange-buttons-modal{width:min(560px,100%)}.admin-action-sort-list{display:flex;flex-direction:column;gap:8px}.admin-action-sort-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid #d9e0e9;border-radius:10px;background:#fff;cursor:grab;user-select:none}.admin-action-sort-row:active{cursor:grabbing}.admin-action-sort-row.dragging{opacity:.45;border-style:dashed}.drag-handle{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:7px;background:#f2f4f7;color:#667085;font-size:18px}.sort-touch-controls{display:flex;gap:5px}.sort-touch-controls .btn{min-width:36px;padding:6px 9px}.admin-dashboard-actions>.btn{transition:transform .12s ease}
@media(max-width:700px){.general-link-card{padding:14px}.general-link-controls{grid-template-columns:1fr 1fr}.general-link-controls .input{grid-column:1/-1;font-size:12px}.general-link-controls .btn{width:100%}.admin-action-sort-row{grid-template-columns:32px minmax(0,1fr) auto}.sort-touch-controls .btn{width:auto!important;min-width:34px!important;padding:6px 8px!important}}

/* ---------------- V6.2608261252 company ordering + backup polish ---------------- */
.company-card-wrap{position:relative;min-width:0}.company-card-wrap .company-card{display:block;padding-right:84px}.company-card-title{display:flex;align-items:center;gap:9px;min-width:0}.company-card-title h3{min-width:0;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-code-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:42px;height:26px;padding:0 8px;border-radius:7px;background:#eef3f9;border:1px solid #d4dde9;color:#173b6d;font-size:11px;font-weight:850;letter-spacing:.035em}.company-edit-button{position:absolute;right:12px;top:50%;transform:translateY(-50%);z-index:2}.backup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.employee-id-admin-section{border-color:#c8d8eb;background:#f8fbff}.employee-id-admin-section small{display:block;color:#667085;margin-top:7px;line-height:1.4}.employee-id-admin-section .employee-field{max-width:280px}.employee-id-admin-section .input{font-weight:800;letter-spacing:.04em;text-transform:uppercase}
@media(max-width:1180px) and (min-width:701px){.backup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-grid .update-card{grid-column:1/-1}}
@media(max-width:700px){.company-card-wrap .company-card{padding-right:74px}.company-card-title{align-items:flex-start;flex-wrap:wrap}.company-card-title h3{white-space:normal;overflow:visible}.company-edit-button{right:9px;top:10px;transform:none}.backup-grid{grid-template-columns:1fr}}


/* ---------------- V6.2608261326 iPhone form + employee polish ---------------- */
.employee-form .input,.employee-form select.input,.employee-form textarea.input{font-family:inherit;font-size:15px;font-weight:600;line-height:1.25;-webkit-text-fill-color:var(--entry-blue)}
.employee-form .employee-field>span{font-size:13px;font-weight:750;line-height:1.25;color:#344054}
.employee-form .input::placeholder{font-weight:450;-webkit-text-fill-color:#98a2b3;color:#98a2b3}
.employee-form input[type="date"]{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;inline-size:100%;max-inline-size:100%;min-inline-size:0;-webkit-min-logical-width:0}
.employee-original-btn{min-width:82px}

/* Keep native iOS date controls inside their cards. */
@supports (-webkit-touch-callout:none){
  .employee-form input[type="date"],.period-head input[type="date"]{-webkit-appearance:none;appearance:none;display:block;width:100%!important;max-width:100%!important;min-width:0!important;inline-size:100%!important;max-inline-size:100%!important;min-inline-size:0!important;-webkit-min-logical-width:0!important;box-sizing:border-box!important}
  .employee-form input[type="date"]::-webkit-date-and-time-value,.period-head input[type="date"]::-webkit-date-and-time-value{width:100%;min-width:0;max-width:100%;margin:0;text-align:center}
}

@media(max-width:640px){
  /* iOS zooms focused form controls when their text is too small. Keep employee
     onboarding controls comfortably above that threshold without disabling pinch zoom. */
  .employee-form .input,.employee-form input,.employee-form select,.employee-form textarea,
  .employee-public .input,.employee-public input,.employee-public select,.employee-public textarea{font-size:17px!important;font-weight:600!important;line-height:1.25!important}
  .employee-form .employee-field>span{font-size:14px!important;font-weight:750!important;line-height:1.25!important}
  .employee-form input[type="date"]{height:48px!important;min-height:48px!important;padding:0 10px!important;text-align:center!important}
  .employee-form input[type="date"]::-webkit-date-and-time-value{height:48px;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center}
  .employee-form input[type="date"]::-webkit-datetime-edit{height:48px;min-height:48px;display:flex;align-items:center;justify-content:center;padding:0;margin:0}
  .period-head input[type="date"]{-webkit-appearance:none!important;appearance:none!important;box-sizing:border-box!important;display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;inline-size:100%!important;max-inline-size:100%!important;min-inline-size:0!important;-webkit-min-logical-width:0!important;height:48px!important;padding:0 8px!important;font-size:17px!important;text-align:center!important}
  .period-head input[type="date"]::-webkit-date-and-time-value{width:100%!important;max-width:100%!important;height:48px!important;min-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;margin:0!important;padding:0!important}
  .period-head input[type="date"]::-webkit-datetime-edit{width:100%!important;max-width:100%!important;height:48px!important;min-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important}
}


/* ---------------- V6.2608261404 review, calculator, owner profile polish ---------------- */
.status-box-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.status-box-heading h3{margin:0}.status-box-heading .status{margin-left:auto}
.gross-up-calculator{width:min(760px,100%);margin:12px auto 16px;padding:14px 16px;border:1px solid #d7dee9;border-radius:14px;background:#fff;display:grid;grid-template-columns:minmax(190px,1.15fr) minmax(145px,.85fr) minmax(135px,.7fr) minmax(160px,.85fr);gap:12px;align-items:end;box-shadow:0 5px 18px rgba(18,38,67,.04)}
.gross-up-title{align-self:center}.gross-up-title strong{display:block;font-size:15px}.gross-up-title span{display:block;color:#66738a;font-size:12px;margin-top:2px;line-height:1.3}.gross-up-calculator label>span,.gross-up-result>span{display:block;font-size:12px;font-weight:700;color:#33415a;margin-bottom:6px}.money-input,.percent-input{display:flex;align-items:center;border:1px solid #cfd7e4;border-radius:10px;background:#fff;overflow:hidden;min-width:0}.money-input>span,.percent-input>span{padding:0 10px;color:#516078;font-weight:700;flex:0 0 auto}.money-input .input,.percent-input .input{border:0!important;border-radius:0;box-shadow:none!important;min-width:0;text-align:center}.gross-up-result{border-radius:10px;background:#f3f6fa;padding:10px 12px;text-align:center;min-height:48px}.gross-up-result strong{display:block;color:#0b4a9e;font-size:19px;line-height:1.2}
@media(max-width:700px){.gross-up-calculator{grid-template-columns:1fr 1fr;padding:14px;gap:10px}.gross-up-title{grid-column:1/-1}.gross-up-result{grid-column:1/-1}.status-box-heading .status{margin-left:0}.status-controls{display:flex;flex-wrap:wrap;gap:8px}}


/* ---------------- V6.2608261451 SSN privacy + company header polish ---------------- */
.ssn-cell input[data-ssn-payroll]{text-align:center;letter-spacing:.015em;cursor:text}
.ssn-cell input[data-ssn-payroll][readonly]{cursor:pointer}
.period-head .business{align-self:stretch;display:flex;align-items:center}
@media(max-width:900px){.period-head .business{justify-content:center;text-align:center;padding:2px 0 4px}}

/* ---------------- V6.2608261535 admin template Employee ID editing ---------------- */
.payroll-sheet[data-template-mode="1"] .rownum .employee-id-edit{width:100%;min-width:0;height:32px;padding:4px 2px;border:1px solid transparent;border-radius:5px;background:transparent;text-align:center;font-weight:700;color:#123d7a;font-size:12px;line-height:1}
.payroll-sheet[data-template-mode="1"] .rownum .employee-id-edit:hover{border-color:#c9d5e5;background:#fff}
.payroll-sheet[data-template-mode="1"] .rownum .employee-id-edit:focus{outline:none;border-color:#3b78b7;background:#fff;box-shadow:0 0 0 2px rgba(59,120,183,.12)}

/* V6.2608261702: per-run include/skip control without a gutter column */
/* The run control is attached to Employee ID and visually floats outside the table. No table column means no full-height strip can appear. */
.sheet-wrap.run-toggle-sheet-wrap{padding-left:26px;background:transparent!important}
.payroll-sheet .rownum.has-run-toggle{position:relative;overflow:visible!important}
.payroll-sheet .run-toggle-btn{position:absolute;left:-23px;top:50%;transform:translateY(-50%);width:18px;height:18px;border:1px solid #cfd6df;border-radius:50%;background:#fff;color:#8a94a3;font-size:14px;font-weight:900;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:0 1px 3px rgba(16,24,40,.08);z-index:7}
.payroll-sheet .run-toggle-btn:hover{border-color:#769dcc;color:#174f96;background:#f7fbff}
.payroll-sheet .run-toggle-btn.is-skipped{color:#0a5cad;border-color:#8bb8e8;background:#eef6ff}
.payroll-sheet tr.employee-skipped td{background:#e5e7eb!important}
.payroll-sheet tr.employee-skipped td.formula{background:#d8dce2!important}
.payroll-sheet tr.employee-skipped td.cell-locked,.payroll-sheet tr.employee-skipped td.cell-locked input{background:#3a3a3a!important}
.payroll-sheet tr.employee-skipped input,.payroll-sheet tr.employee-skipped select,.payroll-sheet tr.employee-skipped .employee-status-label,.payroll-sheet tr.employee-skipped .payment-method-label,.payroll-sheet tr.employee-skipped .pay-type-label{color:#737b86!important;-webkit-text-fill-color:#737b86!important}
.payroll-sheet .deduction-value.auto-value{background:#eef4fb!important;color:#174f96!important;-webkit-text-fill-color:#174f96!important;font-weight:850!important;cursor:not-allowed}
.payroll-sheet td.profile-changed .deduction-value.auto-value{background:#ffe4e1!important;color:#b42318!important;-webkit-text-fill-color:#b42318!important}

.payroll-sheet.mobile-view tbody tr{position:relative;overflow:visible!important}
.sheet-wrap.mobile-sheet-wrap.run-toggle-sheet-wrap{padding-left:0}
.payroll-sheet.mobile-view .rownum.has-run-toggle{position:relative!important;overflow:visible!important}
.payroll-sheet.mobile-view .run-toggle-btn{left:-13px;top:-10px;transform:none;width:24px;height:24px;font-size:16px;border:1px solid #cfd6df;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.08);z-index:8}
.payroll-sheet.mobile-view tbody tr.employee-skipped{background:#e1e4e8!important;border-color:#aeb7c3!important}
.payroll-sheet.mobile-view tbody tr.employee-skipped td{background:#e1e4e8!important}
.payroll-sheet.mobile-view tbody tr.employee-skipped td.formula{background:#d5d9df!important}

/* ---------------- V6.2608261641 pay-column separation polish ---------------- */
.payroll-sheet .overtime-stack{display:flex;flex-direction:column;height:37px;min-width:0}
.payroll-sheet .overtime-stack .overtime-type{height:18px!important;min-height:18px;padding:0 2px!important;font-size:10px!important;border-bottom:1px dashed #cbd3df!important;line-height:1!important}
.payroll-sheet .overtime-stack .overtime-value{height:19px!important;min-height:19px;padding:1px 3px!important}
.payroll-sheet .overtime-type-readonly{display:flex;align-items:center;justify-content:center;height:18px;border-bottom:1px dashed #cbd3df;color:var(--entry-blue);font-size:10px;font-weight:650}
.payroll-sheet td.cell-locked,.payroll-sheet td.cell-locked input{background:#3b3b3b!important;color:#9aa0a8!important;-webkit-text-fill-color:#9aa0a8!important;cursor:not-allowed}
.payroll-sheet td.cell-locked input:focus{box-shadow:none!important;background:#3b3b3b!important}
.employee-field.employee-field-locked .input{background:#eceff3!important;color:#8a94a3!important;-webkit-text-fill-color:#8a94a3!important;cursor:not-allowed}
@media(max-width:640px){.payroll-sheet.mobile-view .overtime-stack{height:auto;min-height:50px}.payroll-sheet.mobile-view .overtime-stack .overtime-type{height:24px!important;font-size:12px!important}.payroll-sheet.mobile-view .overtime-stack .overtime-value{height:30px!important}}

/* V6.2608261706: blend the run-toggle area into the page; icon styling intentionally unchanged */
.sheet-wrap.run-toggle-sheet-wrap{background:var(--bg)!important;box-shadow:none!important}
.sheet-wrap.run-toggle-sheet-wrap>.payroll-sheet{box-shadow:0 4px 18px rgba(16,24,40,.05)}

/* V6.2608261833: restored the original locked-cell appearance.
   Disabled Hourly/Salary cells use the original solid dark fill again. */
.payroll-sheet td.cell-locked,.payroll-sheet td.cell-locked input,.payroll-sheet td.cell-locked select{
  background:#3b3b3b!important;
  color:#9aa0a8!important;
  -webkit-text-fill-color:#9aa0a8!important;
  cursor:not-allowed;
  opacity:1!important;
  box-shadow:none!important;
}
.payroll-sheet td.cell-locked input:focus,.payroll-sheet td.cell-locked select:focus{
  background:#3b3b3b!important;
  box-shadow:none!important;
}
.payroll-sheet tr.employee-terminated td.cell-locked,.payroll-sheet tr.employee-terminated td.cell-locked input,.payroll-sheet tr.employee-terminated td.cell-locked select{
  background:#292929!important;
  color:#858b93!important;
  -webkit-text-fill-color:#858b93!important;
}
.payroll-sheet tr.employee-skipped td.cell-locked,.payroll-sheet tr.employee-skipped td.cell-locked input,.payroll-sheet tr.employee-skipped td.cell-locked select{
  background:#3a3a3a!important;
}


/* V6.2608261836: restore the clean dashed N/A locked-cell treatment while leaving
   the table's native borders completely untouched. No border overrides, no
   iPhone/WebKit border patches, and no diagonal decoration. */
.payroll-sheet td.cell-locked{
  position:relative;
  overflow:visible;
  background-color:#fff!important;
  background-image:none!important;
  color:#9aa1ab!important;
  --na-bg:#fff;
}
.payroll-sheet td.cell-locked::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  z-index:2;
  border-top:1px dashed #aeb6c2;
  transform:translateY(-.5px);
  pointer-events:none;
}
.payroll-sheet td.cell-locked::after{
  content:"N/A"!important;
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:4;
  height:12px;
  min-width:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:1px 4px 0;
  background:var(--na-bg);
  color:#8e96a2;
  font-family:Arial,sans-serif;
  font-size:9px;
  font-weight:600;
  line-height:1;
  letter-spacing:.01em;
  pointer-events:none;
}
.payroll-sheet td.cell-locked input,
.payroll-sheet td.cell-locked select{
  opacity:0!important;
  pointer-events:none!important;
  background:transparent!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  box-shadow:none!important;
}
.payroll-sheet td.cell-locked input:focus,
.payroll-sheet td.cell-locked select:focus{
  background:transparent!important;
  box-shadow:none!important;
}
.payroll-sheet tr.employee-terminated td.cell-locked{
  background-color:#dedede!important;
  --na-bg:#dedede;
}
.payroll-sheet tr.employee-skipped td.cell-locked{
  background-color:#e5e7eb!important;
  --na-bg:#e5e7eb;
}
.payroll-sheet.mobile-view tr.employee-terminated td.cell-locked{
  background-color:#e3e3e3!important;
  --na-bg:#e3e3e3;
}
.payroll-sheet.mobile-view tr.employee-skipped td.cell-locked{
  background-color:#e1e4e8!important;
  --na-bg:#e1e4e8;
}
/* Mobile-card view keeps its field label. The N/A marker stays centered, while
   the dashed divider is drawn as a tiny background stripe instead of consuming
   the label pseudo-element. */
.payroll-sheet.mobile-view td.cell-locked::before{
  content:attr(data-label);
  position:absolute;
  top:7px;
  left:8px;
  right:6px;
  z-index:5;
  border:0;
  transform:none;
  font-size:13px;
  line-height:1.05;
  text-transform:uppercase;
  letter-spacing:.01em;
  color:#4f5d70;
  font-weight:850;
  text-align:left;
}
.payroll-sheet.mobile-view td.cell-locked{
  background-image:repeating-linear-gradient(to right,#aeb6c2 0 3px,transparent 3px 6px)!important;
  background-size:100% 1px!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.payroll-sheet.mobile-view td.cell-locked::after{
  font-size:10px;
  padding:1px 5px 0;
}

/* V6.2608261841: prevent any underlying disabled control text/value from
   showing beneath the single centered N/A marker. Keep the cell itself and
   its pseudo-elements visible; only the real form controls are visually hidden. */
.payroll-sheet td.cell-locked > input,
.payroll-sheet td.cell-locked > select,
.payroll-sheet td.cell-locked > textarea,
.payroll-sheet td.cell-locked > .pay-type-label,
.payroll-sheet td.cell-locked > .employee-status-label,
.payroll-sheet td.cell-locked > .payment-method-label{
  visibility:hidden!important;
}
.payroll-sheet td.cell-locked input::placeholder{
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
}


/* V6.2608261844: single-source N/A marker.
   The N/A decoration is now one real DOM marker inserted by app.js rather than
   td pseudo-elements. This prevents Safari/Chrome from ever painting a second
   generated N/A while preserving the same centered dashed-line appearance. */
.payroll-sheet td.cell-locked::before,
.payroll-sheet td.cell-locked::after{
  content:none!important;
  display:none!important;
}
.payroll-sheet td.cell-locked{
  position:relative;
  overflow:visible;
  background-color:#fff!important;
  background-image:none!important;
  --na-bg:#fff;
}
.payroll-sheet td.cell-locked > input:not([type="hidden"]),
.payroll-sheet td.cell-locked > select,
.payroll-sheet td.cell-locked > textarea{
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.payroll-sheet td.cell-locked > .na-marker{
  position:absolute;
  inset:0;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  overflow:hidden;
}
.payroll-sheet td.cell-locked > .na-marker::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  border-top:1px dashed #aeb6c2;
  transform:translateY(-.5px);
}
.payroll-sheet td.cell-locked > .na-marker-text{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:12px;
  padding:1px 4px 0;
  box-sizing:border-box;
  background:var(--na-bg,#fff);
  color:#8e96a2;
  font-family:Arial,sans-serif;
  font-size:9px;
  font-weight:600;
  line-height:1;
  letter-spacing:.01em;
}
.payroll-sheet tr.employee-terminated td.cell-locked{--na-bg:#dedede;background-color:#dedede!important}
.payroll-sheet tr.employee-skipped td.cell-locked{--na-bg:#e5e7eb;background-color:#e5e7eb!important}
.payroll-sheet.mobile-view tr.employee-terminated td.cell-locked{--na-bg:#e3e3e3;background-color:#e3e3e3!important}
.payroll-sheet.mobile-view tr.employee-skipped td.cell-locked{--na-bg:#e1e4e8;background-color:#e1e4e8!important}
.payroll-sheet.mobile-view td.cell-locked::before{
  content:attr(data-label)!important;
  display:block!important;
  position:absolute;
  top:7px;
  left:8px;
  right:6px;
  z-index:6;
  font-size:13px;
  line-height:1.05;
  text-transform:uppercase;
  letter-spacing:.01em;
  color:#4f5d70;
  font-weight:850;
  text-align:left;
}
.payroll-sheet.mobile-view td.cell-locked > .na-marker-text{font-size:10px;padding:1px 5px 0}

/* ---------------- V6.2608271619 TaxBee Client Portal + Sales Tax ---------------- */
.service-toggle-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.service-toggle{display:flex;align-items:flex-start;gap:10px;border:1px solid #dce2ea;border-radius:11px;padding:12px;background:#fafbfc;cursor:pointer;margin:0}.service-toggle input{margin-top:3px}.service-toggle span{display:block}.service-toggle strong{display:block;font-size:14px}.service-toggle small{display:block;color:var(--muted);font-weight:500;margin-top:3px;line-height:1.3}.service-summary{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.service-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800}.service-pill.on{background:#e9f8ef;color:#18794e}.service-pill.off{background:#eef1f5;color:#697586}
.portal-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;max-width:1100px}.portal-module{background:#fff;border:1px solid #e1e6ef;border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.portal-module-heading{display:flex;gap:14px;align-items:center;padding:20px 22px;border-bottom:1px solid #e8ecf2}.portal-module-heading .module-icon{width:44px;height:44px;border-radius:12px;background:#fff3b8;color:#5c4800;display:flex;align-items:center;justify-content:center;font-size:23px;font-weight:850}.portal-module-heading h2{margin:0 0 3px;font-size:21px}.portal-module-heading p{margin:0;color:var(--muted);font-size:13px}.portal-module-actions{display:grid}.module-link{padding:15px 20px;border-bottom:1px solid #edf0f4;display:flex;align-items:center;justify-content:space-between;gap:16px}.module-link:last-child{border-bottom:0}.module-link:hover{background:#fbfcfe}.module-link strong{font-size:14px}.module-link span{color:var(--muted);font-size:12px;text-align:right}.sales-tax-module .module-icon{background:#eaf3ff;color:#174b86}
.owner-module-card{background:#fff;border:1px solid #e2c94e;border-radius:15px;padding:18px 20px;margin-bottom:18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;box-shadow:0 5px 18px rgba(16,24,40,.05)}.owner-module-card:hover{border-color:#d8b800}.owner-module-card h2{margin:0 0 4px;font-size:18px}.owner-module-card p{margin:0;color:var(--muted);font-size:13px}.owner-module-card>span{font-size:28px;color:#8190a4}
.layout-section{margin-bottom:34px}.sales-layout-section{padding-top:4px;border-top:1px solid #dfe4eb}
.sales-tax-intro{background:#fff7d6;border:1px solid #eed678;border-radius:11px;padding:11px 14px;margin-bottom:12px;display:flex;gap:8px;flex-wrap:wrap;font-size:13px;color:#5f4a00}.sales-tax-intro strong{font-weight:850}.sales-tax-wrap{overflow:auto;-webkit-overflow-scrolling:touch;padding:1px 0 5px}.sales-tax-sheet{border-collapse:collapse;table-layout:fixed;margin:0 auto;background:#fff;box-shadow:0 5px 18px rgba(16,24,40,.055);font-size:12px}.sales-tax-sheet th,.sales-tax-sheet td{border:1px solid #2d2d2d;text-align:center;padding:0;height:48px;vertical-align:middle}.sales-tax-sheet thead th{background:#c6c6c6;color:#111;font-weight:850;line-height:1.05;padding:7px 5px}.sales-tax-sheet thead tr:first-child th{height:34px;font-size:13px}.sales-tax-sheet .sales-tax-extra{background:#eceef2}.sales-tax-sheet thead .sales-tax-extra{background:#d7d9dd}.sales-tax-sheet .sales-tax-part1{background:#bfc3c8}.sales-tax-company{padding:6px 9px!important;text-align:left!important;color:#182033}.sales-tax-company strong{display:block;white-space:normal;line-height:1.25}.th-help{display:block;font-size:9px;font-weight:650;color:#4f5968;margin-top:3px;line-height:1.1}.st-control{width:100%;height:100%;min-width:0;border:0!important;border-radius:0!important;background:transparent!important;outline:0;text-align:center;text-align-last:center;color:var(--entry-blue);font-weight:650;font-size:12px;padding:0 6px}.st-money{font-variant-numeric:tabular-nums}.st-control:focus{box-shadow:inset 0 0 0 2px #8aa6c7!important}.st-control[disabled]{opacity:1;-webkit-text-fill-color:var(--entry-blue)}.sales-tax-submit-row{margin-top:12px}.sales-tax-submit-row .btn{min-width:170px}.sales-tax-sheet[data-sales-layout-editor="1"] th[data-col-key]{position:relative;overflow:visible}.sales-tax-sheet[data-sales-layout-editor="1"] .st-control{pointer-events:none;color:#5d6b7d;-webkit-text-fill-color:#5d6b7d}.sales-tax-sheet[data-sales-layout-editor="1"] td{height:50px}
@media(max-width:640px){.service-toggle-grid{grid-template-columns:1fr}.portal-module-grid{grid-template-columns:1fr}.portal-module-heading{padding:18px}.module-link{display:block}.module-link span{display:block;text-align:left;margin-top:4px}.sales-tax-intro{line-height:1.4}.sales-tax-submit-row{justify-content:stretch}.sales-tax-submit-row .btn{width:100%;min-height:46px}.owner-module-card{padding:16px}.sales-tax-wrap{margin-left:-2px;margin-right:-2px}}

/* ---------------- V6.2608271707 admin ordering, services, broadcast, updater ---------------- */
.section-head .dashboard-arrange-link{flex:0 0 auto;margin-left:auto}
.work-type-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:850;white-space:nowrap}.work-type-badge.payroll{background:#eef3f9;color:#173b6d}.work-type-badge.sales-tax{background:#eef8f0;color:#166534}
.service-manager-card{max-width:980px;margin-left:auto;margin-right:auto}.service-manager-table th:not(:first-child),.service-manager-table td:not(:first-child){text-align:center;width:150px}.service-check{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:750;color:#24314d}.service-check input{width:18px;height:18px;accent-color:#ffc800}
.broadcast-card{min-height:560px}.broadcast-type-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.broadcast-type{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #d7dde7;border-radius:11px;background:#fff;cursor:pointer}.broadcast-type.active{border-color:#e2bd00;background:#fff9dc}.broadcast-type input{width:18px;height:18px;accent-color:#ffc800}.broadcast-type span{display:block;min-width:0}.broadcast-type strong,.broadcast-type small{display:block}.broadcast-type small{color:var(--muted);margin-top:2px}.broadcast-recipient-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 0 8px}.broadcast-recipient-list{border:1px solid #dfe4eb;border-radius:10px;max-height:300px;overflow:auto;background:#fff}.broadcast-recipient-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #edf0f4;cursor:pointer}.broadcast-recipient-row:last-child{border-bottom:0}.broadcast-recipient-row input{width:17px;height:17px;accent-color:#ffc800}.broadcast-email{min-width:0}.broadcast-email strong,.broadcast-email small{display:block;overflow-wrap:anywhere}.broadcast-email small{color:var(--muted);margin-top:2px}.broadcast-status{font-size:11px;font-weight:800;color:#667085;white-space:nowrap}.broadcast-status.sending{color:#9a6700}.broadcast-status.sent{color:#067647}.broadcast-status.failed{color:#b42318}.broadcast-progress{margin-top:10px;padding:9px 11px;border-radius:8px;background:#f7f8fa;color:#475467;font-size:12px;font-weight:700}.update-current-version{display:inline-flex;padding:6px 9px;border-radius:8px;background:#eef3f9;color:#173b6d;font-weight:800;font-size:12px;margin-bottom:12px}.rollback-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;background:#f7f8fa;border-radius:10px;margin:12px 0}.rollback-summary span{color:#667085}.update-card{border-color:#d8e3f0}.rollback-card{border-color:#efd8d8}
@media(max-width:700px){.broadcast-type-picker{grid-template-columns:1fr}.broadcast-recipient-row{grid-template-columns:22px minmax(0,1fr);}.broadcast-status{grid-column:2}.service-manager-table th:not(:first-child),.service-manager-table td:not(:first-child){width:105px}.service-check span{display:none}.section-head .dashboard-arrange-link{margin-left:0}}


/* ---------------- V6.2608271750 Sales Tax workflow refinements ---------------- */
.status.cancelled{background:#eef1f5;color:#667085}
.sales-tax-entry-cell{position:relative}
.st-period-na{display:none;position:absolute;inset:0;align-items:center;justify-content:center;color:#9aa3af;font-size:10px;font-weight:700;letter-spacing:.01em;pointer-events:none;background:inherit}
.st-period-na::before,.st-period-na::after{content:"";flex:1 1 auto;border-top:1px dashed #b8c0cc;margin:0 6px}
.sales-tax-sheet tr.st-period-locked .sales-tax-entry-cell>.st-control{visibility:hidden}
.sales-tax-sheet tr.st-period-locked .sales-tax-entry-cell>.st-period-na{display:flex}
.sales-tax-sheet tr.st-period-locked .sales-tax-entry-cell{cursor:not-allowed}
.sales-tax-sheet tr.st-period-locked .sales-tax-extra{background:#eceef2}

/* V6.2608271810 backup/update/recovery UI */
.backup-wide{grid-column:auto}.update-progress-box{margin:14px 0;padding:12px;border:1px solid #d7e1ec;border-radius:10px;background:#f8fbff}.update-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.update-progress-track{height:12px;border-radius:999px;background:#e8edf3;overflow:hidden}.update-progress-bar{height:100%;border-radius:inherit;background:#ffc800;transition:width .18s ease}.recovery-card{overflow:hidden}.recovery-list{border:1px solid #e0e5ec;border-radius:12px;overflow:hidden}.recovery-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 16px;border-bottom:1px solid #e9edf2;background:#fff}.recovery-row:last-child{border-bottom:0}.recovery-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.recovery-meta{margin-top:4px;color:#667085;font-size:12px;line-height:1.45}.recovery-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.inline-form{display:inline}.page-head.compact{margin-bottom:14px}.page-head.compact h2{font-size:22px}
@media(max-width:700px){.recovery-row{grid-template-columns:1fr}.recovery-actions{justify-content:flex-start}.backup-wide{grid-column:auto}.update-progress-head{align-items:flex-start}.recovery-actions .btn{min-height:38px}}

/* V6.2608271858 Sales Tax submit speed/progress + report values */
.sales-tax-submit-row .autosave{min-width:52px;font-weight:750;font-variant-numeric:tabular-nums}
.sales-tax-history-value{text-align:center!important;font-variant-numeric:tabular-nums}


/* ---------------- V6.2608271950 small UX polish ---------------- */
/* Keep native file selectors vertically centered inside the TaxBee input shell. */
.backup-grid input[type="file"].input{height:48px;padding:6px 8px;line-height:34px;overflow:hidden}
.backup-grid input[type="file"].input::file-selector-button{height:34px;margin:0 10px 0 0;padding:0 11px;vertical-align:middle;line-height:32px}
.backup-grid input[type="file"].input::-webkit-file-upload-button{height:34px;margin:0 10px 0 0;padding:0 11px;vertical-align:middle;line-height:32px}

/* Dashboard draft reminder can be dismissed for the current browser session. */
.dismissible-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:8px}
.dismissible-notice[hidden]{display:none!important}
.dismissible-notice>span{min-width:0}
.notice-dismiss{flex:0 0 auto;width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:currentColor;font-size:24px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:.7}
.notice-dismiss:hover{background:rgba(0,0,0,.06);opacity:1}

/* Use the open company area above the sheet to show the prior submitted period. */
.period-head .business.payroll-period-reference{flex-direction:column;align-items:flex-start;justify-content:center;gap:7px}
.payroll-period-reference .business-name{font-size:18px;font-weight:800;color:var(--text)}
.last-payroll-period{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;font-weight:650;color:var(--muted);line-height:1.25}
.last-payroll-period span{font-weight:700;color:#667085}
.last-payroll-period strong{font-size:13px;color:var(--entry-blue);font-weight:800;font-variant-numeric:tabular-nums}
@media(max-width:900px){.period-head .business.payroll-period-reference{align-items:center;text-align:center}.last-payroll-period{justify-content:center}}
@media(max-width:640px){.backup-grid input[type="file"].input{font-size:16px;height:50px;line-height:36px}.backup-grid input[type="file"].input::file-selector-button,.backup-grid input[type="file"].input::-webkit-file-upload-button{height:36px;line-height:34px}.last-payroll-period{font-size:13px}.last-payroll-period strong{font-size:14px}}
