:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#172033;background:#f3f6f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}.topbar{background:#171717;color:#fff;border-bottom:4px solid #f27b21;padding:14px max(20px,calc((100% - 1040px)/2))}.brand{display:flex;align-items:center;gap:12px;letter-spacing:.02em}.brand-mark{height:42px;width:42px;border-radius:12px;background:#f27b21;color:#171717;font-weight:900;display:grid;place-items:center}.brand small{display:block;color:#cbd5e1;font-size:12px;margin-top:3px}.wrap{width:min(100% - 32px,960px);margin:32px auto 60px}.auth-card,.welcome,.invoice-card,.detail-card{background:#fff;border:1px solid #dde4ea;border-radius:18px;box-shadow:0 5px 18px #1020300b}.auth-card{width:min(100%,480px);margin:5vh auto;padding:28px}.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:800;color:#d36316;margin:0 0 8px}.auth-card h1,.welcome h1{font-size:clamp(24px,5vw,34px);margin:0 0 8px}.muted{color:#68758a;line-height:1.55;margin:0 0 18px}.tabs{display:flex;background:#f1f3f5;border-radius:12px;padding:4px;margin:22px 0}.tab{flex:1;border:0;border-radius:9px;padding:11px;background:transparent;font:inherit;color:#526071}.tab.active{background:#fff;color:#171717;font-weight:700;box-shadow:0 1px 4px #0001}form label{display:block;font-size:14px;font-weight:700;margin:14px 0;color:#303b4e}input,select{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid #cbd5df;border-radius:10px;background:#fff;font:inherit;color:#172033;min-height:48px}input:focus,select:focus{outline:3px solid #f27b2133;border-color:#e57b2b}button{font:inherit;cursor:pointer}.primary,.secondary{border-radius:10px;padding:12px 18px;font-weight:750}.primary{width:100%;border:0;background:#171717;color:white;margin-top:10px;min-height:50px}.primary:hover{background:#333}.secondary{background:#edf4f0;border:0;color:#183c2b}.message{min-height:22px;font-weight:650;color:#b23c26}.message.success{color:#17673b}.small{font-size:12px;line-height:1.5}.hidden{display:none!important}.welcome{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;margin-bottom:26px;gap:18px}.welcome p{margin-bottom:0}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:20px 2px}.section-heading h2{margin:0 0 5px;font-size:23px}.section-heading p{margin:0}.invoice-list{display:grid;gap:12px}.invoice-row{width:100%;text-align:left;border:1px solid #dbe3e9;background:#fff;padding:18px 20px;border-radius:14px;display:grid;grid-template-columns:1fr auto;gap:8px 20px;color:inherit;box-shadow:0 3px 12px #10203008}.invoice-row:hover{border-color:#e78a42;transform:translateY(-1px)}.invoice-number{font-weight:850;font-size:18px}.invoice-date,.invoice-small{font-size:13px;color:#68758a}.invoice-amount{text-align:right;font-size:18px;font-weight:850}.pill{display:inline-block;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;background:#edf2f7;color:#526071}.pill.process{background:#fff0d8;color:#8d4a00}.pill.done{background:#e3f5e9;color:#17673b}.invoice-row .pill{justify-self:start}.back{border:0;background:transparent;color:#94511e;font-weight:800;padding:8px 0;margin-bottom:12px}.detail-card{padding:22px;margin:0 0 14px}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.detail-head h1{margin:0 0 6px;font-size:26px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.stat{background:#f7f9fa;border-radius:12px;padding:14px}.stat small{display:block;color:#68758a;margin-bottom:5px}.stat b{font-size:18px}.subheading{font-size:18px;margin:22px 0 10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:11px 9px;text-align:left;border-bottom:1px solid #e7ebef;vertical-align:top}th{color:#637086;font-size:12px}.timeline{display:grid;gap:10px}.event{border-left:3px solid #e78335;padding:4px 0 5px 13px}.event b{display:block}.event small{color:#68758a}.signature-box{border:1px solid #dbe3e9;border-radius:12px;padding:14px}.signature-box canvas{display:block;width:100%;height:180px;touch-action:none;border:1px dashed #9aa8b7;border-radius:8px;background:#fff}.signature-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.signature-actions button{flex:1}.consent{display:flex;align-items:flex-start;gap:9px;font-weight:500!important;line-height:1.4}.consent input{width:18px;min-height:18px;height:18px;margin:1px 0}.empty{background:#fff;border:1px dashed #cbd5df;border-radius:14px;padding:24px;text-align:center;color:#68758a}footer{text-align:center;color:#788497;font-size:12px;padding:24px}@media(max-width:600px){.topbar{padding:12px 16px}.brand-mark{width:38px;height:38px}.wrap{width:min(100% - 22px,560px);margin:18px auto 40px}.auth-card{padding:22px 18px;margin:3vh auto}.welcome{align-items:flex-start;padding:18px;flex-direction:column}.welcome .secondary{width:100%}.section-heading{align-items:flex-start}.invoice-row{padding:15px;grid-template-columns:1fr}.invoice-amount{text-align:left}.detail-card{padding:17px}.detail-head{flex-direction:column}.detail-grid{grid-template-columns:1fr 1fr;gap:8px}.stat{padding:11px}.stat b{font-size:15px}.table-wrap{margin:0 -8px}th,td{padding:9px 7px;white-space:normal}.signature-box canvas{height:160px}}@media print{body{background:#fff}.topbar,footer,.back,.no-print,#dashboard-view{display:none!important}.wrap{width:100%;margin:0}.detail-card{box-shadow:none;border:0;padding:8px}.detail-head h1{font-size:20px}}
#client-results .selected{border-color:#e78a42;outline:3px solid #f27b2133}
.signed-image{display:block;max-width:300px;max-height:110px;object-fit:contain;border-bottom:1px solid #b5bec8;margin:8px 0}
.invoice-materials{display:block;margin-top:4px;color:#6b7280;font-size:12px;font-weight:400;line-height:1.4}
.invoice-line-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0 8px}.invoice-line-heading h3{margin:0}.invoice-line-card{border:1px solid #dbe3e9;background:#f9fbfc;border-radius:14px;padding:16px;margin:12px 0}.invoice-line-card .invoice-line-heading:first-child{margin-top:0}.invoice-line-materials{padding-top:8px;border-top:1px solid #e4e9ed}.invoice-line-materials .signature-actions{margin-top:8px;flex-wrap:wrap}.invoice-line-materials .signature-actions button{flex:0 1 auto}.invoice-material-row{display:flex;gap:8px;align-items:flex-end;margin:8px 0}.invoice-material-row select,.invoice-material-row input{margin-top:0}.invoice-material-row>button{min-width:78px}.invoice-totals{border-top:1px solid #e4e9ed;margin-top:18px;padding-top:8px}.invoice-totals>p{display:flex;justify-content:space-between;padding:10px 0;margin:0;border-bottom:1px solid #edf0f2}.invoice-editor{margin:22px 0}.invoice-editor>.reminder-head{margin-bottom:10px}.invoice-editor .subheading{margin-top:0}.invoice-editor .primary{margin-top:18px}.invoice-editor .message{margin-bottom:0}
@media(max-width:600px){.invoice-line-card{padding:13px}.invoice-line-heading{align-items:flex-start;flex-direction:column}.invoice-line-heading .secondary{width:100%}.invoice-material-row{align-items:stretch;flex-direction:column}.invoice-material-row>button{width:100%}.invoice-line-materials .signature-actions button{width:100%}.invoice-totals>p{gap:8px}}
.inventory-section{margin-top:26px}.inventory-section .section-heading{background:#fff;border:1px solid #dde4ea;border-radius:18px;padding:18px 20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}.form-grid label{margin:8px 0}.form-grid .primary{width:auto;min-width:170px}.purchase-table{min-width:560px}.purchase-table select,.purchase-table input{margin:0;min-width:150px}.purchase-table td:last-child{width:1%;white-space:nowrap}.detail-card .primary{width:auto;min-width:180px}.inventory-section [hidden]{display:none!important}@media(max-width:600px){.form-grid{grid-template-columns:1fr;gap:0}.inventory-section .section-heading{align-items:flex-start;flex-direction:column}.inventory-section .section-heading .secondary{width:100%}.purchase-table{font-size:12px}.purchase-table th,.purchase-table td{min-width:150px}.purchase-table th:last-child,.purchase-table td:last-child{min-width:70px}.inventory-section .table-wrap{overflow-x:auto}}
.business-dashboard{margin:22px 0 34px}.business-dashboard>h2{font-size:clamp(24px,4vw,32px);margin:0 0 18px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.metric-card{display:flex;align-items:center;gap:16px;min-width:0;min-height:132px;padding:20px;background:#fff;border:1px solid #dde4ea;border-radius:16px;box-shadow:0 4px 14px #1020300a}.metric-icon{display:grid;place-items:center;flex:0 0 68px;width:68px;height:68px;border-radius:50%;background:#eef4f7;font-size:35px;font-weight:800}.metric-card h3,.wage-total h3{font-size:clamp(14px,1.5vw,18px);line-height:1.3;margin:0 0 9px}.metric-card strong{display:block;font-size:clamp(18px,2vw,28px);line-height:1.2;overflow-wrap:anywhere}.metric-card.green .metric-icon{color:#087344;background:#dcf5e6}.metric-card.green strong{color:#087344}.metric-card.blue .metric-icon{color:#1262b6;background:#e2f0ff}.metric-card.blue strong{color:#1262b6}.metric-card.orange .metric-icon{color:#d34d0c;background:#fff0df}.metric-card.orange strong{color:#d34d0c}.metric-card.purple .metric-icon{color:#6723a4;background:#f0e4ff}.metric-card.purple strong{color:#6723a4}.metric-card.red .metric-icon{color:#c50f30;background:#ffe5eb}.metric-card.red strong{color:#c50f30}.reminder-card{padding:22px}.reminder-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.reminder-head h2,.reminder-head h3{margin:0}.reminder-head .muted{margin:6px 0 0}.wage-total{display:flex;align-items:center;gap:18px;padding:18px 20px;margin:18px 0;background:#fff8ef;border:1px solid #ffdfbe;border-radius:14px}.wage-total .metric-icon{color:#d34d0c;background:#ffecd5}.wage-total strong{font-size:clamp(28px,4vw,40px);line-height:1.1;color:#d34d0c}.wage-total .muted{margin:8px 0 0}.process-projects{border:1px solid #dde4ea;border-radius:14px;padding:18px}.search-label{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700}.search-label input{width:min(320px,48vw);margin:0}.process-projects .table-wrap{margin-top:8px}.process-projects th:first-child{min-width:90px}.process-projects th:last-child{min-width:130px}.process-projects td:last-child{font-weight:750;white-space:nowrap}@media(max-width:760px){.metric-grid{grid-template-columns:1fr;gap:11px}.metric-card{min-height:98px;padding:16px}.metric-icon{width:56px;height:56px;flex-basis:56px;font-size:28px}.metric-card h3{font-size:16px}.metric-card strong{font-size:24px;overflow-wrap:normal}.reminder-card{padding:17px}.reminder-head{align-items:flex-start;flex-direction:column}.search-label{display:block;width:100%}.search-label input{width:100%;margin-top:7px}.wage-total{align-items:flex-start;padding:16px;gap:12px}.wage-total strong{font-size:30px}.process-projects{padding:13px}.process-projects table{min-width:620px}.business-dashboard{margin-top:16px}}
.print-only{display:none}
@media print{
  @page{size:A4;margin:14mm 13mm}
  html,body{background:#fff!important;color:#172033!important;font-size:10pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .topbar,footer,.back,.no-print,#dashboard-view,#auth-view{display:none!important}
  .wrap{width:100%;max-width:none;margin:0;padding:0}
  #detail-view,#invoice-detail{display:block!important}
  .print-only{display:block!important}
  .invoice-print-header{display:grid!important;grid-template-columns:72px 1fr auto;align-items:center;gap:14px;border-bottom:2px solid #d96b1d;padding:0 0 11px;margin:0 0 14px}
  .invoice-print-header>img{width:70px;height:70px;object-fit:contain}
  .print-company h2{font-size:15pt;margin:0 0 4px;color:#172033}
  .print-company p{font-size:9pt;margin:0;color:#596579}
  .print-invoice-mark{text-align:right;display:grid;gap:3px}
  .print-invoice-mark b{font-size:16pt;letter-spacing:.06em;color:#d96b1d}
  .print-invoice-mark strong{font-size:12pt}
  .print-invoice-mark small{font-size:8.5pt;color:#596579}
  .invoice-client-print{border:1px solid #d8e0e6;border-radius:4px;padding:9px 11px;margin:0 0 12px;display:grid!important;gap:3px}
  .invoice-client-print>b{font-size:8pt;color:#d96b1d}
  .invoice-client-print strong{font-size:10pt}
  .invoice-client-print small{font-size:8pt;color:#596579}
  .detail-card{box-shadow:none!important;border:0!important;border-radius:0!important;padding:5px 0!important;margin:0 0 8px!important;break-inside:avoid}
  .detail-head{align-items:center;border-bottom:1px solid #d8e0e6;padding-bottom:6px}
  .detail-head h1{font-size:13pt;margin:0}
  .detail-head .muted{font-size:8pt;margin:0}
  .detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:8px 0}
  .stat{background:#f5f6f7!important;border:1px solid #e1e5e8;border-radius:3px;padding:7px}
  .stat small{font-size:7.5pt;margin-bottom:3px}
  .stat b{font-size:9pt}
  .subheading{font-size:10pt;margin:8px 0 5px}
  table{font-size:8.5pt}
  th,td{padding:6px 5px;border-color:#dfe4e8}
  th{font-size:7.5pt;background:#f5f6f7!important;color:#263244}
  .invoice-materials{display:block;font-size:7.5pt;color:#5e6877;margin-top:2px}
  .invoice-print-totals{width:min(100%,330px);margin:0 0 12px auto;display:grid!important;border-top:1px solid #d8e0e6;padding-top:4px}
  .invoice-print-totals>div{display:flex;justify-content:space-between;gap:18px;padding:3px 0;font-size:8.5pt}
  .invoice-print-totals>div:last-child{border-top:1px solid #9ba7b2;margin-top:3px;padding-top:6px;font-size:10pt}
  .timeline{gap:5px}
  .event{padding:2px 0 3px 9px;break-inside:avoid}
  .event p{margin:2px 0;font-size:8pt}
  .event small{font-size:7.5pt}
  .signature-print-card{break-inside:avoid;page-break-inside:avoid;margin-top:12px!important;border-top:1px solid #d8e0e6!important;padding-top:4px!important}
  .signature-print-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:28px;margin-top:5px}
  .signature-print-block{min-height:105px;display:flex;flex-direction:column;align-items:center;text-align:center;font-size:8pt}
  .signature-print-block>b{font-size:8pt}
  .signed-image{display:block;max-width:170px;max-height:65px;object-fit:contain;margin:4px auto}
  .director-signature{width:145px;height:72px;object-fit:contain;margin:1px auto}
  .signature-print-block strong{font-size:8pt;border-top:1px solid #4a5563;min-width:135px;padding-top:4px;margin-top:auto}
  .signature-print-block small{font-size:7.5pt;color:#596579}
  .signature-blank{width:70%;height:68px;border-bottom:1px solid #4a5563;margin:0 auto 4px}
  .pill{border:1px solid #d8e0e6;background:#fff!important;color:#263244!important}
  .table-wrap{overflow:visible}
}
.admin-invoice-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}
.admin-invoice-row>.signature-actions{margin:4px 0}
.admin-invoice-row>.form-grid{width:100%;padding:12px;border-radius:10px;background:#f7f9fa}
.employee-account-tools{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px;align-items:end}.employee-account-tools input{margin:0}.employee-summary{margin:24px 0}.employee-summary h2,#employee-receipts>h2{font-size:24px;margin:0 0 14px}.employee-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.employee-metrics article{background:#fff;border:1px solid #dde4ea;border-radius:14px;padding:17px;min-width:0}.employee-metrics span{display:block;color:#68758a;font-size:13px;margin-bottom:8px}.employee-metrics b{font-size:clamp(17px,2vw,24px);overflow-wrap:anywhere}.employee-metrics .balance{background:#fff7ed;border-color:#ffdfbe;color:#bd4b0d}.employee-project-list,.employee-receipt-list{display:grid;gap:12px}.employee-project{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px;border:1px solid #dde4ea;border-radius:14px}.employee-project-numbers{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.employee-project-numbers div{background:#f7f9fa;padding:11px;border-radius:10px}.employee-project-numbers small,.employee-project-numbers strong{display:block}.employee-project-numbers small{color:#68758a;margin-bottom:4px}.employee-receipt-card{background:#fff;border:1px solid #dde4ea;border-radius:16px;padding:18px}.employee-receipt-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.employee-receipt-head>b,.employee-receipt-head strong{font-size:18px}.employee-receipt-head span,.employee-history-note{display:block;color:#68758a;font-size:13px;margin-top:4px}.employee-receipt-card .muted{margin:10px 0}.employee-sign-canvas{height:170px}.employee-signed-image{display:block;max-width:240px;max-height:100px;object-fit:contain;border-bottom:1px solid #b5bec8;margin:10px 0}.signed-message{color:#17673b;font-weight:700}.employee-history-table{min-width:580px}.receipt-print{display:none;background:white;color:#172033;max-width:750px;margin:30px auto;padding:36px;font-size:15px}.receipt-print header{display:flex;align-items:center;gap:18px;padding-bottom:18px;border-bottom:3px solid #e87924}.receipt-print header img{width:105px;height:75px;object-fit:contain}.receipt-print header b,.receipt-print header span{display:block}.receipt-print header b{font-size:20px}.receipt-print header span{color:#68758a;margin-top:5px}.receipt-print-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid #e2e6ea}.receipt-print-row span{color:#68758a}.receipt-print-consent{margin:28px 0 10px}.receipt-print-signature{display:grid;justify-items:center;width:260px;min-height:145px;padding:10px;border-bottom:1px solid #253040}.receipt-print-signature img{max-width:240px;max-height:115px;object-fit:contain}.receipt-print-signature span{font-size:12px;color:#68758a}.receipt-print>p:last-child{color:#68758a;font-size:12px}.receipt-printing .topbar,.receipt-printing footer,.receipt-printing .employee-wrap>:not(.receipt-print){display:none!important}.receipt-printing .receipt-print{display:block!important}@media(max-width:700px){.employee-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-project-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-account-tools{grid-template-columns:1fr}.employee-account-tools button{width:100%}.employee-receipt-head{flex-direction:column}.receipt-print{padding:20px;margin:0}.receipt-print-row{grid-template-columns:130px minmax(0,1fr);font-size:13px}}@media print{body.receipt-printing{background:#fff!important}.receipt-printing>*{visibility:hidden!important}.receipt-printing .receipt-print,.receipt-printing .receipt-print *{visibility:visible!important}.receipt-printing .receipt-print{position:absolute;left:0;top:0;width:100%;max-width:none;margin:0;padding:0}.employee-sign-canvas,.signature-actions,.consent,.receipt-printing .primary{display:none!important}}
