@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--font-sans:"Geist", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, "Cascadia Code", monospace;--text-xs:.6875rem;--text-sm:.8125rem;--text-base:.9375rem;--text-lg:1.0625rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--color-accent:oklch(50% .18 264);--color-accent-light:oklch(62% .15 264);--color-accent-dim:oklch(50% .18 264/.12);--color-accent-hover:oklch(44% .2 264);--color-bg:oklch(98.5% .002 264);--color-bg-subtle:oklch(96.5% .004 264);--color-surface:oklch(100% 0 264);--color-surface-raised:oklch(100% 0 264);--color-border:oklch(88% .006 264);--color-border-strong:oklch(78% .01 264);--color-text:oklch(18% .015 264);--color-text-secondary:oklch(42% .012 264);--color-text-muted:oklch(58% .008 264);--color-text-disabled:oklch(72% .006 264);--color-text-inverse:oklch(98.5% .002 264);--color-success:oklch(52% .14 145);--color-success-bg:oklch(96% .04 145);--color-success-text:oklch(30% .1 145);--color-error:oklch(52% .18 25);--color-error-bg:oklch(96% .04 25);--color-error-text:oklch(32% .12 25);--color-warning:oklch(65% .14 75);--color-warning-bg:oklch(97% .04 75);--color-warning-text:oklch(38% .1 75);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:3px;--radius-md:5px;--radius-lg:8px;--radius-full:9999px;--shadow-xs:0 1px 2px oklch(18% .015 264/.05);--shadow-sm:0 1px 4px oklch(18% .015 264/.08);--shadow-md:0 4px 12px oklch(18% .015 264/.1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--duration-fast:.12s;--duration-normal:.2s;--duration-slow:.3s;--sidebar-width:216px;--content-max-width:1100px;--header-height:56px}*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);margin:0}h1{font-size:var(--text-2xl);letter-spacing:-.025em;font-weight:600;line-height:var(--leading-tight);margin:0}h2{font-size:var(--text-xl);letter-spacing:-.018em;font-weight:600;line-height:var(--leading-snug);margin:0}h3{font-size:var(--text-lg);letter-spacing:-.012em;font-weight:500;line-height:var(--leading-snug);margin:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.btn{font-family:var(--font-sans);font-size:var(--text-sm);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out-expo), color var(--duration-fast) var(--ease-out-expo), border-color var(--duration-fast) var(--ease-out-expo), opacity var(--duration-fast) var(--ease-out-expo);border:1px solid #0000;justify-content:center;align-items:center;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.45}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn-primary{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-primary:active:not(:disabled){background:oklch(40% .22 264);border-color:oklch(40% .22 264)}.btn-secondary{background:var(--color-surface);color:var(--color-text-secondary);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-subtle);color:var(--color-text);border-color:var(--color-text-disabled)}.btn-secondary:active:not(:disabled){background:var(--color-bg)}.btn-danger{background:var(--color-surface);color:var(--color-error-text);border-color:oklch(78% .08 25)}.btn-danger:hover:not(:disabled){background:var(--color-error-bg);border-color:var(--color-error-text)}.btn-danger:active:not(:disabled){background:oklch(93% .06 25)}.btn-ghost-danger{color:var(--color-error-text);padding-inline:var(--space-1);font-size:var(--text-xs);background:0 0;border-color:#0000;font-weight:600}.btn-ghost-danger:hover:not(:disabled){background:var(--color-error-bg);border-radius:var(--radius-sm)}.btn-sm{font-size:var(--text-xs);padding:var(--space-1) var(--space-3)}.skeleton-block{background:var(--color-border);border-radius:var(--radius-sm);animation:1.6s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.skeleton-block{opacity:.5;animation:none}}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(3px)}}.toast-enter{animation:toast-in var(--duration-fast) var(--ease-out-expo) both}.toast-exit{animation:toast-out var(--duration-fast) ease-in both;pointer-events:none}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-sm);background:var(--color-surface)}.data-table thead tr{border-bottom:1px solid var(--color-border-strong);background:oklch(94.5% .008 264)}.data-table th{text-align:left;padding:var(--space-2) var(--space-4);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;font-weight:500}.data-table tbody tr{transition:background var(--duration-fast) var(--ease-out-expo)}.data-table tbody tr:hover{background:var(--color-bg-subtle)}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text);background:var(--color-surface);box-sizing:border-box;transition:border-color var(--duration-fast) var(--ease-out-expo), box-shadow var(--duration-fast) var(--ease-out-expo);outline:none}.input::placeholder{color:var(--color-text-disabled)}.input:hover{border-color:var(--color-border-strong)}.input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-dim)}.input:disabled{background:var(--color-bg-subtle);color:var(--color-text-disabled);cursor:not-allowed}.field-label{font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:var(--space-1);font-weight:500;display:block}.commandOverlay{z-index:200;background:oklch(18% .015 264/.45);justify-content:center;align-items:flex-start;padding-top:18vh;display:flex;position:fixed;inset:0}.commandPalette{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:560px;box-shadow:var(--shadow-md);margin:0 var(--space-4);overflow:hidden}.commandSearch{width:100%;padding:var(--space-4);border:none;border-bottom:1px solid var(--color-border);font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);box-sizing:border-box;background:0 0;outline:none}.commandSearch::placeholder{color:var(--color-text-disabled)}.commandResults{overscroll-behavior:contain;max-height:340px;overflow-y:auto}.commandGroup{padding:var(--space-2) 0}.commandGroup+.commandGroup{border-top:1px solid var(--color-border)}.commandGroupLabel{padding:var(--space-2) var(--space-4) var(--space-1);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);font-weight:500}.commandItem{width:100%;padding:var(--space-2) var(--space-4);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:var(--space-3);transition:background var(--duration-fast) var(--ease-out-expo);font-family:var(--font-sans);background:0 0;border:none;display:flex}.commandItem:hover,.commandItemActive{background:var(--color-bg-subtle)}.commandItemLabel{font-size:var(--text-sm);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.commandItemSub{font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-mono);flex-shrink:0}.commandEmpty{padding:var(--space-8) var(--space-4);text-align:center;font-size:var(--text-sm);color:var(--color-text-muted)}.commandFooter{padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border);gap:var(--space-4);display:flex}.commandHint{align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-disabled);display:inline-flex}.commandHint kbd{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--color-text-muted);padding:1px 5px;font-size:10px;line-height:1.6}.sidebarDrawer{position:relative}@keyframes page-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.pageMain{animation:page-in .15s var(--ease-out-expo) both}@media (prefers-reduced-motion:reduce){.pageMain{animation:none}}.navLink{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-sans);color:oklch(70% .06 264);transition:color var(--duration-fast) var(--ease-out-expo), background var(--duration-fast) var(--ease-out-expo), border-color var(--duration-fast) var(--ease-out-expo);background:0 0;border-left:2px solid #0000;margin-bottom:2px;font-weight:450;text-decoration:none;display:block}.navLink:hover{color:oklch(92% .02 264);background:oklch(100% 0 0/.07)}.navLink:focus-visible{outline:2px solid var(--color-accent-light);outline-offset:2px}.navLinkActive{color:oklch(97% .01 264);border-left-color:var(--color-accent-light);background:oklch(100% 0 0/.1);font-weight:500}.logoutBtn{cursor:pointer;font-family:var(--font-sans);font-size:var(--text-xs);color:oklch(55% .05 264);transition:color var(--duration-fast) var(--ease-out-expo);background:0 0;border:none;padding:0}.logoutBtn:hover{color:oklch(80% .04 264)}.logoutBtn:focus-visible{outline:2px solid var(--color-accent-light);outline-offset:3px;border-radius:var(--radius-sm)}.mobileHeader{display:none}.overlay{z-index:99;cursor:pointer;background:oklch(14% .06 264/.5);display:none;position:fixed;inset:0}@media (width<=767px){.mobileHeader{padding:var(--space-4);z-index:98;background:oklch(14% .06 264);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.mobileTitle{font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;color:oklch(55% .08 264);font-weight:600;font-family:var(--font-sans)}.hamburger{cursor:pointer;padding:var(--space-1);background:0 0;border:none;flex-direction:column;gap:5px;display:flex}.hamburger span{width:20px;height:2px;transition:background var(--duration-fast) var(--ease-out-expo);background:oklch(70% .06 264);border-radius:1px;display:block}.hamburger:hover span{background:oklch(92% .02 264)}.sidebarDrawer{z-index:100;transition:transform var(--duration-normal) var(--ease-out-expo);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebarDrawerOpen{transform:translate(0)}.overlayVisible{display:block}}.pageHeader{justify-content:space-between;align-items:flex-start;gap:var(--space-6);padding-bottom:var(--space-6);margin-bottom:var(--space-6);border-bottom:1px solid var(--color-border);display:flex}.pageHeaderText{flex:1;min-width:0}.breadcrumb{margin:0 0 var(--space-2);font-size:var(--text-xs);align-items:center;display:flex}.breadcrumbItem{display:contents}.breadcrumbLink{color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-out-expo);text-decoration:none}.breadcrumbLink:hover{color:var(--color-accent)}.breadcrumbLink:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.breadcrumbLabel{color:var(--color-text-muted)}.breadcrumbSep{color:var(--color-text-disabled);margin:0 var(--space-2);-webkit-user-select:none;user-select:none}.breadcrumbCurrent{color:var(--color-text-secondary)}.pageHeaderDesc{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);max-width:600px}.pageHeaderAction{flex-shrink:0;padding-top:2px}
