:root {
  color-scheme: light;
  --ink: #172534;
  --ink-2: #304152;
  --muted: #738291;
  --navy: #122235;
  --navy-2: #1b3045;
  --teal: #168b72;
  --teal-dark: #0d705c;
  --orange: #ed784b;
  --line: #e3e9ed;
  --paper: #f3f6f8;
  --white: #fff;
  --shadow-sm: 0 2px 8px rgba(18, 34, 53, .045);
  --shadow-md: 0 12px 30px rgba(18, 34, 53, .075);
  font: 14px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: var(--paper); }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid rgba(22, 139, 114, .3); outline-offset: 2px; }

.app { min-height: 100vh; }
.sidebar {
  width: 258px; position: fixed; inset: 0 auto 0 0; z-index: 20;
  display: flex; flex-direction: column; padding: 22px 16px 15px;
  color: #f5f8fb; background: linear-gradient(180deg, #14283d 0%, #101e2f 100%);
  border-right: 1px solid rgba(255,255,255,.055);
}
.brand { display: flex; align-items: center; gap: 11px; text-decoration: none; font-weight: 850; letter-spacing: -.035em; font-size: 16px; }
.brand b { color: #64d0b0; }
.brand small { display: block; margin-top: 1px; color: #9eb0bf; font-size: 8px; font-weight: 750; letter-spacing: .18em; }
.brandmark { width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.1); border-radius: 11px; display: grid; place-items: center; color: white; background: linear-gradient(145deg, #25ae8d, #13755f); box-shadow: 0 6px 15px rgba(18, 153, 121, .25); font-size: 19px; }
.company-chip { display: flex; align-items: center; gap: 11px; padding: 12px; margin: 27px 0 13px; border: 1px solid rgba(255,255,255,.09); border-radius: 13px; background: rgba(255,255,255,.055); }
.company-icon, .avatar { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; border-radius: 11px; color: #eafff8; background: #236451; font-weight: 850; }
.company-chip b, .profile b { display: block; max-width: 160px; overflow: hidden; color: #f4f8fa; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.company-chip small, .profile small { display: block; margin-top: 2px; color: #98a9b7; font-size: 10px; }
.switch { display: flex; gap: 6px; margin: 0 0 16px; }
.switch select { min-width: 0; flex: 1; padding: 8px; border: 1px solid rgba(255,255,255,.13); border-radius: 8px; color: #eaf0f4; background: #1c3044; }
.icon-btn { border: 0; border-radius: 8px; color: white; background: #2e4a60; padding: 0 11px; }
.sidebar nav { display: grid; gap: 4px; }
.navlink { display: flex; align-items: center; gap: 12px; min-height: 42px; padding: 9px 11px; border: 1px solid transparent; border-radius: 10px; color: #b7c5d0; text-decoration: none; font-size: 12px; font-weight: 650; transition: color .15s ease, background .15s ease, border-color .15s ease; }
.navlink:hover { color: white; background: rgba(255,255,255,.06); }
.navlink.active { color: #f7fffc; border-color: rgba(81, 204, 166, .17); background: linear-gradient(90deg, rgba(35, 146, 116, .24), rgba(35, 146, 116, .09)); box-shadow: inset 3px 0 #49c49c; }
.navlink i { width: 20px; color: #a9c4c2; text-align: center; font-style: normal; font-size: 16px; }
.navlink.active i { color: #6ce0b9; }
.side-bottom { margin-top: auto; }
.privacy { padding: 13px 5px; border-top: 1px solid rgba(255,255,255,.09); color: #9cabb8; font-size: 10px; }
.profile { display: grid; grid-template-columns: 38px 1fr; gap: 9px; align-items: center; padding: 13px 2px 2px; border-top: 1px solid rgba(255,255,255,.09); }
.profile form { grid-column: 2; }
.text-btn { padding: 0; border: 0; color: #55c9a0; background: none; font-size: 11px; font-weight: 650; cursor: pointer; }
.main { min-height: 100vh; margin-left: 258px; }
.topbar { position: sticky; top: 0; z-index: 10; height: 62px; display: flex; align-items: center; justify-content: space-between; padding: 0 32px; border-bottom: 1px solid rgba(217,226,232,.85); color: #687988; background: rgba(255,255,255,.88); backdrop-filter: blur(16px); font-size: 12px; }
.topbar b { margin: 0 8px; color: #a7b2bb; }
.top-user { color: #718191; font-size: 11px; }
.mobile-brand { display: none; }
.content { width: min(100%, 1650px); margin: 0 auto; padding: 27px 30px 58px; }
.page-title { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 4px 0 22px; }
.page-title h1 { margin: 4px 0 0; color: var(--ink); font-size: 29px; line-height: 1.15; letter-spacing: -.05em; font-weight: 780; }
.kicker { margin: 0; color: var(--teal); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.title-actions { display: flex; gap: 8px; }

.panel { margin-bottom: 17px; padding: 21px; border: 1px solid var(--line); border-radius: 15px; background: var(--white); box-shadow: var(--shadow-sm); }
.panel h2 { margin: 0 0 6px; color: #1d2e3d; font-size: 16px; letter-spacing: -.025em; }
.panel h3 { color: #263747; }
.panel p { margin: 0 0 14px; color: var(--muted); font-size: 12px; }
.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 16px; }
.panel-head p { margin: 3px 0 0; }
.button { display: inline-flex; min-height: 39px; align-items: center; justify-content: center; gap: 8px; padding: 9px 14px; border: 1px solid transparent; border-radius: 9px; color: white; background: linear-gradient(135deg, #1a9c7b, #11745f); box-shadow: 0 5px 12px rgba(19, 129, 101, .18); text-decoration: none; font-size: 12px; font-weight: 760; cursor: pointer; transition: transform .14s ease, box-shadow .14s ease; }
.button:hover { transform: translateY(-1px); box-shadow: 0 8px 17px rgba(19,129,101,.23); }
.button.secondary { border-color: #dce4e9; color: #33485a; background: white; box-shadow: none; }
.button.secondary:hover { border-color: #aec8bf; color: #176f5a; background: #f5fbf8; }
.small-btn { min-height: 30px; padding: 6px 10px; border: 1px solid #cae5db; border-radius: 7px; color: #12694f; background: #ecf8f3; font-size: 10px; font-weight: 750; cursor: pointer; }
.compact-button { min-height: 34px; padding: 7px 10px; font-size: 10px; }
.notice { margin: 0 0 16px; padding: 11px 14px; border: 1px solid transparent; border-radius: 10px; font-size: 12px; }
.notice.success { border-color: #cae8dc; color: #17694f; background: #eef9f4; }
.notice.error { border-color: #f4d7ce; color: #a54631; background: #fff5f1; }
.subtle { color: var(--muted); font-size: 11px; }

.table-wrap { width: 100%; overflow: auto; }
table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 12px; }
th { color: #778795; background: #f7f9fa; text-align: left; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
td, th { padding: 11px 12px; border-bottom: 1px solid #edf1f3; vertical-align: top; }
td { color: #344454; }
td small { display: block; margin-top: 4px; color: #81909c; font-size: 10px; }
.empty { padding: 27px; border: 1px dashed #d7e0e5; border-radius: 11px; color: #7f8d99; background: #fbfcfd; text-align: center; font-size: 12px; }
[hidden] { display: none !important; }
.dispatch-customize { margin: 0 18px 13px; padding: 10px 12px; border: 1px solid #e6ecef; border-radius: 9px; background: #fafcfd; }
.dispatch-customize summary { color: #536575; cursor: pointer; font-size: 11px; font-weight: 750; }
.dispatch-customize-options { display: flex; align-items: center; gap: 11px 16px; flex-wrap: wrap; padding-top: 12px; }
.dispatch-customize-options label { display: flex; align-items: center; gap: 6px; }
.dispatch-customize-options input { width: 15px; min-height: 15px; height: 15px; margin: 0; }
.network-tag { display: inline-flex; align-items: center; min-height: 22px; padding: 3px 8px; border-radius: 7px; color: #805322; background: #fff2db; font-size: 9px; font-weight: 770; vertical-align: middle; }
.dispatch-requirements { display: grid; gap: 4px; margin: 12px 0 2px; padding: 10px 12px; border-left: 3px solid #dfab4b; border-radius: 0 8px 8px 0; color: #665233; background: #fff9ef; font-size: 11px; }
.dispatch-requirements span { color: #586471; white-space: pre-line; }
.voice-dispatch-wrap { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.impound-task-list { display: grid; gap: 9px; }
.impound-task { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 13px 14px; border: 1px solid #e5ebee; border-radius: 10px; background: #fff; }
.impound-task-copy { min-width: 0; }
.impound-task-heading { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; color: #253746; font-size: 12px; }
.impound-task-copy > p { margin: 4px 0; color: #657582; font-size: 11px; }
.impound-task-copy small { color: #84919a; font-size: 10px; }
.impound-task-copy .task-details { margin-top: 8px; white-space: pre-line; }
.task-tag { display: inline-flex; align-items: center; padding: 3px 7px; border-radius: 99px; font-size: 9px; font-weight: 750; }
.task-tag.overdue { color: #a24030; background: #fff0eb; }
.task-tag.reminder { color: #7e5516; background: #fff5df; }
.task-tag.upcoming { color: #246a56; background: #e9f6f0; }
.impound-actions { min-width: 250px; }
.impound-actions > a, .impound-actions > form { margin: 2px; }
.towout-details { display: inline-block; margin: 3px; vertical-align: top; }
.towout-details summary { list-style: none; cursor: pointer; }
.towout-details summary::-webkit-details-marker { display: none; }
.towout-details[open] { display: block; min-width: 300px; max-width: 560px; padding: 10px; border: 1px solid #e3e9ec; border-radius: 10px; background: #fbfcfd; }
.towout-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; padding-top: 10px; }
.towout-fields label { min-width: 0; }
.towout-fields button { grid-column: 1/-1; }
.lot-manager { display: grid; gap: 8px; margin: 14px 0 22px; }
.lot-manager-row { display: grid; grid-template-columns: 1fr 1.5fr .8fr auto; gap: 10px; align-items: end; padding: 12px; border: 1px solid #e5ebee; border-radius: 10px; background: #fbfcfd; }
.lot-manager-row label { min-width: 0; }
.impound-checkin .full-width { grid-column: 1/-1; }
.selected-impound { border-color: #b9dfd1; background: #f4fbf7; }
@media(max-width:760px){.lot-manager-row{grid-template-columns:1fr 1fr}.lot-manager-row label:nth-child(2){grid-column:1/-1}.lot-manager-row button{grid-column:1/-1}.towout-fields{grid-template-columns:1fr}.impound-actions{min-width:220px}}

.form-panel { padding: 23px; }
.form-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 13px; margin: 15px 0; }
label { display: grid; gap: 6px; color: #536575; font-size: 10px; font-weight: 680; }
input:not([type="checkbox"]):not([type="radio"]), select, textarea { width: 100%; min-height: 39px; padding: 9px 11px; border: 1px solid #dce4e9; border-radius: 8px; outline: none; color: #243748; background: #fff; transition: border .15s ease, box-shadow .15s ease; }
input::placeholder, textarea::placeholder { color: #a1acb5; }
input:focus, select:focus, textarea:focus { border-color: #65b69e; box-shadow: 0 0 0 3px rgba(27,146,114,.11); }
textarea { min-height: 88px; resize: vertical; }
.form > button { margin-top: 3px; }
.form { margin: 0; }
.stat-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 13px; margin-bottom: 17px; }
.stat { position: relative; overflow: hidden; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: var(--shadow-sm); }
.stat:after { position: absolute; right: -15px; bottom: -26px; width: 92px; height: 92px; border-radius: 50%; background: rgba(26,156,123,.055); content: ""; }
.stat small { display: block; color: #82909c; font-size: 10px; font-weight: 650; }
.stat strong { display: block; margin-top: 8px; color: #1b2c3b; font-size: 27px; line-height: 1; letter-spacing: -.045em; }
.stat span { display: block; margin-top: 8px; color: #82909c; font-size: 10px; }
.snapshot { display: grid; grid-template-columns: 1fr auto; gap: 10px; color: #687988; font-size: 12px; }
.snapshot b { color: #213546; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.quick-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 13px; }
.quick { display: grid; gap: 5px; padding: 15px; border: 1px solid var(--line); border-radius: 13px; color: #18876e; background: white; box-shadow: var(--shadow-sm); text-decoration: none; font-size: 17px; transition: transform .15s ease, box-shadow .15s ease; }
.quick:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.quick b { color: var(--ink); font-size: 12px; }
.quick span { color: var(--muted); font-size: 10px; }
.inline-input { max-width: 100px; margin: 2px; }

/* Dispatch workspace */
.dispatch-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(360px,.95fr); align-items: start; gap: 17px; }
.dispatch-panel { min-width: 0; overflow: hidden; padding: 0; }
.dispatch-panel > .panel-head { align-items: flex-start; margin: 0; padding: 20px 21px 16px; }
.dispatch-panel > .panel-head h2 { margin: 0; font-size: 16px; }
.dispatch-panel > .panel-head p { margin-top: 4px; }
.dispatch-panel > .panel-head .button { white-space: nowrap; flex: 0 0 auto; }
.queue-tabs { display: flex; gap: 4px; overflow-x: auto; padding: 0 15px; border-bottom: 1px solid var(--line); scrollbar-width: thin; }
.queue-tab { display: flex; min-height: 47px; align-items: center; gap: 7px; padding: 0 10px; border-bottom: 2px solid transparent; color: #6e7d8a; text-decoration: none; white-space: nowrap; font-size: 10px; font-weight: 720; }
.queue-tab:hover, .queue-tab.active { border-bottom-color: var(--teal); color: #146e58; }
.queue-tab b { display: grid; min-width: 20px; height: 20px; place-items: center; border-radius: 99px; color: #617281; background: #eef2f4; font-size: 9px; }
.queue-tab.active b { color: #116950; background: #e3f4ed; }
.queue-tab[href*="view=unassigned"] b { color: #955a16; background: #fff3de; }
.queue-tab.active[href*="view=unassigned"] b { color: #8c510f; background: #ffebc5; }
.dispatch-search { display: flex; gap: 8px; padding: 14px 18px 12px; }
.dispatch-panel > .panel-head .button { margin-top: 1px; }
.dispatch-search input { max-width: none; min-width: 0; flex: 1; background: #fafcfd; }
.dispatch-search .button { min-height: 39px; font-size: 11px; }
.dispatch-search > a { min-height: 39px; padding: 9px 12px; font-size: 11px; }
.dispatch-job-list { display: grid; gap: 10px; padding: 0 14px 17px; }
.dispatch-job { display: grid; grid-template-columns: minmax(0,1fr) 210px; gap: 17px; padding: 16px; border: 1px solid #e4eaed; border-radius: 13px; background: white; box-shadow: 0 2px 7px rgba(22,39,56,.025); transition: border .15s ease, box-shadow .15s ease, transform .15s ease; }
.dispatch-job:hover { transform: translateY(-1px); border-color: #d2e3dd; box-shadow: 0 7px 18px rgba(22,39,56,.055); }
.dispatch-job-main { min-width: 0; }
.dispatch-job-title { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.dispatch-job-number { display: flex; align-items: baseline; gap: 8px; margin-right: 3px; }
.dispatch-job-number span { color: #1b3042; font-size: 14px; font-weight: 820; letter-spacing: -.025em; }
.dispatch-job-number small { color: #8b98a2; font-size: 9px; }
.status-pill { display: inline-flex; align-items: center; min-height: 23px; padding: 4px 8px; border-radius: 99px; color: #24745f; background: #e8f5f0; font-size: 9px; font-weight: 790; letter-spacing: .02em; white-space: nowrap; }
.status-pill.suspended { color: #a8462e; background: #fff0eb; }
.status-new, .status-quote { color: #956117; background: #fff5e6; }
.status-scheduled { color: #5456a0; background: #eff0ff; }
.status-assigned { color: #2c6297; background: #eaf3ff; }
.status-en_route { color: #126d61; background: #e5f5f2; }
.status-on_scene { color: #287552; background: #e8f6ee; }
.status-in_yard { color: #6c5495; background: #f0edf8; }
.status-completed { color: #24745f; background: #e8f5f0; }
.status-cancelled { color: #78838a; background: #f0f2f3; }
.priority-tag, .locked-tag { display: inline-flex; align-items: center; min-height: 22px; padding: 3px 7px; border-radius: 7px; color: #687783; background: #f2f5f6; font-size: 9px; font-weight: 720; }
.priority-emergency { color: #a63f32; background: #fff0eb; }
.priority-low { color: #817354; background: #f7f4e9; }
.locked-tag { color: #75519a; background: #f4effa; }
.dispatch-job-service { margin: 9px 0 12px; color: #33495b; font-size: 12px; font-weight: 760; }
.dispatch-job-service span { color: #83909b; font-weight: 500; }
.dispatch-job-details { display: grid; grid-template-columns: .95fr .95fr 1.3fr 1fr; gap: 10px; }
.dispatch-job-details > div { min-width: 0; display: grid; gap: 3px; }
.dispatch-job-details small { color: #8b98a2; font-size: 8px; font-weight: 760; letter-spacing: .075em; text-transform: uppercase; }
.dispatch-job-details strong { overflow: hidden; color: #304354; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; font-weight: 700; }
.dispatch-job-details span { overflow: hidden; color: #86939d; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.dispatch-job-foot { display: flex; gap: 15px; justify-content: space-between; margin-top: 13px; padding-top: 10px; border-top: 1px solid #eef1f3; color: #7c8994; font-size: 9px; }
.dispatch-job-foot strong { color: #293e50; font-size: 10px; }
.dispatch-job-controls { display: flex; flex-direction: column; gap: 8px; justify-content: flex-start; padding-left: 14px; border-left: 1px solid #edf1f3; }
.dispatch-action-links { display: flex; align-items: center; gap: 7px; }
.dispatch-job-controls form { display: grid; gap: 5px; margin: 0; }
.dispatch-job-controls .assignment-label { gap: 4px; font-size: 9px; }
.dispatch-job-controls select { min-height: 33px; padding: 6px 8px; font-size: 10px; }
.dispatch-job-controls .micro-copy { margin: -2px 0 0; color: #8a97a1; font-size: 8px; line-height: 1.4; }
.dispatch-job-controls .text-btn { justify-self: start; color: #8a6570; font-size: 9px; }
.dispatch-empty { display: grid; justify-items: center; padding: 52px 22px 60px; text-align: center; }
.dispatch-empty-icon { width: 50px; height: 50px; display: grid; place-items: center; margin-bottom: 12px; border-radius: 15px; color: #168b72; background: #e8f6f0; font-size: 24px; }
.dispatch-empty h3 { margin: 0 0 5px; color: #293b4b; font-size: 14px; }
.dispatch-empty p { margin: 0; color: #7c8994; font-size: 11px; }
.dispatch-intake { position: sticky; top: 77px; max-height: calc(100vh - 94px); overflow: auto; padding: 0; scrollbar-width: thin; }
.dispatch-intake-head { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; gap: 10px; padding: 19px 20px 15px; border-bottom: 1px solid #edf1f3; background: rgba(255,255,255,.96); backdrop-filter: blur(10px); }
.dispatch-intake-head h2 { margin: 0; color: #1d3041; font-size: 15px; letter-spacing: -.025em; }
.dispatch-intake-head p { margin: 4px 0 0; color: #7c8a96; font-size: 10px; }
.dispatch-intake-body { padding: 14px 18px 18px; }
.call-mode-picker { display: grid; grid-template-columns: repeat(4,1fr); gap: 5px; margin-bottom: 13px; }
.call-mode-picker label { position: relative; display: block; }
.call-mode-picker input { position: absolute; opacity: 0; pointer-events: none; }
.call-mode-picker span { display: grid; min-height: 36px; place-items: center; padding: 5px 4px; border: 1px solid #e3e9ed; border-radius: 8px; color: #788692; background: #fafbfc; text-align: center; font-size: 9px; font-weight: 680; cursor: pointer; }
.call-mode-picker input:checked + span { border-color: #a7d9c7; color: #126f57; background: #edf9f3; box-shadow: inset 0 0 0 1px #d6eee4; }
.intake-section { margin: 0 0 13px; padding: 12px; border: 1px solid #e9eef1; border-radius: 11px; background: #fbfcfd; }
.intake-section h3 { display: flex; align-items: center; gap: 7px; margin: 0 0 9px; color: #35495a; font-size: 10px; font-weight: 800; letter-spacing: .035em; }
.intake-section h3 span { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 6px; color: #16775f; background: #e8f5ef; font-size: 10px; }
.intake-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.intake-grid .full-width { grid-column: 1/-1; }
.intake-grid label { gap: 4px; font-size: 9px; }
.intake-grid input, .intake-grid select, .intake-grid textarea { min-height: 35px; padding: 7px 9px; border-radius: 7px; font-size: 10px; }
.intake-grid textarea { min-height: 55px; }
.address-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
.address-fields .street-field, .address-fields .city-field { grid-column: 1/-1; }
.address-fields label { gap: 4px; }
.address-fields input { min-height: 34px; padding: 7px 8px; font-size: 10px; }
.address-hint { grid-column: 1/-1; margin: 0; color: #8996a0; font-size: 8px; }
.intake-submit { width: 100%; min-height: 42px; }
.subtle-notice { margin: 8px 0 0; color: #87939d; font-size: 8px; line-height: 1.45; }
.places-status { grid-column: 1/-1; min-height: 12px; color: #758a88; font-size: 8px; }
.vehicle-lookup-status { min-height: 11px; color: #758a88; font-size: 8px; }
.dispatch-panel + .form-panel { scroll-margin-top: 16px; }

.fleet-edit-list { display: grid; gap: 10px; }
.fleet-edit-list > .form { margin: 0; }
.fleet-edit-row { display: grid; align-items: end; gap: 10px; padding: 13px; border: 1px solid #e7ecef; border-radius: 11px; background: #fbfcfc; }
.truck-edit-row { grid-template-columns: repeat(7,minmax(90px,1fr)) auto; }
.driver-edit-row { grid-template-columns: repeat(6,minmax(100px,1fr)) auto; }
.fleet-edit-row label { font-size: 9px; }
.fleet-edit-row input, .fleet-edit-row select { min-height: 35px; padding: 7px; font-size: 10px; }
.fleet-edit-row .small-btn { height: 35px; white-space: nowrap; }
.call-edit-card > .panel-head { align-items: flex-start; }
.call-edit-card .form-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.call-edit-card .notice { margin: 15px 0; }

.auth-body { min-height: 100vh; display: grid; place-items: center; padding: 25px; background: radial-gradient(circle at 18% 15%, #e3f2ed 0, transparent 33%), linear-gradient(135deg,#edf2f5,#f9fbfc); }
.auth-card { width: min(100%, 510px); padding: 36px; border: 1px solid #e1e8ec; border-radius: 20px; background: white; box-shadow: 0 25px 70px rgba(19,42,61,.12); }
.auth-card h1 { margin: 8px 0; color: #1b2d3e; font-size: 30px; letter-spacing: -.05em; }
.auth-card p { color: #748390; font-size: 12px; line-height: 1.65; }
.auth-card form { display: grid; gap: 13px; margin-top: 20px; }
.auth-card .brand { margin-bottom: 28px; color: var(--navy); }
.public-wrap { width: min(1080px, calc(100% - 40px)); margin: 40px auto 80px; }
.public-hero { margin: 28px 0 18px; padding: 50px; border-radius: 18px; color: white; background: radial-gradient(circle at 88% 12%, rgba(43,181,143,.2), transparent 28%), linear-gradient(135deg,#14283d,#0f1b2b); box-shadow: 0 24px 60px rgba(14,31,47,.17); }
.public-hero h1 { max-width: 800px; margin: 12px 0; color: white; font-size: clamp(32px,5vw,54px); line-height: 1.04; letter-spacing: -.055em; }
.public-hero p { max-width: 650px; color: #c1ccd5; font-size: 13px; line-height: 1.7; }
.demo-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.demo-grid .panel p { padding-bottom: 9px; border-bottom: 1px solid #edf1f3; color: #596c7a; }
.public-wrap > .brand { color: var(--navy); }

.owner-nav { margin-top: 28px; }
.owner-company-list { display: grid; gap: 13px; margin-top: 16px; }
.owner-company { padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.owner-company-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.owner-company h3 { margin: 0; font-size: 15px; }
.owner-company p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.owner-form-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; margin: 12px 0; }
.owner-company form > label { margin: 0 0 12px; }
.owner-company form > .button { margin-top: 2px; }
.owner-search { display: flex; gap: 8px; max-width: 650px; margin: 16px 0; }
.owner-search input { flex: 1; }
.owner-company .subtle { margin: 0 0 12px; color: #a34b30; }
.owner-billing-controls { margin: 14px 0 12px; padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: #f7f9fa; }
.owner-billing-controls h4 { margin: 0 0 12px; font-size: 14px; }
.owner-billing-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 12px; }
.owner-billing-grid form { min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.owner-billing-grid form > label { display: block; margin: 0 0 10px; font-size: 12px; font-weight: 700; }
.owner-billing-grid form select,.owner-billing-grid form input { width: 100%; margin-top: 5px; }
.owner-billing-grid form .button { margin-top: 5px; }
.owner-billing-grid .subtle { font-size: 11px; }
.owner-profile-heading { margin-bottom: 12px; }
.owner-profile-heading .kicker { margin: 0 0 5px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.owner-profile-heading h2 { margin: 0; font-size: clamp(20px,3vw,28px); }
.owner-profile-heading p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.owner-profile-tabs { display: flex; flex-wrap: wrap; align-items: stretch; gap: 7px; max-width: 100%; margin: 0 0 14px; padding: 9px; border: 1px solid var(--line); border-radius: 13px; background: #f1f4f6; }
.owner-profile-tabs a { display: inline-flex; flex: 0 1 auto; align-items: center; justify-content: center; min-height: 42px; padding: 9px 15px; border: 1px solid #d7e0e6; border-radius: 9px; color: #496071; background: #fff; box-shadow: 0 1px 2px rgba(15,35,50,.05); font-size: 12px; font-weight: 750; text-align: center; text-decoration: none; white-space: nowrap; transition: border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease; }
.owner-profile-tabs a:hover { border-color: #8fb9d7; background: #f4f9fd; color: #155c8e; }
.owner-profile-tabs a:focus-visible { outline: 3px solid #58a6dc; outline-offset: 2px; }
.owner-profile-tabs a.active { border-color: #176da8; color: #fff; background: #176da8; box-shadow: 0 3px 8px rgba(23,109,168,.2); }
.owner-profile-summary { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 10px; margin: 12px 0 18px; }
.owner-profile-summary > div { min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #f8fafb; }
.owner-profile-summary b,.owner-profile-summary span,.owner-profile-summary code { display: block; }
.owner-profile-summary b { margin-bottom: 5px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }
.owner-profile-summary span,.owner-profile-summary code { overflow-wrap: anywhere; font-size: 12px; }
.owner-action-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 16px 0; }
.owner-action-grid article { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #fbfcfd; }
.owner-action-grid article h3 { margin: 0 0 6px; }
.owner-action-grid article p { min-height: 40px; color: var(--muted); font-size: 12px; }
.owner-action-grid form { margin-top: 12px; }
.owner-action-grid .button { width: 100%; }
.owner-refund-choice { display: grid; gap: 10px; margin: 8px 0; padding: 14px; border: 1px solid var(--line); border-radius: 11px; }
.owner-refund-choice legend { padding: 0 6px; font-size: 12px; font-weight: 800; }
.owner-refund-choice label { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.owner-refund-choice label input { width: auto; margin: 0; }
.owner-refund-choice small { color: var(--muted); font-size: 11px; }
.owner-refund-choice > label[for="refund_amount"] { display: block; }
.owner-refund-choice input[name="refund_amount"] { max-width: 230px; }
.owner-company-advanced { margin-top: 12px; }
.owner-company-advanced summary { cursor: pointer; color: var(--muted); font-size: 12px; font-weight: 700; }
.owner-company-advanced form { margin-top: 12px; }
.danger-zone { border-color: #e6b9b4; }
.danger-zone h2 { color: #a42f25; }
.danger-zone .check-row { margin: 14px 0; }
.danger-zone .button.danger { background: #a92e25; border-color: #a92e25; }
html[data-theme="dark"] .owner-billing-controls { border-color: #2c404e; background: #0f202c; }
html[data-theme="dark"] .owner-billing-grid form { border-color: #2c404e; background: #122432; }
html[data-theme="dark"] .owner-profile-tabs { border-color: #2c404e; background: #0f202c; }
html[data-theme="dark"] .owner-profile-tabs a { border-color: #334c5c; color: #c0d0db; background: #142936; }
html[data-theme="dark"] .owner-profile-tabs a:hover { border-color: #4b8bb5; background: #1b3443; color: #eaf3f8; }
html[data-theme="dark"] .owner-profile-tabs a.active { border-color: #278ac7; color: #fff; background: #176da8; box-shadow: 0 3px 10px rgba(0,0,0,.26); }
html[data-theme="dark"] .owner-profile-summary > div,html[data-theme="dark"] .owner-action-grid article { border-color: #2c404e; background: #122432; }
html[data-theme="dark"] .owner-refund-choice { border-color: #2c404e; }
html[data-theme="dark"] .danger-zone { border-color: #713c3a; }
html[data-theme="dark"] .danger-zone h2 { color: #ffb0a6; }

@media (max-width: 1320px) {
  .content { padding-right: 22px; padding-left: 22px; }
  .dispatch-layout { grid-template-columns: minmax(0,1.25fr) minmax(340px,.9fr); gap: 13px; }
  .dispatch-job { grid-template-columns: minmax(0,1fr) 190px; gap: 12px; padding: 13px; }
  .dispatch-job-details { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .owner-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1050px) {
  .sidebar { width: 226px; padding-right: 13px; padding-left: 13px; }
  .main { margin-left: 226px; }
  .dispatch-layout { grid-template-columns: 1fr; }
  .dispatch-intake { position: static; max-height: none; overflow: visible; }
  .dispatch-job { grid-template-columns: minmax(0,1fr) 210px; }
  .form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .quick-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 680px) { .owner-action-grid { grid-template-columns: 1fr; } .owner-profile-tabs { margin-right: -4px; margin-left: -4px; padding: 7px; gap: 6px; } .owner-profile-tabs a { flex: 1 1 calc(50% - 6px); min-width: 0; white-space: normal; } }
@media (max-width: 700px) {
  .sidebar { position: fixed; inset: auto 0 0; width: 100%; height: 66px; flex-direction: row; padding: 5px 6px max(5px, env(safe-area-inset-bottom)); border-top: 1px solid rgba(255,255,255,.12); border-right: 0; box-shadow: 0 -7px 24px rgba(13,28,43,.18); }
  .sidebar > .brand, .sidebar > .company-chip, .sidebar > .switch, .side-bottom { display: none; }
  .sidebar nav { width: 100%; display: flex; align-items: stretch; justify-content: space-around; gap: 2px; overflow-x: auto; }
  .navlink, .navlink:not(.active) { min-width: 59px; min-height: 53px; flex: 1 0 auto; flex-direction: column; justify-content: center; gap: 2px; padding: 4px 4px; border-radius: 9px; color: #b8c6d1; font-size: 8px; white-space: nowrap; }
  .navlink.active { box-shadow: inset 0 2px #49c49c; }
  .navlink i { width: auto; font-size: 16px; }
  .main { width: 100%; margin: 0; padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
  .topbar { height: 54px; padding: 0 15px; font-size: 10px; }
  .top-user { display: none; }
  .mobile-brand { display: inline; color: #213648; font-size: 10px; font-weight: 850; letter-spacing: .03em; }
  .content { padding: 19px 12px 32px; }
  .page-title { align-items: flex-start; margin-bottom: 16px; }
  .page-title h1 { font-size: 25px; }
  .panel { padding: 15px; border-radius: 13px; }
  .form-panel { padding: 16px; }
  .form-grid, .call-edit-card .form-grid, .two-col, .demo-grid { grid-template-columns: 1fr; }
  .stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .stat { padding: 13px; }
  .stat strong { font-size: 21px; }
  .quick-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .quick { padding: 12px; }
  .dispatch-panel > .panel-head { align-items: flex-start; gap: 8px; padding: 16px 14px 13px; }
  .dispatch-panel > .panel-head p { max-width: 220px; }
  .dispatch-panel > .panel-head .button { min-height: 35px; padding: 7px 9px; font-size: 10px; }
  .dispatch-panel > .panel-head .button { min-height: 35px; padding: 7px 9px; font-size: 10px; }
  .queue-tabs { padding: 0 8px; }
  .queue-tab { min-height: 42px; gap: 5px; padding: 0 7px; font-size: 9px; }
  .dispatch-search { flex-wrap: wrap; padding: 11px 12px; }
  .dispatch-search input { flex: 1 1 100%; }
  .dispatch-search .button, .dispatch-search > a { min-height: 35px; padding: 7px 10px; }
  .dispatch-job-list { gap: 9px; padding: 0 9px 11px; }
  .dispatch-job { grid-template-columns: 1fr; gap: 11px; padding: 13px; }
  .dispatch-job-title { gap: 6px; }
  .dispatch-job-number { width: 100%; justify-content: space-between; }
  .dispatch-job-details { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .dispatch-job-details > div:nth-child(3) { grid-column: 1/-1; }
  .dispatch-job-controls { display: grid; grid-template-columns: 1fr 1fr; align-items: start; padding: 10px 0 0; border-top: 1px solid #edf1f3; border-left: 0; }
  .dispatch-action-links { grid-column: 1/-1; }
  .dispatch-job-controls form:last-child { grid-column: 1/-1; }
  .dispatch-intake-head { padding: 15px; }
  .dispatch-intake-body { padding: 12px; }
  .intake-section { padding: 10px; }
  .fleet-edit-row, .truck-edit-row, .driver-edit-row { grid-template-columns: 1fr; }
  .owner-form-grid { grid-template-columns: 1fr; }
  .owner-search { align-items: stretch; }
  .owner-company-head { flex-direction: column; }
  .auth-card { padding: 25px; }
  .public-hero { padding: 30px 22px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Dispatch address intake and live fleet map */
.address-block { margin: 0 0 11px; padding: 10px; border: 1px solid #e7ecef; border-radius: 9px; background: #fff; }
.address-block > label { margin-bottom: 8px; }
.address-title { margin-bottom: 8px; color: #35495a; font-size: 10px; font-weight: 800; }
.address-fields { margin-top: 0; }
.address-fields .city-field { grid-column: auto; }
.address-fields .address-hint { font-size: 8px; }
.live-indicator { display: flex; align-items: center; gap: 6px; padding: 5px 8px; border-radius: 99px; color: #26725c; background: #edf8f3; white-space: nowrap; font-size: 8px; font-weight: 820; letter-spacing: .06em; }
.live-indicator i { width: 6px; height: 6px; border-radius: 50%; background: #28ad80; box-shadow: 0 0 0 3px rgba(40,173,128,.13); }
.truck-link-note { margin: 0; padding: 7px 9px; border-radius: 7px; color: #687e88; background: #f0f6f5; font-size: 8px; line-height: 1.45; }
.map-panel { padding: 0; overflow: hidden; }
.map-panel > .panel-head { margin: 0; padding: 18px 20px 14px; }
.map-legend { display: flex; align-items: center; gap: 15px; padding: 0 20px 13px; color: #70808c; font-size: 10px; }
.map-legend > span { display: inline-flex; align-items: center; gap: 6px; }
.map-legend #map-updated { margin-left: auto; color: #8996a0; font-size: 9px; }
.map-dot { width: 10px; height: 10px; border-radius: 50%; box-shadow: 0 0 0 2px white, 0 0 0 3px #dfe6e9; }
.call-dot { background: #e5794f; }
.driver-dot { background: #168b72; }
.fleet-map { width: 100%; height: min(62vh, 610px); min-height: 360px; background: #edf2f4; }
.map-message { padding: 10px 16px; border-top: 1px solid #edf1f3; color: #71818d; background: #fbfcfd; font-size: 10px; }
.map-setup { display: grid; justify-items: center; padding: 72px 22px; color: #657887; background: radial-gradient(circle at 50% 0%, #effaf5, #fbfcfd 65%); text-align: center; }
.map-setup-icon { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 14px; border-radius: 16px; color: #16775f; background: #e4f5ed; font-size: 28px; }
.map-setup h3 { margin: 0 0 6px; color: #263a4a; font-size: 15px; }
.map-setup p { max-width: 530px; margin: 0 0 16px; line-height: 1.65; }
.map-feed-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.map-feed-grid > .panel { min-width: 0; }
.map-feed-grid h2 { margin: 0 0 4px; font-size: 14px; }
.map-feed-grid p { margin: 0 0 13px; font-size: 10px; }
.map-list { display: grid; gap: 7px; }
.map-list-item { display: grid; gap: 4px; padding: 10px 11px; border: 1px solid #e8edef; border-radius: 9px; background: #fbfcfd; }
.map-list-title { color: #2c4051; font-size: 10px; font-weight: 780; }
.map-list-detail { color: #7b8994; font-size: 9px; line-height: 1.45; }
.map-popup { display: grid; gap: 4px; min-width: 160px; padding: 2px; color: #304354; font: 12px/1.4 system-ui, sans-serif; }
.map-popup strong { color: #203447; }
.map-popup span { color: #61717e; }
@media (max-width: 700px) {
  .map-legend { flex-wrap: wrap; gap: 9px 12px; padding: 0 14px 12px; font-size: 9px; }
  .map-legend #map-updated { flex-basis: 100%; margin-left: 0; }
  .fleet-map { height: 55vh; min-height: 300px; }
  .map-feed-grid { grid-template-columns: 1fr; gap: 0; }
  .map-panel > .panel-head { padding: 15px 14px 12px; }
  .address-block { padding: 9px; }
}

.places-search-wrap { display: grid; gap: 5px; margin: 4px 0 9px; }
.places-search-label { color: #71818d; font-size: 9px; font-weight: 680; }
.geoapify-search-wrap { position: relative; width: 100%; }
.geoapify-search { width: 100%; min-height: 39px; padding: 9px 11px; border: 1px solid #dce4e9; border-radius: 8px; background: #fff; color: #263a4a; font: inherit; }
.geoapify-suggestions { position: absolute; z-index: 1100; top: calc(100% + 3px); right: 0; left: 0; max-height: 260px; overflow-y: auto; border: 1px solid #dce4e9; border-radius: 9px; background: #fff; box-shadow: 0 12px 32px #18334b24; }
.geoapify-suggestions[hidden] { display: none; }
.geoapify-suggestion { display: block; width: 100%; padding: 10px 12px; border: 0; border-bottom: 1px solid #edf1f3; background: #fff; color: #263a4a; text-align: left; font: inherit; cursor: pointer; }
.geoapify-suggestion:hover, .geoapify-suggestion:focus { background: #eff8f5; outline: none; }
.geoapify-no-results { padding: 11px 12px; color: #71818d; font-size: 12px; }
.fleet-map-marker { display: flex; width: 27px; height: 27px; align-items: center; justify-content: center; border: 2px solid #fff; border-radius: 50%; color: #fff; font-size: 11px; font-weight: 750; box-shadow: 0 2px 8px #18334b55; cursor: pointer; }
.fleet-map-marker.call-marker { background: #e5794f; }
.fleet-map-marker.driver-marker { background: #168b72; }
.map-credit a { color: inherit; text-decoration: underline; }
@media (max-width: 700px) { .geoapify-search { min-height: 38px; } }

/* Mobile driver portal and call chat */
.driver-welcome { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:14px; padding:21px 23px; border:1px solid #dce9e7; border-radius:14px; background:linear-gradient(115deg,#e9f7f2,#fff 68%); }
.driver-welcome h2 { margin:2px 0 4px; color:#20364a; font-size:21px; }
.driver-welcome p { margin:0; color:#72828f; font-size:11px; }
.driver-tools { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:7px; }
.driver-tools > span { flex-basis:100%; color:#72828f; font-size:9px; text-align:right; }
.driver-refresh-row { display:flex; justify-content:space-between; gap:12px; margin:0 2px 10px; color:#738291; font-size:10px; }
.driver-refresh-row b { color:#34495a; }
.driver-connectivity { margin:0 0 12px; border:1px solid #e6be78; border-radius:10px; background:#fff7e8; color:#73511a; padding:11px 14px; font-size:12px; font-weight:700; }
.driver-queued-note { margin:10px 0 0; border-left:3px solid #138260; border-radius:4px; background:#eaf7f1; color:#176044; padding:8px 10px; font-size:11px; font-weight:700; }
.driver-queued-note.driver-queued-error { border-color:#b44d42; background:#fff1ef; color:#8d342c; }
.driver-offline-page { width:min(560px,calc(100% - 32px)); margin:12vh auto; padding:30px; border:1px solid #e2e8eb; border-radius:16px; background:#fff; box-shadow:var(--shadow-sm); }
.driver-offline-page > img { display:block; width:160px; height:auto; margin-bottom:24px; }
.driver-offline-page h1 { margin:6px 0; color:#203648; font-size:28px; }
.driver-offline-page p:not(.kicker) { margin:10px 0 20px; color:#687985; line-height:1.6; }
.driver-call-list { display:grid; gap:13px; }
.driver-call { overflow:hidden; border:1px solid #e1e8ec; border-radius:14px; background:#fff; box-shadow:var(--shadow-sm); }
.driver-call-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px; border-bottom:1px solid #edf1f3; background:#fbfcfd; }
.driver-call-heading > div { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.driver-call-heading > strong { color:#314558; font-size:11px; text-align:right; }
.driver-call-number { color:#21394e; font-size:14px; font-weight:850; }
.driver-call-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 20px; padding:15px 17px; }
.driver-call-details > div { display:grid; align-content:start; gap:3px; min-width:0; }
.driver-call-details small { color:#87939d; font-size:9px; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }
.driver-call-details b { color:#304558; font-size:11px; overflow-wrap:anywhere; }
.driver-call-details span,.driver-call-details a { color:#71818d; font-size:10px; overflow-wrap:anywhere; }
.driver-call-details a { color:#14795f; font-weight:700; }
.driver-nav-primary,.driver-nav-alt { display:inline-flex; align-items:center; justify-content:center; width:max-content; max-width:100%; min-height:38px; border-radius:8px; padding:8px 12px; text-decoration:none; }
.driver-nav-primary { background:#14795f; color:#fff !important; }
.driver-nav-alt { color:#14795f !important; border:1px solid #c8ddd5; background:#f6fbf8; }
.driver-nav-tools { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:0 17px 14px; }
.driver-call-actions { display:flex; align-items:center; gap:12px; padding:0 17px 14px; }
.driver-response-actions { display:flex; align-items:flex-start; flex-wrap:wrap; gap:8px; }
.driver-response-actions form { margin:0; }
.driver-accept-button { background:#12805f; }
.driver-decline-button { color:#9e3e35; }
.driver-decline-note { display:grid; gap:4px; width:min(100%,320px); padding:8px 0; color:#566674; font-size:11px; }
.driver-decline-note textarea { width:100%; border:1px solid #d9e1e5; border-radius:8px; padding:8px; font:inherit; }
.driver-accepted-label { color:#14795f; font-size:11px; font-weight:800; }
.driver-photo-tools { margin:0 17px 14px; border:1px solid #e3e9ec; border-radius:10px; padding:10px 12px; }
.driver-photo-tools > summary { color:#31495b; font-size:11px; font-weight:800; cursor:pointer; }
.driver-photo-tools form { display:grid; gap:8px; margin-top:10px; }
.driver-photo-tools label { display:grid; gap:6px; color:#687985; font-size:11px; }
.driver-photo-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.driver-photo-links a { color:#14795f; font-size:11px; }
.driver-signature-panel { display:grid; gap:8px; width:100%; margin:0 17px 14px; border:1px solid #dfe7eb; border-radius:10px; background:#f9fbfc; padding:12px; }
.driver-signature-panel h3 { margin:0; color:#31495b; font-size:12px; }
.driver-signature-panel p { margin:0; color:#70808b; font-size:10px; }
.driver-signature-panel label { display:grid; gap:5px; color:#526571; font-size:10px; }
.driver-signature-panel input[type="text"],.driver-signature-panel textarea { width:100%; border:1px solid #d9e1e5; border-radius:8px; padding:8px; font:inherit; }
.driver-signature-pad { display:block; width:100%; height:140px; border:1px dashed #91a1ac; border-radius:8px; background:#fff; touch-action:none; }
.driver-customer-unavailable { display:flex!important; grid-template-columns:auto 1fr; align-items:center; }
.driver-offline-page .button { display:inline-flex; text-decoration:none; }
.driver-call-timing { color:#798893; font-size:10px; }
.driver-empty { display:grid; justify-items:center; padding:40px 22px; text-align:center; }
.driver-empty h2 { margin:10px 0 3px; font-size:16px; }
.driver-empty p { max-width:450px; margin:0; color:#758490; font-size:11px; line-height:1.6; }
.driver-empty-icon { display:grid; width:42px; height:42px; place-items:center; border-radius:13px; color:#13795f; background:#e4f5ee; font-size:21px; }
.driver-chat { padding:13px 16px 15px; border-top:1px solid #edf1f3; background:#fbfcfd; }
.driver-chat > summary { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#304558; cursor:pointer; font-size:11px; font-weight:780; list-style-position:inside; }
.driver-chat[open] > summary { margin-bottom:8px; }
.chat-panel { padding-top:3px; }
.chat-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.chat-head p { margin:3px 0 0; color:#85929b; font-size:9px; }
.chat-live { padding:3px 7px; border-radius:20px; color:#19765e; background:#e7f6ef; font-size:8px; font-weight:750; white-space:nowrap; }
.chat-messages { display:grid; gap:6px; max-height:190px; overflow:auto; margin:10px 0; padding:2px; }
.chat-message { padding:8px 10px; border:1px solid #e8edef; border-radius:9px; background:#fff; }
.chat-message-meta { display:flex; justify-content:space-between; gap:10px; color:#445968; font-size:9px; }
.chat-message-meta time { color:#8a969f; font-size:8px; }
.chat-message p { margin:4px 0 0; color:#304456; font-size:10px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; }
.chat-compose { display:flex; align-items:flex-end; gap:7px; }
.chat-compose textarea { flex:1; min-height:38px; max-height:110px; resize:vertical; padding:9px 10px; border:1px solid #dce4e9; border-radius:8px; font:inherit; font-size:10px; }
.chat-compose .button { min-height:37px; padding:0 13px; }
.chat-error { min-height:0; margin:4px 0 0; color:#a44239; font-size:9px; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@media(max-width:700px) {
  .driver-welcome { align-items:stretch; flex-direction:column; padding:16px; }
  .driver-tools { justify-content:flex-start; }
  .driver-tools > span { text-align:left; }
  .driver-call-heading { align-items:flex-start; flex-direction:column; }
  .driver-call-heading > strong { text-align:left; }
  .driver-call-details { grid-template-columns:1fr; gap:10px; padding:13px 14px; }
  .driver-call-actions { align-items:flex-start; flex-direction:column; padding:0 14px 13px; }
  .driver-response-actions { width:100%; }
  .driver-photo-tools { margin:0 14px 13px; }
  .driver-signature-panel { margin:0 14px 13px; }
  .chat-compose .button { min-width:65px; }
  .driver-refresh-row { flex-direction:column; gap:3px; }
}

/* Multi-step business signup and monthly call allowance */
.auth-card.signup-card { width: min(100%, 720px); }
.signup-card .brand { margin-bottom: 20px; }
.signup-progress { display:flex; align-items:center; gap:8px; margin:4px 0 24px; }
.signup-progress > span { display:flex; min-width:74px; height:34px; align-items:center; justify-content:center; gap:6px; border:1px solid #e0e7eb; border-radius:99px; color:#7d8b96; background:#f5f7f8; font-size:11px; font-weight:800; }
.signup-progress > span.active,.signup-progress > span.complete { border-color:#a8d7c8; color:#126e57; background:#eaf8f2; }
.signup-progress small { font-size:9px; font-weight:700; }
.signup-progress > i { height:1px; flex:1; background:#dfe6ea; }
.signup-intro { margin-bottom:19px; }
.signup-intro h1 { margin:5px 0; }
.signup-intro p:last-child { margin-bottom:0; }
.signup-step h2 { margin:0 0 14px; color:#223747; font-size:16px; }
.signup-step[hidden] { display:none !important; }
.signup-plan-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:10px; }
.signup-plan { position:relative; display:block; cursor:pointer; }
.signup-plan input { position:absolute; width:1px; height:1px; opacity:0; }
.signup-plan-body { display:grid; gap:4px; min-height:88px; padding:14px; border:1px solid #e1e8eb; border-radius:11px; background:#fff; transition:border .15s,background .15s,box-shadow .15s; }
.signup-plan input:checked + .signup-plan-body { border-color:#49ae8b; background:#f0faf5; box-shadow:0 0 0 2px #d9f0e6; }
.signup-plan input:focus-visible + .signup-plan-body { outline:3px solid rgba(22,139,114,.25); outline-offset:2px; }
.signup-plan-body b { color:#263b4c; font-size:12px; }
.signup-plan-body strong { color:#15745c; font-size:16px; }
.signup-plan-body small { color:#72818c; font-size:10px; }
.signup-billing-note { margin:8px 0 15px; padding:11px 12px; border-radius:9px; color:#77551d !important; background:#fff7e9; font-size:10px !important; }
.signup-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:14px 0 17px; }
.signup-step-actions { display:flex; justify-content:space-between; gap:10px; margin-top:17px; }
.signup-footer { margin-top:17px; text-align:center; }
.call-usage { display:grid; grid-template-columns:minmax(220px,auto) minmax(120px,1fr) auto; align-items:center; gap:16px; margin:0 0 14px; padding:13px 16px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:var(--shadow-sm); }
.call-usage-copy { display:grid; gap:2px; }
.call-usage-copy strong { color:#26394a; font-size:11px; }
.call-usage-copy span { color:#748390; font-size:10px; }
.call-usage-track { height:8px; overflow:hidden; border-radius:99px; background:#e8eef0; }
.call-usage-track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#21a27f,#f2a34b); }
.call-usage > a { color:#14725a; font-size:10px; font-weight:750; text-decoration:none; white-space:nowrap; }
@media(max-width:700px){.signup-plan-grid,.signup-form-grid{grid-template-columns:1fr}.signup-progress{gap:4px}.signup-progress > span{min-width:66px}.call-usage{grid-template-columns:1fr auto;gap:10px}.call-usage-track{grid-row:2;grid-column:1/-1}.call-usage > a{grid-row:1;grid-column:2}}
.report-export-form{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(145px,.8fr)) auto;align-items:end;gap:12px;margin:14px 0 8px}.report-export-form label{display:grid;gap:6px;color:#536674;font-size:12px;font-weight:700}.report-export-form input,.report-export-form select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d8e1e6;border-radius:8px;background:#fff;color:#203545;font:inherit}.report-export-form .button{min-height:42px;white-space:nowrap}@media(max-width:760px){.report-export-form{grid-template-columns:1fr 1fr}.report-export-form label:first-child{grid-column:1/-1}.report-export-form .button{grid-column:1/-1}}
.support-workspace{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);gap:16px;align-items:start}.support-ticket-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 10px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.support-ticket-row:hover,.support-ticket-row.selected{background:#f0f6f5}.support-ticket-row b,.support-ticket-row small{display:block}.support-ticket-row b{font-size:13px}.support-ticket-row small{margin-top:4px;color:var(--muted);font-size:11px}.support-thread{display:grid;gap:10px;margin:18px 0}.support-message{padding:12px;border:1px solid var(--line);border-left:3px solid #168b72;border-radius:9px;background:#fbfcfd}.support-message.internal{border-left-color:#d79328;background:#fff9ee}.support-message>div{display:flex;justify-content:space-between;gap:12px;color:#3a4e5d;font-size:11px}.support-message time{color:#87949d;font-size:10px}.support-message p{margin:9px 0 0;color:#34495a;white-space:normal;overflow-wrap:anywhere;font-size:13px}.support-reply{display:grid;gap:6px;margin:10px 0;color:#536674;font-size:12px;font-weight:700}.support-reply textarea{width:100%;resize:vertical;padding:11px;border:1px solid #d8e1e6;border-radius:8px;color:#203545;font:inherit;font-weight:400}.support-detail-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}.support-empty{min-height:220px;display:grid;align-content:center}.internal-note-panel{border-color:#f0d8a7}.owner-plan-usage{color:#437361!important;font-size:11px!important}.status-pill.waiting_customer{color:#805619;background:#fff3d6}.status-pill.in_progress{color:#2e6190;background:#ebf3fc}.status-pill.urgent{color:#9a3f32;background:#fff0eb}
@media(max-width:900px){.support-workspace{grid-template-columns:1fr}}@media(max-width:600px){.support-ticket-row{align-items:flex-start;flex-direction:column}.support-detail-top{flex-wrap:wrap}.owner-search{flex-wrap:wrap}.owner-search input{flex:1 1 100%}}

.inspection-panel{margin:16px 0}.inspection-draft-status{padding:10px 12px;border-radius:8px;background:#e8f7ff;color:#174d68;font-size:12px;line-height:1.5}.inspection-panel [data-inspection-draft-clear]{margin:0 0 12px}.inspection-truck-name{padding:11px 13px;border-radius:9px;background:#eef5f5;color:#365462}.inspection-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.inspection-item{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfd}.inspection-item>strong{grid-column:1/-1;color:#26394a;font-size:12px}.inspection-meta{max-width:280px}.inspection-overall-notes{display:grid;gap:6px;max-width:620px;margin:12px 0;color:#536674;font-size:12px;font-weight:700}.inspection-overall-notes textarea{padding:11px;border:1px solid #d8e1e6;border-radius:8px;font:inherit;font-weight:400}.inspection-warning{color:#8c5e1c;font-size:12px;line-height:1.5}.inspection-history{display:grid;gap:8px}.inspection-record{border:1px solid var(--line);border-radius:10px;background:#fff}.inspection-record.has-defects{border-color:#e9b3a5}.inspection-record>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}.inspection-record>summary::-webkit-details-marker{display:none}.inspection-record>summary b,.inspection-record>summary small{display:block}.inspection-record>summary b{font-size:13px}.inspection-record>summary small{margin-top:4px;color:var(--muted);font-size:11px}.inspection-record-body{display:grid;gap:5px;padding:0 14px 14px}.inspection-result-item{display:flex;align-items:flex-start;gap:9px;padding:7px 8px;border-radius:7px;background:#f6f8f9}.inspection-result-item b,.inspection-result-item small{display:block}.inspection-result-item b{font-size:12px}.inspection-result-item small{margin-top:3px;color:var(--muted);font-size:11px}.inspection-result-dot{display:grid;place-items:center;width:20px;height:20px;flex:none;border-radius:50%;font-size:12px;font-weight:800}.inspection-result-dot.pass,.status-pill.passed{color:#176c52;background:#e3f5ed}.inspection-result-dot.defect,.status-pill.defects_found,.status-pill.out_of_service{color:#9c352e;background:#fff0eb}.inspection-result-dot.not_applicable{color:#667782;background:#e9eef1}.inspection-manager-notes{margin:8px 0 0;color:#536674;font-size:12px;white-space:normal;overflow-wrap:anywhere}.status-pill.maintenance{color:#805619;background:#fff3d6}@media(max-width:700px){.inspection-items{grid-template-columns:1fr}.inspection-item{grid-template-columns:1fr}.inspection-item>strong{grid-column:auto}.inspection-record>summary{align-items:flex-start;flex-direction:column}}

.notification-item{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 2px;border-bottom:1px solid var(--line)}.notification-item:last-child{border-bottom:0}.notification-item.unread{border-left:3px solid var(--orange);padding-left:14px}.notification-item h3{margin:4px 0;font-size:16px}.notification-item p{margin:4px 0;color:var(--muted);font-size:13px}.notification-actions{flex:0 0 auto}.notification-actions form{margin:0}.notification-bell{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:8px;background:#fff;color:#253744;text-decoration:none;font-size:12px;font-weight:700;border:1px solid var(--line)}.notification-bell b{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:20px;background:var(--orange);color:white;font-size:10px}@media(max-width:640px){.notification-item{align-items:flex-start;flex-direction:column}.notification-actions{align-self:flex-end}.notification-bell span{display:none}}

/* Dispatch board, slide-over actions, company dashboard and live map workspace */
.dashboard-welcome { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:2px 0 20px; padding:22px 25px; border:1px solid #e1e7ec; border-radius:14px; background:linear-gradient(110deg,#fff,#f7fafb); }
.dashboard-welcome h2 { margin:3px 0 5px; color:#213547; font-size:23px; letter-spacing:-.035em; }
.dashboard-welcome p:not(.kicker) { margin:0; color:#71808c; font-size:11px; }
.dashboard-actions { display:flex; gap:8px; flex-wrap:wrap; }
.dashboard-status,.dashboard-metrics { margin:0 0 20px; }
.dashboard-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 10px; }
.dashboard-section-head h2 { margin:0; color:#293c4d; font-size:15px; }
.dashboard-section-head > span { color:#85919b; font-size:9px; }
.status-tile-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px; padding:12px; border:1px solid #e2e7eb; border-radius:12px; background:#fff; }
.status-tile { display:grid; gap:5px; min-height:72px; padding:3px 5px 7px; color:#283d50; text-decoration:none; }
.status-tile strong { font-size:21px; line-height:1; }
.status-tile span { color:#647583; font-size:9px; text-transform:uppercase; letter-spacing:.035em; }
.status-tile i,.dashboard-total-row > div:after { display:block; height:3px; border-radius:3px; background:#2a65be; }
.tone-scheduled { background:#f09e21!important; }.tone-new { background:#f39b17!important; }.tone-assigned { background:#315ab8!important; }.tone-en_route { background:#76d985!important; }.tone-on_scene { background:#1d9c45!important; }.tone-in_yard { background:#268cff!important; }.tone-completed { background:#b22db4!important; }
.dashboard-total-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:9px; }
.dashboard-total-row > div { position:relative; display:grid; gap:3px; padding:12px 14px 16px; border:1px solid #e2e7eb; border-radius:11px; background:#fff; }
.dashboard-total-row strong { color:#263a4a; font-size:20px; }.dashboard-total-row span { color:#73818d; font-size:9px; text-transform:uppercase; }.dashboard-total-row > div:after { content:""; height:2px; background:#8b9296; }
.metric-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.metric-card { display:grid; min-height:90px; gap:5px; padding:15px 16px; border:1px solid #e2e7eb; border-radius:11px; background:#fff; }
.metric-card span { color:#657583; font-size:10px; }.metric-card strong { color:#243a4e; font-size:23px; letter-spacing:-.035em; }.metric-card small { color:#85919c; font-size:9px; }
.dashboard-live { padding:0; overflow:hidden; }.dashboard-live > .panel-head { padding:16px 18px; }.dashboard-live .table-wrap { margin:0 14px 15px; }
.dashboard-shortcuts { margin-top:14px; }
.dispatch-commandbar { display:flex; align-items:center; gap:7px; min-height:49px; margin:0 0 10px; padding:6px 9px; border:1px solid #e1e7eb; border-radius:9px; background:#fff; box-shadow:0 2px 8px #1f34400b; }
.command-action,.command-icon { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:33px; padding:0 10px; border:0; border-radius:6px; color:#2866ad; background:transparent; text-decoration:none; white-space:nowrap; font-family:inherit;font-size:10px;font-weight:600;line-height:1.2; cursor:pointer; }
.command-action:hover,.command-icon:hover { background:#f0f5f9; }.command-action.primary { color:#fff; background:#176fbd; }.command-action.primary:hover { background:#105f9f; }
.command-search { position:relative; display:flex; flex:1; min-width:150px; max-width:400px; margin:0 4px; }
.command-search input { width:100%; min-height:33px; padding:7px 36px 7px 10px; border:1px solid #d7dfe5; border-radius:5px; font-size:10px; }
.command-search button { position:absolute; top:2px; right:2px; width:30px; height:29px; border:0; border-radius:4px; color:#3673ad; background:#fff; font-size:20px; cursor:pointer; }
.command-icon { margin-left:auto; min-width:34px; font-size:17px; }
.call-usage { display:flex; align-items:center; gap:12px; margin:0 0 10px; padding:6px 10px; border:1px solid #ebeff2; border-radius:7px; background:#fbfcfd; }.call-usage-copy { display:flex; align-items:center; gap:8px; white-space:nowrap; }.call-usage-copy strong { font-size:9px; }.call-usage-copy span,.call-usage>a { color:#75838d; font-size:9px; }.call-usage-track { height:4px; }.call-usage>a { white-space:nowrap; }
.dispatch-layout { display:block; }
.dispatch-board { display:grid; grid-template-columns:168px minmax(0,1fr); align-items:stretch; gap:0; min-height:520px; border:1px solid #e1e6ea; border-radius:10px; overflow:hidden; background:#fff; }
.queue-rail { display:flex; flex-direction:column; min-width:0; padding:10px 0; border-right:1px solid #e2e7eb; background:#fafbfc; }
.queue-rail > p { margin:0; padding:2px 12px 10px; color:#667786; font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.queue-rail .queue-tabs { display:grid; gap:1px; overflow:visible; padding:0; border:0; }
.queue-rail .queue-tab { justify-content:space-between; min-height:34px; padding:0 12px; border:0; border-left:3px solid transparent; color:#627382; font-size:10px; font-weight:580; }
.queue-rail .queue-tab:hover { background:#f0f4f6; }.queue-rail .queue-tab.active { border-left-color:#1676c2; color:#205a8a; background:#eaf3fa; }
.queue-rail .queue-tab b { min-width:19px; height:19px; color:#667786; background:#edf0f2; font-size:8px; }
.queue-rail-foot { display:grid; gap:3px; margin:auto 10px 2px; padding:11px 9px 2px; border-top:1px solid #e5e9ec; }.queue-rail-foot b { color:#2c4155; font-size:18px; }.queue-rail-foot span { color:#87939d; font-size:8px; }.queue-rail-foot a { margin-top:7px; color:#2676b5; text-decoration:none; font-size:9px; }
.dispatch-panel { min-width:0; border:0; border-radius:0; box-shadow:none; }
.dispatch-panel > .panel-head { align-items:center; margin:0; padding:13px 15px 11px; border-bottom:1px solid #e8ecef; }.dispatch-panel > .panel-head h2 { display:flex; align-items:center; gap:7px; color:#2b3e4f; font-size:13px; }.dispatch-panel > .panel-head p { margin-top:3px; font-size:9px; }.board-call-count { display:inline-grid; min-width:20px; height:20px; place-items:center; border-radius:5px; color:#34709d; background:#edf4f9; font-size:9px; }
.dispatch-customize { position:relative; margin:0; padding:0 14px; border-bottom:1px solid #e9edf0; }.dispatch-customize summary { padding:8px 0; color:#5c7080; font-size:9px; cursor:pointer; list-style:none; }.dispatch-customize summary::-webkit-details-marker { display:none; }.dispatch-customize[open] .dispatch-customize-options { position:absolute; z-index:4; top:33px; left:12px; display:grid; min-width:190px; gap:8px; padding:12px; border:1px solid #dfe6eb; border-radius:8px; background:#fff; box-shadow:0 12px 32px #18334b22; }.dispatch-customize-options label { font-size:9px; }
.dispatch-job-list { display:grid; gap:0; padding:0; }.dispatch-job { grid-template-columns:minmax(0,1fr); gap:0; padding:12px 14px 0; border:0; border-bottom:1px solid #e7ecef; border-radius:0; box-shadow:none; transition:background .12s ease; }.dispatch-job:hover { transform:none; border-color:#e7ecef; background:#fbfdff; box-shadow:none; }.dispatch-job-title { gap:7px; }.dispatch-job-number { gap:10px; }.dispatch-job-number b { color:#2674bb; font-size:11px; }.dispatch-job-number small { font-size:8px; }.dispatch-job-service { margin:6px 0 9px; color:#344a5c; font-size:10px; }.dispatch-job-service strong { color:#3c5060; }.dispatch-job-details { grid-template-columns:.9fr .9fr 1.5fr .9fr; gap:14px; }.dispatch-job-details small { font-size:7px; }.dispatch-job-details strong { font-size:9px; }.dispatch-job-details span { font-size:8px; }.dispatch-job-foot { flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:7px 16px; margin-top:9px; padding:8px 0; border-top:0; font-size:8px; }.dispatch-job-actions { display:flex; flex-wrap:wrap; align-items:center; gap:3px 9px; width:100%; padding-top:6px; border-top:1px solid #eff2f4; }.call-action { display:inline-flex; align-items:center; gap:4px; min-height:24px; padding:2px 3px; border:0; color:#256daf; background:transparent; text-decoration:none; font-family:inherit;font-size:9px;font-weight:600;line-height:1.2; cursor:pointer; }.call-action:hover { color:#174c7d; text-decoration:underline; }.call-more { position:relative; }.call-more summary { list-style:none; cursor:pointer; color:#3173b2; font-size:9px; font-weight:650; }.call-more summary::-webkit-details-marker { display:none; }.call-more-menu { position:absolute; z-index:5; top:24px; right:0; display:grid; min-width:190px; gap:0; padding:5px; border:1px solid #e0e6eb; border-radius:8px; background:#fff; box-shadow:0 12px 32px #18334b26; }.call-more-menu a,.call-more-menu button { padding:8px; border:0; color:#405564; background:transparent; text-align:left; text-decoration:none; font-family:inherit;font-size:9px;font-weight:500;line-height:1.2; cursor:pointer; }.call-more-menu a:hover,.call-more-menu button:hover { background:#f2f6f8; }
.network-tag { padding:3px 6px; border-radius:4px; color:#805c2c; background:#fbf4e7; font-size:8px; }.dispatch-requirements { display:flex; gap:7px; margin-top:8px; color:#7a8790; font-size:8px; }.dispatch-requirements b { color:#4b5f6d; }
.dispatch-empty { min-height:360px; }.dispatch-intake-drawer { position:relative; margin:10px 0 0; border:1px solid #e0e6ea; border-radius:9px; background:#fff; }.dispatch-intake-drawer > summary { padding:10px 13px; color:#276ba7; font-size:10px; font-weight:700; cursor:pointer; list-style:none; }.dispatch-intake-drawer > summary::-webkit-details-marker { display:none; }.dispatch-intake-drawer > summary span { margin-left:8px; color:#87939d; font-size:9px; font-weight:400; }.dispatch-intake-drawer[open] { position:fixed; z-index:1001; inset:0 0 0 auto; width:min(760px,96vw); max-height:100vh; overflow:auto; padding:0 0 25px; border:0; border-radius:0; box-shadow:-14px 0 45px #0f263d33; background:#f8fafb; }.dispatch-intake-drawer[open]::before { position:fixed; z-index:-1; inset:0; content:""; background:#12243675; }.dispatch-intake-drawer[open] > summary { position:sticky; z-index:2; top:0; padding:15px 20px; border-bottom:1px solid #e6ebef; background:#fff; }.dispatch-intake { position:static; max-height:none; overflow:visible; margin:12px; }.dispatch-intake-head { padding:14px 16px; }
.job-action-drawer { position:fixed; inset:0 0 0 auto; width:min(850px,94vw); max-width:none; height:100dvh; max-height:none; margin:0; padding:0; overflow:auto; border:0; border-left:1px solid #d8e0e6; background:#f7f8fa; color:#37434c; box-shadow:-12px 0 44px #142c4038; }.job-action-drawer::backdrop { background:#101e2b55; }.drawer-heading { position:sticky; z-index:2; top:0; display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid #dce3e8; background:#fff; }.drawer-heading small { color:#2874b5; font-size:9px; }.drawer-heading h2 { margin:3px 0 0; color:#36434d; font-size:14px; font-weight:600; }.drawer-close { width:29px; height:29px; border:0; border-radius:5px; color:#5d6b75; background:#f1f3f5; font-size:20px; cursor:pointer; }.drawer-call-summary { display:grid; gap:5px; padding:12px 18px; border-bottom:1px solid #e0e5e9; background:#fbfcfd; font-size:10px; }.drawer-call-summary b { color:#286eac; }.drawer-call-summary span { color:#7a8790; }.drawer-action-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; border-bottom:1px solid #dce3e8; }.drawer-action-card { min-height:380px; padding:18px; border-right:1px solid #dce3e8; background:#f8f9fa; }.drawer-action-card h3 { margin:0 0 17px; color:#687782; font-size:12px; font-weight:520; }.drawer-action-card > form { display:grid; gap:9px; max-width:390px; }.drawer-action-card label { color:#5e6d77; font-size:9px; }.drawer-action-card select { min-height:34px; padding:6px 8px; background:white; font-size:10px; }.drawer-action-card .button { min-width:120px; min-height:34px; justify-self:start; background:#27a16c; font-size:10px; }.drawer-action-card .button.secondary { color:#52626e; background:#ebeff2; }.drawer-action-card .micro-copy { margin:0; color:#82909a; font-size:8px; }.drawer-footer-actions { display:flex; flex-wrap:wrap; gap:8px; padding:12px 18px; border-bottom:1px solid #dce3e8; background:#fff; }.drawer-footer-actions .form { margin:0; }.drawer-footer-actions .button { min-height:33px; padding:8px 11px; font-size:9px; }.job-action-drawer .driver-chat { margin:0; padding:12px 18px; background:#fff; }.job-action-drawer .driver-chat > summary { color:#3473a9; font-size:10px; }
.map-workspace { display:grid; grid-template-columns:minmax(270px,320px) minmax(0,1fr); min-height:min(76vh,820px); overflow:hidden; border:1px solid #e1e6ea; border-radius:10px; background:#fff; box-shadow:0 3px 12px #1b30420c; }.map-sidepanel { position:relative; z-index:2; display:flex; flex-direction:column; min-width:0; max-height:min(76vh,820px); border-right:1px solid #dfe5e9; background:#fff; }.map-switcher { display:grid; grid-template-columns:1fr 1fr; gap:3px; margin:8px 9px 4px; padding:3px; border-radius:7px; background:#f0f2f5; }.map-switcher button { min-height:29px; border:0; border-radius:5px; color:#79838b; background:transparent; font-size:10px; cursor:pointer; }.map-switcher button.active { color:#293d4d; background:#fff; box-shadow:0 1px 4px #1c304019; }.map-side-tools { display:flex; align-items:center; gap:5px; padding:6px 9px; }.map-queue-picker { display:flex; align-items:center; flex:1; gap:5px; color:#75818a; font-size:9px; }.map-queue-picker select { flex:1; min-width:0; min-height:30px; padding:5px 7px; border:1px solid #e0e5e9; border-radius:5px; background:#fff; font-size:9px; }.map-tool-icon { width:30px; height:30px; border:1px solid #e1e6ea; border-radius:6px; color:#647481; background:#fff; cursor:pointer; }.map-tool-icon.active { color:#286ca8; background:#eaf3fa; }.map-side-search { display:flex; align-items:center; gap:7px; margin:2px 9px 8px; padding:0 8px; border:1px solid #dfe5ea; border-radius:6px; color:#89949c; }.map-side-search input { width:100%; min-height:32px; padding:5px 0; border:0; outline:0; background:transparent; font-size:9px; }.map-side-summary { display:flex; align-items:center; justify-content:space-between; min-height:31px; padding:0 10px; border-bottom:1px solid #e7ebee; color:#77858e; font-size:8px; }.map-side-summary button { border:0; color:#536574; background:transparent; font-size:8px; cursor:pointer; }.map-options-popover { position:absolute; z-index:9; top:158px; right:8px; display:grid; gap:10px; min-width:170px; padding:12px; border:1px solid #dee4e8; border-radius:8px; background:white; box-shadow:0 12px 26px #1b33401f; font-size:9px; }.map-options-popover[hidden] { display:none; }.map-options-popover label { display:flex; gap:6px; align-items:center; color:#566976; }.map-options-popover button,.map-options-popover a { border:0; color:#286eaa; background:transparent; text-align:left; text-decoration:none; font-family:inherit;font-size:9px;font-weight:600;line-height:1.3; cursor:pointer; }.map-side-list { flex:1; min-height:0; overflow:auto; }.map-list { gap:0; }.map-list[hidden] { display:none; }.map-list-item { width:100%; gap:4px; padding:11px 10px; border:0; border-bottom:1px solid #e7ecef; border-radius:0; background:#fff; text-align:left; cursor:pointer; }.map-list-item:hover { background:#f6f9fb; }.map-list-title { color:#2673b5; font-size:10px; }.map-list-detail { display:-webkit-box; overflow:hidden; color:#77848e; font-size:8px; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:3; }.map-new-call { display:block; margin:9px; padding:9px; border:1px solid #d7e6f1; border-radius:6px; color:#216ba7; background:#f2f8fc; text-align:center; text-decoration:none; font-size:10px; font-weight:700; }.map-canvas-shell { position:relative; min-width:0; min-height:0; overflow:hidden; background:#b4e6ef; }.map-canvas-shell .fleet-map { position:absolute; inset:0; width:100%; height:100%; min-height:0; }.map-canvas-controls { position:absolute; z-index:2; top:10px; right:10px; display:grid; gap:6px; }.map-canvas-controls button { width:34px; height:34px; border:1px solid #e1e6e9; border-radius:7px; color:#41586b; background:#fff; box-shadow:0 2px 8px #1f344017; font-size:17px; cursor:pointer; }.map-canvas-shell .map-legend { position:absolute; z-index:1; right:12px; bottom:30px; gap:12px; padding:7px 10px; border:1px solid #dde3e7; border-radius:7px; background:#fffffff0; box-shadow:0 2px 7px #10233415; font-size:8px; }.map-canvas-shell .map-legend #map-updated { margin-left:5px; font-size:8px; }.map-credit { position:absolute; right:5px; bottom:0; color:#596b78; font-size:7px; background:#ffffffbf; }.map-credit a { color:inherit; }.map-canvas-shell .map-message { position:absolute; left:10px; bottom:9px; max-width:55%; padding:5px 8px; border:1px solid #dde4e8; border-radius:5px; color:#647582; background:#fffffff0; font-size:8px; }.map-workspace.list-view { grid-template-columns:minmax(300px,42%) minmax(0,1fr); }.map-workspace:fullscreen { width:100vw; height:100vh; min-height:100vh; border:0; border-radius:0; }.map-workspace:fullscreen .map-sidepanel { max-height:100vh; }
@media(max-width:1100px) { .status-tile-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.dispatch-board { grid-template-columns:145px minmax(0,1fr); }.dispatch-job-details { grid-template-columns:repeat(2,minmax(0,1fr)); }.map-workspace { grid-template-columns:270px minmax(0,1fr); } }
@media(max-width:700px) { .dashboard-welcome { align-items:flex-start; flex-direction:column; padding:17px; }.dashboard-welcome h2 { font-size:19px; }.status-tile-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.dashboard-total-row { grid-template-columns:1fr; }.metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.dispatch-commandbar { flex-wrap:wrap; gap:4px; }.command-search { order:5; flex:1 0 100%; max-width:none; margin:3px 0 0; }.command-action { min-height:29px; padding:0 6px; font-size:8px; }.command-icon { min-width:26px; margin-left:0; }.call-usage { flex-wrap:wrap; gap:6px; }.call-usage-copy { flex-wrap:wrap; }.dispatch-board { grid-template-columns:1fr; min-height:0; }.queue-rail { padding:6px 0 3px; border-right:0; border-bottom:1px solid #e2e7eb; }.queue-rail > p,.queue-rail-foot { display:none; }.queue-rail .queue-tabs { display:flex; overflow:auto; padding:0 5px; }.queue-rail .queue-tab { min-width:max-content; justify-content:flex-start; gap:6px; min-height:32px; padding:0 8px; border-left:0; border-bottom:2px solid transparent; font-size:8px; }.queue-rail .queue-tab.active { border-bottom-color:#1676c2; border-left:0; }.dispatch-panel > .panel-head { padding:11px 10px; }.dispatch-panel > .panel-head .button { min-height:29px; padding:6px 8px; font-size:8px; }.dispatch-job { padding:10px 10px 0; }.dispatch-job-details { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.dispatch-job-details > div:nth-child(3) { grid-column:1/-1; }.dispatch-job-actions { gap:3px 7px; }.call-action { font-size:8px; }.dispatch-intake-drawer[open] { width:100vw; }.job-action-drawer { width:100vw; }.drawer-action-grid { grid-template-columns:1fr; }.drawer-action-card { min-height:0; padding:14px; border-right:0; border-bottom:1px solid #dce3e8; }.drawer-footer-actions { padding:10px; }.map-workspace { grid-template-columns:1fr; grid-template-rows:minmax(300px,42vh) minmax(360px,1fr); min-height:680px; }.map-sidepanel { grid-row:2; max-height:none; min-height:0; border-top:1px solid #dfe5e9; border-right:0; }.map-canvas-shell { grid-row:1; }.map-workspace:fullscreen { grid-template-rows:minmax(250px,45vh) 1fr; }.map-canvas-shell .map-legend { right:6px; bottom:28px; gap:7px; padding:5px; }.map-canvas-shell .map-message { max-width:75%; }.map-workspace.list-view { grid-template-columns:1fr; grid-template-rows:minmax(260px,30vh) 1fr; } }
.dispatch-intake-backdrop { position:fixed; z-index:1000; inset:0; width:100vw; height:100vh; border:0; background:#12243675; cursor:default; }.dispatch-intake-backdrop[hidden] { display:none; }
.drawer-action-grid { grid-template-columns:minmax(180px,.75fr) minmax(190px,.85fr) minmax(150px,.8fr); }.drawer-status-list { min-height:380px; padding:18px; border-right:1px solid #dce3e8; background:#f8f9fa; }.drawer-status-list h3 { margin:0 0 13px; color:#687782; font-size:11px; font-weight:520; }.drawer-status-list button { display:block; width:100%; padding:7px 0; border:0; color:#78838b; background:transparent; text-align:left; font-size:9px; cursor:pointer; }.drawer-status-list button:hover,.drawer-status-list button.active { color:#285f98; font-weight:750; }
@media(max-width:700px) { .drawer-action-grid { grid-template-columns:1fr; }.drawer-status-list { min-height:0; padding:13px; border-right:0; border-bottom:1px solid #dce3e8; }.drawer-status-list button { display:inline-block; width:auto; margin-right:12px; } }
.metric-range-picker { display:flex; align-items:center; gap:3px; }.metric-range-picker span { margin-right:7px; color:#85919b; font-size:8px; }.metric-range-picker button { min-height:27px; padding:4px 10px; border:1px solid transparent; border-radius:5px; color:#637582; background:transparent; font-size:8px; cursor:pointer; }.metric-range-picker button.active { border-color:#dce3e8; color:#364d5f; background:#fff; box-shadow:0 1px 3px #1b304012; }
@media(max-width:700px) { .dashboard-section-head { align-items:flex-start; flex-direction:column; }.metric-range-picker { align-self:flex-end; } }
.drawer-unlock { margin:10px 18px 0; min-height:33px; font-size:9px; }

/* Towbook-inspired workspace shell: charcoal navigation, grouped tools, full-width work area. */
.sidebar { position:sticky; inset:0 0 auto; width:100%; min-height:56px; height:auto; flex-direction:row; align-items:center; gap:16px; padding:6px 18px; color:#f3f5f6; background:#202428; border:0; box-shadow:0 2px 7px #11182038; }
.sidebar .brand { flex:0 0 auto; gap:8px; color:#fff; font-size:15px; }
.sidebar .brandmark { width:30px; height:30px; border:0; border-radius:7px; background:#0d705c; box-shadow:none; }
.sidebar .brand b { color:#64d0b0; }
.sidebar .brand small { display:none; }
.company-chip { flex:0 0 auto; gap:8px; margin:0; padding:3px 6px; border:0; border-radius:4px; background:transparent; }
.company-chip .company-icon { width:27px; height:27px; flex-basis:27px; border-radius:50%; color:#eef2f4; background:#394147; font-size:11px; }
.company-chip b { max-width:155px; color:#fff; font-size:11px; }
.company-chip small { color:#b7c0c5; font-size:9px; }
.switch { flex:0 0 auto; gap:4px; margin:0; }
.switch select { max-width:145px; min-height:29px; padding:4px 6px; border-color:#ffffff2b; border-radius:4px; color:#f3f5f6; background:#30363b; font-size:10px; }
.switch option { color:#172534; background:white; }
.icon-btn { padding:0 8px; border-radius:4px; background:#394147; }
.sidebar nav { display:flex; flex:1 1 auto; align-items:center; gap:2px; min-width:0; }
.navlink { justify-content:center; gap:6px; min-height:34px; padding:5px 10px; border:0; border-radius:4px; color:#d1d7db; font-size:11px; font-weight:600; white-space:nowrap; }
.navlink:hover,.app-nav-menu summary:hover { color:#fff; background:#353c41; }
.navlink.active,.app-nav-menu.active > summary { color:#fff; background:#3a4247; box-shadow:inset 0 -2px #49c49c; }
.navlink i { width:auto; color:#aeb8be; font-size:14px; }
.navlink.active i { color:white; }
.app-nav-menu { position:relative; flex:0 0 auto; }
.app-nav-menu > summary { display:flex; align-items:center; gap:7px; min-height:34px; padding:5px 10px; border-radius:4px; color:#d1d7db; list-style:none; font-size:11px; font-weight:600; cursor:pointer; white-space:nowrap; }
.app-nav-menu > summary::-webkit-details-marker { display:none; }
.app-nav-menu > summary span { color:#aeb8be; font-size:12px; }
.app-nav-menu[open] > summary { background:#3a4247; color:#fff; }
.app-nav-popover { position:absolute; z-index:50; top:calc(100% + 7px); left:0; display:grid; gap:2px; min-width:210px; padding:5px; border:1px solid #454d53; border-radius:5px; background:#292f34; box-shadow:0 8px 22px #11182066; }
.app-nav-item { display:flex; align-items:center; gap:9px; min-height:35px; padding:7px 9px; border-radius:3px; color:#d6dce0; text-decoration:none; font-size:11px; }
.app-nav-item i { width:17px; color:#aab4ba; text-align:center; font-style:normal; }
.app-nav-item:hover,.app-nav-item.active { color:#fff; background:#3a4247; }
.app-nav-item.active { font-weight:700; }
.side-bottom { flex:0 0 auto; margin:0 0 0 auto; }
.privacy { display:none; }
.profile { display:flex; align-items:center; gap:7px; padding:0; border:0; }
.profile .avatar { width:29px; height:29px; flex-basis:29px; border-radius:50%; color:#f0f3f5; background:#394147; font-size:11px; }
.profile b { max-width:105px; color:#fff; font-size:10px; }
.profile small { max-width:130px; margin:0; color:#b7c0c5; font-size:9px; }
.profile form { margin-left:5px; }
.text-btn { color:#fff; font-size:10px; }
.main { margin-left:0; }
.topbar { height:42px; padding:0 20px; border-bottom:1px solid #d9e0e6; color:#637380; background:#fff; backdrop-filter:none; }
.content { width:100%; max-width:none; padding:20px 20px 44px; }
.module-subnav { position:sticky; top:42px; z-index:8; display:flex; gap:3px; overflow:auto; margin:-3px 0 15px; padding:4px 0 8px; background:#f3f6f8; }
.module-subnav a { padding:7px 12px; border:1px solid #e0e6eb; border-radius:4px; color:#326b9c; background:white; text-decoration:none; font-size:11px; font-weight:650; white-space:nowrap; }
.module-subnav a:hover { border-color:#a9c8e1; background:#f3f9ff; }
#inventory,#tasks,#auctions,#lots,#checkin { scroll-margin-top:105px; }
@media(max-width:1480px) {
  .sidebar { gap:8px; padding:6px 10px; }
  .company-chip { display:none; }
  .sidebar nav { overflow-x:auto; scrollbar-width:thin; }
  .navlink,.app-nav-menu > summary { padding-right:8px; padding-left:8px; }
  .profile small { display:none; }
}
@media(max-width:700px) {
  .sidebar { position:sticky; inset:0 0 auto; width:100%; height:54px; flex-direction:row; padding:4px 6px; border-top:0; box-shadow:0 2px 7px #11182038; }
  .sidebar > .brand { display:flex; padding:0 4px; }
  .sidebar > .brand > span:last-child { display:none; }
  .sidebar > .company-chip,.sidebar > .switch,.side-bottom { display:none; }
  .sidebar nav { width:100%; display:flex; justify-content:flex-start; gap:3px; overflow-x:auto; }
  .navlink,.navlink:not(.active) { min-width:max-content; min-height:39px; flex:0 0 auto; flex-direction:row; padding:5px 8px; border-radius:4px; color:#d1d7db; font-size:9px; }
  .navlink.active { box-shadow:none; }
  .navlink i { font-size:13px; }
  .app-nav-menu { flex:0 0 auto; }
  .app-nav-menu > summary { min-height:39px; padding:5px 8px; font-size:9px; }
  .app-nav-popover { position:fixed; top:54px; left:8px; max-height:70vh; overflow:auto; }
  .main { width:100%; margin:0; padding-bottom:0; }
  .topbar { height:38px; padding:0 11px; font-size:9px; }
  .mobile-brand { display:none; }
  .top-user { display:none; }
  .content { padding:15px 10px 25px; }
  .module-subnav { top:38px; }
}

.role-access-panel { scroll-margin-top:110px; }
.management-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.management-overview-head h2{margin:4px 0 6px;font-size:21px;letter-spacing:-.035em}
.management-overview-head p{max-width:760px}
.management-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px}
.management-stat{display:flex;min-height:108px;flex-direction:column;justify-content:space-between;gap:4px;padding:14px 15px;border:1px solid var(--line);border-radius:10px;background:var(--paper);text-decoration:none;transition:border-color .15s ease,transform .15s ease}
.management-stat:hover{border-color:#61b2d1;transform:translateY(-1px)}
.management-stat>span{color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}
.management-stat strong{color:var(--ink);font-size:27px;line-height:1.1;font-weight:780}
.management-stat small{color:var(--muted);font-size:10px}
.management-section .panel-head{margin-bottom:13px}
.management-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));gap:10px}
.management-card{display:flex;align-items:center;gap:12px;min-height:82px;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);text-decoration:none;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.management-card:hover{border-color:#75b9d3;background:#f6fbfd;transform:translateY(-1px)}
.management-card-icon{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border:1px solid #dceaf0;border-radius:9px;background:#edf7fa;color:#167ca0;font-size:17px}
.management-card-copy{display:grid;gap:3px;min-width:0}
.management-card-copy b{color:var(--ink);font-size:12px}
.management-card-copy small{color:var(--muted);font-size:10px;line-height:1.45}
.management-card-arrow{margin-left:auto;color:#1482a4;font-size:23px;line-height:1}
html[data-theme="dark"] .management-card:hover{border-color:#39738b;background:#152e3d}
html[data-theme="dark"] .management-card-icon{border-color:#2b4a5b;background:#173547;color:#8bdaf4}
html[data-theme="dark"] .management-card-copy b,html[data-theme="dark"] .management-stat strong{color:#eaf1f5}
html[data-theme="dark"] .management-stat{border-color:#2b404e;background:#102331}
html[data-theme="dark"] .management-stat:hover{border-color:#4aa7c9}
@media(max-width:700px){.management-overview-head{flex-direction:column}.management-overview-head .button{width:100%}.management-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.management-card-grid{grid-template-columns:1fr}}
.role-access-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.role-access-card { align-self:start; overflow:visible; border:1px solid #dce4ea; border-radius:8px; background:#fff; }
.role-access-card > summary { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:56px; padding:10px 13px; color:#243b4e; list-style:none; cursor:pointer; }
.role-access-card > summary::-webkit-details-marker { display:none; }
.role-access-card > summary span { display:grid; gap:1px; }
.role-access-card > summary b { font-size:12px; }
.role-access-card > summary small { color:#788a98; font-size:9px; }
.role-access-card > summary i { color:#698092; font-style:normal; }
.role-access-card[open] > summary { border-bottom:1px solid #e5ebef; background:#f7f9fb; }
.role-access-body { padding:12px; }
.role-access-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.role-permission-toggle { display:flex; align-items:flex-start; gap:8px; min-height:56px; padding:9px; border:1px solid #e5eaee; border-radius:6px; background:#fff; cursor:pointer; }
.role-permission-toggle input { margin:2px 0 0; accent-color:#1476c3; }
.role-permission-toggle span { display:grid; gap:2px; }
.role-permission-toggle b { color:#30485a; font-size:10px; line-height:1.3; }
.role-permission-toggle small { color:#7b8a95; font-size:9px; line-height:1.35; }
.role-permission-toggle:has(input:checked) { border-color:#b6d2e9; background:#f4f9fe; }
.role-access-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.role-access-actions form { margin:0; }
.role-access-actions .button { min-height:34px; padding:7px 11px; font-size:10px; }
.member-role-control { display:flex; align-items:center; gap:5px; min-width:185px; }
.member-role-control select { min-width:0; max-width:150px; min-height:30px; padding:4px 6px; border:1px solid #dce4ea; border-radius:5px; color:#30485a; background:white; font-size:10px; }
.role-badge { display:inline-flex; padding:4px 8px; border-radius:99px; color:#546979; background:#f0f3f6; font-size:10px; font-weight:700; }
@media(max-width:700px) { .role-access-grid,.role-access-options { grid-template-columns:1fr; }.member-role-control { min-width:150px; }.member-role-control select { max-width:110px; } }
.member-account-actions{display:grid;gap:8px;min-width:220px;max-width:300px}.member-account-actions form{display:grid;gap:6px;margin:0;padding:8px;border:1px solid #e3eaf0;border-radius:8px;background:#fbfcfd}.member-account-actions label{display:grid;gap:4px;color:#586d7b;font-size:10px;font-weight:700}.member-account-actions input{width:100%;min-height:32px;padding:6px 8px;border:1px solid #d7e1e8;border-radius:6px;background:#fff;color:#253b4b;font:inherit;font-weight:400}.member-account-actions .small-btn{justify-self:start}.member-account-actions small{display:block;max-width:220px;color:#778995;font-size:10px;line-height:1.5}.member-account-actions .danger{border-color:#f0d4cf;color:#9d4337;background:#fff5f3}
.notification-preferences-wrap{width:100%;overflow:auto;margin:16px 0}.notification-preferences{width:100%;min-width:820px;border-collapse:separate;border-spacing:0;font-size:12px}.notification-preferences th,.notification-preferences td{padding:9px 8px;border-bottom:1px solid #e4eaf0;text-align:center;vertical-align:middle}.notification-preferences thead th{position:sticky;top:0;background:#f3f6f8;color:#344a59;font-size:10px}.notification-preferences thead th:first-child,.notification-preferences tbody th[scope=row]{text-align:left}.notification-preferences tbody th[scope=row]{min-width:245px;color:#445a68;font-weight:650}.notification-preferences .notification-category th{padding:10px 9px;background:#e9eef2;color:#273e4f;text-align:left;font-size:11px}.notification-check{display:grid;place-items:center;min-width:32px;min-height:32px;cursor:pointer}.notification-check input{width:17px;height:17px;accent-color:#2279c8}.notification-check input:disabled{opacity:.42;cursor:not-allowed}.notification-sound-control{display:flex;justify-content:center;align-items:center;gap:5px;white-space:nowrap}.notification-sound-control select{max-width:112px;min-height:32px;border:1px solid #d8e1e6;border-radius:6px;background:#fff;color:#334b5a;font:inherit}.notification-sound-control .small-btn{min-height:30px}.notification-live-stack{position:fixed;z-index:10000;right:18px;top:18px;display:grid;gap:9px;width:min(360px,calc(100vw - 32px));pointer-events:none}.notification-live-toast{display:grid;gap:4px;padding:13px 15px;border:1px solid #cfe0ec;border-left:4px solid #2781c2;border-radius:10px;background:#fff;color:#283e4e;text-decoration:none;box-shadow:0 9px 32px #14253626;opacity:0;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease;pointer-events:auto}.notification-live-toast.visible{opacity:1;transform:translateY(0)}.notification-live-toast strong{font-size:13px}.notification-live-toast span{color:#687b89;font-size:11px;line-height:1.45}
@media(max-width:700px){.notification-live-stack{top:auto;right:10px;bottom:12px;width:calc(100vw - 20px)}.notification-preferences tbody th[scope=row]{min-width:200px}}
.dispatch-live-control{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:7px;color:#70818e;font-size:10px}.dispatch-live-control .live-dot{width:7px;height:7px;border-radius:50%;background:#35aa78;box-shadow:0 0 0 3px #35aa7820}.dispatch-live-control label{display:inline-flex;align-items:center;gap:5px;font-weight:650}.dispatch-live-control input{width:14px;height:14px;accent-color:#1877c7}.dispatch-live-control .small-btn{min-height:27px;padding:4px 8px}

.assignment-conflict-confirm{display:flex;align-items:flex-start;gap:8px;margin:12px 0;color:#536b7d;font-size:13px;line-height:1.45}.assignment-conflict-confirm input{flex:0 0 auto;margin-top:2px;accent-color:#1682c4}.drawer-action-card .assignment-conflict-confirm{font-size:9px}

.readiness-list{list-style:none;padding:0;margin:14px 0;display:grid;gap:10px}.readiness-list li{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:3px 12px;padding:12px;border:1px solid var(--line,#dce4e9);border-radius:10px}.readiness-list li span{font-weight:700;color:#a45b00}.readiness-list li small{grid-column:1/-1;color:var(--muted,#61717d);line-height:1.5}.readiness-list li span:has(+small){text-align:right}@media(max-width:600px){.readiness-list li{grid-template-columns:1fr;gap:4px}.readiness-list li span{text-align:left!important}.readiness-list li small{grid-column:1}}
/* Company-owned logos are used only on generated business documents. */
.brand-preview{display:flex;align-items:center;gap:16px;margin:14px 0;padding:14px;border:1px solid #dce5e9;border-radius:10px;background:#f8fafb}
.brand-preview img{display:block;width:min(220px,42vw);height:88px;object-fit:contain;padding:7px;background:#fff;border:1px solid #e2e8eb;border-radius:6px}
.brand-preview b,.brand-preview small{display:block}.brand-preview small{margin-top:5px;color:#63737d}
@media(max-width:600px){.brand-preview{align-items:flex-start;flex-direction:column}.brand-preview img{width:min(260px,100%);height:82px}}

/* Repo command center */


.human-check-wrap{margin:16px 0;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:#f8fafb}
.human-check-title{margin-bottom:9px;color:var(--ink-2);font-size:12px;font-weight:700}
.human-check-status{margin:14px 0;padding:12px 14px;border:1px solid #efb7b7;border-radius:10px;background:#fff4f4;color:#852929;font-size:13px;line-height:1.5}
.cf-turnstile{min-height:65px}

/* Darken grouped management navigation in the shared workspace. */
.owner-console .owner-sidebar{color:#f3f5f6!important;background:#202428!important;box-shadow:0 2px 7px #11182038!important}
.owner-console .owner-nav-group{border-color:#ffffff24!important;background:#30363b!important}
.owner-console .owner-nav-group>summary{color:#d1d7db!important}
.owner-console .owner-nav-group>summary>span,.owner-console .owner-nav-item i{color:#aeb8be!important}
.owner-console .owner-nav-group.active>summary,.owner-console .owner-nav-group>summary:hover{color:#fff!important;background:#3a4247!important}
.owner-console .owner-nav-item{color:#d1d7db!important}
.owner-console .owner-nav-item:hover,.owner-console .owner-nav-item.active{color:#fff!important;background:#3a4247!important}
.owner-console .profile small{color:#b7c0c5!important}

.member-role-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px;min-width:0;margin:0;padding:8px;border:1px solid #e1e7eb;border-radius:7px;background:#fff}.member-role-options legend{padding:0 4px;color:#617582;font-size:9px;font-weight:750}.member-role-options label{display:flex;align-items:center;gap:5px;min-width:0;color:#586d7b;font-size:10px;line-height:1.3}.member-role-options input[type=checkbox]{flex:0 0 14px;width:14px;min-width:14px;height:14px;min-height:14px;margin:0;accent-color:#2279c8}.member-role-options .small-btn{grid-column:1/-1;justify-self:start;margin-top:1px}@media(max-width:760px){.member-role-options{grid-template-columns:1fr 1fr}}

/* Towbook-style Users page and floating user editor */
.tow-users-heading{align-items:flex-end;margin-bottom:18px}.tow-users-heading>div>p:last-child{margin:8px 0 0;color:#70808c;font-size:12px}.tow-add-user{min-height:36px;padding:7px 15px;border-radius:3px;background:#299b67;box-shadow:none;font-size:11px}.tow-user-list{border:1px solid #e3e3e3;background:#fff}.tow-user-filterbar{padding:12px 13px 10px;border-bottom:1px solid #ddd;background:#fff}.tow-user-filter-input{display:flex;align-items:center;width:min(100%,360px);height:34px;margin-bottom:10px;border:1px solid #d1d1d1;color:#75808a}.tow-user-filter-input span{padding:0 9px;font-size:17px}.tow-user-filter-input input{width:100%;height:100%;border:0;outline:0;background:transparent;font-size:12px}.tow-user-filter-options{display:flex;flex-wrap:wrap;gap:9px 18px;color:#4e5d69;font-size:11px}.tow-user-filter-options label{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.tow-user-filter-options input{width:14px;height:14px;accent-color:#2479c5}.tow-user-table{border:0;border-radius:0;box-shadow:none}.tow-user-table table{min-width:760px;border-collapse:collapse}.tow-user-table th{padding:10px 12px;border-bottom:1px solid #dedede;color:#1b2931;background:#f7f7f7;font-size:11px;font-weight:700}.tow-user-table td{padding:11px 12px;border-bottom:1px solid #e5e5e5;color:#3c4c56;font-size:11px}.tow-user-row{cursor:pointer}.tow-user-row:hover{background:#f7fafc}.tow-user-row[hidden]{display:none}.tow-user-name{display:grid;gap:2px;color:#2877bb;text-decoration:none}.tow-user-name small{color:#84919a;font-size:10px}.tow-user-empty{padding:22px!important;color:#76838d!important;text-align:center}.tow-user-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:rgba(15,25,35,.42)}.tow-user-modal{position:relative;display:flex;flex-direction:column;width:min(980px,calc(100vw - 40px));max-height:min(900px,calc(100vh - 48px));overflow:hidden;border:1px solid #cfd5d9;background:#fafafa;box-shadow:0 16px 55px rgba(0,0,0,.26);color:#344651}.tow-user-modal-header{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 16px;border-bottom:1px solid #dedede;background:#fff}.tow-user-modal-header h2{margin:0;color:#465966;font-size:16px;font-weight:500}.tow-modal-close{color:#70818c;text-decoration:none;font-size:27px;line-height:1}.tow-user-tabs{display:flex;flex:0 0 auto;gap:0;padding:0 14px;border-bottom:1px solid #dedede;background:#fff}.tow-user-tab{height:39px;padding:0 13px;border:0;border-bottom:3px solid transparent;color:#526879;background:transparent;font-size:12px;cursor:pointer}.tow-user-tab.active{border-bottom-color:#287ac2;color:#fff;background:#287ac2}.tow-user-modal form.form{display:flex;flex:1;min-height:0;flex-direction:column;margin:0}.tow-user-modal-body{flex:1;min-height:220px;overflow:auto;padding:16px;background:#fafafa}.tow-user-tab-panel{display:none}.tow-user-tab-panel.active{display:block}.tow-user-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;max-width:760px}.tow-user-fields label{display:flex;flex-direction:column;gap:5px;color:#70808b;font-size:12px}.tow-user-fields input,.tow-user-fields select{height:34px;padding:6px 8px;border:1px solid #c9cdd0;border-radius:0;background:#fff;color:#293a46}.tow-user-fields-main{grid-template-columns:minmax(0,1fr);max-width:470px;gap:12px}.tow-user-two{display:grid;grid-template-columns:1fr 1fr;gap:9px}.tow-user-role-options{display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0;border:0}.tow-user-role-options legend{width:100%;margin:0 0 3px;color:#70808b;font-size:12px}.tow-user-role-options label{display:flex;align-items:center;gap:7px;min-height:34px;padding:5px 11px;border:1px solid #e1e3e5;background:#fff;color:#596b76;font-size:12px;cursor:pointer}.tow-user-role-options input,.tow-user-check input{width:14px;height:14px;margin:0;accent-color:#277bc3}.tow-user-check{display:flex;align-items:center;gap:9px;min-height:34px;padding:6px 9px;border:1px solid #e1e3e5;color:#5d6d77;font-size:12px}.tow-user-info{margin:0 0 11px;padding:11px 12px;border:1px solid #e5e5e5;background:#fff;color:#667781;font-size:11px}.tow-user-notes-label{display:flex;flex-direction:column;gap:5px;color:#778692;font-size:12px}.tow-user-notes-label textarea{width:100%;min-height:240px;padding:8px;border:1px solid #c9cdd0;border-radius:0;resize:vertical;background:#fff}.tow-user-extra-fields{max-width:760px}.tow-user-modal .table-wrap{border-radius:0;box-shadow:none}.tow-user-modal .table-wrap table{min-width:620px}.tow-user-upload{display:inline-flex;align-items:center;min-height:35px;margin-bottom:12px;padding:0 18px;color:#fff;background:#299b67;font-size:11px;font-weight:700;cursor:pointer}.tow-user-upload input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.tow-user-file-list{margin:0;padding:0;list-style:none}.tow-user-file-list li{padding:9px 11px;border-bottom:1px solid #e3e3e3;background:#fff;font-size:11px}.tow-user-file-list a{color:#2877bb}.tow-user-file-list small{color:#7d8b94}.tow-user-file-note{color:#70808b;font-size:11px}.tow-user-modal-footer{position:sticky;bottom:0;z-index:1;display:flex;gap:5px;padding:8px 14px;border-top:1px solid #e1e1e1;background:#fff;box-shadow:0 -3px 8px rgba(0,0,0,.04)}.tow-user-modal-footer .button{min-width:120px;min-height:34px;border-radius:0;background:#299b67;box-shadow:none;font-size:11px}.tow-user-modal-footer .button.secondary{border-color:#299b67;color:#fff;background:#299b67}.tow-user-advanced{margin-top:24px;padding:12px;border:1px solid #e0e5e8;background:#fff}.tow-user-advanced>summary{color:#4b6272;font-size:12px;font-weight:700;cursor:pointer}.tow-user-advanced>.panel,.tow-user-advanced .panel{margin-top:12px}.tow-user-restore{position:absolute;top:10px;right:54px}
@media(max-width:760px){.tow-users-heading{align-items:flex-start;flex-direction:column}.tow-user-filter-options{gap:8px 12px}.tow-user-overlay{padding:8px}.tow-user-modal{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.tow-user-tabs{overflow-x:auto;padding:0 4px}.tow-user-tab{flex:0 0 auto;padding:0 10px;font-size:11px}.tow-user-modal-body{padding:12px}.tow-user-fields,.tow-user-fields-main{grid-template-columns:1fr}.tow-user-two{grid-template-columns:1fr}.tow-user-modal-footer .button{flex:1;min-width:0}.tow-user-table table{min-width:660px}}
.tow-user-role-options label{flex-direction:row;align-items:center}.tow-user-fields label.tow-user-check{flex-direction:row;align-items:center}

/* Keep native checkboxes compact across the app; text and select fields retain their full-size layout. */
input[type="checkbox"] { box-sizing:border-box; width:16px; height:16px; min-height:16px; padding:0; }
