:root{--ink:#111;--muted:#5c5f63;--line:#e4e4e0;--paper:#f6f6f3;--panel:#fff;--signal:#c40800;--ok:#1f7a3f;--warn:#9a6b00;--info:#1a4f8c;--hold:#6b6e73;--font:"Manrope", "Helvetica Neue", sans-serif}*{box-sizing:border-box}body{font-family:var(--font);background:var(--paper);color:var(--ink);margin:0;line-height:1.45}header.app-bar{color:var(--ink);background:#dcdcdc;border-bottom:1px solid #c8c8c8;flex-direction:column;align-items:stretch;gap:.55rem;padding:.7rem 1.25rem .75rem;display:flex}header h1{letter-spacing:-.03em;margin:0;font-size:1.35rem;font-weight:700;line-height:1.55rem}.brand{align-items:center;gap:.45rem;display:flex}.brand-logo-wrap{flex-shrink:0;align-items:center;height:1.55rem;display:flex}.brand-logo{width:auto;height:1.55rem;display:block}.bar-row{align-items:center;gap:.4rem;width:100%;min-width:0;display:flex}.bar-actions{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:.4rem;margin-left:auto;display:flex}.account{align-items:stretch;gap:.35rem;display:flex}.pill{color:var(--muted);border:1px solid #cfcfcb;padding:.2rem .45rem;font-size:.75rem}.user-box,.sign-out{color:var(--ink);white-space:nowrap;background:#fff;border:1px solid #bdbdbd;align-items:center;padding:.4rem .65rem;font-size:.78rem;font-weight:600;display:inline-flex}.sign-out{cursor:pointer}.nav{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:.25rem;min-width:0;margin:0;display:flex;overflow-x:auto}.nav a{color:var(--ink);white-space:nowrap;border:1px solid #0000;padding:.4rem .65rem;font-size:.8rem;font-weight:600;text-decoration:none}.nav a:hover{border-color:#cfcfcb}.nav a.active,.nav a.is-active{background:var(--ink);color:#fff}.layout{gap:1rem;max-width:1400px;margin:0 auto;padding:1rem;display:grid}@media (width>=1100px){.layout.two{grid-template-columns:1.15fr .85fr;align-items:start}.span-2{grid-column:1/-1}}.panel{background:var(--panel);border:1px solid var(--line);padding:1rem}.panel h2{margin:0 0 .85rem;font-size:.95rem;font-weight:700}.filters,.detail-actions{flex-wrap:wrap;gap:.5rem;display:flex}.filters{margin-bottom:.85rem}select,input,textarea,button{font:inherit}select,input:not([type]),input[type=text],input[type=password],input[type=datetime-local],textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;padding:.55rem .65rem}textarea{resize:vertical;min-height:4.5rem}label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);gap:.25rem;font-size:.72rem;font-weight:600;display:grid}.btn{background:var(--ink);color:#fff;cursor:pointer;border:1px solid #0000;padding:.55rem .85rem;font-size:.8rem;font-weight:600}.btn:hover{opacity:.9}.btn--ghost{color:var(--ink);border-color:var(--line);background:#fff}.btn--small{padding:.35rem .55rem;font-size:.72rem}.btn--danger{color:var(--signal);background:#fff;border-color:#f0c4c0}.fleet-list,.stack{gap:.65rem;display:grid}.van,.log-item{border:1px solid var(--line);background:#fff;padding:.85rem}.van{cursor:pointer}.van:hover{border-color:#bbb}.van.is-active{border-color:var(--ink);box-shadow:inset 3px 0 0 var(--signal)}.van-top,.log-top{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.van-reg{letter-spacing:.02em;font-size:1.05rem;font-weight:700}.van-meta,.repair-meta,.empty,.hint{color:var(--muted)}.van-meta,.hint{font-size:.82rem}.repair-meta{margin-top:.2rem;font-size:.72rem}.badge{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border:1px solid;padding:.2rem .45rem;font-size:.68rem;font-weight:700;display:inline-block}.badge.to-inspect,.result-ignored,.result-pending{color:var(--hold)}.badge.parts-ordered,.result-unmatched{color:var(--warn)}.badge.repair-in-progress,.result-updated{color:var(--info)}.badge.done,.badge.completed,.result-duplicate{color:var(--ok)}.badge.to-be-inspected{color:var(--hold)}.badge.in-progress{color:var(--info)}.result-undone{color:var(--signal)}.detail-grid{gap:.75rem;display:grid}@media (width>=640px){.detail-grid.two{grid-template-columns:1fr 1fr}.user-row{grid-template-columns:1.2fr .8fr auto auto}}.repair-main{grid-template-columns:1fr auto;align-items:start;gap:.4rem;display:grid}.detail-actions{margin-top:.85rem}.cal-nav{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.cal-nav h3{margin:0;font-size:.95rem;font-weight:700}.cal-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-dow,.cal-day{background:#fff;min-height:4.6rem;padding:.35rem;font-size:.72rem}.cal-dow{text-align:center;min-height:0;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:#f0f0ec;padding:.4rem .2rem;font-weight:700}.cal-day.is-muted{color:#aaa;background:#fafaf8}.cal-day.is-today{outline:2px solid var(--ink);outline-offset:-2px}.cal-day-num{margin-bottom:.25rem;font-weight:700}.cal-chip{color:#fff;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;text-align:left;background:#111;border:0;width:100%;margin-top:.15rem;padding:.15rem .3rem;font-size:.62rem;font-weight:600;display:block;overflow:hidden}.cal-chip.parts-ordered{background:#9a6b00}.cal-chip.repair-in-progress{background:#1a4f8c}.cal-chip.to-inspect{background:#6b6e73}.cal-chip.done,.cal-chip.completed{background:#1f7a3f}.cal-chip.to-be-inspected{background:#6b6e73}.cal-chip.in-progress{background:#1a4f8c}.btn.is-selected{background:var(--ink);color:#fff;border-color:var(--ink)}.job-stage,.invoice-flag{margin:.35rem 0 0;font-size:.78rem;font-weight:700}.invoice-flag.is-invoiced{color:var(--ok)}.invoice-flag.is-deposit{color:var(--warn)}.invoice-flag.is-open{color:var(--signal)}.invoice-flag.is-waiting{color:var(--muted);font-weight:600}.invoice-flag-wrap .detail-actions{margin-top:.35rem}.van-meta.invoice-gap{color:var(--signal);font-weight:700}.legend{color:var(--muted);flex-wrap:wrap;gap:.65rem;margin-top:.75rem;font-size:.75rem;display:flex}.legend span:before{content:"";vertical-align:-1px;background:currentColor;width:.65rem;height:.65rem;margin-right:.3rem;display:inline-block}.login-wrap{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-card{border:1px solid var(--line);background:#fff;gap:.75rem;width:min(420px,100%);padding:1.25rem;display:grid}.login-card h1{margin:0;font-size:1.2rem}.login-logo{width:220px;max-width:70%;height:auto;margin:0 auto .25rem;display:block}.error{color:var(--signal);margin:0;font-size:.85rem}.qr{background:#fff;width:180px;height:180px}.user-row,.assign-row{align-items:end;gap:.45rem;display:grid}.assign-row{grid-template-columns:1fr auto}.app-shell:not(.can-edit) .editors-only,body:not(.can-edit) .editors-only,.app-shell:not(.is-admin) .admins-only,body:not(.is-admin) .admins-only{display:none!important}input:disabled,select:disabled,textarea:disabled{color:var(--ink);background:#f7f7f5}.counts{flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem;display:flex}.count{border:1px solid var(--line);background:#fff;padding:.55rem .75rem;font-size:.82rem}.count strong{font-size:1.1rem;display:block}.history,.repairs{gap:.55rem;margin-top:.5rem;display:grid}.history-item{border-left:3px solid var(--line);background:#fafaf8;padding:.45rem .65rem}.history-item.is-media{border-left-color:var(--info)}.history-item.is-job{border-left-color:var(--ok)}.history-item.is-ongoing{border-left-color:#1a4f8c}.history-item.is-done{border-left-color:var(--ok)}.media-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;margin-top:.5rem;display:grid}.media-card{border:1px solid var(--line);background:#fff;gap:.3rem;padding:.35rem;display:grid}.media-card img,.media-card video{object-fit:cover;background:#eee;width:100%;height:110px;display:block}.media-card a{color:var(--ink);word-break:break-all;font-size:.72rem}.layout.narrow{max-width:760px}.filters{grid-template-columns:2fr 1fr 1fr 1fr;align-items:center;display:grid}.filters select,.filters input{text-overflow:ellipsis;min-width:0}.panel-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.panel-head h2{margin-bottom:.85rem}.panel h3{margin:0 0 .5rem;font-size:.85rem;font-weight:700}a.van{color:inherit;text-decoration:none;display:block}a.van:active{background:#f3f3ef}.van-title{letter-spacing:.02em;margin:0;font-size:1.35rem}.back-link{color:var(--ink);padding:.35rem 0;font-size:.9rem;font-weight:600;text-decoration:none}.job-text{overflow-wrap:anywhere;margin:.15rem 0 0;font-weight:600}.history-item.is-pending{border-left-color:var(--warn);background:#fffaf0}.pending{gap:.5rem;margin-top:1rem;display:grid}.pending-tag{color:var(--warn);margin:.4rem 0 0;font-size:.78rem;font-weight:600}.request-form{gap:.5rem;margin-top:.5rem;display:grid}.request-form.add-job{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.detail-actions.tight{margin-top:.45rem}.banner{background:#fff;border:1px solid;padding:.65rem .8rem}.notice{color:var(--ok);margin:0;font-size:.85rem}.facts{grid-template-columns:auto 1fr;gap:.4rem 1rem;margin:0;font-size:.9rem;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0;font-weight:600}.history-photo{object-fit:cover;max-width:160px;max-height:120px;margin-top:.4rem;display:block}.nav-count{background:var(--signal);color:#fff;text-align:center;border-radius:.6rem;min-width:1.2rem;margin-left:.35rem;padding:0 .3rem;font-size:.68rem;display:inline-block}.btn:disabled{opacity:.5;cursor:default}input[type=search]{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;padding:.55rem .65rem}@media (width<=700px){header.app-bar{z-index:10;gap:.45rem;padding:.7rem .75rem .65rem;position:sticky;top:0}header h1{font-size:1.25rem;line-height:1.45rem}.pill{display:none}.bar-row{gap:.3rem}.bar-actions{width:auto}.brand-logo-wrap{height:1.45rem}.brand-logo{width:auto;height:1.45rem}.user-box,.sign-out{min-height:0;padding:.35rem .5rem;font-size:.72rem}.nav a{padding:.35rem .5rem;font-size:.78rem}.layout{gap:.65rem;padding:.65rem}.panel{padding:.85rem}.filters{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:.35rem}.filters select,.filters input{padding:.45rem .4rem;font-size:16px}select,input,textarea,input[type=search]{min-height:2.75rem;font-size:16px}.btn{min-height:2.75rem;padding:.6rem 1rem;font-size:.9rem}header .sign-out.btn{min-height:0;padding:.35rem .5rem;font-size:.72rem}.btn--small{min-height:2.25rem;font-size:.8rem}.request-form .detail-actions .btn,.request-form>.btn{flex:1}.van{padding:.9rem}.repair-main{grid-template-columns:1fr}.cal-dow,.cal-day{min-height:3.2rem;padding:.2rem;font-size:.65rem}.cal-chip{padding:.1rem .15rem;font-size:.55rem}.user-row,.assign-row{grid-template-columns:1fr}}.proposal{margin:.45rem 0;padding-left:1.1rem}.proposal li{margin:.15rem 0}
