:root{--deep-umber:#351411;--soft-ivory:#eeefe2;--oxide-red:#6d1e13;--signal-coral:#f1623e;--warm-gold:#fdc458;--cloud-blue:#9ec7c9;--bg:var(--soft-ivory);--surface:#fff;--nav-bg:var(--deep-umber);--nav-text:var(--soft-ivory);--accent:var(--oxide-red);--accent-hover:#8a2619;--highlight:var(--signal-coral);--muted:#7a6e6d;--border:#ddddd0;--success:#3a7d44;--error-color:var(--oxide-red);--font-head:"Space Grotesk", sans-serif;--font-body:"Roboto", sans-serif;--radius:10px;--shadow:0 2px 16px #35141114}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg);color:var(--deep-umber);font-size:15px;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-head)}button{cursor:pointer;font:inherit;background:0 0;border:none}input{font:inherit}dl,ul{list-style:none}.app{flex-direction:column;min-height:100vh;display:flex}.main{flex:1;width:100%;max-width:940px;margin:0 auto;padding:2rem}.full-center{justify-content:center;align-items:center;min-height:100vh;display:flex}.nav{background:var(--nav-bg);height:64px;color:var(--nav-text);align-items:center;gap:1rem;padding:0 2rem;display:flex;box-shadow:0 2px 8px #3514112e}.nav-logo{width:auto;height:36px;display:block}.nav-divider{background:#eeefe233;width:1px;height:28px;margin:0 .5rem}.nav-brand{font-family:var(--font-head);color:var(--soft-ivory);letter-spacing:.5px;margin-right:auto;font-size:1.1rem;font-weight:700}.nav-links{gap:.25rem;margin-right:auto;display:flex}.nav-link{color:#eeefe2b3;font-size:.88rem;font-family:var(--font-head);border-radius:6px;padding:.4rem .9rem;font-weight:500;transition:background .15s,color .15s}.nav-link:hover{color:var(--soft-ivory);background:#eeefe21a}.nav-link.active{background:var(--oxide-red);color:var(--soft-ivory)}.nav-user{color:#eeefe299;white-space:nowrap;align-items:center;gap:1rem;font-size:.83rem;display:flex}.btn-ghost{color:#eeefe2b3;border:1px solid #eeefe233;border-radius:6px;padding:.3rem .85rem;font-size:.83rem;transition:all .15s}.btn-ghost:hover{color:var(--soft-ivory);background:#eeefe21a;border-color:#eeefe266}.login-container{background:var(--deep-umber);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--soft-ivory);border-radius:var(--radius);width:100%;max-width:420px;padding:2.75rem;box-shadow:0 8px 40px #00000040}.login-logo{height:52px;margin-bottom:1.5rem}.login-card h1{font-family:var(--font-head);color:var(--deep-umber);margin-bottom:.25rem;font-size:1.6rem}.login-subtitle{color:var(--muted);margin-bottom:1.75rem;font-size:.9rem}.field{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:.82rem;font-weight:500;font-family:var(--font-head)}.field input{border:1.5px solid var(--border);background:var(--surface);color:var(--deep-umber);border-radius:8px;outline:none;padding:.65rem .9rem;transition:border .15s}.field input:focus{border-color:var(--oxide-red)}.form-grid{grid-template-columns:1fr 1fr;gap:0 1.5rem;display:grid}.btn-primary{background:var(--oxide-red);color:var(--soft-ivory);font-family:var(--font-head);border-radius:8px;margin-top:.5rem;padding:.7rem 1.75rem;font-size:.9rem;font-weight:600;transition:background .15s;display:inline-block}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:default}.page{flex-direction:column;gap:1.5rem;display:flex}.page h2{font-family:var(--font-head);color:var(--deep-umber);font-size:1.4rem;font-weight:700}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);padding:1.5rem}.card h3{font-family:var(--font-head);color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:1.1rem;font-size:.78rem;font-weight:600}.info-grid{flex-direction:column;display:flex}.info-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.65rem 0;font-size:.9rem;display:flex}.info-row:last-child{border-bottom:none}.info-row dt{color:var(--muted);font-size:.88rem}.info-row dd{color:var(--deep-umber);font-weight:500}.info-row.highlight{border-radius:0 0 var(--radius) var(--radius);background:#6d1e130f;border:none;margin:.5rem -1.5rem -1.5rem;padding:1rem 1.5rem}.info-row.highlight dt{color:var(--oxide-red);font-weight:600;font-family:var(--font-head)}.info-row.highlight dd{color:var(--oxide-red);font-size:1.2rem;font-weight:700;font-family:var(--font-head)}.data-table{border-collapse:collapse;width:100%;font-size:.9rem}.data-table th{text-align:left;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.5px;color:var(--muted);border-bottom:2px solid var(--border);padding:.6rem 1rem;font-size:.75rem}.data-table td{border-bottom:1px solid var(--border);color:var(--deep-umber);padding:.7rem 1rem}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#eeefe280}.slip-actions{justify-content:space-between;align-items:center;display:flex}.slip-wrapper{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);overflow:hidden}.slip{padding:2.5rem}.slip-header{border-bottom:2px solid var(--deep-umber);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.25rem;display:flex}.slip-header-left h1{font-family:var(--font-head);color:var(--deep-umber);font-size:1.5rem}.slip-header-left p{color:var(--muted);margin-top:.2rem;font-size:.9rem}.slip-logo{height:44px}.slip-employee{background:var(--bg);border-radius:8px;grid-template-columns:1fr 1fr;gap:.5rem 2rem;margin-bottom:2rem;padding:1rem 1.25rem;font-size:.9rem;display:grid}.slip-employee div{gap:.5rem;display:flex}.slip-employee span{color:var(--muted);min-width:110px;font-size:.85rem}.slip-employee strong{color:var(--deep-umber)}.slip-body{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;display:grid}.slip-table{border-collapse:collapse;width:100%;font-size:.9rem}.slip-table th{text-align:left;background:var(--bg);font-family:var(--font-head);text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:.5rem .75rem;font-size:.75rem}.slip-table td{border-bottom:1px solid var(--border);color:var(--deep-umber);padding:.5rem .75rem}.slip-table tfoot td{border-top:2px solid var(--deep-umber);font-weight:600;font-family:var(--font-head);border-bottom:none}.slip-footer{background:var(--deep-umber);color:var(--soft-ivory);font-size:1rem;font-family:var(--font-head);border-radius:8px;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.slip-footer strong{color:var(--warm-gold);font-size:1.25rem}.error{color:var(--error-color);margin:.5rem 0;font-size:.875rem}.success{color:var(--success);margin:.5rem 0;font-size:.875rem}.loading,.empty{color:var(--muted);text-align:center;font-family:var(--font-head);padding:2rem 0}.welcome-container{background:var(--deep-umber);justify-content:center;align-items:center;min-height:100vh;display:flex}.welcome-inner{text-align:center;padding:2rem}.welcome-logo{height:56px;margin:0 auto 1.5rem;display:block}.welcome-title{font-family:var(--font-head);color:var(--soft-ivory);margin-bottom:.4rem;font-size:2rem}.welcome-sub{color:#eeefe28c;margin-bottom:2.5rem;font-size:.95rem}.mode-cards{justify-content:center;gap:1.5rem;display:flex}.mode-card{text-align:center;width:220px;color:var(--soft-ivory);cursor:pointer;background:#eeefe20f;border:1.5px solid #eeefe226;border-radius:14px;padding:2rem 2.5rem;transition:background .18s,border-color .18s,transform .15s}.mode-card:hover{border-color:var(--signal-coral);background:#eeefe21f;transform:translateY(-3px)}.mode-icon{margin-bottom:.75rem;font-size:2.25rem}.mode-card h2{font-family:var(--font-head);margin-bottom:.4rem;font-size:1.1rem}.mode-card p{color:#eeefe28c;font-size:.82rem;line-height:1.5}.mode-card-disabled{opacity:.4;cursor:not-allowed;transform:none!important}.mode-card-disabled:hover{background:#eeefe20f;border-color:#eeefe226}.mode-card-locked{color:var(--signal-coral);font-size:.75rem;font-family:var(--font-head);margin-top:.6rem;display:block}.login-mode-badge{background:var(--oxide-red);color:var(--soft-ivory);font-size:.75rem;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.5px;border-radius:20px;margin-bottom:.75rem;padding:.2rem .75rem;font-weight:600;display:inline-block}.login-back{color:var(--muted);cursor:pointer;background:0 0;border:none;margin-top:1.25rem;padding:0;font-size:.85rem;display:block}.login-back:hover{color:var(--oxide-red)}.nav-mode-badge{background:var(--signal-coral);color:#fff;text-transform:uppercase;letter-spacing:.5px;vertical-align:middle;border-radius:4px;margin-left:.4rem;padding:.1rem .5rem;font-size:.65rem;font-weight:700;display:inline-block}.payroll-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.formula-rows{flex-direction:column;gap:0;margin-bottom:1.5rem;display:flex}.formula-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 0;display:flex}.formula-row:last-child{border-bottom:none}.muted-row{opacity:.65}.formula-label{min-width:130px;color:var(--deep-umber);font-size:.9rem;font-weight:500}.formula-inputs{align-items:center;gap:.5rem;display:flex}.formula-derived{color:var(--muted);font-size:.82rem;font-style:italic}.formula-unit{color:var(--muted);white-space:nowrap;font-size:.8rem}.formula-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.input-sm{border:1.5px solid var(--border);width:80px;font:inherit;color:var(--deep-umber);border-radius:6px;outline:none;padding:.4rem .6rem}.input-sm:focus{border-color:var(--oxide-red)}select.input-sm{width:auto}.preview-input-row{margin-bottom:1rem}.preview-label{color:var(--muted);margin-bottom:.5rem;font-size:.85rem}.preview-breakdown{border:1.5px solid var(--border);border-radius:8px;margin-top:1rem;overflow:hidden}.breakdown-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.55rem 1rem;font-size:.9rem;display:flex}.breakdown-row:last-child{border-bottom:none}.breakdown-row.sub{background:var(--bg);padding-left:1.5rem}.breakdown-row.sub span:first-child{color:var(--muted);font-size:.85rem}.breakdown-row.deduction{background:#fff5f4}.breakdown-row.deduction span:first-child,.breakdown-row.deduction span:last-child{color:var(--oxide-red)}.breakdown-row.net{background:var(--deep-umber);color:var(--soft-ivory);border-bottom:none}.breakdown-row.net span{color:#eeefe2bf;font-family:var(--font-head);font-weight:600}.breakdown-row.net strong{color:var(--warm-gold);font-family:var(--font-head);font-size:1.05rem}.breakdown-row strong{font-weight:600}.search-row{align-items:flex-end;gap:1rem;display:flex}.search-btn{white-space:nowrap;align-self:flex-end}.recommend-row{flex-wrap:wrap;align-items:flex-end;gap:1.25rem;display:flex}.salary-two-col{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.salary-two-col .breakdown-row{border-radius:0}.process-table{border-collapse:collapse;width:100%;min-width:1100px;font-size:.82rem}.process-table th{text-align:center;background:var(--bg);font-family:var(--font-head);text-transform:uppercase;letter-spacing:.4px;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:.45rem .5rem;font-size:.7rem}.process-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.35rem .4rem}.process-table tfoot td{border-top:2px solid var(--deep-umber);background:var(--bg);border-bottom:none;padding:.6rem .5rem}.process-table tr:hover td{background:#eeefe259}.td-name div{color:var(--deep-umber);white-space:nowrap;font-weight:500}.td-name small{color:var(--muted);font-size:.74rem}.td-net{background:#3514110d}.td-gross{background:#eeefe2b3}.td-deduction{background:#f1623e0a}.th-group{text-align:center;border-bottom:1px solid var(--border);padding:.3rem .5rem;font-size:.68rem;font-weight:700}.th-earnings{color:#3a7d44;background:#f0f8f0;border-bottom:2px solid #c8e6c9}.th-gross{background:var(--bg);color:var(--deep-umber);border-bottom:2px solid var(--border)}.th-deductions{color:var(--oxide-red);background:#fff5f4;border-bottom:2px solid #ffd0c8}.th-net{background:var(--deep-umber);color:var(--soft-ivory);border-bottom:2px solid var(--deep-umber)}.th-sub{background:var(--bg)}.th-sub-deduction{color:var(--oxide-red);background:#fff5f4}.th-sub-net{color:var(--deep-umber);background:#35141114}.th-sub-gross{background:#eeefe2e6}.cell-input{border:1px solid var(--border);text-align:right;width:88px;color:var(--deep-umber);background:#fff;border-radius:4px;outline:none;padding:.28rem .4rem;font-size:.81rem}.cell-input:focus{border-color:var(--oxide-red);background:#fff8f7}.td-net .cell-input{color:var(--oxide-red);font-weight:600}.td-deduction .cell-input{color:var(--oxide-red)}.process-info{background:var(--bg);color:var(--muted);border-radius:6px;margin-top:1rem;padding:.75rem 1rem;font-size:.85rem;line-height:1.5}.btn-outline{border:1.5px solid var(--oxide-red);color:var(--oxide-red);font-family:var(--font-head);cursor:pointer;background:0 0;border-radius:8px;padding:.65rem 1.25rem;font-size:.88rem;font-weight:600;transition:all .15s;display:inline-block}.btn-outline:hover{background:var(--oxide-red);color:var(--soft-ivory)}.skip-badge{color:var(--oxide-red);font-size:.72rem;font-family:var(--font-head);background:#fff0ee;border-radius:4px;margin-left:.5rem;padding:.1rem .5rem;display:inline-block}.partial-badge{color:#7a5a00;font-size:.7rem;font-family:var(--font-head);vertical-align:middle;white-space:nowrap;background:#fdc45840;border-radius:4px;margin-left:.4rem;padding:.1rem .45rem;font-weight:600;display:inline-block}.save-success-bar{background:#f0faf0;border:1.5px solid #c8e6c9;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:.85rem 1.1rem;display:flex}.letter-overlay{background:var(--bg);min-height:100vh}.letter-actions{background:var(--deep-umber);z-index:10;justify-content:flex-end;padding:1rem 2rem;display:flex;position:sticky;top:0}.letter-page{max-width:780px;font-family:var(--font-body);color:#1a1a1a;background:#fff;border-radius:4px;margin:2rem auto;padding:3rem 3.5rem;font-size:14px;line-height:1.7;box-shadow:0 4px 32px #0000001f}.letter-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;display:flex}.letter-logo{height:44px}.letter-header-right{text-align:right;color:#555;font-size:.85rem}.letter-company{font-family:var(--font-head);color:var(--deep-umber);font-size:1rem;font-weight:700}.letter-rule{border:none;border-top:2px solid var(--deep-umber);margin:1rem 0}.letter-addressee{margin:1.5rem 0;font-size:.9rem;line-height:1.6}.letter-addressee p{margin:.1rem 0}.letter-subject{border-left:3px solid var(--oxide-red);margin:1.25rem 0;padding-left:.75rem;font-size:.92rem}.letter-body{color:#222;text-align:justify;margin:.85rem 0;font-size:.9rem}.letter-table-wrap{border:1px solid #ddd;border-radius:4px;margin:1.5rem 0;overflow:hidden}.letter-table-title{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:.6rem 1rem 0;font-size:.8rem}.letter-table{border-collapse:collapse;width:100%;font-size:.88rem}.letter-table th{background:var(--deep-umber);color:var(--soft-ivory);text-align:left;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.4px;padding:.5rem 1rem;font-size:.78rem}.letter-table td{border-bottom:1px solid #f0f0f0;padding:.45rem 1rem}.letter-table td:last-child{text-align:right;min-width:120px}.letter-table-subtotal td{background:#f9f9f9;border-top:2px solid #ddd;border-bottom:2px solid #ddd;font-size:.9rem}.letter-table-net td{background:var(--deep-umber);color:var(--soft-ivory);font-size:.95rem}.letter-table-net td:last-child{color:var(--warm-gold)}.letter-signature{margin:2rem 0 1.5rem;font-size:.9rem}.letter-sig-img{object-fit:contain;height:56px;margin:.5rem 0;display:block}.letter-footer{color:#aaa;text-align:center;border-top:1px solid #eee;margin-top:2rem;padding-top:.75rem;font-size:.75rem}.nav-mode-badge-hr{background:var(--cloud-blue);color:var(--deep-umber)}.hr-home{flex-direction:column;align-items:center;padding:3rem 1rem;display:flex}.hr-home-title{font-family:var(--font-head);color:var(--deep-umber);margin-bottom:.35rem;font-size:1.75rem}.hr-home-sub{color:var(--muted);margin-bottom:2.5rem;font-size:.95rem}.hr-cards{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.hr-card{background:var(--surface);border:1.5px solid var(--border);text-align:center;width:220px;color:var(--deep-umber);cursor:pointer;box-shadow:var(--shadow);border-radius:14px;padding:2rem 2.25rem;transition:border-color .15s,transform .15s,box-shadow .15s}.hr-card:hover{border-color:var(--cloud-blue);transform:translateY(-3px);box-shadow:0 6px 24px #3514111f}.hr-card-icon{margin-bottom:.75rem;font-size:2.25rem}.hr-card h2{font-family:var(--font-head);margin-bottom:.4rem;font-size:1rem}.hr-card p{color:var(--muted);font-size:.82rem;line-height:1.5}.page-container{flex-direction:column;gap:1.5rem;display:flex}.page-title{font-family:var(--font-head);color:var(--deep-umber);font-size:1.5rem;font-weight:700}.form-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);flex-direction:column;gap:1rem;padding:1.75rem;display:flex}.form-section-label{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-top:.25rem;font-size:.72rem;font-weight:600}.field-group{flex-direction:column;flex:1;gap:.35rem;display:flex}.field-group label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:.78rem;font-weight:500;font-family:var(--font-head)}.field-input{border:1.5px solid var(--border);background:var(--surface);color:var(--deep-umber);font:inherit;border-radius:8px;outline:none;width:100%;padding:.6rem .85rem;transition:border .15s}.field-input:focus{border-color:var(--oxide-red)}.field-row{flex-wrap:wrap;gap:1rem;display:flex}.field-row .field-group{min-width:160px}.form-error{color:var(--oxide-red);margin:0;font-size:.85rem}.form-success{color:var(--success);margin:0;font-size:.85rem}.offer-letter{max-width:780px;font-family:var(--font-body);color:#1a1a1a;background:#fff;border-radius:4px;margin:0 auto;padding:3rem 3.5rem;font-size:14px;line-height:1.75;box-shadow:0 4px 32px #0000001f}.offer-letter-head{align-items:center;gap:1.25rem;margin-bottom:.75rem;display:flex}.offer-letter-logo{object-fit:contain;height:44px}.offer-letter-company{flex-direction:column;display:flex}.offer-letter-company strong{font-family:var(--font-head);color:var(--deep-umber);font-size:1rem}.offer-letter-company span{color:#777;font-size:.78rem}.offer-letter-rule{border:none;border-top:2px solid var(--deep-umber);margin:.75rem 0 1.25rem}.offer-letter-meta{margin-bottom:1rem;font-size:.88rem}.offer-letter-to{margin-bottom:.75rem}.offer-letter-subject{border-left:3px solid var(--oxide-red);margin:1rem 0 1.25rem;padding-left:.75rem;font-size:.9rem}.offer-section-title{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.5px;color:var(--oxide-red);border-bottom:1px solid #eee;margin:1.5rem 0 .5rem;padding-bottom:.35rem;font-size:.85rem}.offer-list{padding-left:1.1rem;font-size:.9rem}.offer-list li{margin-bottom:.3rem;list-style:outside}.offer-table{border-collapse:collapse;width:100%;margin:.75rem 0;font-size:.88rem}.offer-table td{border-bottom:1px solid #f0f0f0;padding:.45rem .85rem}.offer-table td:last-child{text-align:right;min-width:110px;font-weight:500}.offer-table-group-head td{background:var(--deep-umber);color:var(--soft-ivory);font-family:var(--font-head);text-transform:uppercase;letter-spacing:.4px;padding:.35rem .85rem;font-size:.75rem}.offer-table-group-head td:last-child{text-align:left;font-weight:400}.offer-table-subtotal td{background:#f5f5f5;border-top:2px solid #ddd;border-bottom:2px solid #ddd;font-weight:600}.offer-table-total td{background:var(--deep-umber);color:var(--soft-ivory);font-size:.95rem;font-weight:700}.offer-table-total td:last-child{color:var(--warm-gold)}.offer-signature{margin:2rem 0 1.5rem;font-size:.9rem;line-height:1.6}.offer-sig-img{object-fit:contain;height:56px;margin:.5rem 0;display:block}.offer-footer{color:#aaa;text-align:center;border-top:1px solid #eee;margin-top:1.5rem;padding-top:.75rem;font-size:.72rem}@media print{.no-print,.nav,.letter-actions{display:none!important}.main{max-width:100%;padding:0}.slip-wrapper,.letter-overlay{box-shadow:none;background:#fff;border:none}.letter-page,.offer-letter{box-shadow:none;border-radius:0;max-width:100%;margin:0;padding:2rem 2.5rem}body{background:#fff}}
