:root{--ink:#16233a;--muted:#718096;--line:#e5eaf2;--navy:#123f78;--blue:#1d6fd1;--blue-pale:#edf5ff;--surface:#fff;--back:#f5f8fc;--green:#16875c;--amber:#e8a23d}*{box-sizing:border-box}body{margin:0;background:var(--back);color:var(--ink);font-family:"Noto Sans Thai",Arial,sans-serif;font-size:14px}.app-shell{display:flex;min-height:100vh}.sidebar{width:248px;min-height:100vh;background:#102c54;color:#e8f0fc;padding:25px 16px;display:flex;flex-direction:column;position:fixed;z-index:2}.brand{color:#fff;text-decoration:none;font-size:19px;font-weight:700;letter-spacing:-.5px;display:flex;align-items:center;gap:10px;padding:0 8px}.brand span span{color:#75b7ff}.brand-mark{width:32px;height:32px;border-radius:9px;background:#2a82df;display:grid;place-items:center;font-style:italic}.branch{margin:35px 4px 25px;padding:11px 10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);border-radius:10px;display:flex;align-items:center;gap:9px}.branch small,.sidebar-foot small{display:block;color:#aabedc;font-size:10px}.branch strong{font-size:12px}.status-dot{width:7px;height:7px;background:#43d29c;border-radius:50%}.chevron{margin-left:auto}.sidebar nav{display:grid;gap:5px}.nav-link{color:#bbcae0;text-decoration:none;border-radius:8px;padding:12px 12px;font-size:13px;transition:.2s}.nav-link span{font-size:17px;vertical-align:-1px;display:inline-block;width:27px}.nav-link:hover,.nav-link.active{background:#21528e;color:#fff}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:17px 6px 0;display:flex;align-items:center;gap:9px;font-size:12px}.sidebar-foot .icon-button{margin-left:auto;color:#fff}.avatar{width:30px;height:30px;border-radius:50%;background:#467bc0;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:700}.avatar.amber{background:#d88927}.avatar.purple{background:#7458b2}main{width:calc(100% - 248px);margin-left:248px}.topbar{height:67px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 37px;position:sticky;top:0;z-index:1}.menu-button{display:none}.crumb{font-size:13px;color:var(--muted)}.crumb span{padding:0 8px;color:#bcc5d0}.crumb strong{color:var(--ink)}.top-actions{margin-left:auto;display:flex;align-items:center;gap:15px}.icon-button{border:0;background:transparent;font:inherit;font-size:22px;cursor:pointer;color:#5c6b80;padding:2px}.notification{position:relative;border:0;background:none;font-size:19px;color:#425a7c}.notification i{position:absolute;width:6px;height:6px;border-radius:50%;background:#ee5e5e;top:1px;right:1px}.page{padding:34px 38px 45px;max-width:1510px;margin:auto}.hidden{display:none!important}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:27px}.eyebrow{font-family:"DM Mono",monospace;letter-spacing:.09em;color:#7c8aa0;font-size:10px;margin:0 0 5px}.page-heading h1{font-size:25px;line-height:1.25;margin:0;font-weight:700;letter-spacing:-.6px}.page-heading h1 span{font-family:"DM Mono",monospace;color:#617083;font-size:17px;font-weight:400;letter-spacing:-.5px;margin-left:7px}.subtle{color:var(--muted);font-size:12px;margin:6px 0 0}.header-actions{display:flex;gap:9px}.button{border:1px solid transparent;border-radius:7px;padding:10px 15px;font:600 12px "Noto Sans Thai",sans-serif;cursor:pointer;white-space:nowrap}.button.primary{background:var(--blue);color:#fff;box-shadow:0 3px 8px #1762bd33}.button.primary:hover{background:#155eB9}.button.secondary{border-color:#ccd7e5;background:#fff;color:#304b6d}.workflow{display:flex;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 27px;margin-bottom:22px;justify-content:space-between}.step{flex:1;position:relative;padding-left:39px;color:#8190a5;min-width:115px}.step:not(:last-child):after{content:"";position:absolute;top:13px;left:31px;width:calc(100% - 21px);border-top:1px solid #dce5ef;z-index:0}.step b{position:absolute;left:0;top:0;border:1px solid #d3dce8;color:#7b899d;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#fff;z-index:1;font-size:11px}.step span,.step small{display:block}.step span{font-size:12px;font-weight:600}.step small{font-size:10px;margin-top:2px}.step.done,.step.active{color:#1a548e}.step.done b{color:#fff;background:#259174;border-color:#259174}.step.active b{color:#fff;background:var(--blue);border-color:var(--blue)}.two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:21px}.stack{display:grid;gap:21px;align-content:start}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px;box-shadow:0 3px 9px #20304a05}.card-title{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.card-title h2,.modal-head h2{font-size:16px;margin:0;letter-spacing:-.3px}.tag{border-radius:20px;padding:4px 9px;font-size:10px;font-weight:600;white-space:nowrap}.tag.blue{background:#e9f2ff;color:#2870ca}.tag.green{background:#e6f7ef;color:#187e58}.tag.gray{background:#eff2f6;color:#657488}.vehicle-card{display:flex;align-items:center;gap:13px;padding:13px 0 17px;border-bottom:1px solid var(--line);margin-bottom:17px}.vehicle-icon{height:47px;width:55px;border-radius:9px;background:#eef5ff;color:#2975d0;display:grid;place-items:center;font-size:30px;font-weight:bold}.vehicle-icon.dark{background:#e9f2ff}.vehicle-card h3{font-size:14px;margin:0}.vehicle-card h3 span,.vehicle-card p{color:var(--muted);font-weight:400}.vehicle-card p{font-size:11px;margin:4px 0 8px}.plate{font-weight:600;background:#f4f6f9;border:1px solid #d8e0eb;border-radius:4px;display:inline-block;padding:3px 7px;font-size:11px}.plate small{color:#8090a5;padding-left:5px;font-weight:400}.text-button{border:0;background:transparent;color:#1f69bd;font:600 11px "Noto Sans Thai";cursor:pointer;margin-left:auto}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px 16px}.field-grid.compact{gap:12px}.field-grid label,.line-note label{color:#718096;font-size:10px}.field-grid .full{grid-column:1/-1}input,select,textarea{font:500 12px "Noto Sans Thai",sans-serif;border:1px solid #d8e0eb;border-radius:5px;background:#fff;color:#263951;display:block;width:100%;margin-top:4px;padding:7px 8px;outline:none}input:focus,select:focus,textarea:focus{border-color:#5a9eea;box-shadow:0 0 0 3px #2d7bd81c}textarea{min-height:58px;resize:vertical}.repair-checks{border-top:1px solid var(--line);margin-top:17px;padding-top:14px;display:flex;gap:21px;font-size:11px;color:#53657d}.repair-checks input{display:inline;width:auto;vertical-align:-2px;margin:0 3px 0 0;accent-color:#2073cd}.schedule{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.schedule div{border-left:2px solid #a7c9ef;padding-left:10px}.schedule span,.schedule small{display:block;font-size:10px;color:#8290a3}.schedule strong{font-size:12px;display:block;margin:4px 0}.team-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.team-row strong,.team-row small{display:block}.team-row strong{font-size:12px}.team-row small{font-size:10px;color:var(--muted)}.team-row .tag{margin-left:auto}.quote-summary{border-radius:10px;background:#163b6c;padding:15px 18px;color:#dceaff;display:flex;align-items:center;gap:35px;margin-bottom:22px}.summary-vehicle{display:flex;align-items:center;gap:9px;margin-right:auto}.summary-vehicle .vehicle-icon{width:40px;height:38px;font-size:22px;background:#2d609b;color:#cfe5ff}.summary-vehicle strong,.summary-vehicle span{display:block}.summary-vehicle strong{color:#fff;font-size:13px}.summary-vehicle span,.quote-summary>div>span{font-size:10px;color:#b8cee9}.quote-summary>div>strong{display:block;color:#fff;font-size:11px;margin-top:3px}.approval{color:#78e7b5!important}.address{background:transparent!important;color:#fff!important;border-color:#6285b5!important}.tabs{display:flex;border-bottom:1px solid #d7e0eb;gap:24px}.tab{border:0;background:none;border-bottom:2px solid transparent;padding:10px 1px;color:#7b899b;font:600 13px "Noto Sans Thai";cursor:pointer}.tab.active{color:#1c66bb;border-color:#287ad6}.tab span{font-size:10px;background:#edf1f7;border-radius:10px;padding:1px 6px;margin-left:4px}.tab.active span{background:#e2f0ff;color:#1965bd}.quote-card{padding:11px 0 0;border-top:0;border-radius:0 0 10px 10px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;background:#f6f8fb;color:#77869a;font-size:10px;font-weight:600;padding:9px 12px;border-bottom:1px solid #e3e9f1}td{font-size:11px;padding:10px 12px;border-bottom:1px solid #eef2f6;color:#33445a}td:nth-last-child(1){color:#16875c;font-weight:600}.item-name{font-weight:600;color:#253b58}.status-pill{font-size:10px;padding:3px 7px;border-radius:12px;background:#e7f7ef;color:#19835d}.status-pill.pending{background:#fff4df;color:#b77012}.line-note{padding:14px 20px;display:grid;grid-template-columns:1fr 1.2fr;gap:13px;border-top:1px solid var(--line)}.line-note input{margin-top:3px}.quote-bottom{display:grid;grid-template-columns:1fr 330px;gap:21px;margin-top:21px}.note-card textarea{margin:4px 0 8px;height:67px}.totals{align-self:end;padding:12px 15px}.totals div{display:flex;justify-content:space-between;padding:7px 1px;color:#65758a;font-size:12px}.totals strong{font-family:"DM Mono",monospace;color:#384b65;font-size:13px}.totals .grand{margin-top:3px;padding-top:12px;border-top:1px solid #dce5ef;color:#1a2c45;font-weight:700}.totals .grand strong{font-size:18px;color:#1d6fd1}.toast{position:fixed;right:25px;bottom:25px;background:#132c4d;color:#fff;border-radius:8px;padding:12px 15px;font-size:12px;box-shadow:0 8px 25px #102b5236;transform:translateY(80px);opacity:0;transition:.25s;z-index:4}.toast.show{transform:none;opacity:1}dialog{border:0;border-radius:10px;padding:0;width:min(600px,calc(100% - 36px));box-shadow:0 20px 70px #10244750;color:var(--ink)}dialog::backdrop{background:#102a4a88}.modal-head{padding:20px 22px 15px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.history-grid{padding:17px 22px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;background:#f8fafc}.history-grid span,.history-grid strong{display:block}.history-grid span{font-size:10px;color:#7b8a9d}.history-grid strong{font-size:12px;margin-top:3px}.history-list{padding:8px 22px 20px}.history-list>div{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.history-list i{width:9px;height:9px;border-radius:50%;background:#2c7dd5;margin-top:5px}.history-list strong,.history-list small{display:block}.history-list strong{font-size:12px}.history-list small{font-size:10px;color:var(--muted);margin-top:3px}.empty-photo{padding:53px 20px;text-align:center;display:grid;justify-items:center;gap:7px;color:#758398}.empty-photo span{font-size:38px;color:#72a6df}.empty-photo strong{color:#334c6e}.empty-photo small{font-size:11px}.empty-photo button{margin-top:10px}.modal-textarea{margin:20px;width:calc(100% - 40px);min-height:130px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 20px 20px}@media(max-width:1050px){.quote-summary{gap:17px}.quote-summary .address{display:none}.two-col{grid-template-columns:1fr}.workflow{overflow-x:auto}}@media(max-width:720px){.sidebar{width:66px;padding:20px 8px}.brand{padding:0;justify-content:center}.brand>span:last-child,.branch>div,.branch .chevron,.sidebar-foot>div,.sidebar-foot .icon-button{display:none}.branch{margin:28px 3px;padding:11px;justify-content:center}.sidebar-foot{justify-content:center}.nav-link{font-size:0;padding:12px;text-align:center}.nav-link span{font-size:19px;width:auto}main{margin-left:66px;width:calc(100% - 66px)}.topbar{padding:0 18px}.page{padding:24px 18px}.page-heading{gap:15px;flex-wrap:wrap}.workflow{padding:14px;gap:20px}.step{min-width:116px}.field-grid,.schedule,.quote-bottom,.line-note{grid-template-columns:1fr}.quote-summary{display:grid;grid-template-columns:1fr 1fr}.summary-vehicle{grid-column:1/-1}.header-actions{width:100%}.header-actions .button{flex:1}.card{padding:16px}.two-col{gap:16px}.stack{gap:16px}}
