:root{--bg:#0f172a;--panel:#111827;--panel2:#1f2937;--muted:#94a3b8;--text:#f8fafc;--line:#334155;--accent:#f59e0b;--good:#22c55e;--bad:#ef4444;--warn:#f59e0b;--blue:#38bdf8}*{box-sizing:border-box}body{color:var(--text);background:linear-gradient(135deg,#020617,#0f172a 50%,#111827);margin:0;font-family:Inter,system-ui,Segoe UI,Arial,sans-serif}button,.btn{background:var(--accent);color:#111827;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-weight:800;text-decoration:none;display:inline-flex}button.secondary,.btn.secondary{color:var(--text);border:1px solid var(--line);background:#1f2937}button.danger{color:#fff;background:#7f1d1d}input,select,textarea{color:#fff;background:#0b1220;border:1px solid #334155;border-radius:12px;width:100%;padding:11px}textarea{min-height:90px}.layout{grid-template-columns:270px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#020617eb;height:100vh;padding:18px;position:sticky;top:0;overflow:auto}.brand{align-items:center;gap:12px;margin-bottom:18px;display:flex}.logo{background:var(--accent);color:#111827;border-radius:14px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.nav{gap:6px;display:grid}.nav button{color:#cbd5e1;background:0 0;justify-content:flex-start}.nav button.active{color:#fff;background:#f59e0b29;border:1px solid #f59e0b66}.main{padding:24px 26px 90px}.top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.title h1{margin:0;font-size:30px}.title p{color:var(--muted);margin:5px 0 0}.grid{gap:16px;display:grid}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{border:1px solid var(--line);background:#0f172ad1;border-radius:20px;padding:18px;box-shadow:0 10px 28px #00000040}.stat{font-size:31px;font-weight:900}.muted{color:var(--muted);font-size:13px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.between{justify-content:space-between;align-items:center;gap:12px;display:flex}.table-wrap{overflow:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px}.badge{background:#1e293b;border:1px solid #475569;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;display:inline-flex}.badge.good{background:#22c55e26;border-color:#22c55e66}.badge.warn{background:#f59e0b24;border-color:#f59e0b59}.badge.bad{background:#ef444424;border-color:#ef444459}.field{gap:7px;display:grid}.field label{color:#cbd5e1;text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:800}.modal-backdrop{z-index:50;background:#000000b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:#0f172a;border:1px solid #475569;border-radius:22px;width:min(1050px,96vw);max-height:90vh;padding:20px;overflow:auto}.tabs{gap:8px;margin:0 0 16px;display:flex;overflow:auto}.tabs button{color:#cbd5e1;white-space:nowrap;background:#1f2937}.tabs button.on{background:var(--accent);color:#111827}.mobile-nav{display:none}.kanban{grid-template-columns:repeat(4,minmax(250px,1fr));gap:14px;display:grid;overflow:auto}.lane{border:1px solid var(--line);background:#0f172a8c;border-radius:18px;min-height:360px;padding:12px}.job-card{background:#111827;border:1px solid #334155;border-radius:16px;margin:10px 0;padding:13px}.print-invoice{color:#111827;background:#fff;border-radius:10px;padding:30px}.login{place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{width:min(480px,96vw)}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;display:grid}.photo-grid img{object-fit:cover;border:1px solid #334155;border-radius:12px;width:100%;height:110px}.accent-swatch{background:var(--accent);border-radius:99px;width:18px;height:18px;display:inline-block}@media (width<=900px){.layout{display:block}.sidebar{display:none}.main{padding:16px 12px 90px}.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}.top{flex-direction:column;align-items:flex-start}.mobile-nav{z-index:40;background:#020617;border-top:1px solid #334155;gap:6px;padding:8px;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:auto}.mobile-nav button{color:#cbd5e1;background:#111827;min-width:78px;font-size:12px}.mobile-nav button.active{background:var(--accent);color:#111827}.kanban{grid-template-columns:1fr}.table th:nth-child(4),.table td:nth-child(4){display:none}}@media print{body{color:#111;background:#fff}.layout,.sidebar,.mobile-nav,.top,.tabs,button{display:none!important}.modal-backdrop{background:#fff;padding:0;position:static}.modal{background:#fff;border:0;width:100%;max-height:none;padding:0}.print-invoice{display:block}}.table-wrap{width:100%;overflow-x:auto}.table{border-collapse:collapse;table-layout:fixed;width:100%}.table th,.table td{vertical-align:top;border-bottom:1px solid #94a3b838;padding:14px}.table th{text-align:left;white-space:nowrap}.table td:last-child{width:260px;min-width:260px}.table td:last-child .row{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px;display:flex}.table td:last-child button,.table td:last-child .btn{white-space:nowrap;min-height:44px}.table th:first-child,.table td:first-child{width:35%}.table th:nth-child(2),.table td:nth-child(2){width:22%}.table th:nth-child(3),.table td:nth-child(3){width:16%}.table tr{border-bottom:none}.table .row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.table .danger{margin:0}@media (width<=900px){.table{min-width:760px}.table td:last-child{width:160px;min-width:160px}}.inventory-table{table-layout:fixed!important;width:100%!important;min-width:0!important}.inventory-table th,.inventory-table td{vertical-align:top;padding:14px 10px}.inventory-table th:first-child,.inventory-table td:first-child{width:17%}.inventory-table th:nth-child(2),.inventory-table td:nth-child(2){width:27%}.inventory-table th:nth-child(3),.inventory-table td:nth-child(3){width:16%}.inventory-table th:nth-child(4),.inventory-table td:nth-child(4),.inventory-table th:nth-child(5),.inventory-table td:nth-child(5),.inventory-table th:nth-child(6),.inventory-table td:nth-child(6),.inventory-table th:nth-child(7),.inventory-table td:nth-child(7){width:8%}.inventory-table th:nth-child(8),.inventory-table td:nth-child(8){width:8%!important;min-width:100px!important}.inventory-table td:nth-child(8) .row{flex-direction:column;align-items:stretch;gap:8px;display:flex}.inventory-table td:nth-child(8) button{justify-content:center;width:100%;min-height:38px;padding:8px 10px}.inventory-table th,.inventory-table td{overflow-wrap:anywhere;word-break:normal}@media (width>=901px){.inventory-table{min-width:0!important}.inventory-table td:last-child,.inventory-table th:last-child{width:8%!important;min-width:100px!important}}.invoice-preview input,.invoice-preview textarea,.print-invoice input,.print-invoice textarea{box-sizing:border-box;width:100%;height:auto;min-height:44px;padding:10px 12px;font-size:14px;line-height:1.35}.invoice-preview textarea,.print-invoice textarea{resize:vertical;white-space:pre-wrap;min-height:80px}.invoice-preview .field,.print-invoice .field{min-width:0}.invoice-preview .grid,.print-invoice .grid{align-items:start}@media print{.invoice-preview input,.invoice-preview textarea,.print-invoice input,.print-invoice textarea{white-space:normal!important;background:0 0!important;border:none!important;min-height:auto!important;padding:2px 0!important;overflow:visible!important}.invoice-preview textarea,.print-invoice textarea{height:auto!important;min-height:40px!important}.invoice-preview .field,.print-invoice .field{break-inside:avoid;page-break-inside:avoid}}.invoice-lines{overflow-x:auto}.invoice-lines-table{table-layout:fixed;width:100%;min-width:980px}.invoice-lines-table th,.invoice-lines-table td{vertical-align:top;padding:12px 10px}.invoice-lines-table th:first-child,.invoice-lines-table td:first-child{width:15%}.invoice-lines-table th:nth-child(2),.invoice-lines-table td:nth-child(2){width:31%}.invoice-lines-table th:nth-child(3),.invoice-lines-table td:nth-child(3){width:10%}.invoice-lines-table th:nth-child(4),.invoice-lines-table td:nth-child(4),.invoice-lines-table th:nth-child(5),.invoice-lines-table td:nth-child(5),.invoice-lines-table th:nth-child(6),.invoice-lines-table td:nth-child(6){width:12%}.invoice-lines-table th:nth-child(7),.invoice-lines-table td:nth-child(7){width:8%}.invoice-lines-table input,.invoice-lines-table textarea{box-sizing:border-box;width:100%;min-width:0;min-height:50px;padding:12px 14px;font-size:16px;line-height:1.35}.invoice-lines-table textarea{resize:vertical;min-height:70px}.invoice-lines-table .danger{justify-content:center;width:48px;min-width:48px;padding:12px 0}
