:root{--navy-950:#0b0d17;--navy-900:#111527;--navy-800:#1a1f36;--navy-700:#252b47;--gold-500:#d4a032;--gold-400:#e0b356;--gold-600:#b8882a;--blue-500:#4f7cff;--blue-400:#7396ff;--blue-600:#3a63e0;--blue-700:#2a5bd7;--red-500:#e5484d;--green-500:#30a46c;--amber-500:#f0b429;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 12px #00000073, 0 0 0 1px #ffffff0a;--shadow-lg:0 12px 32px #0000008c, 0 0 0 1px #ffffff0f;--shadow-overlay:0 24px 64px #0009;--z-base:0;--z-sticky:100;--z-dropdown:1000;--z-overlay:1200;--z-modal:1300;--z-popover:1400;--z-toast:1500;--z-tooltip:1600;--z-fab:110;--nav-h:56px;--duration-instant:.1s;--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--duration-exit-fast:.11s;--duration-exit-normal:.19s;--duration-exit-slow:.3s;--duration-shimmer:1.4s;--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-out-quint:cubic-bezier(.22, 1, .36, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-out:var(--ease-out-quart);--text-2xs:.72rem;--text-xs:.78rem;--text-sm:.85rem;--text-base:.95rem;--text-lg:1.1rem;--text-xl:1.3rem;--text-2xl:1.6rem;--text-3xl:2.1rem;--background:var(--navy-950);--foreground:#e8eaf2;--card:var(--navy-900);--card-foreground:#e8eaf2;--popover:var(--navy-800);--popover-foreground:#e8eaf2;--primary:var(--blue-500);--primary-foreground:#fff;--primary-text:var(--blue-400);--secondary:var(--navy-800);--secondary-foreground:#c7cbdb;--muted:var(--navy-800);--muted-foreground:#9aa0b6;--accent:var(--gold-500);--accent-foreground:var(--navy-950);--destructive:var(--red-500);--destructive-foreground:#fff;--border:#ffffff17;--input:#ffffff1f;--ring:var(--blue-400);--radius:var(--radius-md);--success:var(--green-500);--success-text:#4ade80;--success-tint:color-mix(in oklab, var(--green-500) 16%, transparent);--warning:var(--amber-500);--warning-text:#fbbf24;--warning-tint:color-mix(in oklab, var(--amber-500) 20%, transparent);--warning-strong:color-mix(in oklab, var(--amber-500) 55%, var(--border));--danger-text:#f87171;--danger-tint:color-mix(in oklab, var(--red-500) 20%, transparent);--danger-strong:color-mix(in oklab, var(--red-500) 55%, var(--border));--state-inactive-bg:color-mix(in oklab, var(--muted) 45%, transparent);--status-open:var(--muted-foreground);--status-assigned:var(--blue-500);--status-enroute:var(--amber-500);--status-done:var(--green-500);--status-cancelled:var(--red-500)}[data-theme=light]{--background:#f2f4f7;--foreground:#12142a;--card:#fff;--card-foreground:#12142a;--popover:#fff;--popover-foreground:#12142a;--secondary:#e7eaf1;--secondary-foreground:#333850;--muted:#e7eaf1;--muted-foreground:#4c5268;--accent:var(--gold-600);--primary:var(--blue-700);--ring:var(--blue-700);--primary-text:var(--blue-700);--state-inactive-bg:color-mix(in oklab, var(--muted) 60%, transparent);--border:#d0d5dd;--input:#788397;--success-text:#15803d;--warning-text:#92600a;--danger-text:#b91c1c}@media (prefers-reduced-motion:reduce){:root{--duration-instant:1ms;--duration-fast:1ms;--duration-normal:1ms;--duration-slow:1ms;--duration-exit-fast:1ms;--duration-exit-normal:1ms;--duration-exit-slow:1ms}}
*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}@media (hover:hover) and (pointer:fine){::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}}::-webkit-scrollbar-corner{background:0 0}.fui-btn{justify-content:center;align-items:center;gap:var(--space-2);font:inherit;cursor:pointer;min-width:44px;min-height:44px;transition:filter var(--duration-instant) var(--ease-out-quart), transform var(--duration-instant) var(--ease-out-quart), background var(--duration-fast) var(--ease-out-quart), border-color var(--duration-fast) var(--ease-out-quart);border:1px solid #0000;display:inline-flex}@media (hover:hover) and (pointer:fine){.fui-btn:hover:not(:disabled){filter:brightness(1.08)}}.fui-btn:active:not(:disabled){transform:scale(.97)}.fui-btn--sm:active:not(:disabled){transform:scale(.96)}.fui-btn:disabled{opacity:.5;cursor:not-allowed}.fui-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.fui-btn:active:not(:disabled),.fui-btn--sm:active:not(:disabled){transform:none}}.fui-btn--md{padding:var(--space-2) var(--space-5);border-radius:var(--radius-sm);font-size:.95rem}.fui-btn--sm{border-radius:var(--radius-full);padding:4px 14px;font-size:.82rem}.fui-btn--primary{background:var(--primary);color:var(--primary-foreground)}.fui-btn--secondary{background:var(--secondary);color:var(--secondary-foreground);border-color:var(--input)}@media (hover:hover) and (pointer:fine){.fui-btn--secondary:hover:not(:disabled){background:var(--muted);border-color:var(--ring);filter:none}}.fui-btn--danger{background:var(--destructive);color:var(--destructive-foreground)}.fui-btn--ghost{color:var(--foreground);border-color:var(--border);background:0 0}@media (hover:hover) and (pointer:fine){.fui-btn--ghost:hover:not(:disabled){background:var(--secondary);border-color:var(--input);filter:none}}.fui-btn-spinner{border:2px solid color-mix(in oklab, currentColor 30%, transparent);width:15px;height:15px;animation:fui-spin var(--duration-slow) linear infinite;border-top-color:currentColor;border-radius:50%}@keyframes fui-spin{to{transform:rotate(360deg)}}.fui-card{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius)}.fui-card--sm{padding:var(--space-2) var(--space-3)}.fui-card--md{padding:var(--space-3) var(--space-4)}.fui-card--lg{padding:var(--space-6)}.fui-sheet-overlay{z-index:var(--z-overlay);background:#0608128c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.fui-sheet{background:var(--card);width:100%;max-width:480px;max-height:min(88vh,720px);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-5);padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom));gap:var(--space-3);animation:fui-sheet-in var(--duration-normal) var(--ease-out-quart);border-bottom:none;flex-direction:column;display:flex;position:relative;overflow-y:auto}.fui-sheet:focus-visible{outline:none}.fui-sheet-title{margin:0;font-size:1.15rem}@keyframes fui-sheet-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (min-width:640px){.fui-sheet-overlay{align-items:center}.fui-sheet{border-radius:var(--radius-lg);border-bottom:1px solid var(--border)}}@media (prefers-reduced-motion:reduce){.fui-sheet{animation:none}}.fui-drawer-overlay{z-index:var(--z-overlay);background:#0608128c;justify-content:flex-end;display:flex;position:fixed;inset:0}.fui-drawer{background:var(--card);width:480px;max-width:100%;height:100%;color:var(--card-foreground);border-left:1px solid var(--border);animation:fui-drawer-in var(--duration-normal) var(--ease-out-quart);flex-direction:column;display:flex;position:relative}.fui-drawer--lg{width:720px}.fui-drawer:focus-visible{outline:none}@keyframes fui-drawer-in{0%{transform:translate(100%)}to{transform:none}}@media (max-width:639px){.fui-drawer,.fui-drawer--lg{width:100%}}@media (prefers-reduced-motion:reduce){.fui-drawer{animation:none}}.fui-drawer-head{align-items:center;gap:var(--space-2);padding:var(--space-5);border-bottom:1px solid var(--border);display:flex}.fui-drawer-title{flex:1;margin:0;font-size:1.15rem}.fui-drawer-body{padding:var(--space-5);flex:1;overflow-y:auto}.fui-field{gap:var(--space-1);flex-direction:column;display:flex}.fui-field>label{color:var(--muted-foreground);font-size:.85rem}.fui-field-error{color:var(--destructive);font-size:.8rem}.fui-field-hint{color:var(--muted-foreground);font-size:.78rem}.fui-form-error{background:color-mix(in oklab, var(--destructive) 12%, transparent);border:1px solid var(--destructive);border-radius:var(--radius-sm);color:var(--destructive-foreground);padding:var(--space-2) var(--space-3);margin:0;font-size:.9rem}.fui-control{background:var(--secondary);border:1px solid var(--input);border-radius:var(--radius-sm);color:var(--foreground);padding:var(--space-2) var(--space-3);font:inherit;width:100%;min-height:44px;transition:border-color var(--duration-instant) var(--ease-out-quart);font-size:.95rem}.fui-control:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.fui-control[aria-invalid=true]{border-color:var(--destructive)}.fui-textarea{resize:vertical;min-height:88px}.fui-check{align-items:center;gap:var(--space-2);cursor:pointer;min-height:44px;color:var(--foreground);font-size:.9rem;display:flex}.fui-check-input{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.fui-check-input:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.fui-check-input:disabled{opacity:.5;cursor:not-allowed}.fui-check:has(.fui-check-input:disabled){opacity:.5;cursor:not-allowed}.fui-check-hint{color:var(--muted-foreground);margin-inline-start:var(--space-1)}.fui-logo{align-items:center;gap:var(--space-3);display:inline-flex}.fui-logo-mark{border-radius:var(--radius);flex-shrink:0;display:block}.fui-logo-word{font-size:var(--text-xl);letter-spacing:-.01em;color:var(--foreground);font-weight:600;line-height:1}.fui-logo-word-accent{color:var(--accent)}.fui-badge{border-radius:var(--radius-full);align-items:center;padding:2px 10px;font-size:.75rem;line-height:1.6;display:inline-flex}.fui-badge--neutral{background:var(--secondary);color:var(--secondary-foreground)}.fui-badge--info{background:color-mix(in oklab, var(--primary) 18%, transparent);color:var(--primary-text)}.fui-badge--success{background:var(--success-tint);color:var(--success-text)}.fui-badge--warning{background:var(--warning-tint);color:var(--warning-text)}.fui-badge--danger{background:var(--danger-tint);color:var(--danger-text)}.fui-status-pill{border-radius:var(--radius-full);white-space:nowrap;align-items:center;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.fui-status-pill--open{color:var(--foreground);box-shadow:inset 0 0 0 1px var(--input);background:0 0;gap:6px}.fui-status-pill--open:before{content:"";background:var(--primary);border-radius:50%;flex-shrink:0;width:6px;height:6px}.fui-status-pill--assigned{background:color-mix(in oklab, var(--status-assigned) 18%, transparent);color:var(--status-assigned)}.fui-status-pill--enroute{background:var(--status-enroute);color:var(--navy-950,#0b0d17)}.fui-status-pill--done{background:color-mix(in oklab, var(--status-done) 18%, transparent);color:var(--status-done)}.fui-status-pill--cancelled{background:color-mix(in oklab, var(--status-cancelled) 18%, transparent);color:var(--status-cancelled)}.fui-sparkline{display:block;overflow:visible}.fui-trend{white-space:nowrap;align-items:center;gap:4px;font-size:.82rem;font-weight:600;display:inline-flex}.fui-trend.up{color:var(--success-text)}.fui-trend.down{color:var(--danger-text)}.fui-trend.flat{color:var(--muted-foreground)}.fui-empty{align-items:center;gap:var(--space-2);text-align:center;padding:var(--space-8) var(--space-4);color:var(--muted-foreground);flex-direction:column;display:flex}.fui-empty svg{opacity:.5}.fui-empty-title{color:var(--foreground);font-size:.95rem}.fui-empty p{max-width:32ch;margin:0;font-size:.88rem}.fui-empty--compact{text-align:left;justify-content:flex-start;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);flex-direction:row}.fui-empty--compact span{max-width:none;margin:0;font-size:.85rem}.fui-toast-host{left:50%;bottom:calc(64px + env(safe-area-inset-bottom) + var(--space-2));z-index:var(--z-toast);gap:var(--space-2);flex-direction:column;align-items:center;max-width:calc(100vw - 32px);display:flex;position:fixed;transform:translate(-50%)}.fui-toast{align-items:center;gap:var(--space-3);background:var(--card);border:1px solid var(--border);color:var(--foreground);padding:var(--space-2) var(--space-3);border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:fui-toast-in var(--duration-normal) var(--ease-out-quart);font-size:.85rem;display:flex}.fui-toast--error{border-color:var(--danger-strong);background:var(--danger-tint);color:var(--danger-text)}.fui-toast-action{font:inherit;color:var(--primary-text);cursor:pointer;padding:var(--space-1) var(--space-2);background:0 0;border:none;min-height:44px;font-weight:600}.fui-toast-action:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-sm)}@keyframes fui-toast-in{0%{opacity:0;transform:scale(.95)translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.fui-toast{animation:none}}.fui-bottom-nav{width:100%;max-width:var(--nav-max-w,28rem);height:calc(var(--nav-h) + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);z-index:var(--z-sticky);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.fui-bottom-nav a{min-height:44px;color:var(--muted-foreground);transition:color var(--duration-instant) var(--ease-out-quart);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.75rem;text-decoration:none;display:flex;position:relative}.fui-bottom-nav a svg{transition:transform var(--duration-instant) var(--ease-out-quart)}.fui-bottom-nav a:active svg{transform:scale(.88)}@media (hover:hover) and (pointer:fine){.fui-bottom-nav a:hover{color:var(--foreground)}}.fui-bottom-nav a[aria-current=page]{color:var(--primary-text);font-weight:600}.fui-bottom-nav a[aria-current=page]:before{content:"";background:var(--primary);border-radius:999px;width:24px;height:2px;position:absolute;top:2px;left:50%;transform:translate(-50%)}.fui-bottom-nav a:focus-visible{outline:2px solid var(--ring);outline-offset:-2px;border-radius:var(--radius-sm)}.fui-nav-icon{display:inline-flex;position:relative}.fui-nav-badge{top:-5px;background:var(--destructive,#ef4444);color:#fff;pointer-events:none;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.62rem;font-weight:700;line-height:1;display:flex;position:absolute;inset-inline-end:-9px}@media (prefers-reduced-motion:reduce){.fui-bottom-nav a:active svg{transform:none}}.fui-sidebar{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.fui-sidebar-search{align-items:center;display:flex;position:relative}.fui-sidebar-search-icon{color:var(--muted-foreground);pointer-events:none;position:absolute;left:10px}.fui-sidebar-search-input{width:100%;padding:7px var(--space-3) 7px 30px;background:var(--secondary);border:1px solid var(--input);border-radius:var(--radius-sm);color:var(--foreground);font-size:.85rem;font:inherit}.fui-sidebar-search-input::placeholder{color:var(--muted-foreground)}.fui-sidebar-search-input:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.fui-sidebar-favorites{gap:var(--space-1);padding-bottom:var(--space-3);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.fui-sidebar-group-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground);padding:0 var(--space-3);font-size:.68rem}.fui-sidebar-groups{gap:var(--space-5);flex-direction:column;display:flex}.fui-sidebar-group{gap:var(--space-1);flex-direction:column;display:flex}.fui-sidebar-group-header{width:100%;padding:var(--space-2) var(--space-3);background:var(--card);border-radius:var(--radius-sm);color:var(--muted-foreground);font:inherit;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;z-index:1;border:none;align-items:center;gap:8px;font-size:.72rem;font-weight:600;display:flex;position:sticky;top:0}@media (hover:hover) and (pointer:fine){.fui-sidebar-group-header:hover{color:var(--foreground)}}.fui-sidebar-group-header:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.fui-sidebar-group-header span{text-align:left;flex:1}.fui-sidebar-chevron{transition:transform var(--duration-fast) var(--ease-out-quart);flex-shrink:0}.fui-sidebar-chevron--open{transform:rotate(180deg)}.fui-sidebar-group-items{gap:var(--space-1);flex-direction:column;display:flex}.fui-sidebar-row{align-items:center;gap:2px;display:flex}.fui-sidebar-item{min-width:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--muted-foreground);transition:background 80ms var(--ease-out-quart), color 80ms var(--ease-out-quart);flex:1;align-items:center;gap:8px;font-size:.92rem;text-decoration:none;display:flex;position:relative}.fui-sidebar-item-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}@media (hover:hover) and (pointer:fine){.fui-sidebar-item:hover{background:var(--secondary);color:var(--foreground)}}.fui-sidebar-item:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.fui-sidebar-item--active{background:color-mix(in oklab, var(--primary) 15%, transparent);color:var(--foreground);font-weight:600}.fui-sidebar-item--active:before{content:"";background:var(--primary);border-radius:999px;width:3px;position:absolute;top:7px;bottom:7px;left:-1px}.fui-sidebar-pin{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--muted-foreground);cursor:pointer;opacity:0;transition:opacity 80ms var(--ease-out-quart), color 80ms var(--ease-out-quart);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.fui-sidebar-pin:focus-visible,.fui-sidebar-pin--on{opacity:1}@media (hover:hover) and (pointer:fine){.fui-sidebar-row:hover .fui-sidebar-pin{opacity:1}.fui-sidebar-pin:hover{color:var(--foreground)}}.fui-sidebar-pin--on{color:var(--accent)}.fui-sidebar-pin:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (max-width:760px){.fui-sidebar-item--active:before{width:auto;height:2px;inset:auto 6px 1px}.fui-sidebar-pin{opacity:1}}.fui-avatar{background:color-mix(in oklab, var(--primary) 22%, var(--secondary));color:var(--foreground);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex;overflow:hidden}.fui-avatar img{object-fit:cover;width:100%;height:100%;display:block}.fui-avatar--sm{width:30px;height:30px;font-size:.72rem}.fui-avatar--md{width:44px;height:44px;font-size:.9rem}.fui-avatar--lg{width:52px;height:52px;font-size:1.05rem}.fui-datetime{width:100%;display:inline-flex;position:relative;container-type:inline-size}.fui-datetime-trigger{align-items:center;gap:var(--space-2);width:100%;min-height:44px;padding:var(--space-2) var(--space-3);background:var(--secondary);border:1px solid var(--input);border-radius:var(--radius-sm);color:var(--foreground);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out-quart);font-size:.95rem;display:inline-flex}@media (hover:hover) and (pointer:fine){.fui-datetime-trigger:hover:not(:disabled){border-color:var(--ring)}}.fui-datetime-trigger:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.fui-datetime-trigger:disabled{opacity:.5;cursor:not-allowed}.fui-datetime-value{font-variant-numeric:tabular-nums;flex-wrap:wrap;flex:1;align-items:baseline;column-gap:6px;display:inline-flex}.fui-dt-date:after{content:","}@container (max-width:220px){.fui-datetime-value{flex-direction:column;align-items:flex-start;row-gap:0;line-height:1.3}.fui-dt-date:after{content:none}}.fui-datetime-placeholder{color:var(--muted-foreground)}.fui-datetime--disabled{opacity:.5}.fui-datetime-popover{top:calc(100% + var(--space-1));z-index:var(--z-popover);background:var(--card);width:max-content;min-width:260px;color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-3);gap:var(--space-2);animation:fui-datetime-in var(--duration-fast) var(--ease-out-quart);flex-direction:column;display:flex;position:absolute;left:0}@keyframes fui-datetime-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.fui-datetime-popover{animation:none}}.fui-datetime-calendar-header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.fui-datetime-month-label{font-size:.9rem;font-weight:600}.fui-datetime-nav{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--foreground);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}@media (hover:hover) and (pointer:fine){.fui-datetime-nav:hover{background:var(--secondary)}}.fui-datetime-nav:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.fui-datetime-weekdays,.fui-datetime-days{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.fui-datetime-weekday{color:var(--muted-foreground);text-align:center;padding:var(--space-1) 0;font-size:.72rem}.fui-datetime-day,.fui-datetime-day-blank{aspect-ratio:1}.fui-datetime-day{border-radius:var(--radius-sm);color:var(--foreground);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-size:.85rem;display:inline-flex}@media (hover:hover) and (pointer:fine){.fui-datetime-day:hover:not(:disabled){background:var(--secondary)}}.fui-datetime-day:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.fui-datetime-day:disabled{opacity:.35;cursor:not-allowed}.fui-datetime-day--today{border-color:var(--border)}.fui-datetime-day--selected{background:var(--primary);color:var(--primary-foreground)}.fui-datetime-time-row{align-items:center;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border);display:flex}.fui-datetime-time-label{color:var(--muted-foreground);font-size:.85rem}.fui-datetime-time-input{flex:1}.fui-combobox{width:100%;position:relative}.fui-combobox-list{top:calc(100% + var(--space-1));z-index:var(--z-popover);max-height:260px;padding:var(--space-1);background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);animation:fui-combobox-in var(--duration-fast) var(--ease-out-quart);margin:0;list-style:none;position:absolute;left:0;right:0;overflow-y:auto}@keyframes fui-combobox-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.fui-combobox-list{animation:none}}.fui-combobox-empty{padding:var(--space-2) var(--space-3);color:var(--muted-foreground);font-size:.85rem}.fui-combobox-option{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;gap:1px;font-size:.9rem;display:flex}@media (hover:hover) and (pointer:fine){.fui-combobox-option:hover,.fui-combobox-option[data-active]{background:var(--secondary)}}.fui-combobox-option-sublabel{color:var(--muted-foreground);font-size:.78rem}.fui-signature-pad{width:100%}.fui-signature-canvas{border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--secondary);width:100%;color:var(--foreground);touch-action:none;display:block}.fui-table-wrap{border-radius:var(--radius-lg);max-height:min(74vh,680px);overflow:auto}.fui-table{border-collapse:collapse;width:100%}.fui-table-th{z-index:1;background:var(--card);color:var(--muted-foreground);text-align:left;text-transform:uppercase;letter-spacing:.06em;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--input);white-space:nowrap;font-size:.72rem;font-weight:600;position:sticky;top:0}.fui-table-th--right{text-align:right}.fui-table-th--sortable{padding:0}.fui-table-sort-btn{width:100%;font:inherit;font-size:inherit;color:inherit;text-align:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;padding:var(--space-2) var(--space-3);background:0 0;border:none;align-items:center;gap:4px;display:inline-flex}@media (hover:hover) and (pointer:fine){.fui-table-sort-btn:hover{color:var(--foreground)}}.fui-table-sort-btn:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.fui-table-sort-icon{color:var(--primary-text);font-size:.75rem}.fui-table-row--clickable{cursor:pointer}@media (hover:hover) and (pointer:fine){.fui-table-row--clickable:hover td{background:color-mix(in oklab, var(--primary) 8%, transparent)}}.fui-table-row--clickable:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.fui-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);font-size:.88rem}.fui-table-td--right{text-align:right}.fui-table tr.fleet-item{border:0;border-radius:0;padding:0}.fui-table tr.fleet-item.inactive{background:var(--state-inactive-bg)}.md-name{align-items:center;gap:var(--space-2);min-width:0;display:inline-flex}.md-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px;box-shadow:inset 0 0 0 1px #00000040}.md-tags{font-size:var(--text-xs);color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.fui-table-empty-row td{padding:var(--space-4) var(--space-3);align-items:center;gap:var(--space-3);display:flex}.fui-row-actions{text-align:right;white-space:nowrap}.fui-table-toolbar{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.fui-table-toolbar-actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.fui-table-search{background:var(--secondary);border:1px solid var(--input);border-radius:var(--radius-sm);color:var(--foreground);padding:var(--space-2) var(--space-3);font:inherit;flex:0 280px;min-width:220px;min-height:38px;font-size:.9rem}.fui-table-search:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.fui-filter-chip{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--secondary);color:var(--secondary-foreground);font:inherit;cursor:pointer;transition:background var(--duration-fast) var(--ease-out-quart), border-color var(--duration-fast) var(--ease-out-quart);align-items:center;padding:4px 14px;font-size:.82rem;display:inline-flex}@media (hover:hover) and (pointer:fine){.fui-filter-chip:hover{filter:brightness(1.08)}}.fui-filter-chip:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.fui-filter-chip.active{background:color-mix(in oklab, var(--primary) 18%, transparent);color:var(--primary-text);border-color:var(--primary)}.fui-skeleton{background:linear-gradient(90deg, var(--secondary) 25%, color-mix(in oklab, var(--secondary) 55%, var(--card)) 37%, var(--secondary) 63%);animation:fui-skeleton-shimmer var(--duration-shimmer) ease-in-out infinite;border-radius:var(--radius-sm);background-size:400% 100%}@keyframes fui-skeleton-shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.fui-skeleton{animation:none}}.fui-skeleton--text{width:100%;height:.9em;margin-bottom:var(--space-2);display:block}.fui-skeleton--text:last-child{width:70%;margin-bottom:0}.fui-skeleton--row{border-radius:var(--radius-md,10px);width:100%;height:56px;margin-bottom:var(--space-3);display:block}.fui-skeleton--card{border-radius:var(--radius-md,10px);width:100%;height:148px;display:block}.fui-tooltip-wrap{display:inline-flex;position:relative}.fui-tooltip{z-index:var(--z-tooltip);max-width:280px;padding:var(--space-2) var(--space-3);background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-out-quart);font-size:.82rem;line-height:1.4;position:absolute}.fui-tooltip--open{opacity:1}@starting-style{.fui-tooltip--open{opacity:0}}.fui-tooltip--top{bottom:calc(100% + var(--space-2));left:50%;transform:translate(-50%)}.fui-tooltip--bottom{top:calc(100% + var(--space-2));left:50%;transform:translate(-50%)}.fui-tooltip--left{right:calc(100% + var(--space-2));top:50%;transform:translateY(-50%)}.fui-tooltip--right{left:calc(100% + var(--space-2));top:50%;transform:translateY(-50%)}.fui-tooltip--fixed{position:fixed;transform:none}@media (prefers-reduced-motion:reduce){.fui-tooltip{transition:none}}.fui-infodot{background:color-mix(in oklab, var(--primary) 16%, transparent);width:17px;height:17px;color:var(--primary-text);cursor:pointer;transition:background var(--duration-fast) var(--ease-out-quart);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.68rem;font-style:italic;font-weight:700;line-height:1;display:inline-flex}@media (hover:hover) and (pointer:fine){.fui-infodot:hover{background:color-mix(in oklab, var(--primary) 26%, transparent)}}.fui-infodot:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.fui-file-input-native{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fui-file-input{align-items:center;gap:var(--space-2);box-sizing:border-box;width:100%;min-height:44px;padding:var(--space-2) var(--space-4);background:var(--secondary);color:var(--secondary-foreground);border:1px dashed var(--input);border-radius:var(--radius-sm);font:inherit;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out-quart), background var(--duration-fast) var(--ease-out-quart);font-size:.9rem;display:inline-flex}@media (hover:hover) and (pointer:fine){.fui-file-input:hover{border-color:var(--ring)}}.fui-file-input:has(.fui-file-input-native:focus-visible){outline:2px solid var(--ring);outline-offset:2px}.fui-file-input--over{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 10%, var(--secondary))}.fui-file-input--error{border-color:var(--destructive)}.fui-file-input--disabled{opacity:.5;cursor:not-allowed}.fui-file-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.fui-file-item{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.82rem;display:flex}.fui-file-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.fui-file-item-size{color:var(--muted-foreground);white-space:nowrap}.fui-file-item-remove{width:22px;height:22px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}@media (hover:hover) and (pointer:fine){.fui-file-item-remove:hover:not(:disabled){background:var(--secondary);color:var(--destructive)}}.fui-file-item-remove:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.fui-file-item-remove:disabled{opacity:.5;cursor:not-allowed}.fui-tabs{align-items:stretch;gap:var(--space-1);flex-wrap:wrap;min-width:0;display:flex;position:relative}.fui-tab{align-items:center;gap:var(--space-2);font:inherit;font-size:var(--text-sm);color:var(--muted-foreground);cursor:pointer;white-space:nowrap;transition:color var(--duration-instant) var(--ease-out-quart), background var(--duration-instant) var(--ease-out-quart);background:0 0;border:none;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.fui-tab:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-sm)}.fui-tab[aria-disabled=true]{opacity:.45;cursor:not-allowed}.fui-tab-count{border-radius:var(--radius-full);background:var(--secondary);min-width:18px;height:18px;color:var(--muted-foreground);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 5px;font-weight:600;display:inline-flex}.fui-tab--active .fui-tab-count{background:color-mix(in oklab, var(--primary) 22%, transparent);color:var(--primary-text)}.fui-tabs-indicator{pointer-events:none;transition:transform var(--duration-fast) var(--ease-out-quart), width var(--duration-fast) var(--ease-out-quart), opacity var(--duration-fast) var(--ease-out-quart);position:absolute;left:0}.fui-tabs--underline{border-bottom:1px solid var(--border);gap:var(--space-4)}.fui-tabs--underline .fui-tab{padding:var(--space-2) 0 calc(var(--space-2) + 2px)}@media (hover:hover) and (pointer:fine){.fui-tabs--underline .fui-tab:hover{color:var(--foreground)}}.fui-tabs--underline .fui-tab--active{color:var(--foreground);font-weight:600}.fui-tabs--underline .fui-tabs-indicator{background:var(--primary);border-radius:2px 2px 0 0;height:2px;bottom:-1px}.fui-tabs--segmented{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-full);scrollbar-width:none;flex-wrap:nowrap;align-self:flex-start;gap:2px;padding:3px;overflow-x:auto}.fui-tabs--segmented::-webkit-scrollbar{display:none}.fui-tabs--segmented .fui-tab{border-radius:var(--radius-full);z-index:1;padding:5px 14px}@media (hover:hover) and (pointer:fine){.fui-tabs--segmented .fui-tab:hover{color:var(--foreground)}}.fui-tabs--segmented .fui-tab--active{color:var(--primary-foreground);font-weight:600}.fui-tabs--segmented .fui-tab--active .fui-tab-count{color:inherit;background:#00000038;background:lab(0% 0 0/.22)}.fui-tabs--segmented .fui-tabs-indicator{z-index:0;background:var(--primary);border-radius:var(--radius-full);top:3px;bottom:3px}.fui-tabpanel{outline:none}.fui-tabpanel:focus-visible{outline:2px solid var(--ring);outline-offset:4px;border-radius:var(--radius-sm)}@media (hover:none){.fui-tabs--underline .fui-tab:hover,.fui-tabs--segmented .fui-tab:hover{color:var(--muted-foreground)}.fui-tab--active:hover{color:inherit}}.fui-menu{z-index:var(--z-dropdown);min-width:208px;max-width:320px;padding:var(--space-1);background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);opacity:0;transition:opacity var(--duration-fast) var(--ease-out-quart), transform var(--duration-fast) var(--ease-out-quart);flex-direction:column;gap:1px;display:flex;transform:scale(.97)translateY(-4px)}.fui-menu[data-state=open]{opacity:1;transform:none}.fui-menu[data-placement^=top]{transform-origin:bottom}.fui-menu[data-placement^=bottom]{transform-origin:top}.fui-menu-item{align-items:center;gap:var(--space-2);min-height:36px;padding:var(--space-2) var(--space-3);font:inherit;text-align:left;border-radius:var(--radius-sm);color:var(--foreground);cursor:pointer;transition:background var(--duration-instant) var(--ease-out-quart);background:0 0;border:none;font-size:.88rem;display:flex}.fui-menu-item:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.fui-menu-item:disabled{opacity:.45;cursor:not-allowed}.fui-menu-item--danger{color:var(--danger-text)}@media (hover:hover) and (pointer:fine){.fui-menu-item:hover:not(:disabled){background:var(--secondary)}.fui-menu-item--danger:hover:not(:disabled){background:var(--danger-tint)}}.fui-menu-sep{height:1px;margin:var(--space-1) 0;background:var(--border)}@media (prefers-reduced-motion:reduce){.fui-menu{transition:opacity var(--duration-instant) linear;transform:none}}.fui-confirm{gap:var(--space-4);max-width:420px}.fui-confirm-text{color:var(--muted-foreground);margin:0;font-size:.9rem;line-height:1.5}.fui-confirm-text strong{color:var(--foreground);font-weight:600}.fui-confirm-actions{justify-content:flex-end;gap:var(--space-2);display:flex}@media (max-width:639px){.fui-confirm-actions{flex-direction:column-reverse}.fui-confirm-actions .fui-btn{width:100%}}.fui-toggle-group{gap:var(--space-1);flex-wrap:wrap;display:flex}.fui-toggle{font:inherit;font-variant-numeric:tabular-nums;background:var(--secondary);min-width:40px;min-height:32px;color:var(--muted-foreground);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;transition:background var(--duration-instant) var(--ease-out-quart), border-color var(--duration-instant) var(--ease-out-quart), color var(--duration-instant) var(--ease-out-quart), transform var(--duration-instant) var(--ease-out-quart);justify-content:center;align-items:center;padding:4px 10px;font-size:.78rem;display:inline-flex}.fui-toggle[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground);font-weight:600}.fui-toggle:disabled{opacity:.5;cursor:not-allowed}.fui-toggle:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.fui-toggle:active:not(:disabled){transform:scale(.96)}@media (hover:hover) and (pointer:fine){.fui-toggle:hover:not(:disabled):not([aria-pressed=true]){color:var(--foreground);border-color:color-mix(in oklab, var(--primary) 40%, var(--border))}}@media (prefers-reduced-motion:reduce){.fui-toggle:active:not(:disabled){transform:none}}.fui-page-header{margin-bottom:var(--space-4)}.fui-page-header-row{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.fui-page-header-text{flex:auto;min-width:0}.fui-page-header h1{font-size:var(--text-2xl);margin:0;line-height:1.2}.fui-page-header-sub{margin:var(--space-1) 0 0;color:var(--muted-foreground);font-size:var(--text-sm);max-width:70ch;line-height:1.45}.fui-page-header-meta{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.fui-page-header-actions{align-items:center;gap:var(--space-2);flex-shrink:0;margin-left:auto;display:flex}.fui-stat-grid{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));display:grid}.fui-stat{padding:var(--space-4);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:left;color:inherit;font:inherit;flex-direction:column;gap:2px;text-decoration:none;display:flex}.fui-stat-label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground)}.fui-stat-value{font-size:var(--text-3xl);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:2px;font-weight:700;line-height:1.1}.fui-stat-value--warning{color:var(--warning-text)}.fui-stat-value--danger{color:var(--danger-text)}.fui-stat-value--success{color:var(--success-text)}.fui-stat-hint{font-size:var(--text-xs);color:var(--muted-foreground);line-height:1.35}.fui-stat-foot{justify-content:space-between;align-items:flex-end;gap:var(--space-3);margin-top:var(--space-2);min-height:36px;display:flex}.fui-stat-spark{color:var(--primary);flex-shrink:0}.fui-stat-trend{text-align:right;flex-direction:column;align-items:flex-end;gap:1px;display:flex}.fui-stat-trend-label{font-size:var(--text-2xs);color:var(--muted-foreground);white-space:nowrap}.fui-stat--action{cursor:pointer;transition:border-color var(--duration-instant) var(--ease-out-quart), transform var(--duration-instant) var(--ease-out-quart)}.fui-stat--action:active{transform:scale(.99)}@media (prefers-reduced-motion:reduce){.fui-stat--action:active{transform:none}}.fui-stat--action:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.fui-stat--selected{border-color:var(--primary)}@media (hover:hover) and (pointer:fine){.fui-stat--action:hover{border-color:color-mix(in oklab, var(--primary) 45%, var(--border))}}
.chatx-wrap{gap:var(--space-4);grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(240px,300px) minmax(0,1fr);min-height:60dvh;display:grid}@media (max-width:760px){.chatx-wrap{grid-template-columns:1fr}}.chatx-sidebar{gap:var(--space-3);flex-direction:column;min-width:0;min-height:0;display:flex}.chatx-sidebar-head{padding:0 var(--space-1);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.chatx-sidebar-head .live-dot{font-size:.76rem}.chatx-empty{color:var(--muted-foreground);padding:var(--space-3);font-size:.85rem}.chatx-thread-list{gap:var(--space-2);overscroll-behavior:contain;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.chat-thread.chatx-thread{align-items:center;gap:var(--space-3);text-align:left;cursor:pointer;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md,10px);width:100%;padding:var(--space-3);color:var(--foreground);min-height:44px;transition:border-color .12s var(--ease-out-quart), background .12s var(--ease-out-quart), transform .12s var(--ease-out-quart);flex-direction:row;display:flex}.chat-thread.chatx-thread:hover{border-color:color-mix(in oklab, var(--primary) 35%, var(--border))}.chat-thread.chatx-thread:active{transform:scale(.99)}.chat-thread.chatx-thread:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.chat-thread.chatx-thread:active{transform:none}}.chatx-thread.chatx-thread--active{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 12%, var(--card))}.chatx-thread--unread .chatx-thread-title{color:var(--foreground);font-weight:700}.chatx-thread--unread .chatx-thread-preview{color:var(--foreground)}.chatx-thread-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chatx-thread-row{align-items:center;gap:var(--space-2);display:flex}.chatx-thread-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.92rem;font-weight:600;overflow:hidden}.chatx-thread-time{color:var(--muted-foreground);flex:none;font-size:.72rem}.chatx-thread-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted-foreground);flex:1;font-size:.82rem;overflow:hidden}.chatx-avatar{background:color-mix(in oklab, var(--primary) 18%, var(--secondary));width:38px;height:38px;color:var(--foreground);letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;display:flex}.chatx-head .chatx-avatar{width:42px;height:42px;font-size:.85rem}.chatx-badge{border-radius:var(--radius-full);background:var(--primary);min-width:18px;height:18px;color:var(--primary-foreground);flex:none;justify-content:center;align-items:center;padding:0 5px;font-size:.68rem;font-weight:700;display:flex}.chatx-main{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg,14px);min-width:0;min-height:0;padding:var(--space-4);flex-direction:column;display:flex}@media (max-width:760px){.chatx-main,.chatx-wrap--chat .chatx-sidebar{display:none}.chatx-wrap--chat .chatx-main{display:flex}}.chatx-wrap--stacked{grid-template-columns:1fr}.chatx-wrap--stacked .chatx-main,.chatx-wrap--stacked.chatx-wrap--chat .chatx-sidebar{display:none}.chatx-wrap--stacked.chatx-wrap--chat .chatx-main{display:flex}.chatx-quick-replies{margin-bottom:var(--space-2);flex-wrap:wrap;gap:6px;display:flex}.chatx-quick-reply{border-radius:var(--radius-full);background:var(--secondary);border:1px solid var(--input);min-height:36px;color:var(--foreground);font:inherit;cursor:pointer;transition:background var(--duration-instant) var(--ease-out-quart);padding:4px 12px;font-size:.82rem}@media (hover:hover) and (pointer:fine){.chatx-quick-reply:hover:not(:disabled){background:var(--muted)}}.chatx-quick-reply:disabled{opacity:.5;cursor:not-allowed}.chatx-quick-reply:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.chatx-sheet-menu{flex-direction:column;gap:2px;display:flex}.chatx-sheet-menu .chatx-msg-menu-item{min-height:48px;font-size:.95rem}.chatx-sheet-menu .chatx-head-menu-label{padding:var(--space-2) var(--space-3) var(--space-1)}.chatx-empty-state{text-align:center;padding:var(--space-6);flex:1;justify-content:center;align-items:center;display:flex}.chatx-head{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);padding-bottom:var(--space-3);margin-bottom:var(--space-3);flex-shrink:0;display:flex}.chatx-back{border-radius:var(--radius-sm);min-width:44px;min-height:44px;color:var(--foreground);cursor:pointer;transition:background var(--duration-instant) var(--ease-out-quart), transform var(--duration-instant) var(--ease-out-quart);background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin:-10px 0 -10px -10px;display:none}.chatx-back:hover{background:var(--secondary)}.chatx-back:active{transform:scale(.94)}.chatx-back:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}@media (prefers-reduced-motion:reduce){.chatx-back:active{transform:none}}@media (max-width:760px){.chatx-back{display:inline-flex}}.chatx-wrap--stacked .chatx-back{display:inline-flex}.chatx-head-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chatx-head-sub{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.78rem;overflow:hidden}.chatx-head-title-row{align-items:center;gap:var(--space-2);min-width:0;display:flex}.chatx-head-title-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chatx-head-sub.chatx-part-pills{white-space:normal;text-overflow:clip;flex-wrap:wrap;align-items:center;gap:4px;display:flex}.chatx-part-pill{border-radius:var(--radius-full);text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--foreground);align-items:center;padding:1px 8px;font-size:.72rem;font-weight:600;line-height:1.3;display:inline-flex;overflow:hidden}.chatx-part-pill--accent{background:color-mix(in oklab, var(--accent) 22%, var(--secondary))}.chatx-part-pill--success{background:var(--success-tint);color:var(--success-text)}.chatx-part-pill--warning{background:var(--warning-tint);color:var(--warning-text)}.chatx-part-pill--info{background:color-mix(in oklab, var(--primary) 22%, var(--secondary))}.chatx-part-pill--neutral{background:var(--secondary);color:var(--muted-foreground)}.chatx-order-badge{color:var(--foreground);background:color-mix(in oklab, var(--primary) 14%, var(--secondary));border:1px solid var(--border);border-radius:var(--radius-full);transition:background var(--duration-instant) var(--ease-out-quart);flex:none;align-items:center;gap:4px;padding:2px 9px;font-size:.72rem;font-weight:600;text-decoration:none;display:inline-flex}.chatx-order-badge:hover{background:color-mix(in oklab, var(--primary) 24%, var(--secondary))}.chatx-order-badge:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.chatx-messages-wrap{flex:1;min-height:0;display:flex;position:relative}.chatx-messages{overscroll-behavior:contain;gap:var(--space-2);min-height:0;padding:var(--space-2) 2px;flex-direction:column;flex:1;display:flex;overflow-y:auto}.chatx-new-pill{left:50%;bottom:var(--space-2);background:var(--primary);min-height:44px;color:var(--primary-foreground);border-radius:var(--radius-full);cursor:pointer;box-shadow:var(--shadow-md);z-index:2;animation:chatx-pill-in var(--duration-fast) var(--ease-out-quart) both;border:none;align-items:center;gap:6px;padding:0 18px;font-size:.8rem;font-weight:600;display:flex;position:absolute;transform:translate(-50%)}.chatx-new-pill:hover{filter:brightness(1.08)}.chatx-new-pill:active{transform:translate(-50%)scale(.96)}.chatx-new-pill:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@keyframes chatx-pill-in{0%{opacity:0;transform:translate(-50%)translateY(6px)scale(.95)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.chatx-new-pill{animation:none}.chatx-new-pill:active{transform:translate(-50%)}}.chatx-day-divider{margin:var(--space-2) 0;justify-content:center;align-items:center;display:flex}.chatx-day-divider span{color:var(--muted-foreground);background:var(--secondary);border-radius:var(--radius-full);padding:2px 10px;font-size:.72rem}.chatx-msg-row{flex-direction:column;align-items:flex-start;width:100%;display:flex}.chatx-msg-row--mine{align-items:flex-end}.chatx-msg-row--system{align-items:center}.chatx-msg-row>.chatx-day-divider{align-self:stretch}.chat-msg.chatx-msg{max-width:78%;animation:chatx-fade-in var(--duration-fast,.15s) var(--ease-out-quart) both;background:0 0;border-radius:0;flex-direction:column;align-self:flex-start;align-items:flex-start;gap:4px;padding:0;display:flex}.chat-msg.chatx-msg.chatx-msg--mine{background:0 0;align-self:flex-end;align-items:flex-end}.chat-msg.chatx-msg.chatx-msg--system{align-self:center;align-items:center;max-width:90%}@media (prefers-reduced-motion:reduce){.chat-msg.chatx-msg{animation:none}}.chatx-sender{color:var(--muted-foreground);align-items:center;gap:6px;padding:0 2px;font-size:.72rem;display:inline-flex}.chatx-sender-avatar.fui-avatar{width:18px;height:18px;font-size:.6rem}.chatx-location-map{cursor:pointer;border:1px solid var(--border);border-radius:10px;width:240px;max-width:100%;overflow:hidden}.chatx-location-map .leaflet-container{pointer-events:none}.chatx-location-map:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.chatx-location-map-loading{justify-content:center;align-items:center;width:240px;height:140px;display:flex}.chatx-bubble{background:var(--secondary);color:var(--foreground);border-radius:var(--radius-md,10px);max-width:100%;transition:opacity var(--duration-instant) var(--ease-out-quart);padding:8px 12px}.chatx-bubble p{white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.4}.chatx-msg--mine .chatx-bubble{background:color-mix(in oklab, var(--primary) 30%, var(--secondary))}.chatx-msg--system .chatx-bubble{color:var(--muted-foreground);background:0 0;padding:2px 8px;font-size:.8rem}.chatx-bubble--pending{opacity:.72}.chatx-translation{color:var(--primary-text);margin:2px 0 0;font-size:.82rem;font-style:italic}.chatx-translation--same{color:var(--muted-foreground);font-style:normal}.chatx-time{color:var(--muted-foreground);align-items:center;gap:8px;padding:0 2px;font-size:.7rem;display:flex}.chatx-msg--mine .chatx-time{justify-content:flex-end}.chatx-time--failed{color:var(--danger-text)}.chatx-send-failed{color:var(--danger-text);font-weight:600}.chatx-translate-btn{color:var(--primary-text);cursor:pointer;background:0 0;border:none;padding:0;font-size:.7rem}.form-error.chatx-error-row{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-2);flex-shrink:0;margin-bottom:0;display:flex}.chatx-retry.chip-btn{flex-shrink:0;min-height:44px;padding:0 16px}.chatx-retry.chip-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.chatx-composer{align-items:flex-end;gap:var(--space-2);border-top:1px solid var(--border);padding-top:var(--space-3);margin-top:var(--space-2);flex-shrink:0;display:flex}.chatx-textarea{resize:none;background:var(--secondary);border:1px solid var(--input);border-radius:var(--radius-md,10px);max-height:118px;color:var(--foreground);font:inherit;transition:border-color .1s var(--ease-out-quart);flex:1;padding:10px 12px;line-height:1.4;overflow-y:hidden}.chatx-textarea:focus{border-color:var(--ring);outline:none}.chatx-textarea:disabled{opacity:.6}.chatx-send{flex:none}.chatx-send.icon-btn{border-radius:var(--radius-md);width:44px;height:44px}.chatx-send.is-pending svg{animation:.9s ease-in-out infinite chatx-send-pulse}@keyframes chatx-send-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.chatx-send.is-pending svg{animation:none}}@keyframes chatx-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.pwa-shell:has(.chatx-page){height:100dvh;min-height:0;overflow:hidden}.pwa-main:has(>.chatx-page){flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.chatx-page{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.chatx-page .chatx-wrap{flex:1;min-height:0}.panel-shell:has(.chatx-page){height:100dvh;min-height:0;overflow:hidden}main.panel-main:has(>.chatx-page){flex-direction:column;min-height:0;display:flex;overflow:hidden}.portal-shell:has(.chatx-page){height:100dvh;min-height:0;overflow:hidden}.portal-shell:has(.chatx-page) .portal-body{overflow:hidden}main.portal-main:has(>.chatx-page){min-height:0;padding-bottom:calc(56px + env(safe-area-inset-bottom) + var(--space-2));flex-direction:column;display:flex;overflow:hidden}@media (min-width:1024px){main.portal-main:has(>.chatx-page){padding-bottom:var(--space-6)}}.chatx-page>.board-header{flex-shrink:0}.chatx-page>.chat-order-shell{flex:1;min-height:0}.chatx-thread-list,.chatx-messages,.chatx-search-results,.chatx-modal,.chatx-member-list{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.chatx-thread-list::-webkit-scrollbar{width:6px}.chatx-messages::-webkit-scrollbar{width:6px}.chatx-search-results::-webkit-scrollbar{width:6px}.chatx-modal::-webkit-scrollbar{width:6px}.chatx-member-list::-webkit-scrollbar{width:6px}.chatx-thread-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.chatx-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.chatx-search-results::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.chatx-modal::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.chatx-member-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.chatx-thread-list::-webkit-scrollbar-track{background:0 0}.chatx-messages::-webkit-scrollbar-track{background:0 0}.chatx-search-results::-webkit-scrollbar-track{background:0 0}.chatx-modal::-webkit-scrollbar-track{background:0 0}.chatx-member-list::-webkit-scrollbar-track{background:0 0}.chatx-sidebar-head-actions{align-items:center;gap:var(--space-2);display:flex}.chatx-newgroup-btn{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-full);min-height:30px;color:var(--foreground);cursor:pointer;transition:border-color .12s var(--ease-out-quart), background .12s var(--ease-out-quart);align-items:center;gap:5px;padding:0 9px;font-size:.76rem;font-weight:600;display:inline-flex}.chatx-newgroup-btn:hover{border-color:color-mix(in oklab, var(--primary) 40%, var(--border))}.chatx-newgroup-btn:active{transform:scale(.97)}.chatx-newgroup-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.chatx-newgroup-btn:active{transform:none}}.chatx-avatar-wrap{flex:none;display:inline-flex;position:relative}.chatx-presence-dot{background:var(--success,#22c55e);border:2px solid var(--card);border-radius:50%;width:11px;height:11px;position:absolute;bottom:-1px;right:-1px}.chatx-head .chatx-presence-dot{width:12px;height:12px}.chatx-avatar--sm{width:30px;height:30px;font-size:.68rem}.chatx-thread-muted{color:var(--muted-foreground);flex:none;display:inline-flex}.chatx-tool-btn.icon-btn{border-radius:var(--radius-md);flex:none;width:36px;height:36px}@media (max-width:760px){.chatx-tool-btn.icon-btn{width:40px;height:40px}}.chatx-tool-btn>svg,.chatx-search-icon>svg{overflow:visible}.chatx-head-online{color:var(--success,#22c55e)}.chatx-typing{color:var(--primary-text);font-style:italic}.chatx-head-menu-wrap{flex:none;position:relative}.chatx-head-menu{z-index:40;background:var(--popover,var(--card));border:1px solid var(--border);border-radius:var(--radius-md,10px);min-width:220px;padding:var(--space-1);animation:chatx-pop-in var(--duration-fast,.15s) var(--ease-out-quart) both;flex-direction:column;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 34px #00000073}.chatx-head-menu-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);padding:6px 10px 2px;font-size:.68rem}@keyframes chatx-pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.chatx-head-menu,.chatx-emoji-picker,.chatx-msg-menu{animation:none}}.chatx-msg-menu-item{font:inherit;color:var(--foreground);border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;transition:background 60ms var(--ease-out-quart);background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:.85rem;display:flex}.chatx-msg-menu-item:hover{background:var(--secondary)}.chatx-msg-menu-item:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.chatx-msg-menu-item.danger{color:var(--danger-text)}.chatx-msg-menu-item.danger:hover{background:var(--danger-tint)}.chatx-bubble-row{align-items:flex-start;gap:4px;max-width:100%;display:flex}.chatx-msg--mine .chatx-bubble-row{flex-direction:row-reverse}.chatx-msg-actions{opacity:0;transition:opacity .12s var(--ease-out-quart);pointer-events:none;flex:none;align-self:center;align-items:center;gap:2px;display:flex}.chatx-msg:hover .chatx-msg-actions,.chatx-msg--selected .chatx-msg-actions,.chatx-msg-actions:focus-within{opacity:1;pointer-events:auto}@media (hover:none){.chatx-msg-actions{opacity:1;pointer-events:auto}}.chatx-msg-action{border-radius:var(--radius-full);width:28px;height:28px;color:var(--muted-foreground);cursor:pointer;transition:background 80ms var(--ease-out-quart), color 80ms var(--ease-out-quart);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.chatx-msg-action:hover{background:var(--secondary);color:var(--foreground)}.chatx-msg-action:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.chatx-react-wrap{display:inline-flex;position:relative}.chatx-emoji-picker{z-index:40;background:var(--popover,var(--card));border:1px solid var(--border);border-radius:var(--radius-full);box-shadow:var(--shadow-md,0 12px 34px #00000073);animation:chatx-pop-in var(--duration-fast,.15s) var(--ease-out-quart) both;gap:2px;padding:4px;display:flex;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.chatx-emoji-opt{cursor:pointer;width:34px;height:34px;transition:background 80ms var(--ease-out-quart), transform 80ms var(--ease-out-quart);background:0 0;border:none;border-radius:50%;font-size:1.15rem;line-height:1}.chatx-emoji-opt:hover{background:var(--secondary);transform:scale(1.15)}.chatx-emoji-opt:focus-visible{outline:2px solid var(--ring);outline-offset:1px}@media (prefers-reduced-motion:reduce){.chatx-emoji-opt:hover{transform:none}}.chatx-msg-menu{z-index:40;background:var(--popover,var(--card));border:1px solid var(--border);border-radius:var(--radius-md,10px);min-width:150px;padding:var(--space-1);animation:chatx-pop-in var(--duration-fast,.15s) var(--ease-out-quart) both;flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 12px 34px #00000073}.chatx-msg--mine .chatx-msg-menu{left:0;right:auto}.chatx-reply-quote{text-align:left;cursor:pointer;border:none;border-left:3px solid var(--primary);border-radius:var(--radius-sm);background:color-mix(in oklab, var(--primary) 10%, transparent);width:100%;color:inherit;font:inherit;flex-direction:column;gap:1px;margin-bottom:5px;padding:4px 8px;display:flex}.chatx-reply-quote:hover{background:color-mix(in oklab, var(--primary) 18%, transparent)}.chatx-reply-quote:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.chatx-reply-quote-name{color:var(--primary-text);font-size:.72rem;font-weight:700}.chatx-reply-quote-body{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.78rem;overflow:hidden}.chatx-link{color:var(--primary-text);word-break:break-all;text-decoration:underline}.chatx-att-list{flex-direction:column;gap:6px;margin-bottom:4px;display:flex}.chatx-att-image{cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;max-width:240px;padding:0;line-height:0;overflow:hidden}.chatx-att-image img{border-radius:var(--radius-md);max-width:100%;max-height:260px;display:block}.chatx-att-image:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.chatx-att-audio{width:240px;max-width:100%;height:40px}.chatx-att-file{background:color-mix(in oklab, var(--foreground) 6%, transparent);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--foreground);align-items:center;gap:8px;max-width:260px;padding:8px 10px;text-decoration:none;display:flex}.chatx-att-file:hover{border-color:color-mix(in oklab, var(--primary) 40%, var(--border))}.chatx-att-file-icon{color:var(--primary-text);flex:none;display:inline-flex}.chatx-att-file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.82rem;overflow:hidden}.chatx-att-file-dl{color:var(--muted-foreground);flex:none;display:inline-flex}.chatx-edit-form{flex-direction:column;gap:6px;min-width:240px;display:flex}.chatx-edit-textarea{resize:none;background:var(--card);border:1px solid var(--input);border-radius:var(--radius-sm);width:100%;color:var(--foreground);font:inherit;padding:6px 8px;line-height:1.4}.chatx-edit-textarea:focus{border-color:var(--ring);outline:none}.chatx-edit-actions{justify-content:flex-end;gap:6px;display:flex}.chatx-deleted-text{color:var(--muted-foreground);margin:0;font-style:italic}.chatx-bubble--deleted{border:1px dashed var(--border);background:0 0}.chatx-edited{color:var(--muted-foreground);font-size:.66rem;font-style:italic}.chatx-reactions{flex-wrap:wrap;gap:4px;padding:0 2px;display:flex}.chatx-msg--mine .chatx-reactions{justify-content:flex-end}.chatx-reaction{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-full);min-height:22px;color:var(--foreground);cursor:pointer;transition:border-color 80ms var(--ease-out-quart), background 80ms var(--ease-out-quart);align-items:center;gap:3px;padding:1px 7px;font-size:.78rem;line-height:1;display:inline-flex}.chatx-reaction:hover{border-color:color-mix(in oklab, var(--primary) 40%, var(--border))}.chatx-reaction:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.chatx-reaction--mine{background:color-mix(in oklab, var(--primary) 22%, var(--secondary));border-color:color-mix(in oklab, var(--primary) 55%, var(--border))}.chatx-reaction-count{font-variant-numeric:tabular-nums;color:var(--muted-foreground);font-size:.72rem}.chatx-reaction--mine .chatx-reaction-count{color:var(--foreground)}.chatx-ticks{color:var(--muted-foreground);align-items:center;display:inline-flex}.chatx-ticks--read{color:var(--primary-text)}.chatx-msg--highlight .chatx-bubble{animation:chatx-highlight 1.6s var(--ease-out-quart) both}@keyframes chatx-highlight{0%,40%{box-shadow:0 0 0 2px var(--ring);background:color-mix(in oklab, var(--primary) 24%, var(--secondary))}to{box-shadow:none}}@media (prefers-reduced-motion:reduce){.chatx-msg--highlight .chatx-bubble{outline:2px solid var(--ring);animation:none}}.chatx-smart-reply{flex-direction:column;gap:6px;display:flex}.chatx-smart-reply-toggle{align-self:flex-start;align-items:center;gap:6px;display:inline-flex}.chatx-smart-reply-chips{flex-wrap:wrap;gap:6px;display:flex}.chatx-smart-reply-chip{text-align:left;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md,10px);cursor:pointer;max-width:260px;color:var(--foreground);transition:border-color var(--duration-instant) var(--ease-out-quart), background var(--duration-instant) var(--ease-out-quart);flex-direction:column;align-items:flex-start;gap:2px;padding:6px 10px;display:flex}.chatx-smart-reply-chip:hover{border-color:color-mix(in oklab, var(--primary) 35%, var(--border))}.chatx-smart-reply-chip:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.chatx-smart-reply-chip strong{font-size:.86rem;font-weight:700}.chatx-smart-reply-de{color:var(--muted-foreground);font-size:.74rem}.chatx-smart-reply-error{color:var(--muted-foreground);font-size:.78rem}.chatx-composer-wrap{gap:var(--space-2);flex-direction:column;flex-shrink:0;display:flex}.chatx-reply-bar{margin-top:var(--space-2);background:var(--secondary);border-left:3px solid var(--primary);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:6px 10px;display:flex}.chatx-reply-bar-icon{color:var(--primary-text);flex:none;display:inline-flex}.chatx-reply-bar-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.chatx-reply-bar-text strong{color:var(--primary-text);font-size:.74rem}.chatx-reply-bar-body{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.chatx-reply-cancel.icon-btn{flex:none}.chatx-attach-chips{flex-wrap:wrap;gap:6px;display:flex}.chatx-attach-chip{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-full);max-width:200px;color:var(--foreground);align-items:center;gap:6px;padding:4px 6px 4px 9px;font-size:.78rem;display:inline-flex}.chatx-attach-chip-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chatx-attach-chip-x{width:20px;height:20px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.chatx-attach-chip-x:hover{background:var(--danger-tint);color:var(--danger-text)}.chatx-attach-chip-x:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.chatx-attach-error{color:var(--danger-text);margin:0;font-size:.8rem}.chatx-file-input{display:none}.chatx-recording{border-top:1px solid var(--border);padding-top:var(--space-3);margin-top:var(--space-2);align-items:center;gap:10px;display:flex}.chatx-rec-dot{background:var(--danger-text,#ef4444);border-radius:50%;width:12px;height:12px;animation:1s ease-in-out infinite chatx-rec-pulse}.chatx-rec-time{color:var(--foreground);font-variant-numeric:tabular-nums;flex:1;font-size:.85rem}@keyframes chatx-rec-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.chatx-rec-dot{animation:none}}.chatx-composer .chatx-tool-btn.icon-btn{width:38px;height:38px}.chatx-search{gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);padding:var(--space-3);margin-bottom:var(--space-3);animation:chatx-pop-in var(--duration-fast,.15s) var(--ease-out-quart) both;flex-direction:column;flex-shrink:0;display:flex}@media (prefers-reduced-motion:reduce){.chatx-search{animation:none}}.chatx-search-bar{background:var(--secondary);border:1px solid var(--input);border-radius:var(--radius-md);align-items:center;gap:8px;padding:4px 6px 4px 10px;display:flex}.chatx-search-icon{color:var(--muted-foreground);flex:none;display:inline-flex}.chatx-search-input{min-width:0;color:var(--foreground);font:inherit;background:0 0;border:none;flex:1;padding:6px 0}.chatx-search-input:focus{outline:none}.chatx-search-scope{color:var(--muted-foreground);align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.chatx-search-results{flex-direction:column;gap:4px;max-height:320px;display:flex;overflow-y:auto}.chatx-search-hint{margin:4px 2px;font-size:.82rem}.chatx-search-error{color:var(--danger-text)}.chatx-search-hit{text-align:left;cursor:pointer;border-radius:var(--radius-sm);width:100%;color:var(--foreground);background:0 0;border:1px solid #0000;flex-direction:column;gap:2px;padding:7px 9px;display:flex}.chatx-search-hit:hover{background:var(--secondary);border-color:var(--border)}.chatx-search-hit:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.chatx-search-hit-head{justify-content:space-between;gap:8px;display:flex}.chatx-search-hit-thread{color:var(--primary-text);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:700;overflow:hidden}.chatx-search-hit-time{color:var(--muted-foreground);flex:none;font-size:.7rem}.chatx-search-hit-body{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.chatx-modal-overlay{z-index:100;padding:var(--space-4);animation:chatx-fade-plain var(--duration-fast,.15s) var(--ease-out-quart) both;background:#0608128c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.chatx-modal{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg,14px);width:100%;max-width:440px;max-height:86dvh;padding:var(--space-5);gap:var(--space-4);animation:chatx-modal-in var(--duration-fast,.15s) var(--ease-out-quart) both;flex-direction:column;display:flex;overflow-y:auto;box-shadow:0 24px 60px #00000080}.chatx-modal:focus{outline:none}@keyframes chatx-fade-plain{0%{opacity:0}to{opacity:1}}@keyframes chatx-modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.chatx-modal-overlay,.chatx-modal{animation:none}}.chatx-modal-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.chatx-modal-title{align-items:center;gap:8px;font-size:1.05rem;font-weight:700;display:inline-flex}.chatx-field{flex-direction:column;gap:5px;display:flex}.chatx-field-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);font-size:.76rem}.chatx-field-input{background:var(--secondary);border:1px solid var(--input);border-radius:var(--radius-md);color:var(--foreground);font:inherit;padding:9px 11px}.chatx-field-input:focus{border-color:var(--ring);outline:none}.chatx-member-section{flex-direction:column;gap:6px;display:flex}.chatx-member-list{flex-direction:column;gap:2px;max-height:300px;display:flex;overflow-y:auto}.chatx-member-row{border-radius:var(--radius-sm);align-items:center;gap:10px;padding:6px 4px;display:flex}.chatx-member-row:hover{background:var(--secondary)}.chatx-member-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.88rem;overflow:hidden}.chatx-modal-hint{margin:0;font-size:.82rem;line-height:1.4}.chatx-modal-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.chatx-lightbox{z-index:110;padding:var(--space-4);animation:chatx-fade-plain var(--duration-fast,.15s) var(--ease-out-quart) both;background:#04060edb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.chatx-lightbox{animation:none}}.chatx-lightbox img{border-radius:var(--radius-md);max-width:94vw;max-height:90dvh;box-shadow:0 24px 60px #0009}.chatx-lightbox-close.icon-btn{top:var(--space-4);right:var(--space-4);color:#fff;background:#ffffff1a;border-color:#0000;width:44px;height:44px;position:absolute}.chatx-lightbox-close.icon-btn:hover{background:#fff3}
.zone-kind-switch{gap:var(--space-2,8px);margin-bottom:var(--space-3,12px);flex-wrap:wrap;display:flex}.zone-kind-btn{font:inherit;cursor:pointer;background:var(--secondary);color:var(--muted-foreground);border:1px solid var(--border);transition:background var(--duration-instant) var(--ease-out-quart), border-color var(--duration-instant) var(--ease-out-quart), color var(--duration-instant) var(--ease-out-quart);border-radius:999px;padding:5px 12px;font-size:.8rem}@media (hover:hover) and (pointer:fine){.zone-kind-btn:hover{color:var(--foreground)}}.zone-kind-btn.active{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground,#08131a);font-weight:600}.zone-map,.zone-map-skeleton{border-radius:var(--radius-md,10px);height:320px;margin-top:var(--space-2,8px);overflow:hidden}.zone-map-skeleton{background:var(--secondary);color:var(--muted-foreground);place-items:center;font-size:.85rem;display:grid}.zone-point-marker{background:var(--success-text);border:2px solid var(--navy-950);width:14px;height:14px;box-shadow:0 0 0 2px color-mix(in oklab, var(--success-text) 35%, transparent);border-radius:50%}.zone-center-readout{color:var(--foreground);word-break:break-word;font-size:.78rem}.zone-radius-field{gap:6px}.zone-radius-row{align-items:center;gap:var(--space-2,8px);display:flex}.zone-radius-row input[type=range]{flex:1}.zone-radius-row input[type=number]{background:var(--secondary);border:1px solid var(--input);border-radius:var(--radius-sm);width:90px;color:var(--foreground);padding:6px 8px;font-size:.85rem}.zone-polygon-controls{gap:var(--space-2,8px);margin-top:4px;display:flex}.zone-city-search{align-items:center;gap:var(--space-2,8px);display:flex}.form-error.inline{margin:0;padding:2px 8px;font-size:.78rem}
.wf-panel,.wf-fieldset{width:100%}.wf-grid{gap:var(--space-4);margin:var(--space-4) 0;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));width:100%;display:grid}.wf-card{background:color-mix(in oklab, var(--card) 60%, transparent);border:1px solid var(--border);border-radius:var(--radius-md,10px);padding:var(--space-4)}.wf-card-head{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);justify-content:space-between;display:flex}.wf-card-head h3{margin:0;font-size:1rem}.wf-card-desc{margin:0 0 var(--space-3)}.wf-fields{flex-direction:column;gap:0;display:flex}.wf-field{margin-bottom:var(--space-2)}.wf-field:last-child{margin-bottom:0}.wf-last-run{color:var(--muted-foreground);margin:var(--space-2) 0 0;font-size:.78rem}.wf-switch{cursor:pointer;align-items:center;gap:var(--space-2);-webkit-user-select:none;user-select:none;display:inline-flex}.wf-switch input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.wf-switch-track{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-full);height:22px;transition:background var(--duration-instant) var(--ease-out-quart), border-color var(--duration-instant) var(--ease-out-quart);width:38px;position:relative}.wf-switch-track:after{background:var(--muted-foreground);content:"";height:18px;transition:transform var(--duration-instant) var(--ease-out-quart), background var(--duration-instant) var(--ease-out-quart);border-radius:50%;width:18px;position:absolute;top:1px;left:1px}.wf-switch input:checked+.wf-switch-track{background:color-mix(in oklab, var(--success,#22c55e) 35%, var(--secondary));border-color:color-mix(in oklab, var(--success,#22c55e) 45%, var(--border))}.wf-switch input:checked+.wf-switch-track:after{background:var(--success,#22c55e);transform:translate(16px)}.wf-switch input:focus-visible+.wf-switch-track{outline:2px solid var(--ring);outline-offset:2px}.wf-switch-label{color:var(--muted-foreground);font-size:.85rem}
.fristen-panel{margin-bottom:var(--space-3)}.fristen-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.fristen-row{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border);flex-wrap:wrap;font-size:.85rem;display:flex}.fristen-row:last-child{border-bottom:none}.fristen-subject{min-width:110px;font-weight:600}.fristen-kind{color:var(--muted-foreground)}.fristen-date{color:var(--muted-foreground);font-size:.78rem}.fristen-chip{white-space:nowrap;border-radius:999px;margin-left:auto;padding:2px 10px;font-size:.72rem}.fristen-chip.abgelaufen{background:var(--danger-tint);color:var(--danger-text)}.fristen-chip.faellig{background:var(--warning-tint);color:var(--warning-text)}.fristen-empty{margin:var(--space-2) 0 0}.fristen-rest{margin:var(--space-2) 0 0;font-size:.8rem}.dashboard-tenants{flex-direction:column;display:flex}.dashboard-tenant-row{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border);display:flex}.dashboard-tenant-row:last-child{border-bottom:none}.dashboard-tenant-info{flex-direction:column;gap:2px;min-width:0;margin-right:auto;display:flex}.dashboard-tenant-info .muted{font-size:.8rem}.dashboard-tenant-roles{gap:var(--space-1);flex-wrap:wrap;display:flex}.dashboard-logout{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border);justify-content:flex-end;display:flex}.dashboard-logout-btn{color:var(--danger-text)}.invoices-wrap .fui-card+.fui-card{margin-top:var(--space-3)}
.pwa-main .chip-btn{min-height:44px}.pwa-row>.fui-field{flex:1;min-width:120px}.drv-wizard-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.drv-outbox-badge{background:var(--warning-tint);color:var(--warning-text);white-space:nowrap}.drv-hint{justify-content:space-between;align-items:center;gap:var(--space-3);background:color-mix(in oklab, var(--primary) 12%, transparent);border:1px solid color-mix(in oklab, var(--primary) 40%, var(--border));border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:.85rem;display:flex}.drv-progress{gap:var(--space-2);grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;display:grid}.drv-progress li{text-align:center;color:var(--muted-foreground);flex-direction:column;align-items:center;gap:4px;font-size:.72rem;display:flex}.drv-progress li>button{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:0;font-size:.72rem;display:flex}.drv-progress li>button:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-sm)}.drv-progress-dot{background:var(--secondary);width:34px;height:34px;color:var(--muted-foreground);border:1px solid var(--border);transition:background var(--duration-instant) var(--ease-out-quart), color var(--duration-instant) var(--ease-out-quart), border-color var(--duration-instant) var(--ease-out-quart);border-radius:999px;justify-content:center;align-items:center;font-size:.9rem;font-weight:600;display:flex}.drv-progress li.active{color:var(--foreground);font-weight:600}.drv-progress li.active .drv-progress-dot{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.drv-progress li.done .drv-progress-dot{background:var(--success-tint);color:var(--success-text);border-color:var(--success-text)}.drv-severity-grid{gap:var(--space-2);flex-direction:column;display:flex}.drv-severity-card{align-items:center;gap:var(--space-3);text-align:start;min-height:60px;padding:var(--space-3) var(--space-4);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);cursor:pointer;transition:border-color var(--duration-instant) var(--ease-out-quart), background var(--duration-instant) var(--ease-out-quart), transform var(--duration-instant) var(--ease-out-quart);flex-direction:row;display:flex}@media (hover:hover) and (pointer:fine){.drv-severity-card:hover{border-color:color-mix(in oklab, var(--primary) 45%, var(--border))}}.drv-severity-card:active{transform:scale(.98)}.drv-severity-card:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.drv-severity-card.active{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 10%, var(--card))}@media (prefers-reduced-motion:reduce){.drv-severity-card:active{transform:none}}.drv-severity-icon{border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.drv-severity-icon--gering{background:var(--success-tint);color:var(--success-text)}.drv-severity-icon--mittel{background:var(--warning-tint);color:var(--warning-text)}.drv-severity-icon--schwer{background:var(--danger-tint);color:var(--danger-text)}.drv-severity-body{text-align:start;flex-direction:column;gap:2px;min-width:0;display:flex}.drv-known-link{min-height:44px;color:var(--primary-text);align-items:center;gap:6px;font-size:.85rem;text-decoration:underline;display:inline-flex}.drv-known-link:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-sm)}.drv-map{gap:var(--space-2);flex-direction:column;display:flex}.drv-map-tabs{background:var(--secondary);border-radius:var(--radius);gap:2px;padding:3px;display:flex;overflow-x:auto}.drv-map-tab{white-space:nowrap;border-radius:var(--radius-sm);min-width:64px;min-height:44px;color:var(--muted-foreground);cursor:pointer;transition:background var(--duration-instant) var(--ease-out-quart), color var(--duration-instant) var(--ease-out-quart);background:0 0;border:none;flex:1;padding:6px 8px;font-size:.76rem;font-weight:600;position:relative}@media (hover:hover) and (pointer:fine){.drv-map-tab:hover{color:var(--foreground)}}.drv-map-tab:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.drv-map-tab.active{background:var(--card);color:var(--foreground);box-shadow:var(--shadow-sm)}.drv-map-tab-dot{top:4px;background:var(--destructive);border-radius:999px;width:6px;height:6px;position:absolute;inset-inline-end:6px}.drv-map-svg{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius);touch-action:manipulation;width:100%;max-height:320px}.drv-map-zone{transition:fill 90ms var(--ease-out-quart), stroke 90ms var(--ease-out-quart)}.drv-map-zone.tappable{cursor:pointer}.drv-map-zone.tappable:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.drv-map-extra{gap:var(--space-2);flex-wrap:wrap;display:flex}.drv-map-chip{background:var(--secondary);border:1px solid var(--border);min-height:44px;color:var(--muted-foreground);cursor:pointer;transition:background 90ms var(--ease-out-quart), color 90ms var(--ease-out-quart), border-color 90ms var(--ease-out-quart);border-radius:999px;padding:6px 14px;font-size:.78rem}@media (hover:hover) and (pointer:fine){.drv-map-chip:hover{color:var(--foreground)}}.drv-map-chip:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.drv-map-chip.on{background:color-mix(in oklab, var(--destructive) 16%, transparent);border-color:var(--destructive);color:var(--danger-text)}.drv-map-summary{align-items:center;gap:6px;margin:0;font-size:.78rem;display:flex}.drv-map-summary.muted{color:var(--muted-foreground)}.drv-counter{text-align:end;margin:-4px 0 0}.drv-photo-grid{gap:var(--space-2);grid-template-columns:repeat(2,1fr);display:grid}.drv-photo-slot{border-radius:var(--radius);justify-content:center;align-items:center;gap:var(--space-2);border:1px dashed var(--border);background:var(--secondary);min-height:108px;padding:var(--space-2);flex-direction:column;display:flex;position:relative;overflow:hidden}.drv-photo-slot.filled{border-style:solid;padding:0}.drv-photo-slot.filled img{object-fit:cover;width:100%;height:108px;display:block}.drv-photo-slot-label{color:var(--muted-foreground);text-align:center;font-size:.72rem}.drv-photo-slot.filled .drv-photo-slot-label{inset-inline-start:6px;background:color-mix(in oklab, var(--card) 85%, transparent);color:var(--foreground);border-radius:999px;padding:2px 8px;position:absolute;bottom:6px}.drv-photo-actions{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.drv-photo-remove{top:6px;background:var(--destructive);color:#fff;cursor:pointer;width:30px;min-width:30px;height:30px;min-height:30px;transition:transform var(--duration-instant) var(--ease-out-quart);border:none;border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute;inset-inline-end:6px}.drv-photo-remove:active{transform:scale(.9)}.drv-photo-remove:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.drv-photo-remove:active{transform:none}}.drv-photo-tile{border-radius:var(--radius);min-height:148px;position:relative;overflow:hidden}.drv-photo-tile.filled img{object-fit:cover;width:100%;height:180px;display:block}.drv-photo-tile-empty{justify-content:center;align-items:center;gap:var(--space-2);border:1px dashed var(--border);border-radius:var(--radius);background:var(--secondary);width:100%;min-height:148px;color:var(--muted-foreground);cursor:pointer;padding:var(--space-4);transition:border-color var(--duration-instant) var(--ease-out-quart), color var(--duration-instant) var(--ease-out-quart);flex-direction:column;font-size:.85rem;font-weight:600;display:flex}@media (hover:hover) and (pointer:fine){.drv-photo-tile-empty:hover{border-color:color-mix(in oklab, var(--primary) 45%, var(--border));color:var(--foreground)}}.drv-photo-tile-empty:active{transform:scale(.99)}.drv-photo-tile-empty:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.drv-photo-tile-empty:active{transform:none}}.drv-photo-tile-change{inset-inline:0;min-height:40px;padding:var(--space-2);cursor:pointer;background:color-mix(in oklab, var(--card) 88%, transparent);color:var(--foreground);border:none;justify-content:center;align-items:center;gap:6px;font-size:.8rem;font-weight:600;display:flex;position:absolute;bottom:0}.drv-photo-tile-change:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.drv-success{text-align:center;align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);color:var(--success-text);animation:drv-pop-in var(--duration-normal) var(--ease-out-quart);flex-direction:column;display:flex}.drv-success .drv-success-title{color:var(--foreground);margin:0;font-size:1.05rem;font-weight:600}.drv-success .pwa-row{margin-top:var(--space-2);justify-content:center}@keyframes drv-pop-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.drv-success{animation:none}}.drv-edit-row{gap:var(--space-2);margin-top:var(--space-2);flex-direction:column;display:flex}.drv-countdown{align-items:center;gap:4px;display:inline-flex}.drv-edit-card{border-color:var(--primary)}.fui-card.drv-profile-head{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.drv-avatar{background:color-mix(in oklab, var(--primary) 22%, var(--secondary));width:52px;min-width:52px;height:52px;color:var(--foreground);border-radius:999px;justify-content:center;align-items:center;font-size:1.05rem;font-weight:700;display:flex;overflow:hidden}.drv-avatar img{object-fit:cover;width:100%;height:100%}.drv-profile-id{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.drv-lang-select{flex-basis:100%}.drv-frist-card{background:var(--card);border:1px solid var(--border);border-inline-start:3px solid var(--border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);flex-direction:column;gap:4px;display:flex}.drv-frist-card.missing{border-inline-start-color:var(--border);border-style:dashed}.drv-frist-card.ok{border-inline-start-color:var(--success-text)}.drv-frist-card.warn{border-inline-start-color:var(--warning-text)}.drv-frist-card.crit{border-inline-start-color:var(--danger-text)}.drv-frist-dot{border-radius:999px;flex-shrink:0;width:9px;height:9px}.drv-frist-dot.ok{background:var(--success-text)}.drv-frist-dot.warn,.drv-frist-dot.crit{background:var(--danger-text)}.drv-frist-dot.warn{background:var(--warning-text);--pulse-color:var(--warning-text);animation:live-breathe var(--pulse-duration,4.2s) ease-in-out infinite}.drv-frist-dot.crit{--pulse-color:var(--danger-text);animation:live-breathe var(--pulse-duration,4.2s) ease-in-out infinite}@media (prefers-reduced-motion:reduce){.drv-frist-dot.warn,.drv-frist-dot.crit{opacity:1;animation:none}}.drv-frist-status{align-items:center;gap:6px;margin:0;font-size:.82rem;font-weight:600;display:flex}.drv-frist-status.ok{color:var(--success-text)}.drv-frist-status.warn{color:var(--warning-text)}.drv-frist-status.crit{color:var(--danger-text)}.fui-card.drv-rating-head{padding:var(--space-5) var(--space-4);flex-direction:column;align-items:center;gap:4px;display:flex}.drv-rating-avg{color:var(--accent);font-size:2.6rem;font-weight:800;line-height:1}.drv-rating-stars{gap:2px;display:flex}.drv-star svg{fill:none;stroke:var(--muted-foreground);stroke-width:1.5px}.drv-star.on svg{fill:var(--accent);stroke:var(--accent)}.fui-card.drv-tag-bars{gap:var(--space-3);flex-direction:column;display:flex}.drv-tag-bar-row{flex-direction:column;gap:4px;font-size:.85rem;display:flex}.drv-tag-bar-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.drv-tag-bar-track{background:var(--secondary);border-radius:999px;height:8px;overflow:hidden}.drv-tag-bar-fill{background:var(--accent);height:100%;transition:width var(--duration-normal) var(--ease-out-quart);border-radius:999px}.drv-comment{font-size:.88rem;line-height:1.4}.drv-month-nav{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.drv-month-nav strong{text-align:center;flex:1;font-size:.92rem}.drv-stat-grid{gap:var(--space-2);margin-bottom:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.fui-card.drv-stat-tile{flex-direction:column;gap:2px;display:flex}.drv-stat-tile strong{font-size:1.35rem}.fui-card.drv-year-bars{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.drv-bars{align-items:flex-end;gap:4px;height:64px;display:flex}.drv-bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:3px;height:100%;display:flex}.drv-bar{background:var(--secondary);width:100%;min-height:3px;transition:height var(--duration-normal) var(--ease-out-quart);border-radius:3px 3px 0 0}.drv-bar.current{background:var(--accent)}.drv-bar-label{color:var(--muted-foreground);font-size:.6rem}.drv-month-nav-btn{border-radius:var(--radius);background:var(--secondary);border:1px solid var(--border);width:48px;min-width:48px;height:48px;min-height:48px;color:var(--foreground);cursor:pointer;transition:background var(--duration-instant) var(--ease-out-quart), border-color var(--duration-instant) var(--ease-out-quart);flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:flex}@media (hover:hover) and (pointer:fine){.drv-month-nav-btn:hover:not(:disabled){background:color-mix(in oklab, var(--secondary) 60%, var(--primary) 12%);border-color:color-mix(in oklab, var(--primary) 40%, var(--border))}}.drv-month-nav-btn:active:not(:disabled){transform:scale(.96)}.drv-month-nav-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.drv-month-nav-btn:disabled{opacity:.45;cursor:default}.drv-stat-grid--3{grid-template-columns:repeat(3,1fr)}.drv-stat-tile-label{align-items:center;gap:4px;display:flex}.drv-trip-filters{gap:var(--space-2);margin-bottom:var(--space-2);flex-direction:column;display:flex}.drv-chip-row{flex-wrap:wrap;gap:6px;display:flex}.drv-trip-filterbar{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.drv-trip-filterbar>.fui-control:first-child{flex:160px}.badge.drv-absence-beantragt{background:var(--warning-tint);color:var(--warning-text)}.badge.drv-absence-genehmigt{background:var(--success-tint);color:var(--success-text)}.badge.drv-absence-abgelehnt{background:var(--danger-tint);color:var(--danger-text)}.pwa-icon-inline{vertical-align:-2px}.drv-fuel-receipt{gap:var(--space-2);flex-direction:column;display:flex}.drv-fuel-receipt-tile{justify-content:center;align-items:center;gap:var(--space-2);min-height:128px;padding:var(--space-4);border:1px dashed var(--border);border-radius:var(--radius);background:var(--secondary);width:100%;color:var(--foreground);cursor:pointer;text-align:center;transition:border-color var(--duration-instant) var(--ease-out-quart);flex-direction:column;font-size:.85rem;display:flex;overflow:hidden}.drv-fuel-receipt-tile svg{color:var(--muted-foreground)}@media (hover:hover) and (pointer:fine){.drv-fuel-receipt-tile:hover{border-color:color-mix(in oklab, var(--primary) 45%, var(--border))}}.drv-fuel-receipt-tile:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.drv-fuel-receipt-tile.filled{border-style:solid;align-items:stretch;min-height:0;padding:0}.drv-fuel-receipt-thumb{object-fit:cover;width:100%;height:96px;display:block}.drv-fuel-receipt-meta{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);display:flex}.drv-fuel-receipt-change{color:var(--muted-foreground);font-size:.78rem;text-decoration:underline}.task-card-body .fui-field{margin-top:var(--space-1)}.fui-card.drv-arrival{border-color:var(--success);border-inline-start:3px solid var(--success);background:color-mix(in oklab, var(--success) 8%, var(--card));padding:var(--space-4)}.drv-arrival-kicker{margin:0 0 var(--space-1);text-transform:uppercase;letter-spacing:.07em;color:var(--success-text);align-items:center;gap:6px;font-size:.7rem;font-weight:700;display:flex}.drv-arrival-body{overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:600}.drv-arrival-meta{margin:2px 0 var(--space-3);font-size:.78rem}.fui-card.drv-news--important{border-inline-start:3px solid var(--warning-strong)}.drv-more{border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.drv-more>summary{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-4);cursor:pointer;color:var(--foreground);font-size:.9rem;font-weight:600;list-style:none;display:flex}.drv-more>summary::-webkit-details-marker{display:none}.drv-more>summary:focus-visible{outline:2px solid var(--ring);outline-offset:-2px;border-radius:var(--radius)}.drv-more-summary-end{align-items:center;gap:var(--space-2);display:flex}.drv-more-count{color:var(--warning-text);background:var(--warning-tint);border-radius:var(--radius-full);padding:2px 9px;font-size:.72rem;font-weight:600}.drv-more-chevron{color:var(--muted-foreground);transition:transform var(--duration-fast) var(--ease-out-quart)}.drv-more[open] .drv-more-chevron{transform:rotate(180deg)}.drv-more-body{gap:var(--space-3);padding:0 var(--space-4) var(--space-4);flex-direction:column;display:flex}@media (prefers-reduced-motion:reduce){.drv-more-chevron{transition:none}}.pwa-main .fui-control[readonly]{background:var(--muted);color:var(--muted-foreground)}.imp-banner.imp-banner--crit{border-color:var(--danger-strong);background:var(--danger-tint);color:var(--danger-text);font-weight:600}.fui-card.drv-active-order{border-color:var(--primary);border-inline-start:3px solid var(--primary);background:color-mix(in oklab, var(--primary) 8%, var(--card));padding:var(--space-4)}.drv-active-order-kicker{margin:0 0 var(--space-2);text-transform:uppercase;letter-spacing:.07em;color:var(--primary-text);align-items:center;gap:6px;font-size:.7rem;font-weight:700;display:flex}.drv-active-order .order-row-top strong{font-size:1.15rem}.drv-quick{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border)}.drv-quick>.pwa-h2{margin-top:0}.pwa-main .pwa-stack>.fui-btn,.pwa-main .pwa-stack>a.fui-btn{width:100%}.pwa-main .pwa-stack>.fui-btn--primary{min-height:52px;font-size:1rem;font-weight:600}.drv-addr{gap:4px;min-width:0;display:grid}.drv-addr-row{align-items:baseline;column-gap:var(--space-2);grid-template-columns:10px auto minmax(0,1fr);min-width:0;display:grid}.drv-addr-dot{border-radius:50%;flex-shrink:0;align-self:center;width:8px;height:8px;position:relative}.drv-addr-dot--from{background:var(--primary)}.drv-addr-dot--to{background:var(--success)}.drv-addr-row:not(:last-child) .drv-addr-dot:after{content:"";inset-inline-start:50%;border-inline-start:1px dashed var(--border);height:10px;position:absolute;top:calc(100% + 2px)}.drv-addr-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);white-space:nowrap;font-size:.66rem}.drv-addr-text{overflow-wrap:anywhere;min-width:0;line-height:1.35}.drv-addr--lg .drv-addr-text{font-size:1rem;font-weight:600}.drv-fuel-total{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2) var(--space-3);flex-direction:column;gap:2px;display:flex}.drv-fuel-total-amount{font-variant-numeric:tabular-nums;margin:0;font-size:1.05rem;font-weight:700}.drv-fuel-total .muted{margin:0}
.portal-shell{flex-direction:column;min-height:100dvh;display:flex}:root:not([data-theme=light]) .portal-shell{--muted-foreground:#9aa3bd;--border:#ffffff1f}.portal-header{z-index:20;height:56px;padding:0 var(--space-4);background:var(--card);border-bottom:1px solid var(--border);padding-top:env(safe-area-inset-top);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.portal-brand{letter-spacing:.02em;color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;text-decoration:none;overflow:hidden}.portal-brand:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-sm)}.portal-header-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.portal-header-actions .chip-btn{min-height:44px}.portal-body{flex:1;width:100%;min-height:0;display:flex}.portal-main{width:100%;min-width:0;max-width:44rem;padding:var(--space-4);padding-bottom:calc(var(--space-6) + 64px + env(safe-area-inset-bottom));flex:1;margin:0 auto}.portal-nav{z-index:20;height:calc(56px + env(safe-area-inset-bottom));grid-template-columns:repeat(var(--portal-nav-cols,6), 1fr);background:var(--card);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);display:grid;position:fixed;bottom:0;left:0;right:0}.portal-nav a{min-height:44px;color:var(--muted-foreground);min-width:0;transition:color var(--duration-instant) var(--ease-out-quart);flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0 2px;font-size:.72rem;text-decoration:none;display:flex;position:relative}.portal-nav a span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}@media (max-width:400px){.portal-nav a{font-size:.64rem}}.portal-nav a svg{transition:transform var(--duration-instant) var(--ease-out-quart)}.portal-nav a:active svg{transform:scale(.88)}@media (hover:hover) and (pointer:fine){.portal-nav a:hover{color:var(--foreground)}}.portal-nav a[aria-current=page]{color:var(--primary-text);font-weight:600}.portal-nav a[aria-current=page]:before{content:"";background:var(--primary);border-radius:999px;width:24px;height:2px;position:absolute;top:2px;left:50%;transform:translate(-50%)}.portal-nav a:focus-visible{outline:2px solid var(--ring);outline-offset:-2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){.portal-nav a:active svg{transform:none}}.portal-sidebar{display:none}@media (min-width:1024px){.portal-header,.portal-nav{display:none}.portal-body{max-width:84rem;margin:0 auto}.portal-sidebar{border-right:1px solid var(--border);background:var(--card);width:232px;padding:var(--space-4);gap:var(--space-6);flex-direction:column;flex-shrink:0;height:100dvh;display:flex;position:sticky;top:0;overflow-y:auto}.portal-sidebar-brand{letter-spacing:-.02em;color:var(--foreground);font-size:1.1rem;font-weight:700;text-decoration:none}.portal-sidebar nav{gap:var(--space-1);flex-direction:column;display:flex}.portal-sidebar nav a{align-items:center;gap:var(--space-2);color:var(--muted-foreground);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:background 80ms var(--ease-out-quart), color 80ms var(--ease-out-quart);font-size:.92rem;text-decoration:none;display:flex;position:relative}@media (hover:hover) and (pointer:fine){.portal-sidebar nav a:hover{background:var(--secondary);color:var(--foreground)}}.portal-sidebar nav a[aria-current=page]{background:color-mix(in oklab, var(--primary) 15%, transparent);color:var(--foreground);font-weight:600}.portal-sidebar nav a[aria-current=page]:before{content:"";background:var(--primary);border-radius:999px;width:3px;position:absolute;top:7px;bottom:7px;left:1px}.portal-sidebar nav a:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.portal-sidebar-foot{margin-top:auto}.portal-main{max-width:none;padding:var(--space-6) var(--space-8);padding-bottom:var(--space-8)}}.portal-shell .chip-btn{min-height:44px}.portal-shell a.chip-btn,.portal-shell a.button{justify-content:center;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.portal-shell .check-label{align-items:center;gap:var(--space-2);cursor:pointer;min-height:44px;display:flex}.portal-shell .check-label input[type=checkbox]{flex-shrink:0;width:20px;height:20px}.portal-disclosure>summary{min-height:44px}.portal-summary-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}@media (min-width:1024px){.portal-summary-grid{grid-template-columns:repeat(4,1fr)}}.portal-summary-grid--3{grid-template-columns:1fr}@media (min-width:640px){.portal-summary-grid--3{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.portal-summary-grid--3{grid-template-columns:repeat(3,1fr)}}.portal-quickbook{gap:var(--space-3);flex-direction:column;display:flex}.portal-quickbook-row{gap:var(--space-2);align-items:flex-start;display:flex}.portal-quickbook-row>:first-child{flex:1;min-width:0}.portal-quickbook-row .fui-btn{flex:none}.portal-quickbook-favs{gap:var(--space-2);flex-wrap:wrap;display:flex}.portal-quick-grid{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}@media (min-width:1024px){.portal-quick-grid{grid-template-columns:repeat(4,1fr)}}.portal-cols{gap:var(--space-4);grid-template-columns:1fr;align-items:start;display:grid}@media (min-width:1024px){.portal-cols{gap:var(--space-6);grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.portal-cols--even{grid-template-columns:repeat(2,minmax(0,1fr))}}.portal-col{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}@media (min-width:1024px){.portal-col--sticky{top:var(--space-6);position:sticky}}.portal-login{justify-content:center}.portal-login .portal-main{max-width:26rem}.portal-stepper{gap:var(--space-1);margin:0;padding:0;list-style:none;display:flex}.portal-stepper li{text-align:center;color:var(--muted-foreground);flex-direction:column;flex:1;align-items:center;gap:4px;font-size:.68rem;display:flex}.portal-stepper li.active{color:var(--foreground);font-weight:600}.portal-stepper li.done{color:var(--success-text)}.portal-stepper .step-num{width:20px;height:20px;font-size:.68rem}.portal-stepper li.active .step-num{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.portal-stepper li.done .step-num{background:var(--success-tint);border-color:var(--success-text);color:var(--success-text)}.portal-stepper li{position:relative}.portal-stepper li:not(:first-child):before{content:"";background:var(--border);z-index:-1;width:100%;height:2px;position:absolute;top:9px;right:50%}.portal-stepper li.done:before,.portal-stepper li.active:before{background:color-mix(in oklab, var(--success) 45%, var(--border))}.portal-live-card{gap:var(--space-3);flex-direction:column;display:flex}.portal-live-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.portal-live-updated{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:.72rem}.portal-here-badge{color:var(--success-text);align-items:center;gap:6px;font-size:.92rem;font-weight:600;display:inline-flex}.portal-eta{align-items:center;gap:6px;display:flex}.portal-price-bar{bottom:calc(64px + env(safe-area-inset-bottom) + var(--space-2));z-index:15;justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-lg);flex-wrap:wrap;display:flex;position:sticky}.portal-price-bar strong{font-variant-numeric:tabular-nums;font-size:1.15rem}.portal-price-net{text-align:right;flex-basis:100%;font-size:.78rem}@media (min-width:1024px){.portal-price-bar{bottom:var(--space-4);position:sticky}}.portal-price-loading{opacity:.6}.portal-disclosure{border-top:1px solid var(--border);padding-top:var(--space-3)}.portal-disclosure>summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:var(--space-2);color:var(--muted-foreground);border-radius:var(--radius-sm);font-size:.85rem;list-style:none;display:flex}.portal-disclosure>summary::-webkit-details-marker{display:none}.portal-disclosure>summary:before{content:"";border-right:1.5px solid var(--muted-foreground);border-bottom:1.5px solid var(--muted-foreground);width:7px;height:7px;transition:transform .16s var(--ease-out-quart);flex-shrink:0;transform:rotate(-45deg)}.portal-disclosure[open]>summary:before{transform:rotate(45deg)}.portal-disclosure[open]>summary{margin-bottom:var(--space-2);color:var(--foreground)}.portal-disclosure>summary:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.portal-disclosure-body{gap:var(--space-3);flex-direction:column;display:flex}.portal-fav-row{align-items:center;gap:var(--space-2);display:flex}.portal-fav-row .portal-fav-icon{color:var(--muted-foreground);flex-shrink:0}.portal-stat-card{min-height:44px;color:var(--foreground);cursor:pointer;border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--duration-instant) var(--ease-out-quart), background var(--duration-instant) var(--ease-out-quart);flex-direction:column;gap:4px;text-decoration:none;display:flex}.portal-stat-card .portal-stat-label{color:var(--muted-foreground);font-size:.78rem}.portal-stat-card .portal-stat-count{color:var(--muted-foreground);font-size:.72rem}@media (hover:hover) and (pointer:fine){.portal-stat-card:hover{border-color:color-mix(in oklab, var(--primary) 55%, var(--border))}}.portal-stat-card:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.portal-stat-card.is-active{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 10%, transparent)}.portal-stat-card.is-active .portal-stat-label{color:var(--foreground);font-weight:600}.portal-pay-list{gap:var(--space-2);flex-direction:column;margin:0;padding-left:1.1rem;display:flex}.portal-pay-list li{line-height:1.45}.portal-notify-table{border-collapse:collapse;width:100%}.portal-notify-table th,.portal-notify-table td{padding:var(--space-2);border-bottom:1px solid var(--border);text-align:left}.portal-notify-table thead th{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:600}.portal-notify-table thead th:not(:first-child),.portal-notify-table td{text-align:center;width:22%}.portal-notify-table tbody th{font-weight:500}.portal-notify-cell{cursor:pointer;justify-content:center;align-items:center;min-height:44px;display:flex}.portal-notify-cell input[type=checkbox]{width:20px;height:20px}.portal-chat-quick{align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);flex-wrap:wrap;flex-shrink:0;display:flex}.portal-chat-quick-label{font-size:.78rem}.portal-chat-quick .chip-btn{font-size:.8rem}.portal-chat-toolbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex-shrink:0;display:flex}.portal-chat-start{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.portal-trip-when{flex-direction:column;gap:1px;display:flex}.portal-trip-when .muted{font-size:.78rem}@media (max-width:767px){.portal-trip-when{align-items:baseline;gap:var(--space-2);flex-direction:row}}.portal-inv-row{flex-direction:column;gap:4px;display:flex}.portal-inv-detail-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media print{.portal-main{max-width:none;margin:0;padding:0}}.portal-back-link{color:var(--muted-foreground);min-height:44px;transition:color var(--duration-instant) var(--ease-out-quart);align-items:center;gap:6px;font-size:.85rem;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.portal-back-link:hover{color:var(--foreground)}}.portal-back-link:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-sm)}.portal-form-section{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);gap:var(--space-3);flex-direction:column;margin:0;display:flex}.portal-form-section>legend{padding:0 var(--space-2);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:600}.portal-class-cards{gap:var(--space-2);scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;grid-auto-columns:minmax(168px,1fr);grid-auto-flow:column;padding-bottom:2px;display:grid;overflow-x:auto}@media (min-width:1024px){.portal-class-cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-auto-flow:row;overflow-x:visible}}.portal-class-card{scroll-snap-align:start;text-align:left;min-height:44px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:var(--card);transition:border-color var(--duration-instant) var(--ease-out-quart), background var(--duration-instant) var(--ease-out-quart);flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;font-size:.9rem;display:flex}.portal-class-name{font-weight:600}.portal-class-desc{color:var(--muted-foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.76rem;line-height:1.35;display:-webkit-box;overflow:hidden}.portal-class-price{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:.78rem}.portal-class-card.is-checked .portal-class-price{color:var(--foreground)}.portal-class-card input[type=radio]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portal-class-card.is-checked{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 10%, transparent);font-weight:600}.portal-class-card:has(input:checked){border-color:var(--primary);background:color-mix(in oklab, var(--primary) 10%, transparent);font-weight:600}.portal-class-card:focus-within{outline:2px solid var(--ring);outline-offset:2px}.portal-seg{gap:var(--space-2);flex-wrap:wrap;display:flex}.portal-seg-opt{text-align:center;min-width:140px;min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--border);cursor:pointer;background:var(--card);transition:border-color var(--duration-instant) var(--ease-out-quart), background var(--duration-instant) var(--ease-out-quart);border-radius:999px;flex:auto;justify-content:center;align-items:center;font-size:.9rem;display:flex}.portal-seg-opt input[type=radio]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portal-seg-opt.is-checked{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 10%, transparent);font-weight:600}.portal-seg-opt:has(input:checked){border-color:var(--primary);background:color-mix(in oklab, var(--primary) 10%, transparent);font-weight:600}.portal-seg-opt:focus-within{outline:2px solid var(--ring);outline-offset:2px}.portal-booking{gap:var(--space-4);grid-template-columns:1fr;align-items:start;display:grid}.portal-booking-form{order:2;min-width:0}.portal-booking-map{order:1;min-width:0}@media (min-width:1024px){.portal-booking{gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(320px,.8fr)}.portal-booking-form{order:1}.portal-booking-map{top:var(--space-6);order:2;position:sticky}}.portal-map,.portal-map-placeholder{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);height:260px;overflow:hidden}@media (min-width:1024px){.portal-map,.portal-map-placeholder{height:440px}}.portal-map{position:relative}.portal-map.is-loading{opacity:.75}.portal-map-placeholder{text-align:center;padding:var(--space-4);color:var(--muted-foreground);justify-content:center;align-items:center;font-size:.85rem;display:flex}.portal-map-note{left:var(--space-2);bottom:var(--space-2);z-index:500;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);margin:0;padding:4px 8px;font-size:.72rem;position:absolute}.portal-map .leaflet-container{z-index:0}.portal-stop-row{align-items:flex-start;gap:var(--space-2);display:flex}.portal-stop-row>:first-child{flex:1;min-width:0}.portal-stop-row .chip-btn{flex:none}.portal-add-stop{align-self:flex-start}.portal-stop-note,.portal-field-note{margin:0;font-size:.78rem}.portal-price-distance{flex-basis:100%;font-size:.78rem}
.veh-heading{border-left:5px solid #0000;border-right:5px solid #0000;border-bottom:10px solid var(--primary,#3b82f6);transform-origin:50% 100%;pointer-events:none;width:0;height:0;margin-top:-18px;margin-left:-5px;position:absolute;top:50%;left:50%}.map-card .card-head{row-gap:var(--space-2);flex-wrap:wrap}.map-mode-switch{gap:4px;display:inline-flex}.map-recenter-btn,.map-fullscreen-btn{border:1px solid var(--border);background:var(--card);border-radius:var(--radius-md,8px);cursor:pointer;padding:4px 10px;font-size:.8rem}.map-recenter-btn{color:var(--primary,#3b82f6)}.map-fullscreen-btn{padding:4px 8px;font-size:1rem;line-height:1}.follow-chips{margin-bottom:var(--space-2);flex-wrap:wrap;gap:6px;display:flex}.follow-chip{border:1px solid var(--border);background:var(--secondary);cursor:pointer;border-radius:999px;padding:3px 10px;font-size:.78rem}.follow-chip.active{background:var(--primary,#3b82f6);color:#fff;border-color:#0000}.map-card--fullscreen{z-index:1000;border-radius:0;position:fixed;inset:0;overflow:auto}.map-card--fullscreen .vehicle-map,.map-card--fullscreen .map-with-feed{height:calc(100vh - 140px)}.map-with-feed{gap:var(--space-3);grid-template-columns:minmax(0,1fr) 260px;align-items:start;display:grid}@media (max-width:900px){.map-with-feed{grid-template-columns:1fr}}.geofence-alert-feed{border:1px solid var(--border);border-radius:var(--radius-md,8px);padding:var(--space-3);max-height:430px;overflow:auto}.geofence-alert-feed h3{margin:0 0 var(--space-2);font-size:.9rem}.geofence-alert-feed ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.alert-feed-item{cursor:pointer;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;padding:4px;font-size:.82rem;display:flex}@media (hover:hover) and (pointer:fine){.alert-feed-item:hover{background:var(--secondary)}}.alert-feed-time{font-variant-numeric:tabular-nums;color:var(--muted-foreground)}.stat-tile-foot{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:4px;display:flex}.stat-sparkline{color:var(--primary,#3b82f6);flex-shrink:0}.fui-trend{align-items:center;gap:2px;font-size:.75rem;font-weight:600;display:inline-flex}.fui-trend.up{color:var(--green-500,#30a46c)}.fui-trend.down{color:var(--destructive,#e5484d)}.fui-trend.flat{color:var(--muted-foreground)}.telemetry-tabs{margin-bottom:var(--space-3);flex-wrap:wrap;gap:6px;display:flex}.route-history{gap:var(--space-3);flex-direction:column;display:flex}.route-history-controls{align-items:end;gap:var(--space-2);flex-wrap:wrap;display:flex}.route-history-map{border-radius:var(--radius-md,10px);height:430px;overflow:hidden}.route-history-map .vehicle-map{height:100%}.route-seg-0{color:var(--green-500,#30a46c);stroke:var(--green-500,#30a46c)!important}.route-seg-1{color:#eab308;stroke:#eab308!important}.route-seg-2{color:#f97316;stroke:#f97316!important}.route-seg-3{color:var(--destructive,#e5484d);stroke:var(--destructive,#e5484d)!important}.replay-marker{background:var(--primary,#3b82f6);width:12px;height:12px;box-shadow:0 0 0 2px var(--primary,#3b82f6);border:2px solid #fff;border-radius:50%}.route-event-pin{border:2px solid #fff;border-radius:50%;width:10px;height:10px}.route-event-pin--ignition_on{background:var(--green-500,#30a46c)}.route-event-pin--ignition_off{background:var(--muted-foreground)}.route-event-pin--harsh{background:var(--destructive,#e5484d)}.replay-controls{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.replay-speed{width:auto;min-width:70px}.replay-scrubber{flex:220px;min-width:160px}.replay-time{font-variant-numeric:tabular-nums;font-size:.85rem}.replay-speed-value{color:var(--muted-foreground);font-size:.85rem}.route-session-list{flex-direction:column;gap:4px;margin:0;padding:0;font-size:.82rem;list-style:none;display:flex}.route-session-unassigned{color:var(--destructive,#e5484d);font-weight:600}.geofence-panel .fleet-list{margin-top:var(--space-2)}.geofence-vehicle-list{gap:var(--space-2);flex-wrap:wrap;max-height:160px;display:flex;overflow:auto}.eco-score-board{gap:var(--space-3);flex-direction:column;display:flex}.eco-drilldown{gap:var(--space-2);flex-direction:column;display:flex}.eco-session-list,.eco-drilldown ul{flex-direction:column;gap:6px;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.eco-inline-badge{margin-left:4px}.eco-unassigned{align-items:center;gap:var(--space-2);border:1px dashed var(--destructive,#e5484d);border-radius:var(--radius-md,8px);padding:var(--space-2) var(--space-3);font-size:.85rem;display:flex}@media (prefers-reduced-motion:reduce){.replay-marker{transition:none}}.telemetry-grid{align-items:stretch}.telemetry-grid>.fui-card{flex-direction:column;display:flex}.telemetry-scope{align-items:center;gap:var(--space-1);padding:2px 4px 2px var(--space-3);border:1px solid var(--primary);border-radius:var(--radius-full);background:color-mix(in oklab, var(--primary) 12%, transparent);font-size:var(--text-xs);white-space:nowrap;font-weight:600;display:inline-flex}.veh-marker.selected{box-shadow:0 0 0 3px var(--primary), 0 2px 6px #00000080;z-index:500}.rollup-chart .bar{animation:rollup-bar-in var(--duration-normal) var(--ease-out-quart) both}@keyframes rollup-bar-in{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.rollup-chart .bar{animation:none}}
.datev-journal-head{font-size:var(--text-sm);color:var(--muted-foreground);margin:var(--space-4) 0 0;font-weight:600}.stat-tile-trend{align-items:center;gap:var(--space-2);color:var(--muted-foreground);margin-top:2px;display:flex}.inv-due-badge{margin-left:var(--space-2)}
