:root{--bg: #f6f7fb;--panel: #ffffff;--text: #0b1220;--muted: #5b6476;--accent: #2563eb;--danger: #b91c1c;--border: rgba(15, 23, 42, .14)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";background:radial-gradient(900px 500px at 15% -10%,rgba(37,99,235,.12),transparent),radial-gradient(900px 500px at 90% 0%,rgba(16,185,129,.1),transparent),var(--bg);color:var(--text)}.page{min-height:100%;display:grid;grid-template-rows:auto 1fr}.header{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid var(--border);background:#ffffffbf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{font-weight:800;letter-spacing:.4px;text-transform:uppercase}.nav{display:flex;gap:12px;align-items:center}.navLink{color:var(--text);text-decoration:none;padding:8px 10px;border:1px solid transparent;border-radius:10px}.navLink:hover{border-color:var(--border);background:#0b0f1773}.headerRight{display:flex;gap:10px;align-items:center}.status{color:var(--muted);font-size:14px}.pill{display:inline-flex;align-items:center;padding:2px 10px;border:1px solid var(--border);border-radius:999px;color:var(--text)}.main{padding:18px;display:grid;place-items:start stretch}.card{width:100%;padding:18px;border:1px solid var(--border);border-radius:14px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 24px 70px #0f172a1a}.cardTitle{font-size:18px;font-weight:700;margin-bottom:10px}.stack{width:100%;display:grid;gap:14px}.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:14px}.btn{border:1px solid rgba(37,99,235,.35);background:#2563eb1a;color:var(--text);border-radius:10px;padding:10px 12px;font-weight:650;cursor:pointer}.btn:hover{background:#2563eb24}.btn:disabled{opacity:.6;cursor:not-allowed}.btnDanger{border-color:#b91c1c47;background:#b91c1c0f;color:#7f1d1d}.btnDanger:hover{background:#b91c1c1a}.btnIcon{padding:8px 10px;min-width:40px}.form{display:grid;gap:12px}.label{display:grid;gap:6px;color:var(--muted);font-size:13px}.input,.select{border:1px solid var(--border);border-radius:10px;background:#ffffffe6;padding:10px 12px;color:var(--text);outline:none}.input:focus,.select:focus{border-color:#2563eb8c}.list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.jobCard{display:block;text-decoration:none;color:var(--text);padding:12px;border-radius:12px;border:1px solid var(--border);background:#ffffffe6}.jobCardRow{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}.jobCard:hover{border-color:#2563eb47;background:#fff}.listItem{padding:12px;border-radius:12px;border:1px solid var(--border);background:#ffffffe6;display:flex;align-items:baseline;justify-content:space-between}.rowLink{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:12px;border-radius:12px;border:1px solid var(--border);background:#ffffffe6;color:var(--text);text-decoration:none}.rowLink:hover{border-color:#2563eb47;background:#fff}.listTitle{font-weight:700}.muted{color:var(--muted);font-size:14px}.alert{border:1px solid rgba(185,28,28,.25);background:#b91c1c0f;color:#7f1d1d;border-radius:12px;padding:10px 12px}.notice{border:1px solid rgba(22,163,74,.25);background:#16a34a0f;color:#14532d;border-radius:12px;padding:10px 12px}.toastStack{position:fixed;right:16px;bottom:16px;display:grid;gap:10px;z-index:1000}.toast{max-width:min(520px,calc(100vw - 32px));border-radius:12px;padding:10px 12px;box-shadow:0 10px 25px #0f172a26;border:1px solid rgba(148,163,184,.35);background:#fffffffa;color:var(--text)}.toast-success{border-color:#16a34a4d;background:#f0fdf4fa}.toast-error{border-color:#b91c1c4d;background:#fef2f2fa}.toast-info{border-color:#2563eb4d;background:#eff6fffa}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end;margin-bottom:12px}.span2{grid-column:1 / -1}.field{display:grid;gap:6px}.textarea{border:1px solid var(--border);border-radius:10px;background:#ffffffe6;padding:10px 12px;color:var(--text);outline:none;resize:vertical}.textarea:focus{border-color:#2563eb8c}.pageTitleRow{display:flex;align-items:center;justify-content:space-between;gap:12px}.pageTitle{margin:0;font-size:22px;font-weight:800;letter-spacing:-.01em}.rowBetween{display:flex;align-items:center;justify-content:space-between;gap:12px}.sectionTitle{font-weight:800;font-size:16px}.photoGrid{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.photoCard{border:1px solid var(--border);border-radius:12px;padding:10px;background:#ffffffe6}.photoImg{width:100%;height:160px;object-fit:cover;border-radius:10px;border:1px solid rgba(15,23,42,.06)}.grid3{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;align-items:end;margin-bottom:12px}.grid4{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end;margin-bottom:12px}.board{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(180px,1fr));overflow-x:auto;padding-bottom:6px}.col{border:1px solid var(--border);border-radius:14px;background:#ffffffe6;padding:12px;min-width:220px}.colTitle{font-weight:800;letter-spacing:.2px;margin-bottom:10px}.colBody{display:grid;gap:10px}.totals{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}.table{display:grid;gap:8px}.thead,.trow,.tfoot{display:grid;grid-template-columns:2.2fr 1fr .6fr .4fr .8fr;gap:12px;align-items:center}.tableLabor .thead,.tableLabor .trow,.tableLabor .tfoot,.tableParts .thead,.tableParts .trow,.tableParts .tfoot{grid-template-columns:2.2fr 1fr 1fr .6fr .4fr .8fr 44px}.tableParts .thead,.tableParts .trow,.tableParts .tfoot{grid-template-columns:2.2fr 1fr 1fr .6fr .5fr .35fr .4fr .8fr 44px}.thead{font-weight:800;padding-bottom:8px;border-bottom:1px solid var(--border)}.trow{padding:8px 0}.tfoot{padding-top:10px;border-top:1px solid var(--border)}.right{text-align:right}.center{text-align:center}.invoiceTotals{width:min(520px,100%);margin-left:auto;border:1px solid var(--border);border-radius:14px;padding:14px;background:#0b0f1759}.itRow{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.itStrong{font-weight:900}.inputSmall{width:80px;padding:8px 10px}.cardWide{width:100%}.cellStack{display:grid;gap:6px}.cellStack .input{width:100%}.tiny{font-size:12px}.linkBtn{border:0;background:transparent;color:var(--accent);padding:0;cursor:pointer;font:inherit}.linkBtn:hover{text-decoration:underline}.inputTiny{width:64px;padding:6px 8px}.error{margin:10px 0;padding:10px 12px;border-radius:12px;border:1px solid rgba(185,28,28,.28);background:#b91c1c0f;color:#7f1d1d;overflow-wrap:anywhere}@media (max-width: 860px){.grid2,.grid3,.grid4,.thead,.trow,.tfoot{grid-template-columns:1fr}}
