:root {
    --primary: #b54724;
    --primary-dark: #873219;
    --primary-soft: #fff0e8;
    --accent: #315f9b;
    --accent-dark: #24476f;
    --accent-soft: #edf4fd;
    --ink: #172137;
    --ink-soft: #354158;
    --muted: #6d7482;
    --muted-light: #9ba0a9;
    --surface: #fffdf9;
    --background: #f7f4ee;
    --background-deep: #ede9e1;
    --border: #e2ddd4;
    --border-strong: #cec7bc;
    --warning: #d97706;
    --warning-soft: #fffbeb;
    --danger: #dc2626;
    --danger-soft: #fef2f2;
    --success: #15803d;
    --success-soft: #f0fdf4;
    --radius-sm: 10px;
    --radius: 16px;
    --radius-lg: 28px;
    --shadow-sm: 0 2px 8px rgba(42, 34, 25, .05);
    --shadow: 0 14px 36px rgba(42, 34, 25, .09);
    --shadow-lg: 0 26px 64px rgba(42, 34, 25, .13);
    --container: 1240px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: var(--background);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}
body.app-page { min-height: 100vh; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
button:disabled, input:disabled { cursor: not-allowed; opacity: .55; }
svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3, strong { letter-spacing: -.02em; }
h1, h2, h3, .brand { font-family: ui-rounded, "Avenir Next", "Trebuchet MS", sans-serif; }
h1 { font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.08; margin-bottom: 16px; }
h2 { font-size: clamp(1.35rem, 2.2vw, 2rem); line-height: 1.18; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.muted { color: var(--muted); }
.eyebrow {
    display: block; margin-bottom: 8px; color: var(--primary); font-size: .76rem;
    font-weight: 800; letter-spacing: .09em; text-transform: uppercase;
}
.eyebrow-light { color: #ffc5a8; }
.eyebrow-danger { color: var(--danger); }
.eyebrow-warning { color: var(--warning); }
.back-link { display: inline-flex; margin-bottom: 22px; color: var(--ink-soft); font-size: .92rem; font-weight: 650; }
.back-link:hover { color: var(--primary); }

/* Buttons */
.button {
    min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 10px 18px; border: 1px solid transparent; border-radius: 999px;
    font-weight: 750; line-height: 1.2; text-align: center; transition: .18s ease;
}
.button:hover { transform: translateY(-1px); }
.button:active { transform: translateY(0); }
.button-large { min-height: 50px; padding: 13px 22px; }
.button-full { width: 100%; }
.button-primary { background: var(--primary); border-color: var(--primary); color: white; }
.button-primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); }
.button-accent { background: var(--accent); border-color: var(--accent); color: white; }
.button-accent:hover { background: var(--accent-dark); border-color: var(--accent-dark); }
.button-dark { background: var(--ink); border-color: var(--ink); color: white; }
.button-dark:hover { background: #0d1424; }
.button-white { background: white; color: var(--ink); box-shadow: var(--shadow-sm); }
.button-ghost { background: white; border-color: var(--border); color: var(--ink); }
.button-ghost:hover { border-color: var(--ink-soft); }
.button-danger { background: var(--danger); border-color: var(--danger); color: white; }
.button-warning { background: var(--warning); border-color: var(--warning); color: white; }
.button-text-danger { min-height: 38px; color: var(--danger); background: transparent; }

/* Header */
.site-header {
    position: relative; z-index: 40; height: 76px; background: rgba(255, 253, 249, .97);
    border-bottom: 1px solid var(--border); box-shadow: 0 3px 18px rgba(42, 34, 25, .04);
}
.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.brand { display: inline-flex; align-items: center; gap: 8px; font-size: 1.55rem; font-weight: 850; letter-spacing: -.05em; white-space: nowrap; }
.brand > span > span { color: var(--primary); }
.brand-icon { width: 31px; height: 31px; color: var(--accent); stroke-width: 2.2; }
.brand-icon circle { fill: var(--primary); stroke: white; stroke-width: 2; }
.header-navigation, .public-nav, .account-nav, .account-actions { display: flex; align-items: center; }
.header-navigation { flex: 1; justify-content: flex-end; gap: 28px; }
.public-nav, .account-nav { gap: 28px; }
.public-nav > a:not(.button), .account-nav > a { color: var(--ink-soft); font-size: .92rem; font-weight: 700; }
.public-nav > a:hover, .account-nav > a:hover { color: var(--primary); }
.account-actions { gap: 10px; }
.admin-link { color: var(--primary) !important; }
.role-switch { display: flex; padding: 3px; border-radius: 999px; background: var(--background-deep); }
.role-switch button { min-height: 34px; padding: 5px 11px; border: 0; border-radius: 999px; color: var(--muted); background: transparent; font-size: .78rem; font-weight: 800; }
.role-switch button.is-active { color: var(--ink); background: white; box-shadow: var(--shadow-sm); }
.icon-button { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 50%; background: white; color: var(--ink-soft); }
.icon-button svg { width: 20px; }
.mobile-menu-button { display: none; width: 44px; height: 42px; padding: 9px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: white; }
.mobile-menu-button span { display: block; height: 2px; margin: 4px 0; background: var(--ink); }

/* Footer */
.site-footer { margin-top: 90px; padding: 56px 0 24px; background: #121b2d; color: #d6deeb; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 70px; }
.brand-footer { color: white; margin-bottom: 15px; }
.footer-grid p { max-width: 440px; color: #aeb9ca; }
.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; gap: 9px; }
.footer-grid strong { margin-bottom: 8px; color: white; }
.footer-grid a:not(.brand):hover { color: white; }
.footer-bottom { display: flex; justify-content: space-between; margin-top: 42px; padding-top: 22px; border-top: 1px solid #344158; font-size: .82rem; color: #aeb9ca; }

/* Alerts */
.flash-stack { position: relative; z-index: 30; }
.flash-stack:empty { display: none; }
.flash-stack .alert { margin-top: 18px; }
.alert { display: flex; align-items: flex-start; gap: 10px; padding: 13px 15px; border: 1px solid; border-radius: var(--radius-sm); font-size: .9rem; }
.alert svg { flex: 0 0 20px; width: 20px; height: 20px; }
.alert-success { color: var(--success); border-color: #bbf7d0; background: var(--success-soft); }
.alert-error { color: #991b1b; border-color: #fecaca; background: var(--danger-soft); }
.alert-info { color: var(--accent-dark); border-color: #c5d7ed; background: var(--accent-soft); }
.compact-alert { margin: 10px 0; padding: 10px 12px; }

/* Home */
.route-search {
    position: relative; z-index: 5; display: grid; grid-template-columns: 235px minmax(0, 1fr);
    margin-top: 32px; border: 1px solid var(--border); border-radius: 24px;
    background: var(--surface); box-shadow: var(--shadow); overflow: hidden;
}
.mode-tabs {
    display: grid; grid-template-columns: 1fr; align-content: center; gap: 7px; min-height: 216px;
    padding: 15px; background: var(--ink); overflow: hidden;
}
.mode-tab {
    display: flex; align-items: center; justify-content: flex-start; gap: 10px; padding: 16px;
    border-radius: 12px; color: #d7deea; font-weight: 720;
}
.mode-tab svg { width: 24px; }
.mode-tab.is-active { color: var(--ink); background: var(--surface); box-shadow: var(--shadow-sm); }
.route-search-body { padding: 32px 34px 35px; }
.route-search-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 23px; }
.route-search-heading h2 { margin: 0; }
.route-search-heading p { margin: 0; color: var(--muted); font-size: .9rem; }
.route-form { display: grid; grid-template-columns: 1fr 42px 1fr auto; align-items: end; gap: 13px; }
.route-form label > span:first-child, .field-label { display: block; margin-bottom: 7px; color: var(--ink-soft); font-size: .84rem; font-weight: 700; }
.select-wrap { position: relative; display: block; }
.select-wrap svg { position: absolute; left: 14px; top: 15px; width: 20px; color: var(--muted); }
.select-wrap select { width: 100%; padding-left: 44px; }
.route-swap { width: 38px; height: 48px; display: grid; place-items: center; color: var(--muted); }
.route-swap svg { width: 20px; }
.public-orders-section { padding-top: 88px; }
.public-orders-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 28px; }
.public-orders-heading h2 { margin-bottom: 0; }
.public-orders-heading > p { max-width: 510px; margin: 0; color: var(--muted); font-size: .9rem; }
.public-order-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.public-order-card { padding: 24px; border: 1px solid var(--border); border-radius: 18px; background: var(--surface); box-shadow: var(--shadow-sm); }
.public-order-card-top { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.public-order-category { color: var(--primary); font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.public-order-route { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 22px 0 18px; font-size: 1.25rem; }
.public-order-route svg { width: 29px; color: var(--accent); }
.public-order-facts { display: flex; flex-wrap: wrap; gap: 7px; }
.public-order-facts span { padding: 6px 9px; border-radius: 999px; color: var(--muted); background: var(--background); font-size: .75rem; }
.public-order-facts strong { color: var(--ink-soft); }
.public-order-footer { display: flex; justify-content: space-between; gap: 16px; margin-top: 20px; padding-top: 17px; border-top: 1px solid var(--border); color: var(--muted); font-size: .73rem; }
.public-order-footer span:last-child { text-align: right; }
.public-order-footer strong { display: block; color: var(--ink); font-size: .84rem; }
.category-section { padding-top: 92px; }
.section-heading { max-width: 670px; margin-bottom: 32px; }
.section-heading h2 { margin-bottom: 10px; }
.section-heading p { color: var(--muted); }
.section-heading-center { margin-inline: auto; text-align: center; }
.category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.category-grid article { position: relative; min-height: 185px; padding: 28px; border: 1px solid var(--border); border-radius: 18px; background: var(--surface); transition: .18s ease; }
.category-grid article::before { content: ""; position: absolute; left: 0; top: 26px; bottom: 26px; width: 4px; border-radius: 0 4px 4px 0; background: var(--accent); }
.category-grid article:nth-child(even)::before { background: var(--primary); }
.category-grid article:hover { transform: translateY(-3px); border-color: var(--border-strong); box-shadow: var(--shadow-sm); }
.category-grid article > span { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 17px; border-radius: 14px; background: var(--accent-soft); font-size: 1.65rem; }
.category-grid article:nth-child(even) > span { background: var(--primary-soft); }
.category-grid strong { display: block; margin-bottom: 6px; font-size: 1.08rem; }
.category-grid p { margin: 0; color: var(--muted); font-size: .9rem; }
.how-section { margin-top: 100px; padding: 92px 0; background: #e9eef6; }
.steps-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 42px 0 0; padding: 0; list-style: none; }
.steps-grid li { position: relative; min-height: 220px; padding: 25px; border: 1px solid #d5deeb; border-radius: 18px; background: rgba(255, 253, 249, .88); }
.steps-grid li > span { width: 40px; height: 40px; display: grid; place-items: center; margin-bottom: 28px; border-radius: 11px; color: white; background: var(--accent); font-weight: 850; }
.steps-grid li:not(:last-child)::after { display: none; }
.steps-grid strong { display: block; margin-bottom: 7px; }
.steps-grid p { color: var(--muted); font-size: .9rem; }
.carrier-cta { position: relative; display: grid; grid-template-columns: 1.65fr 1fr; gap: 50px; margin-top: 100px; padding: 62px 64px; border-radius: var(--radius-lg); color: white; background: linear-gradient(130deg, #172137, #253d66); overflow: hidden; }
.carrier-cta::after { content: ""; position: absolute; width: 240px; height: 240px; right: -80px; bottom: -130px; border: 42px solid rgba(181, 71, 36, .34); border-radius: 50%; }
.carrier-cta > * { position: relative; z-index: 1; }
.carrier-cta h2 { max-width: 680px; font-size: clamp(1.9rem, 3vw, 2.7rem); }
.carrier-cta p { max-width: 650px; color: #d7e1f0; }
.carrier-benefits { align-self: center; display: flex; flex-direction: column; gap: 15px; padding: 27px; border: 0; border-radius: 18px; color: var(--ink); background: var(--surface); box-shadow: var(--shadow); }
.carrier-benefits span { display: flex; gap: 10px; font-weight: 700; }
.carrier-benefits svg { width: 20px; color: var(--primary); stroke-width: 2.5; }

/* Inputs and forms */
input, select, textarea {
    width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm); outline: 0; color: var(--ink); background: white; transition: .15s ease;
}
textarea { resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(49, 95, 155, .13); }
input[type="checkbox"], input[type="radio"] { width: auto; min-height: 0; accent-color: var(--primary); }
label > span:first-child, legend { color: var(--ink-soft); font-size: .85rem; font-weight: 750; }
label > span:first-child { display: block; margin-bottom: 7px; }
fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
legend { margin-bottom: 12px; }
.field-error { display: block; margin-top: 5px; color: var(--danger); font-size: .78rem; font-weight: 650; }
.field-hint, .field-meta { display: block; margin-top: 5px; color: var(--muted); font-size: .75rem; font-weight: 400; }
.field-meta { display: flex; justify-content: space-between; }
.input-suffix { position: relative; display: block; }
.input-suffix input { padding-right: 45px; }
.input-suffix i { position: absolute; right: 13px; top: 13px; color: var(--muted); font-style: normal; }
.check-label { display: flex; align-items: flex-start; gap: 10px; color: var(--ink-soft); font-size: .87rem; cursor: pointer; }
.check-label input { flex: 0 0 auto; margin-top: 4px; }
.check-label > span { display: inline !important; margin: 0 !important; font-weight: 500 !important; }
.check-label a { color: var(--primary); text-decoration: underline; }
.stack-form { display: flex; flex-direction: column; gap: 17px; }
.full-field { display: block; margin-top: 22px; }
.panel { border: 1px solid var(--border); border-radius: var(--radius); background: white; box-shadow: var(--shadow-sm); }

/* Auth */
.auth-page { background: white; }
.auth-shell { min-height: calc(100vh - 76px); display: grid; grid-template-columns: minmax(460px, 620px) 1fr; }
.auth-card { width: min(100% - 56px, 440px); align-self: center; justify-self: center; padding: 54px 0; }
.auth-card h1 { margin-bottom: 10px; font-size: 2.45rem; }
.auth-intro { margin-bottom: 28px; color: var(--muted); }
.auth-back { display: inline-block; margin-bottom: 36px; color: var(--muted); font-size: .86rem; font-weight: 650; }
.auth-bottom { margin: 24px 0 0; text-align: center; color: var(--muted); }
.auth-bottom a { color: var(--primary); font-weight: 750; }
.demo-box { display: flex; flex-direction: column; gap: 3px; margin-top: 28px; padding: 14px; border-radius: var(--radius-sm); color: var(--muted); background: var(--background-deep); font-size: .72rem; }
.demo-box strong { color: var(--ink-soft); }
.auth-art { position: relative; min-height: calc(100vh - 76px); display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; color: white; background: linear-gradient(145deg, #172137, #294a78); }
.auth-art::before, .auth-art::after { content: ""; position: absolute; border-radius: 50%; background: rgba(181, 71, 36, .24); }
.auth-art::before { width: 520px; height: 520px; right: -220px; top: -160px; }
.auth-art::after { width: 380px; height: 380px; left: -180px; bottom: -150px; }
.auth-art > * { position: relative; z-index: 2; }
.auth-art > div:first-child { width: 350px; display: flex; align-items: center; gap: 14px; margin-bottom: 28px; color: #dce7f6; font-weight: 700; }
.auth-art > div i { flex: 1; border-top: 1px dashed rgba(255,255,255,.5); }
.auth-art svg { width: min(50%, 320px); margin-bottom: 38px; color: white; fill: rgba(181, 71, 36, .78); stroke-width: 2; }
.auth-art svg circle { fill: var(--ink); }
.auth-art > strong { font-size: clamp(2.2rem, 4vw, 4rem); line-height: 1.08; text-align: center; }
.auth-art-register { align-items: flex-start; padding: 80px 11%; }
.auth-art-register .auth-art-label { color: #ffc5a8; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.role-preview { width: min(100%, 470px) !important; margin: 38px 0 50px !important; padding: 6px; border-radius: 12px; background: rgba(255,255,255,.13); }
.role-preview b { flex: 1; padding: 14px; border-radius: 8px; text-align: center; }
.role-preview b:first-child { color: var(--ink); background: white; }
.auth-art-register > strong { text-align: left; }
.auth-art-register p { max-width: 480px; margin-top: 20px; color: #dce7f6; font-size: 1.08rem; }

/* App shells and headings */
.app-shell { padding-top: 54px; }
.page-heading { max-width: 760px; margin-bottom: 34px; }
.page-heading h1 { margin-bottom: 10px; }
.page-heading p { margin: 0; color: var(--muted); }
.page-heading-actions { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 32px; }
.narrow-shell { width: min(calc(100% - 40px), 720px); margin-inline: auto; padding-top: 44px; }
.wide-action-shell { width: min(calc(100% - 40px), 860px); }
.empty-state { padding: 80px 30px; border: 1px dashed var(--border-strong); border-radius: var(--radius); text-align: center; background: white; }
.empty-state svg { width: 108px; margin: 0 auto 24px; color: var(--accent); fill: var(--accent-soft); stroke-width: 2; }
.empty-state h2 { margin-bottom: 8px; }
.empty-state p { color: var(--muted); }
.compact-empty { padding-block: 55px; }
.inline-empty { padding: 24px; border-radius: var(--radius-sm); color: var(--muted); background: var(--background); text-align: center; }

/* Create order */
.form-shell { padding-bottom: 20px; }
.order-form { display: grid; grid-template-columns: minmax(0, 1fr) 350px; align-items: start; gap: 26px; }
.form-global-error { grid-column: 1 / -1; }
.form-main { display: flex; flex-direction: column; gap: 18px; }
.form-section { padding: 30px; border: 1px solid var(--border); border-radius: var(--radius); background: white; box-shadow: var(--shadow-sm); }
.form-section-title { display: flex; gap: 14px; margin-bottom: 27px; }
.section-number { flex: 0 0 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--ink); font-size: .85rem; font-weight: 850; }
.form-section-title h2 { margin: 1px 0 3px; font-size: 1.35rem; }
.form-section-title p { margin: 0; color: var(--muted); font-size: .87rem; }
.route-fields { display: grid; grid-template-columns: 1fr 24px 1fr; gap: 16px; }
.route-fields fieldset { display: flex; flex-direction: column; gap: 15px; }
.route-fields legend, .handling-grid legend { color: var(--primary); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.route-line { display: flex; flex-direction: column; align-items: center; padding-top: 38px; }
.route-line span { width: 10px; height: 10px; border: 2px solid var(--accent); border-radius: 50%; }
.route-line span:last-child { background: var(--accent); }
.route-line i { flex: 1; min-height: 60px; border-left: 1px dashed var(--border-strong); }
.choice-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.choice-grid-three { grid-template-columns: repeat(3, 1fr); }
.choice-grid-four { grid-template-columns: repeat(4, 1fr); }
.choice-card { position: relative; cursor: pointer; }
.choice-card input { position: absolute; opacity: 0; }
.choice-card span { min-height: 50px; display: flex !important; align-items: center; justify-content: center; margin: 0 !important; padding: 10px; border: 1px solid var(--border-strong); border-radius: var(--radius-sm); color: var(--ink-soft); background: white; font-size: .83rem !important; font-weight: 700 !important; text-align: center; }
.choice-card input:checked + span { color: var(--primary); border-color: var(--primary); background: var(--primary-soft); box-shadow: inset 0 0 0 1px var(--primary); }
.choice-card.compact span { min-height: 44px; }
.three-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
.volume-check { margin: 16px 0; }
.volume-size-panel { padding: 18px; border-radius: var(--radius-sm); background: var(--background); }
.field-group-spaced { margin-top: 25px; }
.upload-zone { min-height: 180px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px; border: 1.5px dashed var(--border-strong); border-radius: var(--radius); color: var(--muted); background: var(--background); text-align: center; cursor: pointer; }
.upload-zone:hover { border-color: var(--accent); background: var(--accent-soft); }
.upload-zone input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.upload-zone svg { width: 42px; margin-bottom: 9px; color: var(--accent); }
.upload-zone strong { color: var(--ink); }
.upload-zone span, .upload-zone small { font-size: .78rem; }
.upload-zone small { margin-top: 8px; color: var(--accent-dark); font-weight: 700; }
.compact-upload { min-height: 145px; }
.handling-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.handling-grid fieldset { padding: 20px; border: 1px solid var(--border); border-radius: var(--radius-sm); }
.switch-label { margin-top: 16px; padding: 13px; border-radius: var(--radius-sm); background: var(--background); }
.switch-label span { display: flex !important; flex-direction: column; }
.switch-label small { color: var(--muted); }
.quote-sidebar { position: sticky; top: 20px; }
.quote-card { padding: 25px; border: 1px solid var(--border); border-radius: var(--radius); background: white; box-shadow: var(--shadow); }
.quote-card h2 { margin-bottom: 8px; font-size: 1.25rem; }
.quote-card > p, .quote-card > small { color: var(--muted); font-size: .82rem; }
.quote-card .button { margin-top: 11px; }
.quote-result { margin: 18px 0 8px; }
.quote-result > div { display: flex; justify-content: space-between; gap: 14px; margin: 8px 0; color: var(--muted); font-size: .85rem; }
.quote-result strong { color: var(--ink); text-align: right; }
.quote-result hr { margin: 14px 0; border: 0; border-top: 1px solid var(--border); }
.quote-result .quote-total { align-items: end; margin-top: 13px; color: var(--ink); font-weight: 750; }
.quote-total strong { color: var(--primary); font-size: 1.55rem; }
.trust-list { display: flex; flex-direction: column; gap: 8px; margin: 18px 0 0; padding: 17px 0 0; border-top: 1px solid var(--border); list-style: none; color: var(--ink-soft); font-size: .77rem; }
.trust-list li { display: flex; gap: 7px; }.trust-list svg { width: 16px; color: var(--success); }

/* Order lists */
.order-list { display: flex; flex-direction: column; gap: 14px; }
.order-card { border: 1px solid var(--border); border-radius: var(--radius); background: white; box-shadow: var(--shadow-sm); transition: .18s ease; overflow: hidden; }
.order-card:hover { transform: translateY(-2px); border-color: var(--border-strong); box-shadow: var(--shadow); }
.order-card-link { display: block; padding: 24px 26px; }
.order-card-top, .order-card-bottom { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.route-title { display: flex; align-items: center; flex-wrap: wrap; gap: 13px; margin: 0; }
.route-title svg { width: 42px; color: var(--accent); stroke-width: 2; }
.route-title-small { font-size: 1.35rem; }
.route-title-small svg { width: 32px; }
.order-facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.order-facts span { padding: 7px 10px; border-radius: 7px; color: var(--muted); background: var(--background); font-size: .78rem; }
.order-facts strong { color: var(--ink-soft); }
.order-card-bottom { align-items: end; padding-top: 17px; border-top: 1px solid var(--border); }
.order-card-bottom > div:first-child { display: flex; flex-direction: column; }
.vehicle-hint { font-size: .77rem; font-weight: 700; }
.earning { text-align: right; }
.earning span { display: block; color: var(--muted); font-size: .74rem; }
.earning strong { color: var(--primary); font-size: 1.35rem; }
.status-pill { display: inline-flex; align-items: center; width: fit-content; padding: 5px 9px; border-radius: 99px; font-size: .7rem; font-weight: 800; white-space: nowrap; }
.status-published { color: var(--accent-dark); background: var(--accent-soft); }
.status-waiting { color: #92400e; background: #fffbeb; }
.status-active { color: #1f6a4a; background: #e3f4e9; }
.status-completed { color: #166534; background: #dcfce7; }
.status-cancelled { color: #991b1b; background: #fee2e2; }
.status-dispute { color: #9a3412; background: #ffedd5; }
.status-large { padding: 8px 12px; font-size: .78rem; }
.vehicle-chip { display: flex; align-items: center; gap: 9px; padding: 11px 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: white; font-size: .86rem; font-weight: 750; }
.vehicle-chip svg { width: 22px; color: var(--accent); }
.setup-panel, .commitment-banner { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 22px; padding: 22px 25px; border-radius: var(--radius); }
.setup-panel { border: 1px solid #c5d7ed; background: var(--accent-soft); }
.setup-panel > div, .commitment-banner > div { display: flex; align-items: center; gap: 15px; }
.setup-panel h2 { margin: 0 0 3px; font-size: 1.08rem; }.setup-panel p { margin: 0; color: var(--muted); font-size: .86rem; }.setup-icon { font-size: 2rem; }
.commitment-banner { color: white; background: var(--ink); }
.commitment-banner > div { flex-wrap: wrap; }.commitment-banner > div > span:last-child { color: #cbd5e1; }
.market-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; padding: 18px 20px; border: 1px solid var(--border); border-radius: var(--radius); background: white; }
.market-toolbar form { width: min(100%, 340px); }.market-toolbar select { min-height: 44px; }
.market-toolbar > span { color: var(--muted); font-size: .86rem; }

/* Details */
.detail-shell { padding-top: 38px; }
.detail-header { display: flex; align-items: start; justify-content: space-between; gap: 25px; margin-bottom: 26px; }
.detail-header .route-title { font-size: clamp(1.8rem, 4vw, 3rem); }.detail-header p { margin: 8px 0 0; color: var(--muted); }
.action-banner { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; padding: 18px 22px; border: 1px solid; border-radius: var(--radius); }
.action-banner > div, .banner-action { display: flex; align-items: center; gap: 13px; }
.action-banner strong { display: block; }.action-banner p { margin: 1px 0 0; font-size: .85rem; }
.action-banner-payment { color: var(--primary-dark); border-color: #efc5b3; background: var(--primary-soft); }
.action-banner-info { color: var(--accent-dark); border-color: #c5d7ed; background: var(--accent-soft); }
.action-banner-warning { color: #92400e; border-color: #fde68a; background: var(--warning-soft); }
.banner-icon { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: white; background: currentColor; font-weight: 900; }
.banner-icon::first-letter { color: white; }
.banner-action > span, .action-banner > span[data-countdown] { font-variant-numeric: tabular-nums; font-size: 1.2rem; font-weight: 850; }
.detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 350px; align-items: start; gap: 24px; }
.detail-main { display: flex; flex-direction: column; gap: 17px; }.detail-sidebar { position: sticky; top: 20px; display: flex; flex-direction: column; gap: 14px; }
.detail-panel, .price-panel, .participant-panel, .settlement-panel { padding: 25px; }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.panel-heading h2 { margin: 0; font-size: 1.22rem; }.panel-heading > span { color: var(--muted); font-size: .8rem; font-weight: 700; }
.fact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.fact-grid > div { min-height: 76px; padding: 13px; border-radius: var(--radius-sm); background: var(--background); }
.fact-grid span, .description-block > span { display: block; margin-bottom: 4px; color: var(--muted); font-size: .72rem; }
.fact-grid strong { font-size: .9rem; }
.description-block { margin-top: 21px; padding-top: 19px; border-top: 1px solid var(--border); }.description-block p { margin: 0; white-space: pre-line; }
.photo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.photo-grid a { aspect-ratio: 4/3; overflow: hidden; border-radius: var(--radius-sm); background: var(--background-deep); }
.photo-grid img { width: 100%; height: 100%; object-fit: cover; transition: .2s ease; }.photo-grid a:hover img { transform: scale(1.03); }
.handling-summary, .address-timeline { display: flex; flex-direction: column; }
.handling-summary > div, .address-timeline > div { position: relative; display: flex; gap: 13px; padding-bottom: 20px; }
.handling-summary > div:not(:last-child)::before, .address-timeline > div:not(:last-child)::before { content: ""; position: absolute; left: 5px; top: 13px; bottom: 0; border-left: 1px dashed var(--border-strong); }
.timeline-dot, .address-timeline > div > span { z-index: 1; flex: 0 0 11px; height: 11px; margin-top: 6px; border: 2px solid var(--accent); border-radius: 50%; background: white; }
.handling-summary p, .address-timeline p { margin: 2px 0 0; color: var(--muted); font-size: .86rem; }
.address-timeline strong { display: block; }.address-timeline small { color: var(--muted); }
.private-value { display: inline-flex; padding: 6px 8px; border-radius: 6px; background: var(--background); }
.dispute-copy { padding: 15px; border-radius: var(--radius-sm); background: var(--background); }.dispute-copy + .dispute-copy { margin-top: 10px; }.dispute-copy p { margin: 6px 0 0; white-space: pre-line; }
.order-history { display: flex; flex-direction: column; }
.order-history > div { position: relative; display: flex; gap: 13px; padding-bottom: 18px; }
.order-history > div:not(:last-child)::before { content: ""; position: absolute; left: 5px; top: 13px; bottom: 0; border-left: 1px dashed var(--border-strong); }
.order-history > div > span { z-index: 1; flex: 0 0 11px; height: 11px; margin-top: 6px; border: 2px solid var(--primary); border-radius: 50%; background: white; }
.order-history p { display: flex; flex: 1; align-items: baseline; justify-content: space-between; gap: 15px; margin: 0; }
.order-history time { color: var(--muted); font-size: .78rem; }
.order-history small { display: block; color: var(--muted); font-size: .75rem; }
.price-hero { margin: 12px 0 20px; }.price-hero strong { display: block; color: var(--primary); font-size: 2.4rem; line-height: 1; }.price-hero span { color: var(--muted); font-size: .8rem; }
.price-breakdown { display: flex; flex-direction: column; gap: 8px; padding: 15px 0; border-block: 1px solid var(--border); }
.price-breakdown div { display: flex; justify-content: space-between; gap: 14px; color: var(--muted); font-size: .82rem; }.price-breakdown div:last-child { color: var(--ink); font-weight: 800; }
.payment-state { display: flex; justify-content: space-between; gap: 10px; margin: 15px 0; font-size: .78rem; }.payment-state span { color: var(--muted); }.payment-state strong { color: var(--accent-dark); text-align: right; }
.sidebar-actions { display: flex; flex-direction: column; gap: 8px; margin-top: 18px; }
.pin-box { margin-top: 18px; padding: 16px; border: 1px dashed var(--accent); border-radius: var(--radius-sm); text-align: center; background: var(--accent-soft); }.pin-box span, .pin-box small { display: block; color: var(--muted); font-size: .72rem; }.pin-box strong { display: block; margin: 4px 0; color: var(--accent-dark); font-size: 2.25rem; letter-spacing: .18em; }
.panel-label { display: block; margin-bottom: 12px; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.participant { display: flex; align-items: center; gap: 12px; }.avatar { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: var(--primary-dark); background: var(--primary-soft); font-weight: 850; }.avatar-teal { color: var(--accent-dark); background: var(--accent-soft); }.avatar-large { width: 82px; height: 82px; font-size: 2rem; }
.participant > div { display: flex; flex-direction: column; }.participant span { color: var(--warning); font-size: .8rem; }.participant small { color: var(--muted); }
.settlement-panel > div { display: flex; justify-content: space-between; gap: 10px; margin: 7px 0; font-size: .8rem; }.settlement-panel p { margin: 13px 0 0; color: var(--muted); font-size: .78rem; }
.review-list { display: flex; flex-direction: column; gap: 10px; }.review-list article { padding: 14px; border-radius: var(--radius-sm); background: var(--background); }.review-list article > div { display: flex; justify-content: space-between; gap: 15px; }.review-list article span { color: var(--warning); font-weight: 800; }.review-list article p { margin: 7px 0 0; color: var(--ink-soft); }.review-list article small { color: var(--muted); }

/* Confirmations and actions */
.confirmation-card { padding: 38px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: white; box-shadow: var(--shadow); text-align: center; }
.confirmation-icon { width: 72px; height: 72px; display: grid; place-items: center; margin: 0 auto 22px; border-radius: 50%; color: var(--primary); background: var(--primary-soft); }.confirmation-icon-teal { color: var(--accent-dark); background: var(--accent-soft); }.confirmation-icon svg { width: 38px; }
.confirmation-card h1 { font-size: 2.15rem; }.confirmation-card > p { color: var(--muted); }
.confirmation-route { display: flex; justify-content: center; align-items: center; gap: 11px; margin: 22px 0; padding: 15px; border-radius: var(--radius-sm); background: var(--background); }.confirmation-route span { color: var(--accent); }
.confirmation-earning { margin: 20px 0; }.confirmation-earning span { display: block; color: var(--muted); font-size: .8rem; }.confirmation-earning strong { color: var(--primary); font-size: 2.4rem; }
.confirmation-list { display: flex; flex-direction: column; gap: 11px; margin: 24px 0; padding: 0; text-align: left; list-style: none; }.confirmation-list li { display: flex; gap: 10px; color: var(--ink-soft); font-size: .86rem; }.confirmation-list svg { flex: 0 0 19px; width: 19px; color: var(--success); }.confirmation-list .warning-item { padding: 12px; border-radius: var(--radius-sm); color: #92400e; background: var(--warning-soft); }.confirmation-list .warning-item svg { color: var(--warning); }
.customer-mini { display: flex; align-items: center; gap: 12px; padding: 14px; border-radius: var(--radius-sm); background: var(--background); text-align: left; }.customer-mini > div { display: flex; flex-direction: column; }.customer-mini span, .customer-mini small { color: var(--muted); font-size: .75rem; }
.confirmation-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 23px; }
.pin-form { max-width: 380px; margin: 25px auto 0; }.pin-form input { height: 74px; text-align: center; font-size: 2rem; font-weight: 850; letter-spacing: .35em; }
.warning-note { display: flex; flex-direction: column; gap: 3px; margin-top: 20px; padding: 13px; border-radius: var(--radius-sm); color: #92400e; background: var(--warning-soft); font-size: .78rem; }
.action-form-card { padding: 34px; }.action-form-card > p { color: var(--muted); }.cancellation-cost { margin: 23px 0; padding: 18px; border: 1px solid #efc5b3; border-radius: var(--radius-sm); background: var(--primary-soft); }.cancellation-cost > strong { display: block; margin-bottom: 10px; }.cancellation-cost > div { display: flex; justify-content: space-between; gap: 15px; margin: 6px 0; font-size: .86rem; }.cancellation-cost small { display: block; margin-top: 10px; color: var(--muted); }.danger-cost { color: #991b1b; border-color: #fecaca; background: var(--danger-soft); }.danger-cost p { margin: 0; }
.dispute-steps { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 25px 0; padding: 16px; border-radius: var(--radius-sm); background: var(--warning-soft); font-size: .76rem; }.dispute-steps span { display: flex; align-items: center; gap: 6px; }.dispute-steps b { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--warning); }.dispute-steps i { flex: 1; border-top: 1px dashed #f59e0b; }
.reported-problem { margin: 20px 0; padding: 18px; border-left: 3px solid var(--warning); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: var(--warning-soft); }.reported-problem span { display: block; color: var(--muted); font-size: .75rem; }.reported-problem p { margin: 7px 0 0; white-space: pre-line; }
.rating-form { display: grid; grid-template-columns: 1fr 1fr; }.rating-comment, .rating-form > button { grid-column: 1 / -1; }

/* Payment */
.payment-shell { padding-top: 42px; }.payment-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) 400px; align-items: start; gap: 24px; }.payment-main, .payment-summary { padding: 30px; }.payment-main > p { max-width: 650px; color: var(--muted); }
.sandbox-notice { display: flex; gap: 12px; margin: 24px 0; padding: 15px; border: 1px solid #c5d7ed; border-radius: var(--radius-sm); color: var(--accent-dark); background: var(--accent-soft); }.sandbox-notice svg { flex: 0 0 23px; width: 23px; }.sandbox-notice div { display: flex; flex-direction: column; }.sandbox-notice span { font-size: .8rem; }
.secure-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 35px; }.secure-points > div { padding: 17px; border-radius: var(--radius-sm); background: var(--background); }.secure-points > div > span { width: 29px; height: 29px; display: grid; place-items: center; margin-bottom: 12px; border-radius: 50%; color: white; background: var(--ink); font-size: .75rem; font-weight: 850; }.secure-points p { margin: 0; color: var(--muted); font-size: .78rem; }.secure-points strong { display: block; color: var(--ink); font-size: .86rem; }
.payment-summary { position: sticky; top: 20px; }.payment-summary h2 { margin-bottom: 4px; font-size: 1.3rem; }.payment-summary > p { color: var(--muted); font-size: .82rem; }
.payment-driver { display: flex; gap: 11px; margin: 20px 0; padding: 13px; border-radius: var(--radius-sm); background: var(--background); }.payment-driver > div { display: flex; flex-direction: column; }.payment-driver span, .payment-driver small { color: var(--muted); font-size: .73rem; }
.payment-price { margin-bottom: 15px; }.payment-deadline { display: flex; align-items: center; justify-content: space-between; margin: 15px 0; color: var(--muted); font-size: .82rem; }.payment-deadline strong { color: var(--primary); font-size: 1.3rem; font-variant-numeric: tabular-nums; }.payment-terms { display: block; margin-top: 10px; color: var(--muted); font-size: .68rem; text-align: center; }

/* Chat */
.chat-page { height: 100vh; overflow: hidden; }.chat-shell { height: calc(100vh - 76px); display: flex; flex-direction: column; padding-top: 24px; padding-bottom: 20px; }.chat-header { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 20px; margin-bottom: 16px; }.chat-header .back-link { grid-column: 1 / -1; margin-bottom: 0; }.chat-header h1 { margin: 5px 0 0; font-size: 1.55rem; }.chat-header p { margin: 0; color: var(--muted); font-size: .8rem; }
.chat-panel { min-height: 0; flex: 1; display: flex; flex-direction: column; border: 1px solid var(--border); border-radius: var(--radius); background: white; overflow: hidden; }.chat-guidance { display: flex; gap: 9px; padding: 11px 15px; color: var(--accent-dark); background: var(--accent-soft); font-size: .76rem; }.chat-guidance svg { flex: 0 0 18px; width: 18px; }
.message-list { min-height: 0; flex: 1; overflow-y: auto; display: flex; flex-direction: column; gap: 12px; padding: 22px; }.message { max-width: min(72%, 650px); align-self: flex-start; padding: 12px 15px; border-radius: 4px 13px 13px 13px; background: var(--background-deep); }.message-own { align-self: flex-end; border-radius: 13px 4px 13px 13px; background: var(--primary-soft); }.message > div { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 3px; font-size: .7rem; }.message time { color: var(--muted); }.message p { margin: 0; white-space: pre-line; }.chat-empty { margin: auto; text-align: center; color: var(--muted); }.chat-empty p { margin: 4px 0; }
.message-form { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; padding: 13px; border-top: 1px solid var(--border); }.message-form textarea { min-height: 48px; max-height: 100px; resize: none; }.message-form .button svg { width: 20px; }.chat-closed { padding: 14px; border-top: 1px solid var(--border); color: var(--muted); background: var(--background); text-align: center; font-size: .8rem; }
.thread-list { display: flex; flex-direction: column; gap: 10px; }.thread-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; padding: 18px; border: 1px solid var(--border); border-radius: var(--radius); background: white; }.thread-card:hover { border-color: var(--accent); }.thread-route-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; color: var(--accent-dark); background: var(--accent-soft); }.thread-route-icon svg { width: 23px; }.thread-card > div { display: flex; flex-direction: column; }.thread-card > div > span, .thread-card small { color: var(--muted); font-size: .75rem; }.thread-arrow { color: var(--accent); font-size: 1.3rem; }.empty-chat { width: 64px; height: 64px; display: grid; place-items: center; margin: 0 auto 16px; border-radius: 50%; color: var(--accent); background: var(--accent-soft); font-size: 1.3rem; }

/* Profile */
.profile-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); align-items: start; gap: 22px; }.profile-summary { position: sticky; top: 20px; padding: 27px; text-align: center; }.profile-summary .avatar { margin: 0 auto 14px; }.profile-summary h2 { margin-bottom: 3px; font-size: 1.3rem; }.profile-summary > p { color: var(--muted); font-size: .8rem; overflow-wrap: anywhere; }.profile-rating { display: flex; justify-content: center; align-items: baseline; gap: 8px; margin: 20px 0; padding: 13px; border-radius: var(--radius-sm); background: var(--warning-soft); }.profile-rating strong { color: var(--warning); font-size: 1.25rem; }.profile-rating span { color: var(--muted); font-size: .75rem; }.profile-summary dl { margin: 0; }.profile-summary dl > div { display: flex; justify-content: space-between; gap: 10px; padding: 10px 0; border-top: 1px solid var(--border); font-size: .75rem; }.profile-summary dt { color: var(--muted); }.profile-summary dd { margin: 0; font-weight: 750; text-align: right; }
.profile-main { display: flex; flex-direction: column; gap: 17px; }.profile-section { padding: 26px; }.profile-section > p { color: var(--muted); }.vehicle-choice-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin: 20px 0; }.vehicle-choice { position: relative; cursor: pointer; }.vehicle-choice input { position: absolute; opacity: 0; }.vehicle-choice-card { min-height: 132px; display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 7px; margin: 0 !important; padding: 12px 8px; border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--ink-soft); background: var(--background); transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease; }.vehicle-choice:hover .vehicle-choice-card { transform: translateY(-2px); border-color: var(--border-strong); background: white; }.vehicle-choice input:focus-visible + .vehicle-choice-card { outline: 3px solid rgba(49, 95, 155, .24); outline-offset: 2px; }.vehicle-choice input:checked + .vehicle-choice-card { color: var(--accent-dark); border-color: var(--accent); background: var(--accent-soft); box-shadow: inset 0 0 0 1px var(--accent); }.vehicle-choice-icon { width: 72px; height: 44px; display: grid; place-items: center; color: var(--accent); }.vehicle-choice-icon svg { width: 68px; height: 40px; stroke-width: 1.65; transition: transform .16s ease; }.vehicle-choice:hover .vehicle-choice-icon svg { transform: translateX(2px); }.vehicle-window { fill: rgba(49, 95, 155, .14); }.vehicle-wheel { fill: var(--ink); stroke: var(--surface); stroke-width: 1.6; }.vehicle-choice input:checked + .vehicle-choice-card .vehicle-window { fill: rgba(181, 71, 36, .15); }.vehicle-choice input:checked + .vehicle-choice-card .vehicle-wheel { fill: var(--primary); }.vehicle-choice strong, .vehicle-choice small { display: block; text-align: center; }.vehicle-choice strong { font-size: .75rem; }.vehicle-choice small { color: var(--muted); font-size: .63rem; }
.account-standing { border-left: 4px solid var(--success); }.standing-warning { border-left-color: var(--warning); }.standing-banned { border-left-color: var(--danger); }.standing-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--success); }.standing-warning .standing-dot { background: var(--warning); }.standing-banned .standing-dot { background: var(--danger); }

/* Admin */
.admin-shell { padding-top: 26px; }.admin-nav { display: flex; gap: 5px; margin-bottom: 35px; padding: 5px; border: 1px solid var(--border); border-radius: 10px; background: white; width: fit-content; }.admin-nav a { padding: 8px 13px; border-radius: 7px; color: var(--ink-soft); font-size: .82rem; font-weight: 750; }.admin-nav a:hover { color: var(--primary); background: var(--primary-soft); }
.stats-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin-bottom: 24px; }.stats-grid a { padding: 18px; border: 1px solid var(--border); border-radius: var(--radius); background: white; }.stats-grid span { display: block; min-height: 38px; color: var(--muted); font-size: .72rem; }.stats-grid strong { font-size: 1.8rem; }.stats-grid .stat-warning { color: #9a3412; border-color: #fed7aa; background: #fff7ed; }
.admin-section { padding: 25px; }.admin-list { display: flex; flex-direction: column; }.admin-list a { display: grid; grid-template-columns: 190px 1fr 1fr auto; align-items: center; gap: 15px; padding: 14px 0; border-top: 1px solid var(--border); }.admin-list a:hover strong { color: var(--primary); }.admin-list a > span:not(.status-pill) { color: var(--muted); font-size: .82rem; }.admin-list i { color: var(--accent); font-style: normal; }
.table-panel { overflow: hidden; }.responsive-table { overflow-x: auto; }table { width: 100%; border-collapse: collapse; }th, td { padding: 14px 16px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: middle; font-size: .8rem; }th { color: var(--muted); background: var(--background); font-size: .7rem; letter-spacing: .04em; text-transform: uppercase; }td strong, td small { display: block; }td small { color: var(--muted); }.table-actions { display: flex; align-items: center; gap: 8px; }.table-actions a, .table-actions button { padding: 0; border: 0; color: var(--accent-dark); background: transparent; font-size: .76rem; font-weight: 750; }.table-actions .danger-link { color: var(--danger); }.action-wrap { flex-wrap: wrap; }.mini-badge { display: inline-block; margin-top: 3px; padding: 2px 5px; border-radius: 4px; color: white; background: var(--ink); font-size: .6rem; }
.admin-dispute-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: start; gap: 20px; }.admin-dispute-layout > div { display: flex; flex-direction: column; gap: 16px; }.evidence-card, .resolution-card { padding: 25px; }.evidence-card > p { white-space: pre-line; }.evidence-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 15px; }.evidence-grid a { aspect-ratio: 1; overflow: hidden; border-radius: var(--radius-sm); }.evidence-grid img { width: 100%; height: 100%; object-fit: cover; }.resolution-card { position: sticky; top: 20px; }.resolution-amount { display: block; margin: 8px 0 20px; color: var(--primary); font-size: 2.3rem; }.resolution-form { margin-top: 20px; }.resolution-form > small { color: var(--muted); font-size: .7rem; }.resolved-box { margin-top: 20px; padding: 15px; border-radius: var(--radius-sm); color: var(--success); background: var(--success-soft); }.resolved-box p { margin: 5px 0 0; }
.approval-box { margin-top: 20px; padding: 16px; border: 1px solid #fde68a; border-radius: var(--radius-sm); background: var(--warning-soft); }.approval-box > strong { display: block; margin: 6px 0; }.approval-box > p { color: var(--ink-soft); }.approval-box dl { margin: 15px 0; }.approval-box dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-top: 1px solid #fde68a; font-size: .72rem; }.approval-box dd { margin: 0; overflow-wrap: anywhere; text-align: right; }.approval-form { margin-top: 16px; }.approval-history { margin-top: 20px; padding: 24px; }.admin-action-form { display: grid; grid-template-columns: minmax(150px, 1fr) auto; gap: 6px; align-items: center; }.admin-action-form input { min-width: 150px; padding: 7px 9px; border: 1px solid var(--border); border-radius: 6px; font-size: .72rem; }.audit-mini-list { display: grid; gap: 3px; max-width: 380px; overflow-wrap: anywhere; }.audit-table details { margin-top: 8px; }.audit-table summary { cursor: pointer; color: var(--primary); font-size: .72rem; font-weight: 750; }.audit-table pre { max-width: 560px; max-height: 320px; overflow: auto; padding: 10px; border-radius: 6px; background: var(--background); font-size: .68rem; white-space: pre-wrap; }

/* Legal and errors */
.legal-page { width: min(calc(100% - 40px), 920px); padding-top: 65px; }
.legal-lead { padding: 20px; border-left: 3px solid var(--primary); color: var(--ink-soft); background: var(--primary-soft); }
.legal-page section { margin-top: 36px; }
.legal-page section h2 { font-size: 1.3rem; }
.legal-page section p { color: var(--muted); }
.legal-page a { color: var(--primary); text-decoration: underline; text-underline-offset: 2px; }
.legal-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 22px 0; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--border); }
.legal-meta > div { padding: 14px 16px; background: white; }
.legal-meta dt { color: var(--muted); font-size: .7rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.legal-meta dd { margin: 4px 0 0; overflow-wrap: anywhere; font-size: .86rem; font-weight: 750; }
.legal-warning { margin-top: 18px; padding: 19px; border: 1px solid #fde68a; border-radius: var(--radius-sm); background: var(--warning-soft); }
.legal-warning p { margin-bottom: 0; color: var(--ink-soft) !important; }
.legal-table { margin-top: 18px; border: 1px solid var(--border); border-radius: var(--radius-sm); }
.legal-table td { vertical-align: top; white-space: normal; }
.legal-consent-shell { padding-bottom: 40px; }
.legal-consent-card { padding: 34px; }
.legal-consent-card > p { color: var(--muted); }
.legal-version-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 24px 0; }
.legal-version-grid a { display: flex; flex-direction: column; gap: 4px; padding: 16px; border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--ink); background: var(--background); }
.legal-version-grid span { color: var(--muted); font-size: .78rem; }
.privacy-profile-link { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.privacy-profile-link h2 { margin: 3px 0 5px; font-size: 1.2rem; }
.privacy-profile-link p { margin: 0; }
.privacy-profile-link .button { flex: 0 0 auto; }
.privacy-shell { width: min(calc(100% - 40px), 980px); }
.privacy-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.privacy-card, .privacy-history, .privacy-danger { padding: 28px; }
.privacy-card > p, .privacy-danger > p { color: var(--muted); }
.privacy-history { margin-top: 18px; overflow: hidden; }
.privacy-history > .responsive-table { margin: 18px -28px -28px; }
.privacy-history code { font-size: .7rem; }
.privacy-danger { max-width: 720px; margin: 28px auto 0; border-color: #fecaca; background: var(--danger-soft); }
.privacy-danger form { max-width: 480px; }
.home-account-closed { margin-top: 18px; }
.state-page { min-height: 62vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding-block: 70px; text-align: center; }.state-code { color: var(--primary); font-size: .9rem; font-weight: 900; letter-spacing: .15em; }.state-icon { width: 80px; margin: 20px 0; color: var(--warning); }.state-page p { max-width: 550px; color: var(--muted); }.button-row { display: flex; gap: 10px; }

@media (max-width: 1100px) {
    .account-nav { gap: 16px; }.account-nav > a { font-size: .82rem; }
    .order-form, .detail-layout { grid-template-columns: minmax(0, 1fr) 315px; }
    .choice-grid { grid-template-columns: repeat(3, 1fr); }
    .vehicle-choice-grid { grid-template-columns: repeat(3, 1fr); }
    .stats-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 900px) {
    .container { width: min(calc(100% - 30px), var(--container)); }
    .mobile-menu-button { display: block; }
    .site-header { height: 66px; }.brand { font-size: 1.32rem; }.brand-icon { width: 27px; }
    .header-navigation { display: none; position: absolute; left: 0; right: 0; top: 66px; padding: 18px 15px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); background: white; box-shadow: var(--shadow); }
    .header-navigation.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 16px; }
    .public-nav, .account-nav { flex-direction: column; align-items: stretch; gap: 4px; }.public-nav > a, .account-nav > a { padding: 10px; }.account-actions { justify-content: space-between; padding-top: 12px; border-top: 1px solid var(--border); }
    .route-search { grid-template-columns: 1fr; }.mode-tabs { grid-template-columns: repeat(2, 1fr); min-height: auto; padding: 10px; }.mode-tab { justify-content: center; padding: 13px; }
    .route-form { grid-template-columns: 1fr 30px 1fr; }.route-form .button { grid-column: 1 / -1; }.route-swap { width: 30px; }
    .public-order-grid { grid-template-columns: repeat(2, 1fr); }.public-order-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .category-grid { grid-template-columns: repeat(2, 1fr); }.steps-grid { grid-template-columns: repeat(2, 1fr); row-gap: 30px; }.steps-grid li:nth-child(2)::after { display: none; }
    .carrier-cta { grid-template-columns: 1fr; padding: 45px; }
    .order-form { display: flex; flex-direction: column; }.form-main, .quote-sidebar { width: 100%; }.quote-sidebar { position: static; }.quote-card { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px; }.quote-card > .eyebrow, .quote-card > h2, .quote-card > p, .quote-card > small, .quote-card > .trust-list, .quote-result, .quote-card > .alert { grid-column: 1 / -1; }.quote-card .button { margin: 0; }
    .detail-layout, .payment-layout, .admin-dispute-layout { grid-template-columns: 1fr; }.detail-sidebar, .payment-summary, .resolution-card { position: static; }.detail-sidebar { display: grid; grid-template-columns: 1fr 1fr; }.price-panel { grid-column: 1 / -1; }
    .profile-layout { grid-template-columns: 1fr; }.profile-summary { position: static; }.profile-summary dl { max-width: 420px; margin-inline: auto; }.privacy-grid { grid-template-columns: 1fr; }
    .auth-shell { grid-template-columns: 1fr; }.auth-art { display: none; }
    .admin-list a { grid-template-columns: 160px 1fr auto; }.admin-list a > span:nth-child(3) { display: none; }
    .chat-shell { height: calc(100vh - 66px); }
}

@media (max-width: 680px) {
    body { font-size: 15px; }.container { width: min(calc(100% - 24px), var(--container)); }
    .site-footer { margin-top: 65px; }.footer-grid { grid-template-columns: 1fr 1fr; gap: 35px; }.footer-grid > div:first-child { grid-column: 1 / -1; }.footer-bottom { flex-direction: column; gap: 5px; }
    .route-search { margin-top: 24px; border-radius: 18px; }.mode-tabs { min-height: auto; }.mode-tab { font-size: .8rem; }.mode-tab svg { width: 20px; }.route-search-body { padding: 24px 18px 26px; }.route-search-heading { align-items: start; flex-direction: column; gap: 7px; }.route-form { grid-template-columns: 1fr; }.route-swap { display: none; }
    .public-orders-section { padding-top: 65px; }.public-orders-heading { align-items: start; flex-direction: column; gap: 8px; }.public-order-grid { grid-template-columns: 1fr; }.public-order-card:last-child:nth-child(odd) { grid-column: auto; }.public-order-footer { flex-direction: column; }.public-order-footer span:last-child { text-align: left; }
    .how-section, .carrier-cta { margin-top: 65px; }.category-section { padding-top: 65px; }.category-grid { grid-template-columns: 1fr 1fr; gap: 10px; }.category-grid article { min-height: 160px; padding: 20px; }.category-grid article::before { top: 20px; bottom: 20px; }.category-grid article > span { width: 43px; height: 43px; font-size: 1.45rem; }.steps-grid { grid-template-columns: 1fr; }.steps-grid li::after { display: none !important; }.steps-grid li { min-height: auto; display: flex; gap: 14px; }.steps-grid li > span { flex: 0 0 38px; margin-bottom: 0; }.carrier-cta { padding: 36px 24px; }
    .app-shell { padding-top: 34px; }.page-heading-actions { align-items: stretch; flex-direction: column; gap: 18px; }.page-heading-actions .button, .vehicle-chip { align-self: flex-start; }
    .form-section { padding: 22px 17px; }.route-fields, .three-columns, .handling-grid { grid-template-columns: 1fr; }.route-line { display: none; }.choice-grid, .choice-grid-three, .choice-grid-four { grid-template-columns: repeat(2, 1fr); }.category-choice { grid-template-columns: repeat(2, 1fr); }.quote-card { display: block; }.quote-card .button { margin-top: 10px; }
    .order-card-link { padding: 18px; }.order-card-top { flex-direction: column; }.order-card-bottom { align-items: center; }.route-title-small { font-size: 1.15rem; }
    .setup-panel, .commitment-banner, .market-toolbar { align-items: stretch; flex-direction: column; }.commitment-banner > div { align-items: flex-start; flex-direction: column; }.market-toolbar form { width: 100%; }
    .detail-header { flex-direction: column; }.detail-header .route-title { font-size: 1.75rem; }.action-banner { align-items: stretch; flex-direction: column; }.banner-action { justify-content: space-between; }.fact-grid { grid-template-columns: 1fr 1fr; }.photo-grid { grid-template-columns: 1fr 1fr; }.detail-sidebar { grid-template-columns: 1fr; }.price-panel { grid-column: auto; }
    .confirmation-card, .action-form-card { padding: 28px 19px; }.confirmation-actions { flex-direction: column-reverse; }.confirmation-actions .button { width: 100%; }.dispute-steps { align-items: flex-start; flex-direction: column; }.dispute-steps i { display: none; }.rating-form { grid-template-columns: 1fr; }.rating-comment, .rating-form > button { grid-column: auto; }
    .payment-main, .payment-summary { padding: 22px 18px; }.secure-points { grid-template-columns: 1fr; }.payment-shell { padding-top: 30px; }
    .chat-header { grid-template-columns: 1fr; align-items: start; }.chat-header .button { justify-self: start; }.message { max-width: 88%; }.message-form { grid-template-columns: 1fr auto; }.message-form .button span { display: none; }
    .vehicle-choice-grid { grid-template-columns: 1fr 1fr; }.profile-section { padding: 20px 17px; }.privacy-profile-link { align-items: flex-start; flex-direction: column; }
    .admin-nav { width: 100%; overflow-x: auto; }.stats-grid { grid-template-columns: 1fr 1fr; }.admin-list a { grid-template-columns: 1fr auto; }.admin-list .status-pill { grid-column: 1 / -1; }.evidence-grid { grid-template-columns: 1fr 1fr; }
    .responsive-table { margin-inline: -1px; }th, td { padding: 11px 12px; white-space: nowrap; }
    .legal-page { padding-top: 42px; }.legal-meta, .legal-version-grid { grid-template-columns: 1fr; }.button-row { flex-direction: column; width: 100%; max-width: 300px; }
}

@media (max-width: 420px) {
    .category-grid { grid-template-columns: 1fr; }.category-grid article { min-height: 130px; }
    .mode-tab { flex-direction: column; gap: 2px; padding: 7px; }
    .choice-grid, .choice-grid-three, .choice-grid-four, .category-choice { grid-template-columns: 1fr 1fr; }
    .fact-grid { grid-template-columns: 1fr; }.route-title svg { width: 28px; }.earning strong { font-size: 1.18rem; }
    .stats-grid { grid-template-columns: 1fr; }.vehicle-choice-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
