:root {
  --bg: #0a111d;
  --surface: #111d2c;
  --surface-soft: #17283b;
  --ink: #edf4fa;
  --ink-soft: #9aabbd;
  --line: #2b3d51;
  --navy: #16334d;
  --blue: #74baf0;
  --blue-soft: #173750;
  --teal: #70d3c1;
  --teal-bg: #143a39;
  --amber: #f0bd65;
  --amber-bg: #3b2d18;
  --red: #ff817b;
  --red-bg: #422429;
  --ok: #72d5ac;
  --ok-bg: #173a31;
  --radius: 7px;
  --tap: 44px;
  --shadow: 0 1px 4px rgba(0,0,0,.24);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: var(--bg); color: var(--ink); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif; font-size: 16px; line-height: 1.5; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.app-header { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 58px; padding: 9px 16px; background: var(--navy); color: #fff; border-bottom: 3px solid #e2a83b; }
.app-header__home { display: flex; align-items: center; gap: 9px; text-decoration: none; line-height: 1.15; min-width: 0; }
.app-header__mark { display: inline-flex; flex: 0 0 30px; height: 30px; align-items: center; justify-content: center; border: 1px solid #83a6c8; color: #fff; font-size: .9rem; font-weight: 800; }
.app-header__title { display: block; font-weight: 800; font-size: .98rem; letter-spacing: -.025em; }
.app-header__code { display: block; color: #b7c7d8; font-size: .63rem; margin-top: 3px; }
.app-header__admin, .app-header__login { color: #fff; font-size: .75rem; text-decoration: none; padding: 8px 3px; white-space: nowrap; }
.app-header__login { color: #f8d684; }
.app-header__account { display: flex; align-items: center; gap: 10px; color: #d7e3ed; font-size: .7rem; white-space: nowrap; }
.app-header__account form { margin: 0; }
.app-header__account button { padding: 0; border: 0; color: #f8d684; background: transparent; font-size: .7rem; }
.demo-banner { max-width: 760px; margin: 10px auto 0; padding: 7px 13px; border: 1px solid #6b552d; background: var(--amber-bg); color: #f6d58e; border-radius: 4px; font-size: .68rem; line-height: 1.4; }
.demo-banner a { display: inline-block; margin-left: 6px; color: var(--blue); font-weight: 800; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
.app-main { max-width: 760px; margin: 0 auto; padding: 18px 16px calc(82px + env(safe-area-inset-bottom)); }
.stack > * + * { margin-top: 18px; }
.page-title { font-size: 1.38rem; letter-spacing: -.045em; margin: 2px 0; }
.page-intro { padding: 2px 0; }
.lede { color: var(--ink-soft); margin: 0; font-size: .86rem; }
.eyebrow { color: var(--blue); font-size: .65rem; font-weight: 800; letter-spacing: .085em; margin: 0 0 4px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; padding: 2px 0 0; }
.section-heading h2 { font-size: 1.02rem; letter-spacing: -.03em; margin: 0; }
.section-heading--small { align-items: center; padding: 0; }
.result-count, .detail-card__muted { color: var(--ink-soft); font-size: .73rem; }
.text-link { color: var(--blue); font-size: .75rem; font-weight: 750; text-decoration: none; white-space: nowrap; }
.muted-line { margin: 0; color: var(--ink-soft); font-size: .8rem; }

/* Navigation */
.tabbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 12; display: flex; background: rgba(17,29,44,.98); border-top: 1px solid var(--line); padding-bottom: env(safe-area-inset-bottom); box-shadow: 0 -2px 10px rgba(0,0,0,.28); }
.tabbar__item { flex: 1; min-height: 62px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; text-decoration: none; color: var(--ink-soft); font-size: .61rem; white-space: nowrap; }
.tabbar__item.is-active { color: var(--blue); font-weight: 800; }
.tabbar__icon { font-size: 1.05rem; line-height: 1; }

/* Board */
.hero-card { padding: 18px 0 0; border-bottom: 1px solid var(--line); }
.hero-card .eyebrow { margin-bottom: 7px; }
.hero-card h1 { font-size: 1.65rem; line-height: 1.25; letter-spacing: -.065em; margin: 0 0 6px; }
.hero-card > p:not(.eyebrow) { color: var(--ink-soft); font-size: .82rem; margin: 0; }
.hero-stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 18px; border-top: 1px solid var(--line); }
.hero-stat-grid > div { display: flex; flex-direction: column; gap: 1px; padding: 11px 6px 9px 0; border-right: 1px solid var(--line); }
.hero-stat-grid > div + div { padding-left: 12px; }
.hero-stat-grid > div:last-child { border-right: 0; }
.hero-stat-grid strong { font-size: 1.28rem; line-height: 1.1; }
.hero-stat-grid span { color: var(--ink-soft); font-size: .62rem; }
.hero-stat-grid__urgent strong { color: var(--red); }
.hero-stat-grid__soon strong { color: var(--amber); }
.urgency-tabs { display: flex; gap: 0; overflow-x: auto; border-bottom: 1px solid var(--line); scrollbar-width: none; }
.urgency-tabs::-webkit-scrollbar { display: none; }
.urgency-tab { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 7px 14px; border-bottom: 3px solid transparent; color: var(--ink-soft); text-decoration: none; font-size: .75rem; font-weight: 700; white-space: nowrap; }
.urgency-tab.is-active { color: var(--navy); border-bottom-color: var(--navy); }
.urgency-tab--urgent { color: var(--red); }
.urgency-tab--imminent { color: var(--amber); }

.filter-card, .form-card, .detail-card, .job-card, .feedback-card, .reservation-card, .menu-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px; box-shadow: var(--shadow); }
.filter-card--compact { padding: 11px 12px; box-shadow: none; }
.filter-card__label { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; color: var(--ink-soft); font-size: .75rem; font-weight: 700; }
.filter-toggle { border: 0; padding: 0; color: var(--blue); background: transparent; font-size: .74rem; font-weight: 700; }
.filter-extra[hidden] { display: none; }
.filter-row, .field-row { display: flex; gap: 10px; }
.filter-row > *, .field-row > * { flex: 1; min-width: 0; }
.filter-card label, .field { display: flex; flex-direction: column; gap: 4px; font-size: .71rem; color: var(--ink-soft); }
.filter-row--primary select { font-weight: 700; }
.filter-card + * { margin-top: 16px; }
.form-card > * + * { margin-top: 14px; }
input, select, textarea { color: var(--ink); background: var(--surface-soft); border: 1px solid var(--line); border-radius: 4px; padding: 10px 11px; min-height: var(--tap); width: 100%; }
input:focus, select:focus, textarea:focus { outline: 2px solid #9ec3df; outline-offset: 1px; }
textarea { min-height: 96px; }
small, .privacy-note { color: var(--ink-soft); }
.privacy-note { font-size: .72rem; line-height: 1.5; margin: 0; }
.filter-actions, .form-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: var(--tap); padding: 10px 16px; border-radius: 4px; border: 1px solid transparent; font-weight: 750; text-decoration: none; cursor: pointer; }
.btn--primary { background: var(--navy); color: #fff; }
.btn--secondary { background: var(--teal-bg); color: var(--teal); border-color: #2d6d66; }
.btn--ghost { background: var(--surface); border-color: var(--line); color: var(--ink); }
.btn--small { min-height: 36px; padding: 7px 12px; font-size: .75rem; }
.btn--wide { width: 100%; }
.btn--disabled { background: var(--surface-soft); color: var(--ink-soft); cursor: not-allowed; width: 100%; }
.btn--demo-complete { background: var(--teal); cursor: default; }

/* Orders */
.job-list, .feedback-list, .partner-list { list-style: none; margin: 0; padding: 0; }
.job-list > li + li, .feedback-list > li + li, .partner-list > li + li { margin-top: 10px; }
.job-card { display: block; text-decoration: none; color: inherit; }
.order-card { padding: 14px 15px; border-left: 4px solid #8a9aaa; transition: border-color .15s ease; }
.order-card:hover { border-color: var(--blue); }
.order-card--urgent { border-left-color: var(--red); }
.order-card--imminent { border-left-color: var(--amber); }
.order-card--normal { border-left-color: var(--teal); }
.order-card > * + * { margin-top: 9px; }
.order-card__top, .detail-hero__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.order-card__source { color: var(--ink-soft); font-size: .65rem; white-space: nowrap; }
.job-card__meta { display: flex; gap: 5px; flex-wrap: wrap; }
.job-card__route { display: flex; align-items: center; gap: 9px; font-weight: 800; font-size: 1.08rem; flex-wrap: wrap; }
.job-card__route--lg { font-size: 1.42rem; }
.arrow { color: var(--blue); }
.terminal { letter-spacing: -.02em; }
.order-card__route-label, .detail-hero__labels { color: var(--ink-soft); font-size: .68rem; line-height: 1.35; }
.order-card__deadline { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 10px; background: var(--surface-soft); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.order-card__deadline > div:first-child { display: flex; align-items: baseline; gap: 7px; }
.order-card__deadline span, .order-card__grid span { color: var(--ink-soft); font-size: .68rem; }
.order-card__deadline strong { font-size: 1.2rem; line-height: 1; letter-spacing: -.04em; }
.order-card__deadline.is-attention { color: var(--red); background: var(--red-bg); border-color: #f1c5c1; }
.order-card--imminent .order-card__deadline.is-attention { color: var(--amber); background: var(--amber-bg); border-color: #edd5a8; }
.order-card__deadline-date { color: var(--ink-soft); font-size: .68rem; }
.order-card__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.order-card__grid > div { display: flex; flex-direction: column; gap: 1px; }
.order-card__grid strong { font-size: .77rem; }
.job-card__line { font-size: .78rem; color: var(--ink-soft); display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.order-card__containers strong { color: var(--ink); }
.order-card__bottom { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 10px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .76rem; }
.order-card__bottom strong { color: var(--ink); }
.order-card__cta { display: inline-flex; align-items: center; gap: 5px; color: var(--blue); font-size: .8rem; font-weight: 800; }
.order-card__cta span { font-size: 1.1rem; line-height: 1; }
.badge, .chip { display: inline-block; padding: 3px 7px; border-radius: 3px; font-size: .64rem; font-weight: 800; border: 1px solid var(--line); background: var(--surface-soft); color: var(--ink-soft); }
.badge--urgency-urgent { background: var(--red); border-color: var(--red); color: #fff; }
.badge--urgency-imminent { background: var(--amber-bg); border-color: #ebcc98; color: var(--amber); }
.badge--urgency-normal { background: var(--teal-bg); border-color: #b9ded7; color: var(--teal); }
.badge--urgency-expired, .badge--reservation-closed { background: #edf0f2; color: #687783; }
.badge--urgency-unknown, .badge--reservation-unknown, .badge--reservation-not_open { background: #f1f3f5; color: #718096; }
.badge--reservation-open { background: var(--ok-bg); border-color: #bfe1d3; color: var(--ok); }
.badge--reservation-closing { background: var(--amber-bg); border-color: #ebcc98; color: var(--amber); }
.badge--status-published, .badge--status-done { background: var(--ok-bg); color: var(--ok); }
.badge--status-pending_review, .badge--status-new { background: var(--amber-bg); color: var(--amber); }
.badge--status-closed { background: #eceff1; color: #55606a; }
.badge--status-reviewing { background: var(--blue-soft); color: var(--blue); }
.chip--reefer { background: var(--blue-soft); color: var(--blue); }
.chip--oog { background: var(--red-bg); color: var(--red); }
.chip--etc { background: #f0edf7; color: #5e35a1; }
.chip--dry { background: #edf3f8; color: #45637e; }

/* Detail */
.detail-hero { background: var(--surface); border: 1px solid var(--line); border-top: 4px solid var(--navy); border-radius: var(--radius); padding: 16px; box-shadow: var(--shadow); }
.detail-hero > * + * { margin-top: 12px; }
.deadline-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 12px; background: var(--surface-soft); border: 1px solid var(--line); }
.deadline-panel > div { display: flex; flex-direction: column; gap: 1px; }
.deadline-panel span { font-size: .68rem; color: var(--ink-soft); }
.deadline-panel strong { font-size: 1rem; }
.deadline-panel > div:first-child strong { font-size: 1.5rem; letter-spacing: -.05em; line-height: 1.1; }
.deadline-panel--urgent { background: var(--red-bg); border-color: #efc4bf; color: var(--red); }
.deadline-panel--urgent span { color: #9b4b45; }
.deadline-panel--imminent { background: var(--amber-bg); border-color: #ecd3a5; color: var(--amber); }
.deadline-panel--imminent span { color: #9a6300; }
.detail-hero__footer { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; color: var(--ink-soft); font-size: .75rem; }
.detail-hero__footer strong { color: var(--ink); }
.detail-hero__footer span + span { border-left: 1px solid var(--line); padding-left: 8px; }
.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.detail-grid > div { padding: 10px; background: var(--surface-soft); border: 1px solid var(--line); }
.detail-grid span { display: block; color: var(--ink-soft); font-size: .67rem; }
.detail-grid strong { display: block; margin-top: 2px; font-size: .78rem; }
.check-list { list-style: none; padding: 0; margin: 13px 0 0; display: grid; gap: 6px; color: var(--ink-soft); font-size: .75rem; }
.check-list span { display: inline-flex; width: 17px; height: 17px; align-items: center; justify-content: center; margin-right: 5px; border-radius: 50%; background: var(--ok-bg); color: var(--ok); font-size: .65rem; font-weight: 800; }
.reservation-cta-card { padding: 16px; border: 1px solid #a9cfc8; background: #f2f9f7; border-radius: var(--radius); }
.reservation-cta-card h2 { font-size: 1rem; margin: 0; letter-spacing: -.03em; }
.reservation-cta-card p:not(.eyebrow):not(.reservation-disclaimer) { margin: 3px 0 12px; color: var(--ink-soft); font-size: .76rem; }
.reservation-disclaimer { color: #765d2f; font-size: .68rem; margin: 9px 0 0; }
.demo-reservation-notice { margin-top: 10px; padding: 10px; color: var(--teal); background: var(--teal-bg); font-size: .74rem; }
.items-table, .items { width: 100%; border-collapse: collapse; font-size: .78rem; }
.items-table th, .items-table td { border-bottom: 1px solid var(--line); padding: 8px 5px; text-align: left; }
.detail-card--future { opacity: .78; }
.detail-card__title { font-size: 1rem; margin: 0 0 8px; }
.future-list { margin: 0; padding-left: 18px; font-size: .8rem; color: var(--ink-soft); }
.future-list > li + li { margin-top: 4px; }
.future-note { font-size: .72rem; color: var(--ink-soft); margin: 8px 0 0; }
.prewrap { white-space: pre-wrap; }

/* Driver mobile app shell */
.driver-app { background: #07111d; }
.driver-app .app-header { max-width: 460px; margin: 0 auto; min-height: 52px; padding: 8px 15px; border-bottom-width: 2px; }
.driver-app .app-header__code { display: none; }
.driver-app .app-header__mark { flex-basis: 28px; height: 28px; }
.driver-app .app-main { max-width: 460px; padding: 17px 15px calc(88px + env(safe-area-inset-bottom)); background: var(--bg); }
.driver-app .demo-banner { max-width: 460px; margin-top: 0; border-radius: 0; border-left: 0; border-right: 0; }
.driver-app .tabbar { max-width: 460px; left: 50%; right: auto; width: 100%; transform: translateX(-50%); }
.driver-home { min-height: calc(100vh - 160px); }
.driver-home__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.driver-home__brand { color: var(--blue); font-size: .62rem; font-weight: 850; letter-spacing: .08em; margin: 0 0 5px; }
.driver-home__brand span { color: var(--ink-soft); font-weight: 600; letter-spacing: 0; margin-left: 4px; }
.driver-home__top h1 { margin: 0; font-size: 1.26rem; letter-spacing: -.055em; }
.driver-home__top p:last-child { color: var(--ink-soft); font-size: .7rem; margin: 4px 0 0; }
.driver-online { display: inline-flex; align-items: center; gap: 5px; padding: 6px 8px; color: var(--ok); background: var(--ok-bg); border: 1px solid #28604d; border-radius: 999px; font-size: .63rem; font-weight: 800; white-space: nowrap; }
.driver-online i { width: 6px; height: 6px; border-radius: 50%; background: var(--ok); }
.driver-summary { display: grid; grid-template-columns: 1fr 1fr 1.15fr; overflow: hidden; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.driver-summary > div { min-width: 0; padding: 12px 11px; border-right: 1px solid var(--line); }
.driver-summary > div:last-child { border-right: 0; }
.driver-summary span, .driver-summary small { display: block; color: var(--ink-soft); font-size: .63rem; }
.driver-summary strong { display: inline-block; margin-top: 2px; font-size: 1.35rem; line-height: 1; }
.driver-summary small { display: inline-block; margin-left: 3px; }
.driver-summary__status { color: var(--ok); font-size: .82rem !important; }
.driver-filter-nav { display: flex; gap: 7px; overflow-x: auto; margin: 0 -15px; padding: 0 15px 2px; scrollbar-width: none; }
.driver-filter-nav::-webkit-scrollbar { display: none; }
.driver-filter-nav a { flex: 0 0 auto; padding: 7px 11px; color: var(--ink-soft); background: var(--surface); border: 1px solid var(--line); border-radius: 999px; font-size: .68rem; text-decoration: none; white-space: nowrap; }
.driver-filter-nav a span { color: var(--blue); margin-left: 3px; }
.driver-filter-nav a.is-active { color: #061320; background: var(--blue); border-color: var(--blue); font-weight: 800; }
.driver-filter-nav a.is-active span { color: #061320; }
.driver-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.driver-section-heading h2 { margin: 0; font-size: .99rem; letter-spacing: -.035em; }
.driver-section-heading > a { color: var(--blue); font-size: .68rem; font-weight: 750; text-decoration: none; }
.driver-order-list, .driver-reservation-list { list-style: none; margin: 0; padding: 0; }
.driver-order-list > li + li { margin-top: 9px; }
.driver-order-card { display: block; padding: 13px 13px 11px; color: inherit; background: var(--surface); border: 1px solid var(--line); border-left: 4px solid var(--teal); border-radius: 12px; text-decoration: none; box-shadow: var(--shadow); }
.driver-order-card--urgent { border-left-color: var(--red); }
.driver-order-card--imminent { border-left-color: var(--amber); }
.driver-order-card__head, .driver-order-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--ink-soft); font-size: .65rem; }
.driver-order-card__urgency { color: var(--teal); font-weight: 850; }
.driver-order-card--urgent .driver-order-card__urgency { color: var(--red); }
.driver-order-card--imminent .driver-order-card__urgency { color: var(--amber); }
.driver-order-card__route { display: flex; align-items: center; gap: 9px; margin-top: 10px; font-size: 1.2rem; letter-spacing: -.045em; }
.driver-order-card__route span { color: var(--blue); }
.driver-order-card p { overflow: hidden; margin: 3px 0 11px; color: var(--ink-soft); font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.driver-order-card__foot { padding-top: 9px; border-top: 1px solid var(--line); }
.driver-order-card__foot b { color: var(--ink); font-size: .81rem; margin-left: 3px; }
.driver-order-card--urgent .driver-order-card__foot b { color: var(--red); }
.driver-order-card--imminent .driver-order-card__foot b { color: var(--amber); }
.driver-order-card__arrow { color: var(--blue); font-size: 1.25rem; line-height: .7; }
.driver-reservation-list > li + li { border-top: 1px solid var(--line); }
.driver-reservation-list a { display: flex; align-items: center; gap: 9px; padding: 11px 2px; text-decoration: none; }
.driver-reservation-list__mark { display: inline-flex; flex: 0 0 24px; height: 24px; align-items: center; justify-content: center; color: var(--ok); background: var(--ok-bg); border-radius: 50%; font-size: .7rem; }
.driver-reservation-list a span:nth-child(2) { flex: 1; min-width: 0; }
.driver-reservation-list strong, .driver-reservation-list small { display: block; }
.driver-reservation-list strong { font-size: .75rem; }
.driver-reservation-list small { color: var(--ink-soft); font-size: .66rem; margin-top: 2px; }
.driver-reservation-list b { color: var(--blue); font-size: 1.1rem; }
.driver-empty-line { margin: 0; color: var(--ink-soft); font-size: .74rem; }
.driver-ai-card { display: flex; align-items: center; gap: 10px; padding: 12px; color: inherit; background: linear-gradient(135deg, #0d263c, #102f44); border: 1px solid #235572; border-radius: 12px; text-decoration: none; box-shadow: var(--shadow); }
.driver-ai-card__mark { display: inline-flex; flex: 0 0 32px; height: 32px; align-items: center; justify-content: center; color: #07111d; background: var(--blue); border-radius: 9px; font-size: .62rem; font-weight: 900; }
.driver-ai-card span:nth-child(2) { flex: 1; min-width: 0; }
.driver-ai-card strong, .driver-ai-card small { display: block; }
.driver-ai-card strong { font-size: .78rem; }
.driver-ai-card small { margin-top: 3px; color: #a8bfd0; font-size: .64rem; line-height: 1.4; }
.driver-ai-card > b { color: var(--blue); font-size: 1.25rem; }
.driver-assistant__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.driver-assistant__head h1 { margin: 0; font-size: 1.3rem; letter-spacing: -.055em; }
.driver-assistant__head p:last-child { margin: 4px 0 0; color: var(--ink-soft); font-size: .69rem; line-height: 1.45; }
.driver-ai-badge { padding: 6px 8px; color: var(--blue); border: 1px solid #286080; border-radius: 999px; font-size: .58rem; font-weight: 850; white-space: nowrap; }
.driver-assistant__notice { font-size: .68rem; line-height: 1.5; }
.driver-ai-list { display: flex; flex-direction: column; gap: 9px; margin: 0; padding: 0; list-style: none; }
.driver-ai-result { padding: 12px; background: var(--surface); border: 1px solid var(--line); border-left: 4px solid var(--teal); border-radius: 12px; box-shadow: var(--shadow); }
.driver-ai-result.is-warning { border-left-color: var(--amber); }
.driver-ai-result__top { display: flex; align-items: center; gap: 9px; }
.driver-ai-result__top > div { flex: 1; min-width: 0; }
.driver-ai-result__top > a { color: var(--blue); font-size: 1.35rem; text-decoration: none; }
.driver-ai-score { display: inline-flex; flex: 0 0 40px; height: 40px; flex-direction: column; align-items: center; justify-content: center; color: #07111d; background: var(--blue); border-radius: 11px; font-size: .9rem; font-weight: 900; line-height: 1; }
.driver-ai-score small { font-size: .53rem; margin-top: 2px; }
.driver-ai-result__label { display: inline-block; margin-bottom: 3px; color: var(--teal); font-size: .58rem; font-weight: 850; }
.driver-ai-result strong, .driver-ai-result small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.driver-ai-result strong { font-size: .9rem; letter-spacing: -.03em; }
.driver-ai-result small { margin-top: 2px; color: var(--ink-soft); font-size: .63rem; }
.driver-ai-reasons, .driver-ai-warnings { display: flex; flex-wrap: wrap; gap: 5px; margin: 9px 0 0; }
.driver-ai-reasons span, .driver-ai-warnings span { padding: 4px 6px; font-size: .59rem; border-radius: 5px; }
.driver-ai-reasons span { color: #a8decf; background: var(--ok-bg); }
.driver-ai-warnings span { color: #f1d28b; background: var(--amber-bg); }
.driver-ai-result__foot { display: flex; align-items: center; gap: 9px; margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .62rem; }
.driver-ai-result__foot b { color: var(--ink); margin-left: 2px; }
.driver-ai-result__foot a { margin-left: auto; color: var(--blue); font-weight: 800; text-decoration: none; }
.driver-brief-card { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 12px; background: var(--surface); border: 1px solid var(--line); border-radius: 11px; }
.driver-brief-card strong, .driver-brief-card small { display: block; }
.driver-brief-card strong { font-size: .82rem; }
.driver-brief-card small { margin-top: 3px; color: var(--ink-soft); font-size: .63rem; }
.driver-checklist { overflow: hidden; margin: 0; padding: 0; list-style: none; background: var(--surface); border: 1px solid var(--line); border-radius: 11px; }
.driver-checklist li { display: flex; align-items: flex-start; gap: 9px; padding: 11px 10px; }
.driver-checklist li + li { border-top: 1px solid var(--line); }
.driver-checklist__mark { display: inline-flex; flex: 0 0 21px; height: 21px; align-items: center; justify-content: center; color: #07111d; background: var(--blue); border-radius: 50%; font-size: .6rem; font-weight: 900; }
.driver-checklist li div { flex: 1; min-width: 0; }
.driver-checklist strong, .driver-checklist small { display: block; }
.driver-checklist strong { font-size: .72rem; }
.driver-checklist small { margin-top: 3px; color: var(--ink-soft); font-size: .63rem; line-height: 1.4; }
.driver-checklist li > b { color: var(--blue); font-size: .57rem; white-space: nowrap; }
.driver-assistant__cta { width: 100%; text-align: center; }

/* Role workspaces and login */
.workspace-heading { display: flex; align-items: end; justify-content: space-between; gap: 14px; }
.workspace-heading > div { min-width: 0; }
.metric-strip { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--surface); }
.metric-strip > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding: 11px 12px; border-right: 1px solid var(--line); }
.metric-strip > div:last-child { border-right: 0; }
.metric-strip span { color: var(--ink-soft); font-size: .68rem; }
.metric-strip strong { font-size: 1.2rem; line-height: 1.1; }
.metric-strip small { font-size: .65rem; margin-left: 2px; }
.metric-strip .metric-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; }
.job-list--compact > li + li { margin-top: 0; border-top: 1px solid var(--line); }
.job-row { display: grid; grid-template-columns: 72px 1fr auto auto; align-items: center; gap: 10px; padding: 13px 2px; text-decoration: none; }
.job-row:hover { background: var(--surface); }
.job-row__urgency { align-self: start; padding-top: 2px; color: var(--ink-soft); font-size: .7rem; font-weight: 800; }
.job-row__urgency--urgent { color: var(--red); }
.job-row__urgency--imminent { color: var(--amber); }
.job-row__route strong { font-size: .86rem; }
.job-row__route > span { margin: 0 5px; color: var(--blue); }
.job-row__route small, .job-row__deadline small { display: block; color: var(--ink-soft); font-size: .67rem; }
.job-row__deadline { text-align: right; }
.job-row__deadline strong { display: block; font-size: .9rem; color: var(--red); }
.job-row__action { color: var(--blue); font-size: .7rem; white-space: nowrap; }
.table-wrap { overflow-x: auto; background: var(--surface); border: 1px solid var(--line); }
.data-table { width: 100%; border-collapse: collapse; min-width: 590px; font-size: .76rem; }
.data-table th { color: var(--ink-soft); background: var(--surface-soft); font-size: .68rem; font-weight: 700; text-align: left; }
.data-table th, .data-table td { padding: 10px 11px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.data-table tr:last-child td { border-bottom: 0; }
.data-table a { color: var(--blue); text-decoration: none; font-weight: 700; }
.data-table td small { display: block; margin-top: 2px; font-size: .66rem; }
.status-chip { display: inline-block; padding: 4px 7px; border-radius: 3px; font-size: .65rem; font-weight: 800; white-space: nowrap; }
.status-chip--valid { color: var(--ok); background: var(--ok-bg); }
.status-chip--expiring { color: var(--amber); background: var(--amber-bg); }
.status-chip--pending { color: var(--blue); background: var(--blue-soft); }
.login-layout { display: grid; gap: 22px; padding: 24px 0; }
.login-copy { padding: 8px 0; }
.login-copy h1 { margin: 0 0 11px; font-size: 2rem; line-height: 1.2; letter-spacing: -.07em; }
.login-copy .text-link { display: inline-block; margin-top: 20px; }
.login-panel { padding: 18px; background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow); }
.secure-label { color: var(--ink-soft); font-size: .68rem; }
.role-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 16px 0; }
.role-card { display: flex; flex-direction: column; gap: 3px; min-height: 78px; padding: 10px; border: 1px solid var(--line); background: var(--surface-soft); text-decoration: none; }
.role-card strong { color: var(--blue); font-size: .76rem; }
.role-card span { color: var(--ink-soft); font-size: .64rem; line-height: 1.35; }
.role-card.is-selected { border: 2px solid var(--blue); padding: 9px; background: var(--blue-soft); }
.form-card--plain { padding: 0; border: 0; box-shadow: none; }
.test-account-note { display: flex; flex-direction: column; gap: 1px; margin-top: 15px; padding-top: 12px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .68rem; }
.test-account-note strong { color: var(--ink); font-size: .7rem; margin-bottom: 3px; }
.admin-login-link { display: block; margin-top: 15px; color: var(--blue); font-size: .72rem; text-decoration: none; }
.login-required-panel, .workspace-callout { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px; background: var(--surface); border: 1px solid var(--line); }
.login-required-panel p, .workspace-callout p { margin: 2px 0 0; color: var(--ink-soft); font-size: .74rem; }
.narrow-content { max-width: 640px; margin: 0 auto; }

/* Role-specific workspaces */
.workspace-menu { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.workspace-menu__item { display: flex; min-height: 88px; flex-direction: column; justify-content: space-between; padding: 11px; color: inherit; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; text-decoration: none; box-shadow: var(--shadow); }
.workspace-menu__item > span { color: var(--blue); font-size: 1.1rem; line-height: 1; }
.workspace-menu__item strong { margin-top: 8px; font-size: .74rem; }
.workspace-menu__item small { color: var(--ink-soft); font-size: .63rem; line-height: 1.25; }
.workspace-menu__item--primary { background: var(--blue-soft); border-color: #2b6080; }
.workspace-menu__item--primary strong { color: var(--blue); }
.workspace-section-heading { margin-top: 5px; }
.workspace-order-list { overflow: hidden; margin: 0; padding: 0; list-style: none; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; }
.workspace-order-list > li + li { border-top: 1px solid var(--line); }
.workspace-order-list a { display: grid; grid-template-columns: 84px minmax(0, 1fr) auto auto; align-items: center; gap: 10px; padding: 12px; color: inherit; text-decoration: none; }
.workspace-order-list a:hover { background: var(--surface-soft); }
.workspace-order-list__status { align-self: start; padding-top: 2px; color: var(--teal); font-size: .68rem; font-weight: 800; }
.workspace-order-list__status--urgent { color: var(--red); }
.workspace-order-list__status--imminent { color: var(--amber); }
.workspace-order-list__main { min-width: 0; }
.workspace-order-list__main strong, .workspace-order-list__main small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-order-list__main strong { font-size: .8rem; }
.workspace-order-list__main strong i { color: var(--blue); font-style: normal; margin: 0 4px; }
.workspace-order-list__main small, .workspace-order-list__deadline small { color: var(--ink-soft); font-size: .64rem; }
.workspace-order-list__deadline { text-align: right; }
.workspace-order-list__deadline small, .workspace-order-list__deadline b { display: block; }
.workspace-order-list__deadline b { color: var(--ink); font-size: .74rem; }
.workspace-order-list__status--urgent ~ .workspace-order-list__main + .workspace-order-list__deadline b { color: var(--red); }
.workspace-order-list__arrow { color: var(--blue); font-size: 1.15rem; }

/* Public hub / partners / menu */
.notice { border-radius: 4px; padding: 11px 13px; font-size: .79rem; }
.notice--ok { background: var(--ok-bg); color: var(--ok); }
.notice--error { background: var(--red-bg); color: var(--red); }
.notice--demo { background: var(--amber-bg); color: #f5d58e; border: 1px solid #6b552d; }
.notice ul { margin: 0; padding-left: 18px; }
.reservation-card { padding: 16px; }
.reservation-card > * + * { margin-top: 12px; }
.reservation-card__deadline { display: flex; align-items: baseline; gap: 8px; padding: 11px; color: var(--red); background: var(--red-bg); border: 1px solid #efc9c5; }
.reservation-card__deadline span, .reservation-card__deadline small { color: var(--ink-soft); font-size: .7rem; }
.reservation-card__deadline strong { font-size: 1.35rem; }
.timeline { list-style: none; padding: 0; margin: 4px 0 15px; }
.timeline li { display: flex; gap: 10px; position: relative; padding: 0 0 15px; color: #91a0af; }
.timeline li:not(:last-child):after { content: ""; position: absolute; top: 24px; left: 11px; height: calc(100% - 16px); border-left: 1px dashed #cbd6e0; }
.timeline > li > span { position: relative; z-index: 1; display: inline-flex; flex: 0 0 23px; height: 23px; align-items: center; justify-content: center; border-radius: 50%; background: var(--surface-soft); color: var(--ink-soft); font-size: .68rem; font-weight: 800; }
.timeline li.is-done { color: var(--ink); }
.timeline li.is-done > span { background: var(--teal); color: #fff; }
.timeline strong, .timeline small { display: block; }
.timeline strong { font-size: .78rem; }
.timeline small { margin-top: 1px; color: var(--ink-soft); font-size: .68rem; }
.public-service-hero { display: flex; gap: 13px; align-items: center; padding: 17px; color: #fff; background: var(--navy); border-left: 5px solid #e2a83b; }
.public-service-hero__icon { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border: 1px solid #7895b0; font-size: 1.45rem; }
.public-service-hero h1 { margin: 0; font-size: 1.3rem; }
.public-service-hero p:not(.eyebrow) { color: #c8d8e6; font-size: .75rem; margin: 2px 0 0; }
.public-service-hero .eyebrow { color: #f4d17e; }
.service-list { display: grid; gap: 7px; }
.service-card, .menu-links > a { display: flex; align-items: center; gap: 11px; padding: 13px; background: var(--surface); border: 1px solid var(--line); text-decoration: none; box-shadow: var(--shadow); }
.service-card__icon { display: inline-flex; flex: 0 0 34px; height: 34px; align-items: center; justify-content: center; color: var(--blue); background: var(--blue-soft); font-size: 1.1rem; }
.service-card__icon--word { font-size: .58rem; font-weight: 900; letter-spacing: -.03em; }
.service-card > div, .menu-links > a > div { flex: 1; }
.service-card strong, .menu-links strong { display: block; font-size: .79rem; }
.service-card p, .menu-links small { display: block; color: var(--ink-soft); font-size: .69rem; margin: 1px 0 0; }
.service-card > span:last-child, .menu-links b { color: var(--blue); font-size: 1.1rem; }
.service-card__eyebrow { margin-bottom: 2px !important; color: var(--teal) !important; font-size: .58rem !important; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.service-card__status { flex: 0 0 auto; color: var(--ink-soft) !important; font-size: .59rem !important; white-space: nowrap; }
.hub-metrics { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; }
.hub-metrics > div { padding: 11px 10px; border-right: 1px solid var(--line); }
.hub-metrics > div:last-child { border-right: 0; }
.hub-metrics span, .hub-metrics small { display: block; color: var(--ink-soft); font-size: .62rem; }
.hub-metrics strong { display: inline-block; margin-top: 3px; font-size: 1.2rem; }
.hub-metrics small { display: inline-block; margin-left: 2px; }
.section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.integration-flow { display: flex; gap: 0; overflow-x: auto; margin: 13px -2px 0; padding: 0 2px 3px; list-style: none; }
.integration-flow__item { position: relative; display: flex; flex: 0 0 142px; flex-direction: column; gap: 7px; padding: 0 11px 0 0; }
.integration-flow__item:not(:last-child)::after { content: "→"; position: absolute; top: 8px; right: 4px; color: var(--blue); font-size: .9rem; }
.integration-flow__number { display: inline-flex; width: 25px; height: 25px; align-items: center; justify-content: center; color: #07111d; background: var(--blue); border-radius: 50%; font-size: .58rem; font-weight: 900; }
.integration-flow__item strong, .integration-flow__item small, .integration-flow__item b { display: block; }
.integration-flow__item strong { font-size: .73rem; }
.integration-flow__item small { margin-top: 3px; color: var(--ink-soft); font-size: .62rem; line-height: 1.35; }
.integration-flow__item b { color: var(--teal); font-size: .58rem; }
.hub-job-summary { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin: 10px 0; padding: 11px; background: var(--surface-soft); border: 1px solid var(--line); border-radius: 7px; }
.hub-job-summary span, .hub-job-summary strong, .hub-job-summary small { display: block; }
.hub-job-summary span { color: var(--teal); font-size: .59rem; font-weight: 800; }
.hub-job-summary strong { margin-top: 3px; font-size: .9rem; }
.hub-job-summary small { margin-top: 2px; color: var(--ink-soft); font-size: .62rem; }
.comparison-row { display: grid; grid-template-columns: 92px 1fr; gap: 2px 8px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.comparison-row:last-of-type { border-bottom: 0; }
.comparison-row span, .comparison-row small { color: var(--ink-soft); font-size: .7rem; }
.comparison-row strong { font-size: .78rem; }
.comparison-row small { grid-column: 2; }
.partner-card { padding: 15px; background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow); }
.partner-card__top { display: flex; align-items: center; gap: 10px; }
.partner-card__icon { display: inline-flex; flex: 0 0 36px; height: 36px; align-items: center; justify-content: center; color: #fff; background: var(--navy); font-size: 1.05rem; }
.partner-card h2 { margin: 0; font-size: .95rem; }
.partner-card__top > div { flex: 1; }
.partner-card__top .eyebrow { margin-bottom: 0; }
.mini-kv, .kv { display: grid; grid-template-columns: 26% 1fr; gap: 6px 10px; margin: 13px 0; font-size: .76rem; }
.mini-kv dt, .kv dt { color: var(--ink-soft); }
.mini-kv dd, .kv dd { margin: 0; }
.tag-cloud { display: flex; flex-wrap: wrap; gap: 6px; }
.tag-cloud span { padding: 5px 8px; color: var(--blue); background: var(--blue-soft); font-size: .7rem; }
.menu-card--next { border-left: 4px solid var(--teal); background: var(--surface); }
.menu-card h2 { margin: 0; font-size: 1rem; }
.menu-card p:not(.eyebrow) { color: var(--ink-soft); font-size: .76rem; margin: 5px 0 10px; }
.menu-links { display: grid; gap: 7px; }
.menu-links > a > span { display: inline-flex; flex: 0 0 32px; height: 32px; align-items: center; justify-content: center; color: var(--blue); background: var(--blue-soft); font-size: 1.05rem; }

/* Existing forms/admin */
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.items legend { font-size: .8rem; color: var(--ink-soft); padding: 0; }
.item-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 10px; }
.item-row > select { flex: 1 1 90px; }
.item-row > input[type="number"] { flex: 1 1 70px; }
.item-row > input[type="text"] { flex: 2 1 140px; }
.item-row__haz { display: flex; align-items: center; gap: 4px; font-size: .8rem; white-space: nowrap; }
.item-row__haz input { width: auto; min-height: 0; }
.admin-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.admin-actions, .admin-actions .inline-form { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.inline-form select { width: auto; }
.feedback-card { display: block; text-decoration: none; color: inherit; }
.feedback-card__top { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.feedback-card__date { font-size: .7rem; color: var(--ink-soft); margin-left: auto; }
.feedback-card__who { font-weight: 650; margin-top: 6px; font-size: .82rem; }
.feedback-card__excerpt { margin: 6px 0 0; font-size: .78rem; color: var(--ink-soft); }
.empty, .empty-state { color: var(--ink-soft); text-align: center; padding: 32px 12px; }
.empty-state { display: flex; flex-direction: column; align-items: center; gap: 9px; background: var(--surface); border: 1px dashed var(--line); }
.empty-state__icon { font-size: 2rem; color: #9badbf; }
.empty-state strong { color: var(--ink); font-size: .85rem; }
.public-hub-note { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid #2b526b; background: #102637; }
.public-hub-note__icon { display: inline-flex; flex: 0 0 30px; height: 30px; align-items: center; justify-content: center; color: var(--blue); background: var(--blue-soft); }
.public-hub-note > div { flex: 1; }
.public-hub-note strong { display: block; font-size: .78rem; }
.public-hub-note p { color: var(--ink-soft); font-size: .68rem; margin: 2px 0 0; }
.public-hub-note > a { color: var(--blue); font-size: 1.25rem; text-decoration: none; }
.prewrap { white-space: pre-wrap; }

/* V2: container manifest, appointment slots, execution and settlement */
.slot-picker { display: grid; gap: 12px; }
.slot-picker fieldset { display: grid; gap: 7px; margin: 0; padding: 0; border: 0; }
.slot-picker legend { margin-bottom: 2px; color: var(--ink-soft); font-size: .72rem; }
.slot-option { display: flex; align-items: center; gap: 9px; min-height: 50px; padding: 8px 10px; background: var(--surface-soft); border: 1px solid var(--line); border-radius: 7px; cursor: pointer; }
.slot-option:has(input:checked) { border-color: var(--blue); background: var(--blue-soft); }
.slot-option.is-full { opacity: .45; cursor: not-allowed; }
.slot-option input { width: auto; min-height: 0; }
.slot-option span { display: flex; flex: 1; align-items: center; justify-content: space-between; gap: 8px; }
.slot-option strong { font-size: .78rem; }
.slot-option small { color: var(--ink-soft); font-size: .68rem; }
.container-unit-list { display: grid; gap: 7px; }
.container-unit { padding: 11px; background: var(--surface-soft); border: 1px solid var(--line); border-radius: 7px; }
.container-unit__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.container-unit__top strong { font-size: .77rem; letter-spacing: .01em; }
.container-unit__grid { display: grid; grid-template-columns: 1.35fr .6fr .8fr 1fr; gap: 6px; margin-top: 8px; color: var(--ink-soft); font-size: .68rem; }
.container-unit p { margin: 6px 0 0; color: var(--amber); font-size: .68rem; }
.settlement-total, .settlement-mini { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px; background: var(--blue-soft); border: 1px solid #2b6080; }
.settlement-total span, .settlement-mini span { color: var(--ink-soft); font-size: .7rem; }
.settlement-total strong, .settlement-mini strong { display: block; color: var(--blue); font-size: 1.22rem; }
.settlement-breakdown { display: grid; grid-template-columns: 1fr auto; gap: 5px 10px; margin: 12px 0 0; font-size: .72rem; }
.settlement-breakdown dt { color: var(--ink-soft); }
.settlement-breakdown dd { margin: 0; text-align: right; }
.reservation-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; color: var(--ink-soft); font-size: .68rem; }
.stage-form { display: grid; gap: 8px; padding: 11px; background: var(--surface-soft); border: 1px solid var(--line); }
.stage-form .field { margin: 0; }
.timeline li.is-current { color: var(--blue); }
.timeline li.is-current > span { background: var(--blue); color: #061320; }
.settlement-mini { margin-top: 10px; padding: 9px 11px; background: var(--surface-soft); border-color: var(--line); }
.settlement-mini strong { font-size: .92rem; }
.assignment-list { display: grid; gap: 8px; }
.assignment-card { padding: 13px; background: var(--surface); border: 1px solid var(--line); border-left: 3px solid var(--teal); }
.assignment-card__top, .assignment-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--ink-soft); font-size: .68rem; }
.assignment-card h2 { margin: 8px 0 2px; font-size: .95rem; }
.assignment-card h2 a { color: var(--blue); text-decoration: none; }
.assignment-card p { margin: 0; color: var(--ink-soft); font-size: .7rem; }
.assignment-card__meta { justify-content: flex-start; flex-wrap: wrap; margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--line); }

/* 올컨e e-Slip field flow */
.e-slip-panel { border-top: 3px solid var(--blue); }
.e-slip-result { margin-top: 11px; padding: 10px 11px; color: var(--teal); background: var(--teal-bg); border: 1px solid #286057; font-size: .73rem; }
.e-slip-list { display: grid; gap: 10px; margin-top: 12px; }
.e-slip-card { padding: 12px; background: var(--surface-soft); border: 1px solid var(--line); border-left: 3px solid var(--line); border-radius: 8px; }
.e-slip-card--pre_info_sent { border-left-color: var(--blue); }
.e-slip-card--issued { border-left-color: var(--ok); }
.e-slip-card--error { border-left-color: var(--red); }
.e-slip-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.e-slip-card__ref { color: var(--teal); font-size: .59rem; font-weight: 800; }
.e-slip-card h3 { margin: 3px 0 0; font-size: .94rem; letter-spacing: -.035em; }
.e-slip-card h3 span { color: var(--blue); padding: 0 4px; }
.e-slip-card__top small { display: block; margin-top: 3px; color: var(--ink-soft); font-size: .64rem; }
.e-slip-status { padding: 5px 7px; border-radius: 999px; font-size: .6rem; font-weight: 850; white-space: nowrap; }
.e-slip-status--not_started { color: var(--ink-soft); background: var(--surface); }
.e-slip-status--pre_info_sent { color: var(--blue); background: var(--blue-soft); }
.e-slip-status--issued { color: var(--ok); background: var(--ok-bg); }
.e-slip-status--error { color: var(--red); background: var(--red-bg); }
.e-slip-card__manifest { display: grid; grid-template-columns: auto 1fr auto; gap: 7px; align-items: center; margin-top: 11px; padding: 9px; background: var(--surface); border: 1px solid var(--line); font-size: .63rem; }
.e-slip-card__manifest strong { color: var(--ink-soft); font-size: .62rem; }
.e-slip-card__manifest span { overflow: hidden; color: var(--ink); text-overflow: ellipsis; white-space: nowrap; }
.e-slip-card__manifest a { color: var(--blue); text-decoration: none; white-space: nowrap; }
.e-slip-error { display: grid; gap: 2px; margin-top: 8px; padding: 8px 9px; color: var(--red); background: var(--red-bg); font-size: .66rem; }
.e-slip-error strong { font-size: .67rem; }
.e-slip-issued { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; padding: 8px 9px; color: var(--ok); background: var(--ok-bg); font-size: .65rem; }
.e-slip-issued strong { letter-spacing: .04em; }
.e-slip-issued span { color: #b1dec9; text-align: right; }
.e-slip-actions { display: grid; gap: 7px; margin-top: 9px; }
.e-slip-form { display: grid; gap: 7px; }
.e-slip-form__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.e-slip-form label { display: grid; gap: 3px; color: var(--ink-soft); font-size: .62rem; }
.e-slip-form select, .e-slip-form input { min-height: 38px; padding: 7px 8px; font-size: .69rem; }
.e-slip-form .btn { width: 100%; }
.e-slip-form--issue { margin-top: 1px; }
.e-slip-form--reissue { padding-top: 8px; border-top: 1px solid var(--line); }
.e-slip-empty { padding: 22px 12px; }
.e-slip-empty span { max-width: 290px; color: var(--ink-soft); font-size: .69rem; line-height: 1.45; }
.e-slip-track { display: flex; gap: 4px; margin: 10px 0 0; padding: 0; list-style: none; }
.e-slip-track li { flex: 1; text-align: center; padding: 6px 2px 5px; border-radius: 5px; background: var(--surface); border: 1px solid var(--line); color: var(--ink-soft); font-size: .58rem; font-weight: 700; }
.e-slip-track li.is-done { background: var(--teal-bg); border-color: #2d6d66; color: var(--teal); }
.e-slip-track li.is-now { background: var(--blue-soft); border-color: #2b6080; color: var(--blue); }
.e-slip-track li.is-error { background: var(--red-bg); border-color: #6b3b3b; color: var(--red); }

/* Driver killer service: Port-i-inspired route, congestion and safety cards */
.driver-guide-card { background: linear-gradient(135deg, #102e3b, #12313d); border-color: #286057; }
.driver-guide-card__mark { color: #07111d; background: var(--teal); }
.driver-port-source { display: flex; align-items: center; gap: 9px; padding: 11px; background: var(--surface); border: 1px solid var(--line); border-radius: 11px; }
.driver-port-source__mark { display: inline-flex; flex: 0 0 29px; height: 29px; align-items: center; justify-content: center; color: #061320; background: var(--teal); border-radius: 8px; font-weight: 900; }
.driver-port-source > div { flex: 1; min-width: 0; }
.driver-port-source strong, .driver-port-source small { display: block; }
.driver-port-source strong { font-size: .75rem; }
.driver-port-source small { margin-top: 2px; color: var(--ink-soft); font-size: .61rem; }
.driver-port-stats { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; background: var(--surface); border: 1px solid var(--line); border-radius: 11px; }
.driver-port-stats > div { padding: 11px 10px; border-right: 1px solid var(--line); }
.driver-port-stats > div:last-child { border-right: 0; }
.driver-port-stats span, .driver-port-stats small { display: block; color: var(--ink-soft); font-size: .59rem; }
.driver-port-stats strong { display: inline-block; margin-top: 2px; font-size: 1.18rem; }
.driver-port-stats small { display: inline-block; margin-left: 2px; }
.driver-route-picker { display: flex; gap: 7px; overflow-x: auto; margin: 0 -15px; padding: 0 15px 2px; scrollbar-width: none; }
.driver-route-picker::-webkit-scrollbar { display: none; }
.driver-route-picker__item { flex: 0 0 156px; padding: 9px; color: inherit; background: var(--surface); border: 1px solid var(--line); border-radius: 9px; text-decoration: none; }
.driver-route-picker__item.is-active { border-color: var(--blue); background: var(--blue-soft); }
.driver-route-picker__item span, .driver-route-picker__item strong, .driver-route-picker__item small { display: block; }
.driver-route-picker__item span { color: var(--amber); font-size: .57rem; font-weight: 800; }
.driver-route-picker__item strong { margin-top: 3px; font-size: .75rem; }
.driver-route-picker__item small { margin-top: 2px; color: var(--ink-soft); font-size: .59rem; }
.driver-route-card { padding: 13px; background: var(--surface); border: 1px solid var(--line); border-top: 3px solid var(--teal); border-radius: 11px; box-shadow: var(--shadow); }
.driver-route-card--watch { border-top-color: var(--amber); }
.driver-route-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.driver-route-card__top h2 { margin: 0; font-size: 1.13rem; letter-spacing: -.05em; }
.driver-route-card__top h2 span { color: var(--blue); padding: 0 3px; }
.driver-route-card__top p:last-child { margin: 3px 0 0; color: var(--ink-soft); font-size: .64rem; }
.driver-route-state { padding: 5px 7px; color: var(--ok); background: var(--ok-bg); border-radius: 999px; font-size: .59rem; font-weight: 850; white-space: nowrap; }
.driver-route-card--watch .driver-route-state { color: var(--amber); background: var(--amber-bg); }
.driver-route-metrics { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 11px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.driver-route-metrics > div { padding: 9px 6px; border-right: 1px solid var(--line); }
.driver-route-metrics > div:last-child { border-right: 0; }
.driver-route-metrics span, .driver-route-metrics strong { display: block; }
.driver-route-metrics span { color: var(--ink-soft); font-size: .59rem; }
.driver-route-metrics strong { margin-top: 2px; font-size: .86rem; }
.port-map { overflow: hidden; margin-top: 11px; background: #0b2230; border: 1px solid #2a5263; border-radius: 9px; }
.port-map svg { display: block; width: 100%; height: auto; }
.port-map__cap { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 10px; border-top: 1px solid #2a5263; color: var(--ink-soft); font-size: .57rem; }
.port-map__cap b { color: var(--teal); font-weight: 800; }
.driver-route-steps { display: grid; gap: 0; margin: 11px 0 0; padding: 0; list-style: none; }
.driver-route-steps li { position: relative; display: flex; gap: 9px; padding: 8px 0; }
.driver-route-steps li + li { border-top: 1px solid var(--line); }
.driver-route-steps li > span { display: inline-flex; flex: 0 0 22px; height: 22px; align-items: center; justify-content: center; color: #061320; background: var(--blue); border-radius: 50%; font-size: .6rem; font-weight: 900; }
.driver-route-steps strong, .driver-route-steps small { display: block; }
.driver-route-steps strong { font-size: .71rem; }
.driver-route-steps small { margin-top: 2px; color: var(--ink-soft); font-size: .62rem; }
.driver-route-next { display: grid; gap: 2px; margin-top: 7px; padding: 9px; color: var(--teal); background: var(--teal-bg); font-size: .64rem; }
.driver-route-next span { color: #9dcfc4; font-size: .59rem; }
.driver-safety-list { display: grid; gap: 7px; }
.driver-safety-item { display: flex; gap: 9px; padding: 10px; background: var(--amber-bg); border: 1px solid #624b23; border-radius: 8px; }
.driver-safety-item > span { display: inline-flex; flex: 0 0 20px; height: 20px; align-items: center; justify-content: center; color: #201606; background: var(--amber); border-radius: 50%; font-size: .69rem; font-weight: 900; }
.driver-safety-item strong, .driver-safety-item small { display: block; }
.driver-safety-item strong { color: #f2d38f; font-size: .7rem; }
.driver-safety-item small { margin-top: 2px; color: #d6bd85; font-size: .62rem; line-height: 1.4; }
.driver-terminal-list { display: grid; gap: 8px; }
.driver-terminal-card { padding: 11px; background: var(--surface); border: 1px solid var(--line); border-left: 3px solid var(--teal); border-radius: 9px; }
.driver-terminal-card--HIGH { border-left-color: var(--red); }
.driver-terminal-card--WATCH { border-left-color: var(--amber); }
.driver-terminal-card__top, .driver-terminal-card__wait { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.driver-terminal-card__top strong, .driver-terminal-card__top small { display: block; }
.driver-terminal-card__top strong { font-size: .83rem; }
.driver-terminal-card__top small { color: var(--ink-soft); font-size: .6rem; }
.driver-congestion { padding: 4px 7px; border-radius: 999px; color: var(--ok); background: var(--ok-bg); font-size: .59rem; font-weight: 850; }
.driver-congestion--WATCH { color: var(--amber); background: var(--amber-bg); }
.driver-congestion--HIGH { color: var(--red); background: var(--red-bg); }
.driver-terminal-card__wait { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line); }
.driver-terminal-card__wait span, .driver-terminal-card p, .driver-terminal-card__tip { color: var(--ink-soft); font-size: .62rem; }
.driver-terminal-card__wait strong { font-size: .79rem; }
.driver-terminal-card p { margin: 5px 0 0; }
.driver-terminal-card__tip { display: block; margin-top: 7px; line-height: 1.4; }
.driver-safety-check .btn { margin-top: 12px; }

@media (min-width: 600px) {
  .login-layout { grid-template-columns: minmax(0, .9fr) minmax(390px, 1.1fr); align-items: start; padding-top: 50px; }
  .login-copy { padding: 28px 14px 0 0; }
}
@media (max-width: 560px) {
  .app-header__account > span { max-width: 100px; overflow: hidden; text-overflow: ellipsis; }
  .field-row--three { display: grid; grid-template-columns: 1fr 1fr; }
  .field-row--three > :first-child { grid-column: 1 / -1; }
  .job-row { grid-template-columns: 64px 1fr auto; gap: 7px; }
  .job-row__action { display: none; }
  .workspace-menu { grid-template-columns: repeat(2, 1fr); }
  .workspace-order-list a { grid-template-columns: 70px minmax(0, 1fr) auto; gap: 7px; }
  .workspace-order-list__arrow { display: none; }
  .container-unit__grid { grid-template-columns: 1fr 1fr; }
  .container-unit__grid span:nth-child(3), .container-unit__grid span:nth-child(4) { color: var(--ink-soft); }
  .login-required-panel, .workspace-callout, .workspace-heading { align-items: flex-start; flex-direction: column; }
}
@media (min-width: 480px) { .app-header__title { font-size: 1.03rem; } .app-main { padding-left: 20px; padding-right: 20px; } }

/* Driver 파트너 tab: direct contracts + contract-allocated volume */
.contract-job-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.contract-job { padding: 13px; background: var(--surface); border: 1px solid var(--line); border-left: 4px solid var(--blue); border-radius: 8px; box-shadow: var(--shadow); }
.contract-job--carrier { border-left-color: var(--teal); }
.contract-job__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.contract-job__tag { padding: 3px 8px; border-radius: 4px; background: var(--blue-soft); color: var(--blue); font-size: .6rem; font-weight: 800; }
.contract-job--carrier .contract-job__tag { background: var(--teal-bg); color: var(--teal); }
.contract-job__state { color: var(--ink-soft); font-size: .66rem; }
.contract-job__route { display: flex; align-items: center; gap: 8px; margin-top: 9px; font-weight: 800; font-size: 1.05rem; letter-spacing: -.03em; }
.contract-job__route span { color: var(--blue); }
.contract-job__meta { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 6px; color: var(--ink-soft); font-size: .7rem; }
.contract-job__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 9px; padding-top: 9px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .68rem; }
.contract-job__foot b { color: var(--ink); }
