@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600&display=swap";:root{font-family:IBM Plex Sans,system-ui,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;--bg: #f5f5f7;--panel: #ffffff;--panel-soft: #f2f2f7;--panel-strong: #ffffff;--ink: #1d1d1f;--muted: #6e6e73;--accent: #0a84ff;--accent-strong: #0060df;--accent-soft: rgba(10, 132, 255, .15);--accent-2: #34c759;--accent-2-soft: rgba(52, 199, 89, .16);--stroke: #e5e5ea;--focus: rgba(10, 132, 255, .35);--shadow: 0 20px 40px rgba(22, 18, 12, .1);--shadow-soft: 0 12px 26px rgba(22, 18, 12, .08)}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background-color:var(--bg);background-image:radial-gradient(circle at top,#ffffff 0%,transparent 45%);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:Space Grotesk,sans-serif}input,select,button{font:inherit}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}#root{min-height:100vh}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:#f2f2f7;color:var(--ink);padding:28px 22px;display:flex;flex-direction:column;gap:24px;position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid var(--stroke)}.brand{display:flex;align-items:center;gap:12px}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand.inline{margin-bottom:16px}.brand-mark{width:44px;height:44px;border-radius:12px;background:var(--accent);display:grid;place-items:center;font-weight:700;color:#fff}.brand-title{font-size:1.25rem;font-weight:600}.brand-subtitle{font-size:.85rem;color:var(--muted)}.nav{display:flex;flex-direction:column;gap:8px}.nav-group{display:grid;gap:6px}.nav-group-toggle{background:transparent;border:none;padding:8px 12px;border-radius:10px;color:var(--muted);font-weight:600;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all .2s ease}.nav-group-toggle:hover{background:#0a84ff14;color:var(--ink)}.nav-group-caret{font-size:.85rem}.nav-sub{display:grid;gap:6px;padding-left:8px}.nav-group:not(.open) .nav-sub{display:none}.nav-sub .nav-link{padding-left:16px}.nav-link{padding:10px 14px;border-radius:10px;color:var(--muted);background:transparent;transition:all .2s ease}.nav-link:hover{background:#0a84ff14;color:var(--ink)}.nav-link.active{background:#0a84ff26;color:var(--accent);font-weight:600}.nav-link:focus-visible{outline-color:#0a84ff99}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:12px}.sidebar-footer .btn{width:100%}.user-chip{background:#fff;border-radius:12px;padding:12px;border:1px solid var(--stroke)}.user-chip-header{display:flex;align-items:center;gap:8px;margin-bottom:4px;min-width:0}.user-chip-text{font-size:clamp(.78rem,1vw,.95rem);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip-name{font-weight:700;color:var(--ink)}.user-chip-role{font-weight:500;color:var(--muted);margin-left:4px}.user-chip-icon{width:28px;height:28px;border-radius:999px;border:1px solid var(--stroke);background:var(--panel-soft);color:var(--muted);display:inline-grid;place-items:center;flex-shrink:0}.user-chip-icon svg{width:16px;height:16px;display:block}.user-name{font-weight:600;font-size:clamp(.85rem,1.1vw,1rem);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-roles{font-size:clamp(.75rem,1vw,.85rem);color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{padding:32px 40px 48px;background:linear-gradient(180deg,rgba(255,255,255,.65),transparent)}.content{max-width:1320px;margin:0 auto}.page{display:flex;flex-direction:column;gap:24px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.page-header-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.page-header h1{font-size:2rem}.muted{color:var(--muted)}.user-pill{background:var(--panel-soft);border:1px solid var(--stroke);border-radius:999px;padding:8px 14px;display:inline-flex;align-items:center;gap:6px;font-size:clamp(.72rem,1.1vw,.85rem);max-width:min(360px,65vw);min-width:0}.user-pill-text{display:block;max-width:100%;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-pill-icon{width:24px;height:24px;border-radius:999px;border:1px solid var(--stroke);background:#fff;color:var(--muted);display:inline-grid;place-items:center;flex-shrink:0}.user-pill-icon svg{width:14px;height:14px;display:block}.user-pill-name{font-weight:700;color:var(--ink)}.user-pill-role{font-weight:500;color:var(--muted);margin-left:4px}.card{background:var(--panel);border:1px solid var(--stroke);border-radius:16px;padding:20px;box-shadow:var(--shadow-soft);transition:transform .2s ease,box-shadow .2s ease}.card.nested{background:var(--panel-soft);border-style:dashed}.card.notice{border-left:5px solid var(--accent)}.flow{gap:28px}.flow-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.flow-pill{background:var(--accent-soft);color:var(--accent-strong);padding:8px 14px;border-radius:999px;font-weight:600;font-size:.85rem}.stepper{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.stepper.compact{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px}.step{display:block;border-radius:12px;padding:10px 12px;text-align:center;background:var(--panel-soft);border:1px solid var(--stroke);font-weight:600;font-size:.85rem}.step:visited{color:inherit}.step.done{background:#34c75926;border-color:#34c75959;color:#1d4f2b}.step.action{background:#0a84ff33;border-color:#0a84ff66;color:#004f9e}.step.blocked{opacity:.5}.section-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.section-subtitle{font-size:.95rem;font-weight:600;margin-bottom:8px}.dashboard-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.dashboard-flow h3{margin-bottom:12px}.dashboard-groups{display:grid;gap:18px}.group-card{display:grid;gap:16px}.group-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.group-meta{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--panel-soft);border:1px solid var(--stroke);font-size:.8rem}.group-meta-label{color:var(--muted)}.group-meta-count{font-weight:700;color:var(--ink)}.group-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.flow-roadmap{display:grid;gap:16px}.roadmap-track{display:grid;gap:12px}.roadmap-step{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:var(--panel-soft);border:1px solid var(--stroke);border-radius:14px;padding:12px 14px}.roadmap-dot{width:32px;height:32px;border-radius:10px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem}.roadmap-title{font-weight:700}.roadmap-link{color:var(--ink)}.roadmap-link:hover{color:var(--accent-strong)}.roadmap-desc{color:var(--muted);font-size:.85rem}.roadmap-arrow{font-size:1.25rem;color:var(--muted)}.roadmap-branches{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding-top:10px}.roadmap-branch-line{position:absolute;top:0;left:10px;right:10px;height:2px;background:var(--stroke)}.roadmap-branch{background:#fff;border:1px dashed var(--stroke);border-radius:14px;padding:12px 14px;display:grid;gap:6px}.roadmap-branch.followup{border-color:#ffbf0073;background:#ffbf001a}.roadmap-branch.cancel{border-color:#f5b39d;background:#ffe9e1}.roadmap-badge{font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.stage-actions{margin-top:16px;display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.quick-link{display:flex;justify-content:space-between;align-items:center;padding:18px;border-radius:14px;background:var(--panel);border:1px solid var(--stroke);transition:transform .2s ease,box-shadow .2s ease}.quick-link-label{display:inline-flex;align-items:center;gap:10px}.quick-link-count{min-width:26px;padding:4px 8px;border-radius:999px;background:var(--panel-soft);color:var(--muted);font-weight:700;font-size:.75rem;text-align:center}.quick-link:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.quick-link-arrow{font-weight:600;color:var(--accent)}.form{display:grid;gap:16px}.create-form{max-width:640px}.grid-form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}.field{display:flex;flex-direction:column;gap:6px;font-size:.9rem}.hint{font-size:.8rem;color:var(--muted)}.field input,.field select{padding:10px 12px;border-radius:10px;border:1px solid var(--stroke);background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.field-row{display:flex;gap:8px;align-items:center}.field-row .btn{white-space:nowrap}.lookup-card{margin-top:8px;padding:10px 12px;border-radius:10px;background:var(--panel-soft);border:1px dashed var(--stroke)}.inline-alert{margin-top:8px}.link-button{border:none;background:transparent;color:var(--accent);cursor:pointer;font-weight:600;padding:0}.link-button:hover{text-decoration:underline}.field input:focus-visible,.field select:focus-visible{border-color:var(--accent-2);box-shadow:0 0 0 3px var(--accent-2-soft)}.field.align-end{align-self:end}.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.btn{padding:10px 16px;border-radius:10px;border:1px solid var(--stroke);background:#fff;color:var(--ink);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px #16120c1f}.btn.primary{background:var(--accent);border-color:var(--accent-strong);color:#fff;font-weight:600}.btn.ghost{background:transparent;border-color:transparent;color:var(--accent)}.btn.danger{background:#ff3b30;border-color:#d22f26;color:#fff;font-weight:600}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none;box-shadow:none}.invoice-action{min-width:128px}.dialog-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:#1d1d1f6b}.dialog{width:min(420px,100%);border-radius:12px;border:1px solid var(--stroke);background:var(--panel);box-shadow:var(--shadow);padding:20px;display:grid;gap:12px}.dialog h2{font-size:1.15rem}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.alert{padding:12px 14px;border-radius:10px;border:1px solid transparent}.alert.error{background:#ffe9e1;border-color:#f5b39d;color:#8a2d1d}.table{display:grid;gap:8px;overflow-x:auto}.table-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;padding:12px;border-radius:10px;background:#fff;align-items:center;min-width:760px;border:1px solid var(--stroke)}.table.compact .table-row{min-width:0}.table-row.head{background:transparent;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.table-row.selected{border:1px solid var(--accent);background:#0a84ff1a}.table-link{color:var(--accent);font-weight:600}.table-link:hover{text-decoration:underline}.inline-actions{display:flex;gap:8px;align-items:center}.action-select{padding:8px 12px;border-radius:10px;border:1px solid var(--stroke);background:#fff;font-size:.85rem;color:var(--ink)}.status-select{padding:8px 12px;border-radius:10px;border:1px solid var(--stroke);background:#fff;font-size:.85rem;color:var(--ink);height:36px}.status-action{height:36px;padding:0 12px;display:inline-flex;align-items:center}.details-stack{display:grid;gap:16px}.detail-card{background:var(--panel-soft);border:1px dashed var(--stroke);border-radius:12px;padding:14px}.detail-card h3{margin-bottom:10px;font-size:1rem}.detail-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.invoice-shell{display:flex;justify-content:center;width:100%}.invoice-sheet{width:100%;max-width:1280px;background:#fff;border:1px solid var(--stroke);border-radius:22px;padding:26px 28px;box-shadow:var(--shadow);position:relative;overflow:hidden}.invoice-sheet:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(10,132,255,.12),transparent 55%);opacity:.6;pointer-events:none}.invoice-sheet>*{position:relative}.invoice-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}.invoice-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.65rem;color:var(--muted);font-weight:600}.invoice-title{font-family:Space Grotesk,sans-serif;font-size:1.65rem;margin-top:6px}.invoice-subtitle{color:var(--muted);font-size:.9rem}.invoice-header-meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.status-pill{border-radius:999px;padding:6px 12px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;background:var(--panel-soft);border:1px solid var(--stroke);color:var(--ink)}.status-pill[data-status=COMPLETED]{background:var(--accent-2-soft);color:#1d4f2b;border-color:#34c75959}.status-pill[data-status=FOLLOW_UP]{background:#ffbf0026;color:#7a4d00;border-color:#ffbf0066}.status-pill[data-status=CANCELLED]{background:#ffe9e1;color:#8a2d1d;border-color:#f5b39d}.status-pill[data-status=QUOTED],.status-pill[data-status=DISPATCHED],.status-pill[data-status=LOADING],.status-pill[data-status=IN_TRANSIT],.status-pill[data-status=UNLOADING],.status-pill[data-status=POD],.status-pill[data-status=INVOICE]{background:var(--accent-soft);color:var(--accent-strong);border-color:#0a84ff59}.invoice-meta{background:var(--panel-soft);border:1px solid var(--stroke);border-radius:12px;padding:8px 10px;text-align:right;min-width:140px}.invoice-meta-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.invoice-meta-value{font-weight:600}.invoice-rule{height:1px;background:var(--stroke);margin:16px 0}.invoice-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.invoice-section{background:transparent;border:none;padding:0;box-shadow:none}.invoice-section-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:600;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--stroke)}.invoice-kv{display:grid;gap:6px 16px;grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-row{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:.86rem;line-height:1.35}.invoice-row-label{color:var(--muted)}.invoice-row-value{font-weight:600;text-align:left;word-break:break-word;max-width:100%}.invoice-empty{color:var(--muted);font-weight:500}.invoice-link{color:var(--accent);font-weight:600}.invoice-link:hover{text-decoration:underline}.vehicle-photo-preview{margin-top:14px;width:min(100%,360px);border-radius:12px;border:1px solid var(--stroke);object-fit:cover}@media(max-width:720px){.roadmap-step{grid-template-columns:auto 1fr}.roadmap-arrow,.roadmap-branch-line{display:none}.invoice-header-meta{align-items:flex-start}.invoice-row{flex-direction:column;align-items:flex-start}.invoice-row-value{text-align:left;max-width:100%}.invoice-kv{grid-template-columns:1fr}}@media(min-width:1100px){.invoice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.detail-item .value a{color:var(--accent);font-weight:600}.grid-split{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.label{font-size:.8rem;color:var(--muted)}.value{font-weight:600}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#ffffff 0%,transparent 55%)}.login-card{width:min(420px,100%);background:var(--panel);border:1px solid var(--stroke);border-radius:20px;padding:32px;box-shadow:var(--shadow);display:grid;gap:16px}.empty-state{display:flex;gap:16px;align-items:flex-start;padding:16px;border-radius:14px;background:var(--panel-strong);border:1px dashed var(--stroke)}.empty-icon{width:40px;height:40px;border-radius:12px;background:var(--accent-soft);display:grid;place-items:center;font-weight:700;color:var(--accent)}.empty-action{margin-top:10px}.pagination{margin-top:16px;display:flex;align-items:center;gap:12px;justify-content:flex-end}.page-info{font-size:.9rem;color:var(--muted)}.toast-region{position:fixed;top:24px;right:24px;display:flex;flex-direction:column;gap:12px;z-index:1000}.toast{min-width:240px;max-width:320px;background:var(--panel);border-radius:12px;padding:12px 14px;border-left:4px solid var(--accent-2);box-shadow:var(--shadow-soft);display:flex;gap:12px;align-items:center;justify-content:space-between}.toast.success{border-left-color:#2f8a86}.toast.error{border-left-color:#d5621f}.toast.info{border-left-color:#5a5d62}.toast-dismiss{border:none;background:transparent;font-size:1.1rem;cursor:pointer;color:var(--muted)}.nav-toggle{border:1px solid var(--stroke);background:#fff;color:var(--ink);border-radius:10px;padding:6px 10px;display:none}.nav-overlay{display:none}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap;align-items:center;gap:16px;position:relative;height:auto;z-index:5}.nav{position:absolute;left:16px;right:16px;top:86px;background:#fff;border-radius:14px;padding:12px;display:none;flex-direction:column;box-shadow:var(--shadow);border:1px solid var(--stroke)}.main{padding:24px}.nav-toggle{display:inline-flex;align-items:center;justify-content:center}.sidebar.open .nav{display:flex}.nav-overlay{display:block;position:fixed;inset:0;background:#0c0a0873;border:none;z-index:4}}
