@charset "UTF-8";:root{--bg: #f1f3f9;--surface: #ffffff;--surface-alt: #f7f8fc;--border: #e4e7ef;--text: #1e2330;--text-muted: #6b7280;--text-faint: #9aa1b0;--primary: #0369a1;--primary-hover: #075985;--primary-soft: #e0f2fe;--primary-contrast: #ffffff;--success: #16a34a;--success-soft: #e6f8ec;--warning: #b45309;--warning-soft: #fdf3e0;--danger: #dc2626;--danger-soft: #fdeceb;--info: #0891b2;--info-soft: #e3f6fa;--sidebar-bg: #161a24;--sidebar-bg-active: #232938;--sidebar-text: #a3abc0;--sidebar-text-active: #ffffff;--sidebar-border: #262c3d;--sidebar-brand: #ffffff;--sidebar-width: 15.5rem;--sidebar-width-collapsed: 4.5rem;--topbar-height: 3.75rem;--radius-sm: .375rem;--radius: .625rem;--radius-lg: .875rem;--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .08);--shadow-lg: 0 4px 10px rgba(16, 24, 40, .06), 0 12px 28px rgba(16, 24, 40, .1);color-scheme:light}:root[data-theme=dark]{--bg: #0c0f16;--surface: #141821;--surface-alt: #1a1f2b;--border: #262c3b;--text: #e7e9f2;--text-muted: #8d95a9;--text-faint: #616a80;--primary: #38bdf8;--primary-hover: #7dd3fc;--primary-soft: rgba(56, 189, 248, .18);--primary-contrast: #06202f;--success: #34d399;--success-soft: rgba(52, 211, 153, .15);--warning: #f5a524;--warning-soft: rgba(245, 165, 36, .15);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .15);--info: #22d3ee;--info-soft: rgba(34, 211, 238, .15);--sidebar-bg: #0c0f16;--sidebar-bg-active: #1c212e;--sidebar-border: #1c212e;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .35), 0 16px 36px rgba(0, 0, 0, .4);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .15s ease,color .15s ease}h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.01em;color:var(--text)}h1{font-size:1.375rem}h2{font-size:1.0625rem;margin-bottom:.25rem}p{margin:0}a{color:var(--primary)}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.1rem .4rem;font-size:.85em}form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem}form>label{display:flex;flex-direction:column;gap:.35rem;font-size:.8125rem;font-weight:600;color:var(--text-muted)}label{color:var(--text-muted)}input:where(:not([type=checkbox]):not([type=radio])),select,textarea{padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}input:where(:not([type=checkbox]):not([type=radio])):focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}input:disabled,select:disabled{opacity:.6;cursor:not-allowed}input[type=checkbox],input[type=radio]{width:1rem;height:1rem;accent-color:var(--primary);cursor:pointer}fieldset{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem 1rem}fieldset legend{font-size:.75rem;font-weight:600;color:var(--text-muted);padding:0 .3rem}button{font:inherit;padding:.55rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s,opacity .15s}button:hover:not(:disabled){background:var(--surface-alt)}button:disabled{opacity:.55;cursor:not-allowed}.btn-primary{border-color:var(--primary);background:var(--primary);color:var(--primary-contrast)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-sm{padding:.35rem .7rem;font-size:.8125rem;border-radius:var(--radius-sm)}.btn-ghost{border-color:transparent;background:transparent}.link-button{padding:0;border:none;background:none;color:var(--primary);font-size:.8125rem}.link-button:hover:not(:disabled){background:none;text-decoration:underline}.page{display:flex;flex-direction:column;gap:1.5rem;max-width:74rem}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.page-header p{margin-top:.2rem;color:var(--text-muted);font-size:.875rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.card>h2:first-child{margin:0}.card-section+.card-section{margin-top:.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:.65rem .75rem;border-bottom:1px solid var(--border);text-align:left;font-size:.875rem;vertical-align:middle}th{color:var(--text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;background:var(--surface-alt)}th:first-child,td:first-child{padding-left:1rem}th:last-child,td:last-child{padding-right:1rem}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--surface-alt)}.status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .65rem;border-radius:1rem;font-size:.75rem;font-weight:600;background:var(--surface-alt);color:var(--text-muted)}.status-badge:before{content:"";width:.4rem;height:.4rem;border-radius:50%;background:currentColor}.status-badge.status-online,.status-badge.status-active{background:var(--success-soft);color:var(--success)}.status-badge.status-idle{background:var(--warning-soft);color:var(--warning)}.status-badge.status-offline{background:var(--surface-alt);color:var(--text-faint)}.status-badge.status-suspended{background:var(--danger-soft);color:var(--danger)}.badge{display:inline-flex;align-items:center;margin-left:.4rem;padding:.1rem .45rem;border-radius:1rem;font-size:.7rem;font-weight:600;background:var(--surface-alt);color:var(--text-muted)}.error{margin:0;padding:.65rem .9rem;border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:.875rem}.empty{color:var(--text-muted);font-size:.875rem}.banner{padding:.6rem 1.5rem;font-size:.85rem}.banner-error{background:var(--danger-soft);color:var(--danger)}::-webkit-scrollbar{width:.6rem;height:.6rem}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:1rem}
