:root{--color-bg: #0d0d0d;--color-surface: #161616;--color-surface-elevated: #1f1f1f;--color-border: #2a2a2a;--color-border-hover: #3d3d3d;--color-text-primary: #f0f0f0;--color-text-secondary: #999999;--color-text-muted: #555555;--color-accent: #d4a017;--color-accent-dim: #7a6010;--color-success-bg: #1a2e1a;--color-success-text: #6ac06a;--color-success-border: #3a7a3a;--color-danger-bg: #2e1a1a;--color-danger-text: #c06a6a;--color-danger-border: #8a3a3a;--color-warning-bg: #2a2a1a;--color-warning-text: #d4a017;--color-warning-border: #7a6010;--color-info-bg: #1a2a2e;--color-info-text: #6aacc0;--color-info-border: #3a5a7a;--color-neutral-bg: #1e1e1e;--color-neutral-text: #666666;--color-neutral-border: #2a2a2a;--sidebar-width: 188px;--topbar-height: 44px;--font-ui: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Cascadia Code", "Fira Code", "Consolas", monospace;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 28px;--radius-sm: 3px;--radius-md: 4px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-ui);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}code,pre,.mono{font-family:var(--font-mono)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;color:var(--color-text-primary)}p{margin:0}input,button,select,textarea{font-family:inherit;font-size:inherit}table{border-collapse:collapse;width:100%}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.app-shell{display:flex;height:100%;overflow:hidden}.app-shell__sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}.app-shell__brand{padding:14px 16px;border-bottom:1px solid var(--color-border);flex-shrink:0}.app-shell__brand-name{color:var(--color-accent);font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}.app-shell__brand-sub{color:var(--color-text-muted);font-size:10px;margin-top:2px}.app-shell__nav{flex:1;padding:8px 0}.app-shell__nav-link{display:block;padding:8px 16px;color:var(--color-text-secondary);font-size:12px;text-decoration:none;border-left:2px solid transparent;transition:color .1s,background .1s}.app-shell__nav-link:hover{color:var(--color-text-primary);background:var(--color-surface-elevated);text-decoration:none}.app-shell__nav-link--active{color:var(--color-text-primary);background:var(--color-surface-elevated);border-left-color:var(--color-accent)}.app-shell__nav-bottom{padding:8px 0;border-top:1px solid var(--color-border)}.app-shell__topbar{height:var(--topbar-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-xl);flex-shrink:0}.app-shell__server-url{font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted)}.app-shell__topbar-right{display:flex;align-items:center;gap:var(--space-md)}.app-shell__user{font-size:12px;color:var(--color-text-secondary)}.app-shell__logout-btn{padding:3px 10px;background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:11px;cursor:pointer}.app-shell__logout-btn:hover{color:var(--color-text-primary);border-color:var(--color-border-hover)}.app-shell__body{flex:1;display:flex;flex-direction:column;overflow:hidden}.app-shell__main{flex:1;overflow-y:auto;padding:var(--space-xl)}.btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:6px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:400;cursor:pointer;border:1px solid transparent;transition:opacity .1s;white-space:nowrap}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{background:var(--color-accent);color:#0d0d0d;font-weight:600;border-color:var(--color-accent)}.btn--primary:hover:not(:disabled){opacity:.88}.btn--secondary{background:transparent;color:var(--color-text-primary);border-color:var(--color-border)}.btn--secondary:hover:not(:disabled){border-color:var(--color-border-hover)}.btn--danger{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border);font-weight:600}.btn--danger:hover:not(:disabled){opacity:.88}.btn--ghost{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border);font-size:11px;padding:3px 8px}.btn--ghost:hover:not(:disabled){color:var(--color-text-primary)}.input-group{display:flex;flex-direction:column;gap:var(--space-xs)}.input-group label{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.input{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);padding:7px 10px;font-size:13px;width:100%}.input:focus{outline:none;border-color:var(--color-accent-dim)}.input::placeholder{color:var(--color-text-muted)}.badge{display:inline-block;padding:3px 9px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;border:1px solid transparent}.badge--success{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.badge--danger{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.badge--warning{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning-border)}.badge--info{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-info-border)}.badge--neutral{background:var(--color-neutral-bg);color:var(--color-neutral-text);border-color:var(--color-neutral-border)}.code-value{display:inline-flex;align-items:center;gap:var(--space-sm)}.code-value__text{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 10px;font-family:var(--font-mono);font-size:12px;color:var(--color-text-secondary);max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-value__text--accent{color:var(--color-accent)}.table-wrap{overflow-x:auto}.data-table{width:100%}.data-table thead th{text-align:left;padding:8px 12px;font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border)}.data-table tbody tr{border-bottom:1px solid var(--color-border)}.data-table tbody tr:hover{background:var(--color-surface-elevated)}.data-table tbody td{padding:10px 12px;color:var(--color-text-primary);vertical-align:middle}.empty-state{padding:var(--space-2xl);text-align:center;color:var(--color-text-muted);font-size:13px;border:1px dashed var(--color-border);border-radius:var(--radius-md)}.error-message{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger-text);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-sm);font-size:13px}.loading-state{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text-secondary);font-size:13px;padding:var(--space-xl) 0}.loading-state--full-page{height:100%;justify-content:center}.page-header{margin-bottom:var(--space-xl)}.page-header__title{font-size:16px;font-weight:600;color:var(--color-text-primary)}.page-header__sub{font-size:12px;color:var(--color-text-secondary);margin-top:3px}.page-header__row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg)}.breadcrumbs{display:flex;align-items:center;gap:var(--space-xs);font-size:11px;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.breadcrumbs a{color:var(--color-text-secondary)}.breadcrumbs a:hover{color:var(--color-text-primary)}.breadcrumbs__sep{color:var(--color-text-muted)}.breadcrumbs__current{color:var(--color-text-secondary)}.confirm-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.confirm-dialog{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2xl);max-width:400px;width:100%}.confirm-dialog__title{font-size:14px;font-weight:600;margin-bottom:var(--space-md)}.confirm-dialog__body{font-size:13px;color:var(--color-text-secondary);margin-bottom:var(--space-xl)}.confirm-dialog__actions{display:flex;gap:var(--space-sm);justify-content:flex-end}.auth-page{min-height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.auth-card{width:100%;max-width:380px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2xl)}.auth-card__header{margin-bottom:var(--space-xl)}.auth-card__brand{color:var(--color-accent);font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:var(--space-sm)}.auth-card__title{font-size:16px;font-weight:600;color:var(--color-text-primary)}.auth-card__form{display:flex;flex-direction:column;gap:var(--space-md)}.auth-card__footer{margin-top:var(--space-lg);font-size:12px;color:var(--color-text-secondary)}.auth-card__footer a{color:var(--color-accent)}
