:root{--bg:#07111f;--panel:#0e1c2f;--panel2:#12243b;--line:#223954;--text:#eef6ff;--muted:#8da6bf;--accent:#2f80ed;--good:#1fa76b;--danger:#d45757}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 Inter,Arial,sans-serif}a{color:#8dc1ff;text-decoration:none}button,input,select,textarea{font:inherit}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:#081523;border-right:1px solid var(--line);padding:22px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow:hidden}.brand{font-weight:800;font-size:22px;letter-spacing:.3px;flex:0 0 auto}.brand span{color:#5ca4ff}.brand.big{font-size:34px}.tenant{color:var(--muted);margin:6px 0 18px;flex:0 0 auto}.sidebar nav{display:grid;gap:8px;overflow-y:auto;overflow-x:hidden;min-height:0;padding:0 4px 10px 0;scrollbar-width:thin;scrollbar-color:#31516f transparent}.sidebar nav::-webkit-scrollbar{width:7px}.sidebar nav::-webkit-scrollbar-track{background:transparent}.sidebar nav::-webkit-scrollbar-thumb{background:#31516f;border-radius:999px}.sidebar nav a{color:#cfe2f7;padding:10px 12px;border-radius:9px}.sidebar nav a:hover{background:#12243b}.logout{position:static;margin-top:auto;padding-top:12px;border-top:1px solid var(--line);flex:0 0 auto}.link-button{background:none;border:0;color:#8dc1ff;cursor:pointer;padding:8px}.content{padding:0 28px 40px;min-width:0}.topbar{height:72px;display:flex;justify-content:flex-end;align-items:center;border-bottom:1px solid var(--line);margin-bottom:26px}.muted{color:var(--muted)}h1{font-size:30px;margin:0 0 4px}h2{font-size:18px;margin:0 0 16px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.primary,button{background:var(--accent);border:0;color:white;padding:10px 14px;border-radius:8px;cursor:pointer;display:inline-block}.full{width:100%}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;overflow:auto}.panel-head{display:flex;justify-content:space-between;align-items:center}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.kpi{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:18px}.kpi span{display:block;color:var(--muted);margin-bottom:8px}.kpi strong{font-size:28px}.badge{display:inline-block;background:#18304e;border:1px solid #2c4e74;border-radius:999px;padding:4px 8px;white-space:nowrap}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 9px;border-bottom:1px solid var(--line);vertical-align:top}th{color:#9fb7cf;font-weight:600}.empty{text-align:center;color:var(--muted);padding:28px}.filters{display:flex;gap:8px;margin-bottom:14px}.filters select{max-width:220px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wide{grid-column:1/-1}.stack{display:grid;gap:12px}.split{display:grid;grid-template-columns:340px 1fr;gap:18px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}label{display:grid;gap:6px;color:#c9d8e8}input,select,textarea{width:100%;background:#091728;color:var(--text);border:1px solid #29415e;border-radius:8px;padding:10px}textarea{resize:vertical}.actions{display:flex;justify-content:flex-end}.alert{padding:11px 13px;border-radius:8px;margin-bottom:14px;background:#18304e}.alert.success{border:1px solid #24744f}.alert.danger{border:1px solid #8f3f3f}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:30px;display:grid;gap:12px}.login-card .primary{margin-top:8px}dl{display:grid;grid-template-columns:110px 1fr;gap:10px;margin:0}dt{color:var(--muted)}dd{margin:0}.note-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.timeline{margin-top:20px}.timeline-item{border-left:2px solid #31577e;padding:0 0 18px 14px;margin-left:4px}.timeline-item span{color:var(--muted);font-size:12px;margin-left:10px}.timeline-item p{margin:7px 0 0}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;overflow:visible}.sidebar nav{grid-template-columns:repeat(3,1fr);overflow:visible;max-height:none;padding-right:0}.logout{position:static;margin-top:10px;padding-top:10px}.content{padding:0 14px 30px}.kpis{grid-template-columns:repeat(2,1fr)}.split,.detail-grid,.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}}
.secondary{background:#142a44;border:1px solid #31577e;color:#d7e9ff;padding:9px 13px;border-radius:8px;display:inline-block}.danger-button{background:#9d3e3e}.kpis-6{grid-template-columns:repeat(6,1fr)}.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.info-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.info-grid strong{display:block}.row{display:flex;gap:10px}.row>label,.row>button{flex:1}.record{padding:12px 0;border-bottom:1px solid var(--line);display:grid;gap:4px}.records .record:last-child,.record:last-child{border-bottom:0}.timeline{display:grid;gap:0}.timeline-item{position:relative;display:grid;grid-template-columns:18px 1fr;gap:8px;border-left:0;margin:0;padding:0 0 20px 0}.timeline-item:before{content:"";position:absolute;left:6px;top:12px;bottom:-5px;width:2px;background:#31577e}.timeline-item:last-child:before{display:none}.dot{width:14px;height:14px;border-radius:50%;background:#5ca4ff;margin-top:4px;z-index:1}.public-bg{min-height:100vh;background:var(--bg);display:grid;place-items:center;padding:24px}.vendor-card{width:min(720px,100%);background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px}.form-panel{max-width:900px}.actions{gap:8px}.panel hr{border:0;border-top:1px solid var(--line);margin:18px 0}.filters input{max-width:360px}@media(max-width:1200px){.kpis-6{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.info-grid{grid-template-columns:1fr 1fr}.row{flex-direction:column}.kpis-6{grid-template-columns:repeat(2,1fr)}}
.map-large{height:560px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.map-small{height:360px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.map-controls{margin-bottom:18px}.checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.check{display:flex;grid-template-columns:18px 1fr;align-items:center;gap:8px;background:#091728;border:1px solid #29415e;padding:9px;border-radius:8px}.check input{width:auto}.chips{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0}.exception{padding:12px 14px;border-left:4px solid #d6a843;background:#101f33;margin:8px 0;border-radius:8px}.exception.high{border-left-color:#d45757}.exception.low{border-left-color:#5ca4ff}.line-table td{min-width:95px}.line-table td:first-child{min-width:240px}@media(max-width:900px){.checkbox-grid{grid-template-columns:1fr 1fr}.map-large{height:460px}}

/* Event workspace: functionally dense, visually distinct from external reference systems */
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:#72aef2;font-weight:800;margin-bottom:5px}.event-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.event-subtitle{color:var(--muted);margin-top:6px}.event-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.event-actions form{margin:0}.lifecycle{display:flex;align-items:center;gap:0;padding:13px 16px;margin-bottom:18px;overflow-x:auto}.life-step{display:flex;align-items:center;gap:7px;color:#678099;white-space:nowrap;position:relative;flex:1;min-width:115px;font-size:12px}.life-step:not(:last-child):after{content:"";height:2px;background:#29415e;flex:1;margin:0 9px}.life-dot{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid #365a7e;background:#0a1829;font-size:10px;font-weight:800}.life-step.done{color:#8fd1b1}.life-step.done .life-dot{background:#164a37;border-color:#2d9c6a}.life-step.done:not(:last-child):after{background:#2d9c6a}.life-step.current{color:#fff;font-weight:800}.life-step.current .life-dot{background:#2f80ed;border-color:#6eb1ff;box-shadow:0 0 0 4px rgba(47,128,237,.15)}.event-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.event-main{display:grid;gap:18px;min-width:0}.event-rail{display:grid;gap:14px;min-width:0}.sticky-card{position:sticky;top:88px}.event-map-panel{padding-bottom:14px}.event-map{height:390px;border-radius:10px;border:1px solid var(--line);overflow:hidden}.compact{margin:0}.map-legend{display:flex;gap:18px;color:var(--muted);font-size:12px;margin-top:10px}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px}.legend-dot.event{background:#e56b6b}.legend-dot.selected{background:#2f80ed}.legend-dot.vendor{background:#9eb2c7}.event-summary-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.issue-title{font-size:18px;font-weight:800;margin-bottom:7px}.compact-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}.mono{font-family:Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.vendor-title{font-size:20px;font-weight:800;display:block;margin:8px 0 4px}.vendor-meta{color:var(--muted)}.chip{display:inline-block;background:#132b45;border:1px solid #2b4b6a;border-radius:999px;padding:4px 8px;font-size:11px}.chip.good,.badge.good{background:#123b2d;border-color:#276e51;color:#b7efd2}.vendor-contact-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:12px;color:#bcd0e4}.event-tabs-panel{padding:0;overflow:hidden}.tabs{display:flex;gap:0;border-bottom:1px solid var(--line);overflow-x:auto;background:#0a1727}.tab{background:transparent;border-radius:0;padding:13px 17px;color:#8fa9c2;border-bottom:2px solid transparent;white-space:nowrap}.tab:hover{background:#10233a}.tab.active{color:#fff;border-bottom-color:#5ca4ff;background:#10233a}.tab-pane{display:none;padding:18px}.tab-pane.active{display:block}.vendor-search-head{margin-bottom:12px}.recommendation-list{display:grid;gap:10px}.vendor-rec{display:grid;grid-template-columns:38px minmax(0,1fr) 220px;gap:13px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#0a1727}.vendor-rec.selected{border-color:#4d91dc;box-shadow:inset 3px 0 0 #4d91dc}.vendor-rank{width:30px;height:30px;border-radius:9px;background:#173352;display:grid;place-items:center;font-weight:900;color:#9dcbff}.vendor-rec-head{display:flex;justify-content:space-between;gap:12px}.vendor-rec-head strong{font-size:16px}.score{font-weight:900;font-size:22px;color:#a8d1ff}.score small{font-size:10px;color:var(--muted);font-weight:600}.vendor-services{margin:6px 0}.rate-preview{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;margin-top:8px}.rate-preview span{background:#0e2137;border:1px solid #284564;border-radius:7px;padding:6px 8px}.dispatch-inline{display:grid;gap:7px;align-content:start}.dispatch-inline textarea,.dispatch-inline input{padding:8px;font-size:12px}.event-record{grid-template-columns:minmax(0,1fr) auto;align-items:center}.record-actions{display:flex;gap:10px;align-items:center}.invoice-event-total{display:flex;gap:10px;align-items:center;font-weight:800}.file-upload-row{display:grid;grid-template-columns:160px 1fr auto;gap:9px;margin-bottom:15px}.note-compose{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:14px;align-items:end}.status-pill{background:#153555;border:1px solid #31618e;border-radius:999px;padding:5px 9px;font-size:11px}.command-form label{font-size:12px}.rail-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rail-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.rail-metrics div{background:#091728;border:1px solid #213b58;padding:9px;border-radius:9px}.rail-metrics span,.rail-list span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.rail-metrics strong{display:block;margin-top:3px}.quick-actions{margin-top:15px;border-top:1px solid var(--line);padding-top:12px}.quick-actions>span{display:block;color:var(--muted);font-size:11px;margin-bottom:8px}.quick-actions form{display:inline}.quick-chip{background:#11263e;border:1px solid #2a4665;padding:5px 7px;border-radius:7px;margin:0 3px 5px 0;font-size:10px}.quick-chip.active{background:#2f80ed;border-color:#5da5f4}.next-action-box{border-left:3px solid #5ca4ff;background:#091728;padding:12px;border-radius:7px;color:#d7e9fa}.rail-list{display:grid;gap:9px}.rail-list div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #1c324c;padding-bottom:8px}.subhead{margin:20px 0 5px;font-size:14px;color:#b9cee3}.event-map-marker span,.vendor-map-marker span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#d45757;color:#fff;font-weight:900;border:2px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.35)}.vendor-map-marker span{width:26px;height:26px;border-radius:50%;background:#5f7892;font-size:10px}.vendor-map-marker.is-selected span{background:#2f80ed}.event-timeline{max-height:650px;overflow:auto;padding-right:5px}
@media(max-width:1250px){.event-layout{grid-template-columns:1fr}.sticky-card{position:static}.event-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.event-rail .sticky-card{grid-column:1/-1}.vendor-rec{grid-template-columns:38px 1fr}.dispatch-inline{grid-column:2}}
@media(max-width:900px){.event-header{flex-direction:column}.event-actions{justify-content:flex-start}.event-summary-grid{grid-template-columns:1fr}.event-rail{grid-template-columns:1fr}.compact-grid{grid-template-columns:1fr 1fr}.vendor-rec{grid-template-columns:1fr}.vendor-rank{display:none}.dispatch-inline{grid-column:auto}.file-upload-row,.note-compose{grid-template-columns:1fr}.event-map{height:310px}.lifecycle{padding:10px}.life-step{min-width:105px}}
.grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.inline-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin:12px 0}.code-block{background:#091728;border:1px solid #29415e;border-radius:9px;padding:12px;margin-top:12px}.wrap{overflow-wrap:anywhere;word-break:break-word}.danger-text{color:#ffaaaa;margin-top:4px}.record{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}@media(max-width:900px){.grid.two{grid-template-columns:1fr}.inline-form{grid-template-columns:1fr}}

/* Vendor network workspace — enterprise fleet styling with OTR Local identity */
.vendor-workspace-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.vendor-workspace-head h1{font-size:28px}.vendor-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.vendor-kpi{background:linear-gradient(180deg,#102139,#0c1b2e);border:1px solid #29425f;border-radius:10px;padding:14px 16px;min-height:82px}.vendor-kpi span{display:block;color:#89a4bf;font-size:11px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px}.vendor-kpi strong{font-size:25px;line-height:1;color:#f4f8fd}.vendor-filterbar{display:grid;grid-template-columns:minmax(260px,1.8fr) repeat(4,minmax(120px,.7fr)) auto;gap:8px;background:#0b192a;border:1px solid #263e59;border-radius:10px;padding:10px;margin-bottom:10px}.vendor-filterbar input,.vendor-filterbar select{background:#071422;border-color:#29425f;border-radius:6px;padding:9px 10px}.vendor-toolbar{display:flex;gap:8px;justify-content:flex-end;margin-bottom:10px}.vendor-toolbar form{margin:0}.vendor-grid-panel{padding:0;border-radius:10px}.vendor-grid-actions{display:flex;align-items:center;gap:12px;padding:11px 13px;border-bottom:1px solid var(--line);background:#0a1829}.vendor-data-grid{font-size:12px}.vendor-data-grid th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;background:#0a1726;position:sticky;top:0;z-index:1}.vendor-data-grid td{padding:10px 9px}.vendor-data-grid tbody tr:hover{background:#10243a}.vendor-subline{font-size:10px;color:#7f9ab5;margin-top:3px;line-height:1.35}.service-tags{display:flex;flex-wrap:wrap;gap:4px}.service-tags span{background:#132940;border:1px solid #284763;border-radius:4px;padding:3px 5px;font-size:9px;white-space:nowrap}.score-badge{display:inline-grid;place-items:center;min-width:46px;padding:5px 7px;border-radius:6px;background:#12365b;border:1px solid #2f6598;color:#cfe8ff;font-size:13px;font-weight:800}.rank-pill{display:inline-block;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.03em;border:1px solid #36506b;background:#13263b;color:#cad9e8}.rank-preferred{background:#173d30;border-color:#2d7c5c;color:#bff2d8}.rank-approved{background:#153752;border-color:#2f6891;color:#c9e8ff}.rank-watch{background:#4a3817;border-color:#8a6a2b;color:#ffe1a0}.rank-do-not-use{background:#4a2025;border-color:#91434c;color:#ffc4cb}.rank-text{font-size:16px!important}.pagination-bar{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;margin-top:12px}.pager{display:flex;gap:10px;align-items:center}.rank-number{font-size:13px;font-weight:800;color:#8099b2}.score-cell{min-width:90px}.score-cell>strong{font-size:16px}.score-track{height:4px;background:#1b3148;border-radius:99px;overflow:hidden;margin-top:5px}.score-track span{display:block;height:100%;background:#4f9bf0}.confidence{display:inline-block;padding:3px 6px;border-radius:4px;font-size:9px;font-weight:800;background:#1b3148;border:1px solid #36516c}.confidence-high,.confidence-very-high{background:#16372c;border-color:#2c6d53;color:#bdebd3}.confidence-medium{background:#3f351d;border-color:#735f2f;color:#efd69b}.rank-status-form select{font-size:10px;padding:6px;min-width:105px}.score-method{margin-top:18px}.score-weight-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:10px 0 14px}.score-weight-grid div{background:#0a1727;border:1px solid #223b57;border-radius:8px;padding:10px;text-align:center}.score-weight-grid strong{font-size:18px;display:block}.score-weight-grid span{font-size:9px;color:#8ba5be;text-transform:uppercase;letter-spacing:.05em}.vendor-score-strip{display:grid;grid-template-columns:1.45fr repeat(6,1fr);gap:8px;margin-bottom:16px}.vendor-score-strip>div{background:#0d1d30;border:1px solid #29425f;border-radius:9px;padding:12px}.vendor-score-strip span{display:block;color:#86a1bb;text-transform:uppercase;letter-spacing:.06em;font-size:9px;margin-bottom:5px}.vendor-score-strip strong{font-size:19px}.vendor-score-main strong{font-size:30px}.vendor-score-main small{display:block;color:#829db8;font-size:10px;margin-top:4px}.ranked-location-row{display:grid;grid-template-columns:1fr auto;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.ranked-location-row:last-child{border-bottom:0}.location-score{text-align:right}.location-score strong{display:block;font-size:18px}.location-score span{font-size:9px;color:var(--muted)}
@media(max-width:1200px){.vendor-filterbar{grid-template-columns:1fr 1fr 1fr}.vendor-score-strip{grid-template-columns:repeat(4,1fr)}.score-weight-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.vendor-workspace-head{flex-direction:column}.vendor-kpi-row{grid-template-columns:1fr 1fr}.vendor-filterbar{grid-template-columns:1fr}.vendor-score-strip{grid-template-columns:1fr 1fr}.score-weight-grid{grid-template-columns:1fr 1fr}.pagination-bar{align-items:flex-start;gap:10px;flex-direction:column}}

.map-head-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.route-chip{font-weight:700}
.route-source{font-size:12px;margin-top:7px;color:var(--muted,#64748b)}

/* Customers */
.vendor-approval-list{max-height:520px;overflow:auto;border:1px solid var(--border,#dbe2ea);border-radius:10px;margin:12px 0;padding:6px}
.approval-row{display:flex!important;align-items:flex-start;gap:10px;padding:10px;border-bottom:1px solid var(--border,#e6ebf0)}
.approval-row:last-child{border-bottom:0}
.record-card{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--border,#e6ebf0)}

/* Searchable/typeable dropdowns */
.typeahead-select{position:relative;width:100%}.typeahead-native{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}.typeahead-select>input{padding-right:34px}.typeahead-select:after{content:'⌄';position:absolute;right:12px;top:8px;color:#8da6bf;pointer-events:none;font-size:18px}.typeahead-menu{display:none;position:absolute;z-index:3000;left:0;right:0;top:calc(100% + 4px);max-height:280px;overflow:auto;background:#091728;border:1px solid #31506f;border-radius:8px;box-shadow:0 14px 30px rgba(0,0,0,.35);padding:4px}.typeahead-menu.open{display:block}.typeahead-option{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:5px;padding:9px 10px;color:#eef6ff}.typeahead-option:hover,.typeahead-option:focus{background:#1f5fae;outline:none}.typeahead-empty{padding:10px;color:#8da6bf}.geo-action-row{display:flex;gap:12px;align-items:center}.geo-action-row .button{background:#173452;border:1px solid #315a82;color:#d9ecff;padding:9px 13px;border-radius:8px;cursor:pointer}

/* Role permission matrix */
.permission-panel{padding:0;overflow:hidden}
.permission-toolbar,.permission-save{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border,#1f3a55)}
.permission-save{border-top:1px solid var(--border,#1f3a55);border-bottom:0;justify-content:flex-end}
.permission-table-wrap{overflow:auto;max-height:70vh}
.permission-table{width:100%;border-collapse:collapse;min-width:860px}
.permission-table th{position:sticky;top:0;z-index:2;background:#0d1d30}
.permission-table th:not(:first-child),.permission-toggle-cell{text-align:center;min-width:120px}
.permission-table .permission-group td{background:#10263e;font-weight:700;color:#c7def7;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;padding-top:12px;padding-bottom:12px}
.permission-table input[type="checkbox"]{width:18px;height:18px;accent-color:#3888f2;cursor:pointer}
.permission-table input[type="checkbox"]:disabled{cursor:not-allowed;opacity:.7}
.permission-key{font-size:.72rem;margin-top:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.button.small{padding:8px 11px;font-size:.85rem}

.manager-share-box{margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:10px;background:rgba(18,54,88,.28);display:grid;gap:10px}.manager-share-actions{display:flex;gap:8px;flex-wrap:wrap}.manager-share-actions form{margin:0}.public-status-card{width:min(860px,calc(100% - 28px));margin:28px auto;padding:24px;border:1px solid #27445f;border-radius:16px;background:#0e2136}.public-status-banner{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;margin:18px 0;border-radius:12px;background:#15395c}.public-status-banner span{color:#9db9d2}.public-status-banner strong{font-size:1.15rem}.public-update-section{margin-top:22px}.public-timeline-row{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #23405a}.public-timeline-row>span{white-space:nowrap;color:#8ea9c1;font-size:.9rem}.public-time-row{display:flex;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid #23405a}

/* Provider dispatch review */
.review-dispatch-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.dispatch-review-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.75fr);gap:18px;align-items:start}.dispatch-provider-banner{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#0a192a}.dispatch-provider-banner span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase}.section-title{padding-top:8px;border-top:1px solid var(--line);font-weight:800;color:#cfe3f7}.dispatch-readiness{position:sticky;top:18px}.ready-banner,.not-ready-banner{padding:11px 12px;border-radius:9px;font-weight:800;margin:10px 0}.ready-banner{background:#173d30;border:1px solid #2d7c5c;color:#bff2d8}.not-ready-banner{background:#4a3817;border:1px solid #8a6a2b;color:#ffe1a0}.review-list>div{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid var(--line)}.payload-preview{max-height:420px;overflow:auto;background:#071422;border:1px solid var(--line);border-radius:8px;padding:10px;font-size:.72rem;white-space:pre-wrap;word-break:break-word}.dispatch-review-form button[disabled]{opacity:.45;cursor:not-allowed}@media(max-width:1000px){.dispatch-review-grid{grid-template-columns:1fr}.dispatch-readiness{position:static}.dispatch-provider-banner{grid-template-columns:1fr}}

/* Vendor-selection workflow */
.selection-search-form{padding:20px}.selection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.selection-grid .span-2{grid-column:span 2}.geocode-inline{align-self:end;height:42px}.selection-actions{display:flex;justify-content:flex-end;margin-top:18px}.selection-results-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.vendor-selection-list{display:flex;flex-direction:column;gap:12px}.selection-vendor-card{display:grid;grid-template-columns:44px minmax(0,1fr) 130px 150px 205px;gap:16px;align-items:center;border:1px solid var(--border,#203a55);border-radius:14px;padding:16px;background:rgba(7,24,42,.38)}.selection-rank{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#143c68;font-weight:800}.selection-vendor-title{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:1.05rem}.selection-badges,.selection-reasons{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.selection-reasons span{font-size:.78rem;color:#9ab4cf;border:1px solid #294761;border-radius:999px;padding:3px 7px}.selection-score-block{text-align:center}.selection-score-block>strong{display:block;font-size:2rem;line-height:1;color:#77b6ff}.selection-score-block>span{font-size:.78rem;color:#9ab4cf}.selection-route-block{display:grid;gap:8px}.selection-route-block div{display:flex;flex-direction:column}.selection-route-block span{font-size:.75rem;color:#8ca7c0}.selection-choose-form{margin:0}@media(max-width:1150px){.selection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selection-vendor-card{grid-template-columns:40px minmax(0,1fr) 110px}.selection-route-block,.selection-choose-form{grid-column:2/-1}.selection-results-layout{grid-template-columns:1fr}}@media(max-width:720px){.selection-grid{grid-template-columns:1fr}.selection-grid .span-2{grid-column:auto}.selection-vendor-card{grid-template-columns:38px 1fr}.selection-score-block,.selection-route-block,.selection-choose-form{grid-column:2}.selection-result-head{align-items:flex-start}}


/* Vendor ranking methodology */
.ranking-guide-head{margin-bottom:18px}.ranking-formula{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center;margin-bottom:18px}.formula-label{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.formula-parts{display:flex;gap:8px;flex-wrap:wrap}.formula-parts span{background:#0a1727;border:1px solid #29445f;border-radius:999px;padding:7px 10px;color:#b7cce0}.formula-parts b{color:#77b6ff}.ranking-steps{display:grid;gap:14px}.ranking-step{display:grid;grid-template-columns:52px minmax(0,1fr);gap:16px;overflow:visible}.ranking-step h2{margin:2px 0 8px}.ranking-step h3{font-size:14px;margin:0 0 9px;color:#d8e9fa}.ranking-step p{max-width:1100px}.step-number{width:42px;height:42px;border-radius:12px;background:#143c68;border:1px solid #315f8b;display:grid;place-items:center;font-size:18px;font-weight:900;color:#dcebff}.methodology-weights{margin-top:14px}.method-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}.compact-table th,.compact-table td{padding:8px 9px}.compact-table td:last-child,.compact-table th:last-child{text-align:right;width:80px}.calculation-card{background:#0a1727;border:1px solid #263f59;border-radius:11px;padding:14px}.calculation-card code,.formula-block{display:block;background:#07111f;border:1px solid #29445f;border-radius:8px;padding:11px 12px;color:#b9dcff;white-space:normal;overflow-wrap:anywhere;margin:9px 0}.method-note{border-left:3px solid #4f9bf0;background:#0a1727;padding:10px 12px;border-radius:0 8px 8px 0;color:#a9bfd5}.rating-example{display:flex;gap:8px;flex-wrap:wrap}.rating-example span{background:#0a1727;border:1px solid #29445f;border-radius:7px;padding:7px 9px}.formula-breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.formula-breakdown>div{background:#0a1727;border:1px solid #29445f;border-radius:9px;padding:10px}.formula-breakdown span{display:block;color:#91aac2;font-size:11px}.formula-breakdown b{display:block;font-size:16px;margin-top:3px}.status-cap-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.status-cap-grid>div,.confidence-scale>div{background:#0a1727;border:1px solid #29445f;border-radius:9px;padding:11px}.status-cap-grid span,.confidence-scale span{display:block;color:#8da6bf;font-size:11px;margin-bottom:4px}.status-cap-grid .watch{border-color:#735f2f}.status-cap-grid .dnu{border-color:#7e3b3b}.confidence-scale{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.ranking-summary{margin-top:18px}
@media(max-width:900px){.ranking-formula{grid-template-columns:1fr}.ranking-step{grid-template-columns:1fr}.method-grid.two{grid-template-columns:1fr}.formula-breakdown{grid-template-columns:1fr 1fr}.status-cap-grid{grid-template-columns:1fr 1fr}.confidence-scale{grid-template-columns:1fr 1fr}}
.peer-funnel{display:grid;gap:7px;margin:14px 0;max-width:760px}.peer-funnel>div{display:flex;gap:12px;align-items:center;background:#0a1727;border:1px solid #29445f;border-radius:8px;padding:10px 12px}.peer-funnel strong{min-width:90px;color:#78b8ff}.methodology-table{max-width:680px}.cost-weight-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:14px 0}.cost-weight-grid>div,.context-priority>div{background:#0a1727;border:1px solid #29445f;border-radius:9px;padding:11px}.cost-weight-grid strong,.context-priority strong{display:block;font-size:17px;color:#78b8ff}.cost-weight-grid span,.context-priority span{display:block;margin-top:4px;color:#a8bfd5}.context-priority{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.method-grid.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}@media(max-width:1050px){.cost-weight-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.method-grid.three{grid-template-columns:1fr}.context-priority{grid-template-columns:1fr}}@media(max-width:700px){.cost-weight-grid{grid-template-columns:1fr 1fr}}

.vendor-map-rank-legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;color:#a9bfd5}
.vendor-map-rank-legend span{display:inline-flex;align-items:center;gap:5px}
.vendor-map-rank-dot{width:9px;height:9px;border-radius:50%;display:inline-block;border:1px solid rgba(255,255,255,.35)}

.vendor-map-popup .leaflet-popup-content-wrapper{background:#0c1a2a;color:#e7f0f8;border:1px solid #29445f;border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.45)}
.vendor-map-popup .leaflet-popup-tip{background:#0c1a2a}
.vendor-map-popup .leaflet-popup-content{margin:12px 14px;width:auto!important}
.vendor-map-popup a{color:#76b7ff}
.vendor-map-popup-card{min-width:270px}
.vendor-map-popup-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.vendor-map-popup-name{font-size:15px;font-weight:800;line-height:1.2;color:#f2f7fc}
.vendor-map-popup-branch{font-size:11px;color:#8ea8c0;margin-top:3px}
.vendor-map-popup-rank{min-width:47px;height:38px;border:2px solid #4d6c89;border-radius:9px;display:flex;align-items:baseline;justify-content:center;gap:1px;padding:4px 5px;background:#07111f}
.vendor-map-popup-rank strong{font-size:17px;line-height:1}
.vendor-map-popup-rank span{font-size:9px;color:#89a0b6}
.vendor-map-popup-address{font-size:11px;color:#9eb4c8;margin:8px 0 9px;padding-bottom:8px;border-bottom:1px solid #20384f}
.vendor-map-preferred-contact{font-size:11px;padding:7px 8px;border-radius:7px;background:#0f2d22;border:1px solid #23533e;color:#b8e8cf;margin-bottom:8px}
.vendor-map-contact-list{display:grid;gap:5px;margin:8px 0 10px}
.vendor-map-contact-row{display:grid;grid-template-columns:55px 1fr;gap:8px;font-size:11px}
.vendor-map-contact-row>span{color:#7f98ae}
.vendor-map-contact-row strong,.vendor-map-contact-row a{overflow-wrap:anywhere}
.vendor-map-no-contact,.vendor-map-no-capabilities{font-size:11px;color:#72879a;font-style:italic}
.vendor-map-capability-title{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7891a8;margin:9px 0 6px}
.vendor-map-capabilities{display:flex;gap:5px;flex-wrap:wrap}
.vendor-map-capability{display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border:1px solid #2a4660;border-radius:7px;background:#0a1727;font-size:10px;color:#c6d8e7;max-width:150px}
.vendor-map-capability-icon{width:17px;height:17px;border-radius:5px;background:#153451;display:grid;place-items:center;font-size:10px;color:#e5f2ff;flex:0 0 17px}
.vendor-map-popup-foot{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid #20384f;margin-top:10px;padding-top:9px;font-size:10px;color:#8198ad}
.vendor-map-popup-foot a{font-weight:700;text-decoration:none;white-space:nowrap}


/* Vendor Selection: visible route map + delivery address */
.selection-delivery-block{
  border:1px solid #29445f;
  border-radius:10px;
  background:#0a1727;
  padding:12px;
  margin:2px 0 4px;
}
.selection-delivery-head{margin-bottom:8px}
.selection-delivery-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.selection-delivery-row input{width:100%}
.selection-map-panel{position:sticky;top:14px;z-index:1}
.selection-map-sticky{height:460px;border-radius:10px;overflow:hidden;border:1px solid #29445f}
.selection-vendor-card.is-map-active{
  border-color:#5aa7ff;
  box-shadow:0 0 0 1px rgba(90,167,255,.35),0 8px 24px rgba(0,0,0,.22);
}
.selection-popup-capabilities{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.selection-popup-capabilities span{
  display:inline-block;
  padding:3px 6px;
  border-radius:999px;
  background:#16324d;
  border:1px solid #31516d;
  font-size:10px;
}
@media(max-width:980px){
  .selection-map-panel{position:relative;top:auto}
  .selection-map-sticky{height:340px}
}


/* Vendor directory per-column filters */
.vendor-filterbar-main{display:grid;grid-template-columns:minmax(260px,1fr) 170px 120px auto auto;gap:8px;align-items:center}
.vendor-filter-grid thead{position:sticky;top:0;z-index:3;background:#0e1c2f}
.vendor-column-filters th{padding:7px 6px;background:#0a1727;border-bottom:1px solid #31516f}
.vendor-column-filters input,.vendor-column-filters select{min-width:0;width:100%;padding:7px 8px;font-size:12px;border-radius:6px}
.vendor-filter-stack{display:grid;grid-template-columns:minmax(110px,1fr) 82px;gap:5px}
.vendor-score-filter{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.vendor-score-filter input{min-width:58px}
@media(max-width:1200px){
  .vendor-filterbar-main{grid-template-columns:1fr 1fr 120px auto auto}
  .vendor-filter-grid{min-width:1250px}
}

/* Vendor Selection: simplified location/geocode form */
.selection-grid .span-4{grid-column:1/-1}
.selection-location-stack{display:grid;gap:12px;border:1px solid #29445f;border-radius:10px;background:#0a1727;padding:14px}
.selection-location-row{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:10px;align-items:end}
.selection-location-row label{min-width:0}
.selection-geocode-action{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.selection-geocode-action .secondary:disabled{opacity:.65;cursor:wait}
.geocode-status{height:42px;border:1px solid #29415e;border-radius:8px;background:#091728;color:#8da6bf;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 10px;white-space:nowrap}
.geocode-status-icon{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:14px;background:#18304e;color:#8da6bf}
.geocode-status.success{border-color:#24744f;color:#b7efd2;background:#0d2c22}
.geocode-status.success .geocode-status-icon{background:#1f8a5d;color:#fff}
.geocode-status.error{border-color:#8f3f3f;color:#ffd0d0;background:#321818}
.geocode-status.error .geocode-status-icon{background:#b44848;color:#fff}
.geocode-status.pending{border-color:#31577e;color:#b9d7f3}
.geocode-status.pending .geocode-status-icon{background:#173a5d;color:#fff}
.geocode-status.optional{opacity:.75}
.selection-advanced{border:1px solid #29445f;border-radius:10px;background:#0a1727;overflow:hidden}
.selection-advanced summary{position:relative;cursor:pointer;list-style:none;padding:13px 14px;display:flex;justify-content:space-between;gap:12px;align-items:center;font-weight:800;color:#dceafa;user-select:none}
.selection-advanced summary::-webkit-details-marker{display:none}
.selection-advanced summary:after{content:'▾';color:#8da6bf;font-size:13px;transition:transform .15s ease}
.selection-advanced[open] summary{border-bottom:1px solid #29445f}
.selection-advanced[open] summary:after{transform:rotate(180deg)}
.selection-advanced-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:14px}
.selection-advanced-grid .advanced-wide{grid-column:1/-1}
@media(max-width:900px){.selection-advanced-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.selection-grid .span-4{grid-column:auto}.selection-location-row{grid-template-columns:1fr}.geocode-status{justify-content:flex-start}.selection-advanced-grid{grid-template-columns:1fr}.selection-advanced-grid .advanced-wide{grid-column:auto}.selection-advanced summary{align-items:flex-start;flex-direction:column}.selection-advanced summary:after{position:absolute;right:28px}}

/* Vendor-selection breakdown weather */
.breakdown-weather-card{
  border:1px solid #29445f;
  border-radius:10px;
  background:#0a1727;
  padding:14px;
  min-width:0;
}
.breakdown-weather-card[hidden]{display:none!important}
.breakdown-weather-card.embedded{border:0;background:transparent;padding:0}
.breakdown-weather-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.breakdown-weather-current{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.breakdown-weather-icon{font-size:2.15rem;line-height:1}
.breakdown-weather-temp{font-size:1.85rem;line-height:1;font-weight:800;color:#eef7ff}
.breakdown-weather-condition{margin-top:4px;color:#b8cbe0;font-weight:650}
.breakdown-weather-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.breakdown-weather-metrics>div{border:1px solid #203b56;border-radius:8px;background:#0d1d30;padding:8px;min-width:0}
.breakdown-weather-metrics span{display:block;color:#86a3bf;font-size:.72rem;margin-bottom:3px}
.breakdown-weather-metrics strong{display:block;color:#edf6ff;font-size:.9rem;overflow-wrap:anywhere}
.breakdown-weather-source{margin-top:9px}
.breakdown-weather-card.is-loading{opacity:.82}
.breakdown-weather-card.is-error [data-weather-status]{color:#ff9f9f}
.breakdown-weather-card.is-error .breakdown-weather-current,
.breakdown-weather-card.is-error .breakdown-weather-metrics,
.breakdown-weather-card.is-error .breakdown-weather-source{display:none}
.selection-weather-panel{margin-bottom:14px}
.selection-weather-panel .breakdown-weather-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.breakdown-weather-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.breakdown-weather-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.breakdown-weather-head{flex-direction:column}}

/* Tenant module settings */
.module-settings-section{margin-bottom:16px}
.module-setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.module-setting-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;border:1px solid #29445f;border-radius:10px;background:#0a1727;cursor:pointer;min-height:82px}
.module-setting-card:hover{border-color:#3c6284;background:#0d1d30}
.module-setting-copy{display:grid;gap:5px;min-width:0}
.module-setting-copy strong{color:#eef7ff;font-size:15px}
.module-setting-copy span{color:#8fa8c0;font-size:12px;line-height:1.45}
.module-toggle{position:relative;flex:0 0 auto}
.module-toggle input{position:absolute;opacity:0;pointer-events:none}
.module-toggle-track{width:48px;height:27px;border-radius:999px;background:#26394d;border:1px solid #3b526a;display:block;position:relative;transition:.15s ease}
.module-toggle-knob{width:21px;height:21px;border-radius:50%;background:#a8b7c5;position:absolute;top:2px;left:3px;transition:.15s ease;box-shadow:0 1px 4px rgba(0,0,0,.35)}
.module-toggle input:checked + .module-toggle-track{background:#1e6ed5;border-color:#438ee8}
.module-toggle input:checked + .module-toggle-track .module-toggle-knob{left:22px;background:#fff}
.module-toggle input:focus-visible + .module-toggle-track{outline:2px solid #74b4ff;outline-offset:2px}
@media(max-width:850px){.module-setting-grid{grid-template-columns:1fr}}

/* Road-call call log */
.call-log-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;padding:12px;border:1px solid #29445f;border-radius:10px;background:#0a1727}
.call-log-form .wide{grid-column:1/-1}
.call-log-list{display:grid;gap:8px}
.call-log-list .record{align-items:flex-start}
@media(max-width:900px){.call-log-form{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.call-log-form{grid-template-columns:1fr}.call-log-form .wide{grid-column:auto}}

/* Weather card when embedded in a road-call rail */
.event-rail .breakdown-weather-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
.event-rail .breakdown-weather-current{margin-bottom:10px}
.event-rail .breakdown-weather-temp{font-size:1.55rem}

/* New road call: quick unit creation */
.roadcall-unit-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;min-width:0}
.roadcall-unit-control>label{min-width:0}
.roadcall-add-unit-btn{height:42px;white-space:nowrap;padding-inline:14px}
.quick-unit-card{border:1px solid #31516d;border-radius:10px;background:#0a1727;padding:14px;margin:2px 0 4px}
.quick-unit-card[hidden]{display:none!important}
.quick-unit-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}
.quick-unit-head strong{font-size:15px;color:#eef7ff}
.quick-unit-close{font-size:24px;line-height:1;padding:0 4px;color:#9eb5ca}
.quick-unit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.quick-unit-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.quick-unit-actions #quick-unit-status{margin-right:auto;min-height:20px}
@media(max-width:900px){.quick-unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.roadcall-unit-control{grid-template-columns:1fr}.roadcall-add-unit-btn{width:100%}.quick-unit-grid{grid-template-columns:1fr}.quick-unit-actions{align-items:stretch}.quick-unit-actions button{width:100%}.quick-unit-actions #quick-unit-status{width:100%}}

/* Road call contact workflow */
.contact-link{color:#79b8ff;text-decoration:none;font-weight:700;overflow-wrap:anywhere}.contact-link:hover{text-decoration:underline;color:#b7d9ff}.contact-subline{display:block;color:var(--muted);font-size:11px;margin-top:3px}.email-service-inline{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;margin-top:9px}.email-service-inline select{width:auto;min-width:150px;padding:6px 28px 6px 8px;font-size:11px}.vendor-search-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.vendor-rec-contacts{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}.record-response-button{width:100%}.contact-notes-modal{position:fixed;inset:0;z-index:2500;background:rgba(2,9,18,.78);display:grid;place-items:center;padding:20px}.contact-notes-modal[hidden]{display:none!important}.contact-notes-dialog{width:min(720px,96vw);max-height:92vh;overflow:auto;box-shadow:0 18px 60px rgba(0,0,0,.45)}.contact-modal-close{font-size:28px;line-height:1;background:transparent;border:0;color:#a9bfd5;padding:0 4px}.contact-modal-close:hover{color:#fff;background:transparent}.contact-notes-form{display:grid;gap:13px}.contact-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vendor-response-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;border:1px solid #2a4665;background:#0a1727;border-radius:10px}.vendor-response-fields[hidden]{display:none!important}.contact-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}
@media(max-width:760px){.vendor-search-head{flex-direction:column}.email-service-inline{width:100%;justify-content:space-between}.contact-modal-grid,.vendor-response-fields{grid-template-columns:1fr}.vendor-contact-row{flex-direction:column}.contact-notes-modal{padding:10px}.contact-notes-dialog{width:100%;max-height:96vh}}


/* Vendor directory actions, deletion, and column filters */
.vendor-grid-panel{overflow-x:auto}
.vendor-row-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}
.vendor-row-actions .secondary,.vendor-row-actions .danger-outline{padding:6px 9px;font-size:11px}
.danger-outline{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:transparent;color:#ffb7bd;border:1px solid #7f3c46;border-radius:7px;padding:8px 11px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}
.danger-outline:hover{background:#3a1b22;border-color:#b65361;color:#ffd8dc}
.vendor-inactive{opacity:.62}
.vendor-inactive:hover{opacity:.86}
.vendor-column-filters th{vertical-align:top}
.vendor-column-filters input,.vendor-column-filters select{height:34px}
.vendor-column-filters .column-filter-submit{width:100%;margin-top:5px;padding:6px 8px;font-size:11px}
.vendor-column-filters .column-clear{display:flex;align-items:center;justify-content:center;min-height:34px;white-space:nowrap}
.vendor-workspace-head .inline-form{display:inline-flex;grid-template-columns:none;gap:0;margin:0}
@media(max-width:1200px){.vendor-data-grid.vendor-filter-grid{min-width:1350px}}

/* Coordinator links popup + tenant resource manager */
.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;width:100%}
.topbar-user{text-align:right;min-width:130px}
.coordinator-links-trigger{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.resource-count{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#2f80ed;color:#fff;display:inline-grid;place-items:center;font-size:11px;font-weight:800}
.coordinator-links-dialog{width:min(720px,calc(100vw - 28px));max-height:min(760px,calc(100vh - 36px));padding:0;border:1px solid #31516f;border-radius:16px;background:#0e1c2f;color:#eef6ff;box-shadow:0 24px 80px rgba(0,0,0,.55)}
.coordinator-links-dialog::backdrop{background:rgba(2,8,16,.72);backdrop-filter:blur(3px)}
.resource-dialog-shell{display:grid;gap:14px;padding:20px;max-height:inherit;overflow:auto}
.resource-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:14px}
.resource-dialog-head h2{margin-bottom:3px}
.resource-dialog-close{width:36px;height:36px;padding:0;border-radius:9px;background:#142a44;border:1px solid #31577e;color:#d7e9ff;font-size:24px;line-height:1}
.resource-link-search{margin:0}
.resource-link-list{display:grid;gap:9px}
.resource-link-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid #29445f;border-radius:11px;background:#0a1727;color:#dceafa;transition:.14s ease}
.resource-link-card:hover{background:#10233a;border-color:#4c759d;transform:translateY(-1px)}
.resource-link-copy{display:grid;gap:4px;min-width:0}
.resource-link-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.resource-link-copy>span{color:#a8bdd2;font-size:12px}
.resource-link-copy small{color:#6f8da8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:560px}
.resource-link-arrow{font-size:20px;color:#77b8ff;flex:0 0 auto}
.resource-dialog-foot{display:flex;justify-content:flex-end;border-top:1px solid var(--line);padding-top:14px}
.resource-search-empty{padding:14px}
.resource-admin-list{display:grid;gap:10px}
.resource-admin-row{display:grid;grid-template-columns:1.05fr 1.7fr .8fr 1.4fr auto;gap:10px;align-items:end;padding:12px;border:1px solid #29445f;border-radius:10px;background:#0a1727}
.resource-admin-row label{min-width:0}
.resource-admin-row .resource-remove{height:42px;align-self:end}
.resource-description{min-width:0}
@media(max-width:1150px){.resource-admin-row{grid-template-columns:1fr 1fr}.resource-admin-row .resource-remove{justify-self:start}.resource-description{grid-column:1/-1}}
@media(max-width:700px){.topbar{height:auto;min-height:72px;padding:10px 0}.topbar-actions{align-items:flex-end;flex-direction:column;gap:8px}.topbar-user{order:-1}.coordinator-links-trigger{align-self:flex-end}.resource-admin-row{grid-template-columns:1fr}.resource-description{grid-column:auto}.resource-dialog-shell{padding:15px}}

/* Next-level vendor economics, integration studio and background jobs */
.vendor-economics-inline{display:grid;gap:3px;margin-top:9px;padding:9px 10px;border:1px solid #294a67;border-radius:9px;background:#0b1a2a}.vendor-economics-inline>strong{color:#dff1ff}.vendor-economics-inline>span{font-size:11px;line-height:1.45}.selection-economics-block{grid-column:2/-1;display:grid;gap:5px;margin:2px 0 7px;padding:10px 12px;border:1px solid #294a67;border-radius:10px;background:#0a1828}.selection-economics-block>div:first-child{display:flex;justify-content:space-between;gap:12px}.selection-economics-block>div:first-child strong{color:#dff1ff;font-size:1.05rem}.selection-economics-block details{margin-top:2px}.job-complete,.job-success{border-color:#2d7b59;color:#9de8c4}.job-running{border-color:#467da7;color:#b9ddff}.job-failed{border-color:#984851;color:#ffbbc1}.job-queued{border-color:#806c36;color:#ffe6a3}.integration-studio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.integration-environment-box{padding:12px;border:1px solid #29445f;border-radius:10px;background:#0a1727}.integration-run-debug pre{max-height:380px;overflow:auto}.quote-intel-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.vendor-cost-compare{font-variant-numeric:tabular-nums}.event-map-marker span,.vendor-map-marker span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;font-weight:800;box-shadow:0 2px 8px rgba(0,0,0,.4)}.event-map-marker span{background:#ffb44a;color:#121a24;border:2px solid #fff}.vendor-map-marker span{background:#1f77b4;color:#fff;border:2px solid #d7edff}.vendor-map-marker.is-selected span{background:#28a66b;border-color:#d4ffe9}.selection-popup-capabilities{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.selection-popup-capabilities span{font-size:10px;border:1px solid #45647f;border-radius:999px;padding:2px 5px}
@media(max-width:850px){.integration-studio-grid,.quote-intel-kpis{grid-template-columns:1fr}.selection-economics-block{grid-column:auto}}

/* Vendor directory usability + import quality */
.vendor-head-actions{flex-wrap:wrap;justify-content:flex-end}.vendor-kpi-row-6{grid-template-columns:repeat(6,minmax(0,1fr))}.vendor-kpi small{display:block;color:#6f8aa5;font-size:10px;margin-top:8px;line-height:1.25}.vendor-kpi-link{text-decoration:none;transition:border-color .15s ease,transform .15s ease}.vendor-kpi-link:hover{border-color:#3d6d9b;transform:translateY(-1px)}.vendor-kpi-warn{border-color:#6f5d2d}.vendor-kpi-danger{border-color:#6b3940}.vendor-filterbar-v2{grid-template-columns:minmax(280px,1.7fr) repeat(5,minmax(120px,.72fr)) auto auto}.vendor-toolbar-v2{justify-content:space-between;align-items:center;background:#091728;border:1px solid #223a55;border-radius:8px;padding:8px 10px}.vendor-toolbar-actions{display:flex;gap:8px;align-items:center}.vendor-toolbar-actions form{margin:0}.vendor-market-cell{min-width:190px}.vendor-address-line{display:block;color:#dceaf7;font-size:11px;line-height:1.3;margin-bottom:2px}.address-warning{display:inline-block;color:#efc572;background:#3a2d13;border:1px solid #725b28;border-radius:4px;padding:2px 5px;font-size:9px;font-weight:700;margin-bottom:3px}.vendor-import-location-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.vendor-import-location-summary>div{background:#0a1727;border:1px solid #29415e;border-radius:7px;padding:10px}.vendor-import-location-summary span{display:block;color:#7894af;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.vendor-import-location-summary strong{display:block;font-size:18px;margin-top:4px}.vendor-import-errors{overflow-wrap:anywhere;line-height:1.55}
@media(max-width:1500px){.vendor-kpi-row-6{grid-template-columns:repeat(3,minmax(0,1fr))}.vendor-filterbar-v2{grid-template-columns:minmax(250px,1.5fr) repeat(3,1fr)}}
@media(max-width:900px){.vendor-kpi-row-6{grid-template-columns:1fr 1fr}.vendor-filterbar-v2{grid-template-columns:1fr 1fr}.vendor-toolbar-v2{align-items:flex-start;flex-direction:column}.vendor-import-location-summary{grid-template-columns:1fr}}
