:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f2f6fb;color:#1f2937}.settlements-page{color:#24344b}.settlement-header{display:flex;align-items:center;gap:16px;margin:8px 0 24px}.settlement-title-icon{display:grid;place-items:center;width:56px;height:56px;flex-shrink:0;color:#2563eb;background:#e3edff;border:1px solid #cfdefb;border-radius:16px}.settlement-title-icon svg{font-size:29px}.settlement-eyebrow{color:#64748b;font-size:10px;font-weight:800;letter-spacing:.13em}.settlement-header h2{margin:4px 0 5px;font-size:27px;letter-spacing:-.04em}.settlement-header p{margin:0;color:#64748b;font-size:13px}.settlement-country{margin-left:auto;padding:8px 12px;background:#fff;border:1px solid #dce5ef;border-radius:20px;font-size:12px;color:#52657d;white-space:nowrap}.settlement-workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:22px;margin-top:22px;align-items:start}.settlements-page .page-card{border:1px solid #e1e8f1;padding:24px;box-shadow:0 4px 16px #18345a06;min-width:0}.settlement-section-heading{display:flex;align-items:center;gap:12px;margin-bottom:23px}.settlement-section-heading>svg{color:#50749b;font-size:23px;flex-shrink:0}.settlements-page h3{font-size:16px;margin:0;letter-spacing:-.02em}.settlement-section-heading p,.settlement-results-heading p{font-size:12px;color:#718096;margin:5px 0 0;line-height:1.6}.settlement-step{display:grid;place-items:center;flex-shrink:0;width:35px;height:35px;border-radius:10px;background:#edf3ff;color:#2563eb;font-size:12px;font-weight:800}.settlement-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}.settlement-field{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0;font-size:12px;font-weight:700;color:#42536a}.settlement-field-wide{grid-column:1 / -1}.settlement-field input,.settlement-field select{box-sizing:border-box;width:100%;min-width:0;min-height:46px;margin:0;padding:11px 12px;border:1px solid #d6e0ed;border-radius:9px;background:#fff;color:#253952;font-size:13px}.settlement-field input:focus,.settlement-field select:focus{outline:3px solid #dbeafe;border-color:#598cee}.settlement-field small{font-size:11px;font-weight:400;color:#758399;line-height:1.6}.settlement-auto-value{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;box-sizing:border-box;padding:11px 12px;border-radius:9px;border:1px solid #d9e5f3;background:#f2f7fd}.settlement-auto-value strong{font-size:14px;color:#274a77}.settlement-auto-value span{font-size:10px;font-weight:600;color:#48719f;padding:3px 7px;border-radius:5px;background:#e3edfa}.settlement-hint{display:flex;align-items:flex-start;gap:9px;padding:13px;background:#f3f7fd;border-radius:9px;margin-top:22px}.settlement-hint svg{color:#6589b6;font-size:18px;flex-shrink:0;margin-top:2px}.settlement-hint p{font-size:12px;line-height:1.7;margin:0;color:#5e7390}.settlement-form-footer{border-top:1px solid #eaf0f6;margin-top:22px;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.settlement-form-footer>span{font-size:11px;color:#7a8aa0;max-width:180px;line-height:1.6}.settlement-calculate,.settlement-export{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;min-height:43px;padding:11px 17px;border-radius:9px}.settlement-calculate svg,.settlement-export svg{font-size:19px}.settlement-person{display:flex;gap:13px;align-items:center;padding:3px 0 22px}.settlement-avatar{display:grid;place-items:center;flex-shrink:0;width:47px;height:47px;border-radius:50%;background:#eaf1fc;color:#436caa;font-size:16px;font-weight:700}.settlement-person h4{margin:0 0 8px;font-size:15px;overflow-wrap:anywhere}.settlement-status{display:inline-block;background:#e8f7ef;color:#22845e;border-radius:5px;padding:3px 8px;font-size:10px;font-weight:700}.settlement-status.inactive{background:#edf0f4;color:#64748b}.settlement-employee-details{margin:0;border-top:1px solid #eaf0f6;padding-top:12px}.settlement-employee-details>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:9px 0;font-size:12px}.settlement-employee-details dt{color:#7b889b}.settlement-employee-details dd{margin:0;font-weight:600;text-align:right}.settlement-auto-note{display:flex;align-items:flex-start;gap:10px;background:#eff8f4;border:1px solid #dceee5;border-radius:10px;padding:14px;margin-top:22px;color:#367961}.settlement-auto-note>svg{font-size:19px;margin-top:2px}.settlement-auto-note p{margin:0;font-size:12px;line-height:1.8}.settlement-auto-note strong,.settlement-auto-note span{display:block}.settlement-auto-note span{color:#608372;font-size:11px;margin-top:3px}.settlement-scope,.settlement-footnote{font-size:11px;line-height:1.8;color:#8591a3;margin:16px 0 0}.settlement-empty{text-align:center;padding:20px 10px;color:#8594a9}.settlement-empty>svg{font-size:39px;color:#b4c5db}.settlement-empty h4{color:#5b6e87;font-size:13px;margin:10px 0}.settlement-empty p{font-size:12px;line-height:1.8;margin:0}.settlement-result-placeholder{display:flex;align-items:center;justify-content:center;gap:15px;padding:36px 22px;margin-top:24px;border:1px dashed #cedbea;border-radius:14px;background:#ffffff6b;color:#90a4be}.settlement-result-placeholder>svg{font-size:32px}.settlement-result-placeholder h3{color:#647b98;font-size:14px}.settlement-result-placeholder p{color:#8a9ab0;font-size:12px;margin:6px 0 0;line-height:1.6}.settlement-error{font-size:12px;line-height:1.7;color:#b91c1c;background:#fff1f2;padding:12px;border-radius:8px}.settlement-results{margin-top:30px}.settlement-report-section{margin-bottom:22px}.settlement-conditions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin:0}.settlement-conditions>div{border-bottom:1px solid #edf1f6;padding-bottom:12px;min-width:0}.settlement-conditions dt{color:#6a7d95;font-size:12px;margin-bottom:6px}.settlement-conditions dd{margin:0;font-size:14px;font-weight:600;overflow-wrap:anywhere}.settlement-calculation-values{margin-top:24px}.settlement-calculation-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:start}.settlement-calculation-grid>div{min-width:0}.settlement-calculation-summary .settlement-conditions{grid-template-columns:minmax(0,1fr)}.settlement-calculation-summary .settlement-calculation-values{margin-top:0}.settlement-month-status{display:block;color:#64748b;font-size:10px;font-weight:400;margin-top:4px}@media (max-width: 900px){.settlement-calculation-grid{grid-template-columns:minmax(0,1fr)}}.settlement-signatures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:22px}.settlement-signature{min-width:0}.settlement-signature label,.settlement-signature>strong{display:block;font-size:13px;font-weight:700}.settlement-signature input{box-sizing:border-box;width:100%;margin-top:10px;padding:10px;border:1px solid #cedbea;border-radius:7px;font:inherit;font-size:12px}.settlement-signature p{font-size:12px;min-height:18px;margin:10px 0;overflow-wrap:anywhere}.settlement-signature .settlement-recipient{font-weight:600;min-height:38px}.settlement-signature-line{display:block;border-top:1px solid #94a3b8;padding-top:5px;margin-top:38px;font-size:11px;color:#64748b}@media (max-width: 700px){.settlement-conditions,.settlement-signatures{grid-template-columns:minmax(0,1fr)}}.settlement-results-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.settlement-results-heading .settlement-section-heading{margin:0}.settlement-export{background:#fff;color:#42628a;border:1px solid #d4dfed;flex-shrink:0}.settlement-metrics{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:12px;margin-bottom:22px}.settlement-metric,.settlement-total{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:22px 18px;background:#fff;border:1px solid #e1e8f1;border-radius:12px;min-width:0}.settlement-metric>span,.settlement-total>span{font-size:11px;color:#6a7d95}.settlement-metric strong{font-size:clamp(16px,1.6vw,23px);color:#233c5b;letter-spacing:-.04em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.settlement-metric small,.settlement-total small{font-size:10px;color:#8a9aaf;line-height:1.6}.settlement-total{background:#1f4f96;border-color:#1f4f96}.settlement-total>span,.settlement-total small{color:#c5dbfb}.settlement-total strong{color:#fff;font-size:clamp(20px,2vw,29px);letter-spacing:-.04em;overflow-wrap:anywhere}.settlement-table-scroll{overflow-x:auto}.settlement-table{width:100%;border-collapse:collapse;font-size:12px}.settlements-page .settlement-table th,.settlements-page .settlement-table td{padding:15px 13px;border-bottom:1px solid #edf1f6;text-align:left}.settlement-table thead th{color:#75849a;font-size:10px;text-transform:uppercase;letter-spacing:.04em;background:#f7f9fc;font-weight:700;white-space:nowrap}.settlement-table tbody th{font-weight:600;color:#3b506c;min-width:155px}.settlements-page .settlement-table .settlement-number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.settlement-amount{font-weight:700;color:#234c7a}.settlement-rule{min-width:220px;color:#7b8a9e;font-size:11px;line-height:1.7}.settlement-table tfoot{background:#f0f6ff;color:#275387;font-weight:700}.settlement-table tfoot td:last-child{font-size:10px;font-weight:400}.settlement-entitlements{display:flex;gap:24px;flex-wrap:wrap;margin-top:20px;font-size:11px;color:#8191a7}.settlement-entitlements strong{display:block;color:#526a87;font-size:12px;margin-top:6px}.settlement-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:22px}.settlement-source-details{margin:0}.settlement-source-details>div{border-top:1px solid #ecf0f5;padding-top:16px;margin-top:16px}.settlement-source-details dt{font-size:12px;font-weight:700;margin-bottom:8px;color:#4b6585}.settlement-source-details dd{font-size:12px;color:#7c8ca1;margin:5px 0;line-height:1.6}.settlements-page .settlement-review{background:#fffdf8;border-color:#eee5ce}.settlement-review .settlement-section-heading>svg{color:#ae8a37}.settlement-review ul{margin:0;padding-left:17px}.settlement-review li{color:#897a59;font-size:12px;line-height:1.8;margin-bottom:12px}.settlement-review>p{padding-top:14px;border-top:1px solid #eee5ce;font-size:11px;line-height:1.8;color:#a29374}.settlements-page .settlement-details{margin-top:22px;padding:0 24px}.settlement-details details+details{border-top:1px solid #e9eff5}.settlement-details summary{padding:20px 0;cursor:pointer;font-size:12px;font-weight:600;color:#526b8b}.settlement-details summary span{font-size:10px;font-weight:400;margin-left:10px;color:#91a0b4}.settlement-details ul{font-size:12px;line-height:2;padding-bottom:16px}.settlement-details a{color:#426fae}@media (max-width: 1150px){.settlement-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.settlement-total{grid-column:1 / -1}}@media (max-width: 900px){.settlement-workspace,.settlement-data-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 580px){.settlement-header{flex-wrap:wrap;gap:12px}.settlement-header>div:nth-child(2){flex:1}.settlement-country{margin-left:0}.settlements-page .page-card{padding:18px}.settlement-fields{grid-template-columns:minmax(0,1fr)}.settlement-form-footer>span{max-width:none}.settlement-calculate{width:100%}.settlement-results-heading{align-items:flex-start;flex-direction:column}.settlement-result-placeholder{align-items:flex-start}.settlement-metric,.settlement-total{padding:18px 14px}.settlement-entitlements{gap:18px}.settlement-details summary span{display:block;margin:8px 0 0}}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#eef3fb,#f7f9fc 55%,#f2f6fb)}button,input,select{font:inherit}button{cursor:pointer;border:none;border-radius:.75rem;padding:.78rem 1.1rem;font-weight:600;color:#fff;background:#2563eb;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #2563eb42}button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}button.danger{background:#dc2626}button.secondary{background:#1e3a8a}button.success{background:#059669}.btn-small{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.42rem .75rem;border-radius:.55rem;font-size:.82rem;line-height:1.2;text-decoration:none;color:#fff;background:#2563eb}.btn-small.secondary{background:#1e3a8a}.btn-small.danger{background:#dc2626}.btn-small.success{background:#059669}.btn-small.warning{background:#d97706}.btn-mini{padding:.34rem .62rem;border-radius:.52rem;font-size:.74rem;line-height:1.1}.app-shell{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:#1f2937;color:#fff}.topbar .brand{font-weight:700;font-size:1.15rem}.topbar nav{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.topbar a,.link-button{color:#e5e7eb;text-decoration:none;border:none;background:transparent;padding:.45rem .75rem;border-radius:.45rem}.topbar a:hover,.link-button:hover{background:#ffffff14;box-shadow:none;transform:none}.link-button{cursor:pointer}.content-link-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none;border-radius:.7rem;padding:.55rem .9rem;background:#2563eb;color:#fff;font-weight:600;line-height:1.1;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.content-link-button:hover{transform:translateY(-1px);box-shadow:0 8px 20px #2563eb42}.content-link-button.btn-mini{padding:.34rem .62rem;border-radius:.52rem;font-size:.74rem}.content-link-button.secondary{background:#1e3a8a}.content-link-button.secondary:hover{box-shadow:0 8px 20px #1e3a8a3d}.inventory-page-toolbar{display:flex;justify-content:flex-end;align-items:center;margin-bottom:.9rem}.inventory-secondary-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:.52rem .9rem;border-radius:999px;border:1px solid #bfdbfe;background:linear-gradient(180deg,#fff,#eff6ff);color:#1d4ed8;font-weight:700;font-size:.86rem;line-height:1.1;box-shadow:0 8px 18px #2563eb14;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}.inventory-secondary-link:hover{transform:translateY(-1px);box-shadow:0 12px 24px #2563eb24;border-color:#93c5fd;background:linear-gradient(180deg,#fff,#dbeafe)}.inventory-alert-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.85rem;margin-bottom:1rem}.inventory-filter-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}.inventory-search-group{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.inventory-alert-card{display:block;width:100%;text-align:left;cursor:pointer;padding:.95rem 1rem;border-radius:1rem;border:1px solid #e2e8f0;background:linear-gradient(180deg,#fff,#f8fafc);color:#1f2937;box-shadow:0 14px 28px #0f172a0d;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,filter .12s ease}.inventory-alert-card:hover{transform:translateY(-1px);box-shadow:0 18px 30px #0f172a14}.inventory-alert-card.active{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24,0 18px 30px #0f172a14}.inventory-alert-card:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}.inventory-alert-card strong{display:block;margin-top:.25rem;font-size:1.75rem;line-height:1;color:#0f172a}.inventory-alert-card p{margin:.45rem 0 0;font-size:.8rem;color:#475569}.inventory-alert-card-label{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.inventory-alert-card.critical{border-color:#fecaca;background:linear-gradient(180deg,#fff7f7,#fff)}.inventory-alert-card.warning{border-color:#fed7aa;background:linear-gradient(180deg,#fff7ed,#fff)}.inventory-alert-card.warning-soft{border-color:#fde68a;background:linear-gradient(180deg,#fffbeb,#fff)}.inventory-alert-card.neutral{border-color:#cbd5e1;background:linear-gradient(180deg,#f8fafc,#fff)}.inventory-alert-card.all{border-color:#cbd5e1;background:linear-gradient(180deg,#f8fafc,#eef2ff)}.inventory-alert-card.ok{border-color:#bbf7d0;background:linear-gradient(180deg,#ecfdf3,#fff)}.inventory-filter-hint{color:#64748b}.inventory-active-filter-badge{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .75rem;border-radius:999px;border:1px solid #bfdbfe;background:linear-gradient(180deg,#eff6ff,#dbeafe);color:#1d4ed8;font-size:.78rem;font-weight:800;line-height:1.1;white-space:nowrap}.inventory-active-filter-badge.all{border-color:#dbe4f0;background:linear-gradient(180deg,#f8fafc,#eef2ff);color:#475569}.page-content{flex:1;padding:1.5rem}.currency-strip{display:flex;justify-content:flex-end;align-items:center;gap:.6rem;padding:.5rem 1.5rem .2rem}.page-card,.dashboard,.upload-panel,.result-panel,.hero-card,.widget,.approval-card{background:#fff;border-radius:1rem;padding:1.25rem;box-shadow:0 14px 34px #0f172a14}.page-card h2,.dashboard h2,.result-panel h3,.widget h3{margin-top:0}.upload-panel,.action-group{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1rem}.upload-zone{border:1px dashed #bfdbfe;background:linear-gradient(180deg,#f8fbff,#eff6ff);border-radius:.9rem;padding:.85rem;margin-bottom:.75rem}.client-upload-zone{border:1px solid #d7e0ea;background:linear-gradient(180deg,#fff,#fbfdff);border-radius:1rem;padding:1rem;box-shadow:0 1px #0f172a05}.client-upload-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.client-upload-title{font-weight:800;color:#17324d;font-size:1.02rem;margin-bottom:.3rem}.client-upload-body{margin-top:.85rem}.client-upload-picker{display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;min-height:3rem;padding:.7rem .85rem;border:1px solid #d5dde8;background:#f8fafc;border-radius:.8rem;box-sizing:border-box;cursor:pointer}.client-upload-picker:hover{border-color:#93c5fd;background:#f0f7ff}.client-upload-picker-name{flex:1;min-width:0;color:#334155;font-size:.92rem;overflow-wrap:anywhere}.client-upload-picker-action{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:.44rem .72rem;border-radius:.55rem;background:#2563eb;color:#fff;font-weight:700;font-size:.82rem;white-space:nowrap}.client-upload-file-line{font-size:.9rem;color:#334155;margin-bottom:.65rem}.client-upload-input{width:100%;border:1px solid #d5dde8;background:#f8fafc;border-radius:.8rem;padding:.7rem .85rem;box-sizing:border-box}.client-upload-actions{margin-top:.85rem;display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.client-picker-shell{position:relative}.client-picker-input{width:100%;min-height:2.85rem;border:1px solid #cbd5e1;border-radius:.85rem;padding:.75rem .9rem;background:#fff;box-sizing:border-box;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.client-picker-input:focus{border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b82e;outline:none}.client-picker-input.is-selected{border-color:#94a3b8;background:#f8fafc}.client-picker-selected{display:flex;align-items:center;gap:.6rem;margin-top:.45rem;padding:.55rem .75rem;border-radius:.85rem;border:1px solid #dbe4ee;background:#f8fafc;flex-wrap:wrap}.client-picker-selected-label{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:999px;background:#e2e8f0;color:#334155;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.client-picker-clear{border:1px solid #d5dde8;background:#fff;color:#334155;padding:.35rem .7rem;border-radius:.6rem;font-size:.8rem;font-weight:700}.client-picker-clear:hover:not(:disabled){box-shadow:none;transform:none;background:#f8fafc}.client-picker-dropdown{position:absolute;z-index:30;top:calc(100% + .35rem);left:0;right:0;max-height:240px;overflow-y:auto;padding:.55rem;border:1px solid #dbe4ee;border-radius:1rem;background:#fff;box-shadow:0 18px 32px #0f172a1a}.client-picker-option{display:block;width:100%;text-align:left;padding:.7rem .8rem;margin-bottom:.4rem;border:1px solid #e2e8f0;border-radius:.8rem;background:#fff;color:#1f2937;box-shadow:none}.client-picker-option:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;transform:none;box-shadow:none}.client-picker-option-title{display:block;font-size:.92rem;color:#0f172a;margin-bottom:.2rem}.client-picker-option-meta{font-size:.78rem;color:#475569;line-height:1.25}.upload-dropzone{border:1.5px dashed #93c5fd;background:linear-gradient(180deg,#f9fbff,#eef4ff);border-radius:.95rem;padding:1rem;margin-bottom:.75rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.upload-dropzone.modern{cursor:pointer;border-color:#aac8f5;background:radial-gradient(circle at 100% 0%,rgba(147,197,253,.18),transparent 44%),linear-gradient(180deg,#f8fbff,#f1f6ff)}.upload-dropzone.active{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb29;background:linear-gradient(180deg,#f2f7ff,#e7f0ff)}.upload-dropzone-head{display:flex;gap:.8rem;align-items:center;margin-bottom:.55rem}.upload-logo{width:52px;height:52px;border-radius:.9rem;background:#dbeafe;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #2563eb38}.upload-logo-svg{width:42px;height:42px;display:block}.upload-dropzone-icon{width:42px;height:42px;border-radius:.7rem;background:#dbeafe;color:#1e40af;display:inline-flex;align-items:center;justify-content:center;font-size:.76rem;font-weight:800;letter-spacing:.04em;margin-bottom:.45rem}.upload-dropzone-title{font-weight:700;color:#163678;font-size:1.02rem;margin-bottom:.35rem}.upload-dropzone-body{margin-bottom:.7rem}.upload-file-line{font-size:.9rem;color:#1e293b}.upload-dropzone-actions{margin-top:.75rem;display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.upload-ready-pill{display:inline-flex;align-items:center;padding:.22rem .6rem;border-radius:999px;background:#dcfce7;color:#166534;font-size:.76rem;font-weight:700}.hidden-file-input{display:none}.file-picker{display:flex;align-items:center;gap:.65rem;width:100%;min-height:2.75rem;border:1px solid #cbd5e1;border-radius:.75rem;background:#f8fafc;padding:.45rem}.file-picker.disabled{opacity:.62}.file-picker-button{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.35rem .78rem;border-radius:.55rem;background:#1e3a8a;color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;white-space:nowrap}.file-picker.disabled .file-picker-button{cursor:not-allowed}.file-picker-name{color:#475569;font-size:.84rem;overflow-wrap:anywhere}.payroll-week-picker{position:relative;min-width:260px}.payroll-week-picker-input{width:100%;min-height:2.25rem;display:inline-flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.42rem .65rem;border:1px solid #cbd5e1;border-radius:.5rem;background:#fff;color:#0f172a;font-weight:500;box-shadow:none}.payroll-week-picker-input:hover:not(:disabled){transform:none;box-shadow:0 0 0 3px #2563eb1f}.payroll-week-calendar{position:absolute;z-index:30;top:calc(100% + .35rem);left:0;width:284px;padding:.55rem;border:1px solid #94a3b8;border-radius:.35rem;background:#fff;color:#0f172a;box-shadow:0 18px 40px #0f172a2e}.payroll-week-calendar-header{display:grid;grid-template-columns:2rem 1fr 2rem;align-items:center;gap:.4rem;margin-bottom:.35rem}.payroll-week-calendar-header strong{text-align:center;font-size:.82rem}.payroll-week-nav-button{min-width:2rem;height:2rem;padding:0;border-radius:.35rem;background:#fff;color:#0f172a;box-shadow:none}.payroll-week-nav-button:hover:not(:disabled){transform:none;box-shadow:none;background:#e2e8f0}.payroll-week-grid{display:grid;grid-template-columns:2.15rem repeat(7,1fr);align-items:center;gap:.12rem}.payroll-week-grid-heading{padding:.25rem 0;color:#0f172a;font-size:.72rem;font-weight:700;text-align:center}.payroll-week-row{width:100%;padding:0;border-radius:0;background:transparent;color:#0f172a;box-shadow:none;font-size:.78rem;font-weight:500;text-align:center}.payroll-week-row span{min-height:1.42rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.12rem}.payroll-week-row:hover:not(:disabled){transform:none;box-shadow:none}.payroll-week-row:hover span{background:#dbeafe}.payroll-week-row.selected span{background:#0d6efd;color:#fff}.payroll-week-row .outside-month{color:#64748b}.payroll-week-row.selected .outside-month{color:#fff}.payroll-week-calendar-footer{display:flex;justify-content:space-between;gap:.5rem;margin-top:.45rem}.payroll-week-calendar-footer button{padding:.2rem .25rem;border-radius:.25rem;background:transparent;color:#0d6efd;box-shadow:none;font-size:.72rem;font-weight:600}.payroll-week-calendar-footer button:hover:not(:disabled){transform:none;box-shadow:none;background:#eff6ff}.payroll-week-calendar-range{margin-top:.35rem;color:#64748b;font-size:.72rem;text-align:right}.file-input{display:inline-flex;align-items:center;gap:.5rem;border:1px solid #d1d5db;background:#f9fafb;padding:.65rem .9rem;border-radius:.75rem}.file-input.wide{width:min(560px,100%);justify-content:space-between}.file-input input{border:none;background:transparent;min-width:0}table{width:100%;border-collapse:collapse;margin-top:1rem}table th,table td{text-align:left;padding:.7rem .62rem;border-bottom:1px solid #e5e7eb;vertical-align:top;overflow-wrap:anywhere;word-break:break-word}table th{background:#f8fafc;color:#111827;white-space:nowrap}th.th-multiline{white-space:normal;min-width:130px;max-width:180px}th.inventory-name-column,td.inventory-name-column{min-width:260px;width:320px}.formula-header{display:inline-flex;align-items:center;gap:.3rem;line-height:1.25}.formula-help{position:relative;width:16px;height:16px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-weight:800;font-size:.68rem;display:inline-flex;align-items:center;justify-content:center;cursor:help}.formula-tooltip{position:absolute;z-index:30;left:50%;top:calc(100% + 6px);transform:translate(-50%);width:260px;max-width:min(260px,80vw);background:#0f172a;color:#f8fafc;border-radius:.65rem;padding:.55rem .6rem;font-size:.72rem;line-height:1.35;box-shadow:0 12px 30px #0f172a59;visibility:hidden;opacity:0;transition:opacity .12s ease}.formula-help:hover .formula-tooltip{visibility:visible;opacity:1}.feedback-toast{position:fixed;top:1rem;right:1rem;z-index:120;width:min(420px,calc(100vw - 2rem));box-sizing:border-box;padding:.95rem 1rem;border-radius:1rem;box-shadow:0 20px 45px #0f172a38;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;animation-duration:.18s;animation-timing-function:ease-out;animation-fill-mode:both}.feedback-toast.error{color:#991b1b;background:linear-gradient(180deg,#fff6f6,#fee2e2);border:1px solid #fecaca;animation-name:feedback-toast-enter}.feedback-toast.success{color:#065f46;background:linear-gradient(180deg,#f3fff9,#d1fae5);border:1px solid #86efac;animation-name:feedback-toast-enter}.feedback-toast-content{flex:1;line-height:1.4}.feedback-toast-close{flex:0 0 auto;width:28px;height:28px;min-width:28px;padding:0;border-radius:999px;background:#ffffffc7;color:inherit;box-shadow:none;font-weight:800;line-height:1}.feedback-toast-close:hover{background:#fffffffa;box-shadow:none;transform:none}@keyframes feedback-toast-enter{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.preview-table,.table-wrap{overflow-x:auto}.payroll-daily-detail-table{min-width:1320px}.payroll-daily-detail-table th{white-space:normal;line-height:1.15;min-width:92px;max-width:132px;overflow-wrap:anywhere;word-break:normal;-webkit-hyphens:auto;hyphens:auto}.payroll-daily-detail-table td{min-width:92px}.payroll-daily-detail-table th:nth-child(1),.payroll-daily-detail-table td:nth-child(1){min-width:98px}.payroll-daily-detail-table th:nth-child(7),.payroll-daily-detail-table td:nth-child(7){min-width:118px}.payroll-daily-detail-table th:last-child,.payroll-daily-detail-table td:last-child{min-width:190px}.table-pager{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.55rem;width:100%}.table-pager .inline-form{margin-left:auto;justify-content:flex-end}.log-detail{white-space:pre-line;line-height:1.35}.preview-table table{min-width:560px}.table{min-width:1760px}.inventory-actions-column{min-width:122px}.inventory-actions-cell{min-width:122px;text-align:center;vertical-align:middle}.inventory-alert-cell{display:flex;flex-wrap:wrap;gap:.42rem;min-width:220px}.inventory-alert-pill{display:inline-flex;align-items:center;justify-content:center;padding:.28rem .62rem;border-radius:999px;font-size:.72rem;font-weight:700;line-height:1.1;border:1px solid transparent;white-space:nowrap}.inventory-alert-pill.danger{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.inventory-alert-pill.warning{background:#ffedd5;border-color:#fed7aa;color:#9a3412}.inventory-alert-pill.neutral{background:#e2e8f0;border-color:#cbd5e1;color:#334155}.inventory-alert-pill.ok{background:#dcfce7;border-color:#bbf7d0;color:#166534}.inventory-search-picker{min-width:320px;display:grid;gap:.45rem}.inventory-search-results{border:1px solid #dbe6f5;border-radius:.75rem;background:#fff;box-shadow:0 10px 24px #0f172a14;overflow:hidden}.inventory-search-result{width:100%;text-align:left;border-radius:0;background:#fff;color:#0f172a;padding:.7rem .85rem;font-weight:500;border-bottom:1px solid #eef2f7;box-shadow:none;transform:none}.inventory-search-result:last-child{border-bottom:none}.inventory-search-result:hover{background:#eff6ff;box-shadow:none;transform:none}.inventory-search-empty,.inventory-search-hint{font-size:.82rem;color:#64748b;padding:.65rem .2rem 0}.inventory-selected-material{min-width:320px;display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .85rem;border:1px solid #dbe6f5;border-radius:.8rem;background:#fff}.inventory-detail-hero{background:#fff}.inventory-detail-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.inventory-detail-kicker{margin:0 0 .35rem;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#2563eb}.inventory-detail-title{margin:0;font-size:1.55rem;line-height:1.15;color:#0f172a}.inventory-detail-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem}.inventory-detail-chip{display:flex;flex-direction:column;gap:.28rem;padding:.9rem .95rem;border:1px solid #dbe6f5;border-radius:.95rem;background:#ffffffeb}.inventory-detail-chip strong{font-size:1rem;line-height:1.2;color:#0f172a}.inventory-detail-chip-label{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.inventory-detail-chip-highlight{border-color:#bfdbfe;background:#eff6ff}.inventory-detail-section{padding-top:1.1rem}.inventory-detail-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.95rem}.inventory-detail-subtext{margin:.35rem 0 0}.inventory-detail-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.9rem}.inventory-detail-form-grid-locked .inventory-detail-field input,.inventory-detail-form-grid-locked .inventory-detail-field select{background:#f8fafc;color:#475569;border-color:#dbe6f5;box-shadow:inset 0 1px #ffffffb3}.inventory-detail-field{min-width:0;font-size:.94rem;font-weight:600;color:#1e293b}.inventory-detail-field input,.inventory-detail-field select{height:44px;border-radius:.8rem;border-color:#cbd5e1}.inventory-detail-field input:disabled,.inventory-detail-field select:disabled{cursor:default;opacity:1}.inventory-detail-readonly-card{display:flex;flex-direction:column;gap:.3rem;justify-content:center;min-height:44px;padding:.78rem .9rem;border:1px solid #dbe6f5;border-radius:.9rem;background:#f8fafc}.inventory-detail-readonly-card strong{font-size:1rem;color:#0f172a}.inventory-detail-readonly-label{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.inventory-row-add-wrap{display:flex;justify-content:flex-end;margin-top:.75rem}.inventory-row-add-button{border:1px dashed #93c5fd;background:linear-gradient(180deg,#fff,#eff6ff);color:#1d4ed8;font-weight:700;box-shadow:none}.inventory-row-add-button:hover{box-shadow:0 10px 24px #2563eb24}.widgets-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:1rem}.mode-switch{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.mode-switch button{background:#4b5563}.mode-switch .active-tab{background:#2563eb}.quote-entry-card-shell{background:#fff;border:1px solid #dbe7f5}.project-hero{background:#fff;border:1px solid #dbe7f5;border-radius:1rem;padding:1.25rem;box-shadow:0 14px 34px #0f172a14}.project-hero-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.project-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.payroll-dashboard-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:stretch}.payroll-dashboard-panel{display:flex;flex-direction:column}.project-summary-card{border:1px solid #d6e4f5;border-radius:.95rem;padding:.9rem .95rem;background:#ffffffeb;display:flex;flex-direction:column;gap:.28rem}.project-summary-card strong{color:#17324d;font-size:.98rem;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.commercial-dashboard-page,.unified-dashboard-page{display:grid;gap:1rem}.unified-dashboard-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.unified-dashboard-header h2{margin:0}.unified-dashboard-header p{margin:.35rem 0 0}.dashboard-view-switch{display:inline-flex;gap:.35rem;padding:.28rem;border:1px solid #dbe7f5;border-radius:999px;background:#f8fbff}.dashboard-view-switch button,.dashboard-view-switch a{border:0;border-radius:999px;padding:.55rem .9rem;background:transparent;color:#33506d;font-weight:800;cursor:pointer}.dashboard-view-switch a{text-align:center;text-decoration:none}.dashboard-view-switch button.active,.dashboard-view-switch a.active{background:#16324a;color:#fff}.payroll-salary-history-toolbar{display:flex;justify-content:flex-end;margin-bottom:1rem}.payroll-salary-history-toolbar a:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.commercial-dashboard-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:1rem;border:1px solid #d8e7ef;background:radial-gradient(circle at top right,rgba(15,118,110,.14),transparent 35%),radial-gradient(circle at left bottom,rgba(14,116,144,.16),transparent 32%),linear-gradient(135deg,#fcfffe,#f4fbfb 52%,#eef7fb)}.commercial-dashboard-eyebrow{display:inline-block;margin-bottom:.45rem;color:#0f766e;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.commercial-dashboard-hero-copy h3,.commercial-section-head h3{margin:0}.commercial-dashboard-hero-copy p,.commercial-section-head p{margin:.45rem 0 0}.commercial-dashboard-hero-meta{display:grid;gap:.75rem;align-content:start}.commercial-hero-pill{border:1px solid rgba(15,23,42,.08);border-radius:1rem;padding:.9rem 1rem;background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.commercial-hero-pill span,.commercial-kpi-label,.commercial-month-overview-head span,.commercial-seller-month-label span,.commercial-performance-head p,.commercial-seller-month-head p,.commercial-seller-totals small,.commercial-dual-meter span,.commercial-performance-meters span,.commercial-seller-month-metrics span{color:#5f7286;font-size:.82rem}.commercial-hero-pill strong{display:block;margin-top:.3rem;color:#16324a;font-size:1rem}.commercial-dashboard-toolbar{border:1px solid #dbe6ef}.commercial-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) auto;gap:.9rem;align-items:end}.commercial-toolbar-actions{display:flex;justify-content:flex-end}.commercial-selection-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.85rem}.commercial-selection-chip,.commercial-month-chip{border:1px solid #cfe0ea;border-radius:999px;background:#f8fbfd;color:#17324d;padding:.4rem .8rem;font-size:.82rem;font-weight:600;cursor:pointer}.commercial-selection-chip:hover,.commercial-month-chip:hover{background:#edf7fb;border-color:#9ec5d5}.commercial-month-chip.active{color:#fff;border-color:#0f766e;background:linear-gradient(90deg,#0f766e,#0ea5a4)}.commercial-vendor-picker{min-width:0}.commercial-vendor-dropdown{position:relative}.commercial-vendor-dropdown summary{list-style:none;cursor:pointer;border:1px solid #cfd9e5;border-radius:.9rem;padding:.78rem .95rem;background:#fff;color:#16324a;font-weight:600}.commercial-vendor-dropdown summary::-webkit-details-marker{display:none}.commercial-vendor-dropdown[open] summary{border-color:#7dd3c7;box-shadow:0 0 0 3px #14b8a61f}.commercial-vendor-menu{position:absolute;z-index:20;top:calc(100% + .45rem);left:0;width:min(360px,92vw);border:1px solid #d9e5ef;border-radius:1rem;background:#fff;box-shadow:0 18px 40px #0f172a24;padding:.85rem}.commercial-vendor-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.commercial-vendor-options{display:grid;gap:.45rem;max-height:240px;overflow:auto}.commercial-vendor-option{display:flex;align-items:center;gap:.55rem;padding:.55rem .6rem;border-radius:.8rem;background:#f8fbfd}.commercial-vendor-option:hover{background:#eef7f8}.commercial-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.commercial-kpi-card{border:1px solid #d6e4f5;position:relative;overflow:hidden}.commercial-kpi-card:after{content:"";position:absolute;inset:auto 0 0 0;height:4px;border-radius:999px}.commercial-kpi-card.quoted:after,.commercial-kpi-card.quoted .commercial-kpi-progress div,.commercial-meter-track .quoted{background:linear-gradient(90deg,#2563eb,#0ea5e9)}.commercial-kpi-card.sold:after,.commercial-kpi-card.sold .commercial-kpi-progress div,.commercial-meter-track .sold{background:linear-gradient(90deg,#16a34a,#10b981)}.commercial-meter-track .in-progress{background:linear-gradient(90deg,#0891b2,#06b6d4)}.commercial-meter-track .to-invoice{background:linear-gradient(90deg,#7c3aed,#a855f7)}.commercial-kpi-card.projects:after{background:linear-gradient(90deg,#f59e0b,#f97316)}.commercial-kpi-card.in-progress:after{background:linear-gradient(90deg,#0891b2,#06b6d4)}.commercial-kpi-card.in-progress .commercial-kpi-progress div{background:linear-gradient(90deg,#0891b2,#06b6d4)}.commercial-kpi-card.to-invoice:after{background:linear-gradient(90deg,#7c3aed,#a855f7)}.commercial-kpi-card.to-invoice .commercial-kpi-progress div{background:linear-gradient(90deg,#7c3aed,#a855f7)}.commercial-kpi-card.teams:after{background:linear-gradient(90deg,#0f766e,#14b8a6)}@media (max-width: 980px){.payroll-dashboard-panels{grid-template-columns:1fr}}.commercial-kpi-card strong{display:block;margin:.35rem 0 .55rem;color:#16324a;font-size:1.65rem}.commercial-kpi-progress,.commercial-meter-track{height:12px;border-radius:999px;overflow:hidden;background:#e7edf4}.commercial-kpi-progress div,.commercial-meter-track div{height:100%;border-radius:999px}.commercial-section{border:1px solid #d9e6f0}.commercial-section-head{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1rem}.commercial-performance-grid{display:grid;gap:1rem}.commercial-performance-card,.commercial-matrix-corner,.commercial-matrix-month-head,.commercial-matrix-seller,.commercial-matrix-cell{border:1px solid #dbe5ee;border-radius:1rem;background:linear-gradient(180deg,#fff,#fbfdff);padding:1rem}.commercial-performance-head,.commercial-matrix-cell-top{display:flex;justify-content:space-between;gap:1rem;align-items:center}.commercial-performance-head h4,.commercial-matrix-month-head strong,.commercial-matrix-seller strong,.commercial-matrix-corner strong{margin:0;color:#17324d}.commercial-performance-meters{display:grid;gap:.75rem}.commercial-performance-meters strong,.commercial-matrix-cell strong{color:#17324d}.commercial-month-chip-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1rem}.commercial-matrix-wrap{overflow-x:auto;padding-bottom:.35rem}.commercial-matrix{display:grid;gap:.85rem;min-width:max-content}.commercial-matrix-corner,.commercial-matrix-month-head{align-self:stretch}.commercial-matrix-month-head{display:grid;gap:.35rem}.commercial-matrix-seller{display:grid;gap:.35rem;align-content:start}.commercial-matrix-cell{display:grid;gap:.45rem}.commercial-matrix-cell-top.sold{margin-top:.25rem}.commercial-matrix-cell-foot{display:flex;justify-content:space-between;gap:.5rem;color:#64748b;font-size:.78rem}.commercial-count-stack{display:grid;gap:.18rem}.commercial-count-stack span{display:block}.commercial-meter-track-lg{height:14px}.commercial-project-type{display:inline-flex;align-items:center;justify-content:center;min-width:84px;padding:.28rem .6rem;border-radius:999px;font-size:.78rem;font-weight:700}.commercial-project-type.quoted{color:#1d4ed8;background:#dbeafe}.commercial-project-type.cancelled{color:#991b1b;background:#fee2e2;margin-left:.35rem}.project-quotation-details{margin-top:1rem}.project-quotation-details>summary{cursor:pointer;font-weight:700;padding:.6rem 0}.commercial-project-type.sold{color:#047857;background:#d1fae5}.commercial-project-type.in-progress{color:#0f766e;background:#cffafe}.commercial-project-type.to-invoice{color:#6d28d9;background:#ede9fe}.payroll-late-detail{display:grid;gap:.18rem}.payroll-late-detail strong{color:#92400e;font-size:.88rem}.payroll-late-detail span{color:#5f7286;font-size:.8rem}@media (max-width: 900px){.unified-dashboard-header{align-items:flex-start}.dashboard-view-switch{width:100%}.dashboard-view-switch button,.dashboard-view-switch a{flex:1}.commercial-filter-grid{grid-template-columns:1fr}.commercial-toolbar-actions{justify-content:stretch}.commercial-toolbar-actions .btn-small{width:100%}.commercial-performance-head,.commercial-matrix-cell-top,.commercial-matrix-cell-foot{flex-direction:column;align-items:flex-start}}.project-filter-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.project-filter-card:hover{transform:translateY(-1px);border-color:#b8d1ee;box-shadow:0 10px 24px #0f172a14}.project-filter-card.active{border-color:#2563eb;background:linear-gradient(180deg,#eff6ff,#dbeafe);box-shadow:0 0 0 1px #2563eb24}.purchase-request-summary-card{cursor:pointer;text-align:left;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.purchase-request-summary-card:hover{transform:translateY(-1px);border-color:#b8d1ee;box-shadow:0 10px 24px #0f172a14}.purchase-request-summary-card.active{border-color:#2563eb;background:linear-gradient(180deg,#eff6ff,#dbeafe);box-shadow:0 0 0 1px #2563eb24}.purchase-request-actions{flex-wrap:nowrap}.purchase-request-textarea::placeholder{color:#64748b}.project-stage-summary-card{grid-column:1 / -1;gap:.85rem;background:#f8fbff}.project-stage-summary-title{display:block;margin-top:.3rem;font-size:1.12rem}.project-stage-flow{display:flex;gap:.55rem;flex-wrap:wrap}.project-stage-step{position:relative;display:inline-flex;align-items:center;gap:.65rem;min-height:54px;padding:.85rem 1rem;border:1px solid #d4e1f1;border-radius:1rem;background:#eef4fb;color:#4b5f75;box-shadow:none;font-weight:700;cursor:default;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease,color .16s ease}.project-stage-step:disabled{opacity:1}.project-stage-step.is-completed{background:#e8f7ee;border-color:#9dd5af;color:#17603a}.project-stage-step.is-active{background:#eaf2ff;border-color:#7fb0ff;color:#173b7a;box-shadow:inset 0 0 0 1px #3b82f62e}.project-stage-step.is-next{background:#fff7ed;border-color:#fdba74;color:#9a3412}.project-stage-step.is-clickable{cursor:pointer}.project-stage-step.is-clickable:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 24px #0f172a14}.project-stage-step-index{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border-radius:999px;background:#ffffffeb;border:1px solid rgba(148,163,184,.35);font-size:.82rem;font-weight:800;flex:0 0 auto}.project-stage-step-label{white-space:nowrap}.project-summary-label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#5a7593;font-weight:800}.project-empty-state{margin-top:1rem;padding:1rem 1.05rem;border-radius:1rem;border:1px dashed #bfd6ee;background:#f8fbff;width:100%;max-width:100%;box-sizing:border-box}.project-create-card{border:1px solid #dbe7f5}.project-create-grid{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1.6fr);gap:1rem;align-items:start}.project-create-copy{display:flex;flex-direction:column;gap:.55rem}.project-create-title{margin:0;font-size:1.05rem;color:#17324d}.project-create-form{border:1px solid #d7e6f6;border-radius:1rem;padding:1rem;background:#f8fbff}.project-stage-card{border:1px solid #dbe7f5}.project-stage-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.project-stage-actions{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-top:1rem}.project-stage-helper{margin-top:.15rem;color:#4b5f75;line-height:1.45}.project-stage-complete-state{margin-top:0}.project-stage-field{flex:1 1 320px;max-width:420px}.project-stage-inline-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.project-stage-po-card{min-width:220px;border:1px solid #d7e6f6;border-radius:.95rem;padding:.9rem .95rem;background:#f8fbff;display:flex;flex-direction:column;gap:.3rem}.project-stage-po-card strong{color:#17324d;font-size:1rem}.project-material-kpis{display:flex;flex-wrap:wrap;gap:.55rem}.project-material-kpis span{display:inline-flex;align-items:center;border-radius:999px;padding:.42rem .7rem;border:1px solid #d6e4f5;background:#f8fbff;color:#234161;font-size:.78rem;font-weight:700}.project-material-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;margin-top:1rem}.project-material-card{border:1px solid #d7e6f6;border-radius:1rem;padding:1rem;background:#fff}.project-material-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.9rem;flex-wrap:wrap}.project-material-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem;margin-top:1rem}.project-material-toolbar{display:flex;justify-content:flex-start;align-items:center;gap:.8rem;flex-wrap:wrap;margin-top:.9rem}.project-kanban-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}.project-kanban-column{display:flex;flex-direction:column;gap:.85rem;min-height:360px;padding:.95rem;border-radius:1rem;border:1px solid #d7e6f6;background:#f8fbff;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.project-kanban-column.is-drop-active{border-color:#93c5fd;box-shadow:inset 0 0 0 1px #3b82f61f}.project-kanban-column-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.project-kanban-count{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.82rem;font-weight:800}.project-kanban-list{display:flex;flex-direction:column;gap:.85rem;flex:1}.project-kanban-empty{border:1px dashed #bfd6ee;border-radius:.95rem;padding:1rem;color:#5a7593;background:#fff;font-size:.88rem}.project-kanban-limit-note{background:#f1f7ff;color:#40607f}.project-kanban-card{display:flex;flex-direction:column;gap:.75rem;border:1px solid #d7e6f6;border-radius:1rem;padding:.95rem;background:#fff;box-shadow:0 10px 22px #0f172a0d;cursor:grab}.project-kanban-card:active{cursor:grabbing}.project-kanban-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap}.project-kanban-meta{display:flex;flex-wrap:wrap;gap:.45rem}.project-kanban-meta span{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .6rem;border:1px solid #d6e4f5;background:#f8fbff;color:#234161;font-size:.76rem;font-weight:700}.project-kanban-po-field{margin-top:.1rem}.project-kanban-actions{display:flex;flex-direction:column;gap:.65rem}.planning-page .planning-stage-card,.planning-page .planning-toolbar-card,.planning-page .planning-import-card{margin-top:1rem}.planning-stage-helper-text{margin:.3rem 0 0}.planning-upload-zone{border-color:#c7ddf7;background:linear-gradient(180deg,#f8fbff,#eef6ff)}.planning-upload-line{display:flex;flex-wrap:wrap;gap:.75rem}.planning-table-wrap,.planning-preview-wrap{margin-top:1rem;width:100%;max-width:100%}.planning-table{min-width:1620px}.planning-preview-table{min-width:980px}.planning-col-client{min-width:320px;width:320px}.planning-col-project{min-width:260px;width:260px}.planning-col-comments{min-width:92px;width:92px;text-align:center}.planning-col-commercial{min-width:180px;width:180px}.planning-col-useRequested,.planning-col-actions{min-width:220px}.planning-col-last-update{min-width:180px;width:180px}.planning-checkbox-cell{display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap}.planning-checkbox-cell input{min-width:auto}.planning-action-cell{min-width:220px}.planning-action-cell select{width:100%;min-width:160px}.planning-row-on-time{background:#ecfdf3}.planning-row-on-time td{border-bottom-color:#bbf7d0}.planning-row-due-soon{background:#fff7ed}.planning-row-due-soon td{border-bottom-color:#fdba74}.planning-row-overdue{background:#fef2f2}.planning-row-overdue td{border-bottom-color:#fecaca}.planning-page .planning-stage-card,.planning-page .planning-toolbar-card{overflow:hidden}.planning-stage-footer{display:flex;justify-content:space-between;align-items:center;gap:.85rem;flex-wrap:wrap;margin-top:1rem}.planning-project-cell{display:block;min-width:0}.planning-project-name{color:#0f172a;overflow-wrap:anywhere}.planning-history-trigger{position:relative;width:30px;height:30px;border-radius:999px;border:1px solid #d8e2f0;background:#fff;color:#475569;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.planning-history-trigger:hover,.planning-history-trigger.has-unread{color:#0b66e4;border-color:#7cb7ff;background:#eff7ff;box-shadow:0 0 0 3px #0c66e41f}.planning-history-trigger span{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#64748b;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;line-height:1}.planning-history-trigger.has-unread span{background:#0b66e4}.planning-row-actions{display:flex;gap:.45rem;flex-wrap:wrap}.planning-header-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.planning-notification-pill{min-height:32px;border-radius:999px;border:1px solid #d8e2f0;background:#fff;color:#475569;padding:.35rem .7rem;display:inline-flex;align-items:center;gap:.35rem;font-weight:800;font-size:.82rem}.planning-notification-pill.has-unread{color:#0b66e4;border-color:#7cb7ff;background:#eff7ff}.planning-stage-header-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.planning-cell-missing{background:#fff7ed;color:#9a3412;font-weight:700}.planning-cell-critical{background:#fef2f2;color:#b91c1c;font-weight:700}.project-summary-card.warning{border-color:#fdba74;background:#fff7ed}.planning-in-progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.planning-in-progress-card{border:1px solid #d7e6f6;border-radius:1rem;padding:1rem;background:radial-gradient(circle at top right,rgba(59,130,246,.1),transparent 36%),#fff;box-shadow:0 10px 22px #0f172a0d}.planning-subsection-stack{display:grid;gap:1rem}.planning-capacity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.planning-capacity-card{border:1px solid #d7e6f6;border-radius:1rem;padding:1rem;background:linear-gradient(135deg,#0ea5e914,#3b82f60a),#fff;box-shadow:0 14px 28px #0f172a0d}.planning-capacity-bar-track{position:relative;overflow:hidden;height:.9rem;border-radius:999px;background:#dbeafe}.planning-capacity-bar-fill{position:absolute;top:0;left:0;height:100%;border-radius:999px;background:linear-gradient(90deg,#0ea5e9,#2563eb);transition:width .22s ease}.planning-capacity-bar-track.segmented{background:#e7eef7}.planning-capacity-bar-track.compact{height:.72rem}.planning-capacity-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.9rem}.planning-capacity-stat{display:grid;gap:.2rem}.planning-capacity-stat span{font-size:.78rem;color:#5b6b7f}.planning-capacity-stat strong{color:#0f172a}.planning-tab-strip{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem;border:1px solid #d6e4f5;border-radius:999px;background:#f8fbff}.planning-tab-button{border:none;background:transparent;color:#44607c;font-weight:700;padding:.5rem .95rem;border-radius:999px}.planning-tab-button.active{background:#0f172a;color:#fff}.planning-capacity-panel{border:1px solid #dbe7f5;border-radius:1rem;padding:1rem;background:#fff}.planning-capacity-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.planning-capacity-inline-metrics{display:flex;gap:.85rem;flex-wrap:wrap;color:#41576f;font-size:.92rem}.planning-capacity-inline-metrics span{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .7rem;border:1px solid #dbe7f5;border-radius:999px;background:#f8fbff}.planning-capacity-bar-track.simple{height:.72rem;background:#e7eef7}.planning-capacity-bar-fill.simple{background:#2563eb}.planning-capacity-bar-fill.reserved{background:#f59e0b}.planning-capacity-bar-fill.overloaded{background:#dc2626}.planning-capacity-table-wrap{margin-top:1rem;overflow-x:auto}.planning-capacity-table{width:100%;min-width:760px}.planning-week-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;align-items:start}.planning-week-card{border:1px solid #dbe7f5;border-radius:.95rem;padding:.9rem 1rem;background:#fff}.planning-week-card.overloaded{border-color:#fecaca;background:#fff8f8}.planning-week-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .75rem;margin-top:.8rem;color:#475569;font-size:.82rem}.planning-week-stats strong{color:#0f172a}.planning-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.planning-dashboard-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-ops-hero{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:0 0 .2rem}.planning-ops-hero-copy{display:grid;gap:.3rem}.planning-ops-hero-side{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.planning-hero-mini-stats{display:flex;gap:.55rem;flex-wrap:wrap}.planning-hero-mini-stats span{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .65rem;border-radius:999px;background:#fff;border:1px solid #d6e4f5;color:#33506d;font-size:.85rem}.planning-dashboard-card{border:1px solid #dbe7f5;border-left:4px solid #dbe7f5;border-radius:.9rem;padding:.9rem 1rem;background:#fff;display:grid;gap:.3rem;min-height:0}.planning-dashboard-card.warning{border-left-color:#f59e0b}.planning-dashboard-card.info{border-left-color:#2563eb}.planning-dashboard-card.accent{border-left-color:#7c3aed}.planning-dashboard-card.danger{border-left-color:#dc2626}.planning-dashboard-card.success{border-left-color:#16a34a}.planning-dashboard-card.subtle{border-left-color:#94a3b8}.planning-dashboard-label{font-size:.72rem;font-weight:700;color:#52657b;text-transform:uppercase;letter-spacing:.04em}.planning-dashboard-value{font-size:1.35rem;line-height:1;color:#0f172a}.planning-dashboard-helper{color:#52657b;font-size:.76rem}.planning-utility-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.85rem 1rem;border:1px solid #dbe7f5;border-radius:.95rem;background:#fff}.planning-filter-strip{display:flex;gap:.45rem;flex-wrap:wrap}.planning-filter-chip{border:1px solid #d6e4f5;background:#fff;color:#33506d;border-radius:999px;padding:.45rem .8rem;font-size:.78rem;font-weight:700}.planning-filter-chip.active{border-color:#0f172a;background:#0f172a;color:#fff}.planning-tools-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1rem}.planning-tool-panel{border:1px solid #dbe7f5;border-radius:1rem;padding:1rem;background:#fff}.planning-alert-chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem}.planning-alert-chip{display:grid;gap:.2rem;padding:.8rem .9rem;border-radius:.9rem;border:1px solid #dbe7f5;background:#f8fbff}.planning-alert-chip strong{color:#0f172a;overflow-wrap:anywhere}.planning-alert-chip span{color:#52657b;font-size:.8rem}.planning-alert-chip.warning{border-color:#fdba74;background:#fff7ed}.planning-alert-chip.danger{border-color:#fca5a5;background:#fef2f2}.planning-alert-chip.info{border-color:#93c5fd;background:#eff6ff}.planning-estimator-result{display:grid;gap:.25rem;padding:.85rem .95rem;border:1px solid #dbe7f5;border-radius:.95rem;background:#f8fbff;color:#33506d}.planning-in-progress-table{min-width:1280px}.planning-in-progress-table .planning-project-cell{display:grid;gap:.22rem}.planning-in-progress-table .planning-project-cell .small-text{display:block}.planning-commitment-chips{display:flex;gap:.35rem;flex-wrap:wrap}.planning-commitment-chip{display:inline-flex;align-items:center;padding:.24rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700;background:#e2e8f0;color:#334155}.planning-commitment-chip.active{background:#dbeafe;color:#1d4ed8}.planning-commitment-chip.reserved{background:#ffedd5;color:#9a3412}.planning-commitment-chip.overflow{background:#fee2e2;color:#b91c1c}.planning-ops-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.planning-ops-card{border:1px solid #dbe7f5;border-radius:1rem;padding:1rem;background:#fff}.planning-ops-card.quality{background:#fbfdff}.planning-employee-picker{border:1px solid #d6e4f5;border-radius:.95rem;background:#fbfdff}.planning-employee-picker summary{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem;cursor:pointer;font-weight:700;list-style:none}.planning-employee-picker summary::-webkit-details-marker{display:none}.planning-employee-picker-body{padding:0 1rem 1rem}.planning-sync-button{min-width:168px}.loading-spinner{width:.95rem;height:.95rem;border-radius:999px;border:2px solid rgba(37,99,235,.18);border-top-color:#2563eb;animation:planning-spin .9s linear infinite;flex:0 0 auto}.loading-spinner-inline{border-color:#ffffff47;border-top-color:#fff}.planning-alert-note{display:flex;align-items:flex-start;gap:.65rem;padding:.82rem .95rem;border-radius:.9rem;border:1px solid #dbe7f5;background:#f8fbff;color:#294766;flex-wrap:wrap}.planning-inline-status-stack{display:grid;gap:.35rem}.planning-week-projects{display:grid;gap:.35rem;margin-top:.9rem}.planning-week-project-row{display:grid;gap:.35rem;padding:.55rem 0;border-top:1px solid #e2e8f0;background:transparent}.planning-week-project-row:first-child{padding-top:0;border-top:none}.planning-week-project-row-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.planning-week-project-row-head strong,.planning-week-project-row-head span{display:block}.planning-week-project-row-head span{color:#52657b;font-size:.78rem}.planning-week-project-timeline{display:grid;gap:.45rem}.planning-week-project-track{overflow:hidden;height:1.45rem;border-radius:999px;background:#edf2f7;border:1px solid #dbe7f5}.planning-week-project-fill{display:flex;align-items:center;justify-content:flex-start;height:100%;min-width:0;border-radius:999px;padding:0 .7rem;color:#fff;font-size:.7rem;font-weight:700;white-space:nowrap}.planning-week-project-fill span{display:block;overflow:hidden;text-overflow:ellipsis}.planning-week-project-fill.active{background:#2563eb}.planning-week-project-fill.reserved{background:#f59e0b}.planning-week-project-overflow{color:#b91c1c;font-size:.78rem;font-weight:700}.planning-row-alerts{display:flex;gap:.35rem;flex-wrap:wrap}.planning-inline-alert{display:inline-flex;align-items:center;padding:.18rem .45rem;border-radius:999px;font-size:.68rem;font-weight:700;border:1px solid #dbe7f5;background:#f8fbff;color:#33506d}.planning-inline-alert.warning{border-color:#fdba74;background:#fff7ed;color:#9a3412}.planning-inline-alert.danger{border-color:#fca5a5;background:#fef2f2;color:#b91c1c}.planning-inline-alert.info{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.planning-load-stack{display:grid;gap:1rem}.planning-load-week.overloaded{border-color:#fecaca;background:#fff8f8}.planning-load-track-shell{overflow-x:auto}.planning-load-track{position:relative;display:flex;align-items:stretch;min-height:3.4rem;min-width:100%;border:1px solid #dbe7f5;border-radius:1rem;background:#edf2f7;overflow:hidden}.planning-load-empty{display:flex;align-items:center;justify-content:center;width:100%;color:#52657b;font-size:.9rem;padding:.85rem 1rem}.planning-load-capacity-marker{position:absolute;top:0;bottom:0;width:0;border-left:2px dashed #0f172a;opacity:.45;z-index:2}.planning-load-segment{position:relative;z-index:1;display:flex;align-items:center;min-width:0;padding:.75rem .85rem;color:#fff;font-size:.76rem;font-weight:700;border-right:1px solid rgba(255,255,255,.24)}.planning-load-segment span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-load-segment.active{background:#2563eb}.planning-load-segment.reserved{background:#f59e0b}.planning-load-segment.late{box-shadow:inset 0 -4px #b91c1c}.planning-load-segment.due_soon{box-shadow:inset 0 -4px #9a3412}.planning-dashboard-shell{display:grid;gap:1rem}.planning-dashboard-toolbar-card{display:grid;gap:.85rem}.planning-dashboard-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.planning-dashboard-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;align-items:end}.planning-dashboard-filter-actions{display:flex;align-items:center;align-self:end;gap:.75rem;min-height:42px}.planning-dashboard-filter-actions .btn-small{min-height:42px;white-space:nowrap}.planning-quad-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.planning-quad-card{display:grid;gap:1rem;align-content:start;min-height:0}.planning-quad-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.9rem;flex-wrap:wrap}.planning-quad-head h3,.planning-time-area-head h4{margin:.2rem 0 0}.planning-money-bars,.planning-unit-stack,.planning-time-bucket-stack{display:grid;gap:.75rem}.planning-money-row,.planning-unit-row,.planning-usage-area-row{display:grid;grid-template-columns:minmax(110px,140px) minmax(0,1fr) 120px;gap:.75rem;align-items:center}.planning-money-meta{display:grid;gap:.2rem}.planning-money-track{height:14px;border-radius:999px;overflow:hidden;background:#e7edf4}.planning-money-fill{height:100%;border-radius:999px}.planning-money-fill.cep{background:linear-gradient(90deg,#2563eb,#38bdf8)}.planning-money-fill.cem{background:linear-gradient(90deg,#16a34a,#34d399)}.planning-money-fill.budget{background:linear-gradient(90deg,#7c3aed,#a855f7)}.planning-money-value{text-align:right;color:#16324a}.planning-usage-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:1rem;align-items:center}.planning-usage-donut{width:180px;height:180px;border-radius:999px;display:grid;place-items:center;margin:0 auto}.planning-usage-donut>div{width:120px;height:120px;border-radius:999px;background:#fff;display:grid;place-items:center;text-align:center;color:#16324a}.planning-usage-donut strong{font-size:1.25rem}.planning-usage-donut span{font-size:.78rem;color:#64748b}.planning-usage-legend{display:grid;gap:.75rem}.planning-usage-total{display:grid;gap:.2rem}.planning-time-card{align-content:start}.planning-percent-dashboard-card{align-self:stretch}.planning-time-area-grid{display:grid;gap:1rem}.planning-time-area-card{border:1px solid #dbe7f5;border-radius:.85rem;padding:1rem;background:#fbfdff;display:grid;gap:.9rem}.planning-time-area-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;flex-wrap:wrap}.planning-time-area-head p{margin:.25rem 0 0}.planning-time-bucket-stack .planning-load-week{border:1px solid #dbe7f5;border-radius:.85rem;background:#fff;padding:.95rem}.planning-week-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(86px,1fr));gap:.45rem;margin-top:.85rem}.planning-week-metric{min-width:0;border:1px solid #dbe7f5;border-top:3px solid #64748b;border-radius:.55rem;background:#fbfdff;padding:.58rem .62rem;display:grid;gap:.18rem}.planning-week-metric span{color:#64748b;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.planning-week-metric strong{color:#0f172a;font-size:.95rem;line-height:1.15;overflow-wrap:anywhere}.planning-week-metric.capacity{border-top-color:#475569}.planning-week-metric.available{border-top-color:#16a34a}.planning-week-metric.worked{border-top-color:#0f766e}.planning-week-metric.rework{border-top-color:#dc2626}.planning-week-metric.quoted{border-top-color:#2563eb}.planning-week-metric.people{border-top-color:#7c3aed}.planning-money-dashboard-card{align-content:start}.planning-money-summary-grid,.planning-absorption-hero,.planning-units-total-card{display:grid;gap:.75rem}.planning-money-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.planning-absorption-hero{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-money-summary-grid>div,.planning-absorption-hero>div,.planning-units-total-card{border:1px solid #dbe7f5;border-radius:.75rem;background:#f8fbff;padding:.85rem;display:grid;gap:.25rem}.planning-money-summary-grid strong,.planning-absorption-hero strong,.planning-units-total-card strong{color:#16324a;font-size:1.15rem}.planning-money-summary-grid small,.planning-absorption-hero small,.planning-units-total-card small,.planning-unit-vertical-card small{color:#64748b;line-height:1.35}.planning-vertical-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.planning-area-column-card{border:1px solid #dbe7f5;border-radius:.85rem;background:#fff;padding:.9rem;display:grid;gap:.85rem;min-width:0}.planning-area-column-card.cep{box-shadow:inset 0 3px #2563eb}.planning-area-column-card.cem{box-shadow:inset 0 3px #16a34a}.planning-area-column-head{display:flex;justify-content:space-between;gap:.75rem;color:#16324a}.planning-area-column-head span{color:#64748b;font-size:.82rem;text-align:right}.planning-vertical-bars{min-height:190px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;align-items:end}.planning-vertical-bar-item{min-width:0;display:grid;gap:.35rem;justify-items:center;text-align:center}.planning-vertical-bar-track{height:132px;width:min(42px,80%);border-radius:999px;background:#e7edf4;overflow:hidden;display:flex;align-items:flex-end}.planning-vertical-bar-fill{width:100%;min-height:0;border-radius:999px 999px 0 0}.planning-vertical-bar-fill.quoted,.planning-percent-fill.quoted{background:#2563eb}.planning-vertical-bar-fill.worked,.planning-percent-fill.worked{background:#0f766e}.planning-vertical-bar-fill.rework,.planning-percent-fill.rework{background:#dc2626}.planning-vertical-bar-item strong{color:#16324a;font-size:.86rem}.planning-vertical-bar-item span{color:#64748b;font-size:.75rem}.planning-percent-stack{display:grid;gap:.75rem}.planning-percent-row{display:grid;grid-template-columns:120px minmax(0,1fr) 112px;align-items:center;gap:.75rem}.planning-percent-row>div:first-child{display:grid;gap:.2rem}.planning-percent-row strong{color:#16324a}.planning-percent-row>span{text-align:right;color:#64748b;font-weight:700}.planning-percent-track{height:18px;border-radius:999px;background:#e7edf4;overflow:hidden}.planning-percent-fill{height:100%;border-radius:999px}.planning-area-percent-grid,.planning-unit-vertical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.planning-area-percent-card{border:1px solid #dbe7f5;border-radius:.75rem;background:#fbfdff;padding:.8rem;display:grid;gap:.25rem}.planning-area-percent-card strong{color:#16324a}.planning-area-percent-card span{color:#64748b;font-size:.84rem}.planning-unit-vertical-card{border:1px solid #dbe7f5;border-radius:.75rem;background:#fbfdff;padding:.8rem;display:grid;grid-template-columns:46px minmax(0,1fr);gap:.75rem;align-items:center}.planning-unit-meter{height:92px;width:34px;border-radius:999px;background:#e7edf4;display:flex;align-items:flex-end;overflow:hidden}.planning-unit-meter>div{width:100%;min-height:0;border-radius:999px 999px 0 0;background:#7c3aed}.planning-unit-vertical-card>div:last-child{display:grid;gap:.2rem}.planning-unit-vertical-card strong{color:#16324a}.planning-unit-vertical-card span{color:#334155;font-size:.9rem}.planning-time-area-card.refined{border-radius:.85rem;background:linear-gradient(180deg,#fbfdff,#fff)}.planning-time-bucket-stack.refined{gap:1rem}.planning-time-bucket-head{gap:.7rem}.planning-time-bucket-head h4{font-size:.95rem;line-height:1.25}.planning-time-bucket-head .planning-capacity-inline-metrics{gap:.45rem}.planning-time-bucket-head .planning-capacity-inline-metrics span{padding:.34rem .55rem;font-size:.78rem}.planning-time-bucket-stack.refined .planning-load-track{min-height:3rem;border-radius:.7rem}.planning-time-bucket-stack.refined .planning-load-segment{padding:.6rem .65rem;font-size:.72rem}.planning-time-controls{display:flex;justify-content:flex-start;align-items:center;gap:.75rem;flex-wrap:wrap}.planning-time-bucket-actions{display:flex;justify-content:flex-end;align-items:center;gap:.45rem;flex-wrap:wrap}.planning-time-collapsed-state{display:grid;gap:.25rem;padding:.85rem;border:1px dashed #cbd5e1;border-radius:.75rem;background:#f8fafc;color:#334155}.planning-time-collapsed-state.compact{margin-top:.75rem;padding:.55rem .7rem}.planning-load-empty.plain{margin-top:.85rem;border:1px dashed #cbd5e1;border-radius:.55rem;background:#f8fafc;min-height:0}.planning-time-collapsed-state span{color:#64748b;font-size:.82rem;line-height:1.35}.planning-time-adjust-mode-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:.85rem}.planning-person-hours-panel{grid-column:1 / -1;display:grid;gap:.65rem}.planning-person-hours-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;color:#16324a}.planning-person-hours-head span{color:#64748b;font-size:.82rem}.planning-person-hours-grid{display:grid;gap:.55rem;max-height:260px;overflow:auto;padding-right:.2rem}.planning-person-hour-row{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:.75rem;align-items:center;padding:.65rem .7rem;border:1px solid #dbe7f5;border-radius:.7rem;background:#f8fbff}.planning-person-hour-row span,.planning-person-hour-row small{display:block;min-width:0}.planning-person-hour-row strong{color:#0f172a}.planning-person-hour-row small{margin-top:.12rem;color:#64748b;font-size:.74rem}.planning-person-hour-row input{width:100%;min-width:0;box-sizing:border-box;text-align:right}.planning-time-project-table{margin-top:.85rem}.planning-time-project-table table{min-width:680px}.planning-week-project-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .8rem;border-radius:.85rem;border:1px solid #dbe7f5;background:#fff}.planning-week-project-item.active{border-color:#bfdbfe;background:#eff6ff}.planning-week-project-item.reserved{border-color:#fed7aa;background:#fff7ed}.planning-week-project-item strong,.planning-week-project-item span{display:block}.planning-week-project-item span{color:#52657b;font-size:.78rem}.planning-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.planning-modal-grid textarea{width:100%;min-height:120px;resize:vertical;box-sizing:border-box}.planning-employee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.planning-employee-option{display:flex;align-items:flex-start;gap:.65rem;padding:.8rem .85rem;border:1px solid #d6e4f5;border-radius:.9rem;background:#fff;box-sizing:border-box}.planning-employee-option.is-selected{border-color:#93c5fd;background:#eff6ff}.planning-employee-option strong,.planning-employee-option span{display:block}.planning-production-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;align-self:flex-end}.planning-production-actions.stacked{align-items:stretch;align-self:auto}.project-po-modal{width:min(520px,calc(100vw - 1.5rem));background:#fff;border-radius:1rem;padding:1.1rem;display:flex;flex-direction:column;gap:.95rem;box-shadow:0 22px 45px #0f172a47}.project-po-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}.project-po-modal-actions{display:flex;justify-content:flex-end;gap:.8rem;flex-wrap:wrap}.planning-updates-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0f172a61;display:flex;justify-content:flex-end}.planning-updates-panel{width:min(620px,100vw);height:100vh;background:#f8fafc;box-shadow:-22px 0 44px #0f172a38;display:flex;flex-direction:column;overflow:hidden}.planning-updates-head{background:#fff;border-bottom:1px solid #e2e8f0;padding:1rem 1.1rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.planning-updates-head h3{margin:.15rem 0 0;color:#0f172a;line-height:1.25}.planning-updates-head p{margin:.35rem 0 0}.planning-updates-eyebrow{color:#0b66e4;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.planning-update-composer{margin:1rem;padding:.85rem;border:1px solid #d8e2f0;border-radius:12px;background:#fff;box-shadow:0 8px 20px #0f172a0f;position:relative}.planning-update-composer textarea{width:100%;min-height:110px;resize:vertical;border:1px solid #d8e2f0;border-radius:8px;padding:.75rem;font:inherit;outline:none}.planning-update-composer textarea:focus{border-color:#0b66e4;box-shadow:0 0 0 3px #0c66e41f}.planning-mention-menu{margin-top:.5rem;border:1px solid #d8e2f0;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 12px 28px #0f172a1f}.planning-mention-menu button{width:100%;border:0;background:#fff;color:#0f172a;padding:.55rem .65rem;display:flex;align-items:center;gap:.55rem;text-align:left;cursor:pointer}.planning-mention-menu button:hover{background:#eff7ff}.planning-mention-menu strong,.planning-mention-menu small{display:block}.planning-mention-menu strong{color:#0f172a}.planning-mention-menu small{color:#64748b}.planning-mention-avatar,.planning-update-avatar{width:32px;height:32px;border-radius:999px;background:#0b66e4;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:900;flex:0 0 auto}.planning-mentioned-users{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.55rem}.planning-mentioned-users button,.planning-update-mentions span{border:1px solid #b9dcff;background:#eff7ff;color:#0b66e4;border-radius:999px;padding:.25rem .55rem;font-weight:800;font-size:.78rem}.planning-mentioned-users button{cursor:pointer}.planning-update-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem}.planning-updates-feed{padding:0 1rem 1rem;overflow-y:auto;display:grid;gap:.75rem}.planning-update-item{display:grid;grid-template-columns:36px minmax(0,1fr);gap:.65rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:.85rem}.planning-update-body{min-width:0}.planning-update-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.planning-update-meta span{color:#64748b;font-size:.78rem}.planning-update-body p{margin:.55rem 0 0;color:#1e293b;white-space:pre-wrap;overflow-wrap:anywhere}.planning-update-mentions{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.65rem}@media (max-width: 900px){.planning-ops-grid{grid-template-columns:1fr}}@keyframes planning-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.quote-entry-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.quote-entry-helper{margin:.4rem 0 0;max-width:720px}.quote-entry-summary{display:flex;flex-wrap:wrap;gap:.6rem}.quote-entry-summary span{display:inline-flex;align-items:center;border:1px solid #d6e4f5;border-radius:999px;padding:.4rem .68rem;background:#ffffffeb;color:#234161;font-size:.8rem;font-weight:700}.quote-entry-switch{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.72rem;margin-top:.8rem}.quote-entry-switch button{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;min-height:96px;padding:.72rem .82rem;border-radius:1rem;border:1px solid #d5e2f1;background:#ffffffeb;color:#17324d;text-align:left;box-shadow:inset 0 1px #ffffffb3;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.quote-entry-switch button:hover{transform:translateY(-1px);border-color:#9dbce2;box-shadow:0 10px 24px #2563eb1f}.quote-entry-switch button.active{border-color:#2563eb;background:#eff6ff;box-shadow:0 14px 28px #2563eb29}.quote-entry-switch button strong{font-size:.96rem}.quote-entry-eyebrow{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#5a7593;font-weight:800}.quote-entry-caption{color:#4b5f75;line-height:1.45}.quote-section-separator{height:1px;margin:.95rem 0 1rem;background:linear-gradient(90deg,transparent 0%,#d6e4f5 18%,#bfdbfe 50%,#d6e4f5 82%,transparent 100%)}.quote-finalize-card{background:#fff;border:1px solid #dbe7f5}.quote-finalize-panel{display:flex;justify-content:center;align-items:center;flex-direction:column;gap:1rem;margin-top:.9rem;padding:.95rem 1rem;border:1px solid #d7e6f6;border-radius:1rem;background:#fff}.quote-finalize-title{font-size:.9rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#1d4ed8}.quote-finalize-copy{margin-top:.28rem;max-width:620px;text-align:center}.quote-finalize-button{display:inline-flex;align-items:center;justify-content:center;padding:.82rem 1.15rem;border-radius:.95rem;font-size:.9rem;font-weight:800;background:#1d4ed8;box-shadow:0 14px 28px #2563eb38}.quote-finalize-button:hover:not(:disabled){box-shadow:0 18px 34px #2563eb47}.quote-finalize-button.secondary{background:#0f766e;box-shadow:0 14px 28px #0f766e33}.quote-finalize-button.secondary:hover:not(:disabled){box-shadow:0 18px 34px #0f766e42}.quote-finalize-actions{display:flex;justify-content:center;align-items:center;gap:.8rem;flex-wrap:wrap;width:100%}.quote-history-card{margin-top:1rem;border:1px solid #dbe7f5;background:#fff}.quote-history-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.quote-history-copy{margin:.35rem 0 0;max-width:720px}.quote-history-badge{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .8rem;border-radius:999px;border:1px solid #cfe0f5;background:#eff6ff;color:#1e3a8a;font-size:.82rem;font-weight:800;white-space:nowrap}.quote-history-list{display:grid;gap:.85rem}.quote-history-entry{border:1px solid #d9e7f6;border-radius:1rem;padding:.95rem 1rem;background:#f8fbff}.quote-history-entry-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}.quote-history-meta{margin-top:.25rem}.quote-history-details{margin:.75rem 0 0 1rem;padding:0;display:grid;gap:.38rem;color:#15324e}.quote-history-empty{padding:1rem;border:1px dashed #d2deee;border-radius:.95rem;background:#f8fbff;color:#4b5f75}.payroll-aguinaldo-employees{margin-top:1.5rem;border-top:3px solid #dbeafe}.payroll-aguinaldo-employees>h3{margin-top:0}.payroll-nav{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1rem}.payroll-nav-link{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .85rem;border-radius:999px;border:1px solid #d7e6f6;background:linear-gradient(180deg,#fff,#f6f9fd);color:#17324d;text-decoration:none;font-weight:700;font-size:.82rem}.payroll-nav-link.active{background:linear-gradient(180deg,#eff6ff,#dbeafe);border-color:#93c5fd;color:#1d4ed8}.payroll-nav-link.external{border-style:dashed}.payroll-launch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}.payroll-launch-card{text-decoration:none;color:#17324d;transition:transform .12s ease,box-shadow .12s ease}.payroll-launch-card:hover{transform:translateY(-2px)}@media (max-width: 900px){.project-create-grid{grid-template-columns:1fr}.quote-history-header{flex-direction:column;align-items:stretch}.quote-history-badge{align-self:flex-start}.project-kanban-board{grid-template-columns:1fr}.planning-table,.planning-preview-table{min-width:0}.project-stage-inline-actions{width:100%}.project-po-modal{width:min(100vw - 1rem,520px);padding:.95rem}.planning-modal-grid,.planning-dashboard-grid,.planning-dashboard-grid.compact,.planning-tools-grid,.planning-week-grid,.planning-quad-grid,.planning-week-metric-grid,.planning-dashboard-filter-grid,.planning-usage-card{grid-template-columns:1fr}.planning-ops-hero{align-items:flex-start}.planning-ops-hero-side{width:100%;justify-content:space-between}.planning-hero-mini-stats{justify-content:flex-start}.planning-utility-bar{align-items:flex-start}.planning-money-row,.planning-unit-row,.planning-usage-area-row,.planning-money-summary-grid,.planning-absorption-hero,.planning-vertical-area-grid,.planning-area-percent-grid,.planning-unit-vertical-grid,.planning-percent-row,.planning-person-hour-row{grid-template-columns:1fr}.planning-percent-row>span{text-align:left}.planning-dashboard-filter-actions{align-items:flex-start;flex-direction:column;gap:.45rem}.planning-money-value{text-align:left}.planning-week-project-row-head{flex-direction:column}}.stack-row{display:flex;flex-direction:column;gap:.75rem}.inline-form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.components-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-top:.75rem}.components-grid label,.quotes-grid label,.field-label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.field-label{min-width:170px}input,select,textarea{border:1px solid #d1d5db;border-radius:.65rem;padding:.56rem .72rem;min-width:120px;background:#fff;font:inherit}.field-label input,.field-label select{height:40px;box-sizing:border-box}.field-label textarea{box-sizing:border-box;width:100%;min-height:104px;resize:vertical;line-height:1.5;padding-top:.7rem;padding-bottom:.7rem}.payroll-my-marks-filter{align-items:flex-end}.payroll-my-marks-field{flex:1 1 220px;min-width:0}.payroll-my-marks-field input[type=date],.payroll-my-marks-field input[type=month]{width:100%;min-width:0;max-width:100%}.payroll-attendance-summary .project-summary-card small{color:#6b7280;font-weight:600}.payroll-attendance-rank-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.payroll-attendance-rank-card>div{border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc;padding:.8rem;display:grid;gap:.25rem}.payroll-attendance-rank-card strong{color:#111827}input[type=checkbox]{width:16px;height:16px;min-width:16px;padding:0;margin:0;border-radius:.3rem;accent-color:#2563eb;vertical-align:middle}.field-label input[type=checkbox]{width:16px;height:16px;min-width:16px}.component-input,.numeric-cell-input{width:84px;min-width:84px;padding:.36rem .46rem;text-align:right}.quotes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin-bottom:1rem}.quote-card{border:1px solid #e5e7eb;border-radius:.75rem;padding:.8rem;background:#fafafa}.quote-card h4{margin:0 0 .5rem}.quote-alert{color:#b91c1c;font-weight:700}.quote-ok{color:#065f46;font-weight:600}.small-text{font-size:.75rem;overflow-wrap:anywhere}.search-label{font-size:.88rem;font-weight:600}.row-alert{background:#fff7ed}.row-alert td{border-bottom-color:#fed7aa}.row-alert-danger{background:#fef2f2}.row-alert-danger td{border-bottom-color:#fecaca}.row-approved{background:#f0fdf4}.row-approved td{border-bottom-color:#bbf7d0}.status-pill{display:inline-flex;align-items:center;min-height:1.65rem;padding:.18rem .58rem;border-radius:999px;font-size:.74rem;font-weight:800}.status-pill.success{background:#dcfce7;color:#166534}.status-pill.danger{background:#fee2e2;color:#991b1b}.status-pill.warning{background:#fef3c7;color:#92400e}.inventory-row-critical{background:#fff7f7}.inventory-row-critical td{border-bottom-color:#fecaca}.inventory-row-low-stock{background:#fff4e6}.inventory-row-low-stock td{border-bottom-color:#fdba74}.inventory-row-warning{background:#fffaf0}.inventory-row-warning td{border-bottom-color:#fde68a}.inventory-expand-button{border:1px solid #bfdbfe;background:linear-gradient(180deg,#fff,#eff6ff);color:#1d4ed8;padding:.42rem .72rem;border-radius:999px;font-size:.74rem;font-weight:700;box-shadow:none}.inventory-expand-button:hover,.inventory-expand-button.active{box-shadow:0 10px 22px #2563eb24}.inventory-transaction-type{display:inline-flex;align-items:center;padding:.24rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700}.inventory-transaction-type.entry{background:#dcfce7;color:#166534}.inventory-transaction-type.exit{background:#fee2e2;color:#b91c1c}.transaction-detail-row td{padding:0;background:#f8fbff}.transaction-detail-panel{padding:1rem;border-top:1px solid #dbe6f5}.transaction-detail-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:.9rem}.transaction-detail-meta-card{display:flex;flex-direction:column;gap:.22rem;padding:.8rem .85rem;border:1px solid #dbe6f5;border-radius:.9rem;background:#fff}.transaction-detail-meta-card span{font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.transaction-detail-meta-card strong{color:#0f172a}.transaction-detail-note{margin:0 0 .9rem;color:#334155}.transaction-detail-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.transaction-detail-item-card{display:flex;flex-direction:column;gap:.32rem;padding:.88rem .92rem;border:1px solid #dbe6f5;border-radius:.95rem;background:#fff}.transaction-detail-item-card strong{font-size:.96rem;line-height:1.25;color:#0f172a}.transaction-detail-item-part{font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#2563eb}.transaction-detail-item-qty{font-size:.82rem;color:#475569}.market-alert-chip{display:inline-block;margin-top:.3rem;padding:.16rem .45rem;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:.68rem;font-weight:700}.approval-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.approval-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem}.approval-header h3{margin:0}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700;background:#dcfce7;color:#166534}.status-pill.warning{background:#ffedd5;color:#9a3412}.status-pill.info{background:#dbeafe;color:#1d4ed8}.status-pill.rejected{background:#fee2e2;color:#991b1b}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:1rem;background:#0f172a6b}.modal-card{width:min(980px,100%);max-height:min(760px,calc(100vh - 2rem));overflow:auto;border-radius:8px;border:1px solid #dbe3ec;background:#fff;padding:1rem;box-shadow:0 22px 60px #0f172a3d}.approval-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:.6rem 0 .7rem}.approval-kpi{border:1px solid #e5e7eb;border-radius:.6rem;padding:.5rem;background:#f8fafc}.approval-kpi strong{display:block;font-size:.9rem;margin-bottom:.15rem}.approval-changes{margin-top:.65rem}.approval-list{margin-top:.45rem;border:1px solid #e5e7eb;border-radius:.7rem;max-height:220px;overflow:auto;background:#fff}.approval-change-row{display:grid;grid-template-columns:minmax(160px,1.35fr) minmax(92px,.95fr) minmax(92px,.95fr) minmax(92px,.9fr);gap:.45rem;padding:.45rem .55rem;border-bottom:1px solid #f1f5f9;align-items:center}.approval-change-row:last-child{border-bottom:none}.approval-change-row.header{font-size:.7rem;text-transform:uppercase;color:#6b7280;background:#f8fafc;font-weight:700;letter-spacing:.01em}.approval-change-row .delta-up{color:#b91c1c;font-weight:700}.approval-change-row .delta-down{color:#065f46;font-weight:700}.login-shell{min-height:calc(100vh - 140px);display:grid;place-items:center;padding:1.6rem 1rem;background:radial-gradient(circle at 20% 12%,rgba(14,165,233,.16),transparent 30%),radial-gradient(circle at 85% 18%,rgba(16,185,129,.12),transparent 28%),linear-gradient(180deg,#eef6ff,#f7fbff)}.login-card{width:min(480px,95vw);background:#fff;border:1px solid #dbe6f5;box-shadow:0 20px 45px #0f172a1f;border-radius:1rem;padding:1.45rem 1.45rem 1.55rem}.login-brand{display:flex;align-items:center;gap:.9rem}.login-brand img{width:58px;height:58px;object-fit:contain;padding:.35rem;border-radius:.75rem;border:1px solid #dbe6f5;background:#fff;box-sizing:border-box}.login-form{display:grid;gap:.95rem;margin-top:1rem}.login-badge{display:inline-flex;padding:.22rem .62rem;border-radius:999px;background:#eef2f7;color:#334155;font-size:.76rem;font-weight:700}.login-title{margin:.45rem 0 0;font-size:1.8rem;color:#0b1220}.login-subtitle{margin:0;color:#3b475c;font-size:1rem;line-height:1.45}.login-field{display:grid;gap:.35rem}.login-field>span{font-size:.86rem;font-weight:600;color:#1e293b}.login-field input{height:48px;border-color:#c7d2e2;background:#f8fafc}.login-field input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e}.login-submit{margin-top:.45rem;height:48px;font-size:1rem;border-radius:.75rem}.payroll-employees-page{display:grid;gap:1rem}.employee-list-header,.employee-profile-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.15rem 1.2rem;border:1px solid #d8e4f2;border-radius:1rem;background:linear-gradient(180deg,#fff,#f7fbff);box-shadow:0 16px 34px #0f172a12}.employee-list-header h2,.employee-profile-hero h2{margin:.22rem 0 0;color:#0f172a}.employee-profile-eyebrow{color:#1d4ed8;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.employee-profile-facts,.employee-profile-actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.employee-profile-facts{margin-top:.65rem}.employee-read-value{display:inline-flex;align-items:center;min-height:1.8rem;padding:.24rem .65rem;border-radius:999px;border:1px solid #dbe6f5;background:#fff;color:#334155;font-size:.78rem;font-weight:700}.employee-profile-fieldset{border:0;margin:0;padding:0;display:grid;gap:1rem;min-width:0}.employee-profile-fieldset:disabled{opacity:1}.employee-profile-fieldset:disabled input,.employee-profile-fieldset:disabled select,.employee-profile-fieldset:disabled textarea{color:#334155;background:#f8fafc;border-color:#e2e8f0}.employee-section{border:1px solid #d8e4f2;border-radius:1rem;padding:1rem;background:#fff;box-shadow:0 14px 30px #0f172a0f}.employee-section-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.85rem}.employee-section-head span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:.7rem;background:#dbeafe;color:#1d4ed8;font-size:.76rem;font-weight:900}.employee-section-head.private span{background:#dcfce7;color:#047857}.employee-section-head h3,.employee-subsection h4{margin:0;color:#0f172a}.employee-subsection{padding-top:.95rem;margin-top:.95rem;border-top:1px solid #edf2f7}.employee-subsection:first-of-type{padding-top:0;margin-top:0;border-top:0}.employee-subsection h4{margin-bottom:.75rem;font-size:.96rem}.employee-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem;align-items:end}.employee-field{display:grid;gap:.38rem;min-width:0;font-size:.88rem;font-weight:700;color:#334155}.employee-field-wide{grid-column:1 / -1}.employee-field-email{grid-column:span 2}.employee-field input,.employee-field select,.employee-field textarea{width:100%;min-width:0;box-sizing:border-box}.employee-check{display:inline-flex;align-items:center;gap:.52rem;min-height:40px;padding:.55rem .68rem;border:1px solid #d8e4f2;border-radius:.72rem;background:#f8fafc;font-weight:700;color:#334155;box-sizing:border-box}.employee-list-card .table-wrap{margin-top:.4rem}.employee-list-table{min-width:980px}.pdf-viewer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0206178c;z-index:70;display:grid;place-items:center;padding:.35rem}.pdf-viewer-modal{width:min(1600px,99vw);height:min(96vh,1200px);background:#fff;border-radius:.8rem;padding:.5rem;display:grid;grid-template-rows:auto 1fr;gap:.55rem;box-shadow:0 22px 45px #0f172a52}.pdf-viewer-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.pdf-viewer-frame{width:100%;height:100%;border:1px solid #cbd5e1;border-radius:.5rem}@media (max-width: 768px){.pdf-viewer-backdrop{padding:0}.pdf-viewer-modal{width:100vw;height:100vh;border-radius:0;padding:.35rem}.pdf-viewer-frame{border-radius:.35rem}}.quote-visual-wrap{overflow-x:auto}.quote-readonly-fieldset{border:0;margin:0;min-width:0;padding:0}.quote-readonly-fieldset:disabled{opacity:1}.quote-readonly-fieldset:disabled input,.quote-readonly-fieldset:disabled select,.quote-readonly-fieldset:disabled textarea,.quote-readonly-fieldset:disabled button{cursor:not-allowed}.quote-visual{width:100%;min-width:580px;height:auto;border:1px solid #e2e8f0;border-radius:.65rem;background:linear-gradient(180deg,#f8fbff,#f1f5ff)}.quote-rect{fill:#dbeafe;stroke:#1d4ed8;stroke-width:2}.quote-leg{stroke:#2563eb;stroke-width:4;stroke-linecap:round}.quote-support{stroke:#0f766e;stroke-width:3;stroke-dasharray:6 5}.quote-label{fill:#0f172a;font-size:13px;font-weight:700}.quote-note{fill:#0f172a;font-size:12px;font-weight:600}@media (max-width: 800px){.page-content{padding:1rem}.planning-modal-grid{grid-template-columns:1fr}.planning-production-actions,.planning-stage-footer{align-items:stretch}.planning-production-actions .btn-small,.planning-stage-footer .btn-small,.planning-sync-button{width:100%}.planning-table{min-width:1320px}.currency-strip{justify-content:space-between;flex-wrap:wrap;padding:.55rem 1rem 0}.approval-kpis,.approval-grid{grid-template-columns:1fr}.table{min-width:1500px}.payroll-self-page h2{font-size:1.35rem;margin:0 0 .65rem}.payroll-self-page .page-card{padding:1rem;border-radius:.75rem}.payroll-self-page .payroll-nav{display:flex;overflow-x:auto;gap:.45rem;padding-bottom:.25rem;scroll-snap-type:x proximity}.payroll-self-page .payroll-nav-link{flex:0 0 auto;scroll-snap-align:start;white-space:nowrap}.payroll-self-page .inline-form,.payroll-self-page .action-group,.payroll-self-page .project-stage-header,.payroll-self-page .table-pager{align-items:stretch;flex-direction:column}.payroll-self-page .field-label,.payroll-self-page select,.payroll-self-page input,.payroll-self-page button{width:100%}.payroll-self-page .project-summary-grid{grid-template-columns:1fr}.payroll-self-page .payroll-my-marks-filter{display:grid;grid-template-columns:1fr;gap:.75rem}.payroll-self-page .payroll-my-marks-field{width:100%;min-width:0;flex-basis:auto;gap:.45rem;font-size:1rem}.payroll-self-page .payroll-my-marks-field input[type=date]{height:56px;padding:.72rem .9rem;border-radius:.8rem;border-color:#cbd5e1;background:#fff;font-size:1rem;text-align:center}.payroll-self-page .payroll-my-marks-filter .btn-small{height:52px;border-radius:.72rem;font-size:.98rem}.payroll-self-page .table-wrap{overflow:visible}.payroll-self-page table{border:0;min-width:0;width:100%;max-width:100%;table-layout:fixed}.payroll-self-page thead{display:none}.payroll-self-page tbody,.payroll-self-page tr,.payroll-self-page td{display:block;width:100%}.payroll-self-page tr{border:1px solid #dbe3ef;border-radius:.55rem;margin-bottom:.75rem;overflow:hidden;background:#fff}.payroll-self-page td{border:0;border-bottom:1px solid #eef2f7;display:grid;grid-template-columns:minmax(0,1fr);gap:.3rem;padding:.65rem .75rem;text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.payroll-self-page td:last-child{border-bottom:0}.payroll-self-page td:before{content:attr(data-label);color:#475569;font-size:.78rem;font-weight:700;text-align:left}.payroll-self-page td[data-label=""]:before{content:""}.login-shell{min-height:100vh;padding:1rem}.login-card{width:100%;padding:1.1rem;border-radius:.85rem;box-sizing:border-box}.login-brand{align-items:flex-start}.login-brand img{width:54px;height:54px;padding:.32rem}.login-title{font-size:1.55rem}.login-field input,.login-submit{width:100%;min-width:0;box-sizing:border-box}.employee-list-header,.employee-profile-hero{flex-direction:column;align-items:stretch;padding:1rem;border-radius:.8rem}.employee-profile-actions{align-items:stretch;flex-direction:column}.employee-profile-actions .btn-small,.employee-profile-actions .inventory-secondary-link,.employee-list-header .content-link-button{width:100%;min-height:44px;box-sizing:border-box}.employee-section{padding:.9rem;border-radius:.8rem}.employee-form-grid{grid-template-columns:1fr}.employee-field-email{grid-column:auto}.employee-list-table{min-width:0}.payroll-employees-page .table-wrap{overflow:visible}.payroll-employees-page table{border:0;min-width:0;width:100%;table-layout:fixed}.payroll-employees-page thead{display:none}.payroll-employees-page tbody,.payroll-employees-page tr,.payroll-employees-page td{display:block;width:100%}.payroll-employees-page tr{border:1px solid #dbe3ef;border-radius:.7rem;margin-bottom:.75rem;overflow:hidden;background:#fff}.payroll-employees-page td{border:0;border-bottom:1px solid #eef2f7;display:grid;grid-template-columns:minmax(110px,.42fr) minmax(0,1fr);gap:.5rem;padding:.65rem .75rem}.payroll-employees-page td:last-child{border-bottom:0}.payroll-employees-page td:before{content:attr(data-label);color:#64748b;font-size:.78rem;font-weight:800}.payroll-employees-page td .action-group{margin:0}}@media (min-width: 801px) and (max-width: 1260px){.approval-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
