:root{--slate-25:#fbfcfe;--slate-50:#f7f9fc;--slate-100:#eff3f9;--slate-150:#e7edf5;--slate-200:#dce3ee;--slate-300:#c3cede;--slate-400:#9aa8be;--slate-500:#6b7a92;--slate-600:#4d5b72;--slate-700:#374257;--slate-800:#232d40;--slate-900:#141c2b;--slate-950:#0b111c;--accent-50:#eef2ff;--accent-100:#dce4ff;--accent-200:#bccbff;--accent-300:#93a8fb;--accent-400:#6580f2;--accent-500:#3f5be0;--accent-600:#2f45c5;--accent-700:#2737a0;--accent-800:#243180;--accent-900:#212c66;--success-50:#e7f6ee;--success-100:#cceddb;--success-400:#2fb36c;--success-500:#16965a;--success-600:#0f7a49;--success-700:#0c6139;--danger-50:#fdeded;--danger-100:#fbd9d9;--danger-400:#eb5757;--danger-500:#dc3636;--danger-600:#be2626;--danger-700:#991e1e;--warning-50:#fbf1e0;--warning-400:#e8a53a;--warning-500:#d9881a;--warning-600:#b36c10;--chart-1:#3f5be0;--chart-2:#0fa3a1;--chart-3:#7c5cf0;--chart-4:#e0a106;--chart-5:#e36084;--chart-6:#2ba86b;--surface-app:var(--slate-50);--surface-card:#fff;--surface-raised:#fff;--surface-sunken:var(--slate-100);--surface-inverse:var(--slate-900);--surface-hover:var(--slate-100);--surface-active:var(--slate-150);--surface-sidebar:var(--slate-950);--text-strong:var(--slate-900);--text-body:var(--slate-700);--text-muted:var(--slate-500);--text-subtle:var(--slate-400);--text-inverse:#fff;--text-on-accent:#fff;--text-accent:var(--accent-600);--border-subtle:var(--slate-150);--border-default:var(--slate-200);--border-strong:var(--slate-300);--border-focus:var(--accent-500);--accent:var(--accent-500);--accent-hover:var(--accent-600);--accent-press:var(--accent-700);--accent-soft:var(--accent-50);--accent-ring:color-mix(in srgb, var(--accent-500) 35%, transparent);--metric-up:var(--success-600);--metric-up-bg:var(--success-50);--metric-down:var(--danger-600);--metric-down-bg:var(--danger-50);--metric-flat:var(--slate-500);--sidebar-text:var(--slate-300);--sidebar-text-muted:var(--slate-500);--sidebar-text-active:#fff;--sidebar-active-bg:color-mix(in srgb, var(--accent-500) 22%, transparent);--sidebar-hover-bg:#ffffff0f;--sidebar-border:#ffffff14;--font-sans:"Geist", "Geist Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--text-2xs:11px;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-md:15px;--text-lg:17px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--text-4xl:38px;--text-5xl:48px;--text-6xl:60px;--leading-none:1;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tighter:-.02em;--tracking-tight:-.01em;--tracking-normal:0;--tracking-wide:.02em;--tracking-caps:.06em;--space-0:0;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:20px;--space-7:24px;--space-8:32px;--space-9:40px;--space-10:48px;--space-11:64px;--space-12:80px;--space-13:96px;--sidebar-w:256px;--header-h:60px;--content-max:1600px;--container-pad:32px;--control-sm:30px;--control-md:36px;--control-lg:44px;--radius-xs:3px;--radius-sm:5px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:22px;--radius-full:999px;--shadow-xs:0 1px 2px #0b111c0f;--shadow-sm:0 1px 2px #0b111c0f, 0 1px 3px #0b111c14;--shadow-md:0 2px 4px #0b111c0d, 0 4px 12px #0b111c14;--shadow-lg:0 4px 8px #0b111c0f, 0 12px 28px #0b111c1f;--shadow-xl:0 8px 16px #0b111c14, 0 24px 56px #0b111c2e;--ring-focus:0 0 0 3px var(--accent-ring);--ring-card:inset 0 0 0 1px var(--border-subtle);--dur-instant:80ms;--dur-fast:.14s;--dur-base:.22s;--dur-slow:.34s;--dur-slower:.52s;--dur-solve:10s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-entrance:cubic-bezier(.16, 1, .3, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--ease-emphasis:cubic-bezier(.5, 0, 0, 1.06);--ease-linear:linear;--stagger-step:60ms}@keyframes lo-page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes lo-rise-in{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes lo-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lo-spin{to{transform:rotate(360deg)}}@keyframes lo-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes lo-shimmer{0%{background-position:-160% 0}to{background-position:260% 0}}@keyframes lo-dash{to{stroke-dashoffset:-20px}}.lo-page-in{animation:lo-page-in var(--dur-slow) var(--ease-entrance) backwards}.lo-rise-in{animation:lo-rise-in var(--dur-slow) var(--ease-entrance) backwards}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-body);background:var(--surface-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv01" 1, "cv02" 1;margin:0}h1,h2,h3,h4,h5,h6{color:var(--text-strong);font-weight:var(--fw-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:0}p{margin:0}a{color:var(--text-accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit}code,kbd,samp{font-family:var(--font-mono)}::selection{background:var(--accent-100);color:var(--accent-900)}.tnum{font-variant-numeric:tabular-nums lining-nums}*{scrollbar-width:thin;scrollbar-color:var(--slate-300) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:var(--radius-full);background-clip:padding-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}.lo-btn{--_bg:var(--accent);--_fg:var(--text-on-accent);--_bd:transparent;justify-content:center;align-items:center;gap:var(--space-3);white-space:nowrap;cursor:pointer;font-family:var(--font-sans);font-weight:var(--fw-medium);letter-spacing:var(--tracking-tight);border-radius:var(--radius-md);border:1px solid var(--_bd);background:var(--_bg);color:var(--_fg);transition:background var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard), transform var(--dur-instant) var(--ease-standard);-webkit-user-select:none;user-select:none;line-height:1;display:inline-flex}.lo-btn:focus-visible{box-shadow:var(--ring-focus);outline:none}.lo-btn:active:not(:disabled){transform:translateY(.5px)scale(.99)}.lo-btn:disabled{opacity:.5;cursor:not-allowed}.lo-btn--sm{height:var(--control-sm);padding:0 var(--space-4);font-size:var(--text-sm)}.lo-btn--md{height:var(--control-md);padding:0 var(--space-5);font-size:var(--text-base)}.lo-btn--lg{height:var(--control-lg);padding:0 var(--space-7);font-size:var(--text-md)}.lo-btn--primary{--_bg:var(--accent);--_fg:var(--text-on-accent);box-shadow:var(--shadow-xs)}.lo-btn--primary:hover:not(:disabled){--_bg:var(--accent-hover)}.lo-btn--primary:active:not(:disabled){--_bg:var(--accent-press)}.lo-btn--secondary{--_bg:var(--surface-card);--_fg:var(--text-strong);--_bd:var(--border-strong);box-shadow:var(--shadow-xs)}.lo-btn--secondary:hover:not(:disabled){--_bg:var(--surface-hover);--_bd:var(--slate-400)}.lo-btn--secondary:active:not(:disabled){--_bg:var(--surface-active)}.lo-btn--ghost{--_bg:transparent;--_fg:var(--text-body)}.lo-btn--ghost:hover:not(:disabled){--_bg:var(--surface-hover);--_fg:var(--text-strong)}.lo-btn--danger{--_bg:var(--danger-500);--_fg:#fff}.lo-btn--danger:hover:not(:disabled){--_bg:var(--danger-600)}.lo-btn__spinner{opacity:.9;border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;animation:.7s linear infinite lo-spin}.lo-btn__icon{align-items:center;display:inline-flex}.lo-btn__icon svg{width:1.05em;height:1.05em}.lo-field{gap:var(--space-3);flex-direction:column;display:flex}.lo-field__label{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-strong);letter-spacing:var(--tracking-tight);align-items:center;gap:var(--space-3);display:flex}.lo-field__req{color:var(--danger-500)}.lo-field__hint{font-size:var(--text-xs);color:var(--text-muted)}.lo-field__error{font-size:var(--text-xs);color:var(--danger-600)}.lo-input{align-items:center;gap:var(--space-3);height:var(--control-md);padding:0 var(--space-4);background:var(--surface-card);color:var(--text-strong);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard);display:flex}.lo-input:hover{border-color:var(--border-strong)}.lo-input:focus-within{border-color:var(--border-focus);box-shadow:var(--ring-focus)}.lo-input__el{min-width:0;font-family:var(--font-sans);font-size:var(--text-base);color:inherit;background:0 0;border:none;outline:none;flex:1;height:100%}.lo-input__el::placeholder{color:var(--text-subtle)}.lo-input--num .lo-input__el{font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums;text-align:right}.lo-input__unit{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);padding-left:var(--space-3);border-left:1px solid var(--border-subtle)}.lo-kpi{gap:var(--space-4);padding:var(--space-6);background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--ring-card), var(--shadow-sm);transition:box-shadow var(--dur-base) var(--ease-standard), transform var(--dur-base) var(--ease-standard);flex-direction:column;display:flex;position:relative}.lo-kpi--hover:hover{box-shadow:var(--ring-card), var(--shadow-md);transform:translateY(-1px)}.lo-kpi__top{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.lo-kpi__label{font-size:var(--text-xs);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-muted)}.lo-kpi__icon{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--accent-600);background:var(--accent-soft);flex:none;place-items:center;display:grid}.lo-kpi__icon svg{width:16px;height:16px}.lo-kpi__value{font-family:var(--font-mono);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums lining-nums;font-size:var(--text-4xl);line-height:var(--leading-none);color:var(--text-strong);letter-spacing:var(--tracking-tight);align-items:baseline;gap:var(--space-2);display:flex}.lo-kpi__unit{font-size:var(--text-lg);color:var(--text-muted);font-weight:var(--fw-medium)}.lo-kpi__compare{align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.lo-kpi__arrow{opacity:.6}.lo-herokpi{padding:var(--space-7);border-radius:var(--radius-xl);background:var(--surface-card);box-shadow:var(--ring-card), var(--shadow-sm);transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);flex-direction:column;display:flex;position:relative;overflow:hidden}.lo-herokpi:hover{box-shadow:var(--ring-card), var(--shadow-md);transform:translateY(-2px)}.lo-herokpi--feature{background:linear-gradient(150deg, var(--slate-800) 0%, var(--accent-800) 60%, var(--accent-700) 100%);box-shadow:var(--shadow-lg);color:#fff}.lo-herokpi__top{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.lo-herokpi__label{font-size:var(--text-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-muted)}.lo-herokpi--feature .lo-herokpi__label{color:var(--accent-200)}.lo-herokpi__icon{color:var(--text-subtle);display:inline-flex}.lo-herokpi--feature .lo-herokpi__icon{color:var(--accent-200)}.lo-herokpi__value{font-family:var(--font-mono);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;font-size:var(--text-4xl);letter-spacing:var(--tracking-tight);color:var(--text-strong);align-items:baseline;gap:var(--space-2);line-height:1.1;display:flex}.lo-herokpi--feature .lo-herokpi__value{color:#fff}.lo-herokpi__value small{font-size:var(--text-lg);font-weight:var(--fw-regular);color:var(--text-muted)}.lo-herokpi--feature .lo-herokpi__value small{color:var(--accent-200)}.lo-herokpi__foot{margin-top:var(--space-5);align-items:center;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);display:flex}.lo-herokpi__bar{border-radius:var(--radius-full);background:var(--surface-sunken);width:100%;height:6px;margin-top:var(--space-5);overflow:hidden}.lo-herokpi__barfill{border-radius:inherit;background:var(--accent-500);height:100%}.lo-adhoc-card{border-left:4px solid var(--warning-400)}.lo-adhoc-card .lo-herokpi__value{color:var(--warning-600)}.lo-adhoc-card .lo-herokpi__icon{color:var(--warning-500)}.lo-delta{font-family:var(--font-mono);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums lining-nums;font-size:var(--text-xs);border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:3px;padding:3px 7px 3px 5px;line-height:1;display:inline-flex}.lo-delta--good{color:var(--metric-up);background:var(--metric-up-bg)}.lo-delta--bad{color:var(--metric-down);background:var(--metric-down-bg)}.lo-delta--flat{color:var(--metric-flat);background:var(--surface-sunken)}.lo-delta__caret{font-size:.95em;line-height:1}.lo-badge{align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--fw-medium);border-radius:var(--radius-full);letter-spacing:var(--tracking-tight);white-space:nowrap;border:1px solid #0000;padding:4px 9px;line-height:1;display:inline-flex}.lo-badge--neutral{background:var(--surface-sunken);color:var(--text-body);border-color:var(--border-subtle)}.lo-badge--accent{background:var(--accent-soft);color:var(--accent-700)}.lo-badge--success{background:var(--success-50);color:var(--success-700)}.lo-badge--danger{background:var(--danger-50);color:var(--danger-700)}.lo-badge--warning{background:var(--warning-50);color:var(--warning-600)}.lo-badge__dot{background:currentColor;border-radius:50%;width:6px;height:6px}.lo-card{background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--ring-card), var(--shadow-sm);flex-direction:column;display:flex}.lo-card__header{justify-content:space-between;align-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-subtle);display:flex}.lo-card__title{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--text-strong)}.lo-card__subtitle{font-size:var(--text-xs);color:var(--text-muted)}.lo-card__body{padding:var(--space-6)}.lo-card__body--flush{padding:0}.lo-table-wrap{background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--ring-card), var(--shadow-sm);overflow:hidden}.lo-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.lo-table thead th{text-align:left;padding:var(--space-4) var(--space-5);font-size:var(--text-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-muted);background:var(--surface-sunken);border-bottom:1px solid var(--border-default);white-space:nowrap}.lo-table th.lo-num,.lo-table td.lo-num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums}.lo-table tbody td{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);color:var(--text-body)}.lo-table tbody tr{transition:background var(--dur-fast) var(--ease-standard)}.lo-table tbody tr:hover{background:var(--surface-hover)}.lo-table tbody tr:last-child td{border-bottom:none}.lo-table__metric{color:var(--text-strong);font-weight:var(--fw-medium)}.lo-table td.lo-optimized{color:var(--text-strong);font-weight:var(--fw-semibold)}.lo-cmp{table-layout:fixed}.lo-cmp th:first-child,.lo-cmp td:first-child{width:30%}.lo-dt{font-size:var(--text-xs)}.lo-dt thead th{background:var(--surface-sunken);z-index:1;padding:var(--space-3) var(--space-5);position:sticky;top:0}.lo-dt tbody td{padding:var(--space-3) var(--space-5);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.lo-dt__th{align-items:center;gap:var(--space-3);display:inline-flex}.lo-num .lo-dt__th{flex-direction:row-reverse}.lo-dt__menubtn{border-radius:var(--radius-xs);width:20px;height:20px;color:var(--text-subtle);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard);background:0 0;border:none;place-items:center;display:inline-grid}.lo-dt__menubtn:hover{background:var(--surface-active);color:var(--text-body)}.lo-dt__menubtn--active{color:var(--accent-600)}.lo-colmenu{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:220px;box-shadow:var(--shadow-lg);padding:var(--space-2);animation:lo-rise-in var(--dur-base) var(--ease-entrance) both}.lo-colmenu__item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);cursor:pointer;font-size:var(--text-sm);color:var(--text-body);text-align:left;border-radius:var(--radius-md);background:0 0;border:none;display:flex}.lo-colmenu__item:hover{background:var(--surface-hover);color:var(--text-strong)}.lo-colmenu__sep{background:var(--border-subtle);height:1px;margin:var(--space-2) 0}.lo-colmenu__filter{margin:var(--space-2);width:calc(100% - var(--space-4));height:var(--control-sm)}.lo-section-label{font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-accent);margin-bottom:var(--space-4)}.lo-page-title{font-size:var(--text-2xl);font-weight:var(--fw-semibold);color:var(--text-strong);letter-spacing:var(--tracking-tight)}.lo-page-sub{font-size:var(--text-sm);color:var(--text-muted);margin-top:2px}.lo-spinner{border:3px solid var(--border-default);border-top-color:var(--accent-500);border-radius:50%;width:30px;height:30px;animation:.7s linear infinite lo-spin}.lo-spin{animation:.9s linear infinite lo-spin}.lo-siduser{align-items:center;gap:var(--space-3);padding:0 var(--space-2);min-width:0;max-width:100%;display:flex}.lo-siduser__avatar{object-fit:cover;background:var(--accent-700);color:#fff;width:28px;height:28px;font-size:var(--text-2xs);font-weight:var(--fw-semibold);border-radius:50%;flex:none;place-items:center;display:grid}.lo-siduser__meta{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex;overflow:hidden}.lo-siduser__name{max-width:100%;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:#fff;white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.lo-siduser__email{max-width:100%;color:var(--sidebar-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;display:block;overflow:hidden}.lo-signout{margin-top:var(--space-4);cursor:pointer;color:var(--sidebar-text-muted);font-size:var(--text-xs);padding:4px var(--space-2);border-radius:var(--radius-sm);transition:color var(--dur-fast) var(--ease-standard);background:0 0;border:none;align-items:center;gap:6px;display:inline-flex}.lo-signout:hover{color:#fff}.lo-input__el--select{appearance:none;cursor:pointer;padding-right:var(--space-3);background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-repeat:no-repeat;background-size:5px 5px}.lo-textarea{width:100%;padding:var(--space-4);background:var(--surface-card);color:var(--text-strong);border:1px solid var(--border-default);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-normal);resize:vertical;transition:border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard)}.lo-textarea:hover{border-color:var(--border-strong)}.lo-textarea:focus{border-color:var(--border-focus);box-shadow:var(--ring-focus);outline:none}.lo-strip{align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-6);border:1px solid #0000;display:flex}.lo-strip svg{flex:none;margin-top:2px}.lo-strip--warn{background:var(--warning-50);color:var(--warning-600);border-color:color-mix(in srgb, var(--warning-400) 35%, transparent)}.lo-strip--ok{background:var(--success-50);color:var(--success-700);border-color:color-mix(in srgb, var(--success-400) 30%, transparent)}.lo-strip--info{background:var(--accent-50);color:var(--accent-800);border-color:color-mix(in srgb, var(--accent-300) 45%, transparent)}.lo-log{background:var(--slate-950);border-radius:var(--radius-lg);box-shadow:var(--ring-card), var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.lo-log__head{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);color:var(--slate-400);font-size:var(--text-xs);border-bottom:1px solid #ffffff17;display:flex}.lo-log__title{font-size:var(--text-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--slate-200)}.lo-log__spacer{flex:1}.lo-log__body{padding:var(--space-5);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--slate-300);white-space:pre-wrap;word-break:break-word;min-height:120px;max-height:440px;margin:0;line-height:1.6;overflow-y:auto}.lo-progress{border-radius:var(--radius-full);background:var(--surface-sunken);height:6px;overflow:hidden}.lo-progress__fill{border-radius:inherit;background:var(--accent-500);height:100%;transition:width .16s linear}.lo-mapframe{background:#fff;border:none;width:100%;height:min(68vh,720px);display:block}.lo-filterbar{align-items:flex-end;gap:var(--space-5);flex-wrap:wrap;display:flex}.lo-filterbar .lo-field{min-width:150px}.lo-filterbar__sep{background:var(--border-default);width:1px;margin:0 var(--space-2);align-self:stretch}.lo-table-wrap--scroll{overflow-x:auto}.lo-skel{border-radius:var(--radius-lg);background:linear-gradient(100deg, var(--slate-100) 40%, var(--slate-150) 50%, var(--slate-100) 60%);background-size:200% 100%;animation:1.4s linear infinite lo-shimmer}.lo-toaster{z-index:3000;gap:var(--space-4);pointer-events:none;flex-direction:column;width:min(440px,100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.lo-toast{align-items:flex-start;gap:var(--space-4);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-5);pointer-events:auto;animation:lo-rise-in var(--dur-base) var(--ease-entrance) both;display:flex}.lo-toast--success{border-left:3px solid var(--success-500)}.lo-toast--success .lo-toast__icon{color:var(--success-600)}.lo-toast--danger{border-left:3px solid var(--danger-500)}.lo-toast--danger .lo-toast__icon{color:var(--danger-600)}.lo-toast__icon{flex:none;margin-top:1px;display:inline-flex}.lo-toast__meta{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.lo-toast__title{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-strong)}.lo-toast__body{font-size:var(--text-xs);color:var(--text-muted);line-height:var(--leading-snug);overflow-wrap:anywhere}.lo-toast__tail{margin:var(--space-2) 0 0;padding:var(--space-4);background:var(--slate-950);color:var(--slate-300);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-2xs);white-space:pre-wrap;word-break:break-word;max-height:150px;line-height:1.5;overflow-y:auto}.lo-toast__close{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-subtle);cursor:pointer;background:0 0;border:none;flex:none;place-items:center;display:inline-grid}.lo-toast__close:hover{background:var(--surface-hover);color:var(--text-body)}.lo-modal__backdrop{z-index:1500;padding:var(--space-7);background:color-mix(in srgb, var(--slate-950) 52%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:lo-fade-in var(--dur-fast) var(--ease-standard) both;place-items:center;display:grid;position:fixed;inset:0}.lo-modal{background:var(--surface-card);border-radius:var(--radius-xl);width:min(1080px,96vw);max-height:86vh;box-shadow:var(--shadow-xl);animation:lo-rise-in var(--dur-base) var(--ease-entrance) both;flex-direction:column;display:flex;overflow:hidden}.lo-modal__head{justify-content:space-between;align-items:flex-start;gap:var(--space-5);padding:var(--space-6) var(--space-7);border-bottom:1px solid var(--border-subtle);flex:none;display:flex}.lo-modal__title{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--text-strong)}.lo-modal__sub{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.lo-modal__close{border-radius:var(--radius-md);width:30px;height:30px;color:var(--text-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard);background:0 0;border:none;flex:none;place-items:center;display:grid}.lo-modal__close:hover{background:var(--surface-hover);color:var(--text-strong)}.lo-modal__body{padding:var(--space-6) var(--space-7);flex:1;overflow:auto}.lo-modal__body--flush{padding:0}.lo-dt__sort{align-items:center;gap:var(--space-2);width:100%;font:inherit;color:inherit;text-align:inherit;cursor:pointer;text-transform:inherit;letter-spacing:inherit;border-radius:var(--radius-xs);transition:color var(--dur-fast) var(--ease-standard);background:0 0;border:none;margin:0;padding:0;display:inline-flex}.lo-dt__sort:hover{color:var(--text-body)}.lo-dt__sort:focus-visible{box-shadow:var(--ring-focus);outline:none}.lo-num .lo-dt__sort{justify-content:flex-end}.lo-dt__sorticon{opacity:.28;flex:none;width:12px;display:inline-flex}.lo-dt__sort[aria-sort=ascending] .lo-dt__sorticon,.lo-dt__sort[aria-sort=descending] .lo-dt__sorticon{opacity:1;color:var(--accent-600)}.lo-dt-toolbar{align-items:flex-end;gap:var(--space-5);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.lo-dt-toolbar__search{flex:240px;min-width:240px}.lo-dt-count{align-items:center;gap:var(--space-4);margin:var(--space-4) 0;font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono);flex-wrap:wrap;display:flex}.lo-dt-scroll{scrollbar-gutter:stable;max-height:68vh;overflow:auto}.lo-shell{background:var(--surface-app);height:100%;color:var(--text-body);display:flex}.lo-sidebar{width:var(--sidebar-w);background:var(--surface-sidebar);color:var(--sidebar-text);border-right:1px solid var(--sidebar-border);flex-direction:column;flex:none;display:flex}.lo-sidebar__brand{align-items:center;gap:var(--space-4);min-height:var(--header-h);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--sidebar-border);display:flex}.lo-sidebar__brandtext{flex-direction:column;gap:1px;min-width:0;display:flex}.lo-sidebar__credit{font-size:var(--text-2xs);color:var(--sidebar-text-muted);letter-spacing:var(--tracking-wide);line-height:1.2}.lo-sidebar__mark{object-fit:contain;flex:none;width:40px;height:40px}.lo-sidebar__wordmark{font-weight:var(--fw-bold);color:#fff;font-size:var(--text-xl);letter-spacing:var(--tracking-tight);line-height:1.1}.lo-sidebar__wordmark span{color:var(--accent-300)}.lo-sidebar__nav{padding:var(--space-6) var(--space-4);gap:var(--space-7);flex-direction:column;flex:1;display:flex;overflow-y:auto}.lo-navgroup{flex-direction:column;gap:3px;display:flex}.lo-navgroup__label{font-size:var(--text-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--sidebar-text-muted);padding:0 var(--space-4) var(--space-3)}.lo-navitem{align-items:center;gap:var(--space-4);padding:9px var(--space-4);border-radius:var(--radius-md);color:var(--sidebar-text);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;text-align:left;white-space:nowrap;width:100%;transition:background var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard);background:0 0;border:none;text-decoration:none;display:flex;position:relative}.lo-navitem:hover{background:var(--sidebar-hover-bg);color:#fff;text-decoration:none}.lo-navitem--active{background:var(--sidebar-active-bg);color:var(--sidebar-text-active)}.lo-navitem--active:before{content:"";border-radius:var(--radius-full);background:var(--accent-300);width:3px;height:18px;position:absolute;top:50%;left:-4px;transform:translateY(-50%)}.lo-navitem__icon{opacity:.92;flex:none;width:18px;height:18px;display:inline-flex}.lo-navitem__icon svg{width:100%;height:100%}.lo-sidebar__foot{padding:var(--space-5) var(--space-6);border-top:1px solid var(--sidebar-border);font-size:var(--text-2xs);color:var(--sidebar-text-muted);letter-spacing:var(--tracking-wide)}.lo-main{flex-direction:column;flex:1;min-width:0;display:flex}.lo-header{height:var(--header-h);align-items:center;gap:var(--space-6);padding:0 var(--container-pad);background:color-mix(in srgb, var(--surface-card) 86%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(8px);backdrop-filter:saturate(1.4)blur(8px);border-bottom:1px solid var(--border-default);z-index:20;flex:none;display:flex;position:sticky;top:0}.lo-header__title{flex-direction:column;gap:1px;min-width:0;display:flex}.lo-header__crumb{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-subtle)}.lo-header__page{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--text-strong)}.lo-header__spacer{flex:1}.lo-scenpick{align-items:center;gap:var(--space-3);padding:5px var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-full);background:var(--surface-card);color:var(--text-muted);display:inline-flex}.lo-scenpick__lbl{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-weight:var(--fw-semibold)}.lo-scenpick__sel{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-strong);cursor:pointer;background:0 0;border:none;outline:none}.lo-header__date{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;align-items:center;gap:var(--space-3);padding-right:var(--space-6);border-right:1px solid var(--border-default);display:flex}.lo-user{align-items:center;gap:var(--space-3);cursor:pointer;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-2);border-radius:var(--radius-full);transition:background var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard);background:0 0;border:1px solid #0000;display:flex}.lo-user:hover{background:var(--surface-hover);border-color:var(--border-default)}.lo-user__avatar{background:var(--accent-100);width:30px;height:30px;color:var(--accent-700);font-weight:var(--fw-semibold);font-size:var(--text-xs);object-fit:cover;border-radius:50%;flex:none;place-items:center;display:grid}.lo-user__name{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-strong)}.lo-content{scrollbar-gutter:stable;padding:var(--container-pad);flex:1;overflow-y:auto}.lo-content__inner{max-width:var(--content-max);animation:lo-page-in var(--dur-slow) var(--ease-entrance) backwards;margin:0 auto}.lo-content--bleed{padding:0}.lo-content--bleed .lo-content__inner{max-width:none;height:100%}.lo-usermenu{position:relative}.lo-usermenu__backdrop{z-index:30;position:fixed;inset:0}.lo-usermenu__pop{z-index:40;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:244px;box-shadow:var(--shadow-lg);animation:lo-rise-in var(--dur-base) var(--ease-entrance) both;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.lo-usermenu__id{align-items:center;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--border-subtle);display:flex}.lo-usermenu__id .lo-user__avatar{width:38px;height:38px;font-size:var(--text-sm)}.lo-usermenu__meta{flex-direction:column;gap:1px;min-width:0;display:flex}.lo-usermenu__name{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-strong)}.lo-usermenu__email{font-size:var(--text-xs);color:var(--text-muted);text-overflow:ellipsis;overflow:hidden}.lo-usermenu__item{align-items:center;gap:var(--space-4);width:100%;padding:11px var(--space-5);cursor:pointer;font-size:var(--text-sm);color:var(--text-body);text-align:left;transition:background var(--dur-fast) var(--ease-standard);background:0 0;border:none;display:flex}.lo-usermenu__item:hover{background:var(--surface-hover);color:var(--text-strong)}.lo-usermenu__item svg{opacity:.7;width:16px;height:16px}.lo-overlay{z-index:2000;background:color-mix(in srgb, var(--slate-950) 76%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.05);animation:lo-fade-in var(--dur-base) var(--ease-standard) both;color:#fff;place-items:center;display:grid;position:fixed;inset:0}.lo-overlay__panel{align-items:center;gap:var(--space-8);text-align:center;flex-direction:column;width:min(440px,86vw);display:flex}.lo-scene{width:360px;max-width:86vw;height:220px;position:relative}.lo-scene__svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.lo-road{fill:none;stroke:color-mix(in srgb, var(--accent-300) 40%, transparent);stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:1 9;animation:1.1s linear infinite lo-roaddash}.lo-node{fill:var(--slate-900);stroke:var(--accent-300);stroke-width:2px}.lo-node--hub{fill:#fff;stroke:#fff}.lo-node__halo{fill:var(--accent-400);opacity:.22;transform-box:fill-box;transform-origin:50%;animation:lo-pulse 1.9s var(--ease-standard) infinite}.lo-truck{border-radius:var(--radius-full);background:var(--accent-500);color:#fff;width:30px;height:30px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-400) 28%, transparent), var(--shadow-md);offset-rotate:0deg;place-items:center;margin:-15px 0 0 -15px;display:grid;position:absolute;top:0;left:0}.lo-truck svg{width:17px;height:17px}.lo-truck--1{offset-path:path("M 180 110 C 132 92, 84 66, 44 48");animation:lo-drive 3s var(--ease-standard) infinite}.lo-truck--2{offset-path:path("M 180 110 C 238 90, 288 60, 324 44");animation:lo-drive 3.5s var(--ease-standard) infinite;animation-delay:-1.1s}.lo-truck--3{offset-path:path("M 180 110 C 252 116, 304 134, 340 150");animation:lo-drive 3.2s var(--ease-standard) infinite;animation-delay:-2s}.lo-truck--4{offset-path:path("M 180 110 C 200 144, 208 174, 214 198");animation:lo-drive 3.7s var(--ease-standard) infinite;animation-delay:-.6s}.lo-truck--5{offset-path:path("M 180 110 C 128 138, 82 162, 44 184");animation:lo-drive 3.4s var(--ease-standard) infinite;animation-delay:-1.6s}@keyframes lo-drive{0%{offset-distance:0%;opacity:0}9%{opacity:1}90%{opacity:1}to{offset-distance:100%;opacity:0}}@keyframes lo-roaddash{to{stroke-dashoffset:-20px}}.lo-overlay__heading{font-size:var(--text-xl);font-weight:var(--fw-semibold);color:#fff;letter-spacing:var(--tracking-tight)}.lo-overlay__status{min-height:22px;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--accent-200)}.lo-overlay__status span{animation:lo-fade-in var(--dur-base) var(--ease-entrance) both;display:inline-block}.lo-overlay__sub{font-size:var(--text-xs);color:var(--slate-400)}.lo-overlay__bar{border-radius:var(--radius-full);background:#ffffff17;width:100%;height:4px;overflow:hidden}.lo-overlay__fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent-500), var(--accent-300));height:100%;transition:width var(--dur-base) var(--ease-linear);position:relative}.lo-overlay__fill:after{content:"";animation:lo-shimmer 1.5s var(--ease-standard) infinite;background:linear-gradient(90deg,#0000,#ffffff8c,#0000) 0 0/40% 100% no-repeat;position:absolute;inset:0}.lo-overlay__meta{width:100%;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--slate-400);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.lo-overlay__done{color:var(--success-400)}
