:root{--bg:#07111d;--panel:#0c1b2c;--panel2:#10243a;--panel3:#152b46;--line:#24415f;--text:#f3f7fb;--muted:#93a8bc;--blue:#1685ff;--cyan:#11b9f4;--green:#19c76b;--yellow:#ffbd24;--red:#ff4b55;--purple:#9b7cff;--white:#fff}*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:150px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#0b1c2e,#081421);border-right:1px solid #18304b;display:flex;flex-direction:column}.brand{height:76px;display:flex;align-items:center;gap:9px;padding:12px;border-bottom:1px solid #18304b}.brand-mark{width:34px;height:42px;display:grid;place-items:center;font-weight:900;font-size:22px;color:white;background:linear-gradient(145deg,#0cb5ff,#2f63ff);clip-path:polygon(35% 0,100% 0,65% 50%,100% 100%,35% 100%,0 50%)}.brand strong{font-size:17px}.brand small,.top-actions small{display:block;color:var(--muted);font-size:10px}.sidebar nav{padding:8px}.nav-item{width:100%;border:0;background:transparent;color:#c7d5e2;text-align:left;padding:11px 10px;border-radius:6px;margin:2px 0;cursor:pointer}.nav-item:hover{background:#122943}.nav-item.active{background:linear-gradient(90deg,#116bc9,#0a4f95);color:white}.nav-item span{margin-left:7px}.sidebar-foot{margin-top:auto;padding:14px 12px;color:var(--muted);font-size:11px;border-top:1px solid #18304b}.sidebar-foot small{float:right}.online-dot{width:10px;height:10px;background:#2ad16f;border-radius:50%;display:inline-block;margin-right:5px}.main{min-width:0}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#091827;border-bottom:1px solid #1f3b58;position:sticky;top:0;z-index:20}.search{background:#10243a;border:1px solid #294662;color:white;border-radius:5px;padding:10px 12px;outline:0;width:min(480px,42vw)}.search:focus,input:focus,select:focus,textarea:focus{border-color:#1685ff;box-shadow:0 0 0 2px rgba(22,133,255,.12)}.search.compact{width:430px;padding:8px 10px}.top-actions{display:flex;align-items:center;gap:8px}.icon-btn{background:transparent;border:0;color:#d5e4f0;font-size:18px}.clock{padding:0 12px;border-left:1px solid #203951;border-right:1px solid #203951;text-align:right}.clock strong{display:block;font-size:20px}.user-pill{width:34px;height:34px;background:#167ef2;border-radius:50%;display:grid;place-items:center}.view{display:none;padding:14px}.view.active{display:block}.metric-row{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:8px;margin-bottom:9px}.metric{background:linear-gradient(180deg,#122a42,#0d2033);border:1px solid #27435e;border-radius:6px;padding:10px 12px;text-align:center}.metric strong{font-size:24px}.metric span{display:block;color:#b2c4d4;font-size:11px}.metric.red strong{color:#ff5c64}.metric.blue strong{color:#3a9cff}.metric.yellow strong{color:#ffc333}.metric.green strong{color:#2bd47b}.dispatch-grid{display:grid;grid-template-columns:1fr 240px;gap:9px}.map-card,.vehicle-panel,.trip-card,.mini-card,.form-card,.list-card,.directory-list,.profile-panel,.summary-card{background:var(--panel);border:1px solid #24415f;border-radius:6px;box-shadow:0 8px 22px rgba(0,0,0,.14)}.map-card{overflow:hidden}.map-toolbar{height:42px;display:flex;align-items:center;gap:10px;padding:6px 8px;background:#0d2033;border-bottom:1px solid #203d58}.map-toolbar label{font-size:12px;color:#c7d5e2}.push-right{margin-left:auto}.tab-btn,.segmented button,.triptab{border:0;background:#142a42;color:#c1d0df;padding:7px 11px;cursor:pointer}.tab-btn.active,.segmented button.active,.triptab.active{background:#167ef2;color:#fff}.tab-btn:first-child,.segmented button:first-child{border-radius:5px 0 0 5px}.tab-btn:nth-child(2),.segmented button:last-child{border-radius:0 5px 5px 0}#map{height:390px;background:#132b43}.vehicle-panel{overflow:hidden}.panel-head{padding:10px 12px;border-bottom:1px solid #1d3a56;display:flex;justify-content:space-between;align-items:center}.text-btn,.linkish{border:0;background:none;color:#46a6ff;cursor:pointer;font-size:11px}.vehicle-row{padding:10px 12px;border-bottom:1px solid #17334e;display:grid;grid-template-columns:45px 1fr;gap:5px}.vehicle-row .unit{font-weight:800}.vehicle-row small{color:var(--muted)}.status{display:inline-block;padding:3px 7px;border-radius:4px;font-size:11px;font-weight:700}.status.good{background:#0e713c;color:#baffd4}.status.info{background:#075db6;color:#cbe7ff}.status.warn{background:#b67800;color:#fff0b6}.status.bad{background:#8a2b34;color:#ffd4d6}.status.neutral{background:#40556c;color:#eef6ff}.trip-card{margin-top:9px;overflow:hidden}.trip-tabs{display:flex;background:#0e2033;border-bottom:1px solid #24415f}.triptab{border-right:1px solid #203d59}.table-tools{display:flex;justify-content:space-between;padding:8px;background:#0c1b2b}.table-tools select{width:170px}.table-wrap{overflow:auto;max-height:350px}table{width:100%;border-collapse:collapse;white-space:nowrap}th{position:sticky;top:0;background:#0b1827;color:#a9bed0;text-align:left;font-size:11px;padding:7px;border-bottom:1px solid #27445f;z-index:2}td{padding:6px 7px;border-bottom:1px solid #18324b;font-size:12px}tbody tr:hover{background:#112943}.row-accent{border-left:4px solid #42728e}.money{color:#36dc85}.bottom-grid{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:9px;margin-top:9px}.mini-card{min-height:125px}.quick-stats{display:grid;grid-template-columns:repeat(4,1fr);padding:18px 8px;text-align:center}.quick-stats strong{font-size:24px;display:block}.quick-stats span{color:var(--muted);font-size:10px}.alerts{padding:8px 12px;font-size:12px}.alerts div{padding:6px 0;border-bottom:1px solid #18334e}.btn{border:0;border-radius:5px;padding:9px 14px;color:white;cursor:pointer;font-weight:700}.btn.green{background:#17ae59}.btn.blue{background:#167ef2}.btn.secondary{background:#2d4358}.btn.red{background:#d94a50}.btn.wide{width:100%;margin-top:14px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin:3px 0 12px}.page-head h1{font-size:23px;margin:0 0 3px}.page-head p{margin:0;color:var(--muted)}.order-layout{display:grid;grid-template-columns:1fr 38px 1fr;gap:9px;align-items:start}.span-2{grid-column:1/4}.form-card{padding:12px}.section-title{text-transform:uppercase;font-weight:800;letter-spacing:.4px;color:#eaf5ff;margin-bottom:10px;border-bottom:1px solid #264661;padding-bottom:8px}.form-grid{display:grid;gap:10px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid.four{grid-template-columns:repeat(4,1fr)}.mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}label{display:block;color:#20b8f3;font-weight:700;font-size:11px;margin:6px 0 4px}input,select,textarea{width:100%;background:#1a3150;color:#fff;border:1px solid #3c5876;border-radius:3px;padding:8px}textarea{min-height:75px;resize:vertical}.segmented{display:flex;margin-bottom:8px}.toggle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.toggle-grid label{color:#cce0ef;font-weight:600}.toggle-grid input{width:auto;margin-right:5px}.swap-wrap{display:grid;place-items:center;height:100%}.swap-btn{width:32px;height:32px;border-radius:6px;border:0;background:#167ef2;color:white;font-size:18px;margin-top:90px}.route-line{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}.route-line span,.price-break span{display:block;color:var(--muted);font-size:11px}.route-line strong{font-size:22px}.price-break{margin-top:12px;border-top:1px solid #274660;padding-top:10px;display:grid;gap:8px}.hidden{display:none!important}.hint{font-size:10px;color:#8ea5ba;margin-top:3px}.directory-layout{display:grid;grid-template-columns:330px 1fr;gap:10px;min-height:720px}.directory-list{padding:10px}.directory-list .search{width:100%;margin-bottom:8px}.directory-card{padding:10px;border:1px solid #233f5b;border-radius:5px;margin:6px 0;cursor:pointer;background:#10233a;color:var(--text);text-align:left;width:100%}.directory-card:hover,.directory-card.selected{border-color:#1685ff;background:#11325a}.directory-card strong{display:block}.directory-card small{color:var(--muted)}.profile-panel{overflow:hidden}.empty-state{display:grid;place-items:center;min-height:300px;color:var(--muted)}.profile-title{padding:16px;background:#0c1a2b;border-bottom:1px solid #294863;display:flex;align-items:center;justify-content:space-between}.profile-title h2{margin:0}.profile-tabs{display:flex;background:#0e1d2f;border-bottom:1px solid #2a4864;overflow:auto}.profile-tabs button{background:none;border:0;color:#99adc0;padding:11px 15px;cursor:pointer;white-space:nowrap}.profile-tabs button.active{color:white;background:#152b46;border-bottom:2px solid #1685ff}.profile-body{padding:14px}.profile-section{background:#122644;border:1px solid #2c4967;margin-bottom:10px}.profile-section h3{margin:0;padding:9px 11px;background:#0e2034;font-size:13px}.profile-section .inside{padding:12px}.profile-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid #284560}.alert-banner{background:#6b242c;border:1px solid #a43c47;color:#ffe4e5;padding:9px;border-radius:4px;margin-bottom:10px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:10px}.entity-card{background:#0d2033;border:1px solid #294660;border-radius:6px;padding:14px;cursor:pointer}.entity-card:hover{border-color:#1685ff}.entity-card h3{margin:0 0 4px}.entity-card p{margin:4px 0;color:var(--muted)}.summary-card{padding:18px}.summary-card h3{margin:0;color:#a8bed1}.summary-card strong{font-size:34px;display:block;margin-top:12px}.summary-card span{color:var(--muted)}.timeclock-grid{display:grid;grid-template-columns:390px 1fr;gap:10px}.shift-card{padding:10px;border:1px solid #294762;margin-bottom:8px;border-radius:5px;background:#11253b}.shift-card button{float:right}#toast{position:fixed;right:18px;bottom:18px;z-index:100;background:#12283f;border:1px solid #32618d;color:white;padding:12px 16px;border-radius:6px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:none}.login-body{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at 50% 25%,#15324e,#06101a 60%)}.login-card{width:340px;background:#0c1b2c;border:1px solid #2b4d6b;border-radius:10px;padding:30px;box-shadow:0 25px 70px rgba(0,0,0,.4);text-align:center}.login-card .brand-mark{margin:auto;width:58px;height:70px;font-size:34px}.login-card h1{font-size:30px;margin:12px 0 2px}.login-card p{color:var(--muted);margin-top:0}.login-card button{width:100%;background:#1685ff;color:white;border:0;padding:11px;border-radius:5px;margin-top:14px}.error{color:#ff7780;margin-top:10px}.login-card small{display:block;margin-top:16px;color:#678198}@media(max-width:1050px){.app-shell{grid-template-columns:72px 1fr}.brand>div:not(.brand-mark),.nav-item span,.sidebar-foot{display:none}.brand{justify-content:center}.nav-item{text-align:center;font-size:18px}.dispatch-grid{grid-template-columns:1fr}.vehicle-panel{display:none}.bottom-grid{grid-template-columns:1fr}.order-layout{grid-template-columns:1fr}.span-2{grid-column:auto}.swap-wrap{display:none}.directory-layout{grid-template-columns:260px 1fr}.card-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.topbar .search{display:none}.metric-row{grid-template-columns:repeat(3,1fr)}.directory-layout,.timeclock-grid{grid-template-columns:1fr}.directory-list{max-height:280px;overflow:auto}.form-grid.three,.form-grid.four{grid-template-columns:1fr 1fr}.card-grid{grid-template-columns:1fr}.top-actions .icon-btn,.clock{display:none}.view{padding:8px}}
.brand{padding:12px 10px}.brand-logo{display:block;width:100%;max-width:188px;height:auto;object-fit:contain}.login-logo{width:260px;max-width:100%;height:auto;display:block;margin:0 auto 16px}.order-shell{display:grid;gap:10px}.order-shell .full{width:100%}.route-pair{display:grid;grid-template-columns:1fr 44px 1fr;gap:10px;align-items:stretch}.lower-order-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:10px}.left-stack{display:grid;gap:10px}.form-grid.six{grid-template-columns:repeat(6,minmax(0,1fr))}.return-row{display:grid;grid-template-columns:180px 220px 1fr;gap:18px;align-items:center}.address-verified{font-size:10px;color:#7e96aa;margin-top:4px;min-height:14px}.address-verified.ok{color:#39d889}.address-verified.bad{color:#ff7d85}.pricing-summary{min-width:0}.route-summary{display:grid;gap:12px}.route-summary>div:first-child{padding:10px;background:#0b1d2f;border:1px solid #284762;border-radius:5px}.route-summary span{display:block;color:var(--muted);font-size:11px}.route-big{display:grid;grid-template-columns:1fr 1fr;gap:10px}.route-big>div{background:#0c2034;border:1px solid #2a4a68;border-radius:6px;padding:14px}.route-big strong{font-size:28px;display:block;margin-top:4px}.price-large{font-size:28px!important}.price-input{font-size:24px;font-weight:800}.setup-notice{background:#553f0a;border:1px solid #a9851b;color:#ffe6a0;padding:10px 12px;border-radius:5px;margin-bottom:10px}.action-pair{display:flex;gap:6px}.action-pair .text-btn{padding:0}.modal{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:300;display:grid;place-items:center;padding:20px}.modal-card{width:min(680px,96vw);background:#0c1b2c;border:1px solid #315575;border-radius:8px;box-shadow:0 30px 90px rgba(0,0,0,.55);padding:16px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #294761;padding-bottom:10px;margin-bottom:12px}.modal-head h2{margin:0}.modal-head small{color:var(--muted)}.modal-close{border:0;background:transparent;color:#ff5963;font-size:30px;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.assignment-note{font-size:11px;color:#f6c45a;padding-top:22px}.assign-select{min-width:125px;padding:5px 7px}.trip-click{cursor:pointer}.trip-click:hover{text-decoration:underline;color:#4aa8ff}@media(max-width:1250px){.form-grid.six{grid-template-columns:repeat(3,1fr)}.lower-order-grid{grid-template-columns:1fr}.pricing-summary{order:-1}.return-row{grid-template-columns:1fr 1fr}}@media(max-width:900px){.route-pair{grid-template-columns:1fr}.route-pair .swap-wrap{display:none}.form-grid.six{grid-template-columns:repeat(2,1fr)}.return-row{grid-template-columns:1fr}.brand-logo{max-width:56px}}
.address-suggestions{position:absolute;left:0;right:0;top:100%;z-index:250;background:#0a1828;border:1px solid #315575;border-radius:0 0 7px 7px;box-shadow:0 16px 35px rgba(0,0,0,.45);max-height:290px;overflow:auto;margin-top:-1px}
.address-suggestion{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #213c55;background:#0a1828;color:#e7f0f8;padding:10px 12px;cursor:pointer}
.address-suggestion:hover,.address-suggestion:focus{background:#12304b;outline:none}
.address-suggestion strong{display:block;font-size:12px;font-weight:700}.address-suggestion small{display:block;color:#86a2b9;font-size:10px;margin-top:3px}.address-suggestion.empty{cursor:default;color:#86a2b9}

.typeahead-wrap{position:relative}.typeahead-menu{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 4px);background:#101b2d;border:1px solid #344762;border-radius:8px;max-height:280px;overflow:auto;box-shadow:0 12px 28px rgba(0,0,0,.35)}.typeahead-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;color:#edf4ff;padding:10px 12px;border-bottom:1px solid #24364f;cursor:pointer}.typeahead-menu button:hover{background:#1b2d48}.typeahead-empty{padding:10px 12px;color:#91a0b7}.detail-assignment-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.time-priority{display:flex;gap:8px;margin-bottom:14px}.time-type{flex:1;background:#132239;border:1px solid #425979;color:#b8c8dc;padding:12px;border-radius:8px;font-weight:700;cursor:pointer}.time-type.active{background:#184d7a;color:white;border-color:#4aa3df}.priority-hint{margin-top:10px;padding:9px 11px;background:#101d31;border-radius:7px;color:#a9bed6}.bariatric-flag{margin-top:7px;display:inline-block;padding:5px 9px;border-radius:999px;background:#7b271f;color:#ffd7d1;border:1px solid #c65549;font-weight:800;font-size:12px}.billable-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.billable-chip{display:flex!important;align-items:center;gap:9px;border:1px solid #30445f;background:#101d31;border-radius:8px;padding:10px;cursor:pointer}.billable-chip span{display:flex;flex-direction:column}.billable-chip small{color:#8ea1b8}.billable-qty{width:70px!important;margin-left:auto}.driver-suggestions{display:grid;gap:7px;margin-bottom:12px}.driver-rec{display:flex;justify-content:space-between;gap:12px;background:#101d31;color:#dce8f7;border:1px solid #30445f;border-radius:8px;padding:9px 11px;text-align:left;cursor:pointer}.driver-rec.best{border-color:#46a477;background:#12352f}.settings-strip{background:#101b2d;border:1px solid #273a54;border-radius:10px;padding:16px;margin-bottom:14px}.inline-setting{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inline-setting input{width:100px}.modal-card.wide{max-width:850px}.span2{grid-column:span 2}.span3{grid-column:span 3}.duplicate-warning{margin-top:12px;padding:10px;background:#4b3514;border:1px solid #a87720;border-radius:8px;color:#ffd58b}.bariatric-control{margin-top:10px;padding-top:10px;border-top:1px solid #273a54}@media(max-width:1000px){.detail-assignment-grid{grid-template-columns:1fr}.billable-grid{grid-template-columns:1fr}}

.price-extras{display:grid;gap:4px;padding:6px 0}.price-extras>div{display:flex;justify-content:space-between;color:#9fb1c8;font-size:12px}.time-kind{display:block;color:#8fa5bf;font-size:10px;text-transform:uppercase;margin-top:2px}
.dispatch-alert-inline{display:block;margin-top:4px;color:#ffcf66;font-weight:700;max-width:220px;white-space:normal}.patient-note-callout{margin-top:8px;padding:10px 12px;border:1px solid #4d6f9d;border-radius:8px;background:#13243a;color:#dceaff;font-weight:600}.settings-page{display:grid;gap:16px}.setting-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border,#26364b)}.setting-row strong{margin-right:auto}.modal{align-items:flex-start!important;padding-top:4vh!important;overflow-y:auto!important}.modal-card{max-height:90vh;overflow-y:auto}
/* v4.4: guarantee dialogs render above Leaflet map panes/controls */
.leaflet-container{z-index:1}.leaflet-pane,.leaflet-control{z-index:auto!important}.modal{z-index:10000!important}.modal-card{position:relative;z-index:10001!important}
.facility-request-actions{display:flex;gap:6px;white-space:nowrap}.facility-request-actions .btn{padding:6px 8px;font-size:11px}.portal-login-link{display:inline-flex;align-items:center;text-decoration:none}

.pricing-mode-list{display:grid;gap:12px}.pricing-mode-card{border:1px solid #24445f;border-radius:10px;background:#10253a;overflow:hidden}.pricing-mode-card summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#0b2034}.pricing-mode-card summary div{display:flex;flex-direction:column;gap:3px}.pricing-mode-card summary small{color:#8eabc2}.pricing-mode-body{padding:16px}.surcharge-box{margin:14px 0;padding:14px;border:1px solid #2d5575;border-radius:8px;background:#132b43}.pricing-tiers{margin-top:14px}.tier-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:7px 0;border-bottom:1px solid #27445c}.facility-entrances-box{margin-top:18px;padding:14px;border:1px solid #294d69;border-radius:10px}.entrance-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #24445f}.entrance-row div{display:flex;flex-direction:column}.danger-text{color:#ff7a7a!important}.facility-alert-popup{position:fixed;right:24px;top:24px;z-index:20000;width:min(420px,calc(100vw - 48px));background:#122d45;border:2px solid #39bdf8;border-radius:12px;box-shadow:0 20px 60px #0008;padding:18px;display:flex;flex-direction:column;gap:8px}.facility-alert-popup strong{font-size:18px}.facility-alert-popup div{display:flex;gap:8px;margin-top:8px}
.schedule-fit{border:1px solid #36506a;border-radius:999px;padding:5px 9px;background:#13283a;color:#dce9f5;font-weight:700;font-size:12px;cursor:pointer;white-space:nowrap}.schedule-fit.fits{background:#123b2b;border-color:#1f7a54;color:#8ff0bb}.schedule-fit.tight{background:#493a10;border-color:#a77b13;color:#ffd86a}.schedule-fit.no{background:#4a1f25;border-color:#a13f4c;color:#ff9aa5}.schedule-fit.unknown{background:#263340;color:#53687d;color:#d4dde6}

/* v4.9.0: full-page create flows for payer/pricing setup */
.directory-layout.full-editor{grid-template-columns:1fr!important}
.directory-layout.full-editor>.directory-list{display:none!important}
.directory-layout.full-editor>.profile-panel{min-height:calc(100vh - 190px);max-width:none!important;width:100%}
.hint.ok{color:#19724a;font-weight:700}
