/* Stage 34 — employee virtual balance */
.employeeBalancePage{height:100%;min-height:0;display:flex;flex-direction:column;gap:12px;overflow:auto;padding:2px 2px 22px}
.employeeBalanceHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid rgba(255,255,255,.055);border-radius:16px;background:#181818}
.employeeBalanceHeader h2{margin:4px 0 2px;color:#e6e8ea;font-size:20px}.employeeBalanceHeader p{margin:0;color:#737b81;font-size:8px}.balanceKicker{display:flex;gap:6px;align-items:center;color:#80888e;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.balanceEmployeeSelect{display:flex;align-items:center;gap:7px}.balanceEmployeeSelect span{color:#747c82;font-size:7px}.balanceEmployeeSelect select{height:31px;min-width:210px;border:1px solid rgba(255,255,255,.06);border-radius:9px;background:#222;color:#ccd0d3;padding:0 8px;font:inherit;font-size:8px}
.balanceTabs{display:flex;gap:5px}.balanceTabs button{height:31px;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid rgba(255,255,255,.045);border-radius:9px;background:#1b1b1b;color:#7f878d;cursor:pointer;font:inherit;font-size:8px}.balanceTabs button.active{background:#282828;color:#e0e3e5;border-color:rgba(255,255,255,.09)}.balanceTabs button:hover{background:#242424}
.balanceCards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.balanceCards article{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid rgba(255,255,255,.05);border-radius:13px;background:#1a1a1a}.balanceCards article>i{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#232323;color:#818a90;font-size:10px}.balanceCards article>div{min-width:0;display:flex;flex-direction:column}.balanceCards b{color:#e3e6e8;font-size:14px;line-height:1}.balanceCards span{margin-top:4px;color:#747c82;font-size:7px}
.balancePanel{border:1px solid rgba(255,255,255,.055);border-radius:15px;background:#181818;overflow:hidden}.balancePanelHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.04)}.balancePanelHead>div{min-width:0;display:flex;flex-direction:column}.balancePanelHead b{color:#cfd3d6;font-size:8.5px}.balancePanelHead span{margin-top:2px;color:#6e767c;font-size:7px}.balancePanelHead>button,.balanceInvoiceCreate button{height:29px;padding:0 9px;border:1px solid rgba(255,255,255,.055);border-radius:8px;background:#242424;color:#9ca3a8;cursor:pointer;font:inherit;font-size:7px}.balancePanelHead>button:hover,.balanceInvoiceCreate button:hover:not(:disabled){background:#2b2b2b;color:#e2e4e6}.balancePanelHead button:disabled,.balanceInvoiceCreate button:disabled{opacity:.35;cursor:not-allowed}
.balanceInvoiceCreate{display:flex;align-items:center;gap:5px}.balanceInvoiceCreate input,.balanceFilters input,.balanceFilters select,.analyticsPeriod input,.rateForm input,.rateForm select{height:29px;box-sizing:border-box;border:1px solid rgba(255,255,255,.055);border-radius:8px;background:#222;color:#b9bec2;padding:0 7px;font:inherit;font-size:7px}.balanceInvoiceCreate>span{color:#686f75;font-size:7px}
.balanceFilters{display:flex;align-items:center;gap:5px;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.035);overflow:auto}.balanceFilters select{min-width:115px}.balanceFilters button,.analyticsPeriod button,.rateForm button,.unratedList button{height:29px;display:flex;align-items:center;gap:5px;padding:0 8px;border:1px solid rgba(255,255,255,.055);border-radius:8px;background:#252525;color:#9ca2a7;cursor:pointer;font:inherit;font-size:7px;white-space:nowrap}
.balanceTableWrap{overflow:auto}.balanceTable{width:100%;border-collapse:collapse;table-layout:auto}.balanceTable th,.balanceTable td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.035);text-align:left;font-size:7.5px;color:#9fa5a9;vertical-align:middle}.balanceTable th{color:#70787e;font-size:6.8px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.balanceTable tbody tr:hover{background:#1e1e1e}.balanceTable td b{display:block;color:#b9bec2;font-size:7.5px}.balanceTable td small{display:block;margin-top:2px;color:#646c72;font-size:6.4px}.balanceTable td.amount{color:#d8dcdf;font-weight:800;white-space:nowrap}.balanceEmptyCell{text-align:center!important;color:#686f75!important;padding:20px!important}
.balanceStatus,.invoiceStatus{display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;background:#242424;color:#8a9298;font-size:6.6px;white-space:nowrap}.balanceStatus.accrued{color:#9cb5a6;background:rgba(83,132,104,.11)}.balanceStatus.in_invoice{color:#9aaac0;background:rgba(75,106,146,.12)}.balanceStatus.payable{color:#c0aa7c;background:rgba(150,113,48,.12)}.balanceStatus.paid,.invoiceStatus.paid{color:#7fb797;background:rgba(63,135,94,.12)}.balanceStatus.cancelled,.invoiceStatus.rejected{color:#b98287;background:rgba(150,68,76,.11)}
.balanceIconBtn{width:26px;height:26px;border:1px solid rgba(255,255,255,.045);border-radius:7px;background:#232323;color:#858c92;cursor:pointer}.balanceIconBtn:hover{background:#2b2b2b;color:#ddd}.balanceIconBtn.danger{color:#a97a7e}
.invoiceGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;padding:10px}.invoiceCard{padding:11px;border:1px solid rgba(255,255,255,.045);border-radius:12px;background:#1d1d1d}.invoiceCardTop{display:flex;align-items:center;justify-content:space-between;gap:8px}.invoiceCardTop time{color:#626a70;font-size:6.5px}.invoiceStatus.pending_review{color:#c0aa7c;background:rgba(150,113,48,.12)}.invoiceStatus.approved{color:#9aaec3;background:rgba(75,108,150,.12)}.invoiceCard h4{margin:9px 0 2px;color:#d6dade;font-size:10px}.invoiceCard p{margin:0;color:#70787e;font-size:7px}.invoiceCard>div:nth-of-type(2){display:flex;align-items:baseline;justify-content:space-between;margin-top:10px}.invoiceCard>div:nth-of-type(2) b{color:#e0e3e5;font-size:14px}.invoiceCard>div:nth-of-type(2) span{color:#72797f;font-size:7px}.invoiceCard>button{width:100%;height:28px;margin-top:9px;border:1px solid rgba(255,255,255,.05);border-radius:8px;background:#252525;color:#979ea3;cursor:pointer;font:inherit;font-size:7px}
.balanceEmpty{min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#687076}.balanceEmpty i{font-size:20px}.balanceEmpty b{font-size:8px;color:#9ca3a8}.balanceEmpty.small{min-height:75px}
.rateLayout{display:flex;flex-direction:column;gap:10px}.rateForm{display:grid;grid-template-columns:1fr 1fr 160px auto;gap:7px;padding:10px}.rateForm label{display:flex;flex-direction:column;gap:4px}.rateForm label>span{color:#70787e;font-size:6.8px}.rateForm button{align-self:end}.rateTableWrap{overflow:auto}.unratedList{display:flex;flex-direction:column}.unratedList article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-bottom:1px solid rgba(255,255,255,.035)}.unratedList article>div{min-width:0;display:flex;flex-direction:column}.unratedList b{color:#b8bdc1;font-size:7.8px}.unratedList span{margin-top:2px;color:#6e767c;font-size:6.8px}
.analyticsPeriod{display:flex;align-items:flex-end;gap:6px;padding:9px 0}.analyticsPeriod label{display:flex;flex-direction:column;gap:3px}.analyticsPeriod span{color:#71797f;font-size:6.8px}.balanceAnalyticsGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.balanceModal{position:fixed;inset:0;z-index:1900;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.64);backdrop-filter:blur(3px)}.balanceModal[hidden]{display:none}.balanceModalCard{width:min(900px,95vw);max-height:90vh;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#191919;box-shadow:0 25px 80px rgba(0,0,0,.5);overflow:hidden}.balanceModalHead{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid rgba(255,255,255,.05)}.balanceModalHead h3{margin:0;color:#dce0e3;font-size:10px}.balanceModalHead button{width:28px;height:28px;border:0;border-radius:8px;background:#242424;color:#8b9297;cursor:pointer;font-size:16px}.balanceModalBody{padding:13px 14px;overflow:auto}.balanceModalFoot{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:10px 14px;border-top:1px solid rgba(255,255,255,.05)}.balanceModalFoot .btn{width:auto;min-width:0;height:30px;padding:0 10px;font-size:7px}
.invoiceDocumentHead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.invoiceDocumentHead>div:first-child>span{color:#6e767c;font-size:6.5px;letter-spacing:.08em}.invoiceDocumentHead h3{margin:3px 0;color:#dfe2e4;font-size:15px}.invoiceDocumentHead p{margin:0;color:#747c82;font-size:7px}.invoiceDocumentHead>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.invoiceDocumentHead>div:last-child>b{color:#e1e4e6;font-size:20px}.invoiceDocument tr.cancelled{opacity:.42;text-decoration:line-through}.invoiceComment{display:flex;flex-direction:column;gap:3px;margin-top:10px;padding:8px;border-radius:9px;background:#222}.invoiceComment b{color:#8e969c;font-size:7px}.invoiceComment span{color:#b3b8bc;font-size:7.5px}
@media(max-width:1250px){.balanceCards{grid-template-columns:repeat(3,minmax(0,1fr))}.rateForm{grid-template-columns:1fr 1fr}.balanceAnalyticsGrid{grid-template-columns:1fr}}
@media(max-width:760px){.employeeBalanceHeader{flex-direction:column;align-items:flex-start}.balanceEmployeeSelect{width:100%;flex-direction:column;align-items:flex-start}.balanceEmployeeSelect select{width:100%}.balanceCards{grid-template-columns:1fr 1fr}.balancePanelHead{align-items:flex-start;flex-direction:column}.balanceInvoiceCreate{flex-wrap:wrap}.rateForm{grid-template-columns:1fr}.balanceTabs{overflow:auto}.balanceTabs button{white-space:nowrap}}
.invoiceHistory{margin-top:10px;border:1px solid rgba(255,255,255,.045);border-radius:9px;background:#1d1d1d}.invoiceHistory summary{padding:8px 9px;color:#8c9499;cursor:pointer;font-size:7px}.invoiceHistory>div{border-top:1px solid rgba(255,255,255,.04)}.invoiceHistory article{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:7px 9px;border-bottom:1px solid rgba(255,255,255,.035)}.invoiceHistory article:last-child{border-bottom:0}.invoiceHistory article>div{display:flex;flex-direction:column}.invoiceHistory b{color:#aeb4b8;font-size:7px}.invoiceHistory span{margin-top:2px;color:#666e74;font-size:6.4px}.invoiceHistory p{margin:0;color:#9b8083;font-size:6.8px;text-align:right}
