:root{font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;color:#15202b;background:#f4f6f8}*{box-sizing:border-box}body{margin:0}header{height:68px;background:#101820;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:10}.brand{font-size:21px;font-weight:800}.brand span{font-weight:400;opacity:.7}.user{font-size:14px}.user a{color:white;margin-left:12px}main{max-width:1180px;margin:auto;padding:22px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.toolbar h1{margin:0}.toolbar p{margin:5px 0;color:#667}.card{background:white;border:1px solid #dde2e7;border-radius:16px;padding:18px;box-shadow:0 2px 8px #00000008}.btn,button{background:#111827;color:white;border:0;border-radius:10px;padding:12px 16px;font-weight:700;text-decoration:none;cursor:pointer;font-size:15px}.ghost{background:white;color:#111827;border:1px solid #ccd3da;border-radius:10px;padding:10px 14px;text-decoration:none;cursor:pointer}.small{padding:9px 11px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.kpi{background:white;border-radius:14px;padding:16px;border:1px solid #e0e4e8}.kpi b{display:block;font-size:28px}.kpi span{color:#657}.cards{display:grid;gap:10px}.job{text-decoration:none;color:inherit}.jobtop{display:flex;justify-content:space-between}.route{font-size:18px;margin:9px 0}.details{margin-top:7px;background:#f6f8fa;padding:8px;border-radius:8px}.muted{color:#68737d;font-size:14px}.status{font-size:12px;border-radius:999px;padding:5px 9px;background:#eef2f7}.status.new{background:#fee2e2}.status.assigned{background:#fef3c7}.status.confirmed{background:#dbeafe}.status.completed{background:#dcfce7}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.formgrid section{border-bottom:1px solid #eee;padding-bottom:10px}.formgrid h2,.card h2{margin-top:0;font-size:18px}label{display:block;font-size:13px;font-weight:700;margin:11px 0}input,select,textarea{width:100%;padding:12px;border:1px solid #cfd6dd;border-radius:9px;background:white;font:inherit;margin-top:5px}textarea{min-height:90px}.twocol,.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inline{display:flex;gap:8px}.inline select{flex:1}.actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;padding-top:6px}.detailgrid{display:grid;grid-template-columns:1.2fr .8fr;gap:15px}.detailgrid>div:nth-child(n+3){grid-column:1/-1}.routebig{display:grid;grid-template-columns:1fr auto 1fr;gap:15px;align-items:center;font-size:20px;margin:14px 0}.routebig b:last-child{text-align:right}.split small{display:block;color:#77828d}.split strong{display:block;margin-top:4px}.phoneactions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.photos{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.photos img{width:130px;height:100px;object-fit:cover;border-radius:9px}.photo input{margin-top:10px}.log{display:flex;justify-content:space-between;border-bottom:1px solid #eee;padding:10px 0}.login{max-width:430px;margin:8vh auto}.login h1{font-size:34px}.demo{background:#f3f4f6;margin-top:15px;padding:12px;border-radius:10px;line-height:1.7}.error{background:#fee2e2;padding:10px;border-radius:8px}dialog{border:0;border-radius:16px;padding:0;box-shadow:0 20px 70px #0005;width:min(520px,92vw)}dialog::backdrop{background:#0006}.modal{padding:20px}.autocomplete-box{position:absolute;z-index:50;background:white;border:1px solid #ccd3da;border-radius:9px;box-shadow:0 8px 24px #0002;max-height:240px;overflow:auto}.autocomplete-box div{padding:10px 12px;cursor:pointer}.autocomplete-box div:hover{background:#f0f4f8}@media(max-width:760px){header{padding:0 12px}.user{font-size:11px}main{padding:12px}.toolbar{align-items:flex-start}.formgrid,.detailgrid,.twocol,.split{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}.detailgrid>div:nth-child(n+3){grid-column:auto}.routebig{font-size:17px}.inline{flex-direction:column}.actions{grid-column:auto}.brand{font-size:17px}}
.search{display:flex;gap:.6rem;margin:1rem 0}.search input{flex:1}.jobs{display:grid;gap:.8rem}.job-card{display:block;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:1rem;color:inherit;text-decoration:none}.job-top,.toolbar,.topbar,.top-actions,.actions,.inline{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.job-route{margin:.5rem 0}.badge{font-size:.8rem;background:#eef2ff;border-radius:999px;padding:.25rem .6rem}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.6rem}.stat{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:.7rem;text-align:center}.stat b{font-size:1.25rem;display:block}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.span2{grid-column:span 2}.span3{grid-column:span 3}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:1rem}.photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}.log{padding:.5rem 0;border-bottom:1px solid #eee}dialog{border:0;border-radius:16px;max-width:440px;width:calc(100% - 2rem)}@media(max-width:900px){.form-grid,.detail-grid{grid-template-columns:1fr}.span2,.span3{grid-column:span 1}.topbar{align-items:flex-start}.top-actions{flex-direction:column;align-items:flex-end}}
label{position:relative}.ac-box{position:absolute;z-index:20;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:10px;box-shadow:0 10px 25px #0002;overflow:hidden}.ac-box button{display:block;width:100%;text-align:left;border:0;background:#fff;padding:.65rem}.ac-box button:hover{background:#f3f4f6}
.migration-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;margin:18px 0}.migration-grid>div{border:1px solid #dfe4ea;border-radius:14px;padding:18px;text-align:center;background:#fafbfc}.migration-grid b{display:block;font-size:28px}.migration-grid span{display:block;color:#667085;margin-top:5px}.check-row{display:flex;gap:24px;margin:14px 0}.warning-box{background:#fff8e6;border:1px solid #f2d48a;border-radius:12px;padding:14px;margin:16px 0}.alert.success{border-left:5px solid #198754}.alert.error{border-left:5px solid #dc3545}.toolbar.compact{justify-content:flex-start;margin-top:14px}.table-wrap{overflow:auto;background:white;border-radius:14px}.issue-table{border-collapse:collapse;width:100%;min-width:1050px}.issue-table th,.issue-table td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}.issue-table th{position:sticky;top:0;background:#f8fafc}@media(max-width:760px){.migration-grid{grid-template-columns:repeat(2,1fr)}}
/* V5.2 Today / Tomorrow schedule */
.dashboard-head{margin-bottom:12px}.date-tabs{display:flex;gap:9px;align-items:stretch;overflow-x:auto;padding:2px 0 12px}.date-tab{min-width:112px;text-align:center;padding:11px 14px;background:#fff;border:1px solid #dbe2e8;border-radius:12px;text-decoration:none;color:#16202a;font-weight:800;white-space:nowrap}.date-tab small{font-weight:500;color:#68737d}.date-tab.active{background:#111827;color:#fff;border-color:#111827}.date-tab.active small{color:#dbe4ef}.date-pick{display:flex;gap:7px;min-width:270px}.date-pick input{margin:0;min-width:150px}.day-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:13px}.day-kpis>div,.day-kpis>a{background:#fff;border:1px solid #dfe5ea;border-radius:13px;padding:12px;text-align:center;text-decoration:none;color:inherit}.day-kpis b{display:block;font-size:25px}.day-kpis span{font-size:12px;color:#667085}.filter-panel{background:#fff;border:1px solid #dfe5ea;border-radius:14px;padding:0 15px;margin-bottom:14px}.filter-panel summary{cursor:pointer;font-weight:800;padding:13px 0}.filter-on{font-size:11px;background:#fff1c2;color:#725400;padding:4px 7px;border-radius:999px;margin-left:6px}.filter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 0 14px}.filter-grid label{margin:0}.filter-actions{display:flex;gap:8px;align-items:end}.schedule-list{display:grid;gap:9px}.date-divider{display:flex;align-items:center;gap:10px;margin-top:7px;font-weight:800;color:#475467}.date-divider:after{content:"";height:1px;background:#dfe5ea;flex:1}.schedule-card{display:grid;grid-template-columns:86px 1fr;background:#fff;border:1px solid #e0e5ea;border-left:5px solid #aab4bf;border-radius:14px;text-decoration:none;color:inherit;overflow:hidden}.schedule-card.status-new{border-left-color:#ef4444}.schedule-card.status-assigned{border-left-color:#f59e0b}.schedule-card.status-confirmed{border-left-color:#3b82f6}.schedule-card.status-on_the_way,.schedule-card.status-picked_up{border-left-color:#8b5cf6}.schedule-card.status-completed{border-left-color:#22c55e}.schedule-card.status-cancelled{border-left-color:#94a3b8;opacity:.78}.schedule-time{font-size:23px;font-weight:900;padding:17px 10px;text-align:center;background:#f8fafc}.schedule-main{padding:12px 14px}.schedule-top{display:flex;justify-content:space-between;gap:10px}.schedule-route{display:flex;gap:10px;align-items:center;font-size:16px;margin:6px 0}.schedule-details{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;color:#475467}.schedule-meta{display:flex;flex-wrap:wrap;gap:6px 15px;font-size:13px;margin-top:6px}.empty-state{text-align:center;padding:35px}@media(max-width:800px){.day-kpis{grid-template-columns:repeat(2,1fr)}.filter-grid{grid-template-columns:1fr 1fr}.schedule-card{grid-template-columns:68px 1fr}.schedule-time{font-size:19px;padding:16px 6px}.schedule-route{font-size:14px;align-items:flex-start}.date-pick{min-width:245px}}@media(max-width:520px){.filter-grid{grid-template-columns:1fr}.schedule-card{grid-template-columns:58px 1fr}.schedule-time{font-size:17px}.schedule-main{padding:10px}.schedule-top{align-items:flex-start}.schedule-route{flex-wrap:wrap;gap:5px}.schedule-route span{display:none}}
/* V5.3 Provider accounts & invitations */
.provider-list{display:grid;gap:14px;margin-top:14px}.provider-card h2{margin:0}.provider-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.provider-form{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.provider-form label{margin:0}.provider-form .actions{grid-column:1/-1}.user-list{display:grid;gap:8px}.provider-user{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border:1px solid #e2e8f0;border-radius:12px}.user-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.user-actions form{margin:0}.status-pill{font-size:12px;font-weight:800;border-radius:999px;padding:5px 8px;background:#f1f5f9}.status-pill.active{background:#dcfce7;color:#166534}.status-pill.inactive{background:#fef3c7;color:#92400e}.danger{border-color:#fecaca;color:#b91c1c}.new-user{margin-top:13px;border-top:1px solid #edf0f3;padding-top:12px}.invite-result{border-left:5px solid #2563eb}.copy-row{display:flex;gap:8px}.copy-row input{margin:0;flex:1}.narrow{max-width:560px;margin:5vh auto}.invite-page h1{margin-top:0}@media(max-width:800px){.provider-form{grid-template-columns:1fr 1fr}.provider-user{align-items:flex-start;flex-direction:column}.user-actions{justify-content:flex-start}.copy-row{flex-direction:column}}@media(max-width:520px){.provider-form{grid-template-columns:1fr}}
