:root{--figma-footer-ink: #475467;--county-bronze: #c49a5e;--county-bronze-deep: #9c7536;--county-ok: #1f8a5b;--county-pending: #b9892f;--county-track: #eef1f0;--county-ink-soft: #3a424b;--route-builder-petrol: var(--color-accent-2, #2f7f7b);--route-builder-petrol-ink: var(--color-text-secondary, #375c59);--route-builder-petrol-strong: var(--color-accent-2-hover, #1d5b57);--route-builder-ink: var(--color-text-primary, #1f2937);--route-builder-muted: var(--color-text-secondary, #6d655d);--route-builder-brown: var(--color-text-tertiary, #7b6854);--route-builder-danger: var(--color-danger, #9a4c43);--route-builder-on-petrol: #ffffff}:root[data-theme=dark]{--route-builder-on-petrol: #0E1113}*{box-sizing:border-box}:root[data-theme=dark] body{background:#0e1113}body{margin:0}:focus-visible{outline:2px solid var(--color-accent, #1f5f66)!important;outline-offset:2px!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html{--boot-surface: #f4f1ec;--brand-gold: #9c7a2e;background-color:var(--boot-surface)}html[data-theme=dark]{--boot-surface: #0e1113;--brand-gold: #d9b978}.boot-splash{position:fixed;inset:0;z-index:2147483000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;background:#000}.boot-splash__logo{width:min(268px,54vw);height:auto;filter:brightness(0) invert(1);opacity:.85}.boot-splash__track{width:min(268px,54vw);height:2px;border-radius:2px;background:#ffffff29;overflow:hidden}.boot-splash__bar{width:100%;height:100%;border-radius:inherit;background:#fff;transform:scaleX(0);transform-origin:left center;transition:transform .16s linear;will-change:transform}.boot-splash[data-boot-static] .boot-splash__bar{transition:none;animation:boot-splash-seed 1.1s ease-out forwards}@keyframes boot-splash-seed{0%{transform:scaleX(.02)}to{transform:scaleX(.12)}}.boot-splash--done{opacity:0;pointer-events:none;transition:opacity .24s ease-out}@media (prefers-reduced-motion: reduce){.boot-splash__bar{transition:none}.boot-splash[data-boot-static] .boot-splash__bar{animation:none;transform:scaleX(.12)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ui-overlay{position:fixed;inset:0;z-index:1100;pointer-events:none}.ui-overlay--center,.ui-overlay--top{display:flex;justify-content:center;padding:20px}.ui-overlay--center{align-items:center}.ui-overlay--top{align-items:flex-start;padding-top:12vh}.ui-overlay__backdrop{position:absolute;inset:0;pointer-events:auto;background:var(--ui-scrim, rgba(8, 15, 25, .55))}.ui-overlay__panel{position:relative;pointer-events:auto;max-width:100%;max-height:100%}.ui-overlay--custom .ui-overlay__panel{position:absolute}.ui-drawer{position:absolute;top:0;bottom:0;width:min(380px,96vw);background:var(--overlay-bg-strong, var(--color-surface, #ffffff));box-shadow:var(--overlay-shadow, 0 20px 52px rgba(7, 16, 29, .34));border-left:1px solid var(--overlay-border, rgba(118, 145, 171, .18));transform:translate(100%);transition:transform .18s ease}.ui-drawer--left{left:0;border-left:0;border-right:1px solid var(--overlay-border, rgba(118, 145, 171, .18));transform:translate(-100%)}.ui-drawer--right{right:0}.ui-drawer.is-open{transform:translate(0)}.ui-sheet{position:absolute;left:50%;bottom:0;transform:translate(-50%);width:min(100%,560px);max-height:calc(100dvh - 32px);overflow:auto}.ui-confirm{width:min(420px,92vw);background:var(--overlay-bg-strong, var(--color-surface, #ffffff));border:1px solid var(--overlay-border, rgba(118, 145, 171, .18));border-radius:var(--radius-md, 10px);box-shadow:var(--overlay-shadow, 0 20px 52px rgba(7, 16, 29, .34));padding:var(--space-5, 20px)}.ui-confirm__title{margin:0 0 var(--space-2, 8px);font-size:1.05rem;font-weight:600;color:var(--color-text, inherit)}.ui-confirm__message{margin:0 0 var(--space-2, 8px);font-size:.92rem;line-height:1.5;color:var(--color-text-muted, inherit)}.ui-confirm__actions{display:flex;justify-content:flex-end;gap:var(--space-2, 8px);margin-top:var(--space-4, 16px)}.ui-toast-stack{position:fixed;right:var(--space-4, 16px);bottom:var(--space-4, 16px);display:flex;flex-direction:column;gap:var(--space-2, 8px);z-index:1300;width:min(360px,94vw)}.app-shell.is-mobile-view .ui-toast-stack{bottom:calc(var(--mobile-nav-height, 64px) + var(--mobile-safe-bottom, 0px) + var(--space-3, 12px))}.app-shell.is-mobile-view.is-mobile-canvass .ui-toast-stack{right:auto;left:max(14px,var(--mobile-safe-left, 0px));bottom:calc(var(--mobile-nav-total-height, var(--mobile-nav-clearance, 86px)) + var(--mobile-canvass-bottom-dock-height, 58px) + var(--space-4, 16px));width:min(300px,72vw)}.ui-toast{border:1px solid var(--overlay-border, rgba(118, 145, 171, .18));background:var(--overlay-bg-strong, var(--color-surface, #ffffff));border-radius:var(--radius-md, 10px);box-shadow:var(--overlay-shadow-soft, 0 12px 32px rgba(7, 16, 29, .28));padding:var(--space-3, 12px)}.ui-toast--success{border-color:#22c55e3d}.ui-toast--warning{border-color:#f59e0b3d}.ui-toast p{margin:0;font-size:13px}.ui-toast__actions{margin-top:var(--space-2, 8px);display:flex;justify-content:flex-end;gap:var(--space-2, 8px)}.ui-button{border:1px solid transparent;border-radius:var(--radius-xs, 8px);display:inline-flex;align-items:center;gap:var(--space-1, 4px);justify-content:center;cursor:pointer;white-space:nowrap;font-weight:600;letter-spacing:-.01em;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-button--loading{cursor:wait}.ui-button__spinner{display:inline-block;width:.85em;height:.85em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;font-size:0;vertical-align:middle;animation:spin .7s linear infinite}.ui-button--sm{min-height:30px;padding:0 11px;font-size:12px}@media (pointer: coarse){.ui-button--sm{min-height:44px}}.ui-button--md{min-height:38px;padding:0 14px;font-size:13px}.ui-button--primary{background:var(--color-accent, #1f5f66);border-color:#0d94886b;color:#f7fffd;box-shadow:inset 0 1px #ffffff29}.ui-button--secondary{background:var(--workspace-white-wash-5, rgba(255, 255, 255, .05));border-color:var(--overlay-border, rgba(118, 145, 171, .18));color:var(--color-text-primary, #12161b)}.ui-button--ghost{background:transparent;color:var(--color-text-secondary, #59646d)}.ui-button--danger{background:#ef44441a;color:#fecaca;border-color:#ef44443d}.ui-badge{display:inline-flex;align-items:center;border-radius:var(--radius-pill, 999px);padding:5px 10px;font-size:11px;font-weight:600;border:1px solid transparent}.ui-badge--neutral{background:var(--workspace-white-wash-5, rgba(255, 255, 255, .05));border-color:var(--overlay-border, rgba(118, 145, 171, .18));color:var(--color-text-primary, #12161b)}.ui-badge--success{background:#22c55e1f;border-color:#22c55e38;color:#bbf7d0}.ui-badge--warning{background:#f59e0b1f;border-color:#f59e0b38;color:#fde68a}.ui-badge--danger{background:#ef44441f;border-color:#ef444438;color:#fecaca}.ui-tabs{display:flex;gap:6px;padding:var(--space-2, 8px) var(--space-3, 12px) 0;border-bottom:1px solid var(--overlay-border, rgba(118, 145, 171, .18))}.ui-tab{border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-secondary, #59646d);padding:10px;font-size:12px;font-weight:600;cursor:pointer}.ui-tab.is-active{color:var(--color-text-primary, #12161b);border-bottom-color:var(--color-accent, #1f5f66)}.ui-skeleton{display:inline-block;background:linear-gradient(90deg,color-mix(in srgb,var(--desktop-ink-strong, #12161b) 5%,var(--ui-card-bg, #fff) 95%) 20%,color-mix(in srgb,var(--desktop-ink-strong, #12161b) 10%,var(--ui-card-bg, #fff) 90%),color-mix(in srgb,var(--desktop-ink-strong, #12161b) 5%,var(--ui-card-bg, #fff) 95%) 60%);background-size:200% 100%;animation:shimmer 1.2s infinite linear}.ui-skeleton-rows{display:flex;flex-direction:column;gap:10px;width:100%;padding:4px 0}.ui-skeleton-rows__row{height:14px;border-radius:7px}.ui-skeleton-rows__row--short{width:62%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ui-drawer__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3, 12px);border-bottom:1px solid var(--overlay-border, rgba(118, 145, 171, .18));padding:var(--space-4, 16px)}.ui-drawer__header h2{margin:0;font-size:15px}.ui-drawer__header p{margin:4px 0 0;color:var(--color-text-secondary, #59646d);font-size:12px}.ui-drawer__content{height:calc(100% - 77px);overflow:auto;padding:var(--space-4, 16px)}
