.confirm-backdrop[data-v-8f238cb9]{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;background:#00000080;padding:1rem}.confirm-card[data-v-8f238cb9]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 12px 40px #00000059;padding:1.25rem 1.5rem;max-width:28rem;width:100%}.confirm-title[data-v-8f238cb9]{margin:0 0 .5rem;font-size:1.05rem}.confirm-message[data-v-8f238cb9]{margin:0 0 1rem;color:var(--color-text-muted);font-size:.9rem;white-space:pre-line}.confirm-actions[data-v-8f238cb9]{display:flex;justify-content:flex-end;gap:.5rem}.dialog-backdrop[data-v-ee0b2251]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:#00000080;padding:var(--space-4)}.dialog-card[data-v-ee0b2251]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-5) var(--space-6);max-width:42rem;width:100%;max-height:85vh;overflow-y:auto}.dialog-header[data-v-ee0b2251]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-4)}.dialog-title[data-v-ee0b2251]{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.clause[data-v-ee0b2251]{margin-bottom:var(--space-4)}.clause h3[data-v-ee0b2251]{margin:0 0 var(--space-1);font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted)}.clause p[data-v-ee0b2251]{margin:0;font-size:var(--font-size-base);line-height:var(--leading-relaxed)}.clause p+p[data-v-ee0b2251]{margin-top:var(--space-2)}.disclaimer[data-v-ee0b2251]{margin-bottom:var(--space-4)}.dialog-actions[data-v-ee0b2251]{display:flex;justify-content:flex-end}.app-footer[data-v-c6de1b30]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-surface-translucent);-webkit-backdrop-filter:var(--bar-blur);backdrop-filter:var(--bar-blur);font-size:var(--font-size-sm);color:var(--color-text-muted);position:sticky;bottom:0;z-index:10}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.app-footer[data-v-c6de1b30]{background:var(--color-surface)}}.igepn-link[data-v-c6de1b30]{display:inline-flex;align-items:center;background:#fff;padding:var(--space-1) var(--space-2);border-radius:var(--radius);transition:box-shadow var(--transition-fast)}.igepn-link[data-v-c6de1b30]:hover{box-shadow:var(--shadow-xs);text-decoration:none}.igepn-logo[data-v-c6de1b30]{display:block;height:2.25rem;width:auto;object-fit:contain}.copyright[data-v-c6de1b30]{font-size:var(--font-size-sm);color:var(--color-text-muted);text-decoration-color:var(--color-border-strong)}.copyright[data-v-c6de1b30]:hover{color:var(--color-text)}.powered[data-v-c6de1b30]{display:inline-flex;align-items:center;gap:var(--space-2)}.ummonx-link[data-v-c6de1b30]{display:inline-flex;align-items:center;opacity:.9;transition:opacity var(--transition-fast)}.ummonx-link[data-v-c6de1b30]:hover{opacity:1;text-decoration:none}.ummonx-logo[data-v-c6de1b30]{display:block;height:1.6rem;width:auto;object-fit:contain}@media(max-width:40rem){.app-footer[data-v-c6de1b30]{justify-content:center}}.locale-toggle[data-v-44e261ca]{font-family:var(--font-mono);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-wide)}.locale-toggle[data-v-44e261ca]:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.app-logo[data-v-e108788f]{display:block;flex-shrink:0}.license-banner[data-v-b68c5763]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin:0 0 var(--space-4);border-radius:0}.license-text[data-v-b68c5763]{display:flex;flex-direction:column;gap:var(--space-0-5);min-width:0}.license-hint[data-v-b68c5763]{font-size:var(--font-size-sm);opacity:.9}.theme-toggle[data-v-443bb666]{font-size:var(--font-size-md)}.theme-toggle[data-v-443bb666]:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.system-pill[data-v-6628c738]{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-0-5) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-text-muted);text-decoration:none;white-space:nowrap}.system-pill[data-v-6628c738]:hover{border-color:var(--color-border-strong);color:var(--color-text);text-decoration:none}.system-dot[data-v-6628c738]{width:.5rem;height:.5rem;border-radius:var(--radius-full);background:var(--color-text-subtle);flex-shrink:0}.system-pill[data-state=ok] .system-dot[data-v-6628c738]{background:var(--color-success)}.system-pill[data-state=degraded] .system-dot[data-v-6628c738]{background:var(--color-warning)}.system-pill[data-state=down] .system-dot[data-v-6628c738]{background:var(--color-danger)}.system-pill[data-state=down][data-v-6628c738]{border-color:var(--color-danger);color:var(--color-danger)}.shell[data-v-6628c738]{min-height:100vh;display:flex;flex-direction:column}.topbar[data-v-6628c738]{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:var(--color-surface-translucent);-webkit-backdrop-filter:var(--bar-blur);backdrop-filter:var(--bar-blur);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:20}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.topbar[data-v-6628c738]{background:var(--color-surface)}}.brand[data-v-6628c738]{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:700;letter-spacing:.02em;color:var(--color-text);text-decoration:none}.brand[data-v-6628c738]:hover{text-decoration:none;color:var(--color-text)}.ws-status[data-v-6628c738]{font-size:.75rem;color:var(--color-text-muted)}.ws-status[data-status=open][data-v-6628c738]{color:var(--color-success)}.grow[data-v-6628c738]{flex:1}.user[data-v-6628c738]{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;max-width:14rem}.body[data-v-6628c738]{flex:1;display:flex;min-height:0}.sidebar[data-v-6628c738]{display:none;flex-direction:column;gap:.15rem;padding:.75rem .5rem;width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border)}.sidebar.open[data-v-6628c738]{display:flex;position:fixed;top:3rem;bottom:0;left:0;z-index:15;box-shadow:var(--shadow)}.nav-link[data-v-6628c738]{display:block;padding:.45rem .75rem;border-radius:var(--radius);color:var(--color-text)}.nav-link[data-v-6628c738]:hover{background:var(--color-surface-2);text-decoration:none}.nav-link.active[data-v-6628c738]{background:var(--color-surface-2);color:var(--color-accent);font-weight:600}.nav-external[data-v-6628c738]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.nav-external-mark[data-v-6628c738]{font-size:var(--font-size-xs);opacity:.5}.nav-badge[data-v-6628c738]{display:inline-block;min-width:1.35rem;margin-left:.4rem;padding:0 .35rem;border-radius:999px;background:var(--color-danger);color:#fff;font-size:.7rem;font-weight:700;text-align:center;line-height:1.35rem}.main-wrapper[data-v-6628c738]{flex:1;min-width:0;display:flex;flex-direction:column}.content[data-v-6628c738]{flex:1;padding:1rem}.nav-toggle[data-v-6628c738],.nav-collapse[data-v-6628c738]{padding:.3rem .6rem}.nav-collapse[data-v-6628c738]{display:none}@media(min-width:900px){.nav-toggle[data-v-6628c738]{display:none}.nav-collapse[data-v-6628c738]{display:inline-flex}.sidebar[data-v-6628c738]{display:flex;position:static;box-shadow:none}.sidebar.collapsed[data-v-6628c738]{width:0;padding-left:0;padding-right:0;border-right-width:0;overflow:hidden}.content[data-v-6628c738]{padding:1.5rem 2rem}}@media(min-width:900px)and (prefers-reduced-motion:no-preference){.sidebar[data-v-6628c738]{transition:width var(--transition-base),padding var(--transition-base)}}@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/spacemono-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/spacemono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/spacemono-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/spacemono-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans: "Barlow", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "Space Mono", ui-monospace, "SF Mono", "Cascadia Mono", Consolas, "Liberation Mono", monospace;--font-size-2xs: .625rem;--font-size-xs: .6875rem;--font-size-sm: .75rem;--font-size-base: .875rem;--font-size-md: .9375rem;--font-size-lg: 1.0625rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--leading-tight: 1.2;--leading-snug: 1.35;--leading-base: 1.5;--leading-relaxed: 1.65;--tracking-tight: -.01em;--tracking-normal: 0;--tracking-wide: .03em;--tracking-wider: .06em;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--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;--space-20: 5rem;--radius-xs: 2px;--radius-sm: 3px;--radius: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-xl: 16px;--radius-full: 9999px;--z-below: -1;--z-base: 0;--z-raised: 10;--z-sticky: 20;--z-overlay: 100;--z-modal: 200;--z-toast: 300;--transition-fast: .1s ease;--transition-base: .18s ease;--transition-slow: .32s ease;--transition-spring: .22s cubic-bezier(.34, 1.56, .64, 1);--sidebar-width: 14rem;--topbar-height: 2.75rem;--content-max-width: 80rem}:root{color-scheme:light;--color-bg: #f3f3f3;--color-surface: #ffffff;--color-surface-2: #ededed;--color-surface-3: #e2e2e2;--color-surface-translucent: rgb(255 255 255 / .82);--bar-blur: saturate(180%) blur(12px);--color-media-bg: #000;--color-grid: rgb(0 0 0 / .022);--grid-size: 64px;--color-border: #d8d8d8;--color-border-strong: #aaaaaa;--color-text: #1e2124;--color-text-muted: #696969;--color-text-subtle: #949494;--color-accent: #15719d;--color-accent-hover: #115f85;--color-accent-active: #0e4e6d;--color-accent-muted: #e2f2f9;--color-accent-contrast: #ffffff;--color-danger: #bf2a2a;--color-danger-hover: #a52323;--color-danger-muted: #fdeaea;--color-warning: #8f5406;--color-warning-hover: #744404;--color-warning-muted: #fdf1dd;--color-success: #1a7840;--color-success-hover: #166235;--color-success-muted: #e3f5e9;--color-info: #15719d;--color-info-muted: #e2f2f9;--color-focus: #15719d;--color-focus-ring: 0 0 0 3px rgb(21 113 157 / .3);--shadow-xs: 0 1px 1px rgb(0 0 0 / .04);--shadow: 0 1px 2px rgb(0 0 0 / .06);--shadow-md: 0 4px 10px rgb(0 0 0 / .08);--shadow-lg: 0 10px 30px rgb(0 0 0 / .14)}:root[data-theme=dark]{color-scheme:dark;--color-bg: #050505;--color-surface: #0d0d0d;--color-surface-2: #161616;--color-surface-3: #1f1f1f;--color-surface-translucent: rgb(13 13 13 / .86);--color-border: rgb(255 255 255 / .09);--color-border-strong: rgb(255 255 255 / .2);--color-grid: rgb(255 255 255 / .025);--color-text: #ffffff;--color-text-muted: #969696;--color-text-subtle: #6b6b6b;--color-accent: #2aabee;--color-accent-hover: #4fbcf3;--color-accent-active: #74cbf6;--color-accent-muted: rgb(42 171 238 / .12);--color-accent-contrast: #050505;--color-danger: #ff6b6b;--color-danger-hover: #ff8585;--color-danger-muted: rgb(255 107 107 / .12);--color-warning: #ffb84d;--color-warning-hover: #ffc76e;--color-warning-muted: rgb(255 184 77 / .12);--color-success: #4dd98b;--color-success-hover: #6fe2a2;--color-success-muted: rgb(77 217 139 / .12);--color-info: #2aabee;--color-info-muted: rgb(42 171 238 / .12);--color-focus: #2aabee;--color-focus-ring: 0 0 0 3px rgb(42 171 238 / .4);--shadow-xs: 0 1px 2px rgb(0 0 0 / .6);--shadow: 0 1px 3px rgb(0 0 0 / .7);--shadow-md: 0 4px 14px rgb(0 0 0 / .75);--shadow-lg: 0 12px 36px rgb(0 0 0 / .85)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-bg: #050505;--color-surface: #0d0d0d;--color-surface-2: #161616;--color-surface-3: #1f1f1f;--color-surface-translucent: rgb(13 13 13 / .86);--color-border: rgb(255 255 255 / .09);--color-border-strong: rgb(255 255 255 / .2);--color-grid: rgb(255 255 255 / .025);--color-text: #ffffff;--color-text-muted: #969696;--color-text-subtle: #6b6b6b;--color-accent: #2aabee;--color-accent-hover: #4fbcf3;--color-accent-active: #74cbf6;--color-accent-muted: rgb(42 171 238 / .12);--color-accent-contrast: #050505;--color-danger: #ff6b6b;--color-danger-hover: #ff8585;--color-danger-muted: rgb(255 107 107 / .12);--color-warning: #ffb84d;--color-warning-hover: #ffc76e;--color-warning-muted: rgb(255 184 77 / .12);--color-success: #4dd98b;--color-success-hover: #6fe2a2;--color-success-muted: rgb(77 217 139 / .12);--color-info: #2aabee;--color-info-muted: rgb(42 171 238 / .12);--color-focus: #2aabee;--color-focus-ring: 0 0 0 3px rgb(42 171 238 / .4);--shadow-xs: 0 1px 2px rgb(0 0 0 / .6);--shadow: 0 1px 3px rgb(0 0 0 / .7);--shadow-md: 0 4px 14px rgb(0 0 0 / .75);--shadow-lg: 0 12px 36px rgb(0 0 0 / .85)}}:root{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}*,*:before,*:after{box-sizing:border-box}html,body,#app{margin:0;min-height:100vh}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(to right,var(--color-grid) 1px,transparent 1px),linear-gradient(to bottom,var(--color-grid) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size)}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--leading-base);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-2);line-height:var(--leading-snug);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight)}h1{font-size:var(--font-size-xl)}h2{font-size:var(--font-size-lg)}h3{font-size:var(--font-size-md)}h4,h5,h6{font-size:var(--font-size-base)}p{margin:0 0 var(--space-3)}.card p:last-child,form p:last-child{margin-bottom:0}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover);text-decoration:underline}code,.mono{font-family:var(--font-mono);font-size:.85em}code{padding:.1em .35em;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}pre{margin:0;padding:var(--space-3) var(--space-4);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius);overflow-x:auto}pre code{padding:0;background:none;border:none;font-size:inherit}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;box-shadow:var(--color-focus-ring);border-radius:var(--radius-sm)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}label{display:block;font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-1)}label:has(>input[type=checkbox]),label:has(>input[type=radio]){font-family:var(--font-sans);display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);letter-spacing:normal;text-transform:none;color:var(--color-text)}input,select,textarea{width:100%;padding:var(--space-2) var(--space-2-5);font:inherit;font-size:var(--font-size-base);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);appearance:none}input::placeholder,textarea::placeholder{color:var(--color-text-subtle)}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--color-border-strong)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:0;border-color:var(--color-focus);box-shadow:var(--color-focus-ring);border-radius:var(--radius)}input[type=checkbox],input[type=radio]{width:auto;flex-shrink:0;appearance:auto;padding:0;background:none;border:none;accent-color:var(--color-accent)}input[type=datetime-local],input[type=date],input[type=time]{color-scheme:inherit}input[type=range]{padding:0;background:none;border:none}input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed;background:var(--color-surface-2)}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23808ea0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-2-5) center;padding-right:var(--space-8);cursor:pointer}.field{margin-bottom:var(--space-4)}.field-hint{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--leading-snug)}.field-error{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-danger);line-height:var(--leading-snug)}fieldset{border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4)}legend{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted);padding:0 var(--space-1-5)}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1-5);padding:var(--space-1-5) var(--space-3);font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);-webkit-user-select:none;user-select:none}button:hover:not(:disabled),.btn:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-border-strong);text-decoration:none}button:active:not(:disabled),.btn:active:not(:disabled){background:var(--color-surface-3)}button:disabled,.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-accent-contrast)}.btn-primary:active:not(:disabled){background:var(--color-accent-active);border-color:var(--color-accent-active)}.btn-danger{background:transparent;border-color:var(--color-danger);color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger-muted);border-color:var(--color-danger-hover);color:var(--color-danger-hover)}.btn-ghost{background:transparent;border-color:transparent;color:var(--color-text-muted)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-text)}.btn-bar{min-height:1.75rem;min-width:2rem}.btn-icon{padding:var(--space-1-5);aspect-ratio:1;line-height:1}.btn-icon.btn-sm{padding:var(--space-1)}.btn-icon{font-size:var(--font-size-lg);line-height:1}.btn-sm{padding:var(--space-1) var(--space-2-5);font-size:var(--font-size-xs)}.btn-block{width:100%}.btn-link{padding:0;background:none;border:none;color:var(--color-accent);font-size:inherit;text-decoration:underline}.btn-link:hover:not(:disabled){background:none;border:none;color:var(--color-accent-hover)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:var(--space-4)}table.data{width:100%;border-collapse:collapse;font-size:var(--font-size-base)}table.data th,table.data td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);vertical-align:middle}table.data th{color:var(--color-text-muted);font-family:var(--font-mono);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);white-space:nowrap;background:var(--color-surface-2);border-bottom-color:var(--color-border-strong)}table.data thead tr th:first-child{border-radius:var(--radius-sm) 0 0 0}table.data thead tr th:last-child{border-radius:0 var(--radius-sm) 0 0}table.data tbody tr:last-child td{border-bottom:none}table.data tbody tr:hover{background:var(--color-surface-2)}table.data tbody tr{transition:background var(--transition-fast)}.row{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center}.self-end{align-self:end}.grow{flex:1}.muted{color:var(--color-text-muted)}.error-text{color:var(--color-danger)}.mono{font-family:var(--font-mono);font-size:.85em}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nowrap{white-space:nowrap}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.skeleton{display:inline-block;background:linear-gradient(90deg,var(--color-surface-2) 0%,var(--color-surface-3) 45%,var(--color-surface-2) 100%);background-size:200% 100%;border-radius:var(--radius);animation:skeleton-shimmer 1.5s ease infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line{display:block;height:.875em;border-radius:var(--radius)}.skeleton-line+.skeleton-line{margin-top:var(--space-2)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:.15rem var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);white-space:nowrap;border:1px solid currentcolor;border-radius:var(--radius-full);color:var(--color-text-muted);line-height:1.4}.badge-success{color:var(--color-success)}.badge-danger{color:var(--color-danger)}.badge-warning{color:var(--color-warning)}.badge-info{color:var(--color-info)}.badge-filled{border-color:transparent;background:var(--color-surface-2);color:var(--color-text-muted)}.badge-filled.badge-success{background:var(--color-success-muted);color:var(--color-success)}.badge-filled.badge-danger{background:var(--color-danger-muted);color:var(--color-danger)}.badge-filled.badge-warning{background:var(--color-warning-muted);color:var(--color-warning)}.badge-filled.badge-info{background:var(--color-info-muted);color:var(--color-info)}.alert{display:flex;gap:var(--space-2-5);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-base);border:1px solid transparent;background:var(--color-surface-2);color:var(--color-text-muted)}.alert-danger{background:var(--color-danger-muted);border-color:var(--color-danger);color:var(--color-danger)}.alert-warning{background:var(--color-warning-muted);border-color:var(--color-warning);color:var(--color-warning)}.alert-success{background:var(--color-success-muted);border-color:var(--color-success);color:var(--color-success)}.alert-info{background:var(--color-info-muted);border-color:var(--color-info);color:var(--color-info)}hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-4) 0}
