:root{--tan:#d8d2b0;--tan-light:#ece8d4;--tan-dark:#b9b083;--maroon:#7a1f1f;--field-bg:#f4f5f0;--field-border:#c9c7bb;--text:#2b2b2b;--muted:#6b6b6b;--green:#1a7f37;color:var(--text);-webkit-font-smoothing:antialiased;font-family:system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:#efeee7;margin:0}#root{width:100%;min-height:100vh;margin:0 auto}.invoice{max-width:1180px;margin:0 auto;padding:12px}.business-bar{background:linear-gradient(var(--tan-light), var(--tan));border:1px solid var(--tan-dark);text-align:center;border-radius:6px;padding:10px;position:relative}.business-bar .signout{border:1px solid var(--tan-dark);cursor:pointer;background:#fff;border-radius:5px;padding:5px 12px;font-size:13px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.business-bar .signout:hover{background:var(--tan-light)}.auth-loading{min-height:60vh;color:var(--muted);justify-content:center;align-items:center;display:flex}.login-wrap{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-card{border:1px solid var(--field-border);background:#fff;border-radius:10px;flex-direction:column;gap:12px;width:340px;max-width:100%;padding:28px 24px;display:flex;box-shadow:0 12px 40px #0000001f}.login-card h1{letter-spacing:2px;color:#8a8358;text-align:center;margin:0;font-size:22px}.login-card .muted{text-align:center;margin-top:-4px}.login-card input{border:1px solid var(--field-border);border-radius:5px;padding:9px 11px;font-size:14px}.login-card button{background:linear-gradient(var(--tan-light), var(--tan));border:1px solid var(--tan-dark);cursor:pointer;border-radius:6px;margin-top:4px;padding:10px;font-weight:600}.login-card button:disabled{opacity:.6;cursor:not-allowed}.business-bar h1{letter-spacing:3px;color:#8a8358;text-shadow:1px 1px #fff;margin:0;font-size:30px}.topnav{background:linear-gradient(var(--tan-light), var(--tan));border:1px solid var(--tan-dark);border-radius:6px;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.topnav .brand{letter-spacing:1px;color:#8a8358;text-shadow:1px 1px #fff;align-items:baseline;gap:10px;font-size:20px;font-weight:700;display:flex}.topnav .brand span{letter-spacing:.5px;color:#9a936a;font-size:12px;font-weight:500}.topnav-actions{gap:6px;display:flex}.topnav-actions button{border:1px solid var(--tan-dark);cursor:pointer;background:#fff;border-radius:5px;padding:6px 12px;font-size:13px}.topnav-actions button:hover{background:var(--tan-light)}.topnav-actions .signout{color:var(--maroon);border-color:var(--maroon)}.grid tr.labor-row td{background:#eef4ff}.grid tr.labor-row td.total{background:#e3edff}.link-btn{color:var(--maroon);cursor:pointer;background:0 0;border:none;padding:2px 0;font-size:13px;text-decoration:underline}.link-btn:disabled{color:var(--muted);cursor:not-allowed;text-decoration:none}.vehicle-hist{margin-top:2px}.subtotal-cell label{justify-content:space-between;align-items:center;display:flex}.mini-reset{color:var(--maroon);cursor:pointer;background:0 0;border:none;padding:0 0 0 6px;font-size:11px}.phones-row{align-items:flex-start!important}.phone-list{flex-direction:column;flex:1;gap:4px;display:flex}.phone-row{align-items:center;gap:4px;display:flex}.phone-row input{border:1px solid var(--field-border);background:var(--field-bg);border-radius:3px;padding:4px 6px;font-size:14px}.phone-list .phone-row .phone-number{flex:auto;min-width:0}.phone-list .phone-row .phone-label{flex:0 0 20%;min-width:0}.add-phone{background:var(--tan-light);border:1px solid var(--tan-dark);cursor:pointer;border-radius:4px;align-self:flex-start;padding:3px 10px;font-size:12px}.top-strip{align-items:center;gap:16px;margin:10px 0;display:flex}.top-strip .new-ticket{background:linear-gradient(var(--tan-light), var(--tan));border:1px solid var(--tan-dark);color:#444;text-align:center;cursor:pointer;border-radius:20px;flex:1;padding:10px;font-weight:600}.top-strip .new-ticket .dot{color:var(--green);margin-right:8px}.field-inline{align-items:center;gap:6px;display:flex}.field-inline label{font-size:13px;font-weight:600}.party-row{gap:16px;display:flex}.party-block{border:1px solid var(--field-border);background:#fff;border-radius:8px;flex:1;padding:12px}.party-block .row{align-items:center;margin-bottom:6px;display:flex}.party-block .row label{color:#333;width:110px;font-size:13px;font-weight:600}.party-block .row input{border:1px solid var(--field-border);background:var(--field-bg);border-radius:3px;flex:1;padding:5px 7px;font-size:14px}.party-block .row input.name{color:#fff;background:#2f5bff}.toolbar{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.toolbar button{background:linear-gradient(var(--tan-light), var(--tan));border:1px solid var(--tan-dark);color:#444;cursor:pointer;border-radius:16px;flex:1;min-width:110px;padding:8px 10px;font-size:13px;font-weight:600}.toolbar button:hover:not(:disabled){background:linear-gradient(#fff, var(--tan-light))}.toolbar button:disabled{opacity:.5;cursor:not-allowed}.grid{border-collapse:collapse;background:#fff;width:100%}.grid th{background:var(--maroon);color:#fff;text-align:left;padding:6px 8px;font-size:13px}.grid td{border:1px solid #e3e1d6;padding:0}.grid input{background:0 0;border:none;width:100%;padding:6px 8px;font-size:14px}.grid input:focus{outline:2px solid var(--tan-dark);background:#fffdf4}.grid td.num input{text-align:right}.grid td.total{text-align:right;background:#faf9f3;padding:6px 8px;font-size:14px}.grid td.remove{text-align:center}.grid td.remove button{color:var(--maroon);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:16px}.add-line{background:var(--tan-light);border:1px solid var(--tan-dark);cursor:pointer;border-radius:4px;margin:8px 0;padding:6px 14px;font-weight:600}.totals{background:var(--tan);border:1px solid var(--tan-dark);border-radius:6px;grid-template-columns:repeat(5,1fr);gap:10px 20px;margin-top:12px;padding:12px;display:grid}.totals .tcell{flex-direction:column;gap:3px;display:flex}.totals .tcell label{color:#4a4734;font-size:12px;font-weight:700}.totals .tcell input{border:1px solid var(--field-border);background:var(--field-bg);text-align:right;border-radius:3px;padding:4px 6px;font-size:14px}.totals .tcell input:read-only{color:#333;background:#e4e0c8;font-weight:600}.totals .tcell.grand label{color:var(--maroon)}.totals .tcell.grand input{border-color:var(--maroon);font-size:16px;font-weight:700}.statusline{min-height:18px;margin:10px 2px;font-size:13px}.statusline.ok{color:var(--green)}.statusline.err{color:var(--maroon)}.status-select{border:1px solid var(--field-border);border-radius:3px;padding:4px 6px}.field-inline.nav{gap:4px}.field-inline.nav button{border:1px solid var(--tan-dark);background:var(--tan-light);cursor:pointer;border-radius:4px;width:26px;height:28px;font-size:16px}.field-inline.nav .jump{border:1px solid var(--field-border);border-radius:3px;width:70px;margin-left:8px;padding:4px 6px}.find-btn{border:1px solid var(--field-border);background:var(--tan-light);cursor:pointer;border-radius:4px;margin-left:6px;padding:4px 7px}.grid select.cat{background:0 0;border:none;width:100%;padding:5px 4px;font-size:13px}.grid select.cat:focus{outline:2px solid var(--tan-dark)}.toolbar button.save{border-color:var(--green);color:#14532d;background:linear-gradient(#e9f5ec,#cfead6);flex:none;min-width:180px}.toolbar button.danger{border-color:var(--maroon);min-width:90px;color:var(--maroon);background:#fff;flex:none}.toolbar button.danger:hover:not(:disabled){background:#fbeaea}.modal-backdrop{z-index:50;background:#0006;justify-content:center;align-items:flex-start;padding-top:8vh;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 12px 40px #0000004d}.modal-head{background:var(--maroon);color:#fff;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.modal-head h3{margin:0;font-size:16px}.modal-x{color:#fff;cursor:pointer;background:0 0;border:none;font-size:20px}.modal-body{padding:14px}.lookup-input{border:1px solid var(--field-border);border-radius:4px;width:100%;margin-bottom:10px;padding:8px 10px;font-size:14px}.lookup-error{color:var(--maroon);margin-bottom:8px;font-size:13px}.lookup-list{max-height:320px;margin:0;padding:0;list-style:none;overflow:auto}.lookup-list li{cursor:pointer;border-bottom:1px solid #eee;justify-content:space-between;gap:10px;padding:8px 10px;display:flex}.lookup-list li:hover{background:#f6f3e8}.muted{color:var(--muted);font-size:12px}.lookup-picked{background:#f6f3e8;border-radius:4px;padding:8px 10px}.car-table{border-collapse:collapse;width:100%;font-size:14px}.car-table th{text-align:left;border-bottom:2px solid var(--maroon);color:var(--maroon);padding:6px 8px;font-size:12px}.car-table td{border-bottom:1px solid #eee;padding:8px}.car-table tbody tr{cursor:pointer}.car-table tbody tr:hover{background:#f6f3e8}.lookup-actions{gap:8px;margin-top:10px;display:flex}.lookup-actions button{border:1px solid var(--tan-dark);background:var(--tan-light);cursor:pointer;border-radius:4px;padding:6px 12px}.lookup-actions button.ghost{background:#fff}.list-table{border-collapse:collapse;width:100%;font-size:13px}.list-table th{text-align:left;border-bottom:2px solid var(--maroon);color:var(--maroon);padding:6px 8px}.list-table td{border-bottom:1px solid #eee;padding:6px 8px}.list-table tbody tr:hover{background:#f6f3e8}.hist-search{flex-wrap:wrap;align-items:center;gap:6px 14px;margin-bottom:8px;display:flex}.hist-radio{cursor:pointer;align-items:center;gap:4px;font-size:13px;display:flex}.list-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.list-table th.sortable:hover{color:#a13}.history-table td{vertical-align:top}.history-table .svc-cell{max-width:420px}.svc-line{font-size:12px;line-height:1.35}.svc-line.labor{color:#1d4ed8}.list-table .r,.list-table th.r{text-align:right}.pill{text-transform:capitalize;border-radius:10px;padding:1px 8px;font-size:11px}.pill-open{color:#1d4ed8;background:#e7f0ff}.pill-paid{color:#14532d;background:#e9f5ec}.pill-estimate{color:#92600a;background:#fff4e0}.pill-void{color:#888;background:#f1f1f1}.link-x{color:var(--maroon);cursor:pointer;background:0 0;border:none;font-size:16px}.pay-summary{background:#f6f3e8;border-radius:6px;gap:20px;margin-bottom:12px;padding:10px 12px;display:flex}.pay-summary>div{flex-direction:column;display:flex}.pay-summary strong{font-size:16px}.pay-summary strong.ok{color:var(--green)}.pay-summary strong.due{color:var(--maroon)}.pay-form{gap:6px;margin-top:12px;display:flex}.pay-form input,.pay-form select{border:1px solid var(--field-border);border-radius:4px;padding:6px 8px;font-size:13px}.pay-form input.r{text-align:right;width:90px}.pay-form input:not(.r){flex:1}.pay-form button{border:1px solid var(--green);color:#14532d;cursor:pointer;background:#cfead6;border-radius:4px;padding:6px 14px;font-weight:600}.vpick .row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.vpick .row>label{color:#333;flex:none;width:110px;font-size:13px;font-weight:600}.vpick .row select,.vpick .row input{border:1px solid var(--field-border);background:var(--field-bg);border-radius:3px;flex:1;min-width:0;padding:5px 7px;font-size:14px}.vpick .row .vp-year{flex:0 0 76px}.vp-decode{background:var(--tan-light);cursor:pointer;border-radius:4px;padding:5px 10px;font-weight:600;border:1px solid var(--tan-dark)!important;flex:none!important}.vp-copy{background:var(--tan-light);border:1px solid var(--tan-dark);cursor:pointer;border-radius:4px;flex:none;padding:5px 9px}.vp-copy:disabled{opacity:.45;cursor:not-allowed}.vpick .row .combo{flex:1}.vpick .row .combo.vp-year{flex:0 0 104px}.combo{min-width:0;display:flex;position:relative}.combo>input{border:1px solid var(--field-border);background:var(--field-bg);border-radius:3px 0 0 3px;flex:1;min-width:0;padding:5px 7px;font-size:14px}.combo-arrow{border:1px solid var(--field-border);background:var(--tan-light);cursor:pointer;color:#555;border-left:none;border-radius:0 3px 3px 0;flex:none;padding:0 8px;font-size:11px}.combo-arrow:hover{background:var(--tan)}.combo-list{z-index:30;border:1px solid var(--field-border);background:#fff;border-radius:4px;max-height:220px;margin:2px 0 0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 6px 18px #00000026}.combo-list li{cursor:pointer;padding:6px 9px;font-size:14px}.combo-list li:hover{background:#f6f3e8}.vp-foot{align-items:center;gap:12px;margin-top:2px;display:flex}.vp-manual{color:#444;align-items:center;gap:5px;font-size:12px;display:flex}.vp-note{color:var(--muted);font-size:12px}.row-between{justify-content:space-between;align-items:center;gap:10px;display:flex}.row-between .lookup-input{flex:1;margin-bottom:0}button.ghost{border:1px solid var(--tan-dark);cursor:pointer;background:#fff;border-radius:4px;padding:6px 12px}button.mini{background:var(--tan-light);border:1px solid var(--tan-dark);cursor:pointer;border-radius:4px;margin-right:4px;padding:3px 9px;font-size:12px}.tabs{border-bottom:1px solid #e3e1d6;gap:6px;margin-bottom:12px;display:flex}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:3px solid #0000;padding:6px 12px;font-weight:600}.tabs button.on{color:var(--maroon);border-bottom-color:var(--maroon)}.cm-form,.cm-job-head{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.cm-form input,.cm-form select,.cm-job-head input,.list-table input,.list-table select{border:1px solid var(--field-border);border-radius:4px;padding:5px 7px;font-size:13px}.cm-form input.grow,.cm-job-head input.grow,.list-table input.grow{flex:1;width:100%;min-width:160px}.cm-form input.r,.list-table input.r{text-align:right;width:70px}.cm-form button,.cm-actions button:not(.ghost){border:1px solid var(--green);color:#14532d;cursor:pointer;background:#cfead6;border-radius:4px;padding:5px 12px;font-weight:600}.cm-actions{gap:8px;margin:8px 0;display:flex}.cm-subhead{color:var(--maroon);margin:16px 0 6px;font-size:14px}.rep-range{align-items:center;gap:8px;margin-bottom:12px;display:flex}.rep-range input{border:1px solid var(--field-border);border-radius:4px;padding:5px 7px}.rep-cards{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:8px;display:grid}.rep-card{border:1px solid var(--tan-dark);background:#f6f3e8;border-radius:6px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.rep-card strong{color:var(--maroon);font-size:18px}.rep-card.plain strong{color:#333}.settings-form{flex-direction:column;gap:10px;display:flex}.settings-row{flex-direction:column;gap:3px;display:flex}.settings-row span{color:#444;font-size:12px;font-weight:600}.settings-row input,.settings-row textarea{border:1px solid var(--field-border);border-radius:5px;padding:7px 9px;font-family:inherit;font-size:14px}.svc-group{margin-top:8px}.svc-group-head{color:var(--maroon);text-transform:uppercase;letter-spacing:.4px;margin:8px 0 2px;font-size:12px;font-weight:700}.svc-row{align-items:center}.svc-star{color:#c9a400;cursor:pointer;background:0 0;border:none;flex:none;margin-right:8px;font-size:16px}.svc-star.on{color:#e0a800}.svc-main{flex:1;align-items:center;gap:6px;display:flex}.svc-note{cursor:help;font-size:12px}.svc-notes{border:1px solid var(--field-border);resize:vertical;border-radius:4px;width:100%;min-height:48px;margin-bottom:10px;padding:6px 8px;font-family:inherit;font-size:13px}
