@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Geist-Regular.woff2)format("woff2")}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Geist-Medium.woff2)format("woff2")}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Geist-SemiBold.woff2)format("woff2")}@font-face{font-family:Geist;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Geist-Bold.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JetBrainsMono-400.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/JetBrainsMono-500.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/JetBrainsMono-600.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/JetBrainsMono-700.woff2)format("woff2")}:root{--app-vvh:100dvh;--app-vv-top:0px;--app-vv-left:0px;--sidebar-w:15rem;--topbar-h:3.5rem;--p-night-950:#0b0f14;--p-night-900:#131a22;--p-night-800:#1b232d;--p-line-700:#263141;--p-mist-100:#e6edf3;--p-mist-400:#94a3b8;--p-teal-70:#00b7a9;--p-green-80:#8bd28d;--p-amber-84:#efc469;--p-red-71:#e3827f;--p-ink-deep:#06121f;--p-ink-maroon:#1a0a0c;--p-red-950:#3b1418;--p-scrim-60:#0009;--color-bg:var(--p-night-950);--color-surface:var(--p-night-900);--color-surface-2:var(--p-night-800);--color-border:var(--p-line-700);--color-text:var(--p-mist-100);--color-text-dim:var(--p-mist-400);--color-accent:var(--p-teal-70);--color-ok:var(--p-green-80);--color-warn:var(--p-amber-84);--color-danger:var(--p-red-71);--color-on-accent:var(--p-ink-deep);--color-on-danger:var(--p-ink-maroon);--color-danger-bg:var(--p-red-950);--color-scrim:var(--p-scrim-60);--font-sans:"Geist", "Segoe UI", system-ui, -apple-system, "Noto Sans", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--c-bg:var(--color-bg);--c-surface:var(--color-surface);--c-surface-2:var(--color-surface-2);--c-border:var(--color-border);--c-text:var(--color-text);--c-text-dim:var(--color-text-dim);--c-accent:var(--color-accent);--c-danger:var(--color-danger);--c-danger-bg:var(--color-danger-bg);--c-warn:var(--color-warn);--c-ok:var(--color-ok);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@supports (color:lab(0% 0 0)){:root{--p-teal-70:lab(66.7626% -45.1119 -4.55689);--p-green-80:lab(78.2996% -33.5783 27.0245);--p-amber-84:lab(81.6454% 8.45215 50.9795);--p-red-71:lab(65.154% 37.9759 18.5018)}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}.app-shell{grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;height:var(--app-vvh);max-height:var(--app-vvh);grid-template-areas:"sidebar topbar""sidebar main";display:grid;overflow:hidden}.app-sidebar{background:var(--c-surface);border-right:1px solid var(--c-border);flex-direction:column;grid-area:sidebar;gap:.25rem;padding:.75rem;display:flex;overflow-y:auto}.app-sidebar__brand{letter-spacing:.02em;padding:.5rem .75rem 1rem;font-weight:700}.app-nav-link{color:var(--c-text-dim);border-radius:.5rem;padding:.5rem .75rem;text-decoration:none;display:block}.app-nav-link:hover{background:var(--c-surface-2);color:var(--c-text)}.app-nav-link[data-status=active]{background:var(--c-surface-2);color:var(--c-accent);font-weight:600}.app-topbar{background:var(--c-surface);border-bottom:1px solid var(--c-border);grid-area:topbar;justify-content:space-between;align-items:center;gap:1rem;padding:0 1rem;display:flex}.app-topbar__title{margin:0;font-size:1rem;font-weight:600}.app-main{padding:1.25rem;padding-bottom:calc(1.25rem + var(--app-vv-top));grid-area:main;overflow-y:auto}.app-topbar__right{align-items:center;gap:.75rem;min-width:0;display:flex}.lang-switch{gap:.25rem;display:inline-flex}.lang-switch__btn{border:1px solid var(--c-border);color:var(--c-text-dim);font:inherit;cursor:pointer;background:0 0;border-radius:.375rem;padding:.25rem .6rem;font-size:.8rem}.lang-switch__btn[aria-pressed=true]{background:var(--c-surface-2);color:var(--c-accent);border-color:var(--c-accent)}.page-placeholder{border:1px dashed var(--c-border);background:var(--c-surface);border-radius:.75rem;padding:1.5rem}.page-placeholder h2{margin:0 0 .5rem;font-size:1.15rem}.page-placeholder p{color:var(--c-text-dim);margin:0}.sync-chip{border:1px solid var(--c-border);background:var(--c-surface-2);white-space:nowrap;border-radius:999px;align-items:center;gap:.5rem;min-width:0;padding:.2rem .5rem;font-size:.8rem;display:inline-flex}.sync-chip__state{align-items:center;gap:.4rem;min-width:0;display:inline-flex}.sync-chip__dot{background:var(--c-text-dim);border-radius:50%;flex:none;width:.5rem;height:.5rem}.sync-chip__label{text-overflow:ellipsis;overflow:hidden}.sync-chip__detail{color:var(--c-text-dim);text-overflow:ellipsis;overflow:hidden}.sync-chip__error{color:var(--c-danger)}.sync-chip[data-health=synced] .sync-chip__dot{background:var(--c-ok)}.sync-chip[data-health=syncing] .sync-chip__dot{background:var(--c-accent)}.sync-chip[data-health=never]{border-color:var(--c-warn)}.sync-chip[data-health=never] .sync-chip__dot{background:var(--c-warn)}.sync-chip[data-health=blocked]{border-color:var(--c-danger);background:var(--c-danger-bg);color:var(--c-danger)}.sync-chip[data-health=blocked] .sync-chip__dot,.sync-chip[data-health=blocked] .sync-chip__detail{background:var(--c-danger);color:var(--c-danger)}.sync-chip__btn{border:1px solid var(--c-border);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.1rem .55rem;font-size:.75rem}.sync-chip__btn:disabled{opacity:.55;cursor:default}.sync-banner{border:1px solid var(--c-danger);background:var(--c-danger-bg);border-left-width:4px;border-radius:.75rem;margin:0 0 1.25rem;padding:1rem 1.15rem}.sync-banner__title{color:var(--c-danger);margin:0 0 .4rem;font-size:1.05rem}.sync-banner__body{max-width:70ch;margin:0 0 .75rem}.sync-banner__actions{flex-wrap:wrap;gap:.5rem;display:flex}.sync-banner__btn{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);font:inherit;cursor:pointer;border-radius:.5rem;padding:.35rem .85rem}.sync-banner__btn--primary{border-color:var(--c-danger);background:var(--c-danger);color:var(--color-on-danger);font-weight:600}.sync-banner__hint{color:var(--c-text-dim);margin:.6rem 0 0;font-size:.8rem}.sync-panel__backdrop,.sync-confirm__backdrop{background:var(--color-scrim);z-index:40;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.sync-confirm__backdrop{z-index:50}.sync-panel{width:min(64rem,100%);max-height:calc(var(--app-vvh) - 2rem);border:1px solid var(--c-border);background:var(--c-surface);border-radius:.9rem;flex-direction:column;gap:.75rem;padding:1.15rem;display:flex;overflow:hidden}.sync-panel__head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.sync-panel__title{margin:0;font-size:1.1rem}.sync-panel__close,.sync-confirm__actions button,.sync-table__actions button{border:1px solid var(--c-border);background:var(--c-surface-2);color:var(--c-text);font:inherit;cursor:pointer;border-radius:.5rem;padding:.3rem .7rem;font-size:.85rem}.sync-table__actions button:disabled{opacity:.5;cursor:default}.sync-table__danger{border-color:var(--c-danger)!important;color:var(--c-danger)!important}.sync-panel__desc{color:var(--c-text-dim);max-width:80ch;margin:0}.sync-panel__error{color:var(--c-danger);margin:0}.sync-panel__empty{border:1px dashed var(--c-border);color:var(--c-text-dim);text-align:center;border-radius:.6rem;margin:0;padding:1.5rem}.sync-panel__scroll{overflow:auto}.sync-table{border-collapse:collapse;width:100%;font-size:.85rem}.sync-table th,.sync-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--c-border);padding:.5rem .6rem}.sync-table th{color:var(--c-text-dim);white-space:nowrap;font-weight:600}.sync-table__table{font-weight:600;display:block}.sync-table__uid,.sync-table__key{color:var(--c-text-dim);word-break:break-all;font-size:.75rem;display:block}.sync-table__err{color:var(--c-danger);max-width:26rem}.sync-table__actions{flex-wrap:wrap;gap:.35rem;display:flex}.sync-confirm{border:1px solid var(--c-danger);background:var(--c-surface);border-radius:.9rem;width:min(34rem,100%);padding:1.15rem}.sync-confirm h3{color:var(--c-danger);margin:0 0 .5rem}.sync-confirm p{word-break:break-word;margin:0 0 1rem}.sync-confirm__actions{justify-content:flex-end;gap:.5rem;display:flex}@media (max-width:48rem){.app-topbar__right{gap:.4rem}.sync-chip{font-size:.72rem}.sync-table,.sync-table th,.sync-table td{font-size:.78rem}.app-shell{grid-template-columns:1fr;grid-template-areas:"topbar""main""sidebar";grid-template-rows:var(--topbar-h) 1fr auto}.app-sidebar{border-right:none;border-top:1px solid var(--c-border);flex-direction:row;overflow-x:auto}.app-sidebar__brand{display:none}}.auth-screen{min-height:var(--app-vvh);place-items:center;padding:1.25rem;display:grid}.auth-card{border:1px solid var(--c-border);background:var(--c-surface);border-radius:1rem;width:min(30rem,100%);padding:1.75rem}.auth-card__title{margin:0 0 .35rem;font-size:1.35rem}.auth-card__subtitle{color:var(--c-text-dim);margin:0 0 1.25rem}.auth-card__note{color:var(--c-text-dim);margin:.85rem 0 0;font-size:.85rem}.auth-card__error{border:1px solid var(--c-danger);background:var(--c-surface-2);color:var(--c-text);word-break:break-word;border-radius:.65rem;margin:0 0 1rem;padding:.75rem .85rem;font-size:.9rem}.auth-card__degraded{border:1px solid var(--c-border);background:var(--c-surface-2);border-radius:.65rem;margin:0 0 1rem;padding:.75rem .85rem;font-size:.9rem}.auth-card__degraded p{color:var(--c-text-dim);margin:.4rem 0 0}.auth-card__actions{flex-wrap:wrap;gap:.6rem;display:flex}.auth-btn{border:1px solid var(--c-border);background:var(--c-surface-2);color:var(--c-text);font:inherit;cursor:pointer;border-radius:.6rem;padding:.6rem 1rem}.auth-btn:disabled{opacity:.55;cursor:not-allowed}.auth-btn--primary{border-color:var(--c-accent);background:var(--c-accent);color:var(--color-on-accent);font-weight:600}.auth-btn--ghost{background:0 0}.auth-btn--compact{padding:.3rem .7rem;font-size:.82rem}.auth-gate{color:var(--c-text-dim);padding:1.5rem}.auth-card__notice{border:1px solid var(--c-accent);background:var(--c-surface-2);border-radius:.65rem;margin:0 0 1rem;padding:.75rem .85rem;font-size:.9rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.list-skeleton{flex-direction:column;gap:.6rem;padding:.5rem 0;display:flex}.list-skeleton__row{grid-template-columns:2fr 1fr 1fr .6fr;align-items:center;gap:.75rem;display:grid}.skeleton{background:var(--c-surface-2,#1b2230);background-image:linear-gradient(90deg, var(--c-surface-2,#1b2230) 0%, var(--c-border,#2a3346) 50%, var(--c-surface-2,#1b2230) 100%);background-size:200% 100%;border-radius:.4rem;height:1rem;animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}.skeleton--cell{height:1rem}.skeleton--narrow{width:60%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.error-state{border:1px solid var(--c-danger,#e0556b);background:var(--color-danger-bg,#2a1418);color:var(--c-text);border-radius:.7rem;flex-direction:column;gap:.6rem;padding:1.25rem;display:flex}.error-state__title{color:var(--c-danger,#e0556b);margin:0;font-size:1.05rem;font-weight:700}.error-state__message{color:var(--c-text-dim);margin:0}.error-state__details{flex-direction:column;gap:.4rem;display:flex}.error-state__details-toggle{border:1px solid var(--c-border);color:var(--c-text-dim);cursor:pointer;background:0 0;border-radius:.45rem;align-self:flex-start;padding:.25rem .6rem;font-size:.82rem}.error-state__details-body{white-space:pre-wrap;word-break:break-word;background:var(--c-surface);border:1px solid var(--c-border);max-height:16rem;color:var(--c-text-dim);border-radius:.45rem;margin:0;padding:.6rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;overflow:auto}.error-state__retry{border:1px solid var(--c-accent,#4fd1c5);background:var(--c-accent,#4fd1c5);color:var(--color-on-accent,#06231f);cursor:pointer;border-radius:.5rem;align-self:flex-start;padding:.5rem 1.1rem;font-weight:600}.error-state__retry:hover{filter:brightness(1.08)}
