:root{font-family:Inter,Arial,sans-serif;color:#272b29;background:#f7f7f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}[hidden]{display:none!important}.shell{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}.sidebar{background:#292d2b;color:#f4f3eb;padding:25px 15px;display:flex;flex-direction:column;gap:30px}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:0 9px}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand strong{font-size:15px}.sidebar-brand span{font-size:12px;color:#aeb6af;margin-top:3px}.brand-mark{width:42px;height:42px;background:#e9e4d4;color:#292d2b;border-radius:9px;display:grid;place-items:center;font-weight:800;letter-spacing:-2px;font-size:21px;flex:none}.sidebar nav{display:grid;gap:5px}.nav-button{border:0;background:transparent;text-align:left;color:#cdd2cc;padding:12px 14px;border-radius:8px}.nav-button:hover,.nav-button.active{background:#444c47;color:#fff}.side-status{margin-top:auto;display:flex;gap:9px;align-items:start;background:#343b36;padding:13px;border-radius:10px;font-size:12px}.side-status strong,.side-status small{display:block}.side-status small{color:#b5c1b9;margin-top:5px}.status-dot{width:8px;height:8px;border-radius:50%;background:#83ad80;margin-top:3px}.main{min-width:0}.topbar{height:88px;background:#fff;border-bottom:1px solid #e7e9e4;display:flex;align-items:center;justify-content:space-between;padding:14px 35px;gap:15px}.filters{display:flex;gap:12px}.filters label{font-size:11px;color:#808780;display:grid;gap:5px}.filters select{min-width:100px;border:1px solid #e1e5de;background:#fff;border-radius:7px;padding:8px 28px 8px 10px;color:#303a33}.filters label:first-child select{min-width:200px}.account{display:flex;align-items:center;gap:18px;text-align:right}.account strong,.account small{display:block}.account strong{font-size:13px}.account small{font-size:11px;color:#828984;margin-top:3px}.text-button{background:none;border:0;color:#566a56;text-decoration:underline}.content{max-width:1500px;margin:auto;padding:36px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#819483;font-weight:700;margin:0 0 9px}.heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:25px}.heading h1{font-size:30px;font-weight:650;margin:0 0 6px;letter-spacing:-.04em}.heading p{font-size:13px;color:#8b928c;margin:0}.save-state{font-size:12px;color:#6b906c}.tabs{display:flex;gap:5px;border-bottom:1px solid #dedfd8;margin-bottom:20px}.tabs button{border:0;background:none;padding:13px 20px;color:#787f79;border-bottom:2px solid transparent}.tabs button.active{color:#2b4330;border-color:#5c7d61;font-weight:700}.summary,.modal-summary{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid #e7e9e1;border-radius:11px;margin-bottom:17px;overflow:hidden}.summary>div,.modal-summary>div{padding:18px 22px;border-right:1px solid #edf0e9}.summary>div:last-child,.modal-summary>div:last-child{border-right:0}.summary small,.modal-summary small{display:block;color:#8b928b;font-size:12px;margin-bottom:9px}.summary strong,.modal-summary strong{font-size:22px;font-weight:650;font-variant-numeric:tabular-nums}.table-wrap{background:#fff;border:1px solid #e5e9e3;border-radius:11px;overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{font-size:11px;font-weight:600;color:#788178;background:#f9faf7;text-align:left;padding:15px 12px;border-bottom:1px solid #e8ebe5}td{font-size:13px;padding:16px 12px;border-bottom:1px solid #eff1ec}th:first-child,td:first-child{padding-left:22px}.money{text-align:right;font-variant-numeric:tabular-nums}.company-row td{background:#eef2ed;color:#3d5841;font-weight:700;padding:13px 22px}.company-row small{font-size:11px;color:#829384;font-weight:400;margin-left:10px}.total-row td{background:#fafbf8;font-weight:700}.person-name{font-weight:600}.person-sub{font-size:11px;color:#9aa19a;margin-top:5px}.portal-input{width:116px;border:1px solid #d6dfd2;border-radius:7px;padding:8px;text-align:right;background:#fcfefb;font-variant-numeric:tabular-nums}.portal-input:focus{outline:2px solid #9cbaa1}.cell-note{display:block;font-size:10px;color:#9ca49a;margin-top:5px}.parts-button,.secondary,.add-toggle{background:#f5f8f3;color:#46684b;border:1px solid #dce8db;border-radius:7px;padding:8px 11px;font-size:12px}.parts-button:hover,.secondary:hover,.add-toggle:hover{background:#e7f0e4}.parts-button small{display:block;color:#a36b36;font-size:10px;margin-top:3px}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:18px 3px;color:#929a92;font-size:12px}.notice{padding:13px 16px;border-radius:8px;background:#fff4df;border:1px solid #e7cf97;margin-bottom:20px;color:#704f1c}.error{color:#af3e33;font-size:12px;min-height:1em;margin:4px 0}.today-list{display:grid;gap:10px}.today-card{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid #e7e9e2;border-radius:9px;padding:17px}.today-card.overdue{border-left:4px solid #c65a4e;background:#fff9f8}.today-card strong,.today-card small{display:block}.today-card small{color:#89938b;margin-top:5px}.today-card .amount{margin-left:auto;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.today-card .parts-button{margin-left:10px}.empty{padding:28px;background:#fff;border:1px solid #e7e9e2;border-radius:9px;color:#89938b}.modal-layer{position:fixed;inset:0;background:#1d2824a6;z-index:5;display:flex;justify-content:center;align-items:center;padding:20px}.modal{background:#fff;width:min(1080px,100%);max-height:calc(100vh - 40px);overflow:auto;border-radius:14px;box-shadow:0 28px 80px #17211848}.modal-head{display:flex;justify-content:space-between;align-items:start;padding:23px 28px;border-bottom:1px solid #e7e9e2}.modal-head h2{font-size:24px;margin:0 0 5px}.modal-head p:last-child{margin:0;color:#8c948c;font-size:13px}.icon-button{font-size:27px;border:0;background:#f2f4ef;border-radius:8px;width:35px;height:35px}.modal-body{padding:24px 28px}.modal-summary{grid-template-columns:repeat(4,1fr)}.modal-summary strong{font-size:17px}.parts-list{display:grid;gap:9px;margin:18px 0}.part{border:1px solid #e5eae3;border-radius:8px;padding:13px;display:grid;grid-template-columns:95px 110px minmax(100px,1fr) 125px 135px 205px;align-items:center;gap:9px;font-size:12px}.part strong{font-size:13px}.part small{display:block;color:#909a90;margin-top:4px;overflow-wrap:anywhere}.part-actions{display:flex;gap:4px;justify-content:flex-end;flex-wrap:wrap}.mini{background:#f5f7f3;border:1px solid #e0e6de;padding:6px;border-radius:5px;color:#4e6952;font-size:11px}.mini.danger{color:#ae5546}.mini.primary{background:#567a5b;color:#fff;border-color:#567a5b}.badge{display:inline-block;border-radius:12px;padding:5px 8px;background:#edf1eb;color:#54705a}.badge.posted{background:#e4efe3;color:#327243}.badge.overdue{background:#fce5e2;color:#a2443d}.rule{background:#f8f9f6;padding:12px;border-radius:7px;color:#849085;font-size:12px}.add-toggle{margin:10px 0}.part-form{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;border:1px solid #e0e7df;border-radius:8px;padding:16px}.part-form label,.login-card label{display:grid;gap:5px;color:#6e796f;font-size:12px}.part-form input,.part-form select,.login-card input{width:100%;border:1px solid #dfe5dc;border-radius:6px;padding:9px;background:#fff}.wide{grid-column:1/-1}.form-actions{display:flex;justify-content:end;gap:8px}.primary{background:#567a5b;color:#fff;border:1px solid #567a5b;border-radius:7px;padding:9px 15px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{background:#fff;border:1px solid #e5e9e2;padding:35px;width:min(410px,100%);border-radius:12px;display:grid;gap:16px}.login-card h1{font-size:24px;margin:0}.login-card .primary{margin-top:6px}@media(max-width:1000px){.shell{grid-template-columns:160px minmax(0,1fr)}.topbar{padding:12px}.content{padding:22px}.part{grid-template-columns:repeat(3,1fr)}.part-actions{grid-column:1/-1;justify-content:start}}@media(max-width:700px){.shell{display:block}.sidebar{padding:12px;gap:10px}.sidebar nav{display:flex}.side-status{display:none}.topbar{height:auto;flex-wrap:wrap}.filters{flex-wrap:wrap}.content{padding:15px}.summary strong{font-size:15px}.summary>div{padding:12px}.modal-layer{padding:5px}.modal{max-height:calc(100vh - 10px)}.modal-head,.modal-body{padding:15px}.modal-summary{grid-template-columns:repeat(2,1fr)}.part{grid-template-columns:repeat(2,1fr)}.part-form{grid-template-columns:repeat(2,1fr)}}

.export-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:700px){.export-actions{width:100%}}

.search-label{display:grid;gap:5px;min-width:260px;font-size:12px;color:#6e796f}.search-label input{border:1px solid #dfe5dc;border-radius:6px;padding:9px;background:#fff}.today-card small{display:block}.audit-card{align-items:start}.audit-card details{margin-top:9px;font-size:12px;color:#566a56}.audit-card pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#354038;background:#f5f7f3;padding:10px;border-radius:5px}@media(max-width:700px){.search-label{width:100%;min-width:0}}

.one-c-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.one-c-card{background:#fff;border:1px solid #e3e9df;border-radius:9px;padding:20px;display:grid;gap:12px}.one-c-card h2{font-size:17px;margin:0}.one-c-card p{font-size:12px;color:#7a857b;margin:0}.one-c-card label{display:grid;gap:5px;font-size:12px;color:#6e796f}.one-c-card input,.one-c-card select,.one-c-card textarea{width:100%;border:1px solid #dfe5dc;border-radius:6px;padding:9px;background:#fff}.one-c-card textarea{font-family:Consolas,monospace;resize:vertical}.one-c-card button{justify-self:start}.one-c-upload{margin-bottom:16px}#one-c-preview{margin-bottom:24px}@media(max-width:800px){.one-c-grid{grid-template-columns:1fr}}

/* Restored palette, typography and navigation from the previous payroll portal. */
@font-face{font-family:Manrope;src:url('/assets/Manrope-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/Manrope-SemiBold.ttf') format('truetype');font-weight:600 900;font-display:swap}
:root{font-family:Manrope,Arial,sans-serif;color:#292b2a;background:#eeeae1}
body{background:#eeeae1}
.shell{grid-template-columns:250px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:#292b2a;color:#eeeae1;padding:30px 18px 24px;gap:24px}
.sidebar-brand{display:grid;gap:8px;padding:12px}
.brand-logo{display:block;width:min(175px,100%);height:auto}
.sidebar-brand strong{font-size:13px}.sidebar-brand span{color:#bfc2b9}
.sidebar nav{gap:5px}.nav-button{min-height:46px;border-radius:7px;color:#c2c5bd;font-size:14px}
.nav-button:hover{background:#3b4039}.nav-button.active{background:#41493f;box-shadow:inset 3px 0 #a9b49f;color:#eeeae1}
.side-status{border-top:1px solid #51564e;background:none;border-radius:0;padding:22px 12px 0}.side-status small{color:#adb1a7}
.topbar{min-height:86px;height:auto;background:#eeeae1;border-bottom:1px solid #d8d2c7;padding:12px 32px}
.filters label{color:#686c66;font-size:12px}.filters select,.search-label input{background:#f8f6f0;border-color:#d8d2c7;border-radius:6px}
.account strong{font-size:14px}.account small{color:#686c66}.text-button{color:#505c4e}
.content{max-width:1600px;padding:38px 32px}.eyebrow{color:#6e796c}.heading h1{font-size:32px;font-weight:600}.heading p{color:#686c66}
.summary,.modal-summary,.table-wrap,.today-card,.empty,.one-c-card{background:#f8f6f0;border-color:#d8d2c7;border-radius:10px}
.summary>div,.modal-summary>div{border-color:#e1dbd0}.summary small,.modal-summary small,.today-card small{color:#686c66}
th{background:#e7e9e1;color:#505c4e;border-color:#d8d2c7}td{border-color:#e5dfd5}.company-row td{background:#e7e9e1;color:#505c4e}.total-row td{background:#f0eee7}
.tabs{border-color:#d8d2c7}.tabs button.active{color:#505c4e;border-color:#6e796c}
.primary{background:#505c4e;border-color:#505c4e}.primary:hover{background:#41493f}
.secondary,.parts-button,.add-toggle{background:#e7e9e1;border-color:#d8d2c7;color:#505c4e}.secondary:hover,.parts-button:hover,.add-toggle:hover{background:#dce1d8}
.portal-input,.part-form input,.part-form select,.one-c-card input,.one-c-card select,.one-c-card textarea{background:#fffdf9;border-color:#d8d2c7}
.modal{background:#f8f6f0}.modal-head,.part,.part-form{border-color:#d8d2c7}.rule{background:#eeeae1}
.preview-bar{display:flex;flex-wrap:wrap;align-items:end;gap:14px;background:#eeeae1;border-bottom:1px solid #d8d2c7;padding:14px 32px;color:#505c4e}
.preview-bar label{display:grid;gap:5px;min-width:220px;font-size:12px}.preview-bar select{min-height:40px;background:#f8f6f0;border:1px solid #d8d2c7;border-radius:6px;padding:7px 10px}.preview-bar span{font-size:12px;flex:1}
.manual-entry{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px}.manual-entry h2,.manual-entry p{grid-column:1/-1}.manual-entry button{align-self:end}
#manual-one-c-list{margin-bottom:24px}
.preview-mode .portal-input{pointer-events:none;opacity:.65}
.notice.success{background:#eaf2e8;border-color:#b8cdb6;color:#355a3b}
@media(max-width:900px){.shell{grid-template-columns:185px minmax(0,1fr)}.content{padding:24px}.manual-entry{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.shell{display:block}.sidebar{position:static;height:auto;padding:12px;overflow:visible}.sidebar-brand{display:flex}.brand-logo{width:100px}.sidebar nav{display:flex;overflow-x:auto}.nav-button{white-space:nowrap}.preview-bar{padding:12px}.manual-entry{grid-template-columns:1fr}}

/* Approved 1C reconciliation: one shared model for manual entry and webhook. */
.one-c-mode-banner{display:flex;align-items:center;gap:18px;padding:17px 20px;margin-bottom:16px;border:1px solid #d8c78f;border-left:5px solid #c99c35;border-radius:10px;background:#f6edd5;color:#292b2a}.one-c-mode-banner strong{white-space:nowrap}.one-c-mode-banner span{font-size:13px;color:#5d5f59}
.one-c-summary{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:16px;border-radius:10px;overflow:hidden;background:#292b2a;color:#eeeae1}.one-c-summary>div{padding:18px 20px;border-right:1px solid #4a4c49}.one-c-summary>div:last-child{border-right:0}.one-c-summary small,.one-c-summary strong{display:block}.one-c-summary small{font-size:12px;color:#c9c8c1;margin-bottom:8px}.one-c-summary strong{font-size:24px}.one-c-summary>div:nth-child(3) strong{color:#e8bd61}.one-c-summary>div:nth-child(4) strong{color:#ff8e83}
.one-c-filters{display:grid;grid-template-columns:minmax(260px,1fr) repeat(3,minmax(135px,190px)) auto;gap:10px;align-items:end;padding:15px;margin-bottom:16px;background:#f8f6f0;border:1px solid #d8d2c7;border-radius:10px}.one-c-filters label{display:grid;gap:5px;font-size:11px;color:#686c66}.one-c-filters input,.one-c-filters select{min-height:40px;padding:8px 10px;border:1px solid #d8d2c7;border-radius:6px;background:#fffdf9;color:#292b2a}
.one-c-table-wrap table{min-width:1100px;table-layout:fixed}.one-c-table-wrap th{position:relative;user-select:none}.one-c-table-wrap th[data-one-c-sort]{cursor:pointer}.one-c-table-wrap th[data-one-c-sort]::after{content:' ↕';color:#92968f}.one-c-table-wrap td{vertical-align:middle;white-space:normal}.one-c-table-wrap td:nth-child(4),.one-c-table-wrap td:nth-child(5){min-width:150px}.column-resizer{position:absolute;z-index:2;top:0;right:-3px;width:7px;height:100%;cursor:col-resize}.column-resizer:hover{background:#6e796c55}
.one-c-chip{display:inline-block;margin:2px 4px 2px 0;padding:4px 8px;border-radius:999px;background:#e7e9e1;color:#505c4e;font-size:11px}.one-c-empty-field,.one-c-value{display:block;width:100%;padding:6px 8px;border:1px dashed #c1b8aa;border-radius:7px;background:#fffdf9;color:#505c4e;text-align:left}.one-c-empty-field{color:#83611f}.one-c-value{border-style:solid}.one-c-value strong,.one-c-value small{display:block}.one-c-value small{margin-top:4px;color:#686c66;font-size:10px}.one-c-status{display:inline-block;padding:5px 9px;border-radius:999px;background:#e2e9df;color:#435640;font-size:11px}.one-c-status.missing{background:#f6edd5;color:#7a5b17}.one-c-status.overdue,.one-c-status.conflict{background:#f8dfdc;color:#a43c34}.one-c-footnote{margin:13px 2px 24px;padding:13px 16px;border-left:4px solid #6e796c;background:#e7e9e1;color:#505c4e;font-size:12px}.one-c-advanced{border-top:1px solid #d8d2c7;padding-top:14px}.one-c-advanced>summary{cursor:pointer;color:#505c4e;font-weight:600;margin-bottom:14px}.one-c-modal{width:min(830px,100%)}.one-c-modal .manual-entry{margin:0;grid-template-columns:repeat(2,minmax(0,1fr))}.one-c-plan-preview{grid-column:1/-1;display:flex;gap:12px;padding:13px;border-left:4px solid #6e796c;background:#eeeae1;font-size:12px}.one-c-modal .manual-entry>button{grid-column:1/-1;justify-self:end}.one-c-bulk-modal{width:min(1200px,100%)}.one-c-bulk-row{display:grid;grid-template-columns:minmax(220px,1fr) 140px 150px 130px auto minmax(100px,180px);gap:9px;align-items:center;padding:10px;border-bottom:1px solid #ddd6ca}.one-c-bulk-row>div strong,.one-c-bulk-row>div small{display:block}.one-c-bulk-row>div small{margin-top:4px;color:#686c66}.one-c-bulk-row input,.one-c-bulk-row select{min-height:39px;border:1px solid #d8d2c7;border-radius:6px;background:#fffdf9;padding:8px;color:#292b2a}.one-c-row-result{font-size:11px;color:#505c4e}.one-c-row-result.overdue{color:#a43c34}.one-c-row-result.ready{color:#3e6a43}
@media(max-width:1000px){.one-c-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.one-c-summary{grid-template-columns:repeat(2,1fr)}.one-c-bulk-row{grid-template-columns:1fr 120px 135px}.one-c-bulk-row button,.one-c-row-result{justify-self:start}}
@media(max-width:700px){.one-c-mode-banner{align-items:start;flex-direction:column;gap:6px}.one-c-filters{grid-template-columns:1fr}.one-c-summary{grid-template-columns:1fr 1fr}.one-c-modal .manual-entry{grid-template-columns:1fr}.one-c-bulk-row{grid-template-columns:1fr}.one-c-plan-preview{display:grid}}

.transfer-section{margin-top:24px;padding-top:20px;border-top:1px solid #d8d2c7}.transfer-section>h3{margin:0 0 6px}.transfer-section>p{margin:0 0 14px;color:#686c66;font-size:12px}.transfer-row{display:grid;grid-template-columns:minmax(240px,1fr) 130px 145px auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid #d8d2c7;border-radius:8px;background:#fffdf9;margin-bottom:8px}.transfer-row strong,.transfer-row small{display:block}.transfer-row small{margin-top:4px;color:#686c66}.transfer-row>b{text-align:right;font-variant-numeric:tabular-nums}.transfer-status{justify-self:start;padding:5px 9px;border-radius:999px;background:#f6edd5;color:#7a5b17;font-size:11px}.transfer-status.approved{background:#dfeadf;color:#35613a}.transfer-status.cancelled{background:#eeeae1;color:#686c66}.transfer-actions{display:flex;gap:6px;justify-content:flex-end}.transfer-form{display:grid!important;grid-template-columns:1fr 1fr auto;gap:12px!important;align-items:end;margin-top:15px;padding:15px;border:1px solid #c9d2c5;border-radius:9px;background:#eef2ed}.transfer-form label{display:grid;gap:6px;font-size:12px;color:#505c4e}.transfer-form input,.transfer-form select,.transfer-form textarea{min-height:40px;border:1px solid #c9d2c5;border-radius:6px;background:#fffdf9;padding:9px;color:#292b2a}.transfer-form textarea{min-height:64px;resize:vertical}.transfer-form .transfer-reason{grid-column:1/3}.transfer-form>small{grid-column:1/-1;color:#686c66}.transfer-empty{padding:13px 15px;border-left:4px solid #c99c35;background:#f6edd5;color:#70561f;font-size:12px}
@media(max-width:800px){.transfer-row{grid-template-columns:1fr auto}.transfer-status{justify-self:stretch}.transfer-actions{justify-content:flex-start}.transfer-form{grid-template-columns:1fr!important}.transfer-form .transfer-reason,.transfer-form>small{grid-column:1!important}}

/* Approvals: premium and elevated advance requests with an immutable decision trail. */
.approval-summary{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:16px;border-radius:10px;overflow:hidden;background:#292b2a;color:#eeeae1}.approval-summary>div{padding:18px 20px;border-right:1px solid #4a4c49}.approval-summary>div:last-child{border-right:0}.approval-summary small,.approval-summary strong{display:block}.approval-summary small{font-size:12px;color:#c9c8c1;margin-bottom:8px}.approval-summary strong{font-size:24px}.approval-summary>div:nth-child(2) strong,.approval-summary>div:nth-child(3) strong{color:#e8bd61}.approval-summary>div:last-child strong{color:#ff8e83}
.approval-filters{display:grid;grid-template-columns:minmax(260px,1fr) 190px 190px auto;gap:10px;align-items:end;padding:15px;margin-bottom:16px;background:#f8f6f0;border:1px solid #d8d2c7;border-radius:10px}.approval-filters label{display:grid;gap:5px;font-size:11px;color:#686c66}.approval-filters input,.approval-filters select{min-height:40px;padding:8px 10px;border:1px solid #d8d2c7;border-radius:6px;background:#fffdf9;color:#292b2a}
.approval-table-wrap table{min-width:980px;table-layout:fixed}.approval-table-wrap th{position:relative;user-select:none}.approval-table-wrap th[data-approval-sort]{cursor:pointer}.approval-table-wrap th[data-approval-sort]::after{content:' ↕';color:#92968f}.approval-table-wrap td{white-space:normal;vertical-align:middle}.approval-type,.approval-status{display:inline-block;padding:5px 9px;border-radius:999px;background:#e7e9e1;color:#505c4e;font-size:11px}.approval-type.bonus{background:#efe6cf;color:#70561f}.approval-type.advance{background:#e2e9df;color:#435640}.approval-status.pending{background:#f6edd5;color:#7a5b17}.approval-status.approved{background:#dfeadf;color:#35613a}.approval-status.rejected,.approval-status.cancelled,.approval-status.overdue{background:#f8dfdc;color:#a43c34}.approval-footnote{margin:13px 2px 0;padding:13px 16px;border-left:4px solid #6e796c;background:#e7e9e1;color:#505c4e;font-size:12px}
.approval-modal{width:min(860px,100%)}.approval-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.approval-form label{display:grid;gap:6px;font-size:12px;color:#5f665f}.approval-form input,.approval-form select,.approval-form textarea{width:100%;border:1px solid #d8d2c7;border-radius:6px;padding:10px;background:#fffdf9;color:#292b2a}.approval-form textarea{resize:vertical}.approval-rule{padding:13px 15px;border-left:4px solid #6e796c;background:#eeeae1;font-size:12px;color:#505c4e}.approval-detail-summary{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;margin-bottom:16px;border-radius:9px;background:#292b2a;color:#eeeae1}.approval-detail-summary>div{padding:16px 18px;border-right:1px solid #4a4c49}.approval-detail-summary>div:last-child{border-right:0}.approval-detail-summary small,.approval-detail-summary strong{display:block}.approval-detail-summary small{color:#c9c8c1;font-size:11px;margin-bottom:7px}.approval-detail-summary strong{font-size:18px}.approval-reason{padding:14px;border:1px solid #d8d2c7;border-radius:8px;background:#eeeae1}.approval-timeline{display:grid;gap:8px}.approval-timeline article{display:grid;grid-template-columns:150px minmax(140px,1fr) auto;gap:12px;padding:12px 14px;border:1px solid #d8d2c7;border-radius:8px;background:#fffdf9;font-size:12px}.approval-timeline small{color:#686c66}.secondary.danger{color:#a43c34;border-color:#deb6b0}.today-section-title{margin:20px 0 10px;font-size:18px}.today-card.approval-alert{border-left:4px solid #c99c35}.today-card.approval-alert.overdue{border-left-color:#d9433b;background:#fff2f0}
@media(max-width:850px){.approval-summary{grid-template-columns:repeat(2,1fr)}.approval-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.approval-timeline article{grid-template-columns:1fr}.approval-form{grid-template-columns:1fr}}
@media(max-width:560px){.approval-summary{grid-template-columns:1fr 1fr}.approval-filters{grid-template-columns:1fr}}

/* Versioned company payment calendar. */
.payroll-calendar-settings{margin-bottom:20px}.payroll-calendar-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(170px,.8fr) minmax(260px,1.2fr) minmax(260px,1.2fr) auto;gap:14px;align-items:end;padding:16px 0;border-top:1px solid #d8d2c7}.payroll-calendar-row:first-of-type{border-top:0}.payroll-calendar-row label{display:grid;gap:6px;color:#686c66;font-size:12px}.payroll-calendar-row label:not(:first-of-type){grid-template-columns:76px minmax(120px,1fr);align-items:center}.payroll-calendar-row input,.payroll-calendar-row select{min-width:0;width:100%;min-height:40px;padding:8px 10px;border:1px solid #d8d2c7;border-radius:6px;background:#fffdf9;color:#292b2a}.calendar-company{display:grid;gap:4px}.calendar-company small{color:#686c66}
@media(max-width:1100px){.payroll-calendar-row{grid-template-columns:1fr 1fr}.payroll-calendar-row .calendar-company{grid-column:1/-1}.payroll-calendar-row button{justify-self:start}}
@media(max-width:720px){.payroll-calendar-row{grid-template-columns:1fr}.payroll-calendar-row .calendar-company{grid-column:auto}.payroll-calendar-row label:not(:first-of-type){grid-template-columns:72px 1fr}}

/* All data tables: personal sorting and column widths are saved per user and screen. */
.smart-table{table-layout:fixed}.smart-table th{position:relative;user-select:none}.smart-table th.smart-sortable:has(.smart-sort-indicator){cursor:pointer}.smart-table th:focus-visible{outline:2px solid #6e796c;outline-offset:-3px}.smart-sort-indicator{color:#7f857d;font-weight:600}.smart-column-resizer{position:absolute;z-index:3;top:0;right:-4px;width:9px;height:100%;cursor:col-resize;touch-action:none}.smart-column-resizer::after{content:'';position:absolute;top:20%;bottom:20%;left:4px;width:1px;background:#aaa89f;opacity:.45}.smart-column-resizer:hover::after,.smart-column-resizer:active::after{width:2px;background:#6e796c;opacity:1}.smart-table td{overflow:hidden;text-overflow:ellipsis}.smart-table td:focus-within,.smart-table td:hover{overflow:visible}

/* Historical payroll ledger: one complete Google-style block per employee and year. */
.history-year-block{margin:22px 0 30px}.history-year-block>header{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin:0 2px 10px}.history-year-block>header h3{margin:0;font-size:24px}.history-year-block>header span{color:#686c66;font-size:13px}.history-year-block table{min-width:2650px}.history-year-block th,.history-year-block td{white-space:normal;vertical-align:top}.history-year-block th{line-height:1.25}.history-payment-dates{display:grid;gap:4px;min-width:145px}.history-payment-dates small{display:block;color:#505c4e;white-space:nowrap}.history-year-block .total-row td{font-weight:700;background:#e7e9e1}.history-year-block .cell-note{margin-top:4px}
@media(max-width:760px){.history-year-block>header{align-items:flex-start;flex-direction:column;gap:4px}.history-year-block{margin-top:18px}}

/* Safe archive and 30-day trash lifecycle for linked directories. */
.settings-sections{margin-bottom:18px;max-width:560px}.trash-directory{max-width:920px}
.relation-review{position:relative;width:min(820px,94vw);max-height:88vh;overflow:auto;padding:30px;background:#f8f6f0}
.relation-review h2{margin:4px 0 18px;font-size:clamp(24px,3vw,36px)}
.relation-warning,.relation-ready{margin:0 0 18px;padding:14px 16px;border-left:4px solid #c99c35;border-radius:6px;background:#f6edd5;color:#5f4a1c;line-height:1.45}
.relation-ready{border-color:#6e796c;background:#e7e9e1;color:#292b2a}
.relation-list{margin:0 0 20px;border:1px solid #d8d2c7;border-radius:10px;overflow:hidden;background:#fffdf9}
.relation-list article{min-height:64px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #d8d2c7}
.relation-list article:last-child{border-bottom:0}.relation-list article>span{min-width:0;display:grid;gap:4px}.relation-list article small{color:#686c66}
.relation-review .form-actions{display:flex;justify-content:flex-end;gap:10px}
@media(max-width:700px){.relation-list article{align-items:flex-start;flex-direction:column}.relation-review{padding:22px 18px}.settings-sections{max-width:none}}
