:root{--color-bg: #f7f5f0;--color-surface: #ffffff;--color-text: #0b1220;--color-text-muted: #5a6472;--color-accent: #f97316;--color-accent-contrast: #ffffff;--color-success: #16a34a;--color-warning: #d97706;--color-danger: #dc2626;--color-fatigue-fresh: var(--color-success);--color-fatigue-tired: var(--color-warning);--color-fatigue-drowsy: #ea580c;--color-fatigue-exhausted: var(--color-danger);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--line-height-body: 1.5;--font-display: "Space Grotesk", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", monospace;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--motion-fast: .15s;--motion-base: .25s;--motion-slow: .3s;--motion-easing: ease-out;--z-nav: 100;--z-modal: 1000;--touch-target-min: 44px;--radius-card: 12px;--radius-control: 8px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-body);-webkit-font-smoothing:antialiased}#root{min-height:100dvh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;color:var(--color-text);margin:0}button,input,select,textarea{font-family:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.skip-link{position:absolute;top:-100%;left:var(--space-4);z-index:1100;background:var(--color-surface);color:var(--color-text);padding:var(--space-2) var(--space-4);border-radius:var(--radius-control);font-family:var(--font-display);font-weight:600;transition:top var(--motion-fast) var(--motion-easing)}.skip-link:focus{top:var(--space-4)}.tabular{font-family:var(--font-mono)!important;font-variant-numeric:tabular-nums}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.top-nav{position:fixed;top:0;left:0;right:0;z-index:var(--z-nav);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--color-surface);border-bottom:1px solid rgba(11,18,32,.08);min-height:60px}.top-nav__brand{font-family:var(--font-display);font-weight:700;font-size:var(--font-size-lg);color:var(--color-text);flex-shrink:0}.top-nav__items{display:flex;list-style:none;margin:0;padding:0;gap:var(--space-2)}.top-nav__item{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--space-1) var(--space-2);border:none;background:transparent;border-radius:var(--radius-control);color:var(--color-text-muted);font-family:var(--font-display);transition:color var(--motion-fast) var(--motion-easing),background-color var(--motion-fast) var(--motion-easing);position:relative}.top-nav__item:hover:not(:disabled){background:var(--color-bg)}.top-nav__item--active{color:var(--color-accent)}.top-nav__item:disabled{opacity:.5;cursor:not-allowed}.top-nav__label{font-size:var(--font-size-sm);font-weight:500}.top-nav__lock{position:absolute;top:2px;right:2px;color:var(--color-text-muted)}.dashboard,.app-loading{padding:calc(60px + var(--space-4)) var(--space-4) var(--space-8);max-width:720px;margin:0 auto;width:100%;flex:1}.dashboard__stat-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-bottom:var(--space-6)}@media (min-width: 640px){.dashboard__stat-row{grid-template-columns:repeat(4,1fr)}}.stat-card{background:var(--color-surface);border-radius:var(--radius-card);border-left:3px solid transparent;padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:4px;box-shadow:0 1px 2px #0b12200f}.stat-card--job{grid-column:1 / -1;border-left-color:var(--color-accent)}.stat-card--cash{border-left-color:var(--color-success)}.stat-card--reputation{border-left-color:var(--color-text-muted)}.stat-card__label-row{display:flex;align-items:center;gap:var(--space-2)}.stat-card__icon{color:var(--color-text-muted);flex-shrink:0}.stat-card__label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:500}.stat-card__value{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600;color:var(--color-text)}.stat-card__sub{font-size:var(--font-size-sm);color:var(--color-text-muted)}.fatigue-gauge{grid-column:1 / -1;background:var(--color-surface);border-radius:var(--radius-card);border-left:3px solid transparent;padding:var(--space-3) var(--space-4);box-shadow:0 1px 2px #0b12200f;transition:border-left-color var(--motion-base) var(--motion-easing)}@media (min-width: 640px){.fatigue-gauge{grid-column:auto}}.fatigue-gauge__header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-2)}.fatigue-gauge__title{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:500}.fatigue-gauge__value{font-size:var(--font-size-base);font-weight:600}.fatigue-gauge__track{height:10px;border-radius:999px;background:#0b122014;overflow:hidden}.fatigue-gauge__fill{height:100%;width:100%;transform-origin:left center;border-radius:999px;transition:transform var(--motion-base) var(--motion-easing),background-color var(--motion-base) var(--motion-easing)}.fatigue-gauge__hint{margin:var(--space-2) 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.route-progress{background:var(--color-surface);border-radius:var(--radius-card);padding:var(--space-4);margin-bottom:var(--space-6);box-shadow:0 1px 2px #0b12200f}.route-progress__meta{display:flex;justify-content:space-between;margin-bottom:var(--space-6);font-size:var(--font-size-sm);color:var(--color-text-muted)}.route-progress__phase{font-weight:600;color:var(--color-text)}.route-progress__track{position:relative;height:40px;margin:0 var(--space-2)}.route-progress__line{position:absolute;top:50%;left:0;right:0;height:0;border-top:3px dashed var(--color-text-muted);opacity:.4;transform:translateY(-50%)}.route-progress__tick{position:absolute;top:50%;width:2px;height:10px;background:var(--color-text-muted);opacity:.5;transform:translate(-50%,-50%)}.route-progress__endpoint{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;background:var(--color-text-muted);transform:translate(-50%,-50%)}.route-progress__endpoint--start{left:0}.route-progress__endpoint--end{left:100%;background:var(--color-success)}.route-progress__truck{position:absolute;top:50%;color:var(--color-accent);background:var(--color-surface);border-radius:50%;padding:4px;display:flex;transition:left .9s var(--motion-easing);transform:translate(-50%,-50%)}.route-progress__truck--returning{color:var(--color-text-muted)}.dashboard__actions{display:flex;justify-content:center;margin-bottom:var(--space-6)}.dashboard__depot{background:var(--color-surface);border-radius:var(--radius-card);padding:var(--space-6) var(--space-4);text-align:center;margin-bottom:var(--space-6)}.dashboard__depot-message{color:var(--color-text-muted);margin:0 0 var(--space-4)}.dashboard__rest-actions{display:flex;flex-direction:column;gap:var(--space-2);max-width:320px;margin:0 auto}@media (min-width: 480px){.dashboard__rest-actions{flex-direction:row}}.button{min-height:var(--touch-target-min);padding:var(--space-2) var(--space-4);border-radius:var(--radius-control);border:1px solid rgba(11,18,32,.12);background:var(--color-surface);color:var(--color-text);font-family:var(--font-display);font-weight:600;font-size:var(--font-size-base);transition:transform var(--motion-fast) var(--motion-easing),opacity var(--motion-fast) var(--motion-easing)}.button:active:not(:disabled){transform:scale(.97)}.button:disabled{opacity:.5}.button--primary,.button--accent{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}.event-log{background:var(--color-surface);border-radius:var(--radius-card);padding:var(--space-4)}.event-log__title{font-size:var(--font-size-base);margin:0 0 var(--space-3)}.event-log__empty{color:var(--color-text-muted);margin:0}.event-log__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.event-log__entry{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);border:1px solid rgba(11,18,32,.08);border-left:3px solid var(--color-text-muted);background:var(--color-surface)}.event-log__entry--positive{border-left-color:var(--color-success)}.event-log__entry--drowsy-driver{border-left-color:var(--color-danger)}.event-log__entry--mechanical,.event-log__entry--weather{border-left-color:var(--color-warning)}.event-log__type-tag{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted)}.event-log__message{font-size:var(--font-size-sm);flex:1;min-width:140px}.event-log__delta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:#0b122080;display:flex;align-items:flex-end;justify-content:center;padding:0}@media (min-width: 640px){.modal-backdrop{align-items:center;padding:var(--space-4)}}.modal{background:var(--color-surface);width:100%;max-width:560px;max-height:90dvh;overflow-y:auto;border-radius:var(--radius-card) var(--radius-card) 0 0;padding:var(--space-4)}@media (min-width: 640px){.modal{border-radius:var(--radius-card)}}.modal__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.modal__title{font-size:var(--font-size-xl)}.modal__close{min-width:var(--touch-target-min);min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-muted);border-radius:var(--radius-control)}.modal__close:hover{background:var(--color-bg)}.modal__notice{padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background:var(--color-bg);font-size:var(--font-size-sm);margin-bottom:var(--space-3)}.modal__notice--danger{background:#dc26261a;color:var(--color-danger)}.job-board__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.job-board__item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-control);border:1px solid rgba(11,18,32,.08);border-left:3px solid var(--color-accent);background:var(--color-surface);flex-wrap:wrap}.job-board__item-name{font-size:var(--font-size-base);margin:0 0 4px}.job-board__item-meta{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.job-board__item-action{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2)}.job-board__payout{font-weight:600;color:var(--color-success)}.garage__tracks{display:flex;flex-direction:column;gap:var(--space-4)}.garage__track{padding:var(--space-3);border-radius:var(--radius-control);border:1px solid rgba(11,18,32,.08);border-left:3px solid var(--color-accent);background:var(--color-surface)}.garage__track-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-2)}.garage__track-header h3{font-size:var(--font-size-base)}.garage__tier-badge{font-size:var(--font-size-sm);color:var(--color-text-muted)}.garage__effect-preview{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--space-2)}.garage__purchase-row{display:flex;align-items:center;gap:var(--space-3)}.profile__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin:0 0 var(--space-4)}.profile__stat{background:var(--color-surface);border:1px solid rgba(11,18,32,.08);border-radius:var(--radius-control);padding:var(--space-3)}.profile__stat dt{font-size:var(--font-size-sm);color:var(--color-text-muted)}.profile__stat dd{margin:4px 0 0;font-size:var(--font-size-lg);font-weight:600}.profile__unlock p{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--space-2)}.company-placeholder{text-align:center;padding:var(--space-6) var(--space-4);color:var(--color-text-muted)}.company-placeholder svg{color:var(--color-accent);margin-bottom:var(--space-3)}.company-placeholder__note{font-size:var(--font-size-sm);margin-top:var(--space-2)}
