@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.button-primary,.button-secondary,.button-danger,.button-link{font:inherit;font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.button-primary,.button-secondary,.button-danger{padding:.45rem .85rem}.button-primary{background:linear-gradient(135deg, var(--color-primary), var(--color-accent));color:var(--color-on-primary);box-shadow:var(--shadow-sm);border:none}.button-primary:hover:not(:disabled){filter:brightness(1.05);box-shadow:var(--shadow-md)}.button-primary:focus-visible,.button-secondary:focus-visible,.button-danger:focus-visible,.button-link:focus-visible{box-shadow:0 0 0 2px var(--color-primary-border);outline:none}.button-secondary{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.button-secondary:hover:not(:disabled),.button-secondary.is-active{background:var(--color-primary-soft);border-color:var(--color-primary-border);color:var(--color-primary)}.button-danger{border:1px solid var(--color-danger-border);background:var(--color-danger-soft);color:var(--color-danger)}.button-danger:hover:not(:disabled){filter:brightness(1.03)}.button-link{color:var(--color-primary);background:0 0;border:none;padding:.2rem .35rem}.button-link:hover:not(:disabled){background:var(--color-primary-soft)}.button-sm{font-size:var(--font-size-sm);padding:.3rem .6rem}.button-primary:disabled,.button-secondary:disabled,.button-danger:disabled,.button-link:disabled{opacity:.65;cursor:not-allowed}.form-stack{flex-direction:column;gap:.75rem;display:flex}.form-stack-spacious{gap:1rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1rem;display:grid}.form-grid>.form-grid-span-2{grid-column:1/-1}@media (width<=1100px){.form-grid{grid-template-columns:minmax(0,1fr)}}.form-error{color:var(--color-danger);margin:0}.form-actions{justify-content:flex-end;display:flex}.form-actions-sticky{z-index:var(--z-dropdown);border-top:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin:0 -.25rem -.25rem;padding:.75rem .25rem .25rem;position:sticky;bottom:0}.form-checkbox-row{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.form-checkbox{color:var(--color-text);font-size:var(--font-size-md);align-items:center;gap:.45rem;display:inline-flex}.form-checkbox input[type=checkbox]{appearance:none;border:1px solid var(--color-border);border-radius:var(--radius-badge);background-color:var(--color-surface);width:1.125rem;height:1.125rem;accent-color:var(--color-primary);cursor:pointer;vertical-align:middle;flex-shrink:0;margin:0}[data-theme=dark] .form-checkbox input[type=checkbox]{background-color:var(--color-surface-muted)}.form-checkbox input[type=checkbox]:checked{border-color:var(--color-primary);background-color:var(--color-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 6.2L4.8 8.5L9.5 3.5' stroke='%23ffffff' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:.8rem .8rem}[data-theme=dark] .form-checkbox input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 6.2L4.8 8.5L9.5 3.5' stroke='%230f171a' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.form-checkbox input[type=checkbox]:focus-visible{border-color:var(--color-primary-border);box-shadow:0 0 0 2px var(--color-primary-soft);outline:none}.form-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.55;background-color:var(--color-surface-muted);border-color:var(--color-border);background-image:none}.form-capability-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem 1rem;display:grid}.form-status-preview{align-items:center;gap:.75rem;display:flex}.form-preview-label,.form-helper{color:var(--color-text-muted);font-size:var(--font-size-sm)}.form-field{text-align:left;flex-direction:column;gap:.25rem;display:flex}.form-field-label{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.form-field-required{color:var(--color-danger);margin-left:.2rem}.form-field-control,.form-select{border:1px solid var(--color-border);border-radius:var(--radius-ui);background-color:var(--color-surface);width:100%;color:var(--color-text);font:inherit;box-sizing:border-box;padding:.45rem .65rem}[data-theme=dark] .form-field-control,[data-theme=dark] .form-select{background-color:var(--color-surface-muted)}.form-field-control:focus,.form-select:focus{border-color:var(--color-primary-border);box-shadow:0 0 0 2px var(--color-primary-soft);outline:none}.form-field-control:disabled,.form-select:disabled{background-color:var(--color-surface-muted);color:var(--color-text-muted)}select.form-field-control,select.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%235d6f76' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .65rem center;background-repeat:no-repeat;background-size:12px 8px;padding-right:2rem}[data-theme=dark] select.form-field-control,[data-theme=dark] select.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23a8c3c9' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}select.form-field-control:disabled,select.form-select:disabled{cursor:not-allowed;opacity:.7;background-image:none}@supports (appearance:base-select){select.form-field-control,select.form-select{appearance:base-select}select.form-field-control::picker-icon{display:none}select.form-select::picker-icon{display:none}select.form-field-control::picker(select){appearance:base-select;border:1px solid var(--color-border);border-radius:var(--radius-ui);background-color:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-md);margin-top:.2rem;padding:.25rem}select.form-select::picker(select){appearance:base-select;border:1px solid var(--color-border);border-radius:var(--radius-ui);background-color:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-md);margin-top:.2rem;padding:.25rem}[data-theme=dark] select.form-field-control::picker(select){background-color:var(--color-surface-elevated)}[data-theme=dark] select.form-select::picker(select){background-color:var(--color-surface-elevated)}select.form-field-control option,select.form-select option{border-radius:var(--radius-badge);color:var(--color-text);background-color:#0000;padding:.4rem .55rem}select.form-field-control option:hover,select.form-select option:hover,select.form-field-control option:focus,select.form-select option:focus,select.form-field-control option:checked,select.form-select option:checked{background-color:var(--color-primary-soft);color:var(--color-primary)}}.form-field-hint{color:var(--color-text-muted);font-size:var(--font-size-xs)}.form-field-error{color:var(--color-danger);font-size:var(--font-size-xs)}.popover-surface{border:1px solid var(--color-border);background:var(--color-surface-elevated,var(--color-surface));box-shadow:var(--shadow-lg);z-index:var(--z-popover);border-radius:8px}.popover-menu-item{color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;font-size:.85rem}.popover-menu-item:hover:not(:disabled),.popover-menu-item:focus-visible:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary);outline:none}.popover-menu-item:focus-visible:not(:disabled){box-shadow:0 0 0 2px var(--color-primary-border)}.popover-menu-item:disabled{color:var(--color-text-muted);cursor:not-allowed}:root{--color-brand-blue:#0369a1;--color-brand-teal:#0891b2;--color-brand-turquoise:#22d3ee;--color-brand-gradient:linear-gradient(135deg, var(--color-brand-blue) 0%, var(--color-brand-teal) 55%, var(--color-brand-turquoise) 100%);--color-brand-gradient-soft:linear-gradient(180deg, #0369a114 0%, #0891b20f 50%, #22d3ee0a 100%);--color-bg:#f4f8fa;--color-bg-gradient:radial-gradient(circle at top, #0369a114, transparent 52%), radial-gradient(circle at 85% 8%, #0891b20f, transparent 42%), linear-gradient(180deg, #f7fbfc 0%, #f4f8fa 100%);--color-surface:#fff;--color-surface-muted:#f7fbfc;--color-surface-elevated:#fff;--color-surface-glass:#fffc;--color-surface-glass-border:#d8e4e8d9;--backdrop-blur-md:12px;--color-border:#d8e4e8;--color-text:#17262b;--color-text-muted:#5d6f76;--color-primary:#0891b2;--color-primary-hover:#0e7490;--color-primary-soft:#e6f7fb;--color-primary-border:#a7dbe8;--color-accent:#14b8a6;--color-accent-soft:#e6fffb;--color-on-primary:#fff;--color-danger:#c2410c;--color-danger-soft:#c2410c1a;--color-danger-border:#c2410c59;--color-success:#15803d;--color-success-soft:#dcfce7;--color-success-border:#15803d59;--color-warning:#ca8a04;--color-warning-soft:#fef9c3;--color-warning-border:#ca8a0466;--color-neutral:#5d6f76;accent-color:var(--color-primary);--color-neutral-soft:#eef4f6;--color-overlay:#0f172a59;--shadow-sm:0 1px 2px #0f172a14;--shadow-md:0 8px 24px #0f172a1a;--shadow-lg:0 18px 45px #0f172a24;--sidebar-width:220px;--sidebar-width-collapsed:56px;--header-height:48px;--z-drawer-backdrop:28;--z-dropdown:30;--z-drawer:30;--z-popover:35;--z-side-panel:40;--z-menu:45;--z-tooltip:50;--radius-badge:6px;--radius-ui:8px;--text:var(--color-text-muted);--text-h:var(--color-text);--bg:var(--color-surface);--border:var(--color-border);--accent:var(--color-primary);--accent-bg:var(--color-primary-soft);--accent-border:var(--color-primary-border);--code-bg:var(--color-surface-muted);--shadow:var(--shadow-md);--social-bg:var(--color-surface-muted);--font-sans:"Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:12px;--font-size-sm:13px;--font-size-md:14px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--line-height-tight:1.25;--line-height-normal:1.45;--line-height-relaxed:1.6;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:650;--sans:var(--font-sans);--heading:var(--font-sans);--mono:ui-monospace, Consolas, monospace;font:var(--font-size-md) / var(--line-height-normal) var(--font-sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark]{--color-brand-blue:#0c4a6e;--color-brand-teal:#14b8a6;--color-brand-turquoise:#22d3ee;--color-brand-gradient:linear-gradient(135deg, var(--color-brand-blue) 0%, var(--color-brand-teal) 50%, var(--color-brand-turquoise) 100%);--color-brand-gradient-soft:linear-gradient(180deg, #0c4a6e38 0%, #14b8a61f 50%, #22d3ee14 100%);--color-bg:#0f171a;--color-bg-gradient:radial-gradient(circle at top left, #22d3ee26, transparent 34%), radial-gradient(circle at bottom right, #0369a12e, transparent 40%), linear-gradient(135deg, #0a1218 0%, #0f171a 35%, #182326 70%, #1f2933 100%);--color-surface:#172225;--color-surface-muted:#1e2d31;--color-surface-elevated:#223236;--color-surface-glass:#172225d1;--color-surface-glass-border:#33484ebf;--backdrop-blur-md:12px;--color-border:#33484e;--color-text:#ecfeff;--color-text-muted:#a8c3c9;--color-primary:#22d3ee;--color-primary-hover:#67e8f9;--color-primary-soft:#22d3ee1f;--color-primary-border:#22d3ee59;--color-accent:#2dd4bf;--color-accent-soft:#2dd4bf1f;--color-on-primary:#0f171a;--color-danger:#fb7185;--color-danger-soft:#fb71851f;--color-danger-border:#fb718559;--color-success:#4ade80;--color-success-soft:#4ade801f;--color-success-border:#4ade8059;--color-warning:#facc15;--color-warning-soft:#facc151f;--color-warning-border:#facc1566;--color-neutral:#a8c3c9;accent-color:var(--color-primary);--color-neutral-soft:#a8c3c91a;--color-overlay:#0000008c;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 12px 32px #00000061;--shadow-lg:0 24px 60px #00000073;--text:var(--color-text-muted);--text-h:var(--color-text);--bg:var(--color-surface);--border:var(--color-border);--accent:var(--color-primary);--accent-bg:var(--color-primary-soft);--accent-border:var(--color-primary-border);--code-bg:var(--color-surface-muted);--shadow:var(--shadow-md);--social-bg:var(--color-surface-muted);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}#root{box-sizing:border-box;flex-direction:column;width:100%;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{background:var(--color-bg-gradient,var(--color-bg));color:var(--color-text);margin:0}h1,h2{font-family:var(--heading);color:var(--text-h)}h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;margin:0 0 .5rem}h2{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:-.01em;margin:0 0 .5rem}p{margin:0}::placeholder{color:var(--color-text-muted);opacity:1}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:.15rem .4rem;font-size:.85rem;line-height:135%}.page-loading{min-height:12rem;color:var(--color-text-muted);justify-content:center;align-items:center;font-size:.9rem;display:flex}.tooltip-root{display:inline-flex;position:relative}.tooltip-label{z-index:var(--z-tooltip);background:var(--color-text);color:var(--color-surface);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-sm);border-radius:6px;padding:.3rem .55rem;font-size:.72rem;font-weight:600;position:absolute;top:50%;left:calc(100% + .5rem);transform:translateY(-50%)}[data-theme=dark] .tooltip-label{background:var(--color-surface-elevated);color:var(--color-text);border:1px solid var(--color-border)}.sidebar-nav-backdrop{display:none}.sidebar-nav{width:var(--sidebar-width);border-right:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;height:100svh;transition:width .2s;display:flex;position:sticky;top:0}[data-theme=dark] .sidebar-nav{background:var(--color-surface-elevated)}.sidebar-nav.is-collapsed{width:var(--sidebar-width-collapsed)}.sidebar-nav-brand{border-bottom:1px solid var(--color-border);min-height:var(--header-height);box-sizing:border-box;align-items:center;gap:.6rem;padding:.75rem .85rem;display:flex}.sidebar-nav.is-collapsed .sidebar-nav-brand{justify-content:center;padding-left:.5rem;padding-right:.5rem}.sidebar-nav-logo-img{width:auto;max-width:100%;height:1.6rem}.sidebar-nav-mark{object-fit:contain;flex-shrink:0;width:1.9rem;height:1.9rem}.brand-logo-dark,[data-theme=dark] .brand-logo-light{display:none}.sidebar-nav-groups{flex:1;padding:.65rem .5rem;overflow:auto}.sidebar-nav-group+.sidebar-nav-group{margin-top:.75rem}.sidebar-nav-group-label{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase;padding:0 .45rem .35rem;display:block}.sidebar-nav-divider{background:var(--color-border);height:1px;margin:.35rem .5rem}.sidebar-nav-group-links{flex-direction:column;gap:.15rem;display:flex}.sidebar-nav-link{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:6px;align-items:center;gap:.55rem;padding:.45rem .55rem;text-decoration:none;display:flex}.sidebar-nav-link:hover{background:var(--color-neutral-soft);color:var(--color-text)}.sidebar-nav-link.active{background:var(--color-primary-soft);color:var(--color-primary)}.sidebar-nav-icon{flex-shrink:0}.sidebar-nav.is-collapsed .sidebar-nav-link{justify-content:center;padding:.45rem}@media (width<=900px){.sidebar-nav-backdrop{z-index:var(--z-drawer-backdrop);background:var(--color-overlay);cursor:pointer;border:none;display:block;position:fixed;inset:0}.sidebar-nav{z-index:var(--z-drawer);box-shadow:var(--shadow-lg);transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar-nav.is-mobile-open{transform:translate(0)}.sidebar-nav.is-collapsed{width:var(--sidebar-width)}}.theme-toggle{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:999px;gap:.1rem;padding:.15rem;display:inline-flex}.theme-toggle-option{color:var(--color-text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.3rem .55rem;font-size:.72rem;font-weight:600;line-height:1}.theme-toggle-option.is-active{background:var(--color-primary-soft);color:var(--color-primary);box-shadow:var(--shadow-sm)}.theme-toggle-option:hover:not(.is-active){color:var(--color-text)}.breadcrumbs{min-width:0;font-size:var(--font-size-sm);align-items:center;gap:.4rem;display:flex}.breadcrumbs-fallback{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.breadcrumbs-group{color:var(--color-text-muted);white-space:nowrap}.breadcrumbs-separator{color:var(--color-text-muted)}.breadcrumbs-item{color:var(--color-text);font-weight:var(--font-weight-medium);white-space:nowrap;text-overflow:ellipsis;text-decoration:none;overflow:hidden}.breadcrumbs-item:hover{color:var(--color-primary)}.user-menu{position:relative}.user-menu-trigger{border:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text);cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .35rem .2rem .2rem;display:inline-flex}.user-menu-trigger:hover{background:var(--color-neutral-soft)}.user-menu-trigger:focus-visible{box-shadow:0 0 0 2px var(--color-primary-border);outline:none}.user-menu-avatar{background:var(--color-primary-soft);border:1px solid var(--color-primary-border);width:1.75rem;height:1.75rem;color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.user-menu-chevron{transition:transform .15s}.user-menu-chevron.is-open{transform:rotate(180deg)}.user-menu-dropdown{z-index:var(--z-popover);width:240px;padding:.5rem;position:absolute;top:calc(100% + .4rem);right:0}.user-menu-header{padding:.35rem .45rem}.user-menu-name{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.user-menu-email{color:var(--color-text-muted);font-size:var(--font-size-xs);word-break:break-all;margin:.15rem 0 0}.user-menu-role{background:var(--color-primary-soft);border:1px solid var(--color-primary-border);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:999px;margin-top:.35rem;padding:.1rem .45rem;display:inline-block}.user-menu-divider{background:var(--color-border);height:1px;margin:.35rem 0}.user-menu-item{width:100%;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.45rem .55rem;display:block}.user-menu-item:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary)}.user-menu-item:focus-visible:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-border);outline:none}.user-menu-item:disabled{color:var(--color-text-muted);cursor:not-allowed}.top-bar{z-index:var(--z-dropdown);min-height:var(--header-height);border-bottom:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:1rem;padding:0 1rem;display:flex;position:sticky;top:0}[data-theme=dark] .top-bar{background:var(--color-surface-elevated);box-shadow:var(--shadow-md)}.top-bar-start{flex:1;align-items:center;gap:.65rem;min-width:0;display:flex}.top-bar-end{flex-shrink:0;align-items:center;gap:.65rem;display:flex}.top-bar-menu-button{border:1px solid var(--color-border);background:var(--color-surface-muted);width:2rem;height:2rem;color:var(--color-text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;display:none}.top-bar-menu-button:hover{background:var(--color-neutral-soft)}.top-bar-sidebar-toggle{width:2rem;height:2rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.top-bar-sidebar-toggle:hover{background:var(--color-neutral-soft);color:var(--color-text)}.top-bar-sidebar-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (width<=900px){.top-bar-menu-button{display:inline-flex}.top-bar-sidebar-toggle{display:none}}.app-shell{background:var(--color-bg-gradient,var(--color-bg));min-height:100svh;display:flex}.app-shell-body{flex-direction:column;flex:1;min-width:0;display:flex}.app-shell-main{flex:1;min-width:0;padding:1rem 1.25rem}@media (width<=900px){.app-shell.is-sidebar-collapsed .sidebar-nav{width:var(--sidebar-width)}}.app-layout{min-height:100svh}.page-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.page-header h1{font-size:var(--font-size-xl);letter-spacing:-.02em;margin:0}.page-header-subtitle{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:.25rem 0 0}.page-header-actions{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=768px){.page-header{flex-direction:column}}.crm-dashboard-open-issues{grid-column:1/-1}.crm-dashboard-page .crm-dashboard-card{min-height:8rem}.crm-dashboard-page a{color:var(--color-primary);font-weight:var(--font-weight-medium);text-decoration:none}.crm-dashboard-page a:hover{text-decoration:underline}.crm-panel{padding:1.25rem}.crm-panel-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem;margin-bottom:1rem;display:flex}.crm-filter{font-size:var(--font-size-sm);color:var(--color-text-muted);flex-direction:column;gap:.25rem;display:flex}.crm-filter select{border:1px solid var(--color-border);border-radius:var(--radius-ui);background:var(--color-surface);min-width:12rem;color:var(--color-text);padding:.45rem .6rem}.crm-panel-error{color:var(--color-danger);margin-bottom:.75rem}.crm-panel-muted{color:var(--color-text-muted)}.crm-form{border-bottom:1px solid var(--color-border);gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;display:grid}.crm-badge{border-radius:var(--radius-badge);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);background:var(--color-primary-soft);color:var(--color-primary);border:1px solid var(--color-primary-border);align-items:center;padding:.15rem .45rem;display:inline-flex}.crm-badge-high{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger-border)}.crm-badge-low{background:var(--color-neutral-soft);color:var(--color-neutral);border-color:var(--color-border)}.crm-badge-open{background:var(--color-warning-soft);color:var(--color-warning);border-color:#ca8a0459}.crm-badge-progress{background:var(--color-primary-soft);color:var(--color-primary);border-color:var(--color-primary-border)}.crm-badge-resolved{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success-border)}.crm-activity-list,.crm-issue-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.crm-activity-item,.crm-issue-item{border:1px solid var(--color-border);border-radius:var(--radius-ui);background:#ffffff73;padding:.85rem 1rem}[data-theme=dark] .crm-activity-item,[data-theme=dark] .crm-issue-item{background:#0f172a40}.crm-activity-header,.crm-issue-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.crm-issue-badges{gap:.35rem;display:flex}.crm-activity-meta{font-size:var(--font-size-sm);color:var(--color-text-muted);flex-wrap:wrap;gap:.75rem;margin-top:.5rem;display:flex}.crm-resolution-notes{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:.5rem}.crm-issue-actions{border-top:1px solid var(--color-border);gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:grid}.crm-dashboard-page{gap:1rem;display:grid}.crm-dashboard-filters{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.crm-dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.crm-dashboard-card{padding:1.25rem}.crm-dashboard-card h2{font-size:var(--font-size-lg);margin-bottom:.75rem}.crm-priority-grid{gap:.5rem;display:grid}.crm-priority-row{border-radius:var(--radius-ui);background:var(--color-brand-gradient-soft);border:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.5rem .65rem;display:flex}.crm-priority-count{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);background:var(--color-brand-gradient);color:#0000;-webkit-background-clip:text;background-clip:text}.crm-dashboard-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.crm-dashboard-table th,.crm-dashboard-table td{border-bottom:1px solid var(--color-border);text-align:left;padding:.5rem .65rem}.crm-dashboard-table th{color:var(--color-text-muted);font-weight:var(--font-weight-semibold)}.badge{border-radius:var(--radius-badge,6px);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.02em;border:1px solid #0000;align-items:center;padding:.15rem .5rem;display:inline-flex}.status-badge-active{background:var(--color-success-soft);color:var(--color-success);border:1px solid var(--color-success-border)}.status-badge-inactive{background:var(--color-neutral-soft);color:var(--color-neutral);border:1px solid var(--color-border)}.account-status-badge{border-radius:var(--radius-badge,6px);letter-spacing:.01em;align-items:center;padding:.15rem .55rem;font-size:.8rem;font-weight:600;display:inline-flex}.account-status-prospect{color:#3730a3;background:#eef2ff}.account-status-credit-check{color:#c2410c;background:#fff7ed}.account-status-approved{color:#047857;background:#ecfdf5}.account-status-on-hold{color:#b45309;background:#fef3c7}.account-status-inactive{color:#4b5563;background:#f3f4f6}.cost-centers-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.cost-centers-table-wrap{overflow-x:auto}.cost-centers-table{border-collapse:collapse;width:100%}.cost-centers-table th,.cost-centers-table td{border-bottom:1px solid var(--border-color,#e5e7eb);text-align:left;vertical-align:top;padding:.55rem .75rem}.cost-centers-actions{white-space:nowrap;gap:.5rem;display:flex}.cost-center-form{border:1px solid var(--border-color,#e5e7eb);border-radius:.5rem;margin-top:1rem;padding:1rem}.cost-center-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;display:grid}.cost-center-form-actions{gap:.75rem;margin-top:1rem;display:flex}.cost-center-warning{color:#b45309;margin:.5rem 0}.account-status-control{flex-direction:column;gap:.5rem;display:flex}.account-status-actions{flex-wrap:wrap;gap:.5rem;display:flex}.button-compact{padding:.35rem .65rem;font-size:.85rem}.customer-detail-page{text-align:left}.customer-detail-tabs{border-bottom:1px solid var(--color-border);gap:.5rem;margin-bottom:1rem;display:flex}.customer-detail-tab{cursor:pointer;color:var(--color-text-muted);border-radius:var(--radius-ui) var(--radius-ui) 0 0;background:0 0;border:none;border-bottom:2px solid #0000;padding:.625rem .875rem}.customer-detail-tab.active{color:var(--color-text);border-bottom-color:var(--color-primary);font-weight:var(--font-weight-semibold)}.customer-detail-error{color:var(--color-danger);margin:0 0 .75rem}.detail-field-span-2{grid-column:span 2}.detail-field-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.detail-field-value{color:var(--color-text);font-size:.875rem}.detail-field-multiline{white-space:pre-line}.detail-note{color:var(--color-primary);margin:0 0 .75rem;font-size:.85rem;font-weight:600}.customer-detail-footer{margin-top:.75rem}@media (width<=768px){.detail-grid{grid-template-columns:1fr}.detail-field-span-2{grid-column:span 1}}.form-layout{align-items:start;gap:1rem;width:100%;display:grid}.form-layout-single{grid-template-columns:minmax(0,1fr);max-width:760px}.form-layout-wide{max-width:960px}.form-layout-full{max-width:1440px}.form-layout-with-side{grid-template-columns:minmax(0,1fr) 320px;max-width:1120px}.form-layout-main{min-width:0}.form-layout-side{min-width:0;top:calc(var(--header-height) + 1rem);flex-direction:column;gap:.75rem;display:flex;position:sticky}@media (width<=1024px){.form-layout-with-side{grid-template-columns:minmax(0,1fr)}.form-layout-side{order:-1;position:static}}.form-section{border:1px solid var(--color-border);background:var(--color-surface-elevated,var(--color-surface));box-shadow:var(--shadow-sm);border-radius:8px;padding:.85rem 1rem}[data-theme=dark] .form-section{box-shadow:var(--shadow-md)}.form-section-header h2{margin:0;font-size:1rem}.form-section-header p{color:var(--color-text-muted);margin:.25rem 0 0;font-size:.85rem}.form-section-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.75rem;display:grid}.form-section-body .form-field-span-2{grid-column:span 2}@media (width<=768px){.form-section-body{grid-template-columns:1fr}.form-section-body .form-field-span-2{grid-column:span 1}}.customer-form-page{text-align:left}.customer-form{min-width:0}.customer-form-checkbox{color:var(--color-text);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.customer-form-address-group h3{margin:0 0 .5rem;font-size:.9rem}.customer-form-nested-grid{margin-top:0}.customer-form-error{color:var(--color-danger);margin:0}.customer-form-actions{justify-content:flex-end;display:flex}.data-table-wrap{border:1px solid var(--color-border);background:var(--color-surface-elevated,var(--color-surface));box-shadow:var(--shadow-sm);border-radius:8px;overflow-x:auto}[data-theme=dark] .data-table-wrap{box-shadow:var(--shadow-md)}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--color-border);vertical-align:top;padding:.5rem .75rem}.data-table td{font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal)}.data-table th{background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase}.cell-primary{color:var(--color-text);font-weight:var(--font-weight-semibold)}.cell-secondary{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-tight);display:inline-block}.cell-meta{color:var(--color-text-muted);font-size:var(--font-size-xs);white-space:nowrap;font-variant-numeric:tabular-nums}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr.is-clickable{cursor:pointer}.data-table tbody tr.is-clickable:hover{background:var(--color-primary-soft)}.data-table-sort{color:inherit;font:inherit;font-weight:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;padding:0;display:inline-flex}.data-table-sort.is-active{color:var(--color-primary)}.data-table-state{border:1px dashed var(--color-border);color:var(--color-text-muted);text-align:center;border-radius:8px;padding:1.5rem}.side-panel-root{z-index:var(--z-side-panel);position:fixed;inset:0}.side-panel-backdrop{background:var(--color-overlay);cursor:pointer;border:none;position:absolute;inset:0}.side-panel{background:var(--color-surface-elevated,var(--color-surface));border-left:1px solid var(--color-border);width:min(400px,100vw);height:100%;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:absolute;top:0;right:0}.side-panel-header{border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.side-panel-header h2{margin:0;font-size:1rem}.side-panel-close{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;border-radius:6px;padding:.35rem .65rem;font-size:.85rem}.side-panel-body{text-align:left;flex:1;padding:1rem;overflow:auto}.side-panel-footer{border-top:1px solid var(--color-border);background:var(--color-surface-muted);gap:.5rem;padding:.75rem 1rem;display:flex}.side-panel-field{margin-bottom:.75rem}.side-panel-field-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem;font-size:.72rem;font-weight:600;display:block}.side-panel-field-value{color:var(--color-text);font-size:.875rem}.customer-list-page{text-align:left}.customer-list-toolbar{grid-template-columns:minmax(240px,1fr) 180px 160px;gap:.5rem;margin-bottom:.75rem;display:grid}.customer-list-search,.customer-list-filter{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;box-sizing:border-box;border-radius:6px;padding:.45rem .65rem}[data-theme=dark] .customer-list-search,[data-theme=dark] .customer-list-filter{background:var(--color-surface-muted)}.customer-list-search:focus,.customer-list-filter:focus{border-color:var(--color-primary-border);box-shadow:0 0 0 2px var(--color-primary-soft);outline:none}.customer-list-error{color:var(--color-danger);margin:0 0 .75rem}.customer-list-muted{color:var(--color-text-muted);font-size:.8rem}.customer-list-actions{flex-wrap:wrap;gap:.4rem;display:flex}.customer-list-pagination{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}@media (width<=900px){.customer-list-toolbar{grid-template-columns:1fr}.customer-list-pagination{flex-direction:column;align-items:stretch}}.reservations-by-region-panel{margin-top:.5rem}.reservations-by-region-loading{color:var(--color-text-muted);margin:0;font-size:.875rem}.reservations-by-region-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;display:grid}.reservations-by-region-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.75rem;padding:.85rem 1rem}.reservations-by-region-card-alert{border-color:var(--color-warning)}.reservations-by-region-card-link{color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:block}.reservations-by-region-card-link:hover{border-color:var(--color-primary-border);box-shadow:var(--shadow-sm)}.reservations-by-region-card h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0 0 .65rem}.reservations-by-region-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0;display:grid}.reservations-by-region-stats div{flex-direction:column;gap:.15rem;display:flex}.reservations-by-region-stats dt{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.03em;margin:0}.reservations-by-region-stats dd{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;margin:0}.dashboard{text-align:left}.dashboard-section{margin-bottom:1.25rem}.dashboard-section-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem;display:flex}.dashboard-section-header h2{margin:0;font-size:1rem}.dashboard-section-link{color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:none}.dashboard-section-subheader{margin-top:1rem}.dashboard-section-subheader h3{margin:0;font-size:1rem;font-weight:600}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;display:grid}.dashboard-card{border:1px solid var(--color-border);background:var(--color-surface-elevated,var(--color-surface));box-shadow:var(--shadow-sm);color:inherit;border-radius:8px;padding:.85rem 1rem;text-decoration:none;transition:border-color .15s,box-shadow .15s,background .15s}.dashboard-card-link:hover{border-color:var(--color-primary-border);background:var(--color-primary-soft);box-shadow:var(--shadow-md)}[data-theme=dark] .dashboard-card-link:hover{box-shadow:var(--shadow-lg)}.dashboard-card h3{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0}.dashboard-card p{color:var(--color-text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;margin:.5rem 0 0}.dashboard-card p.dashboard-card-value-text{color:var(--color-text-muted);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}@media (width<=768px){.dashboard-section-header{flex-direction:column;align-items:flex-start}}.dashboard-dev-tools{background:var(--color-surface-glass);-webkit-backdrop-filter:blur(var(--backdrop-blur-md));border:1px solid var(--color-surface-glass-border);border-radius:var(--radius-ui);padding:1rem 1.1rem}.dashboard-dev-tools-copy{color:var(--color-text-muted);font-size:var(--font-size-sm);max-width:42rem;margin:0 0 .75rem}.dashboard-dev-tools-label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:.35rem;display:block}.dashboard-dev-tools-input{border:1px solid var(--color-border);border-radius:var(--radius-ui);background:var(--color-surface);width:min(100%,16rem);color:var(--color-text);margin-bottom:.75rem;padding:.45rem .6rem;display:block}.dashboard-dev-tools-error{color:var(--color-danger);font-size:var(--font-size-sm);margin:.65rem 0 0}.dashboard-dev-tools-success{color:var(--color-success);font-size:var(--font-size-sm);margin:.65rem 0 0}.driver-status-badge-active{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success-border)}.driver-status-badge-warning{background:var(--color-warning-soft);color:var(--color-warning);border:1px solid #ca8a0459}.driver-status-badge-danger{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger-border)}.driver-status-badge-neutral{background:var(--color-neutral-soft);color:var(--color-neutral);border:1px solid var(--color-border)}.road-approved-badge-yes{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success-border)}.road-approved-badge-no{background:var(--color-warning-soft);color:var(--color-warning);border:1px solid #ca8a0459}.driver-detail-page{text-align:left}.driver-detail-error{color:var(--color-danger);margin:0 0 .75rem}.driver-detail-badges{flex-wrap:wrap;gap:.4rem;margin-top:.35rem;display:flex}.driver-capability-list{flex-wrap:wrap;gap:.35rem;display:flex}.driver-capability-chip{background:var(--color-primary-soft);color:var(--color-primary);border:1px solid var(--color-primary-border);border-radius:999px;padding:.15rem .45rem;font-size:.72rem;font-weight:600;display:inline-flex}.driver-detail-footer{margin-top:.75rem}.driver-detail-muted{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:.5rem}.landmark-search-field{flex-direction:column;gap:.5rem;display:flex}.landmark-search-clear{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.8125rem}.landmark-search-results{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.5rem;flex-direction:column;gap:.35rem;max-height:12rem;display:flex;overflow-y:auto}.landmark-search-status{color:var(--color-text-muted);margin:0;padding:.65rem .75rem;font-size:.8125rem}.landmark-search-option{border:none;border-bottom:1px solid var(--color-border);text-align:left;cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.55rem .75rem;display:flex}.landmark-search-option:last-child{border-bottom:none}.landmark-search-option:hover,.landmark-search-option-selected{background:var(--color-surface-muted)}.landmark-search-option-name{color:var(--color-text);font-size:.875rem;font-weight:500}.landmark-search-option-meta{color:var(--color-text-muted);font-size:.75rem}.time-field{position:relative}.time-field-input{font-variant-numeric:tabular-nums;letter-spacing:.02em}.time-field-input.is-invalid{border-color:var(--color-danger-border,var(--color-danger))}.time-field-input.is-invalid:focus{border-color:var(--color-danger);box-shadow:0 0 0 2px var(--color-danger-soft,color-mix(in srgb, var(--color-danger) 20%, transparent))}.datetime-field-controls .time-field{flex:none;gap:0;width:6.5rem}.datetime-field-controls .time-field .form-field-error,.datetime-field-controls .time-field .form-field-hint{z-index:1;width:max-content;max-width:14rem;position:absolute;top:calc(100% + .15rem);left:0}.driver-form-page{text-align:left}.driver-form{min-width:0}.driver-form-checkbox-row{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.driver-capability-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem 1rem;display:grid}.driver-form-status-preview{align-items:center;gap:.75rem;display:flex}.driver-form-preview-label,.driver-form-helper{color:var(--color-text-muted);font-size:.8125rem}.driver-form-checkbox{color:var(--color-text);align-items:center;gap:.45rem;font-size:.875rem;display:inline-flex}.driver-form-error{color:var(--color-danger);margin:0}.driver-form-actions{justify-content:flex-end;display:flex}.context-menu{z-index:var(--z-menu);min-width:160px;padding:.25rem;position:fixed}.context-menu-item{width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.45rem .65rem;font-size:.85rem;display:block}.context-menu-item:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary)}.context-menu-item:focus-visible:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-border);outline:none}.context-menu-item:disabled{color:var(--color-text-muted);cursor:not-allowed}.context-menu-item.is-destructive{color:var(--color-danger)}.driver-list-page{text-align:left}.driver-list-toolbar{grid-template-columns:minmax(240px,1fr) 160px 160px 160px;gap:.5rem;margin-bottom:.75rem;display:grid}.driver-list-search,.driver-list-filter{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;box-sizing:border-box;border-radius:6px;padding:.45rem .65rem}[data-theme=dark] .driver-list-search,[data-theme=dark] .driver-list-filter{background:var(--color-surface-muted)}.driver-list-search:focus,.driver-list-filter:focus{border-color:var(--color-primary-border);box-shadow:0 0 0 2px var(--color-primary-soft);outline:none}.driver-list-error{color:var(--color-danger);margin:0 0 .75rem}.driver-list-muted{color:var(--color-text-muted);font-size:.8rem}.driver-list-actions{flex-wrap:wrap;gap:.4rem;display:flex}.driver-list-pagination{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}@media (width<=900px){.driver-list-toolbar{grid-template-columns:1fr}.driver-list-pagination{flex-direction:column;align-items:stretch}}.location-detail-page{text-align:left}.location-detail-error{color:var(--color-danger);margin:0 0 .75rem}.location-detail-footer{margin-top:.75rem}.address-search{flex-direction:column;gap:.25rem;display:flex;position:relative}.address-search-label{color:var(--color-text);font-size:.85rem;font-weight:600}.address-search-input{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;box-sizing:border-box;border-radius:6px;padding:.45rem .65rem}[data-theme=dark] .address-search-input{background:var(--color-surface-muted)}.address-search-input:focus{border-color:var(--color-primary-border);box-shadow:0 0 0 2px var(--color-primary-soft);outline:none}.address-search-meta{align-items:center;gap:.75rem;min-height:1rem;display:flex}.address-search-status{color:var(--color-warning);font-size:.75rem;font-weight:600}.address-search-status.is-resolved{color:var(--color-success)}.address-search-loading{color:var(--color-text-muted);font-size:.75rem}.address-search-error{color:var(--color-danger);margin:0;font-size:.75rem}.address-search-suggestions{z-index:var(--z-dropdown);border:1px solid var(--color-border);background:var(--color-surface-elevated,var(--color-surface));box-shadow:var(--shadow-md);border-radius:8px;max-height:14rem;margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow:auto}.address-search-suggestion{width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.45rem .65rem;font-size:.85rem}.address-search-suggestion:hover{background:var(--color-primary-soft);color:var(--color-primary)}.location-form-page{text-align:left}.location-form{min-width:0}.location-form-checkbox{color:var(--color-text);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.location-form-coordinates{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:.65rem .75rem;display:grid}.location-form-coordinates-label{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem;display:block}.location-form-coordinates-value{color:var(--color-text);font-size:.875rem;font-family:var(--mono)}.location-form-error{color:var(--color-danger);margin:0}.location-form-actions{justify-content:flex-end;display:flex}@media (width<=768px){.location-form-coordinates{grid-template-columns:1fr}}.location-list-page{text-align:left}.location-list-toolbar{grid-template-columns:minmax(240px,1fr) 180px 160px;gap:.5rem;margin-bottom:.75rem;display:grid}.location-list-search,.location-list-filter{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;box-sizing:border-box;border-radius:6px;padding:.45rem .65rem}[data-theme=dark] .location-list-search,[data-theme=dark] .location-list-filter{background:var(--color-surface-muted)}.location-list-search:focus,.location-list-filter:focus{border-color:var(--color-primary-border);box-shadow:0 0 0 2px var(--color-primary-soft);outline:none}.location-list-error{color:var(--color-danger);margin:0 0 .75rem}.location-list-muted{color:var(--color-text-muted);font-size:.8rem}.location-list-actions{flex-wrap:wrap;gap:.4rem;display:flex}.location-list-pagination{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}@media (width<=900px){.location-list-toolbar{grid-template-columns:1fr}.location-list-pagination{flex-direction:column;align-items:stretch}}.login-page{background:radial-gradient(circle at top, var(--color-primary-soft), transparent 55%), var(--color-bg-gradient,var(--color-bg));justify-content:center;align-items:center;min-height:100svh;padding:1.5rem 1rem;display:flex}[data-theme=dark] .login-page{background:radial-gradient(circle at top left, #22d3ee24, transparent 40%), radial-gradient(circle at bottom right, #2dd4bf1a, transparent 35%), var(--color-bg-gradient,var(--color-bg))}.login-card{border:1px solid var(--color-border);background:var(--color-surface-elevated,var(--color-surface));width:100%;max-width:400px;box-shadow:var(--shadow-lg);text-align:left;border-radius:12px;padding:1.5rem}[data-theme=dark] .login-card{border-color:#22d3ee2e}.login-brand{align-items:center;margin-bottom:1.5rem;display:flex}.login-brand-logo{width:auto;height:2.25rem}.brand-logo-dark,[data-theme=dark] .brand-logo-light{display:none}[data-theme=dark] .brand-logo-dark{display:inline-block}.login-form{flex-direction:column;gap:.35rem;display:flex}.login-form label{color:var(--color-text);margin-top:.6rem;font-size:.85rem;font-weight:600}.login-form input{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;box-sizing:border-box;border-radius:6px;padding:.45rem .65rem}.login-form input:focus{border-color:var(--color-primary-border);box-shadow:0 0 0 2px var(--color-primary-soft);outline:none}.login-error{color:var(--color-danger);margin:.6rem 0 0;font-size:.85rem}.login-form button{background:linear-gradient(135deg, var(--color-primary), var(--color-accent));color:var(--color-on-primary);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:6px;margin-top:1rem;padding:.45rem .85rem;font-weight:600}.login-form button:hover:not(:disabled){filter:brightness(1.05);box-shadow:var(--shadow-md)}.login-form button:disabled{opacity:.7;cursor:not-allowed}.patient-overview-panel--compact{padding:1rem 1.25rem}.patient-overview-panel__stale{border-radius:var(--radius-ui);background:var(--color-warning-soft);border:1px solid var(--color-warning-border);margin-bottom:.875rem;padding:.75rem 1rem}.patient-overview-panel__stale p{color:var(--color-text);margin:0;font-size:.875rem}.patient-overview-panel__compact-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.875rem;display:flex}.patient-overview-panel__compact-name{color:var(--color-text);margin:0;font-weight:600}.patient-overview-panel__compact-meta{color:var(--color-text-muted);margin:.25rem 0 0;font-size:.875rem}.patient-overview-panel__compact-grid{grid-template-columns:7.5rem 1fr;gap:.5rem 1rem;margin:0;display:grid}.patient-overview-panel__compact-grid dt{color:var(--color-text-muted);font-size:.8125rem;font-weight:600}.patient-overview-panel__compact-grid dd{margin:0;font-size:.875rem}.patient-overview-panel__loading{color:var(--color-text-muted);margin:0;font-size:.875rem}.patient-overview-panel__view-profile{font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.patient-status-badge--active{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success-border)}.patient-status-badge--flagged{background:var(--color-warning-soft);color:var(--color-warning);border-color:var(--color-warning-border)}.patient-status-badge--deceased{background:var(--color-neutral-soft);color:var(--color-neutral);border-color:var(--color-border)}.capability-flag-group{flex-direction:column;gap:.35rem;display:flex}.capability-flag-group__label{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold,600);margin:0}.customer-account-search-field{flex-direction:column;gap:.5rem;display:flex}.customer-account-search-clear{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.8125rem}.customer-account-search-results{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.5rem;flex-direction:column;gap:.35rem;max-height:12rem;display:flex;overflow-y:auto}.customer-account-search-status{color:var(--color-text-muted);margin:0;padding:.65rem .75rem;font-size:.8125rem}.customer-account-search-option{border:none;border-bottom:1px solid var(--color-border);text-align:left;cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;width:100%;padding:.55rem .75rem;display:flex}.customer-account-search-option:last-child{border-bottom:none}.customer-account-search-option:hover,.customer-account-search-option-highlighted,.customer-account-search-option-selected{background:var(--color-surface-muted)}.customer-account-search-option-name{color:var(--color-text);font-size:.875rem;font-weight:500}.customer-account-search-option-number{color:var(--color-text-muted);font-size:.75rem}.patient-duplicate-panel{border-color:var(--color-warning);background:var(--color-warning-soft);margin-bottom:1rem;padding:1rem}.patient-duplicate-panel ul{margin:.75rem 0;padding-left:1.25rem}.patient-duplicate-actions{gap:.75rem;display:flex}.patient-duplicate-candidate-button{color:var(--color-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline;display:inline}.patient-duplicate-candidate-button:hover:not(:disabled),.patient-duplicate-candidate-button:focus-visible:not(:disabled){color:var(--color-primary-hover,var(--color-primary))}.patient-duplicate-candidate-button:disabled{cursor:not-allowed;opacity:.6}.glass-card,.patient-form-page .form-section.glass-card{background:var(--color-surface-glass);-webkit-backdrop-filter:blur(var(--backdrop-blur-md));border:1px solid var(--color-surface-glass-border);border-radius:var(--radius-ui);box-shadow:var(--shadow-sm)}.patient-form-actions{justify-content:space-between;align-items:center;gap:1rem}.patient-form-flag-cluster{flex-direction:column;gap:.75rem;display:flex}.patient-form-fall-risk{border:1px solid var(--color-border);border-radius:var(--radius-ui);background:var(--color-surface);padding:.55rem .75rem}.patient-form-fall-risk:has(input:checked){border-color:var(--color-warning-border);background:var(--color-warning-soft)}.patient-form-fall-risk-label{align-items:flex-start;width:100%}.patient-form-fall-risk-copy{flex-direction:column;gap:.15rem;min-width:0;display:flex}.patient-form-fall-risk-title{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text);line-height:var(--line-height-tight)}.patient-form-fall-risk-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:var(--line-height-normal)}.patient-form-fall-risk:has(input:checked) .patient-form-fall-risk-title{color:var(--color-warning)}.patient-form-save-note{color:var(--color-text-muted);margin:0;font-size:.875rem}.patient-list-page .patient-list-toolbar{gap:.75rem;margin-bottom:1rem;display:flex}.patient-list-search{flex:1;min-width:12rem}.patient-list-muted{color:var(--color-text-muted)}.patient-list-preview p{margin:0 0 .75rem}.patient-list-preview .button-primary{margin-top:.5rem}.patient-list-pagination{justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.cell-primary{align-items:center;gap:.5rem;display:inline-flex}.datetime-field-controls{align-items:flex-start;gap:.5rem;min-width:0;display:flex;position:relative}.datetime-field-date{flex:auto;min-width:0}.dispatch-status-badge{white-space:nowrap}.dispatch-status-badge-active{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success-border)}.dispatch-status-badge-info{background:var(--color-accent-soft);color:var(--color-accent);border:1px solid var(--color-border)}.dispatch-status-badge-warning{background:var(--color-warning-soft);color:var(--color-warning);border:1px solid #ca8a0459}.dispatch-status-badge-danger{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger-border)}.dispatch-status-badge-neutral{background:var(--color-neutral-soft);color:var(--color-neutral);border:1px solid var(--color-border)}.reservation-status-badge{white-space:nowrap}.reservation-status-badge-active{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success-border)}.reservation-status-badge-warning{background:var(--color-warning-soft);color:var(--color-warning);border:1px solid #ca8a0459}.reservation-status-badge-danger{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger-border)}.reservation-status-badge-neutral{background:var(--color-neutral-soft);color:var(--color-neutral);border:1px solid var(--color-border)}.reservation-detail-page{text-align:left}.reservation-detail-badges{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.75rem;display:flex}.reservation-detail-flag{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger-border);white-space:nowrap;border-radius:999px;align-items:center;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.reservation-detail-flag-neutral{background:var(--color-neutral-soft);color:var(--color-neutral);border-color:var(--color-border)}.reservation-detail-stale{background:var(--color-warning-soft,#fff8e6);border:1px solid var(--color-warning-border,#f0d58c);border-radius:.5rem;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.reservation-detail-cancelled{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger-border);border-radius:8px;margin-bottom:.75rem;padding:.6rem .8rem;font-size:.88rem}.reservation-detail-error{color:var(--color-danger);margin:0 0 .75rem}.reservation-detail-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1rem;display:grid}.reservation-detail-main{flex-direction:column;gap:1rem;min-width:0;display:flex}.reservation-detail-side{top:calc(var(--header-height) + 1rem);flex-direction:column;gap:1rem;display:flex;position:sticky}.reservation-detail-actions{flex-direction:column;gap:.5rem;display:flex}.reservation-detail-hold-note{color:var(--color-warning);margin:0;font-size:.8125rem}.reservation-detail-cancel-form{flex-direction:column;gap:.4rem;display:flex}.reservation-detail-cancel-buttons{gap:.4rem;display:flex}.reservation-detail-dispatch{flex-direction:column;gap:.45rem;display:flex}.reservation-detail-dispatch label,.reservation-detail-cancel-form label{color:var(--color-text-muted);font-size:.75rem;font-weight:600}.reservation-detail-dispatch select,.reservation-detail-dispatch input,.reservation-detail-dispatch textarea,.reservation-detail-cancel-form textarea{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;box-sizing:border-box;border-radius:6px;padding:.45rem .6rem}[data-theme=dark] .reservation-detail-dispatch select,[data-theme=dark] .reservation-detail-dispatch input,[data-theme=dark] .reservation-detail-dispatch textarea,[data-theme=dark] .reservation-detail-cancel-form textarea{background:var(--color-surface-muted)}@media (width<=1000px){.reservation-detail-layout{grid-template-columns:1fr}.reservation-detail-side{position:static}}.reservation-location-fields{flex-direction:column;grid-column:1/-1;gap:.85rem;display:flex}.reservation-location-landmark,.reservation-location-address{flex-direction:column;gap:.75rem;display:flex}.reservation-location-suggestions{flex-direction:column;gap:.5rem;display:flex}.reservation-location-suggestions-group{flex-direction:column;gap:.35rem;display:flex}.reservation-location-suggestions-label{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.6875rem;font-weight:600}.reservation-location-suggestions-chips{flex-wrap:wrap;gap:.35rem;display:flex}.reservation-location-suggestion{border:1px solid var(--color-border);background:var(--color-surface);max-width:100%;color:var(--color-text);text-align:left;cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.35rem .55rem;display:flex}.reservation-location-suggestion:hover:not(:disabled){background:var(--color-surface-muted);border-color:var(--color-primary-border,var(--color-border))}.reservation-location-suggestion:disabled{cursor:wait;opacity:.7}.reservation-location-suggestion-selected{border-color:var(--color-primary-border,var(--color-primary));background:var(--color-primary-soft,var(--color-surface-muted))}.reservation-location-suggestion-name{font-size:.8125rem;font-weight:500;line-height:1.2}.reservation-location-suggestion-meta{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:16rem;font-size:.6875rem;line-height:1.2;overflow:hidden}.reservation-location-suggestion-error{color:var(--color-warning);margin:0;font-size:.75rem;line-height:1.3}.reservation-location-landmark-clear{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.8125rem}.reservation-location-landmark-results{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.5rem;flex-direction:column;gap:.35rem;max-height:12rem;display:flex;overflow-y:auto}.reservation-location-landmark-status{color:var(--color-text-muted);margin:0;padding:.65rem .75rem;font-size:.8125rem}.reservation-location-landmark-option{border:none;border-bottom:1px solid var(--color-border);text-align:left;cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.55rem .75rem;display:flex}.reservation-location-landmark-option:last-child{border-bottom:none}.reservation-location-landmark-option:hover,.reservation-location-landmark-option-highlighted,.reservation-location-landmark-option-selected{background:var(--color-surface-muted)}.reservation-location-landmark-option-name{color:var(--color-text);font-size:.875rem;font-weight:500}.reservation-location-landmark-option-meta{color:var(--color-text-muted);font-size:.75rem}.reservation-location-address-grid,.reservation-location-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}@media (width<=720px){.reservation-location-address-grid,.reservation-location-detail-grid{grid-template-columns:1fr}}.segmented-toggle{border:1px solid var(--color-border);border-radius:var(--radius-ui);width:fit-content;display:inline-flex;overflow:hidden}.segmented-toggle__button{background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;border:none;font-weight:600;transition:background .15s,color .15s}.segmented-toggle--default .segmented-toggle__button{padding:.45rem 1rem;font-size:.85rem}.segmented-toggle--compact .segmented-toggle__button{padding:.4rem .9rem;font-size:.8rem}.segmented-toggle__button+.segmented-toggle__button{border-left:1px solid var(--color-border)}.segmented-toggle__button.is-active{background:var(--color-accent-soft);color:var(--color-accent)}.reservation-safety-alerts{flex-direction:column;gap:.5rem;display:flex}.reservation-safety-alert{border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:.6rem;padding:.6rem .8rem;font-size:.85rem;line-height:1.4;display:flex}.reservation-safety-alert-blocking{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger-border)}.reservation-safety-alert-warning{background:var(--color-warning-soft);color:var(--color-warning);border-color:#ca8a0459}.reservation-safety-alert-tag{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-badge,6px);border:1px solid;flex-shrink:0;margin-top:.05rem;padding:.1rem .45rem}.patient-search-field{position:relative}.patient-search-field__hint,.patient-search-field__error{margin-top:.25rem;font-size:.8125rem}.patient-search-field__error{color:var(--color-danger)}.patient-search-field__results{z-index:20;max-height:16rem;margin:0;padding:.25rem 0;list-style:none;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow:auto}.patient-search-field__option{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:.625rem .875rem;display:block}.patient-search-field__option:hover,.patient-search-field__option:focus-visible{background:var(--color-surface-muted)}.patient-search-field__name{font-weight:600;display:block}.patient-search-field__flag{color:var(--color-warning);font-weight:500}.patient-search-field__meta{color:var(--color-text-muted);margin-top:.125rem;font-size:.8125rem;display:block}.patient-search-field__empty{z-index:20;padding:.75rem .875rem;position:absolute;top:calc(100% + .25rem);left:0;right:0}.patient-search-field__empty-message{color:var(--color-text-muted);margin:0 0 .625rem;font-size:.875rem}.patient-search-field__create-button{border:1px solid var(--color-border);border-radius:var(--radius-ui);background:var(--color-surface);width:100%;color:var(--color-primary);font:inherit;text-align:center;cursor:pointer;padding:.5rem .75rem;font-size:.875rem;font-weight:600;display:block}.patient-search-field__create-button:hover,.patient-search-field__create-button:focus-visible{background:var(--color-surface-muted)}.patient-quick-create-modal__intro{color:var(--color-text-muted);margin:0 0 1rem;font-size:.875rem}.patient-quick-create-form{flex-direction:column;gap:1rem;display:flex}.patient-quick-create-form .form-section.glass-card{background:var(--color-surface-glass);-webkit-backdrop-filter:blur(var(--backdrop-blur-md));border:1px solid var(--color-surface-glass-border);border-radius:var(--radius-ui);box-shadow:var(--shadow-sm)}.patient-quick-create-form .form-field{margin-bottom:.75rem}.patient-quick-create-form .form-field:last-child{margin-bottom:0}.patient-quick-create-modal .form-error{margin-bottom:1rem}.glass-card{background:var(--color-surface-glass);-webkit-backdrop-filter:blur(var(--backdrop-blur-md));border:1px solid var(--color-surface-glass-border);border-radius:var(--radius-ui);box-shadow:var(--shadow-sm)}.patient-detail-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.patient-detail-status-control{align-items:center;gap:.5rem;min-width:0;font-size:.875rem;display:flex}.patient-detail-status-control>span{white-space:nowrap;flex:none}.patient-detail-status-control .form-select{width:auto;min-width:9rem}.patient-detail-tabs{border-bottom:1px solid var(--color-border);gap:.5rem;margin-bottom:1rem;display:flex}.patient-detail-tab{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-bottom:2px solid #0000;padding:.625rem .875rem}.patient-detail-tab.active{color:var(--color-text);border-bottom-color:var(--color-primary);font-weight:600}.patient-detail-panel{padding:1.25rem}.patient-detail-grid{grid-template-columns:11rem 1fr;gap:.75rem 1rem;margin:0;display:grid}.patient-detail-grid dt{color:var(--color-text-muted);font-weight:600}.patient-detail-grid dd{margin:0}.patient-detail-placeholder{color:var(--color-text-muted);margin:0}.patient-detail-save-note{color:var(--color-text-muted);margin-top:1rem;font-size:.875rem}.patient-trips-table{border-collapse:collapse;width:100%;font-size:.875rem}.patient-trips-table th,.patient-trips-table td{border-bottom:1px solid var(--color-border);text-align:left;padding:.5rem .75rem}.patient-trip-stale{color:var(--color-warning);font-size:.8125rem}.patient-trip-link{color:var(--color-primary);font-weight:var(--font-weight-medium);text-decoration:none}.patient-trip-link:hover{color:var(--color-primary-hover);text-decoration:underline}.patient-trip-link:focus-visible{border-radius:var(--radius-badge);box-shadow:0 0 0 2px var(--color-primary-soft);outline:none}.patient-quick-view__escape-hatch{flex-direction:column;gap:.75rem;display:flex}.patient-quick-view__escape-hatch p{margin:0;font-size:.875rem}.patient-quick-view__escape-warning{color:var(--color-warning);font-size:.8125rem}.patient-quick-view__edit-confirm{flex-direction:column;gap:.75rem;width:100%;display:flex}.patient-quick-view__edit-confirm p{color:var(--color-text);margin:0;font-size:.875rem}.patient-quick-view__edit-confirm-actions{gap:.5rem;display:flex}.patient-quick-view-panel .patient-detail-panel{padding:1.25rem}.reservation-form-page{text-align:left}.reservation-form{min-width:0}.reservation-form-profile-nudge__text{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.reservation-form-profile-nudge__status{color:var(--color-text-muted)}.reservation-form-profile-nudge__error{color:var(--color-danger);font-size:var(--font-size-sm);margin:.25rem 0 0}.reservation-form-flag-cluster{flex-direction:column;gap:.75rem;display:flex}.reservation-list-page{text-align:left}.reservation-list-toolbar{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.reservation-list-search-row{align-items:center;gap:.5rem;display:flex}.reservation-list-filter-row{flex-wrap:wrap;gap:.5rem;display:flex}.reservation-list-search{flex:auto;min-width:0}.reservation-list-reset{white-space:nowrap;flex:none}.reservation-list-filter{flex:150px;min-width:140px}.reservation-list-date{flex:170px;align-items:center;gap:.4rem;display:flex}.reservation-list-date-prefix{color:var(--color-text-muted);white-space:nowrap;font-size:.8rem}.reservation-list-date input{min-width:0;color:inherit;font:inherit;background:0 0;border:none;flex:auto;padding:0}.reservation-list-date input:focus{outline:none}.reservation-list-date:focus-within{border-color:var(--color-primary-border);box-shadow:0 0 0 2px var(--color-primary-soft)}.reservation-list-search,.reservation-list-filter{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;box-sizing:border-box;border-radius:6px;padding:.45rem .65rem}[data-theme=dark] .reservation-list-search,[data-theme=dark] .reservation-list-filter{background:var(--color-surface-muted)}.reservation-list-search:focus,.reservation-list-filter:focus{border-color:var(--color-primary-border);box-shadow:0 0 0 2px var(--color-primary-soft);outline:none}.reservation-list-error{color:var(--color-danger);margin:0 0 .75rem}.reservation-list-muted{color:var(--color-text-muted);font-size:.8rem}.reservation-list-number{white-space:nowrap;align-items:center;gap:.3rem;display:inline-flex}.reservation-list-priority{color:var(--color-danger);font-size:.7rem;line-height:1}.reservation-list-times,.reservation-list-trip{flex-direction:column;gap:.1rem;display:flex}.reservation-list-dispatch{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.reservation-list-actions{flex-wrap:wrap;gap:.4rem;display:flex}.reservation-list-pagination{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}@media (width<=720px){.reservation-list-filter{flex:100%}.reservation-list-pagination{flex-direction:column;align-items:stretch}}.user-detail-page{text-align:left}.user-detail-error{color:var(--color-danger);margin:0 0 .75rem}.user-detail-success{color:var(--color-success,#15803d);margin:.5rem 0 0;font-size:.85rem}.user-detail-muted{color:var(--color-text-muted)}.user-detail-actions{flex-wrap:wrap;gap:.4rem;display:flex}.detail-section{border:1px solid var(--color-border);background:var(--color-surface-elevated,var(--color-surface));box-shadow:var(--shadow-sm);border-radius:8px;margin-bottom:.75rem;padding:.85rem 1rem}[data-theme=dark] .detail-section{box-shadow:var(--shadow-md)}.detail-section h2{margin:0 0 .75rem;font-size:1rem}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.detail-field{flex-direction:column;gap:.2rem;display:flex}.detail-field-label{color:var(--color-text-muted);font-size:.75rem;font-weight:600}.detail-field-value{color:var(--color-text);white-space:pre-wrap;font-size:.875rem}.user-detail-password-form{grid-template-columns:minmax(240px,320px);gap:.75rem;display:grid}@media (width<=900px){.detail-grid,.user-detail-password-form{grid-template-columns:1fr}}.user-form-page{text-align:left}.user-form{flex-direction:column;gap:.75rem;display:flex}.user-form-checkbox{color:var(--color-text);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.user-form-error{color:var(--color-danger);margin:0}.user-form-muted{color:var(--color-text-muted)}.user-form-actions{flex-wrap:wrap;gap:.5rem;display:flex}.user-list-page{text-align:left}.user-list-toolbar{grid-template-columns:minmax(240px,1fr) 180px 160px;gap:.5rem;margin-bottom:.75rem;display:grid}.user-list-search,.user-list-filter{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;box-sizing:border-box;border-radius:6px;padding:.45rem .65rem}[data-theme=dark] .user-list-search,[data-theme=dark] .user-list-filter{background:var(--color-surface-muted)}.user-list-search:focus,.user-list-filter:focus{border-color:var(--color-primary-border);box-shadow:0 0 0 2px var(--color-primary-soft);outline:none}.user-list-error{color:var(--color-danger);margin:0 0 .75rem}.user-list-muted{color:var(--color-text-muted);font-size:.8rem}.user-list-actions{flex-wrap:wrap;gap:.4rem;display:flex}.user-list-pagination{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}@media (width<=900px){.user-list-toolbar{grid-template-columns:1fr}.user-list-pagination{flex-direction:column;align-items:stretch}}.road-ready-badge-yes{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success-border)}.road-ready-badge-no{background:var(--color-warning-soft);color:var(--color-warning);border:1px solid #ca8a0459}.vehicle-status-badge-active{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success-border)}.vehicle-status-badge-warning{background:var(--color-warning-soft);color:var(--color-warning);border:1px solid #ca8a0459}.vehicle-status-badge-danger{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger-border)}.vehicle-status-badge-neutral{background:var(--color-neutral-soft);color:var(--color-neutral);border:1px solid var(--color-border)}.vehicle-detail-badges,.vehicle-capability-list{flex-wrap:wrap;gap:.35rem;display:flex}.vehicle-capability-chip{background:var(--color-neutral-soft);color:var(--color-neutral);border:1px solid var(--color-border);border-radius:999px;align-items:center;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.vehicle-detail-error{color:var(--color-danger)}.vehicle-detail-muted{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:.5rem}.vehicle-detail-footer{margin-top:1rem}.vehicle-form-page{text-align:left}.vehicle-form{min-width:0}.vehicle-form-checkbox-row{flex-wrap:wrap;gap:.75rem 1rem;display:flex}.vehicle-capability-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem 1rem;display:grid}.vehicle-form-status-preview{align-items:center;gap:.75rem;display:flex}.vehicle-form-preview-label{color:var(--color-text-muted);font-size:.8125rem}.vehicle-form-checkbox{color:var(--color-text);align-items:center;gap:.45rem;font-size:.875rem;display:inline-flex}.vehicle-form-error{color:var(--color-danger);margin:0}.vehicle-form-actions{justify-content:flex-end;display:flex}.vehicle-list-page{text-align:left}.vehicle-list-toolbar{grid-template-columns:minmax(240px,1fr) 160px 160px 160px 160px;gap:.5rem;margin-bottom:.75rem;display:grid}.vehicle-list-search,.vehicle-list-filter{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;box-sizing:border-box;border-radius:6px;padding:.45rem .65rem}[data-theme=dark] .vehicle-list-search,[data-theme=dark] .vehicle-list-filter{background:var(--color-surface-muted)}.vehicle-list-search:focus,.vehicle-list-filter:focus{border-color:var(--color-primary-border);box-shadow:0 0 0 2px var(--color-primary-soft);outline:none}.vehicle-list-error{color:var(--color-danger);margin:0 0 .75rem}.vehicle-list-muted{color:var(--color-text-muted);font-size:.8rem}.vehicle-list-actions{flex-wrap:wrap;gap:.4rem;display:flex}.vehicle-list-pagination{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}@media (width<=900px){.vehicle-list-toolbar{grid-template-columns:1fr}.vehicle-list-pagination{flex-direction:column;align-items:stretch}}.region-form-page{text-align:left}.region-form{flex-direction:column;gap:.75rem;display:flex}.region-form-error{color:var(--color-danger);margin:0}.region-form-actions{justify-content:flex-end;display:flex}.region-list-page{text-align:left}.region-list-toolbar{flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem;display:flex}.region-list-search,.region-list-filter{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-width:12rem;color:var(--color-text);font:inherit;box-sizing:border-box;border-radius:6px;padding:.45rem .65rem}[data-theme=dark] .region-list-search,[data-theme=dark] .region-list-filter{background:var(--color-surface-muted)}.region-list-search:focus,.region-list-filter:focus{border-color:var(--color-primary-border);box-shadow:0 0 0 2px var(--color-primary-soft);outline:none}.region-list-actions{gap:.5rem;display:flex}.region-list-error{color:var(--color-danger)}.region-list-pagination{justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}@media (width<=768px){.region-list-toolbar{flex-direction:column;align-items:stretch}.region-list-search,.region-list-filter{min-width:0}.region-list-pagination{flex-direction:column;align-items:stretch}}.dispatch-board-page{text-align:left}.dispatch-board-toolbar{grid-template-columns:9rem 11rem minmax(200px,1fr) auto;align-items:center;gap:.5rem;margin-bottom:.5rem;display:grid}.dispatch-board-date,.dispatch-board-region{width:100%}.dispatch-board-search,.dispatch-board-filter{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;box-sizing:border-box;border-radius:6px;padding:.4rem .6rem}[data-theme=dark] .dispatch-board-search,[data-theme=dark] .dispatch-board-filter{background:var(--color-surface-muted)}.dispatch-board-search:focus,.dispatch-board-filter:focus{border-color:var(--color-primary-border);box-shadow:0 0 0 2px var(--color-primary-soft);outline:none}.dispatch-board-filters-anchor{position:relative}.dispatch-board-filters-popover{z-index:var(--z-popover);flex-direction:column;gap:.65rem;width:min(22rem,92vw);padding:.75rem;display:flex;position:absolute;top:calc(100% + .35rem);right:0}.dispatch-board-filter-group{border:none;margin:0;padding:0}.dispatch-board-filter-group legend{color:var(--color-text-muted);margin-bottom:.35rem;font-size:.78rem;font-weight:600}.dispatch-board-checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .5rem;font-size:.82rem;display:grid}.dispatch-board-filter-row{flex-direction:column;gap:.25rem;font-size:.82rem;display:flex}.dispatch-board-filter-actions{justify-content:flex-end;display:flex}.dispatch-board-subbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;margin-bottom:.4rem;display:flex}.dispatch-board-chips{flex-wrap:wrap;gap:.35rem;display:flex}.dispatch-board-chip{border:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text);cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.78rem;display:inline-flex}.dispatch-board-chip:hover,.dispatch-board-chip:focus-visible{background:var(--color-primary-soft);border-color:var(--color-primary-border);outline:none}.dispatch-board-chip-clear{color:var(--color-text-muted);border-style:dashed}.dispatch-board-summary{color:var(--color-text-muted);flex-wrap:wrap;gap:.75rem;font-size:.82rem;display:flex}.dispatch-board-hint{color:var(--color-text-muted);margin:0 0 .6rem;font-size:.75rem}.dispatch-board-hint kbd{border:1px solid var(--color-border);background:var(--color-surface-muted);text-align:center;border-radius:4px;min-width:1.1rem;padding:0 .3rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem;display:inline-block}.dispatch-board-confirm{border:1px solid var(--color-danger-border);background:var(--color-danger-soft);color:var(--color-text);border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.6rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.dispatch-board-confirm-actions{gap:.4rem;display:flex}.dispatch-board-error{color:var(--color-danger);margin:0 0 .75rem}.dispatch-board-muted{color:var(--color-text-muted);font-size:.82rem}.dispatch-board-row-hold{color:var(--color-warning);white-space:nowrap;margin:0;font-size:.72rem;font-weight:600}.dispatch-board-lanes{flex-direction:column;gap:.65rem;display:flex}.dispatch-board-lane{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;overflow:visible}.dispatch-board-lane-unassigned{border-color:var(--color-warning-border)}.dispatch-board-lane-header{background:var(--color-surface-muted);width:100%;color:var(--color-text);font:inherit;cursor:pointer;text-align:left;border:none;border-radius:8px 8px 0 0;align-items:center;gap:.5rem;padding:.55rem .75rem;font-weight:600;display:flex}.dispatch-board-lane-header:hover,.dispatch-board-lane-header:focus-visible{background:var(--color-primary-soft);outline:none}.dispatch-board-lane-count{color:var(--color-text-muted);margin-left:auto;font-size:.82rem;font-weight:500}.dispatch-board-lane-chevron{color:var(--color-text-muted);font-size:.75rem}.dispatch-board-rows{flex-direction:column;display:flex}.dispatch-board-lane-strip{display:none}.dispatch-board-row{border-top:1px solid var(--color-border)}.dispatch-board-row-dialysis{border-left:3px solid var(--color-warning)}.dispatch-board-row-unassigned{background:color-mix(in srgb, var(--color-warning-soft) 35%, transparent)}.dispatch-board-row.is-selected{background:var(--color-primary-soft);box-shadow:inset 3px 0 0 var(--color-primary)}.dispatch-board-row-main{width:100%;min-height:2.1rem;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:4rem 6rem 3.25rem minmax(7rem,1fr) minmax(7rem,.9fr) minmax(9rem,1.4fr) 5.5rem 5.5rem 5rem 5.5rem minmax(7rem,1fr);align-items:center;gap:.45rem;padding:.35rem .75rem;display:grid}.dispatch-board-row-main:hover{background:var(--color-primary-soft)}.dispatch-board-row-time,.dispatch-board-row-number{white-space:nowrap;font-weight:600}.dispatch-board-row-vehicle-type{letter-spacing:.03em;color:var(--color-text-muted);white-space:nowrap;font-size:.7rem;font-weight:700}.dispatch-board-row-patient,.dispatch-board-row-account,.dispatch-board-row-region,.dispatch-board-row-vehicle,.dispatch-board-row-trip,.dispatch-board-row-notes{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dispatch-board-row-trip,.dispatch-board-row-notes{color:var(--color-text-muted);font-size:.82rem}.dispatch-board-row-notes{font-style:italic}.dispatch-board-indicators{flex-wrap:wrap;gap:.2rem;display:inline-flex}.dispatch-board-indicator{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:999px;align-items:center;padding:.05rem .35rem;font-size:.68rem;font-weight:600;line-height:1.3;display:inline-flex}.dispatch-board-indicator-dialysis{background:var(--color-warning-soft);border-color:var(--color-warning-border);color:var(--color-warning)}.dispatch-quick-view{flex-direction:column;gap:.85rem;display:flex}.dispatch-quick-section h3{margin:0 0 .4rem;font-size:.85rem}.dispatch-quick-fields{gap:.35rem;margin:0;display:grid}.dispatch-quick-fields div{grid-template-columns:6.5rem 1fr;gap:.5rem;font-size:.82rem;display:grid}.dispatch-quick-fields dt{color:var(--color-text-muted);margin:0}.dispatch-quick-fields dd{margin:0}.dispatch-quick-notes{background:var(--color-warning-soft);border:1px solid var(--color-warning-border);white-space:pre-wrap;border-radius:6px;margin:0;padding:.55rem .65rem;font-size:.84rem}.dispatch-quick-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.dispatch-quick-datetime{color:var(--color-text-muted);flex-direction:column;gap:.2rem;font-size:.78rem;display:flex}.dispatch-board-notes-input{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;resize:vertical;box-sizing:border-box;border-radius:6px;padding:.45rem .65rem}@media (width<=1200px){.dispatch-board-lane-strip{border-top:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;grid-template-columns:minmax(10rem,.75fr) minmax(16rem,1.4fr) minmax(12rem,1fr);gap:.45rem;padding:.35rem .75rem;font-size:.7rem;font-weight:600;display:grid}.dispatch-board-row-main{grid-template-columns:minmax(10rem,.75fr) minmax(16rem,1.4fr) minmax(12rem,1fr);grid-template-areas:"time trip vehicle""number trip status""vehicletype region notes""patient indicators account";align-items:start}.dispatch-board-row-time{grid-area:time}.dispatch-board-row-number{grid-area:number}.dispatch-board-row-vehicle-type{grid-area:vehicletype}.dispatch-board-row-patient{grid-area:patient}.dispatch-board-row-account{grid-area:account}.dispatch-board-row-trip{white-space:normal;grid-area:trip}.dispatch-board-row-region{grid-area:region}.dispatch-board-indicators{grid-area:indicators}.dispatch-board-row-vehicle{grid-area:vehicle}.dispatch-board-row-status{grid-area:status}.dispatch-board-row-notes{white-space:normal;grid-area:notes}}@media (width<=760px){.dispatch-board-lane-strip{display:none}.dispatch-board-row-main{grid-template-columns:1fr;grid-template-areas:"time""number""vehicletype""patient""account""trip""region""indicators""vehicle""status""notes"}.dispatch-board-toolbar{grid-template-columns:1fr 1fr}.dispatch-board-search,.dispatch-board-filters-anchor{grid-column:1/-1}}.route-planner-page{text-align:left;flex-direction:column;min-height:0;display:flex}.route-planner-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.route-planner-date{width:10rem}.route-planner-region{width:11rem}.route-planner-filter{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;box-sizing:border-box;border-radius:6px;padding:.45rem .65rem}[data-theme=dark] .route-planner-filter{background:var(--color-surface-muted)}.route-planner-filter:focus{border-color:var(--color-primary-border);box-shadow:0 0 0 2px var(--color-primary-soft);outline:none}.route-planner-legend{color:var(--color-text-muted);flex-wrap:wrap;gap:.75rem;margin-left:auto;font-size:.75rem;display:flex}.route-planner-legend-item{align-items:center;gap:.35rem;display:inline-flex}.route-planner-swatch{border:1px solid #0000;border-radius:3px;width:.75rem;height:.75rem}.route-planner-swatch--info{background:var(--color-accent-soft);border-color:var(--color-accent)}.route-planner-swatch--active{background:var(--color-success-soft);border-color:var(--color-success-border)}.route-planner-swatch--warning{background:var(--color-warning-soft);border-color:#ca8a0459}.route-planner-swatch--overlap{background:var(--color-danger-soft);border-color:var(--color-danger-border)}.route-planner-error{color:var(--color-danger);margin:0 0 .75rem}.route-planner-summary{color:var(--color-text-muted);flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem;font-size:.82rem;display:flex}.route-planner-layout{align-items:stretch;gap:.75rem;min-height:0;display:flex}.route-planner-sidebar{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;flex-direction:column;flex:0 0 280px;width:280px;min-height:20rem;max-height:calc(100vh - 16rem);display:flex}.route-planner-sidebar-header{border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:8px 8px 0 0;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.route-planner-sidebar-header h2{margin:0;font-size:.9rem}.route-planner-sidebar-count{color:var(--color-text-muted);background:var(--color-warning-soft);border:1px solid #ca8a0459;border-radius:999px;margin-left:auto;padding:.05rem .5rem;font-size:.8rem;font-weight:600}.route-planner-sidebar-body{flex-direction:column;flex:1;gap:.5rem;padding:.6rem;display:flex;overflow-y:auto}.route-planner-unassigned-card{border:1px solid var(--color-border);border-left:3px solid var(--color-warning);background:var(--color-surface);color:var(--color-text);border-radius:6px;padding:.5rem .6rem;text-decoration:none;transition:background .12s,border-color .12s;display:block}.route-planner-unassigned-card:hover{background:var(--color-primary-soft);border-color:var(--color-primary-border)}.route-planner-unassigned-top{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.route-planner-unassigned-number{font-size:.82rem;font-weight:600}.route-planner-unassigned-time{color:var(--color-text-muted);white-space:nowrap;font-size:.78rem}.route-planner-unassigned-name{margin-top:.15rem;font-size:.82rem}.route-planner-unassigned-route{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.1rem;font-size:.75rem;overflow:hidden}.route-planner-empty{color:var(--color-text-muted);margin:0;padding:.75rem .25rem;font-size:.82rem}.route-planner-timeline{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;flex:1;min-width:0;max-height:calc(100vh - 16rem);overflow:auto}.route-planner-timeline-empty{padding:1.5rem}.route-planner-track{grid-template-columns:180px repeat(64,minmax(40px,1fr));min-width:max-content;display:grid}.route-planner-header{z-index:3;background:var(--color-surface-muted);border-bottom:1px solid var(--color-border);position:sticky;top:0}.route-planner-label-cell{z-index:2;background:var(--color-surface);border-right:1px solid var(--color-border);box-sizing:border-box;grid-column:1;padding:.4rem .6rem;position:sticky;left:0}.route-planner-header-label{z-index:4;background:var(--color-surface-muted);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);align-items:center;font-size:.72rem;font-weight:600;display:flex}.route-planner-hour{border-left:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap;grid-column:span 4;padding:.4rem;font-size:.72rem;font-weight:600}.route-planner-row{border-bottom:1px solid var(--color-border);background-image:linear-gradient(to right, var(--color-border) 0 1px, transparent 1px);background-position:180px 0;background-repeat:repeat-x;background-size:calc(6.25% - 11.25px) 100%}.route-planner-row:nth-child(2n){background-color:color-mix(in srgb, var(--color-surface-muted) 55%, transparent)}.route-planner-row-label{flex-direction:column;grid-row:1/-1;justify-content:center;gap:.05rem;display:flex}.route-planner-row-unit{font-size:.85rem;font-weight:600}.route-planner-row-name{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.route-planner-row-meta{color:var(--color-text-muted);font-size:.7rem}.route-planner-block{min-width:0;color:var(--color-text);border:1px solid #0000;border-radius:5px;align-self:stretch;align-items:center;margin:3px 2px;padding:0 .5rem;text-decoration:none;transition:filter .12s,box-shadow .12s;display:flex;overflow:hidden}.route-planner-block:hover{box-shadow:var(--shadow-sm);filter:brightness(1.03)}.route-planner-block .tooltip-root{width:100%;min-width:0}.route-planner-block-text{white-space:nowrap;align-items:baseline;gap:.35rem;width:100%;min-width:0;display:flex;overflow:hidden}.route-planner-block-number{flex:none;font-size:.75rem;font-weight:600}.route-planner-block-name{text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.route-planner-block--info{background:var(--color-accent-soft);border-color:var(--color-border)}.route-planner-block--active{background:var(--color-success-soft);border-color:var(--color-success-border)}.route-planner-block--warning{background:var(--color-warning-soft);border-color:#ca8a0459}.route-planner-block--danger{background:var(--color-danger-soft);border-color:var(--color-danger-border)}.route-planner-block--neutral{background:var(--color-neutral-soft);border-color:var(--color-border)}.route-planner-block--overlap{border-color:var(--color-danger);box-shadow:0 0 0 1px var(--color-danger) inset;border-width:1px}.route-planner-block--clip-start{border-left:2px dashed var(--color-text-muted);border-top-left-radius:0;border-bottom-left-radius:0}.route-planner-block--clip-end{border-right:2px dashed var(--color-text-muted);border-top-right-radius:0;border-bottom-right-radius:0}@media (width<=900px){.route-planner-layout{flex-direction:column}.route-planner-sidebar{flex:auto;width:100%;max-height:18rem}.route-planner-timeline{max-height:none}}
