:root{color:#162127;background:#f4f6f8;--brand-black: #101010;--brand-panel: #171717;--brand-panel-soft: #202020;--brand-gold: #d4861c;--brand-gold-bright: #f2a21f;--brand-silver: #d5d1c8;--brand-muted: #9b9488;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f4f6f8}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 18%,rgba(212,134,28,.28),transparent 32%),radial-gradient(circle at 80% 80%,rgba(180,180,180,.1),transparent 30%),linear-gradient(135deg,#050505,#151515 52%,#080808)}.login-panel{width:min(520px,100%);background:linear-gradient(180deg,#202020f5,#0c0c0cfa);border:1px solid rgba(212,134,28,.42);border-radius:8px;padding:28px;box-shadow:0 28px 80px #0000009e,inset 0 1px #ffffff14}.login-logo{width:100%;height:auto;display:block;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#050505}.login-copy{margin:20px 0 24px}.login-copy span{color:var(--brand-gold-bright);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:0}.login-panel h1{margin:8px 0 7px;color:var(--brand-silver);font-size:31px;line-height:1.08}.login-panel p{margin:0;color:var(--brand-muted)}.login-panel form{display:grid;gap:16px;margin-top:22px}.login-panel label{color:#ddd8cf}.login-panel input{border-color:#3a342d;background:#0e0e0e;color:#f5f0e8}.login-panel input:focus{outline-color:#f2a21f42;border-color:var(--brand-gold-bright)}.login-panel .primary-button{background:linear-gradient(180deg,var(--brand-gold-bright),#b66a12);color:#15100a;box-shadow:0 10px 26px #d4861c47}.login-panel .primary-button:hover{background:linear-gradient(180deg,#ffb13b,#c77513)}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.sidebar{background:#17272b;color:#eef7f5;padding:24px;display:flex;flex-direction:column;gap:28px}.brand-block{display:flex;align-items:center;gap:14px}.brand-block h1{font-size:21px;margin:0}.brand-block span,.user-panel span{color:#9fb4b4;font-size:13px}.main-nav{display:grid;gap:8px}.main-nav button,.ghost-button{border:0;border-radius:8px;color:#dce9e7;background:transparent;display:flex;align-items:center;gap:10px;padding:12px;text-align:left}.main-nav button.active,.main-nav button:hover,.ghost-button:hover{background:#264045;color:#fff}.user-panel{margin-top:auto;display:grid;gap:8px}.store-pill{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:7px 9px;border-radius:999px;color:#d8fffa;background:#0f766e;font-size:13px}.workspace{padding:28px;overflow:auto}.workspace-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.workspace-header h2{margin:3px 0 0;font-size:30px}.eyebrow{margin:0;color:#64717a;font-size:13px;text-transform:uppercase;letter-spacing:0;font-weight:700}.loading-pill{padding:8px 12px;border-radius:999px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.panel{background:#fff;border:1px solid #dfe6ea;border-radius:8px;padding:20px;box-shadow:0 10px 30px #0f172a0a}.panel h3{margin:0 0 16px;font-size:18px}.wide{grid-column:1 / -1}.form-grid{display:grid;gap:18px}.field-grid{display:grid;gap:14px}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}label{display:grid;gap:7px;color:#3c4850;font-size:14px;font-weight:650}input,select,textarea{width:100%;border:1px solid #ccd7dd;border-radius:8px;padding:10px 11px;background:#fff;color:#162127}textarea{min-height:92px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(15,118,110,.16);border-color:#0f766e}.choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.check-card{min-height:48px;display:flex;align-items:center;gap:9px;border:1px solid #d9e2e7;border-radius:8px;padding:10px;background:#fbfcfd;font-weight:600}.check-card input{width:auto}.photo-upload{width:fit-content;min-height:46px;display:inline-flex;align-items:center;gap:9px;border:1px dashed #9db0ba;border-radius:8px;padding:11px 14px;background:#fbfcfd;color:#26343b;cursor:pointer}.photo-upload input{display:none}.photo-preview-grid,.receipt-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.photo-preview-grid figure,.receipt-photo-grid figure{position:relative;margin:0;border:1px solid #dfe6ea;border-radius:8px;overflow:hidden;background:#fff}.photo-preview-grid img,.receipt-photo-grid img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;background:#eef2f4}.photo-preview-grid figcaption,.receipt-photo-grid figcaption{padding:8px;color:#66747d;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-remove{position:absolute;top:7px;right:7px;width:28px;height:28px;border:0;border-radius:999px;display:grid;place-items:center;background:#0f172ab8;color:#fff}.form-actions{display:flex;justify-content:flex-end}.primary-button,.secondary-button{border:0;border-radius:8px;padding:11px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:750}.primary-button{background:#0f766e;color:#fff}.primary-button:hover{background:#0b5f58}.primary-button:disabled{opacity:.6;cursor:not-allowed}.secondary-button{border:1px solid #cdd8df;background:#fff;color:#25333a}.icon-button{width:36px;height:36px;border-radius:8px;border:1px solid #cdd8df;background:#fff;display:inline-grid;place-items:center;color:#26343b}.alert{border:1px solid #fecaca;background:#fff1f2;color:#991b1b;border-radius:8px;padding:12px 14px;margin-bottom:18px}.alert.compact{margin:0}.notice{border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:8px;padding:12px 14px;margin-bottom:18px}.notice.compact{margin:0}.signature-wrap{border:1px solid #d7e0e5;border-radius:8px;overflow:hidden;background:#fff}.signature-wrap canvas{display:block;width:100%;height:180px;touch-action:none}.signature-actions{border-top:1px solid #d7e0e5;padding:8px 10px;display:flex;justify-content:space-between;align-items:center;color:#64717a;font-size:13px}.toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 180px 210px;gap:12px;margin-bottom:16px}.search-box{position:relative;display:flex;align-items:center}.search-box svg{position:absolute;left:12px;color:#6b7780}.search-box input{padding-left:40px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:860px}th{text-align:left;color:#66747d;font-size:12px;text-transform:uppercase;letter-spacing:0;border-bottom:1px solid #dfe6ea;padding:10px}td{border-bottom:1px solid #edf1f4;padding:12px 10px;vertical-align:top}td span{display:block;color:#7a8790;font-size:12px;margin-top:3px}.status-select{min-width:160px}.row-actions{display:flex;gap:8px;align-items:center}.empty-state{text-align:center;color:#7a8790;padding:36px}.positive{color:#047857;font-weight:750}.negative{color:#b91c1c;font-weight:750}.dashboard-grid{display:grid;gap:18px}.metric-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-band article{background:#fff;border:1px solid #dfe6ea;border-radius:8px;padding:18px}.metric-band span{color:#64717a;font-size:13px}.metric-band strong{display:block;margin-top:8px;font-size:26px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#10181e8a;display:grid;place-items:center;padding:24px;z-index:20}.receipt-modal{width:min(860px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:8px}.sms-modal{width:min(720px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:8px}.ticket-modal{width:min(760px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:8px}.modal-actions{padding:12px;display:flex;justify-content:flex-end;gap:8px;border-bottom:1px solid #e4eaee}.modal-actions strong{margin-right:auto;display:inline-flex;align-items:center;gap:8px;color:#24323a}.receipt{padding:32px;color:#101820}.receipt header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #17272b;padding-bottom:18px;margin-bottom:22px}.receipt h1{margin:0;font-size:30px}.receipt h2{margin:0 0 8px;font-size:15px;text-transform:uppercase;letter-spacing:0;color:#52616a}.receipt p{margin:4px 0}.receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.receipt section{margin-bottom:20px}.receipt-totals{min-width:0;margin:6px 0 20px auto;width:310px}.receipt-totals td:last-child{text-align:right;font-weight:750}.warranty-box{border:1px solid #dfe6ea;border-radius:8px;padding:14px;background:#fbfcfd}.signature-image{width:320px;max-width:100%;height:92px;object-fit:contain;border-bottom:1px solid #17272b}.signature-line{width:320px;height:74px;border-bottom:1px solid #17272b}.sms-body{padding:22px;display:grid;gap:18px}.sms-heading{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #e4eaee;padding-bottom:14px}.sms-heading h2{margin:0 0 4px;font-size:21px}.sms-heading p,.sms-heading span{margin:0;color:#66747d}.sms-form{display:grid;gap:12px}.sms-history{display:grid;gap:10px}.sms-history h3{margin:0;font-size:17px}.sms-history article{border:1px solid #dfe6ea;border-radius:8px;padding:12px;background:#fbfcfd}.sms-history article div{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}.sms-history article span,.sms-history small{color:#66747d;font-size:12px}.sms-history article p{margin:0;white-space:pre-wrap}.sms-history article small{display:block;margin-top:8px;color:#991b1b}.job-tickets{padding:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ticket-copy{border:1px dashed #7b8790;border-radius:8px;padding:14px;color:#111827;background:#fff;font-size:13px}.ticket-copy header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #111827;padding-bottom:9px;margin-bottom:10px}.ticket-copy header strong{font-size:18px}.ticket-copy header span{font-weight:750;color:#475569}.ticket-number{font-size:22px;font-weight:850;text-align:center;padding:8px;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:10px}.ticket-copy dl{display:grid;grid-template-columns:82px 1fr;gap:6px 10px;margin:0}.ticket-copy dt{color:#66747d;font-weight:750}.ticket-copy dd{margin:0;font-weight:650;word-break:break-word}.ticket-copy footer{border-top:1px solid #e2e8f0;margin-top:12px;padding-top:9px;color:#475569;font-size:11px;line-height:1.35}.ticket-copy footer p{margin:0}@media (max-width: 920px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;padding:18px}.main-nav{grid-template-columns:repeat(3,1fr)}.user-panel{margin-top:0}.workspace{padding:18px}.field-grid.three,.field-grid.four,.choice-grid,.choice-grid.three,.toolbar,.metric-band,.receipt-grid,.job-tickets,.photo-preview-grid,.receipt-photo-grid{grid-template-columns:1fr}}@media (max-width: 560px){.login-page{padding:16px;align-items:start}.login-panel{padding:18px}.login-panel h1{font-size:25px}}@media print{body{background:#fff}body *{visibility:hidden}.modal-backdrop,.modal-backdrop *{visibility:visible}.no-print,.no-print *{display:none!important}.modal-backdrop{position:static;display:block;background:#fff;padding:0}.receipt-modal,.ticket-modal,.sms-modal{width:100%;max-height:none;box-shadow:none;overflow:visible;border-radius:0}.receipt{padding:0}.job-tickets{display:block;padding:0}.ticket-copy{width:80mm;min-height:110mm;border:0;border-radius:0;padding:0;page-break-after:always}.ticket-copy:last-child{page-break-after:auto}}
