:root{--bg: #faf9f5;--surface: #faf9f5;--surface-alt: #f5f0e8;--accent: #cc785c;--accent-hover: #a9583e;--sidebar-bg: #181715;--sidebar-hover: #252320;--sidebar-text: #a09d96;--sidebar-active-text: #faf9f5;--text: #141413;--text-secondary: #3d3d3a;--text-muted: #6c6a64;--text-faint: #8e8b82;--border: #e6dfd8;--border-soft: #ebe6df;--success: #5db872;--success-bg: #e6f4ea;--danger: #c64545;--danger-bg: #fbeceb;--teal: #5db8a6;--radius: 12px;--radius-sm: 8px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-serif: "Cormorant Garamond", Georgia, serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:14px;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}::selection{background:#e6dfd8}.serif{font-family:var(--font-serif);letter-spacing:-.3px}.mono{font-family:var(--font-mono)}.muted{color:var(--text-muted)}.app-shell{display:flex;min-height:100vh;width:100%}.sidebar{width:240px;flex-shrink:0;background:var(--sidebar-bg);display:flex;flex-direction:column;padding:24px 16px;gap:32px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 8px}.sidebar-brand-logo{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-brand-name{font-size:15px;font-weight:500;color:var(--sidebar-active-text)}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:500;color:var(--sidebar-text);border:none;background:transparent;width:100%;text-align:left;font-family:inherit}.nav-item:hover,.nav-item.is-active{background:var(--sidebar-hover);color:var(--sidebar-active-text)}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:12px;padding:0 8px}.sidebar-divider{height:1px;background:var(--sidebar-hover)}.content{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:64px;flex-shrink:0;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 32px}.topbar-title{font-family:var(--font-serif);font-weight:500;font-size:22px;letter-spacing:-.3px;color:var(--text)}.content-body{flex:1;padding:clamp(16px,4vw,32px);overflow:auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:8px}.stat-card-label{font-size:13px;color:var(--text-faint)}.stat-card-value{font-family:var(--font-serif);font-weight:500;font-size:28px;color:var(--text)}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.chart-card{display:flex;flex-direction:column;gap:20px;min-width:0}.chart-title{font-size:15px;font-weight:500;color:var(--text)}.btn{height:40px;padding:0 20px;border-radius:var(--radius-sm);border:none;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){border-color:var(--accent)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(.94)}.btn-block{width:100%}.icon-btn{background:transparent;border:none;cursor:pointer;padding:0;display:inline-flex;color:var(--accent)}.field{display:flex;flex-direction:column;gap:6px;position:relative}.field-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.input,.textarea{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font-family:var(--font-sans);font-size:14px;color:var(--text);outline:none;width:100%}.input{height:44px;padding:0 16px}.textarea{min-height:170px;padding:12px 16px;font-family:var(--font-mono);font-size:13px;resize:vertical;line-height:1.6}.input:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #cc785c26}.input.mono{font-family:var(--font-mono);font-size:13px}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.table{width:100%;border-collapse:collapse}.table thead tr{background:var(--surface-alt)}.table th{text-align:left;padding:12px 20px;font-size:13px;font-weight:500;color:var(--text-muted);border-bottom:1px solid var(--border)}.table th.right,.table td.right{text-align:right}.table td{padding:14px 20px;font-size:14px;color:var(--text-secondary);border-bottom:1px solid var(--border-soft)}.table tbody tr:last-child td{border-bottom:none}.cell-strong{color:var(--text);font-weight:500}.cell-muted{color:var(--text-faint)}.badge{font-size:12px;font-weight:500;padding:4px 12px;border-radius:9999px;display:inline-block}.badge-active{background:var(--success-bg);color:var(--success)}.badge-dead,.badge-failed,.badge-error{background:var(--danger-bg);color:var(--danger)}.badge-inactive{background:#efe9de;color:var(--text-muted)}.badge-success{background:var(--success-bg);color:var(--success)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141373;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal{background:var(--surface);border-radius:var(--radius);padding:32px;width:420px;max-width:90vw;display:flex;flex-direction:column;gap:20px;box-shadow:0 8px 30px #14141329}.modal-title{font-family:var(--font-serif);font-weight:500;font-size:22px;color:var(--text)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:4px}.select{height:44px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);padding:0 40px 0 16px;font-size:14px;display:flex;align-items:center;cursor:pointer;position:relative;color:var(--text)}.select:hover{border-color:var(--accent)}.select-placeholder{color:var(--text-faint)}.select-chevron{position:absolute;right:14px;top:50%;transform:translateY(-50%);transition:transform .15s}.select-chevron.open{transform:translateY(-50%) rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 8px 20px #14141324;z-index:10;overflow:hidden;max-height:240px;overflow-y:auto}.dropdown-item{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:14px;color:var(--text);cursor:pointer}.dropdown-item:hover,.dropdown-item.is-selected{background:var(--surface-alt)}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tabs{display:flex;gap:4px;background:var(--surface-alt);padding:4px;border-radius:10px;width:fit-content}.tab{padding:8px 16px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;border:none;background:transparent;color:var(--text-muted);font-family:inherit}.tab.is-active{background:#efe9de;color:var(--text)}.console{margin:0;font-family:var(--font-mono);font-size:13px;line-height:1.6;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;min-height:80px;max-height:340px;overflow-y:auto;flex:1}.split-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:24px;align-items:stretch;max-width:1120px}.stack{display:flex;flex-direction:column;gap:20px}.stack-lg{display:flex;flex-direction:column;gap:24px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px;display:flex;flex-direction:column;gap:20px}.panel-title{font-size:15px;font-weight:500;color:var(--text)}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:16px}.pagination-controls{display:flex;gap:4px}.page-btn{width:32px;height:32px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-faint);cursor:pointer;font-size:13px}.page-btn.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.page-btn:disabled{opacity:.5;cursor:not-allowed}.alert-error{background:var(--danger-bg);border:1px solid var(--danger);border-radius:var(--radius-sm);padding:12px 14px;font-size:14px;color:var(--danger)}.auth-screen{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:24px}.auth-box{width:100%;max-width:400px;display:flex;flex-direction:column;gap:32px}.auth-header{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.auth-logo{width:44px;height:44px;border-radius:10px;background:var(--accent);display:flex;align-items:center;justify-content:center}.auth-title{font-family:var(--font-serif);font-weight:500;font-size:28px;line-height:1.2;letter-spacing:-.3px;color:var(--text)}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px;display:flex;flex-direction:column;gap:20px}.auth-card .input{height:40px}.auth-card .btn{margin-top:4px}.loading-state{padding:40px;text-align:center;color:var(--text-faint);font-size:14px}
