:root{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", "Courier New", monospace;--fs-xs: 11.5px;--fs-sm: 12.5px;--fs-base: 13.5px;--fs-md: 15px;--fs-lg: 17px;--fs-xl: 20px;--fs-2xl: 25px;--lh-tight: 1.25;--lh-normal: 1.5;--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: 9px;--radius-lg: 14px;--radius-pill: 999px;--transition-fast: .12s ease;--transition: .18s ease;--sidebar-w: 236px;--topbar-h: 56px;--content-max: 1180px}:root,:root[data-theme=dark]{color-scheme:dark;--bg: #0a0c10;--bg-subtle: #0e1117;--surface: #14181f;--surface-2: #1a1f28;--surface-3: #222834;--surface-hover: #1e2530;--border: #262d38;--border-strong: #354052;--text: #e7eaf0;--text-secondary: #a4adbd;--text-muted: #6a7383;--accent: #6366f1;--accent-hover: #7679f5;--accent-press: #575ae0;--accent-fg: #ffffff;--accent-bg: rgba(99, 102, 241, .16);--accent-border: rgba(99, 102, 241, .4);--accent-text: #a5a8ff;--success: #22c55e;--success-bg: rgba(34, 197, 94, .15);--success-text: #4ade80;--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .15);--warning-text: #fbbf24;--danger: #ef4444;--danger-hover: #f05656;--danger-bg: rgba(239, 68, 68, .15);--danger-text: #f87171;--neutral-bg: rgba(148, 163, 184, .14);--neutral-text: #9aa4b2;--overlay: rgba(3, 5, 9, .66);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 4px 16px rgba(0, 0, 0, .45);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .55);--skeleton-base: #1a1f28;--skeleton-shine: #262d38;--focus-ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent)}:root[data-theme=light]{color-scheme:light;--bg: #f4f6f9;--bg-subtle: #eceff3;--surface: #ffffff;--surface-2: #f6f8fa;--surface-3: #eef1f5;--surface-hover: #f0f3f7;--border: #e2e6ec;--border-strong: #cdd3dd;--text: #161b22;--text-secondary: #4b5563;--text-muted: #7b8494;--accent: #5457e0;--accent-hover: #4a4dd6;--accent-press: #3f42c4;--accent-fg: #ffffff;--accent-bg: rgba(99, 102, 241, .1);--accent-border: rgba(99, 102, 241, .35);--accent-text: #4a4dd6;--success: #16a34a;--success-bg: rgba(22, 163, 74, .12);--success-text: #15803d;--warning: #d97706;--warning-bg: rgba(217, 119, 6, .13);--warning-text: #b45309;--danger: #dc2626;--danger-hover: #c81e1e;--danger-bg: rgba(220, 38, 38, .1);--danger-text: #b91c1c;--neutral-bg: rgba(100, 116, 139, .12);--neutral-text: #556070;--overlay: rgba(23, 27, 34, .4);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow: 0 6px 20px rgba(16, 24, 40, .1);--shadow-lg: 0 18px 48px rgba(16, 24, 40, .16);--skeleton-base: #eceff3;--skeleton-shine: #f6f8fa;--focus-ring: 0 0 0 2px var(--surface), 0 0 0 4px var(--accent)}@media(prefers-color-scheme:light){:root:not([data-theme]){color-scheme:light;--bg: #f4f6f9;--bg-subtle: #eceff3;--surface: #ffffff;--surface-2: #f6f8fa;--surface-3: #eef1f5;--surface-hover: #f0f3f7;--border: #e2e6ec;--border-strong: #cdd3dd;--text: #161b22;--text-secondary: #4b5563;--text-muted: #7b8494;--accent: #5457e0;--accent-hover: #4a4dd6;--accent-press: #3f42c4;--accent-bg: rgba(99, 102, 241, .1);--accent-border: rgba(99, 102, 241, .35);--accent-text: #4a4dd6;--success-text: #15803d;--warning-text: #b45309;--danger-text: #b91c1c;--neutral-text: #556070;--overlay: rgba(23, 27, 34, .4);--skeleton-base: #eceff3;--skeleton-shine: #f6f8fa}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-weight:650;line-height:var(--lh-tight);color:var(--text)}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}input,textarea,select{font-size:var(--fs-base)}button{cursor:pointer}code,kbd,samp,pre{font-family:var(--font-mono)}ul,ol{list-style:none;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}:focus:not(:focus-visible){outline:none}::selection{background:var(--accent-bg);color:var(--text)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:content-box}.mono{font-family:var(--font-mono);font-size:.92em;letter-spacing:-.01em}.muted{color:var(--text-muted)}.secondary{color:var(--text-secondary)}.nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);height:36px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--text);font-size:var(--fs-base);font-weight:550;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn svg{flex-shrink:0}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn--primary:not(:disabled):hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn--primary:not(:disabled):active{background:var(--accent-press)}.btn--secondary{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.btn--secondary:not(:disabled):hover{background:var(--surface-3);border-color:var(--text-muted)}.btn--ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn--ghost:not(:disabled):hover{background:var(--surface-2);color:var(--text)}.btn--danger{background:transparent;border-color:var(--border-strong);color:var(--danger-text)}.btn--danger:not(:disabled):hover{background:var(--danger-bg);border-color:var(--danger)}.btn--danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn--danger-solid:not(:disabled):hover{background:var(--danger-hover);border-color:var(--danger-hover)}.btn--sm{height:28px;padding:0 var(--space-3);font-size:var(--fs-sm);border-radius:var(--radius-sm)}.btn--icon{width:34px;height:34px;padding:0}.btn--block{width:100%}.copy-btn{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;height:22px;padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-muted);font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:550;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.copy-btn:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-3)}.copy-btn.is-copied{color:var(--success-text);border-color:var(--success)}.mono-value{display:inline-flex;align-items:center;gap:var(--space-2);max-width:100%}.mono-value__text{font-family:var(--font-mono);font-size:.92em;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono-value--muted .mono-value__text{color:var(--text-secondary)}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:600;line-height:1.5;white-space:nowrap}.badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.badge--success{background:var(--success-bg);color:var(--success-text)}.badge--warning{background:var(--warning-bg);color:var(--warning-text)}.badge--danger{background:var(--danger-bg);color:var(--danger-text)}.badge--neutral{background:var(--neutral-bg);color:var(--neutral-text)}.badge--accent{background:var(--accent-bg);color:var(--accent-text)}.badge--outline{background:transparent;border:1px solid var(--border-strong);color:var(--text-secondary)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.card__title{font-size:var(--fs-md);font-weight:620}.card__subtitle{margin-top:2px;font-size:var(--fs-sm);color:var(--text-muted);font-weight:400}.card__body{padding:var(--space-5)}.card__body--flush{padding:0}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-6)}.page-header__title{font-size:var(--fs-2xl);font-weight:680;letter-spacing:-.02em}.page-header__subtitle{margin-top:var(--space-1);color:var(--text-muted);font-size:var(--fs-base);max-width:62ch}.page-header__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field__label{font-size:var(--fs-sm);font-weight:600;color:var(--text-secondary)}.field__label .req{color:var(--danger-text);margin-left:2px}.field__hint{font-size:var(--fs-sm);color:var(--text-muted)}.field__error{font-size:var(--fs-sm);color:var(--danger-text);display:flex;align-items:center;gap:6px}.input,.select,.textarea{width:100%;padding:0 var(--space-3);height:38px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.textarea{height:auto;min-height:84px;padding:var(--space-3);resize:vertical;line-height:var(--lh-normal)}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);background:var(--surface)}.input.is-invalid,.select.is-invalid,.textarea.is-invalid{border-color:var(--danger)}.input.is-invalid:focus,.textarea.is-invalid:focus{box-shadow:0 0 0 3px var(--danger-bg)}.input--mono{font-family:var(--font-mono);font-size:.94em}.select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:var(--space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237b8494' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;cursor:pointer}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.form-grid .field--full{grid-column:1 / -1}@media(max-width:620px){.form-grid{grid-template-columns:1fr}}.form-actions{display:flex;gap:var(--space-3);justify-content:flex-end;flex-wrap:wrap}.toggle{position:relative;display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{position:absolute;opacity:0;width:0;height:0}.toggle__track{position:relative;width:38px;height:22px;border-radius:var(--radius-pill);background:var(--surface-3);border:1px solid var(--border-strong);transition:background var(--transition-fast),border-color var(--transition-fast);flex-shrink:0}.toggle__thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--text-secondary);transition:transform var(--transition-fast),background var(--transition-fast)}.toggle input:checked+.toggle__track{background:var(--accent);border-color:var(--accent)}.toggle input:checked+.toggle__track .toggle__thumb{transform:translate(16px);background:#fff}.toggle input:focus-visible+.toggle__track{box-shadow:0 0 0 3px var(--accent-bg)}.toggle input:disabled+.toggle__track{opacity:.5;cursor:not-allowed}.toggle__label{font-size:var(--fs-base);color:var(--text-secondary)}.radio-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.radio-card{position:relative;display:block;padding:var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.radio-card:hover{border-color:var(--text-muted)}.radio-card input{position:absolute;opacity:0}.radio-card.is-selected{border-color:var(--accent);background:var(--accent-bg)}.radio-card__title{font-weight:620;font-size:var(--fs-md)}.radio-card__desc{margin-top:2px;font-size:var(--fs-sm);color:var(--text-muted)}.table-wrap{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface)}.table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}.table thead th{position:sticky;top:0;z-index:1;text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}.table tbody td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover{background:var(--surface-hover)}.table__actions{display:flex;gap:var(--space-1);justify-content:flex-end;white-space:nowrap}.table--fixed{table-layout:auto}.cell-strong{font-weight:600}.cell-sub{font-size:var(--fs-sm);color:var(--text-muted)}.detail-row td{background:var(--bg-subtle);padding:0}.detail-box{padding:var(--space-3) var(--space-4);font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-secondary);white-space:pre-wrap;word-break:break-word}.code-block{position:relative;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.code-block__bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:var(--surface-2)}.code-block__label{font-size:var(--fs-sm);color:var(--text-muted);font-weight:550}.code-block pre{margin:0;padding:var(--space-4);overflow:auto;max-height:460px;font-size:var(--fs-sm);line-height:1.55;color:var(--text-secondary);white-space:pre}.url-line{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--fs-sm)}.url-line span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent-text)}.skeleton{display:block;border-radius:var(--radius-sm);background:var(--skeleton-base);background-image:linear-gradient(90deg,var(--skeleton-base) 0%,var(--skeleton-shine) 50%,var(--skeleton-base) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.3s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.spinner{display:inline-block;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner--center{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-12);color:var(--text-muted);font-size:var(--fs-base)}.state-panel{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-12) var(--space-6);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface)}.state-panel__icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:var(--radius-lg);margin-bottom:var(--space-4);background:var(--surface-3);color:var(--text-muted)}.state-panel--error .state-panel__icon{background:var(--danger-bg);color:var(--danger-text)}.state-panel__title{font-size:var(--fs-lg);font-weight:620;margin-bottom:var(--space-2)}.state-panel__text{color:var(--text-muted);max-width:46ch;margin-bottom:var(--space-5);line-height:var(--lh-normal)}.state-panel__text:last-child{margin-bottom:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:var(--space-8) var(--space-4);overflow-y:auto;background:var(--overlay);animation:fade-in var(--transition)}.modal{width:100%;max-width:520px;margin:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:modal-in var(--transition)}.modal--wide{max-width:720px}.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--border)}.modal__title{font-size:var(--fs-lg);font-weight:640}.modal__close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);flex-shrink:0}.modal__close:hover{background:var(--surface-2);color:var(--text)}.modal__body{padding:var(--space-5)}.modal__footer{display:flex;gap:var(--space-3);justify-content:flex-end;padding:var(--space-4) var(--space-5);border-top:1px solid var(--border)}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}@media(prefers-reduced-motion:reduce){.modal-overlay,.modal{animation:none}}.toast-viewport{position:fixed;z-index:200;bottom:var(--space-5);right:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);width:min(380px,calc(100vw - 2 * var(--space-4)));pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-2);border:1px solid var(--border-strong);border-left-width:3px;border-radius:var(--radius);box-shadow:var(--shadow);pointer-events:auto;animation:toast-in var(--transition)}.toast--success{border-left-color:var(--success)}.toast--error{border-left-color:var(--danger)}.toast--info{border-left-color:var(--accent)}.toast__icon{flex-shrink:0;margin-top:1px}.toast--success .toast__icon{color:var(--success-text)}.toast--error .toast__icon{color:var(--danger-text)}.toast--info .toast__icon{color:var(--accent-text)}.toast__body{flex:1;font-size:var(--fs-base);line-height:1.45;word-break:break-word}.toast__close{flex-shrink:0;border:none;background:transparent;color:var(--text-muted);padding:2px;border-radius:var(--radius-sm)}.toast__close:hover{color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.steps{display:flex;flex-direction:column;gap:0}.step{display:flex;align-items:flex-start;gap:var(--space-3);position:relative;padding-bottom:var(--space-5)}.step:last-child{padding-bottom:0}.step__rail{display:flex;flex-direction:column;align-items:center;align-self:stretch}.step__marker{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:2px solid var(--border-strong);background:var(--surface);color:var(--text-muted);font-size:var(--fs-sm);font-weight:600;flex-shrink:0;transition:all var(--transition)}.step__line{width:2px;flex:1;min-height:14px;background:var(--border-strong);margin:4px 0}.step--done .step__marker{background:var(--success);border-color:var(--success);color:#fff}.step--done .step__line{background:var(--success)}.step--active .step__marker{border-color:var(--accent);color:var(--accent-text);box-shadow:0 0 0 4px var(--accent-bg)}.step--failed .step__marker{background:var(--danger);border-color:var(--danger);color:#fff}.step__body{padding-top:3px}.step__title{font-weight:600;font-size:var(--fs-md)}.step--pending .step__title{color:var(--text-muted)}.step__meta{font-size:var(--fs-sm);color:var(--text-muted);margin-top:2px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}.stat{padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.stat__label{font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:var(--space-2);display:flex;align-items:center;gap:var(--space-2)}.stat__value{font-size:var(--fs-lg);font-weight:640}.inline-note{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:var(--radius);color:var(--text-secondary);font-size:var(--fs-sm);line-height:1.5}.inline-note--muted{background:var(--surface-2);border-color:var(--border)}.inline-note__icon{flex-shrink:0;color:var(--accent-text)}.divider{height:1px;background:var(--border);border:none;margin:var(--space-5) 0}.chip-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.repeat-item{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);background:var(--surface-2);position:relative}.repeat-item+.repeat-item{margin-top:var(--space-3)}.repeat-item__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.repeat-item__title{font-size:var(--fs-sm);font-weight:600;color:var(--text-secondary)}.toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.toolbar__group{display:flex;align-items:center;gap:var(--space-2)}.toolbar__label{font-size:var(--fs-sm);color:var(--text-muted);font-weight:550}.toolbar .select,.toolbar .input{height:34px;width:auto;min-width:150px}.toolbar__spacer{flex:1}.stack{display:flex;flex-direction:column;gap:var(--space-5)}.stack--sm{gap:var(--space-3)}.segmented{display:inline-flex;padding:3px;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-5);max-width:100%}.segmented__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text-secondary);font:inherit;font-size:.875rem;font-weight:500;padding:var(--space-2) var(--space-4);border-radius:calc(var(--radius) - 3px);cursor:pointer;white-space:nowrap;transition:background var(--dur, .15s),color var(--dur, .15s)}.segmented__btn:hover{color:var(--text)}.segmented__btn.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .15))}.segmented__btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:560px){.segmented{display:flex;width:100%}.segmented__btn{flex:1;text-align:center}}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100%}.sidebar{grid-row:1;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--bg-subtle);border-right:1px solid var(--border);overflow-y:auto}.sidebar__brand{display:flex;align-items:center;gap:var(--space-3);height:var(--topbar-h);padding:0 var(--space-5);border-bottom:1px solid var(--border);flex-shrink:0}.sidebar__logo{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-sm);background:var(--accent);color:#fff;flex-shrink:0}.sidebar__brand-name{font-weight:680;font-size:var(--fs-md);letter-spacing:-.01em}.sidebar__nav{display:flex;flex-direction:column;gap:2px;padding:var(--space-4) var(--space-3);flex:1}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:var(--text-secondary);font-size:var(--fs-base);font-weight:550;border:1px solid transparent;transition:background var(--transition-fast),color var(--transition-fast)}.nav-item:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav-item.is-active{background:var(--accent-bg);color:var(--accent-text);border-color:var(--accent-border)}.nav-item__icon{display:flex;width:18px;height:18px;flex-shrink:0}.sidebar__footer{padding:var(--space-4);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-muted);flex-shrink:0}.main-col{display:flex;flex-direction:column;min-width:0}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--space-3);height:var(--topbar-h);padding:0 var(--space-6);background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.topbar__title{font-size:var(--fs-md);font-weight:620}.topbar__spacer{flex:1}.topbar__user{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-muted);padding-right:var(--space-1)}.topbar__burger{display:none;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text)}.icon-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-secondary);transition:color var(--transition-fast),border-color var(--transition-fast)}.icon-toggle:hover{color:var(--text);border-color:var(--text-muted)}.page{flex:1;padding:var(--space-8) var(--space-6);width:100%;max-width:var(--content-max);margin:0 auto}.backdrop{display:none}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;z-index:60;width:var(--sidebar-w);transform:translate(-100%);transition:transform var(--transition);box-shadow:var(--shadow-lg)}.sidebar.is-open{transform:translate(0)}.topbar__burger{display:flex}.backdrop.is-open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:var(--overlay);animation:fade-in var(--transition)}.page{padding:var(--space-6) var(--space-4)}}@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:var(--space-6);background:radial-gradient(1200px 500px at 50% -10%,var(--accent-bg),transparent 70%),var(--bg)}.auth-card{width:min(400px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-8)}.auth-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);margin-bottom:var(--space-6)}.auth-brand__logo{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius);background:var(--accent);color:#fff}.auth-brand__title{font-size:var(--fs-xl);font-weight:680}.auth-brand__subtitle{color:var(--text-muted);font-size:var(--fs-sm)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius);background:var(--danger-bg);color:var(--danger-text);font-size:var(--fs-sm)}.auth-theme{position:fixed;top:var(--space-5);right:var(--space-5)}.server-name{display:flex;align-items:center;gap:var(--space-3)}.flag{font-size:18px;line-height:1;width:20px;text-align:center;flex-shrink:0}.server-name__meta{min-width:0}.server-name__title{font-weight:600}.server-name__loc{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.addr-cell{display:flex;flex-direction:column;gap:3px}.server-cards{display:flex;flex-direction:column;gap:var(--space-3)}.server-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:var(--space-4)}.server-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.server-card__rows{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.server-card__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--fs-sm)}.server-card__row .label{color:var(--text-muted);flex-shrink:0}.server-card__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.kv-editor{display:flex;flex-direction:column;gap:var(--space-3)}.kv-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr) auto;gap:var(--space-3);align-items:start}.kv-row__del{height:38px}@media(max-width:560px){.kv-row{grid-template-columns:1fr auto;grid-template-areas:"key del" "val val"}.kv-row__key{grid-area:key}.kv-row__val{grid-area:val}.kv-row__del{grid-area:del}}.wizard{max-width:620px}.wizard-progress{max-width:520px}.log-message{max-width:620px;word-break:break-word}.log-row{cursor:pointer}.log-row--has-detail:hover .log-expand{color:var(--text)}.log-expand{display:inline-flex;color:var(--text-muted);transition:transform var(--transition-fast)}.log-expand.is-open{transform:rotate(90deg)}.smart-card__meta{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.smart-card__rules{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-secondary)}.rule-grid{display:grid;grid-template-columns:150px 1fr 150px;gap:var(--space-3);align-items:start}@media(max-width:620px){.rule-grid{grid-template-columns:1fr}}.list-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:720px){.list-grid--2{grid-template-columns:repeat(2,1fr)}}
