:root {
    --cc-font-sans: "CloudCourier Manrope", "Manrope", sans-serif;
    --bs-font-sans-serif: var(--cc-font-sans);
    --bs-font-monospace: var(--cc-font-sans);
    --bs-body-font-family: var(--cc-font-sans);
    --bs-primary: #d6001c;
    --bs-primary-rgb: 214, 0, 28;
    --bs-primary-text-emphasis: #89181a;
    --bs-primary-bg-subtle: rgba(239,68,75,.14);
    --bs-primary-border-subtle: #ef444b;
    --bs-secondary: #58595b;
    --bs-secondary-rgb: 88, 89, 91;
    --bs-secondary-text-emphasis: #58595b;
    --bs-secondary-bg-subtle: rgba(206,206,215,.45);
    --bs-secondary-border-subtle: #ceced7;
    --bs-success: #0b8a44;
    --bs-success-rgb: 11, 138, 68;
    --bs-success-text-emphasis: #0b8a44;
    --bs-success-bg-subtle: rgba(41,163,73,.14);
    --bs-success-border-subtle: #29a349;
    --bs-info: #018a84;
    --bs-info-rgb: 1, 138, 132;
    --bs-info-text-emphasis: #018a84;
    --bs-info-bg-subtle: rgba(86,196,199,.14);
    --bs-info-border-subtle: #56c4c7;
    --bs-warning: #ef444b;
    --bs-warning-rgb: 239, 68, 75;
    --bs-warning-text-emphasis: #89181a;
    --bs-warning-bg-subtle: rgba(239,68,75,.14);
    --bs-warning-border-subtle: #ef444b;
    --bs-danger: #89181a;
    --bs-danger-rgb: 137, 24, 26;
    --bs-danger-text-emphasis: #89181a;
    --bs-danger-bg-subtle: rgba(239,68,75,.14);
    --bs-danger-border-subtle: #d6001c;
    --bs-light: #fff;
    --bs-light-rgb: 255, 255, 255;
    --bs-dark: #58595b;
    --bs-dark-rgb: 88, 89, 91;
    --bs-black: #58595b;
    --bs-black-rgb: 88, 89, 91;
    --bs-white: #fff;
    --bs-white-rgb: 255, 255, 255;
    --bs-body-color: #58595b;
    --bs-body-color-rgb: 88, 89, 91;
    --bs-body-bg: #fff;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-emphasis-color: #58595b;
    --bs-emphasis-color-rgb: 88, 89, 91;
    --bs-secondary-color: rgba(88,89,91,.72);
    --bs-secondary-color-rgb: 88, 89, 91;
    --bs-secondary-bg: rgba(206,206,215,.45);
    --bs-secondary-bg-rgb: 206, 206, 215;
    --bs-tertiary-color: rgba(88,89,91,.58);
    --bs-tertiary-color-rgb: 88, 89, 91;
    --bs-tertiary-bg: rgba(206,206,215,.45);
    --bs-tertiary-bg-rgb: 206, 206, 215;
    --bs-heading-color: #58595b;
    --bs-border-color: #ceced7;
    --bs-border-color-translucent: rgba(88,89,91,.18);
    --bs-link-color: #d6001c;
    --bs-link-color-rgb: 214, 0, 28;
    --bs-link-hover-color: #89181a;
    --bs-link-hover-color-rgb: 137, 24, 26;
    --bs-code-color: #d6001c;
    --bs-highlight-color: #58595b;
    --bs-highlight-bg: rgba(239,68,75,.14);
    --bs-light-text-emphasis: #58595b;
    --bs-dark-text-emphasis: #58595b;
    --bs-light-bg-subtle: #fff;
    --bs-dark-bg-subtle: rgba(206,206,215,.45);
    --bs-light-border-subtle: #ceced7;
    --bs-dark-border-subtle: #58595b;
    --bs-form-valid-color: #0b8a44;
    --bs-form-valid-border-color: #29a349;
    --bs-form-invalid-color: #89181a;
    --bs-form-invalid-border-color: #d6001c;
    --bs-focus-ring-color: rgba(214,0,28,.24);
    --bs-box-shadow: 0 .5rem 1rem rgba(88,89,91,.16);
    --bs-box-shadow-sm: 0 .125rem .25rem rgba(88,89,91,.08);
    --bs-box-shadow-lg: 0 1rem 3rem rgba(88,89,91,.18);
    --bs-box-shadow-inset: inset 0 1px 2px rgba(88,89,91,.08);
    --cc-ink: #58595b;
    --cc-muted: #58595b;
    --cc-line: #ceced7;
    --cc-blue: #d6001c;
    --cc-blue-dark: #89181a;
    --cc-sidebar: #ceced7;
    --cc-sidebar-soft: #ceced7;
    --cc-canvas: #fff;
}

html,
body,
body :not(.bi) {
    font-family: var(--cc-font-sans) !important;
}

html {
    font-synthesis: style;
    text-rendering: optimizeLegibility;
}

button,
input,
select,
textarea,
option,
optgroup {
    font-family: var(--cc-font-sans) !important;
}

body {
    color: var(--cc-ink);
    background: var(--cc-canvas);
}

.app-header {
    height: 80px;
    min-height: 80px;
    box-shadow: 0 1px 0 rgba(88,89,91,.06);
}

.app-sidebar {
    background: #ceced7;
}

.sidebar-brand {
    height: 80px;
    min-height: 80px;
    border-bottom: 1px solid rgba(88,89,91,.18);
}

.brand-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    height: 100%;
    padding: 10px 16px;
    color: #58595b;
    text-decoration: none;
}

.brand-link:hover { color: #58595b; }

.brand-logo { display: flex; flex: 0 0 122px; width: 122px; height: 56px; align-items: center; justify-content: center; padding: 0; background: transparent; border-radius: 0; box-shadow: none; }
.brand-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }

.sidebar-wrapper { padding: 14px 12px 20px; }
.sidebar-section-label { padding: 9px 12px 7px; color: #58595b; font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.sidebar-menu .nav-link { display: flex; align-items: center; gap: 11px; min-height: 45px; margin-bottom: 3px; padding: 9px 11px; color: #58595b; border-radius: 10px; }
.sidebar-menu .nav-link:hover { color: #58595b; background: rgba(255,255,255,.45); }
.sidebar-menu .nav-link.active { color: #58595b; background: rgba(255,255,255,.78); box-shadow: inset 3px 0 0 #d6001c, 0 8px 20px rgba(88,89,91,.08); }
.sidebar-menu .nav-link p { margin: 0; font-size: .88rem; font-weight: 600; }
.nav-symbol { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid rgba(88,89,91,.24); border-radius: 8px; font-size: .58rem; font-weight: 800; letter-spacing: .04em; }
.sidebar-menu .nav-link.active .nav-symbol { color: #58595b; background: rgba(206,206,215,.45); border-color: rgba(88,89,91,.24); }
.sidebar-submenu { display: grid; gap: 2px; margin: 2px 0 9px; padding: 2px 0 0 39px; list-style: none; }
.sidebar-submenu-link { display: flex; align-items: center; gap: 8px; min-height: 34px; padding: 7px 9px; color: #58595b; border-radius: 8px; font-size: .72rem; font-weight: 650; line-height: 1.25; text-decoration: none; }
.sidebar-submenu-link > span { flex: 0 0 5px; width: 5px; height: 5px; background: #d6001c; border-radius: 50%; }
.sidebar-submenu-link:hover { color: #58595b; background: rgba(255,255,255,.45); }
.sidebar-submenu-link.active { color: #58595b; background: rgba(255,255,255,.78); }
.sidebar-submenu-link.active > span { background: #d6001c; box-shadow: 0 0 0 3px rgba(214,0,28,.14); }

.sidebar-recovery-card { display: flex; align-items: center; gap: 10px; margin: 20px 5px 0; padding: 12px; color: #58595b; background: rgba(255,255,255,.45); border: 1px solid rgba(88,89,91,.18); border-radius: 12px; }
.recovery-icon { display: grid; flex: 0 0 30px; height: 30px; place-items: center; color: #29a349; background: rgba(11,138,68,.13); border-radius: 9px; font-weight: 800; }
.sidebar-recovery-card div { min-width: 0; display: flex; flex-direction: column; }
.sidebar-recovery-card strong { font-size: .73rem; }
.sidebar-recovery-card small { overflow: hidden; color: #58595b; font-size: .66rem; text-overflow: ellipsis; }

.sidebar-toggle { display: flex; flex-direction: column; gap: 4px; padding: 8px !important; }
.sidebar-toggle span { display: block; width: 20px; height: 2px; background: #d6001c; border-radius: 3px; }
.workspace-label { color: #58595b; font-size: .8rem; font-weight: 600; }
.live-indicator { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; color: #58595b; background: #fff; border: 1px solid #ceced7; border-radius: 999px; font-size: .72rem; font-weight: 600; }
.live-indicator span { width: 7px; height: 7px; background: #0b8a44; border-radius: 50%; box-shadow: 0 0 0 4px rgba(11,138,68,.11); }
.profile-button { display: flex; align-items: center; gap: 9px; padding: 5px 7px; color: var(--cc-ink); background: transparent; border: 0; border-radius: 10px; }
.profile-button:hover { background: #fff; }
.profile-avatar { display: grid; width: 35px; height: 35px; place-items: center; color: #fff; background: linear-gradient(135deg, #58595b, #d6001c); border-radius: 11px; font-size: .69rem; font-weight: 800; }
.profile-button strong, .profile-button small { display: block; line-height: 1.2; }
.profile-button strong { font-size: .75rem; }
.profile-button small { margin-top: 2px; color: #58595b; font-size: .64rem; }

.app-main { background: var(--cc-canvas); }
.app-content-header { padding: 28px 0 20px; }
.page-heading-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.page-eyebrow, .section-kicker, .welcome-kicker { display: block; margin-bottom: 5px; color: var(--cc-blue); font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.page-title { margin: 0; color: var(--cc-ink); font-size: clamp(1.45rem, 2.5vw, 2rem); font-weight: 750; letter-spacing: -.035em; }
.action-button { display: inline-flex; align-items: center; gap: 9px; padding: 10px 15px; background: var(--cc-blue); border-color: var(--cc-blue); border-radius: 11px; font-size: .8rem; font-weight: 700; box-shadow: 0 8px 18px rgba(214,0,28,.2); }
.action-button:hover { background: var(--cc-blue-dark); border-color: var(--cc-blue-dark); }
.action-plus { display: grid; width: 20px; height: 20px; place-items: center; background: rgba(255,255,255,.16); border-radius: 6px; font-size: 1rem; line-height: 1; }

.welcome-panel { position: relative; min-height: 194px; overflow: hidden; display: flex; align-items: center; justify-content: space-between; padding: 34px 38px; color: #fff; background: radial-gradient(circle at 84% 20%, rgba(86,196,199,.34), transparent 29%), linear-gradient(125deg, #58595b 0%, #d6001c 58%, #d6001c 100%); border-radius: 20px; box-shadow: 0 18px 45px rgba(214,0,28,.16); }
.welcome-panel::after { content: ""; position: absolute; right: -80px; bottom: -110px; width: 320px; height: 320px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; }
.welcome-content { position: relative; z-index: 1; max-width: 650px; }
.welcome-kicker { color: #56c4c7; }
.welcome-content h2 { max-width: 590px; margin: 7px 0 10px; font-size: clamp(1.45rem, 3vw, 2.25rem); font-weight: 760; letter-spacing: -.035em; }
.welcome-content p { max-width: 610px; margin: 0; color: rgba(86,196,199,.14); font-size: .88rem; line-height: 1.65; }
.welcome-orbit { position: relative; z-index: 1; flex: 0 0 140px; height: 140px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }
.welcome-orbit::before { content: ""; position: absolute; inset: 17px; border: 1px dashed rgba(255,255,255,.24); border-radius: 50%; }
.orbit-core { position: absolute; inset: 43px; display: grid; place-items: center; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.28); border-radius: 20px; backdrop-filter: blur(7px); font-size: .85rem; font-weight: 850; }
.orbit-dot { position: absolute; width: 10px; height: 10px; background: #56c4c7; border: 2px solid rgba(255,255,255,.8); border-radius: 50%; box-shadow: 0 0 14px rgba(86,196,199,.8); }
.dot-one { top: 15px; left: 28px; }.dot-two { right: 3px; top: 68px; }.dot-three { bottom: 9px; left: 41px; }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.metric-card { position: relative; overflow: hidden; min-height: 144px; padding: 20px; background: #fff; border: 1px solid var(--cc-line); border-radius: 16px; box-shadow: 0 8px 24px rgba(88,89,91,.045); }
.metric-card::after { content: ""; position: absolute; width: 100px; height: 100px; right: -48px; bottom: -52px; border-radius: 50%; background: var(--metric-soft); }
.metric-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #58595b; font-size: .72rem; font-weight: 700; }
.metric-symbol { display: grid; width: 31px; height: 31px; place-items: center; color: var(--metric-color); background: var(--metric-soft); border-radius: 9px; font-size: .6rem; font-weight: 850; }
.metric-card > strong { display: block; margin: 14px 0 2px; color: var(--cc-ink); font-size: 2rem; line-height: 1; letter-spacing: -.04em; }
.metric-card > small { color: #58595b; font-size: .67rem; }
.metric-blue { --metric-color: #d6001c; --metric-soft: rgba(86,196,199,.14); }.metric-violet { --metric-color: #d6001c; --metric-soft: rgba(86,196,199,.14); }.metric-emerald { --metric-color: #0b8a44; --metric-soft: rgba(41,163,73,.14); }.metric-amber { --metric-color: #ef444b; --metric-soft: rgba(239,68,75,.14); }

.content-card { overflow: hidden; background: #fff; border: 1px solid var(--cc-line); border-radius: 17px; box-shadow: 0 8px 28px rgba(88,89,91,.045); }
.content-card-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 21px 22px 17px; }
.content-card-header.compact { padding-bottom: 9px; }
.content-card-header h2 { margin: 0; color: var(--cc-ink); font-size: 1rem; font-weight: 760; letter-spacing: -.018em; }
.section-kicker { margin-bottom: 4px; font-size: .59rem; }
.soft-link { color: #58595b; font-size: .7rem; font-weight: 700; text-decoration: none; }
.soft-link:hover { color: var(--cc-blue); }
.soft-link span { margin-left: 5px; }

.shipment-table thead th { padding: 10px 22px; color: #58595b; background: #fff; border-top: 1px solid #ceced7; border-bottom: 1px solid #ceced7; font-size: .62rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.shipment-table tbody td { padding: 14px 22px; border-color: #ceced7; color: #58595b; font-size: .75rem; }
.shipment-table tbody tr:last-child td { border-bottom: 0; }
.shipment-table tbody tr:hover { background: #fff; }
.shipment-table td strong, .shipment-table td small { display: block; }
.shipment-table td strong { color: #58595b; font-size: .76rem; }
.shipment-table td small { margin-top: 3px; color: #58595b; font-size: .64rem; }
.shipment-number { color: var(--cc-blue) !important; }
.status-pill { display: inline-flex; align-items: center; padding: 5px 9px; border-radius: 999px; font-size: .62rem; font-weight: 750; white-space: nowrap; }
.status-created { color: #58595b; background: rgba(86,196,199,.14); }.status-picked-up { color: #89181a; background: rgba(239,68,75,.14); }.status-dispatched { color: #58595b; background: rgba(86,196,199,.14); }.status-delivered { color: #0b8a44; background: rgba(41,163,73,.14); }.status-cancelled { color: #58595b; background: #fff; }.status-neutral { color: #58595b; background: rgba(86,196,199,.14); }
.empty-state { padding: 28px !important; color: #58595b !important; text-align: center; }

.status-list { padding: 6px 22px 18px; }
.status-item { padding: 12px 0; }
.status-item-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; color: #58595b; font-size: .71rem; }
.status-item-heading > span { display: flex; align-items: center; gap: 8px; }
.status-item-heading strong { color: var(--cc-ink); }
.status-dot { display: inline-block; width: 8px; height: 8px; padding: 0; border-radius: 50%; }
.status-dot.status-created { background: #d6001c; }.status-dot.status-picked-up { background: #ef444b; }.status-dot.status-dispatched { background: #d6001c; }.status-dot.status-delivered { background: #0b8a44; }.status-dot.status-cancelled { background: #d6001c; }.status-dot.status-neutral { background: #58595b; }
.progress-track { overflow: hidden; height: 5px; background: rgba(86,196,199,.14); border-radius: 999px; }
.progress-track span { display: block; height: 100%; background: linear-gradient(90deg, #d6001c, #56c4c7); border-radius: inherit; }
.database-stamp { display: flex; align-items: center; gap: 10px; margin: 4px 18px 18px; padding: 13px; background: #fff; border: 1px solid rgba(41,163,73,.14); border-radius: 12px; }
.database-stamp-icon { display: grid; flex: 0 0 34px; height: 34px; place-items: center; color: #0b8a44; background: rgba(41,163,73,.14); border-radius: 10px; font-size: .6rem; font-weight: 850; }
.database-stamp div { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.database-stamp strong { color: #0b8a44; font-size: .7rem; }.database-stamp small { color: #58595b; font-size: .62rem; }
.database-check { color: #0b8a44; font-weight: 900; }

.evidence-badge { padding: 6px 9px; color: #58595b; background: rgba(86,196,199,.14); border-radius: 999px; font-size: .61rem; font-weight: 700; }
.history-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid #ceced7; }
.history-item { min-height: 154px; padding: 19px 21px; border-right: 1px solid #ceced7; }
.history-item:last-child { border-right: 0; }
.history-meta { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 11px; color: #58595b; font-size: .59rem; }
.history-meta span { color: var(--cc-blue); font-weight: 800; }
.history-item > strong { display: block; color: #58595b; font-size: .76rem; line-height: 1.4; }
.history-item p { display: -webkit-box; overflow: hidden; margin: 7px 0 11px; color: #58595b; font-size: .66rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.history-item > small { color: #58595b; font-size: .6rem; font-weight: 700; }

.app-footer { padding: 13px 24px; color: #58595b; background: #fff; border-top: 1px solid var(--cc-line); font-size: .65rem; }
.app-footer strong { color: #58595b; }

.module-placeholder { display: grid; grid-template-columns: minmax(150px, 260px) minmax(0, 620px); align-items: center; justify-content: center; gap: clamp(32px, 7vw, 90px); min-height: 520px; padding: 60px 40px; overflow: hidden; background: radial-gradient(circle at 12% 16%, rgba(214,0,28,.12), transparent 31%), #fff; border: 1px solid var(--cc-line); border-radius: 20px; box-shadow: 0 14px 38px rgba(88,89,91,.06); }
.module-placeholder-mark { position: relative; display: grid; width: min(230px, 100%); aspect-ratio: 1; place-items: center; color: #fff; background: linear-gradient(145deg, #58595b, #d6001c); border: 16px solid #ceced7; border-radius: 36%; box-shadow: 0 24px 55px rgba(214,0,28,.24); font-size: clamp(1.7rem, 5vw, 3.4rem); font-weight: 850; letter-spacing: -.04em; transform: rotate(-5deg); }
.module-placeholder-mark::after { content: ""; position: absolute; inset: 16%; border: 1px solid rgba(255,255,255,.24); border-radius: 32%; }
.module-placeholder-copy h2 { margin: 6px 0 13px; font-size: clamp(1.55rem, 3vw, 2.3rem); font-weight: 780; letter-spacing: -.04em; }
.module-placeholder-copy > p { max-width: 580px; margin-bottom: 22px; color: #58595b; font-size: .9rem; line-height: 1.75; }
.module-architecture-note { display: flex; align-items: center; gap: 12px; max-width: 570px; margin-bottom: 24px; padding: 14px; background: #fff; border: 1px solid rgba(41,163,73,.14); border-radius: 12px; }
.module-architecture-note > span { display: grid; flex: 0 0 34px; height: 34px; place-items: center; color: #0b8a44; background: rgba(41,163,73,.14); border-radius: 10px; font-weight: 900; }
.module-architecture-note div { display: flex; flex-direction: column; }
.module-architecture-note strong { color: #0b8a44; font-size: .75rem; }.module-architecture-note small { margin-top: 2px; color: #58595b; font-size: .66rem; line-height: 1.45; }

.mini-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.mini-metric { position: relative; overflow: hidden; padding: 18px 19px; background: #fff; border: 1px solid var(--cc-line); border-radius: 15px; box-shadow: 0 7px 22px rgba(88,89,91,.04); }
.mini-metric::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(180deg, #d6001c, #56c4c7); }
.mini-metric span, .mini-metric small { display: block; color: #58595b; font-size: .65rem; }
.mini-metric span { font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.mini-metric strong { display: block; margin: 7px 0 1px; color: var(--cc-ink); font-size: 1.7rem; line-height: 1; letter-spacing: -.04em; }
.mini-metric-link { color: inherit; text-decoration: none; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.mini-metric-link:hover, .mini-metric-link:focus-visible { color: inherit; transform: translateY(-2px); border-color: #ceced7; box-shadow: 0 12px 28px rgba(214,0,28,.12); }
.mini-metric-link.active { border-color: #d6001c; background: linear-gradient(135deg, #fff, #fff); box-shadow: 0 10px 28px rgba(214,0,28,.12); }
.client-category-switcher { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.client-category-option { display: flex; align-items: center; gap: 12px; min-height: 68px; padding: 12px 15px; color: #58595b; background: #fff; border: 1px solid var(--cc-line); border-radius: 14px; box-shadow: 0 6px 18px rgba(88,89,91,.035); text-decoration: none; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.client-category-option > span { display: grid; flex: 0 0 39px; height: 39px; place-items: center; color: #58595b; background: rgba(86,196,199,.14); border-radius: 11px; font-size: .62rem; font-weight: 900; }
.client-category-option div { display: flex; min-width: 0; flex-direction: column; }
.client-category-option strong { color: #58595b; font-size: .75rem; }
.client-category-option small { margin-top: 3px; color: #58595b; font-size: .61rem; }
.client-category-option:hover, .client-category-option:focus-visible { color: inherit; transform: translateY(-1px); border-color: #ceced7; }
.client-category-option.active { color: #fff; background: linear-gradient(135deg, #d6001c, #d6001c); border-color: #d6001c; box-shadow: 0 10px 24px rgba(214,0,28,.2); }
.client-category-option.active > span { color: #58595b; background: #fff; }
.client-category-option.active strong, .client-category-option.active small { color: #fff; }
.shipment-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.shipment-category-card { color: inherit; text-decoration: none; transition: transform .18s, border-color .18s, box-shadow .18s; }
.shipment-category-card:hover { color: inherit; border-color: #ceced7; box-shadow: 0 10px 28px rgba(214,0,28,.08); transform: translateY(-1px); }
.shipment-category-card.active { border-color: #d6001c; box-shadow: 0 10px 28px rgba(214,0,28,.1); }
.shipment-category-card.active::before { width: 5px; background: linear-gradient(180deg, #d6001c, #56c4c7); }
.shipment-bulk-toolbar { display: flex; align-items: center; gap: 14px; padding: 10px 15px; color: #fff; background: linear-gradient(110deg, #018a84, #018a84); border-top: 1px solid rgba(255,255,255,.14); }
.shipment-selection-count { display: flex; flex: 0 0 auto; align-items: baseline; gap: 5px; min-width: 94px; }
.shipment-selection-count strong { font-size: 1rem; }
.shipment-selection-count span { color: rgba(255,255,255,.78); font-size: .65rem; font-weight: 650; }
.bulk-agent-field { display: flex; min-width: 245px; flex: 1; align-items: center; gap: 9px; margin: 0; }
.bulk-agent-field > span { color: rgba(255,255,255,.78); font-size: .62rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.bulk-agent-field select { width: min(360px, 100%); height: 36px; padding: 0 31px 0 11px; color: #018a84; background: #fff; border: 1px solid rgba(255,255,255,.45); border-radius: 8px; outline: none; font-size: .69rem; }
.bulk-agent-field select:focus { box-shadow: 0 0 0 3px rgba(255,255,255,.2); }
.shipment-bulk-actions { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; gap: 5px; }
.shipment-bulk-action { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; gap: 6px; padding: 7px 9px; color: #fff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); border-radius: 8px; font-size: .62rem; font-weight: 750; line-height: 1; transition: background .18s, border-color .18s, opacity .18s; }
.shipment-bulk-action svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.shipment-bulk-action:hover:not(:disabled), .shipment-bulk-action:focus-visible:not(:disabled) { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.45); }
.shipment-bulk-action.is-danger:hover:not(:disabled), .shipment-bulk-action.is-danger:focus-visible:not(:disabled) { background: #d6001c; border-color: #ef444b; }
.shipment-bulk-action.is-success { background: rgba(11,138,68,.22); border-color: rgba(41,163,73,.42); }
.shipment-bulk-action.is-success:hover:not(:disabled), .shipment-bulk-action.is-success:focus-visible:not(:disabled) { background: #0b8a44; border-color: #29a349; }
.shipment-bulk-action:disabled { opacity: .38; cursor: not-allowed; }
.shipment-bulk-hint { flex: 1; margin: 0; color: rgba(255,255,255,.82); font-size: .69rem; font-weight: 650; }
.shipment-select-column { width: 48px; padding-right: 8px !important; text-align: center; }
.shipment-select-checkbox { width: 17px; height: 17px; margin: 0; accent-color: #018a84; cursor: pointer; }

.data-header { align-items: flex-end; flex-wrap: wrap; padding-bottom: 20px; }
.data-toolbar { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.search-field, .select-field { margin: 0; }
.search-field input, .select-field select { height: 40px; color: #58595b; background: #fff; border: 1px solid #ceced7; border-radius: 10px; outline: none; font-size: .72rem; transition: border-color .2s, box-shadow .2s, background .2s; }
.search-field input { width: min(300px, 52vw); padding: 0 13px; }
.wide-search input { width: min(360px, 58vw); }
.select-field select { min-width: 175px; padding: 0 32px 0 12px; }
.search-field input:focus, .select-field select:focus { background: #fff; border-color: #d6001c; box-shadow: 0 0 0 3px rgba(214,0,28,.1); }
.toolbar-button { height: 40px; padding: 8px 13px; border-radius: 10px; font-size: .7rem; font-weight: 700; }
.data-table { min-width: 820px; }
.data-table thead th { padding: 11px 20px; color: #58595b; background: #fff; border-top: 1px solid #ceced7; border-bottom: 1px solid #ceced7; font-size: .59rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.data-table tbody td { padding: 14px 20px; color: #58595b; border-color: #ceced7; font-size: .72rem; vertical-align: middle; }
.data-table tbody tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: #fff; }
.data-table td > strong, .data-table td > small { display: block; }
.data-table td > strong { color: #58595b; font-size: .73rem; font-weight: 700; }
.data-table td > small { max-width: 280px; overflow: hidden; margin-top: 3px; color: #58595b; font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.shipment-table-scroll { width: 100%; overflow-x: auto; overflow-y: hidden; padding-bottom: 3px; scrollbar-color: #018a84 rgba(86,196,199,.14); scrollbar-width: auto; }
.shipment-table-scroll:focus-visible { outline: 3px solid rgba(214,0,28,.22); outline-offset: -3px; }
.shipment-table-scroll::-webkit-scrollbar { height: 14px; }
.shipment-table-scroll::-webkit-scrollbar-track { border-radius: 999px; background: rgba(86,196,199,.14); }
.shipment-table-scroll::-webkit-scrollbar-thumb { border: 3px solid #ceced7; border-radius: 999px; background: #018a84; }
.shipment-table-scroll::-webkit-scrollbar-thumb:hover { background: #018a84; }
.shipment-records-table { min-width: 1900px; }
.shipment-records-table th:nth-last-child(3), .shipment-records-table td:nth-last-child(3) { min-width: 320px; }
.shipment-records-table th:nth-last-child(2), .shipment-records-table td:nth-last-child(2) { min-width: 220px; }
.shipment-records-table td { white-space: nowrap; }
.shipment-note-cell { max-width: 380px; white-space: normal !important; }
.shipment-note-cell > span { display: block; overflow-wrap: anywhere; color: #58595b; line-height: 1.45; }
.shipment-note-cell > span + span { margin-top: 5px; }
.shipment-note-cell b { color: #58595b; font-size: .65rem; }
.shipment-cost-editor { display: flex; align-items: center; gap: 7px; }
.shipment-cost-editor label { margin: 0; }
.shipment-cost-editor input { width: 96px; min-height: 34px; border: 1px solid #ceced7; border-radius: 8px; background: #fff; color: #58595b; padding: 6px 9px; font-size: .72rem; font-weight: 750; }
.shipment-cost-editor input:focus { border-color: #d6001c; box-shadow: 0 0 0 3px rgba(214,0,28,.12); outline: 0; }
.shipment-cost-editor button { min-height: 34px; border: 0; border-radius: 8px; background: rgba(86,196,199,.14); color: #58595b; padding: 6px 10px; font-size: .65rem; font-weight: 850; }
.shipment-cost-editor button:hover, .shipment-cost-editor button:focus-visible { background: #d6001c; color: #fff; outline: 0; }
.shipment-cost-editor .shipment-cost-driver-toggle { display: inline-flex; align-items: center; gap: 5px; color: #58595b; font-size: .62rem; font-weight: 800; white-space: nowrap; }
.shipment-cost-editor .shipment-cost-driver-toggle input { width: 15px; min-height: 15px; height: 15px; margin: 0; accent-color: #d6001c; }
.shipment-voucher-icon { display: inline-grid; box-sizing: border-box; width: 2.25rem; height: 2.25rem; place-items: center; color: #d6001c; background: #fff; border: 1px solid #d6001c; border-radius: .7rem; text-decoration: none; transition: color .18s, background .18s, border-color .18s, box-shadow .18s; }
.shipment-voucher-icon .bi { font-size: 1rem; }
.shipment-voucher-icon:hover, .shipment-voucher-icon:focus-visible { color: #fff; background: #d6001c; border-color: #d6001c; box-shadow: 0 6px 16px rgba(214,0,28,.16); outline: 0; }
.data-footnote { padding: 11px 20px; color: #58595b; background: #fff; border-top: 1px solid #ceced7; font-size: .6rem; text-align: right; }
.contact-pagination-bar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; padding: 13px 20px; color: #58595b; background: #fff; border-top: 1px solid #ceced7; }
.contact-pagination-summary { font-size: .66rem; font-weight: 700; }
.contact-pagination { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.contact-page-link { display: inline-flex; min-width: 32px; height: 32px; align-items: center; justify-content: center; padding: 0 9px; color: #58595b; background: #fff; border: 1px solid #ceced7; border-radius: 9px; font-size: .66rem; font-weight: 750; text-decoration: none; transition: color .18s, background .18s, border-color .18s, box-shadow .18s; }
a.contact-page-link:hover, a.contact-page-link:focus-visible { color: #58595b; background: #fff; border-color: #d6001c; box-shadow: 0 0 0 3px rgba(214,0,28,.09); }
.contact-page-link.is-current { color: #fff; background: #d6001c; border-color: #d6001c; }
.contact-page-link.is-disabled { color: #58595b; background: #fff; border-color: #ceced7; }
.contact-page-direction { min-width: 92px; }
.contact-page-ellipsis { min-width: 20px; color: #58595b; text-align: center; }
.entity-cell { display: flex; align-items: center; gap: 10px; min-width: 190px; }
.entity-cell > div { min-width: 0; }
.entity-cell strong, .entity-cell small { display: block; }
.entity-cell strong { overflow: hidden; max-width: 245px; color: #58595b; font-size: .73rem; text-overflow: ellipsis; white-space: nowrap; }
.entity-cell small { margin-top: 3px; color: #58595b; font-size: .61rem; }
.client-row-actions { display: inline-flex; align-items: center; justify-content: flex-end; gap: 8px; }
.client-reviewed-tick { display: inline-grid; flex: 0 0 20px; width: 20px; height: 20px; place-items: center; border-radius: 50%; background: #d6001c; box-shadow: 0 3px 8px rgba(214,0,28,.22); color: #fff; font-size: .72rem; font-weight: 950; line-height: 1; }
.entity-avatar { display: grid; flex: 0 0 36px; height: 36px; place-items: center; color: #58595b; background: rgba(86,196,199,.14); border-radius: 11px; font-size: .6rem; font-weight: 850; letter-spacing: .02em; }
.entity-avatar-soft { color: #58595b; background: rgba(86,196,199,.14); }
.entity-avatar-green { color: #0b8a44; background: rgba(41,163,73,.14); }
.entity-status { display: inline-flex; align-items: center; padding: 5px 8px; border-radius: 999px; font-size: .59rem; font-style: normal; font-weight: 750; white-space: nowrap; }
.entity-active { color: #0b8a44; background: rgba(41,163,73,.14); }
.entity-inactive { color: #58595b; background: #fff; }

.contact-switcher { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.contact-switch { display: flex; align-items: center; gap: 13px; padding: 17px 18px; color: #58595b; background: #fff; border: 1px solid var(--cc-line); border-radius: 15px; box-shadow: 0 7px 22px rgba(88,89,91,.035); text-decoration: none; transition: transform .2s, border-color .2s, box-shadow .2s; }
.contact-switch:hover { color: #58595b; border-color: #ceced7; transform: translateY(-1px); }
.contact-switch.active { color: #58595b; border-color: #ceced7; box-shadow: 0 10px 28px rgba(214,0,28,.09); }
.contact-switch > span { display: grid; flex: 0 0 40px; height: 40px; place-items: center; color: #58595b; background: rgba(86,196,199,.14); border-radius: 11px; font-size: .62rem; font-weight: 850; }
.contact-switch.active > span { color: #fff; background: linear-gradient(135deg, #d6001c, #d6001c); }
.contact-switch div { display: flex; flex-direction: column; }
.contact-switch strong { font-size: .8rem; }.contact-switch small { margin-top: 2px; color: #58595b; font-size: .62rem; }

.fleet-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 26px 28px; color: #fff; background: radial-gradient(circle at 85% 10%, rgba(86,196,199,.3), transparent 27%), linear-gradient(125deg, #58595b, #d6001c); border-radius: 18px; box-shadow: 0 15px 38px rgba(214,0,28,.14); }
.fleet-hero h2 { margin: 4px 0 7px; font-size: 1.35rem; font-weight: 760; letter-spacing: -.03em; }
.fleet-hero p { max-width: 670px; margin: 0; color: rgba(86,196,199,.14); font-size: .76rem; line-height: 1.6; }
.fleet-hero .section-kicker { color: #56c4c7; }
.fleet-hero-metrics { display: flex; flex: 0 0 auto; gap: 10px; }
.fleet-hero-metrics span { min-width: 96px; padding: 13px; color: rgba(86,196,199,.14); background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.13); border-radius: 12px; font-size: .63rem; text-align: center; }
.fleet-hero-metrics strong { display: block; margin-bottom: 2px; color: #fff; font-size: 1.2rem; }
.vehicle-list { padding: 0 19px 19px; }
.vehicle-card { display: flex; align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px solid #ceced7; }
.vehicle-card:last-child { border-bottom: 0; }
.vehicle-mark { display: grid; flex: 0 0 40px; height: 40px; place-items: center; color: #ef444b; background: rgba(239,68,75,.14); border-radius: 11px; font-size: .61rem; font-weight: 850; }
.vehicle-copy { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.vehicle-copy strong { color: #58595b; font-size: .75rem; }.vehicle-copy span { color: #58595b; font-size: .68rem; }.vehicle-copy small { margin-top: 2px; color: #58595b; font-size: .6rem; }

.label-size-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 2px 20px 20px; }
.label-size-option { display: flex; align-items: center; gap: 11px; min-height: 74px; padding: 12px; color: #58595b; background: #fff; border: 1px solid #ceced7; border-radius: 13px; text-align: left; transition: border-color .2s, box-shadow .2s, background .2s; }
.label-size-option:hover { background: #fff; border-color: #ceced7; }
.label-size-option.active { background: #fff; border-color: #d6001c; box-shadow: 0 6px 18px rgba(214,0,28,.08); }
.paper-shape { display: block; width: calc(34px * var(--paper-ratio)); min-width: 22px; max-width: 32px; height: 44px; background: #fff; border: 1px solid #ceced7; border-radius: 3px; box-shadow: 0 3px 7px rgba(88,89,91,.08); }
.label-size-option > span:nth-child(2) { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.label-size-option strong { color: #58595b; font-size: .74rem; }.label-size-option small { margin-top: 3px; color: #58595b; font-size: .6rem; }
.label-size-option i { display: grid; width: 20px; height: 20px; place-items: center; color: transparent; background: rgba(86,196,199,.14); border-radius: 50%; font-size: .65rem; font-style: normal; }
.label-size-option.active i { color: #fff; background: #d6001c; }
.label-template-summary { margin: 0 20px 20px; padding: 17px; background: #fff; border: 1px solid rgba(41,163,73,.14); border-radius: 13px; }
.label-template-summary span { color: #58595b; font-size: .65rem; font-weight: 700; }.label-template-summary > strong { float: right; color: #0b8a44; font-size: 1.1rem; }.label-template-summary p { clear: both; margin: 9px 0 0; color: #58595b; font-size: .65rem; line-height: 1.55; }
.voucher-workspace { min-height: 510px; }
.voucher-canvas { display: grid; min-height: 355px; padding: 28px; place-items: center; background-color: rgba(86,196,199,.14); background-image: linear-gradient(rgba(88,89,91,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(88,89,91,.08) 1px, transparent 1px); background-size: 18px 18px; border-top: 1px solid #ceced7; border-bottom: 1px solid #ceced7; }
.voucher-preview { --voucher-ratio: .707; width: min(420px, 92%); min-height: 260px; padding: 22px; color: #58595b; background: #fff; border: 1px solid #ceced7; border-radius: 5px; box-shadow: 0 18px 35px rgba(88,89,91,.14); }
.voucher-preview header { display: flex; justify-content: space-between; padding-bottom: 13px; border-bottom: 3px solid #58595b; }
.voucher-brand { font-size: .9rem; font-weight: 850; letter-spacing: -.03em; }.voucher-preview header > span:last-child { padding: 3px 7px; color: #fff; background: #58595b; border-radius: 4px; font-size: .58rem; font-weight: 800; }
.voucher-route { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; padding: 20px 0; border-bottom: 1px solid #ceced7; }
.voucher-route > div { display: flex; flex-direction: column; }.voucher-route small, .voucher-number small { color: #58595b; font-size: .48rem; font-weight: 800; letter-spacing: .08em; }.voucher-route strong { margin: 4px 0 2px; font-size: .68rem; }.voucher-route span { color: #58595b; font-size: .54rem; }.voucher-route b { color: #58595b; }
.voucher-number { padding: 19px 0; text-align: center; }.voucher-number strong { display: block; margin-top: 5px; font-size: 1.25rem; letter-spacing: .08em; }
.voucher-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #58595b; font-size: .54rem; }
.mock-qr { display: grid; width: 34px; height: 34px; place-items: center; color: #fff; background: repeating-linear-gradient(45deg, #58595b 0 3px, #fff 3px 5px); border: 3px solid #58595b; font-size: 0; }
.voucher-note { display: flex; align-items: center; gap: 10px; padding: 14px 20px; color: #58595b; font-size: .62rem; }.voucher-note strong { color: #58595b; white-space: nowrap; }
.voucher-workspace .voucher-canvas { min-height: 590px; }
.voucher-template-preview { position: relative; display: grid; width: min(360px, 94%); aspect-ratio: 105 / 148; grid-template-columns: 22px minmax(0, 1fr); overflow: hidden; color: #58595b; background: #fff; border: 1px solid #ceced7; border-radius: 6px; box-shadow: 0 20px 42px rgba(88,89,91,.18); }
.voucher-template-rail { background: #d6001c; }
.voucher-template-body { display: flex; min-width: 0; flex-direction: column; padding: 17px 18px 12px; }
.voucher-template-header { display: flex; min-height: 53px; align-items: flex-start; justify-content: space-between; gap: 15px; border-bottom: 1px solid #ceced7; padding-bottom: 10px; }
.voucher-template-header img { display: block; width: 145px; max-height: 45px; object-fit: contain; object-position: left top; }
.voucher-template-header > div { display: grid; justify-items: end; gap: 3px; text-align: right; white-space: nowrap; }
.voucher-template-header span { color: #58595b; font-size: .42rem; font-weight: 750; letter-spacing: .03em; }
.voucher-template-header strong { color: #58595b; font-size: .62rem; }
.voucher-template-party { display: grid; min-height: 73px; grid-template-columns: 31px minmax(0, 1fr); align-items: center; gap: 10px; border-bottom: 1px solid #ceced7; padding: 9px 0; }
.voucher-template-party > span { display: grid; width: 29px; height: 29px; place-items: center; color: #d6001c; background: #fff; border: 1px solid #d6001c; border-radius: 50%; }
.voucher-template-party > span .bi { font-size: .82rem; }
.voucher-template-party > div { display: grid; min-width: 0; }
.voucher-template-party small { color: #d6001c; font-size: .47rem; font-weight: 800; letter-spacing: .03em; }
.voucher-template-party strong { overflow: hidden; margin-top: 3px; color: #58595b; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.voucher-template-party p { overflow: hidden; margin: 2px 0 0; color: #58595b; font-size: .48rem; text-overflow: ellipsis; white-space: nowrap; }
.voucher-template-details { border-bottom: 1px solid #ceced7; }
.voucher-template-details > div { display: grid; min-height: 25px; grid-template-columns: 45% minmax(0, 1fr); align-items: center; border-bottom: 1px solid rgba(206,206,215,.7); }
.voucher-template-details > div:last-child { border-bottom: 0; }
.voucher-template-details b { color: #58595b; font-size: .45rem; }
.voucher-template-details span { overflow: hidden; color: #58595b; font-size: .46rem; text-overflow: ellipsis; white-space: nowrap; }
.voucher-template-notes { display: grid; min-height: 49px; align-content: start; gap: 5px; border-bottom: 1px solid #ceced7; padding: 9px 0; }
.voucher-template-notes b { color: #d6001c; font-size: .47rem; }
.voucher-template-notes span { color: #58595b; font-size: .47rem; }
.voucher-template-identity { display: grid; min-height: 76px; grid-template-columns: 55px minmax(0, 1fr); align-items: center; gap: 13px; padding: 10px 0 7px; }
.voucher-template-qr { display: grid; width: 50px; height: 50px; place-items: center; color: #d6001c; background: #fff; border: 1px solid #d6001c; border-radius: 5px; }
.voucher-template-qr .bi { font-size: 1.8rem; }
.voucher-template-identity > div { min-width: 0; border-left: 1px solid #ceced7; padding-left: 12px; }
.voucher-template-identity small { display: block; color: #58595b; font-size: .43rem; font-weight: 800; letter-spacing: .04em; }
.voucher-template-identity strong { display: block; overflow: hidden; margin: 4px 0 6px; color: #58595b; font-size: .93rem; letter-spacing: .055em; text-overflow: ellipsis; white-space: nowrap; }
.voucher-template-identity > div > span { display: block; border-top: 2px solid #d6001c; color: #58595b; padding-top: 5px; font-size: .46rem; }
.voucher-template-body > footer { margin-top: auto; border-top: 1px solid #ceced7; color: #58595b; padding-top: 7px; font-size: .4rem; line-height: 1.35; }
.built-in-template-row { background: rgba(239,68,75,.05); }
.built-in-template-row td:first-child small { display: block; margin-top: 2px; color: #58595b; font-size: .58rem; }

.settings-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: 20px; }
.company-profile-header-actions { display: flex; align-items: center; gap: 9px; }
.company-profile-edit { display: grid; flex: 0 0 40px; width: 40px; height: 40px; place-items: center; border: 1px solid #d6001c; border-radius: 12px; background: #fff; color: #d6001c; text-decoration: none; box-shadow: 0 7px 18px rgba(214,0,28,.08); }
.company-profile-edit:hover, .company-profile-edit:focus-visible { background: rgba(239,68,75,.08); color: #89181a; border-color: #89181a; outline: none; }
.company-profile-edit .bi { font-size: 1.08rem; line-height: 1; }
.company-profile { display: flex; align-items: center; gap: 14px; padding: 5px 21px 20px; border-bottom: 1px solid #ceced7; }
.company-monogram { display: grid; flex: 0 0 58px; height: 58px; place-items: center; color: #fff; background: linear-gradient(135deg, #58595b, #d6001c); border-radius: 17px; font-size: .78rem; font-weight: 850; }
.company-profile strong { color: #58595b; font-size: .88rem; }.company-profile p { margin: 5px 0 0; color: #58595b; font-size: .66rem; }
.settings-detail-list { margin: 0; padding: 7px 21px 19px; }
.settings-detail-list > div { display: grid; grid-template-columns: minmax(130px, .45fr) 1fr; gap: 14px; padding: 11px 0; border-bottom: 1px solid #ceced7; }
.settings-detail-list > div:last-child { border-bottom: 0; }.settings-detail-list dt { color: #58595b; font-size: .63rem; font-weight: 700; }.settings-detail-list dd { margin: 0; color: #58595b; font-size: .69rem; font-weight: 650; }.settings-detail-list dd small { display: block; margin-top: 2px; color: #58595b; font-size: .59rem; }
.role-list { padding: 1px 20px 13px; }
.role-list article { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid #ceced7; }.role-list article:last-child { border-bottom: 0; }
.role-code { display: grid; flex: 0 0 34px; height: 34px; place-items: center; color: #58595b; background: rgba(86,196,199,.14); border-radius: 10px; font-size: .55rem; font-weight: 850; }.role-list article > div { display: flex; min-width: 0; flex: 1; flex-direction: column; }.role-list strong { color: #58595b; font-size: .7rem; }.role-list small { overflow: hidden; color: #58595b; font-size: .59rem; text-overflow: ellipsis; white-space: nowrap; }
.settings-warning { display: flex; align-items: flex-start; gap: 10px; margin: 0 18px 18px; padding: 12px; color: #89181a; background: rgba(239,68,75,.14); border: 1px solid rgba(239,68,75,.14); border-radius: 11px; }.settings-warning > span { display: grid; flex: 0 0 25px; height: 25px; place-items: center; color: #fff; background: #ef444b; border-radius: 8px; font-size: .7rem; font-weight: 850; }.settings-warning p { margin: 0; font-size: .61rem; line-height: 1.5; }.settings-warning strong { display: block; color: #89181a; }
.reference-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #ceced7; }
.reference-card { padding: 19px; border-right: 1px solid #ceced7; }.reference-card:last-child { border-right: 0; }
.reference-card > header { display: flex; align-items: center; gap: 10px; margin-bottom: 13px; }.reference-card > header > span { display: grid; width: 34px; height: 34px; place-items: center; color: #58595b; background: rgba(86,196,199,.14); border-radius: 10px; font-size: .56rem; font-weight: 850; }.reference-card header div { display: flex; flex-direction: column; }.reference-card header strong { color: #58595b; font-size: .69rem; }.reference-card header small { color: #58595b; font-size: .58rem; }
.reference-options > div { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 8px 0; border-bottom: 1px solid #ceced7; }.reference-options > div:last-child { border-bottom: 0; }.reference-options span { display: flex; min-width: 0; flex-direction: column; }.reference-options strong { overflow: hidden; color: #58595b; font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }.reference-options small { color: #58595b; font-size: .54rem; }.reference-dot { width: 7px; height: 7px; padding: 0; border-radius: 50%; }.reference-dot.entity-active { background: #0b8a44; }.reference-dot.entity-inactive { background: #d6001c; }

@media (max-width: 1199.98px) {
    .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mini-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .client-category-switcher { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .history-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .history-item:nth-child(2) { border-right: 0; }
    .history-item:nth-child(-n+2) { border-bottom: 1px solid #ceced7; }
    .settings-grid { grid-template-columns: 1fr; }
    .reference-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .reference-card:nth-child(2) { border-right: 0; }
    .reference-card:nth-child(-n+2) { border-bottom: 1px solid #ceced7; }
}

@media (max-width: 767.98px) {
    .app-content-header { padding-top: 20px; }
    .page-heading-row { align-items: flex-start; flex-direction: column; }
    .page-actions, .action-button { width: 100%; }
    .action-button { justify-content: center; }
    .welcome-panel { min-height: auto; padding: 26px 24px; }
    .welcome-orbit { display: none; }
    .metric-grid { grid-template-columns: 1fr; }
    .mini-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .history-grid { grid-template-columns: 1fr; }
    .history-item { border-right: 0; border-bottom: 1px solid #ceced7; }
    .history-item:last-child { border-bottom: 0; }
    .content-card-header { align-items: flex-start; }
    .evidence-badge { display: none; }
    .module-placeholder { grid-template-columns: 1fr; min-height: auto; padding: 38px 24px; text-align: center; }
    .module-placeholder-mark { width: 150px; margin: 0 auto; }
    .module-architecture-note { text-align: left; }
    .data-header { align-items: stretch; flex-direction: column; }
    .data-toolbar { justify-content: flex-start; }
    .search-field, .search-field input, .wide-search input { width: 100%; }
    .select-field { flex: 1; }.select-field select { width: 100%; min-width: 0; }
    .contact-switcher { grid-template-columns: 1fr; }
    .client-category-switcher { grid-template-columns: 1fr; }
    .fleet-hero { align-items: flex-start; flex-direction: column; }
    .fleet-hero-metrics { width: 100%; }.fleet-hero-metrics span { flex: 1; }
    .label-size-grid { grid-template-columns: 1fr; }
    .voucher-canvas { min-height: 315px; padding: 16px; }
    .voucher-preview { padding: 16px; }
    .voucher-workspace .voucher-canvas { min-height: 520px; padding-inline: 12px; }
    .voucher-template-preview { width: min(330px, 100%); }
    .reference-grid { grid-template-columns: 1fr; }
    .reference-card { border-right: 0; border-bottom: 1px solid #ceced7; }
    .reference-card:last-child { border-bottom: 0; }
    .settings-detail-list > div { grid-template-columns: 1fr; gap: 4px; }
}

@media (max-width: 479.98px) {
    .mini-metric-grid { grid-template-columns: 1fr; }
    .toolbar-button { flex: 1; }
    .voucher-route { grid-template-columns: 1fr; text-align: center; }
    .voucher-route b { transform: rotate(90deg); }
    .voucher-note { align-items: flex-start; flex-direction: column; }
}

/* Creation flows */
.page-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.page-actions .btn-light { border: 1px solid var(--cc-line); background: #fff; color: var(--cc-ink); }
.form-flash { margin-bottom: 22px; }
.creation-form { display: grid; gap: 22px; }
.creation-form-compact { max-width: 980px; margin-inline: auto; }
.form-section, .wizard-panel {
    border: 1px solid var(--cc-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 32px rgba(88,89,91,.05);
    padding: clamp(22px, 3vw, 34px);
}
.form-section-heading, .wizard-panel-heading { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 26px; }
.form-section-heading h2, .wizard-panel-heading h2 { margin: 2px 0 5px; font-size: clamp(1.25rem, 2vw, 1.6rem); letter-spacing: -.025em; }
.form-section-heading p, .wizard-panel-heading p { max-width: 720px; margin: 0; color: var(--cc-muted); }
.form-step-number {
    display: grid;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 14px;
    background: rgba(86,196,199,.14);
    color: var(--cc-blue);
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .04em;
}
.form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.form-field { display: flex; min-width: 0; flex-direction: column; gap: 7px; color: #58595b; font-size: .82rem; font-weight: 700; }
.form-field > span b { color: #58595b; }
.form-field > small { color: var(--cc-muted); font-size: .72rem; font-weight: 500; line-height: 1.45; }
.form-field-wide { grid-column: span 2; }
.coordinate-fields { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.address-lookup { display: flex; min-width: 0; flex-direction: column; gap: 7px; }
.address-lookup-label { color: #58595b; font-size: .82rem; font-weight: 700; }
.address-autocomplete-host { min-height: 48px; }
.address-autocomplete-host gmp-place-autocomplete { width: 100%; min-height: 46px; }
.address-lookup > small { color: var(--cc-muted); font-size: .72rem; line-height: 1.45; }
.address-lookup > small.is-success { color: #0b8a44; font-weight: 700; }
.address-lookup > small.is-warning { color: #89181a; font-weight: 650; }
.address-lookup > small.is-error { color: #58595b; font-weight: 700; }
input[name="coordinate_pair"]::placeholder { color: #58595b; opacity: .62; font-weight: 400; }
.google-maps-key-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 16px; padding: 0 22px 22px; }
.google-maps-key-form .btn { min-height: 46px; white-space: nowrap; }
@media (max-width: 700px) { .google-maps-key-form { grid-template-columns: 1fr; } }
.form-field .form-control, .form-field .form-select {
    min-height: 46px;
    border-color: #ceced7;
    border-radius: 11px;
    background-color: #fff;
    color: var(--cc-ink);
    font-size: .9rem;
    font-weight: 500;
}
.form-field textarea.form-control { min-height: 96px; resize: vertical; }
.form-field .form-control:focus, .form-field .form-select:focus { border-color: #ceced7; background: #fff; box-shadow: 0 0 0 3px rgba(214,0,28,.11); }
.choice-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.choice-card, .check-option, .toggle-field {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    border: 1px solid #ceced7;
    border-radius: 14px;
    background: #fff;
    padding: 15px 16px;
    cursor: pointer;
}
.choice-card:has(input:checked), .check-option:has(input:checked), .toggle-field:has(input:checked) { border-color: #ceced7; background: #fff; box-shadow: inset 0 0 0 1px rgba(214,0,28,.08); }
.choice-card input, .check-option input, .toggle-field input { flex: 0 0 auto; margin-top: 3px; accent-color: var(--cc-blue); }
.choice-card span, .check-option span, .toggle-field span { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.choice-card strong, .check-option strong, .toggle-field strong { color: var(--cc-ink); font-size: .88rem; }
.choice-card small, .check-option small, .toggle-field small { color: var(--cc-muted); font-size: .73rem; line-height: 1.4; }
.method-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.method-group { display: flex; min-width: 0; flex-direction: column; gap: 10px; border: 0; padding: 0; }
.method-group legend { margin-bottom: 4px; color: #58595b; font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .055em; }
.check-option { padding: 12px 13px; }
.toggle-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.form-submit-bar, .wizard-footer {
    position: sticky;
    bottom: 14px;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border: 1px solid rgba(214,0,28,.9);
    border-radius: 17px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 14px 42px rgba(88,89,91,.13);
    padding: 15px 18px;
    backdrop-filter: blur(12px);
}
.form-submit-bar > div, .wizard-footer > div { display: flex; align-items: center; gap: 10px; }
.form-submit-bar > div:first-child, .wizard-footer > div:first-child { align-items: flex-start; flex-direction: column; gap: 1px; }
.form-submit-bar strong, .wizard-footer span { font-size: .87rem; }
.form-submit-bar span, .wizard-footer small { color: var(--cc-muted); font-size: .72rem; }
.form-context-banner {
    display: flex;
    align-items: center;
    gap: 14px;
    border-radius: 18px;
    background: linear-gradient(135deg, #d6001c, #d6001c);
    color: #fff;
    padding: 20px 24px;
}
.form-context-banner > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; background: rgba(255,255,255,.15); font-weight: 850; }
.form-context-banner div { display: flex; flex-direction: column; gap: 3px; }
.form-context-banner small { color: rgba(86,196,199,.14); }
.settings-scope-note { display: flex; align-items: flex-start; gap: 12px; border-radius: 14px; background: rgba(239,68,75,.14); color: #89181a; padding: 15px; }
.settings-scope-note > span { display: grid; flex: 0 0 28px; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: #ef444b; color: #89181a; font-weight: 900; }
.settings-scope-note p { margin: 2px 0 0; font-size: .82rem; line-height: 1.5; }
.reference-card header { gap: 10px; }
.reference-add { margin-left: auto; border-radius: 9px; background: rgba(86,196,199,.14); color: var(--cc-blue); padding: 7px 10px; font-size: .72rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.reference-add:hover { background: rgba(86,196,199,.14); color: var(--cc-blue-dark); }
.label-preview-sticky { position: sticky; top: 86px; }
.voucher-meta-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.voucher-meta-row span { border-radius: 7px; background: rgba(86,196,199,.14); padding: 6px 8px; font-size: .64rem; font-weight: 750; }
.voucher-custom-footer { display: block; margin-top: 12px; border-top: 1px dashed #ceced7; padding-top: 8px; color: #58595b; text-align: center; }

/* Shipment wizard reconstructed from the recovered flow */
.shipment-wizard { display: grid; gap: 22px; }
.wizard-progress { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--cc-line); border-radius: 18px; background: #fff; box-shadow: 0 8px 28px rgba(88,89,91,.045); }
.wizard-step { position: relative; }
.wizard-step:not(:last-child)::after { position: absolute; z-index: 0; top: 28px; right: -18px; width: 36px; height: 2px; background: rgba(86,196,199,.14); content: ''; }
.wizard-step button { position: relative; z-index: 1; display: flex; width: 100%; min-height: 82px; align-items: center; justify-content: center; gap: 9px; border: 0; background: transparent; color: var(--cc-muted); padding: 13px 8px; }
.wizard-step button > span { display: grid; width: 34px; height: 34px; place-items: center; border: 2px solid #ceced7; border-radius: 50%; background: #fff; font-size: .65rem; font-weight: 850; }
.wizard-step button strong { font-size: .75rem; }
.wizard-step.is-active button { color: var(--cc-blue); }
.wizard-step.is-active button > span { border-color: var(--cc-blue); background: var(--cc-blue); color: #fff; box-shadow: 0 7px 18px rgba(214,0,28,.24); }
.wizard-step.is-complete button > span { border-color: #0b8a44; background: rgba(41,163,73,.14); color: #0b8a44; }
.wizard-step button:disabled { cursor: not-allowed; opacity: .55; }
.wizard-panel { min-height: 360px; scroll-margin-top: 82px; }
.wizard-selector-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 18px; }
.client-search-wrap { position: relative; }
.client-search-results { position: absolute; z-index: 20; right: 0; left: 0; top: calc(100% + 6px); max-height: 260px; overflow: auto; border-radius: 12px; box-shadow: 0 15px 35px rgba(88,89,91,.16); }
.selection-preview { display: flex; align-items: flex-start; gap: 14px; margin-top: 20px; border: 1px solid #ceced7; border-radius: 15px; background: #fff; padding: 17px; }
.selection-preview > div { display: grid; gap: 3px; }
.selection-preview small { color: var(--cc-muted); font-size: .67rem; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.selection-preview p { margin: 0; color: var(--cc-muted); font-size: .78rem; }
.inline-create-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 16px; color: var(--cc-blue); font-size: .82rem; font-weight: 800; text-decoration: none; }
.inline-create-link > span { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 8px; background: rgba(86,196,199,.14); }
.inline-create-link.disabled { pointer-events: none; opacity: .45; }
.party-action-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; }
.party-copy-button { display: flex; align-items: center; gap: 14px; border: 1px solid #ceced7; border-radius: 15px; background: #fff; color: var(--cc-ink); padding: 15px 17px; text-align: left; }
.party-copy-button > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; background: var(--cc-blue); color: #fff; font-size: .7rem; font-weight: 850; }
.party-copy-button div { display: flex; flex-direction: column; }
.party-copy-button small { color: var(--cc-muted); font-size: .72rem; }
.party-copy-button:disabled { cursor: not-allowed; opacity: .5; }
.other-client-copy { overflow: visible; border: 1px solid #ceced7; border-radius: 15px; background: #fff; }
.other-client-copy > .toggle-field { margin: 0; border: 0; border-radius: 14px; background: transparent; box-shadow: none; }
.other-client-copy > .toggle-field:has(input:checked) { border-radius: 14px 14px 0 0; background: #fff; }
.other-client-copy-panel { border-top: 1px solid #ceced7; padding: 16px; }
.other-client-search-results { max-height: 340px; }
.other-client-result { display: flex; flex-direction: column; gap: 2px; padding: 11px 14px; text-align: left; }
.other-client-result strong { color: #58595b; font-size: .78rem; }
.other-client-result small { overflow: hidden; color: #58595b; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.other-client-empty { color: #58595b; font-size: .72rem; text-align: center; }
.selection-history { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto minmax(0,1fr); align-items: center; gap: 9px; margin-top: 20px; border-radius: 13px; background: #fff; color: var(--cc-muted); padding: 13px 15px; font-size: .72rem; }
.selection-history strong { overflow: hidden; color: var(--cc-ink); text-overflow: ellipsis; white-space: nowrap; }
.selection-history b { color: var(--cc-blue); }
.review-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; border: 1px solid #ceced7; border-radius: 16px; }
.review-grid article { display: flex; min-height: 90px; flex-direction: column; gap: 6px; border-right: 1px solid #ceced7; border-bottom: 1px solid #ceced7; padding: 16px; }
.review-grid article:nth-child(3n) { border-right: 0; }
.review-grid span { color: var(--cc-muted); font-size: .67rem; font-weight: 750; text-transform: uppercase; letter-spacing: .055em; }
.review-grid strong { overflow-wrap: anywhere; font-size: .86rem; }
.review-confirmation { display: flex; align-items: center; gap: 14px; margin-top: 22px; border-radius: 16px; background: rgba(41,163,73,.14); color: #0b8a44; padding: 18px; }
.review-confirmation > span { display: grid; flex: 0 0 42px; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: #0b8a44; color: #fff; font-weight: 900; }
.review-confirmation p { margin: 2px 0 0; color: #0b8a44; font-size: .78rem; }

/* Secure access and security centre */
.profile-session { display: flex; align-items: center; gap: 8px; }
.profile-session form { margin: 0; }
.logout-button { border: 0; border-radius: 9px; background: rgba(86,196,199,.14); color: #58595b; padding: 8px 10px; font-size: .72rem; font-weight: 800; }
.logout-button:hover { background: rgba(86,196,199,.14); color: #58595b; }
.auth-body { min-height: 100vh; margin: 0; background: rgba(86,196,199,.14); color: #58595b; }
.auth-shell { display: grid; min-height: 100vh; grid-template-columns: minmax(320px, .8fr) minmax(520px, 1.2fr); }
.auth-shell-minimal { grid-template-columns: 1fr; background: radial-gradient(circle at 50% 10%, rgba(214,0,28,.13), transparent 34%), linear-gradient(145deg, rgba(86,196,199,.14), #fff 58%, rgba(86,196,199,.14)); }
.auth-shell-minimal .auth-form-panel { padding: 24px; }
.auth-shell-minimal .auth-card { width: min(100%, 430px); padding: clamp(30px, 5vw, 46px); }
.auth-shell-minimal .subscription-button { display: grid; place-items: center; text-decoration: none; }
.password-input-wrap { position: relative; display: block; }
.password-input-wrap .form-control { padding-right: 48px; }
.password-visibility { position: absolute; top: 50%; right: 8px; display: grid; width: 36px; height: 36px; transform: translateY(-50%); place-items: center; border: 0; border-radius: 9px; background: transparent; color: #58595b; font-size: 1.05rem; cursor: pointer; }
.password-visibility:hover, .password-visibility:focus-visible { background: rgba(86,196,199,.14); color: #58595b; outline: none; }
.auth-brand-panel { display: flex; min-height: 100%; flex-direction: column; justify-content: space-between; background: radial-gradient(circle at 15% 20%, rgba(214,0,28,.28), transparent 32%), linear-gradient(145deg, #58595b, #58595b 62%, #d6001c); color: #fff; padding: 48px clamp(32px, 5vw, 76px); }
.auth-brand { display: inline-flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; }
.auth-brand > span { display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 15px; background: rgba(255,255,255,.12); font-weight: 900; }
.auth-brand strong { font-size: 1.05rem; letter-spacing: .015em; }
.auth-brand-panel h1 { max-width: 560px; margin: 10px 0 12px; font-size: clamp(2rem, 4vw, 4rem); line-height: 1.03; }
.auth-brand-panel p { max-width: 560px; margin: 0; color: rgba(86,196,199,.14); font-size: clamp(.95rem, 1.5vw, 1.16rem); line-height: 1.65; }
.auth-kicker { color: rgba(86,196,199,.14); font-size: .72rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.auth-brand-panel > small { color: #58595b; font-weight: 700; }
.auth-form-panel { display: grid; place-items: center; padding: 38px clamp(22px, 5vw, 84px); }
.auth-card { width: min(100%, 720px); border: 1px solid #ceced7; border-radius: 24px; background: #fff; box-shadow: 0 24px 70px rgba(88,89,91,.12); padding: clamp(28px, 4vw, 50px); }
.auth-card-heading { margin-bottom: 26px; }
.auth-card-heading > span { color: #58595b; font-size: .7rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.auth-card-heading h2 { margin: 7px 0 8px; font-size: clamp(1.45rem, 3vw, 2rem); }
.auth-card-heading p { margin: 0; color: #58595b; line-height: 1.6; }
.auth-form { display: grid; gap: 16px; }
.auth-form > label, .auth-field-row > label, .security-settings-form > label { display: grid; gap: 7px; color: #58595b; font-size: .76rem; font-weight: 800; }
.auth-field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.auth-form .form-control, .auth-form .form-select { min-height: 48px; border-color: #ceced7; border-radius: 11px; }
.auth-submit { min-height: 48px; margin-top: 4px; font-weight: 850; }
.auth-security-note { margin: -2px 0 0; border-radius: 11px; background: rgba(41,163,73,.14); color: #0b8a44; padding: 11px 13px; font-size: .73rem; line-height: 1.5; }
.security-choice { display: grid; gap: 9px; margin: 2px 0; border: 1px solid #ceced7; border-radius: 14px; padding: 15px; }
.security-choice legend { width: auto; margin: 0 0 4px; color: #58595b; font-size: .8rem; font-weight: 850; }
.security-choice label { display: flex; align-items: flex-start; gap: 10px; border-radius: 10px; padding: 8px; cursor: pointer; }
.security-choice label:hover { background: #fff; }
.security-choice input { margin-top: 4px; }
.security-choice label span { display: grid; gap: 2px; }
.security-choice label strong { font-size: .8rem; }
.security-choice label small { color: #58595b; font-size: .7rem; line-height: 1.4; }
.setup-steps { display: grid; gap: 14px; margin: 0 0 22px; padding: 0; list-style: none; counter-reset: setup; }
.setup-steps li { position: relative; display: grid; gap: 5px; border-left: 3px solid #ceced7; padding: 4px 0 4px 18px; counter-increment: setup; }
.setup-steps li strong::before { color: #58595b; content: counter(setup) '. '; }
.setup-steps li span, .setup-steps li small { color: #58595b; font-size: .75rem; }
.totp-secret { display: block; overflow-wrap: anywhere; border-radius: 10px; background: #58595b; color: rgba(86,196,199,.14); padding: 12px 14px; font-size: 1rem; letter-spacing: .08em; }
.totp-input { max-width: 300px; font-size: 1.2rem; font-weight: 850; letter-spacing: .12em; }
.auth-details { margin: 0 0 18px; border-radius: 10px; background: #fff; padding: 11px 13px; color: #58595b; font-size: .73rem; }
.auth-details code { display: block; margin-top: 8px; overflow-wrap: anywhere; }
.recovery-code-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0 0 22px; }
.recovery-code-grid code { border: 1px solid #ceced7; border-radius: 9px; background: #fff; color: #58595b; padding: 10px; text-align: center; }
.confirm-check { display: flex !important; align-items: flex-start; gap: 10px; border-radius: 11px; background: #fff; padding: 12px; }
.confirm-check input { margin-top: 3px; }
.auth-secondary-form { margin-top: 14px; text-align: center; }
.security-settings-banner { display: flex; align-items: center; gap: 16px; margin-bottom: 22px; border: 1px solid #ceced7; border-radius: 17px; background: linear-gradient(110deg, rgba(86,196,199,.14), #fff); color: #58595b; padding: 18px 20px; text-decoration: none; }
.security-banner-icon { display: grid; flex: 0 0 46px; width: 46px; height: 46px; place-items: center; border-radius: 14px; background: #d6001c; color: #fff; font-weight: 900; }
.security-settings-banner > span:last-child { display: grid; gap: 2px; }
.security-settings-banner small { color: #58595b; font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.security-settings-banner strong { font-size: .9rem; }
.security-settings-banner em { color: #58595b; font-size: .73rem; font-style: normal; }
.security-overview-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.security-status-card { display: flex; min-height: 130px; align-items: flex-start; gap: 12px; border: 1px solid #ceced7; border-radius: 16px; background: #fff; padding: 17px; }
.security-status-card > span { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border-radius: 11px; background: rgba(41,163,73,.14); color: #0b8a44; font-size: .7rem; font-weight: 900; }
.security-status-card.is-warning > span { background: rgba(239,68,75,.14); color: #89181a; }
.security-status-card div { display: grid; gap: 4px; }
.security-status-card small { color: #58595b; font-size: .64rem; font-weight: 800; text-transform: uppercase; }
.security-status-card strong { font-size: .8rem; }
.security-status-card p { margin: 0; color: #58595b; font-size: .7rem; line-height: 1.45; }
.security-settings-form { display: grid; gap: 14px; margin-top: 18px; }
.security-settings-form .btn { justify-self: start; }
.security-device-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 18px; border-top: 1px solid #ceced7; padding-top: 16px; }
.security-device-row span { display: grid; gap: 3px; }
.security-device-row small { color: #58595b; font-size: .7rem; }
.master-key-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); align-items: center; gap: 24px; }
.master-key-visual { display: grid; place-items: center; gap: 10px; min-height: 150px; border-radius: 18px; background: linear-gradient(145deg, #58595b, #d6001c); color: #fff; }
.master-key-visual span { font-size: 2.2rem; letter-spacing: .18em; }
.master-key-visual strong { color: rgba(86,196,199,.14); font-family: var(--cc-font-sans); font-size: .76rem; }
.master-key-layout p { color: #58595b; line-height: 1.65; }

@media (max-width: 991.98px) {
    .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .method-groups { grid-template-columns: 1fr; }
    .label-preview-sticky { position: static; }
    .wizard-progress { grid-template-columns: repeat(5, minmax(90px, 1fr)); overflow-x: auto; }
    .wizard-step button { min-width: 90px; flex-direction: column; gap: 4px; }
    .wizard-step:not(:last-child)::after { display: none; }
    .review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .review-grid article:nth-child(3n) { border-right: 1px solid #ceced7; }
    .review-grid article:nth-child(2n) { border-right: 0; }
    .auth-shell { grid-template-columns: 1fr; }
    .auth-brand-panel { min-height: 280px; gap: 40px; }
    .security-overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .shipment-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .shipment-bulk-toolbar { align-items: stretch; flex-wrap: wrap; }
    .bulk-agent-field { min-width: min(420px, 100%); }
    .shipment-bulk-actions { width: 100%; justify-content: flex-start; }
}

@media (max-width: 575.98px) {
    .page-actions { width: 100%; justify-content: stretch; }
    .page-actions .action-button { flex: 1; justify-content: center; min-width: 0; padding-inline: 10px; font-size: .75rem; }
    .form-section, .wizard-panel { border-radius: 16px; padding: 20px 16px; }
    .form-section-heading, .wizard-panel-heading { gap: 11px; }
    .form-step-number { flex-basis: 38px; width: 38px; height: 38px; border-radius: 11px; }
    .form-grid, .choice-row, .toggle-grid, .wizard-selector-grid, .review-grid { grid-template-columns: 1fr; }
    .form-field-wide { grid-column: auto; }
    .form-submit-bar, .wizard-footer { position: static; align-items: stretch; flex-direction: column; }
    .form-submit-bar > div, .wizard-footer > div { width: 100%; }
    .form-submit-bar > div:last-child, .wizard-footer > div:last-child { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .form-submit-bar .btn, .wizard-footer .btn { width: 100%; }
    .party-action-row { grid-template-columns: 1fr; }
    .selection-history { grid-template-columns: 1fr; }
    .selection-history b { transform: rotate(90deg); justify-self: center; }
    .review-grid article, .review-grid article:nth-child(3n), .review-grid article:nth-child(2n) { border-right: 0; }
    .auth-brand-panel { min-height: 230px; padding: 28px 22px; }
    .auth-brand-panel h1 { font-size: 2rem; }
    .auth-brand-panel > small { display: none; }
    .auth-form-panel { padding: 18px 12px 28px; }
    .auth-card { border-radius: 18px; padding: 24px 18px; }
    .auth-field-row, .recovery-code-grid, .security-overview-grid, .master-key-layout { grid-template-columns: 1fr; }
    .security-device-row { align-items: stretch; flex-direction: column; }
    .shipment-category-grid { grid-template-columns: 1fr; }
    .shipment-bulk-toolbar { padding: 12px; }
    .shipment-selection-count { width: 100%; }
    .bulk-agent-field { width: 100%; min-width: 0; align-items: stretch; flex-direction: column; }
    .bulk-agent-field select { width: 100%; }
    .shipment-bulk-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .shipment-bulk-action { width: 100%; }
}
.client-edit-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border: 1px solid rgba(214,0,28,.28);
    border-radius: .7rem;
    color: #58595b;
    background: rgba(214,0,28,.06);
    font-size: 1.15rem;
    line-height: 1;
    text-decoration: none;
}

.client-edit-icon:hover,
.client-edit-icon:focus-visible {
    color: #fff;
    background: #d6001c;
    border-color: #d6001c;
}

.client-trash-form { margin: 0; }
.client-preview-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid rgba(11,138,68,.24);
    border-radius: .62rem;
    color: #0b8a44;
    background: rgba(11,138,68,.06);
    font-size: .9rem;
    line-height: 1;
    text-decoration: none;
}
.client-preview-icon:hover,
.client-preview-icon:focus-visible {
    color: #fff;
    background: #0b8a44;
    border-color: #0b8a44;
}
.client-preview-banner { border-left: 4px solid #d6001c !important; }
.client-preview-readonly { display: inline-flex; align-items: center; min-height: 40px; border-radius: 12px; background: rgba(86,196,199,.14); color: #58595b; padding: 9px 13px; font-size: .7rem; font-weight: 850; white-space: nowrap; }
.client-trash-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    padding: 0;
    border: 1px solid rgba(214,0,28,.2);
    border-radius: .6rem;
    color: #58595b;
    background: rgba(214,0,28,.045);
    font-size: .83rem;
    line-height: 1;
    cursor: pointer;
}
.client-trash-icon:hover,
.client-trash-icon:focus-visible {
    color: #fff;
    background: #d6001c;
    border-color: #d6001c;
}

/* Πολλαπλή εισαγωγή αποστολών πελάτη. */
.dashboard-greeting-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.dashboard-secondary-action { display: inline-flex; min-height: 44px; align-items: center; gap: 8px; border: 1px solid #d6001c; border-radius: 13px; background: #fff; color: #d6001c; padding: 10px 15px; font-size: .75rem; font-weight: 850; text-decoration: none; white-space: nowrap; }
.dashboard-secondary-action:hover { background: rgba(239,68,75,.1); color: #89181a; transform: translateY(-1px); }
.dashboard-secondary-action span { display: grid; width: 22px; height: 22px; place-items: center; font-size: .88rem; }
.shipment-import-page { display: grid; gap: 20px; }
.shipment-import-guide { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.shipment-import-guide article { display: grid; min-height: 104px; grid-template-columns: 43px minmax(0, 1fr); align-items: center; gap: 13px; border: 1px solid #ceced7; border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(88,89,91,.05); padding: 16px; }
.shipment-import-guide article > span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #d6001c; border-radius: 50%; background: #fff; color: #d6001c; font-size: .65rem; font-weight: 900; }
.shipment-import-guide article > div { display: grid; gap: 3px; }
.shipment-import-guide strong { color: #58595b; font-size: .72rem; }
.shipment-import-guide p { margin: 0; color: #58595b; font-size: .61rem; line-height: 1.45; }
.shipment-import-card .content-card-header p, .shipment-import-preview .content-card-header p { margin: 4px 0 0; color: #58595b; font-size: .63rem; }
.shipment-import-card .content-card-header .btn { display: inline-flex; align-items: center; gap: 7px; }
.shipment-import-form { border-top: 1px solid #ceced7; padding: 22px; }
.shipment-file-drop { display: flex; min-height: 116px; align-items: center; gap: 16px; border: 1px dashed #d6001c; border-radius: 18px; background: rgba(239,68,75,.045); padding: 20px; cursor: pointer; }
.shipment-file-drop:hover { background: rgba(239,68,75,.08); }
.shipment-file-icon { display: grid; width: 56px; height: 56px; flex: 0 0 auto; place-items: center; border: 1px solid #d6001c; border-radius: 50%; background: #fff; color: #d6001c; font-size: 1.4rem; }
.shipment-file-drop > span:nth-child(2) { display: grid; flex: 1; gap: 4px; }
.shipment-file-drop strong { color: #58595b; font-size: .77rem; }
.shipment-file-drop small { color: #58595b; font-size: .62rem; }
.shipment-file-drop input { max-width: 340px; border: 1px solid #ceced7; border-radius: 11px; background: #fff; padding: 9px; color: #58595b; font-size: .66rem; }
.shipment-import-safety { display: flex; min-height: 96px; align-items: center; gap: 13px; border: 1px solid #ceced7; border-radius: 15px; background: #fff; padding: 15px; }
.shipment-import-safety > i { display: grid; width: 40px; height: 40px; flex: 0 0 auto; place-items: center; border: 1px solid #d6001c; border-radius: 50%; color: #d6001c; font-size: 1rem; }
.shipment-import-safety > div { display: grid; gap: 3px; }
.shipment-import-safety strong { color: #58595b; font-size: .7rem; }
.shipment-import-safety small { color: #58595b; font-size: .59rem; line-height: 1.45; }
.shipment-import-submit { display: flex; justify-content: flex-end; margin-top: 18px; }
.shipment-import-summary { display: flex; flex-wrap: wrap; gap: 10px; border-top: 1px solid #ceced7; padding: 14px 22px; }
.shipment-import-summary > span { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #ceced7; border-radius: 999px; background: #fff; color: #58595b; padding: 7px 11px; font-size: .61rem; }
.shipment-import-summary strong { color: #d6001c; font-size: .72rem; }
.shipment-import-table { min-width: 1040px; }
.shipment-import-row-error { background: rgba(239,68,75,.055); }
.shipment-import-errors td { background: rgba(239,68,75,.08); }
.shipment-import-errors ul { display: grid; gap: 3px; margin: 0; padding-left: 18px; color: #89181a; font-size: .62rem; }
.shipment-import-ok, .shipment-import-bad { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 6px 9px; font-size: .59rem; font-weight: 800; white-space: nowrap; }
.shipment-import-ok { background: rgba(41,163,73,.14); color: #0b8a44; }
.shipment-import-bad { background: rgba(239,68,75,.14); color: #89181a; }
.shipment-import-confirm, .shipment-import-blocked { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid #ceced7; padding: 18px 22px; }
.shipment-import-confirm > div, .shipment-import-blocked { color: #58595b; }
.shipment-import-confirm > div { display: flex; align-items: center; gap: 11px; }
.shipment-import-confirm > div > i, .shipment-import-blocked > i { color: #d6001c; font-size: 1.05rem; }
.shipment-import-confirm span, .shipment-import-blocked span { display: grid; gap: 2px; }
.shipment-import-confirm strong, .shipment-import-blocked strong { font-size: .69rem; }
.shipment-import-confirm small, .shipment-import-blocked small { color: #58595b; font-size: .59rem; }
.shipment-import-blocked { justify-content: flex-start; background: rgba(239,68,75,.055); }
@media (max-width: 900px) {
    .shipment-import-guide { grid-template-columns: 1fr; }
    .shipment-file-drop { align-items: flex-start; flex-wrap: wrap; }
    .shipment-file-drop input { width: 100%; max-width: none; }
}
@media (max-width: 700px) {
    .dashboard-greeting-actions { width: 100%; }
    .dashboard-secondary-action, .dashboard-greeting-actions .dashboard-primary-action { width: 100%; justify-content: center; }
    .shipment-import-confirm { align-items: stretch; flex-direction: column; }
    .shipment-import-confirm .btn { justify-content: center; }
}

/* Bootstrap Icons: ενιαία γεωμετρία και οπτικό βάρος σε όλη την εφαρμογή. */
.bi {
    display: inline-block;
    line-height: 1;
    vertical-align: -.125em;
}
.sidebar-toggle {
    align-items: center;
    justify-content: center;
    gap: 0;
}
.sidebar-toggle .bi {
    color: #d6001c;
    font-size: 1.35rem;
}
.nav-symbol .bi,
.metric-symbol .bi,
.client-category-option > span .bi,
.entity-avatar .bi,
.contact-switch > span .bi,
.vehicle-mark .bi,
.role-code .bi,
.reference-card > header > span .bi,
.form-step-number .bi,
.wizard-step button > span .bi,
.inline-create-link > span .bi,
.party-copy-button > span .bi,
.security-banner-icon .bi,
.client-point-title > span .bi,
.stage-icon .bi,
.dashboard-quick-grid a > span .bi,
.yearly-import-note > span .bi,
.driver-avatar .bi,
.activity-entry > span .bi {
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 0;
}
.client-preview-icon .bi,
.client-edit-icon .bi,
.client-trash-icon .bi {
    font-size: 1rem;
}
.shipment-bulk-action > .bi {
    flex: 0 0 18px;
    width: 18px;
    font-size: 1.05rem;
    text-align: center;
}
.archive-export-icon .bi,
.shipment-sort-link .bi,
.reference-add .bi,
.settings-warning .bi,
.review-confirmation .bi,
.client-reviewed-tick .bi,
.dashboard-map-pin .bi {
    font-size: 1rem;
}
.logout-button,
.reference-add,
.password-visibility,
.dashboard-primary-action,
.wallet-received,
.driver-wallet-row button {
    align-items: center;
    gap: .4rem;
}
.mock-qr {
    color: #d6001c;
    background: #fff;
    border: 1px solid #d6001c;
    border-radius: .45rem;
}
.mock-qr .bi { font-size: 1.25rem; }

.client-points-section { margin-top: 22px; }
.client-billing-stats-section { margin-top: 22px; }
.client-billing-summary { margin-bottom: 22px; }
.client-billing-summary .mini-metric strong { font-size: clamp(1.25rem, 2.4vw, 1.7rem); }
.client-billing-table-wrap { border: 1px solid var(--cc-line); border-radius: 16px; overflow-x: auto; overflow-y: hidden; }
.client-billing-comparison-table { min-width: 980px; }
.client-billing-comparison-table th { text-align: center; white-space: nowrap; }
.client-billing-comparison-table th:first-child,
.client-billing-comparison-table td:first-child { text-align: left; }
.client-billing-comparison-table td:not(:first-child) { text-align: right; white-space: nowrap; }
.client-billing-comparison-table .billing-comparison-groups th { border-bottom-color: rgba(239,68,75,.22); background: rgba(239,68,75,.06); color: #58595b; }
.billing-year-label { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.billing-year-label i { width: 7px; height: 7px; border-radius: 50%; }
.billing-year-label.is-2025 i { background: #89181a; }
.billing-year-label.is-2026 i { background: #d6001c; }
.billing-year-value { font-weight: 800; }
.billing-year-value.is-2025 { color: #89181a; }
.billing-year-value.is-2026 { color: #d6001c; }
.billing-difference { display: inline-flex; min-width: 82px; justify-content: flex-end; border-radius: 999px; padding: 5px 8px; font-size: .62rem; font-weight: 850; }
.billing-difference.is-positive { background: rgba(214,0,28,.09); color: #d6001c; }
.billing-difference.is-negative { background: rgba(206,206,215,.38); color: #58595b; }
.billing-difference.is-neutral { background: #fff; color: #58595b; }
.client-billing-comparison-note { display: flex; align-items: flex-start; gap: 7px; margin: 12px 2px 0; color: #58595b; font-size: .62rem; line-height: 1.5; }
.client-billing-comparison-note i { margin-top: 2px; color: #d6001c; }
.client-billing-empty { border: 1px dashed var(--cc-line); border-radius: 16px; }
.client-points-grid { display: grid; gap: 22px; }
.client-point-panel { overflow: hidden; border: 1px solid #ceced7; border-radius: 16px; background: #fff; }
.client-point-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px; border-bottom: 1px solid #ceced7; }
.client-point-title { display: flex; align-items: center; gap: 13px; min-width: 0; }
.client-point-title > span { display: grid; flex: 0 0 42px; height: 42px; place-items: center; color: #58595b; background: rgba(86,196,199,.14); border-radius: 12px; font-size: .66rem; font-weight: 850; }
.client-point-title h3 { margin: 0 0 3px; color: #58595b; font-size: 1rem; font-weight: 750; }
.client-point-title p { margin: 0; color: #58595b; font-size: .7rem; }
.client-point-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 20px; background: #fff; border-bottom: 1px solid #ceced7; }
.client-point-toolbar .search-field { flex: 1; }
.client-point-toolbar .search-field input { width: min(430px, 100%); }
.client-point-count { flex: 0 0 auto; color: #58595b; font-size: .68rem; font-weight: 750; }
.client-point-table { min-width: 760px; }
.client-point-table-wrap { max-height: 470px; overflow: auto; }
.client-point-table thead { position: sticky; top: 0; z-index: 1; }
.client-point-empty { padding: 30px 20px; color: #58595b; background: #fff; font-size: .78rem; text-align: center; }

@media (max-width: 700px) {
    .client-point-header, .client-point-toolbar { align-items: stretch; flex-direction: column; }
    .client-point-header .btn { width: 100%; }
    .client-point-toolbar .search-field input { width: 100%; }
}

/* Ενιαία παράθυρα επιβεβαίωσης και ειδοποίησης της εφαρμογής. */
body.cc-dialog-open { overflow: hidden; }
.cc-dialog-layer {
    position: fixed;
    z-index: 11000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 22px;
    background: rgba(88,89,91,.42);
    opacity: 0;
    transition: opacity .16s ease;
}
.cc-dialog-layer[hidden] { display: none; }
.cc-dialog-layer.is-visible { opacity: 1; }
.cc-dialog {
    width: min(540px, 100%);
    min-height: 330px;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 65px rgba(88,89,91,.24);
    padding: 46px 40px 38px;
    text-align: center;
    transform: translateY(8px) scale(.985);
    transition: transform .16s ease;
}
.cc-dialog-layer.is-visible .cc-dialog { transform: translateY(0) scale(1); }
.cc-dialog-icon {
    display: grid;
    width: 98px;
    height: 98px;
    place-items: center;
    border: 4px solid #ef444b;
    border-radius: 50%;
    color: #ef444b;
    font-size: 3.15rem;
    font-weight: 450;
    line-height: 1;
}
.cc-dialog-message {
    max-width: 440px;
    margin: 33px 0 46px;
    color: #58595b;
    font-size: 1.28rem;
    font-weight: 700;
    line-height: 1.45;
}
.cc-dialog-actions { display: flex; justify-content: center; gap: 12px; }
.cc-dialog-button {
    min-width: 98px;
    min-height: 48px;
    border: 0;
    border-radius: 5px;
    padding: 11px 21px;
    color: #fff;
    font-size: 1rem;
    font-weight: 650;
    cursor: pointer;
    transition: filter .14s ease, box-shadow .14s ease, transform .14s ease;
}
.cc-dialog-button:hover { filter: brightness(.95); }
.cc-dialog-button:active { transform: translateY(1px); }
.cc-dialog-button:focus-visible { outline: 3px solid rgba(214,0,28,.28); outline-offset: 3px; }
.cc-dialog-cancel { background: #58595b; }
.cc-dialog-confirm { background: #018a84; }
@media (max-width: 580px) {
    .cc-dialog { min-height: 300px; padding: 36px 22px 30px; }
    .cc-dialog-icon { width: 82px; height: 82px; font-size: 2.7rem; }
    .cc-dialog-message { margin: 27px 0 34px; font-size: 1.05rem; }
}
@media (prefers-reduced-motion: reduce) {
    .cc-dialog-layer, .cc-dialog { transition: none; }
}

/* Shipment sorting and archive billing export */
.shipment-sort-link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
}

.shipment-sort-link span {
    display: inline-grid;
    width: 1.35rem;
    height: 1.35rem;
    place-items: center;
    border-radius: .4rem;
    color: #58595b;
    background: rgba(86,196,199,.14);
    font-size: .78rem;
}

.shipment-sort-link:hover,
.shipment-sort-link:focus-visible {
    color: #58595b;
}

.data-toolbar {
    flex-wrap: wrap;
}

.archive-client-filter select {
    min-width: 190px;
}

.compact-select-field select {
    min-width: 118px;
}

.shipment-sort-field select {
    min-width: 220px;
}

.archive-export-panel {
    margin: 0 1.5rem 1.5rem;
    overflow: hidden;
    border: 1px solid #ceced7;
    border-radius: 20px;
    background: linear-gradient(135deg, #fff 0%, #fff 100%);
}

.archive-export-panel > summary {
    display: flex;
    align-items: center;
    gap: .9rem;
    padding: 1rem 1.15rem;
    cursor: pointer;
    list-style: none;
}

.archive-export-panel > summary::-webkit-details-marker {
    display: none;
}

.archive-export-panel > summary > span:not(.archive-export-icon) {
    display: grid;
    gap: .18rem;
}

.archive-export-panel > summary strong {
    color: #58595b;
    font-size: 1rem;
}

.archive-export-panel > summary small {
    color: #58595b;
}

.archive-export-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border-radius: 13px;
    color: #fff;
    background: linear-gradient(135deg, #d6001c, #d6001c);
    font-size: 1.35rem;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(214,0,28,.22);
}

.archive-export-form {
    padding: 0 1.15rem 1.15rem;
    border-top: 1px solid #ceced7;
}

.archive-export-filters {
    display: grid;
    grid-template-columns: minmax(240px, 1.6fr) minmax(170px, .8fr) minmax(130px, .5fr);
    gap: .9rem;
    padding: 1.1rem 0;
}

.archive-export-filters label {
    color: #58595b;
    font-weight: 700;
}

.archive-export-filters label > span {
    display: block;
    margin-bottom: .4rem;
    font-size: .78rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.archive-export-filters select {
    width: 100%;
    min-height: 46px;
    padding: .65rem .8rem;
    border: 1px solid #ceced7;
    border-radius: 12px;
    color: #58595b;
    background: #fff;
}

.archive-export-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1rem;
}

.archive-export-actions p {
    max-width: 680px;
    margin: 0;
    color: #58595b;
    font-size: .84rem;
}

.archive-export-actions .btn {
    min-width: 150px;
}

@media (max-width: 1000px) {
    .archive-export-filters {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }
}

@media (max-width: 650px) {
    .archive-export-panel {
        margin: 0 .8rem 1rem;
    }

    .archive-export-filters {
        grid-template-columns: 1fr;
    }

    .archive-export-actions {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Operations dashboard */
.operations-dashboard { display: grid; gap: 20px; }
.operations-top-grid { display: grid; grid-template-columns: minmax(0, .94fr) minmax(440px, 1.06fr); gap: 20px; align-items: stretch; }
.operations-summary-column { display: grid; gap: 18px; }
.dashboard-greeting { display: flex; min-height: 106px; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid #ceced7; border-radius: 22px; background: radial-gradient(circle at 78% 20%, rgba(214,0,28,.1), transparent 30%), linear-gradient(135deg, #fff, #fff); box-shadow: 0 14px 36px rgba(88,89,91,.055); padding: 21px 24px; }
.dashboard-greeting h2 { margin: 5px 0 3px; color: #58595b; font-size: clamp(1.4rem, 2.6vw, 2rem); letter-spacing: -.025em; }
.dashboard-greeting p { margin: 0; color: #58595b; font-size: .76rem; }
.dashboard-greeting p strong { color: #58595b; }
.dashboard-live-kicker { display: inline-flex; align-items: center; gap: 7px; color: #58595b; font-size: .65rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.dashboard-live-kicker i, .map-live-status i { width: 7px; height: 7px; border-radius: 50%; background: #0b8a44; box-shadow: 0 0 0 5px rgba(11,138,68,.11); animation: dashboard-pulse 2s infinite; }
@keyframes dashboard-pulse { 50% { box-shadow: 0 0 0 9px rgba(11,138,68,0); } }
.dashboard-primary-action { display: inline-flex; min-height: 44px; align-items: center; gap: 8px; border-radius: 13px; background: linear-gradient(135deg, #d6001c, #d6001c); box-shadow: 0 12px 24px rgba(214,0,28,.2); color: #fff; padding: 10px 15px; font-size: .75rem; font-weight: 850; text-decoration: none; white-space: nowrap; }
.dashboard-primary-action:hover { color: #fff; transform: translateY(-1px); }
.dashboard-primary-action span { font-size: 1.15rem; line-height: 1; }
.dashboard-stage-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.dashboard-stage-card { position: relative; min-height: 222px; overflow: hidden; border: 1px solid #ceced7; border-radius: 20px; background: #fff; box-shadow: 0 13px 35px rgba(88,89,91,.06); color: #58595b; padding: 18px; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.dashboard-stage-card::after { position: absolute; right: -30px; bottom: -52px; width: 130px; height: 130px; border-radius: 50%; background: var(--stage-soft); content: ''; }
.dashboard-stage-card:hover { color: #58595b; transform: translateY(-3px); box-shadow: 0 18px 42px rgba(88,89,91,.11); }
.dashboard-stage-card > small { position: absolute; right: 16px; top: 18px; color: #58595b; font-size: .56rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.dashboard-stage-card > strong { display: block; margin: 20px 0 1px; color: #58595b; font-size: 2rem; line-height: 1; }
.dashboard-stage-card h3 { margin: 9px 0 4px; font-size: .8rem; font-weight: 850; }
.dashboard-stage-card p { max-width: 150px; margin: 0; color: #58595b; font-size: .64rem; line-height: 1.45; }
.dashboard-stage-card > i { position: absolute; z-index: 1; right: 17px; bottom: 15px; display: grid; width: 29px; height: 29px; place-items: center; border-radius: 50%; background: var(--stage-color); color: #fff; font-style: normal; }
.stage-icon { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 13px; background: var(--stage-soft); color: var(--stage-color); font-size: .65rem; font-weight: 900; }
.stage-new { --stage-color: #d6001c; --stage-soft: #fff; }
.stage-active { --stage-color: #0b8a44; --stage-soft: rgba(41,163,73,.14); }
.stage-archive { --stage-color: #d6001c; --stage-soft: #fff; }
.dashboard-panel { overflow: hidden; border: 1px solid #ceced7; border-radius: 22px; background: #fff; box-shadow: 0 13px 35px rgba(88,89,91,.055); }
.dashboard-panel-heading { display: flex; min-height: 67px; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 18px; }
.dashboard-panel-heading > div:first-child { display: grid; gap: 2px; }
.dashboard-panel-heading span { color: #58595b; font-size: .55rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.dashboard-panel-heading h3 { margin: 0; color: #58595b; font-size: .91rem; font-weight: 850; }
.dashboard-panel-heading > small { color: #58595b; font-size: .62rem; }
.dashboard-panel-heading select, .dashboard-panel-heading input[type="date"] { min-height: 34px; border: 1px solid #ceced7; border-radius: 10px; background: #fff; color: #58595b; padding: 5px 9px; font-size: .66rem; font-weight: 750; }
.quick-actions-panel { min-height: 153px; }
.dashboard-quick-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; padding: 0 15px 15px; }
.dashboard-quick-grid a { display: grid; min-height: 82px; grid-template-columns: 33px 1fr; grid-template-rows: auto auto; align-content: center; column-gap: 9px; border: 1px solid #ceced7; border-radius: 14px; background: #fff; color: #58595b; padding: 10px; text-decoration: none; }
.dashboard-quick-grid a:hover { border-color: #ceced7; background: #fff; }
.dashboard-quick-grid a > span { grid-row: 1 / 3; display: grid; width: 33px; height: 33px; place-items: center; align-self: center; border-radius: 10px; font-size: .62rem; font-weight: 900; }
.dashboard-quick-grid strong { align-self: end; font-size: .66rem; }
.dashboard-quick-grid small { align-self: start; overflow: hidden; color: #58595b; font-size: .55rem; text-overflow: ellipsis; white-space: nowrap; }
.quick-red { background: #fff; color: #58595b; }.quick-teal { background: rgba(41,163,73,.14); color: #0b8a44; }.quick-blue { background: rgba(86,196,199,.14); color: #58595b; }.quick-violet { background: #fff; color: #58595b; }
.operations-map-card { display: grid; min-height: 500px; grid-template-rows: auto auto 1fr auto; }
.map-heading { border-bottom: 1px solid #ceced7; }
.map-live-status { display: inline-flex !important; align-items: center; grid: none !important; gap: 8px !important; border-radius: 999px; background: rgba(41,163,73,.14); color: #0b8a44; padding: 7px 10px; font-size: .59rem; font-weight: 850; }
.map-legend { display: flex; flex-wrap: wrap; gap: 17px; border-bottom: 1px solid #ceced7; background: #fff; padding: 10px 18px; }
.map-legend span { display: flex; align-items: center; gap: 6px; color: #58595b; font-size: .61rem; font-weight: 700; }
.map-legend b { color: #58595b; }
.map-legend i, .map-footnote i { width: 8px; height: 8px; border-radius: 50%; }
.pickup-dot, .map-footnote span:nth-child(1) i { background: #d6001c; }.delivery-dot, .map-footnote span:nth-child(2) i { background: #0b8a44; }.driver-dot, .map-footnote span:nth-child(3) i { background: #ef444b; }
.operations-map { position: relative; min-height: 380px; overflow: hidden; background: rgba(86,196,199,.14); }
.map-fallback-grid { position: absolute; inset: 0; overflow: hidden; background: radial-gradient(circle at 70% 28%, rgba(41,163,73,.2), transparent 19%), radial-gradient(circle at 28% 68%, rgba(214,0,28,.16), transparent 23%), linear-gradient(135deg, rgba(41,163,73,.14), rgba(86,196,199,.14)); }
.map-fallback-grid::before, .map-fallback-grid::after { position: absolute; inset: -15%; opacity: .5; background-image: linear-gradient(rgba(255,255,255,.88) 2px, transparent 2px), linear-gradient(90deg, rgba(255,255,255,.88) 2px, transparent 2px); background-size: 55px 55px; content: ''; transform: rotate(-8deg); }
.map-fallback-grid::after { opacity: .22; background-size: 18px 18px; }
.map-road { position: absolute; z-index: 1; height: 7px; border: 2px solid rgba(255,255,255,.96); border-radius: 999px; background: #ef444b; box-shadow: 0 1px 3px rgba(1,138,132,.1); }
.road-one { left: -8%; top: 38%; width: 120%; transform: rotate(12deg); }.road-two { left: 12%; top: 66%; width: 95%; transform: rotate(-17deg); }.road-three { left: 34%; top: 10%; width: 80%; transform: rotate(67deg); }
.map-empty-message { position: absolute; z-index: 4; left: 50%; top: 50%; display: grid; width: min(370px, 82%); transform: translate(-50%, -50%); justify-items: center; border: 1px solid rgba(255,255,255,.8); border-radius: 18px; background: rgba(255,255,255,.89); box-shadow: 0 18px 45px rgba(1,138,132,.13); padding: 22px; text-align: center; backdrop-filter: blur(8px); }
.map-empty-message > span { border-radius: 8px; background: rgba(86,196,199,.14); color: #58595b; padding: 5px 8px; font-size: .54rem; font-weight: 900; letter-spacing: .1em; }
.map-empty-message strong { margin: 9px 0 4px; color: #58595b; font-size: .82rem; }.map-empty-message small { color: #58595b; font-size: .63rem; line-height: 1.55; }
.map-empty-message.is-compact { left: 14px; top: 14px; width: 260px; transform: none; align-items: start; justify-items: start; padding: 14px; text-align: left; }
.dashboard-map-pin { position: absolute; z-index: 5; display: grid; width: 30px; height: 30px; transform: translate(-50%, -50%); place-items: center; border: 3px solid #fff; border-radius: 50% 50% 50% 8px; box-shadow: 0 5px 13px rgba(88,89,91,.28); color: #fff; font-size: .55rem; font-weight: 900; cursor: help; }.dashboard-map-pin.is-pickup { background: #d6001c; }.dashboard-map-pin.is-delivery { background: #0b8a44; }.dashboard-map-pin.is-driver { background: #ef444b; }
.map-footnote { display: flex; flex-wrap: wrap; gap: 16px; border-top: 1px solid #ceced7; padding: 10px 17px; }.map-footnote span { display: flex; align-items: center; gap: 6px; color: #58595b; font-size: .57rem; }
.dashboard-insights-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.monthly-chart-card, .yearly-chart-card { min-height: 330px; }
.monthly-chart { position: relative; display: grid; height: 205px; grid-template-columns: repeat(12, minmax(20px, 1fr)); align-items: end; gap: 10px; margin: 3px 20px 0; border-bottom: 1px solid #ceced7; padding: 15px 4px 0; }
.chart-grid-lines { position: absolute; inset: 14px 0 24px; display: flex; flex-direction: column; justify-content: space-between; }.chart-grid-lines i { display: block; border-top: 1px dashed #ceced7; }
.month-column { position: relative; z-index: 1; display: grid; height: 100%; grid-template-rows: 18px 1fr 23px; align-items: end; justify-items: center; }
.month-column > strong { color: #58595b; font-size: .55rem; }.month-column > span { width: min(30px, 72%); min-height: 4px; border-radius: 0; background: linear-gradient(180deg, #ef444b, #d6001c); box-shadow: 0 8px 14px rgba(214,0,28,.13); }.month-column > small { color: #58595b; font-size: .55rem; }
.chart-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 20px 17px; }.chart-summary span { display: flex; align-items: center; gap: 7px; color: #58595b; font-size: .65rem; font-weight: 800; }.chart-summary i { width: 8px; height: 8px; border-radius: 50%; background: #d6001c; }.chart-summary small { color: #58595b; font-size: .57rem; text-align: right; }
.yearly-bars { display: grid; gap: 15px; padding: 10px 20px 15px; }.yearly-bars > div { display: grid; grid-template-columns: 42px 1fr 34px; align-items: center; gap: 9px; }.yearly-bars span, .yearly-bars strong { color: #58595b; font-size: .64rem; }.yearly-bars strong { text-align: right; }.yearly-bars i { height: 9px; overflow: hidden; border-radius: 0; background: rgba(86,196,199,.14); }.yearly-bars b { display: block; height: 100%; border-radius: 0; background: linear-gradient(90deg, #d6001c, #d6001c); }
.history-comparison-legend { display: flex; flex-wrap: wrap; gap: 12px 20px; padding: 1px 20px 4px; }
.history-comparison-legend > span { display: grid; grid-template-columns: 9px auto; align-items: center; column-gap: 7px; color: #58595b; }
.history-comparison-legend i { width: 9px; height: 9px; grid-row: 1 / 3; border-radius: 50%; }
.history-comparison-legend i.is-2025, .comparison-bars i.is-2025 { background: #89181a; }
.history-comparison-legend i.is-2026, .comparison-bars i.is-2026 { background: #d6001c; }
.history-comparison-legend strong { font-size: .65rem; line-height: 1; }
.history-comparison-legend small { color: #58595b; font-size: .53rem; line-height: 1.2; }
.monthly-comparison-chart { position: relative; display: grid; height: 205px; grid-template-columns: repeat(12, minmax(22px, 1fr)); align-items: end; gap: 7px; margin: 0 20px; border-bottom: 1px solid #ceced7; padding: 13px 4px 0; }
.comparison-month { position: relative; z-index: 1; display: grid; height: 100%; grid-template-rows: 18px 1fr 23px; align-items: end; justify-items: center; }
.comparison-values, .comparison-bars { display: grid; width: min(44px, 96%); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px; }
.comparison-values { align-items: end; color: #58595b; font-size: .46rem; line-height: 1; text-align: center; }
.comparison-bars { height: 100%; align-items: end; }
.comparison-bars i { display: block; min-height: 4px; border-radius: 0; box-shadow: 0 7px 13px rgba(137,24,26,.13); }
.comparison-bars i.is-2026 { box-shadow: 0 7px 13px rgba(214,0,28,.14); }
.comparison-month > small { color: #58595b; font-size: .54rem; }
.history-comparison-note { display: flex; align-items: center; gap: 7px; padding: 12px 20px 17px; color: #58595b; font-size: .57rem; }
.history-comparison-note i { color: #d6001c; }
.yearly-import-note { display: flex; align-items: center; gap: 11px; margin: 6px 18px 18px; border-radius: 14px; background: #fff; color: #58595b; padding: 12px; }.yearly-import-note > span { display: grid; flex: 0 0 32px; width: 32px; height: 32px; place-items: center; border-radius: 10px; background: rgba(86,196,199,.14); font-weight: 900; }.yearly-import-note p { display: grid; gap: 2px; margin: 0; }.yearly-import-note strong { font-size: .66rem; }.yearly-import-note small { color: #58595b; font-size: .56rem; line-height: 1.4; }
.dashboard-bottom-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.driver-wallet-card, .activity-card { min-height: 360px; }
.wallet-summary-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #ceced7; border-bottom: 1px solid #ceced7; background: #fff; }.wallet-summary-strip > span { display: grid; gap: 2px; padding: 12px 18px; }.wallet-summary-strip > span + span { border-left: 1px solid #ceced7; }.wallet-summary-strip small { color: #58595b; font-size: .57rem; }.wallet-summary-strip strong { color: #58595b; font-size: 1rem; }
.driver-wallet-list { display: grid; max-height: 360px; overflow-y: auto; }.driver-wallet-row { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto minmax(106px, auto); align-items: center; gap: 11px; border-bottom: 1px solid #ceced7; padding: 13px 18px; }.driver-wallet-row:last-child { border-bottom: 0; }.driver-wallet-row.is-received { background: #fff; }.driver-avatar { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: rgba(86,196,199,.14); color: #58595b; font-size: .62rem; font-weight: 900; }.driver-wallet-row > div { display: grid; }.driver-wallet-row > div strong { color: #58595b; font-size: .7rem; }.driver-wallet-row > div small { color: #58595b; font-size: .58rem; }.driver-wallet-row > b { color: #58595b; font-size: .78rem; white-space: nowrap; }.driver-wallet-row form { margin: 0; }.driver-wallet-row button { border: 0; border-radius: 9px; background: rgba(41,163,73,.14); color: #0b8a44; padding: 8px 10px; font-size: .59rem; font-weight: 850; }.wallet-received, .wallet-no-cash { color: #0b8a44; font-size: .59rem; font-weight: 850; text-align: right; }.wallet-received small { display: block; color: #58595b; }.wallet-no-cash { color: #58595b; font-weight: 700; }
.activity-timeline { position: relative; display: grid; max-height: 428px; overflow-y: auto; padding: 0 18px 14px; }.activity-timeline::before { position: absolute; top: 5px; bottom: 20px; left: 37px; width: 2px; background: rgba(86,196,199,.14); content: ''; }.activity-entry { position: relative; z-index: 1; display: grid; min-height: 61px; grid-template-columns: 39px minmax(0, 1fr) auto; align-items: center; gap: 11px; border-bottom: 1px solid #ceced7; padding: 10px 0; }.activity-entry > span { display: grid; width: 37px; height: 37px; place-items: center; border: 4px solid #fff; border-radius: 50%; background: rgba(86,196,199,.14); color: #58595b; box-shadow: 0 0 0 1px rgba(86,196,199,.14); font-size: .55rem; font-weight: 900; }.activity-entry > div { display: grid; gap: 2px; }.activity-entry > div strong { color: #58595b; font-size: .69rem; }.activity-entry p { margin: 0; color: #58595b; font-size: .59rem; }.activity-entry time { display: grid; justify-items: end; }.activity-entry time b { color: #58595b; font-size: .67rem; }.activity-entry time small { color: #58595b; font-size: .54rem; }.activity-entry.is-assigned > span, .activity-entry.is-transferred > span { background: #fff; color: #58595b; }.activity-entry.is-delivered > span, .activity-entry.is-picked > span { background: rgba(41,163,73,.14); color: #0b8a44; }.activity-entry.is-cancelled > span { background: #fff; color: #58595b; }
.dashboard-empty { margin: 15px 0; color: #58595b; font-size: .68rem; text-align: center; }

@media (max-width: 1400px) {
    .operations-top-grid { grid-template-columns: 1fr; }
    .operations-map-card { min-height: 520px; }
}
@media (max-width: 900px) {
    .dashboard-insights-grid, .dashboard-bottom-grid { grid-template-columns: 1fr; }
    .dashboard-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .dashboard-greeting { align-items: flex-start; flex-direction: column; }
    .dashboard-primary-action { width: 100%; justify-content: center; }
    .dashboard-stage-grid { grid-template-columns: 1fr; }
    .dashboard-stage-card { min-height: 170px; }
    .monthly-chart { gap: 3px; margin-inline: 10px; }
    .monthly-comparison-chart { gap: 3px; margin-inline: 10px; }
    .month-column > span { width: 65%; }
    .month-column > small { transform: rotate(-45deg); transform-origin: center; }
    .comparison-values, .comparison-bars { width: 92%; gap: 2px; }
    .comparison-month > small { transform: rotate(-45deg); transform-origin: center; }
    .chart-summary { align-items: flex-start; flex-direction: column; }
    .chart-summary small { text-align: left; }
    .driver-wallet-row { grid-template-columns: 40px minmax(0, 1fr) auto; }
    .driver-wallet-row > form, .driver-wallet-row > .wallet-received, .driver-wallet-row > .wallet-no-cash { grid-column: 2 / 4; text-align: left; }
}

/* Ενιαίο εταιρικό σύστημα χρωμάτων Express Courier. */
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #d6001c;
    --bs-btn-border-color: #d6001c;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #89181a;
    --bs-btn-hover-border-color: #89181a;
    --bs-btn-focus-shadow-rgb: 214, 0, 28;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #89181a;
    --bs-btn-active-border-color: #89181a;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #ef444b;
    --bs-btn-disabled-border-color: #ef444b;
}
.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #58595b;
    --bs-btn-border-color: #58595b;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #89181a;
    --bs-btn-hover-border-color: #89181a;
}
.btn-light {
    --bs-btn-color: #58595b;
    --bs-btn-bg: #fff;
    --bs-btn-border-color: #ceced7;
    --bs-btn-hover-color: #89181a;
    --bs-btn-hover-bg: rgba(239,68,75,.14);
    --bs-btn-hover-border-color: #ef444b;
    --bs-btn-active-color: #89181a;
    --bs-btn-active-bg: rgba(239,68,75,.14);
    --bs-btn-active-border-color: #d6001c;
}
.btn-outline-primary {
    --bs-btn-color: #d6001c;
    --bs-btn-border-color: #d6001c;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #d6001c;
    --bs-btn-hover-border-color: #d6001c;
    --bs-btn-focus-shadow-rgb: 214, 0, 28;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #89181a;
    --bs-btn-active-border-color: #89181a;
    --bs-btn-disabled-color: #ef444b;
    --bs-btn-disabled-border-color: #ef444b;
}
.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: #0b8a44;
    --bs-btn-border-color: #0b8a44;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #29a349;
    --bs-btn-hover-border-color: #29a349;
    --bs-btn-focus-shadow-rgb: 11, 138, 68;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0b8a44;
    --bs-btn-active-border-color: #0b8a44;
}
.btn-info {
    --bs-btn-color: #fff;
    --bs-btn-bg: #018a84;
    --bs-btn-border-color: #018a84;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #56c4c7;
    --bs-btn-hover-border-color: #56c4c7;
    --bs-btn-focus-shadow-rgb: 1, 138, 132;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #018a84;
    --bs-btn-active-border-color: #018a84;
}
.btn-warning {
    --bs-btn-color: #fff;
    --bs-btn-bg: #ef444b;
    --bs-btn-border-color: #ef444b;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #d6001c;
    --bs-btn-hover-border-color: #d6001c;
    --bs-btn-focus-shadow-rgb: 239, 68, 75;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #89181a;
    --bs-btn-active-border-color: #89181a;
}
.btn-danger {
    --bs-btn-color: #fff;
    --bs-btn-bg: #89181a;
    --bs-btn-border-color: #89181a;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #d6001c;
    --bs-btn-hover-border-color: #d6001c;
    --bs-btn-focus-shadow-rgb: 137, 24, 26;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #89181a;
    --bs-btn-active-border-color: #89181a;
}
.alert-success { color: #0b8a44; background: rgba(41,163,73,.14); border-color: #29a349; }
.alert-info { color: #018a84; background: rgba(86,196,199,.14); border-color: #56c4c7; }
.alert-warning { color: #89181a; background: rgba(239,68,75,.14); border-color: #ef444b; }
.alert-danger { color: #89181a; background: rgba(239,68,75,.14); border-color: #d6001c; }

.form-control, .form-select, input, select, textarea { color: #58595b; border-color: #ceced7; }
.form-control:focus, .form-select:focus, input:focus, select:focus, textarea:focus { border-color: #d6001c; box-shadow: 0 0 0 .2rem rgba(214,0,28,.14); }
.form-check-input:checked { background-color: #d6001c; border-color: #d6001c; }
::placeholder { color: #58595b; opacity: .72; }

.page-eyebrow, .section-kicker, .welcome-kicker, .soft-link, .auth-card-heading > span, .dashboard-live-kicker, .dashboard-panel-heading span { color: #d6001c; }
.welcome-content p, .auth-brand-panel p, .auth-kicker, .auth-brand-panel > small { color: rgba(255,255,255,.82); }
.totp-secret { color: #fff; }

.metric-blue { --metric-color: #d6001c; --metric-soft: rgba(239,68,75,.14); }
.metric-violet { --metric-color: #018a84; --metric-soft: rgba(86,196,199,.14); }
.metric-emerald { --metric-color: #0b8a44; --metric-soft: rgba(41,163,73,.14); }
.metric-amber { --metric-color: #ef444b; --metric-soft: rgba(239,68,75,.14); }
.stage-new { --stage-color: #d6001c; --stage-soft: rgba(239,68,75,.14); }
.stage-active { --stage-color: #0b8a44; --stage-soft: rgba(41,163,73,.14); }
.stage-archive { --stage-color: #018a84; --stage-soft: rgba(86,196,199,.14); }
.quick-red { background: rgba(239,68,75,.14); color: #d6001c; }
.quick-teal { background: rgba(41,163,73,.14); color: #0b8a44; }
.quick-blue, .quick-violet { background: rgba(86,196,199,.14); color: #018a84; }

.status-created, .status-dispatched { color: #018a84; background: rgba(86,196,199,.14); }
.status-picked-up { color: #d6001c; background: rgba(239,68,75,.14); }
.status-delivered, .entity-active { color: #0b8a44; background: rgba(41,163,73,.14); }
.status-cancelled, .entity-inactive, .invalid-feedback, .address-lookup > small.is-error { color: #89181a; background: rgba(239,68,75,.14); }
.status-neutral { color: #58595b; background: rgba(206,206,215,.45); }

.client-category-option > span, .entity-avatar, .contact-switch > span, .role-code, .reference-card > header > span, .client-point-title > span, .driver-avatar, .activity-entry > span { color: #018a84; background: rgba(86,196,199,.14); }
.client-category-option.active > span { color: #d6001c; background: #fff; }
.contact-page-link, .shipment-cost-editor button { color: #d6001c; }
.contact-page-link.is-current { color: #fff; }

.client-edit-icon { color: #018a84; background: rgba(86,196,199,.14); border-color: #56c4c7; }
.client-edit-icon:hover, .client-edit-icon:focus-visible { color: #fff; background: #018a84; border-color: #018a84; }
.client-preview-icon { color: #0b8a44; background: rgba(41,163,73,.14); border-color: #29a349; }
.client-preview-icon:hover, .client-preview-icon:focus-visible { color: #fff; background: #0b8a44; border-color: #0b8a44; }
.client-trash-icon { color: #d6001c; background: rgba(239,68,75,.14); border-color: #ef444b; }
.client-trash-icon:hover, .client-trash-icon:focus-visible { color: #fff; background: #89181a; border-color: #89181a; }
.trash-icon-graphic { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.shipment-bulk-action.is-danger { color: #fff; background: #d6001c; border-color: #ef444b; }
.shipment-bulk-action.is-danger:hover:not(:disabled), .shipment-bulk-action.is-danger:focus-visible:not(:disabled) { background: #89181a; border-color: #89181a; }

.cc-dialog-confirm { background: #d6001c; }
.cc-dialog-cancel { background: #58595b; }
.client-preview-banner { border-left-color: #018a84 !important; }
.client-preview-readonly { color: #018a84; background: rgba(86,196,199,.14); }
.activity-timeline::before, .chart-grid-lines i { background: #ceced7; }
hr, fieldset, .table > :not(caption) > * > * { border-color: #ceced7; }

/* Το εταιρικό κόκκινο κυριαρχεί στις μεγάλες επιφάνειες. */
.welcome-panel {
    background: radial-gradient(circle at 84% 20%, rgba(239,68,75,.28), transparent 29%), linear-gradient(125deg, #58595b 0%, #89181a 42%, #d6001c 100%);
}
.welcome-kicker { color: #fff; }
.welcome-content p { color: rgba(255,255,255,.82); }

.fleet-hero {
    background: radial-gradient(circle at 85% 10%, rgba(239,68,75,.24), transparent 27%), linear-gradient(125deg, #58595b, #89181a 48%, #d6001c);
}
.fleet-hero p, .fleet-hero .section-kicker, .fleet-hero-metrics span { color: rgba(255,255,255,.82); }

.shipment-bulk-toolbar { background: linear-gradient(110deg, #89181a, #d6001c); }
.bulk-agent-field select { color: #89181a; }
.shipment-select-checkbox { accent-color: #d6001c; }
.shipment-table-scroll { scrollbar-color: #d6001c rgba(239,68,75,.14); }
.shipment-table-scroll::-webkit-scrollbar-track { background: rgba(239,68,75,.14); }
.shipment-table-scroll::-webkit-scrollbar-thumb { background: #d6001c; }
.shipment-table-scroll::-webkit-scrollbar-thumb:hover { background: #89181a; }

.voucher-canvas {
    background-color: rgba(239,68,75,.14);
    background-image: linear-gradient(rgba(88,89,91,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(88,89,91,.08) 1px, transparent 1px);
}
.security-settings-banner { background: linear-gradient(110deg, rgba(239,68,75,.14), #fff); }
.review-confirmation { color: #89181a; background: rgba(239,68,75,.14); }
.review-confirmation > span { color: #fff; background: #d6001c; }
.review-confirmation p { color: #89181a; }

.auth-body { background: rgba(239,68,75,.14); }
.auth-shell-minimal { background: radial-gradient(circle at 50% 10%, rgba(214,0,28,.14), transparent 34%), linear-gradient(145deg, rgba(239,68,75,.14), #fff 58%, rgba(214,0,28,.08)); }
.auth-security-note { color: #89181a; background: rgba(239,68,75,.14); }
.password-visibility:hover, .password-visibility:focus-visible { color: #89181a; background: rgba(239,68,75,.14); }
.logout-button, .shipment-cost-editor button, .reference-add, .inline-create-link > span { background: rgba(239,68,75,.14); }
.logout-button:hover, .reference-add:hover { background: rgba(214,0,28,.14); }

.operations-map { background: rgba(239,68,75,.14); }
.map-fallback-grid {
    background: radial-gradient(circle at 70% 28%, rgba(239,68,75,.2), transparent 19%), radial-gradient(circle at 28% 68%, rgba(214,0,28,.16), transparent 23%), linear-gradient(135deg, rgba(239,68,75,.14), rgba(206,206,215,.45));
}
.map-road { box-shadow: 0 1px 3px rgba(137,24,26,.12); }
.map-empty-message { box-shadow: 0 18px 45px rgba(137,24,26,.13); }
.map-empty-message > span { background: rgba(239,68,75,.14); }
.yearly-bars i, .activity-timeline::before, .progress-track { background: rgba(239,68,75,.14); }

.metric-blue { --metric-color: #d6001c; --metric-soft: rgba(239,68,75,.14); }
.metric-violet { --metric-color: #89181a; --metric-soft: rgba(214,0,28,.14); }
.metric-emerald { --metric-color: #ef444b; --metric-soft: rgba(239,68,75,.14); }
.metric-amber { --metric-color: #d6001c; --metric-soft: rgba(214,0,28,.14); }
.stage-new, .stage-active, .stage-archive { --stage-soft: rgba(239,68,75,.14); }

.btn-success {
    --bs-btn-bg: #89181a;
    --bs-btn-border-color: #89181a;
    --bs-btn-hover-bg: #d6001c;
    --bs-btn-hover-border-color: #d6001c;
    --bs-btn-active-bg: #89181a;
    --bs-btn-active-border-color: #89181a;
}
.btn-info {
    --bs-btn-bg: #ef444b;
    --bs-btn-border-color: #ef444b;
    --bs-btn-hover-bg: #d6001c;
    --bs-btn-hover-border-color: #d6001c;
    --bs-btn-active-bg: #89181a;
    --bs-btn-active-border-color: #89181a;
}
.alert-success { background: #fff; }
.alert-info { color: #58595b; background: #fff; border-color: #ef444b; }

/* Ενιαίες διαστάσεις για τις ενέργειες των πινάκων. */
.client-preview-icon,
.client-edit-icon,
.client-trash-icon {
    box-sizing: border-box;
    flex: 0 0 2.25rem;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border-radius: .7rem;
    line-height: 1;
}
.row-action-icon-graphic {
    display: block;
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Ενιαίο λευκό–κόκκινο στιλ για μικρά εικονίδια και μονογράμματα. */
.nav-symbol,
.metric-symbol,
.client-category-option > span,
.entity-avatar,
.contact-switch > span,
.vehicle-mark,
.role-code,
.reference-card > header > span,
.form-step-number,
.wizard-step button > span,
.inline-create-link > span,
.party-copy-button > span,
.security-banner-icon,
.client-point-title > span,
.stage-icon,
.dashboard-quick-grid a > span,
.yearly-import-note > span,
.driver-avatar,
.client-preview-icon,
.client-edit-icon,
.client-trash-icon {
    box-sizing: border-box;
    color: #d6001c;
    background: #fff;
    border: 1px solid #d6001c;
}
.sidebar-menu .nav-link .nav-symbol,
.sidebar-menu .nav-link.active .nav-symbol {
    color: #d6001c;
    background: #fff;
    border-color: #d6001c;
}

/* Ενιαία εγκεκριμένα πλαίσια σταδίων για διαχείριση και περιβάλλον πελάτη. */
:is(.admin-operations-dashboard, .client-portal-dashboard) .dashboard-stage-grid {
    gap: 16px;
}
:is(.admin-operations-dashboard, .client-portal-dashboard) .dashboard-stage-card {
    position: relative;
    isolation: isolate;
    min-height: 370px;
    overflow: hidden;
    border: 1px solid #ceced7;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(88,89,91,.09);
    padding: 26px 24px;
}
:is(.admin-operations-dashboard, .client-portal-dashboard) .dashboard-stage-card::before {
    position: absolute;
    z-index: -2;
    top: 128px;
    left: 66px;
    width: calc(100% - 78px);
    height: 104px;
    background-image: radial-gradient(
        circle,
        color-mix(in srgb, var(--stage-color) 24%, transparent) 0 1.45px,
        transparent 1.65px
    );
    background-position: center;
    background-size: 10px 10px;
    clip-path: polygon(0 28%, 64% 28%, 64% 4%, 100% 50%, 64% 96%, 64% 72%, 0 72%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 16%, #000 74%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 16%, #000 74%, transparent 100%);
    content: '';
}
:is(.admin-operations-dashboard, .client-portal-dashboard) .dashboard-stage-card::after {
    position: absolute;
    z-index: -2;
    right: -90px;
    bottom: -125px;
    width: 245px;
    height: 210px;
    border-radius: 50%;
    background: var(--stage-soft);
    content: '';
}
:is(.admin-operations-dashboard, .client-portal-dashboard) .dashboard-stage-card:hover {
    border-color: var(--stage-color);
    box-shadow: 0 22px 48px rgba(88,89,91,.14);
}
:is(.admin-operations-dashboard, .client-portal-dashboard) .dashboard-stage-card > small {
    position: static;
    display: inline-flex;
    min-height: 31px;
    align-items: center;
    gap: 9px;
    border-radius: 999px;
    background: var(--stage-soft);
    color: var(--stage-color);
    padding: 6px 13px;
    font-size: .67rem;
    font-weight: 850;
    letter-spacing: .04em;
}
:is(.admin-operations-dashboard, .client-portal-dashboard) .dashboard-stage-card > small > i {
    width: 9px;
    height: 9px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--stage-color);
    box-shadow: 0 0 0 5px color-mix(in srgb, var(--stage-color) 10%, transparent);
}
:is(.admin-operations-dashboard, .client-portal-dashboard) .stage-options {
    position: absolute;
    top: 28px;
    right: 23px;
    color: #9b9ca4;
    font-size: 1.35rem;
    line-height: 1;
}
:is(.admin-operations-dashboard, .client-portal-dashboard) .stage-icon {
    position: relative;
    z-index: 2;
    display: grid;
    width: 96px;
    height: 96px;
    margin-top: 41px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--stage-color) 24%, #fff);
    border-radius: 50%;
    background: #fff;
    box-shadow:
        0 16px 32px color-mix(in srgb, var(--stage-color) 16%, transparent),
        inset 0 0 0 7px color-mix(in srgb, var(--stage-color) 2%, #fff);
    color: var(--stage-color);
}
:is(.admin-operations-dashboard, .client-portal-dashboard) .stage-icon .bi {
    font-size: 2.55rem;
    line-height: 1;
    transform: translateY(-1px);
}
:is(.admin-operations-dashboard, .client-portal-dashboard) .dashboard-stage-card > strong {
    display: block;
    margin: 26px 0 0;
    color: #24272d;
    font-size: 3rem;
    font-weight: 800;
    line-height: 1;
}
:is(.admin-operations-dashboard, .client-portal-dashboard) .dashboard-stage-card h3 {
    margin: 14px 0 5px;
    color: #24272d;
    font-size: clamp(.94rem, 1.12vw, 1.22rem);
    font-weight: 800;
    letter-spacing: -.025em;
}
:is(.admin-operations-dashboard, .client-portal-dashboard) .dashboard-stage-card p {
    max-width: calc(100% - 48px);
    margin: 0;
    color: #58595b;
    font-size: .76rem;
    line-height: 1.5;
}
:is(.admin-operations-dashboard, .client-portal-dashboard) .stage-arrow {
    position: absolute;
    right: 23px;
    bottom: 22px;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 50%;
    background: var(--stage-color);
    box-shadow: 0 10px 22px color-mix(in srgb, var(--stage-color) 22%, transparent);
    color: #fff;
    font-size: 1.18rem;
}
:is(.admin-operations-dashboard, .client-portal-dashboard) .stage-new {
    --stage-color: #d6001c;
    --stage-soft: rgba(239,68,75,.13);
}
:is(.admin-operations-dashboard, .client-portal-dashboard) .stage-active {
    --stage-color: #89181a;
    --stage-soft: rgba(137,24,26,.11);
}
:is(.admin-operations-dashboard, .client-portal-dashboard) .stage-archive {
    --stage-color: #ef444b;
    --stage-soft: rgba(239,68,75,.1);
}
@media (max-width: 700px) {
    :is(.admin-operations-dashboard, .client-portal-dashboard) .dashboard-stage-card {
        min-height: 340px;
    }
}
.wizard-step.is-active button > span {
    color: #d6001c;
    background: #fff;
    border-color: #d6001c;
    box-shadow: 0 7px 18px rgba(214,0,28,.14);
}
.client-preview-icon:hover,
.client-preview-icon:focus-visible,
.client-edit-icon:hover,
.client-edit-icon:focus-visible,
.client-trash-icon:hover,
.client-trash-icon:focus-visible {
    color: #fff;
    background: #d6001c;
    border-color: #d6001c;
}
