@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap");:root{--bg-primary:#08111f;--bg-secondary:#122033;--bg-card:rgba(10,20,35,.78);--bg-card-hover:rgba(18,32,51,.9);--bg-sidebar:rgba(6,14,25,.96);--accent-primary:#0ea5e9;--accent-secondary:#22c55e;--accent-gradient:linear-gradient(135deg,#0ea5e9,#22c55e 52%,#facc15);--accent-glow:rgba(14,165,233,.22);--success:#10b981;--success-bg:rgba(16,185,129,.1);--warning:#f59e0b;--warning-bg:rgba(245,158,11,.1);--error:#ef4444;--error-bg:rgba(239,68,68,.1);--info:#3b82f6;--info-bg:rgba(59,130,246,.1);--text-primary:#eef6ff;--text-secondary:#94a3b8;--text-muted:#5f738f;--border:rgba(148,163,184,.1);--border-hover:rgba(148,163,184,.2);--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 12px rgba(0,0,0,.4);--shadow-lg:0 10px 30px rgba(0,0,0,.5);--shadow-glow:0 0 20px rgba(99,102,241,.15);--sidebar-width:304px;--header-height:70px;--radius:18px;--radius-sm:12px;--content-max-width:1400px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 12% 18%,rgba(14,165,233,.11) 0,transparent 42%),radial-gradient(ellipse at 85% 12%,rgba(34,197,94,.08) 0,transparent 40%),radial-gradient(ellipse at 50% 82%,rgba(250,204,21,.05) 0,transparent 45%);pointer-events:none;z-index:0}a{color:var(--accent-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-secondary)}.dashboard-shell{display:flex;min-height:100vh;position:relative;z-index:1}.dashboard-main{flex:1 1;min-width:0;margin-left:var(--sidebar-width);padding:28px clamp(16px,2.4vw,34px) 32px;min-height:100vh;width:100%;max-width:calc(var(--content-max-width) + var(--sidebar-width))}.dashboard-main>*{max-width:var(--content-max-width);margin:0 auto}@media (max-width:960px){.dashboard-main{margin-left:0;padding:calc(var(--header-height) + 14px) clamp(14px,4vw,22px) 22px}}.shell-toggle{display:none;position:fixed;top:16px;left:16px;z-index:1200;width:44px;height:44px;border-radius:14px;border:1px solid rgba(148,163,184,.16);background:rgba(7,16,29,.88);color:var(--text-primary);align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 12px 30px rgba(2,6,23,.35)}.dashboard-sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;padding:16px 14px 14px;background:linear-gradient(180deg,rgba(6,14,25,.98),rgba(8,17,31,.96));border-right:1px solid rgba(148,163,184,.08);display:flex;flex-direction:column;gap:12px;z-index:1100;transition:transform .28s ease;overflow:hidden;min-height:0}.sidebar-header-stack{display:flex;flex-direction:column;gap:10px;flex-shrink:0}.sidebar-scroll-region{min-height:0;display:flex;flex-direction:column;gap:10px;flex:1 1;overflow:hidden}.sidebar-scroll-region::-webkit-scrollbar{width:8px}.sidebar-backdrop{display:none}.sidebar-brand,.sidebar-footer,.sidebar-user{border:1px solid rgba(148,163,184,.08);background:rgba(10,20,35,.5);border-radius:14px}.sidebar-brand{gap:12px;padding:13px 14px}.brand-badge,.sidebar-brand{display:flex;align-items:center}.brand-badge{width:42px;height:42px;border-radius:12px;background:var(--accent-gradient);color:#04111d;justify-content:center;box-shadow:0 10px 30px rgba(14,165,233,.18)}.brand-copy{display:flex;flex-direction:column}.brand-title{font-size:1rem;font-weight:800;color:var(--text-primary)}.brand-subtitle{font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}.sidebar-user{gap:12px;padding:11px 14px}.sidebar-user,.user-avatar{display:flex;align-items:center}.user-avatar{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,rgba(14,165,233,.22),rgba(34,197,94,.22));justify-content:center;font-weight:800;color:var(--text-primary)}.user-copy{flex:1 1;min-width:0}.user-name{font-size:.9rem;font-weight:700;line-height:1.25}.user-role{font-size:.66rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.status-pill{padding:3px 7px;border-radius:999px;background:rgba(34,197,94,.14);color:var(--success);font-size:.63rem;letter-spacing:.08em}.sidebar-section-title,.status-pill{font-weight:700;text-transform:uppercase;flex-shrink:0}.sidebar-section-title{padding:0 8px 2px;font-size:.73rem;letter-spacing:.14em;color:var(--text-muted)}.sidebar-nav{display:flex;flex-direction:column;gap:8px;flex:1 1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:4px;overscroll-behavior:contain}.sidebar-nav::-webkit-scrollbar{width:7px}.sidebar-nav::-webkit-scrollbar-thumb{background:rgba(148,163,184,.24);border-radius:999px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:rgba(148,163,184,.45)}.sidebar-link{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:13px;color:var(--text-secondary);border:1px solid transparent;transition:all .18s ease}.sidebar-link:hover{color:var(--text-primary);border-color:rgba(148,163,184,.08);background:rgba(15,23,42,.34)}.sidebar-link.active{color:var(--text-primary);border-color:rgba(14,165,233,.16);background:linear-gradient(135deg,rgba(14,165,233,.14),rgba(34,197,94,.08));box-shadow:inset 0 1px 0 hsla(0,0%,100%,.03)}.sidebar-link-icon{width:36px;height:36px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:rgba(15,23,42,.42);color:currentColor;flex-shrink:0}.sidebar-link.active .sidebar-link-icon{background:rgba(14,165,233,.12)}.sidebar-link-copy{display:flex;flex-direction:column;min-width:0;flex:1 1}.sidebar-link-label{font-size:.9rem;font-weight:700;line-height:1.2}.sidebar-link-desc{font-size:.72rem;color:var(--text-muted);line-height:1.25;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.sidebar-link-arrow{opacity:.4;flex-shrink:0}.sidebar-link.active .sidebar-link-arrow{opacity:.9}.sidebar-footer{padding:11px 12px;margin-top:0;flex-shrink:0;background:rgba(10,20,35,.62);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sidebar-health{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--text-secondary);font-size:.74rem}.health-dot{width:8px;height:8px;border-radius:999px;background:var(--success);box-shadow:0 0 0 6px rgba(16,185,129,.12)}.sidebar-logout{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border-radius:14px;border:1px solid rgba(239,68,68,.18);background:rgba(127,29,29,.14);color:#fca5a5;cursor:pointer;transition:all .2s ease;font-family:inherit;font-weight:700}.sidebar-logout:hover{background:rgba(127,29,29,.22);color:#fecaca}@media (max-width:960px){.shell-toggle{display:inline-flex}.dashboard-sidebar{transform:translateX(-100%);width:min(90vw,340px);box-shadow:0 20px 45px rgba(2,6,23,.52)}.dashboard-sidebar.side-open{transform:translateX(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(2,6,23,.58);opacity:0;pointer-events:none;z-index:1090;transition:opacity .24s ease}.sidebar-backdrop.is-open{opacity:1;pointer-events:auto}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all .3s ease;box-shadow:var(--shadow-sm)}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.card-title{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:20px;gap:20px;margin-bottom:30px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;overflow:hidden;transition:all .3s ease}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent-gradient);border-radius:var(--radius) var(--radius) 0 0}.stat-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-glow);transform:translateY(-3px)}.stat-card .stat-icon{width:48px;height:48px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;margin-bottom:16px;font-size:1.3rem}.stat-card .stat-icon.purple{background:rgba(99,102,241,.15);color:var(--accent-primary)}.stat-card .stat-icon.green{background:var(--success-bg);color:var(--success)}.stat-card .stat-icon.red{background:var(--error-bg);color:var(--error)}.stat-card .stat-icon.blue{background:var(--info-bg);color:var(--info)}.stat-card .stat-icon.yellow{background:var(--warning-bg);color:var(--warning)}.stat-card .stat-value{font-size:2rem;font-weight:800;color:var(--text-primary);line-height:1;margin-bottom:6px}.stat-card .stat-label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-sm);border:none;font-family:Manrope,sans-serif;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;text-decoration:none;white-space:nowrap}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 15px rgba(99,102,241,.3)}.btn-primary:hover{box-shadow:0 6px 20px rgba(99,102,241,.5);transform:translateY(-1px)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-glow)}.btn-danger{background:rgba(239,68,68,.15);color:var(--error);border:1px solid rgba(239,68,68,.3)}.btn-danger:hover{background:rgba(239,68,68,.25)}.btn-success{background:rgba(16,185,129,.15);color:var(--success);border:1px solid rgba(16,185,129,.3)}.btn-success:hover{background:rgba(16,185,129,.25)}.btn-sm{padding:6px 14px;font-size:.8rem}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-block{width:100%;justify-content:center}.form-group{margin-bottom:20px}.form-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.form-input{width:100%;padding:12px 16px;background:rgba(15,23,42,.8);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:Inter,sans-serif;font-size:.9rem;transition:all .2s ease}.form-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(99,102,241,.15)}.form-input::placeholder{color:var(--text-muted)}.filter-input{min-width:160px}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}textarea.form-input{resize:vertical;min-height:100px}.table-container{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border);width:100%}table{width:100%;border-collapse:collapse;min-width:860px}th{text-align:left;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:rgba(15,23,42,.5)}td,th{padding:14px 18px;border-bottom:1px solid var(--border)}td{font-size:.9rem;color:var(--text-secondary);vertical-align:top}tr:hover td{background:rgba(99,102,241,.03)}tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;gap:5px}.badge-success{background:var(--success-bg);color:var(--success);border:1px solid rgba(16,185,129,.2)}.badge-error{background:var(--error-bg);color:var(--error);border:1px solid rgba(239,68,68,.2)}.badge-warning{background:var(--warning-bg);color:var(--warning);border:1px solid rgba(245,158,11,.2)}.badge-info{background:var(--info-bg);color:var(--info);border:1px solid rgba(59,130,246,.2)}.badge-purple{background:rgba(99,102,241,.1);color:var(--accent-primary);border:1px solid rgba(99,102,241,.2)}.live-log{background:rgba(5,8,18,.9);border:1px solid var(--border);border-radius:var(--radius);padding:16px;max-height:400px;overflow-y:auto;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8rem;line-height:1.8}.live-log .log-entry{padding:2px 0;display:flex;gap:12px}.live-log .log-time{color:var(--text-muted);min-width:85px;flex-shrink:0}.live-log .log-level{min-width:55px;font-weight:700;text-transform:uppercase;flex-shrink:0}.live-log .log-level.success{color:var(--success)}.live-log .log-level.error{color:var(--error)}.live-log .log-level.warn{color:var(--warning)}.live-log .log-level.info{color:var(--info)}.live-log .log-level.debug{color:var(--text-muted)}.live-log .log-msg{color:var(--text-secondary);word-break:break-word}.empty-live-log{color:var(--text-muted);text-align:center;padding:20px}.log-user{color:var(--text-primary)}.log-ip{color:var(--text-muted);margin-left:8px}.page-header{margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.page-header h1{font-size:1.75rem;font-weight:800;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px}.page-header p{color:var(--text-secondary);font-size:.95rem;max-width:820px}.page{display:flex;flex-direction:column;gap:24px}.page-header-copy{flex:1 1;min-width:280px}.page-header-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.page-section{display:flex;flex-direction:column;gap:16px}.page-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:16px;gap:16px}.stack{gap:10px}.stack,.stack-lg{display:flex;flex-direction:column}.stack-lg{gap:16px}.row-wrap{display:flex;gap:10px;flex-wrap:wrap}.align-center,.row-between{align-items:center}.row-between{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.panel{border:1px solid rgba(148,163,184,.08);background:rgba(8,17,31,.35);border-radius:14px;padding:14px 16px}.panel-soft{border:1px solid rgba(148,163,184,.08);background:rgba(8,17,31,.3);border-radius:12px;padding:10px 12px}.panel-title{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:4px}.panel-subtitle{font-size:.82rem;color:var(--text-secondary);margin-top:4px}.muted{color:var(--text-muted)}.small{font-size:.78rem}.medium{font-size:.88rem}.empty-state,.note{color:var(--text-muted)}.note{margin-top:8px;font-size:.75rem}.mb-16{margin-bottom:16px}.mt-14{margin-top:14px}.checkbox-row{display:inline-flex;align-items:center;gap:8px}.checkbox-row span{font-size:.86rem;color:var(--text-secondary)}.check-panel{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:12px 14px;border-radius:14px;border:1px solid rgba(148,163,184,.08);background:rgba(8,17,31,.35)}.check-panel-title{display:block;font-size:.9rem;font-weight:700}.check-panel-desc{display:block;font-size:.78rem;color:var(--text-muted);margin-top:3px}.secret-field{position:relative}.secret-toggle{position:absolute;right:8px;border:1px solid rgba(148,163,184,.14);background:rgba(8,17,31,.85);color:var(--text-secondary);border-radius:10px;padding:6px 10px;font-size:.72rem;font-weight:700;cursor:pointer}.secret-toggle-center{top:50%;transform:translateY(-50%)}.secret-toggle-top{top:8px}.notice{padding:14px 16px;border-radius:var(--radius-sm);border:1px solid transparent;font-size:.9rem}.notice.success{background:var(--success-bg);color:var(--success);border-color:rgba(16,185,129,.18)}.notice.error{background:var(--error-bg);color:var(--error);border-color:rgba(239,68,68,.18)}.notice.warning{background:var(--warning-bg);color:var(--warning);border-color:rgba(245,158,11,.2)}.notice.info{background:var(--info-bg);color:var(--info);border-color:rgba(59,130,246,.2)}.notice+.notice{margin-top:12px}.stat-label{font-size:.82rem;color:var(--text-secondary);font-weight:600}.stat-value{font-size:1.5rem;font-weight:800;color:var(--text-primary);line-height:1.1}.stats-compact .stat-card{padding:18px}.stats-compact .stat-value{font-size:1.55rem;margin-top:10px}.stat-trend{margin-top:8px;font-size:.75rem;font-weight:600}.trend-up{color:var(--success)}.trend-down{color:var(--error)}.table-cell-title{font-weight:700}.table-cell-subtitle{margin-top:4px;font-size:.76rem;color:var(--text-muted)}.table-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.table-empty{text-align:center;color:var(--text-muted)}.progress-meta{font-size:.85rem}.progress-ok{color:var(--success)}.progress-sep{color:var(--text-muted);margin:0 6px}.progress-fail{color:var(--error)}.server-link-button{background:none;border:0;padding:0;color:var(--text-primary);font-weight:700;cursor:pointer;text-align:left}.server-link-button:hover{color:var(--accent-primary)}.inspect-log-list,.logs-list{display:flex;flex-direction:column;gap:10px}.inspect-log-list{gap:8px;max-height:420px;overflow:auto;padding-right:4px}.log-item{padding:12px 14px;border-radius:14px;border:1px solid rgba(148,163,184,.08);background:rgba(8,17,31,.32)}.log-item-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;flex-wrap:wrap}.log-item-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;font-size:.76rem;color:var(--text-muted)}.log-item-message{font-size:.88rem;line-height:1.5}.code-block{margin:0;white-space:pre-wrap;word-break:break-word;font-size:.76rem;line-height:1.55;color:var(--text-secondary);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,monospace}.code-block.scroll{max-height:280px;overflow:auto}.code-block.compact{font-size:.74rem;max-height:220px;overflow:auto}.inspect-grid{align-items:start}.inspect-status-grid{display:grid;grid-gap:12px;gap:12px;margin-bottom:16px}.console-grid{align-items:start;margin-top:22px}.console-card{padding:14px 16px;border-radius:14px;border:1px solid rgba(148,163,184,.08);background:rgba(8,17,31,.34)}.section-label{font-size:.82rem;color:var(--text-muted);margin-bottom:10px}.skeleton-block{height:180px;border-radius:var(--radius);margin-bottom:18px}.sentry-page{min-height:100vh;padding:48px 24px;justify-content:center}.sentry-card{max-width:720px;margin:0 auto;width:100%}.sentry-card h1{font-size:2rem;margin:0}.redirect-screen{min-height:100vh;align-items:center;color:var(--text-muted);gap:16px}.redirect-screen,.stats-card-shell{display:flex;justify-content:center;flex-direction:column}.stats-card-shell{height:100%}.stats-card-shell .stat-icon{display:flex;align-items:center;justify-content:center}.stats-card-shell .stat-value{line-height:1.2;margin:8px 0 4px}.stats-card-shell .stat-label{font-weight:600}.divider-top{margin-top:16px;padding-top:16px;border-top:1px solid hsla(0,0%,100%,.05)}.success-text{color:var(--success)}.error-text{color:var(--error)}.terminal-shell{border-radius:14px;overflow:hidden;border:1px solid rgba(148,163,184,.1);background:rgba(0,0,0,.45)}.terminal-toolbar{padding:10px 14px;background:rgba(0,0,0,.32);border-bottom:1px solid rgba(148,163,184,.08);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.terminal-chips{display:flex;gap:4px;flex-wrap:wrap}.terminal-chip{padding:3px 10px;font-size:.72rem;border-radius:5px;border:none;cursor:pointer;font-weight:600;background:rgba(148,163,184,.08);color:var(--text-muted);transition:all .14s ease}.terminal-chip:hover{color:var(--text-secondary)}.terminal-chip.active{color:#fff}.chip-neutral.active{background:#64748b}.chip-error.active{background:#ef4444}.chip-warn.active{background:#f59e0b}.chip-info.active{background:#3b82f6}.chip-success.active{background:#22c55e}.chip-debug.active{background:#a78bfa}.terminal-copy{padding:3px 8px;font-size:.72rem;border-radius:5px;border:1px solid rgba(148,163,184,.15);background:transparent;color:var(--text-muted);cursor:pointer}.terminal-body{padding:12px 14px;max-height:calc(100vh - 320px);min-height:380px;overflow:auto;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;line-height:1.65;background:rgba(0,0,0,.58)}.terminal-empty{color:#475569}.terminal-line{white-space:pre-wrap;word-break:break-word}.terminal-time{color:#334155}.terminal-level{font-weight:700}.level-error{color:#ef4444}.level-warn{color:#f59e0b}.level-success{color:#22c55e}.level-info{color:#60a5fa}.level-debug{color:#a78bfa}.terminal-server{color:#8b5cf6}.terminal-user{color:#06b6d4}.terminal-message{color:var(--text-secondary)}.terminal-message.message-error{color:#fca5a5}.terminal-message.message-warn{color:#fde68a}.terminal-message.message-success{color:#bbf7d0}.terminal-footer{padding:6px 14px;background:rgba(0,0,0,.25);border-top:1px solid rgba(148,163,184,.06);font-size:.7rem;color:#475569}.terminal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,460px),1fr));grid-gap:16px;gap:16px}.terminal-card{border-radius:14px;overflow:hidden;border:1px solid rgba(148,163,184,.1);background:rgba(8,17,31,.42);display:flex;flex-direction:column;min-height:340px;height:min(520px,calc(100vh - 240px))}.terminal-card-head{padding:10px 14px;background:rgba(0,0,0,.32);border-bottom:1px solid rgba(148,163,184,.08);justify-content:space-between;flex-wrap:wrap}.terminal-card-head,.terminal-title-wrap{display:flex;align-items:center;gap:8px}.terminal-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e55}.terminal-title{font-weight:700;font-size:.85rem;color:var(--text-primary)}.terminal-ip{font-size:.72rem;color:var(--text-muted)}.terminal-mini{padding:10px 12px;min-height:0;max-height:none;flex:1 1;overflow:auto;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;line-height:1.6;background:rgba(0,0,0,.6)}.terminal-mini .terminal-line{white-space:pre;word-break:normal}.terminal-mini-footer{padding:6px 12px;background:rgba(0,0,0,.2);border-top:1px solid rgba(148,163,184,.06);display:flex;justify-content:space-between;align-items:center;font-size:.68rem;color:#475569}.metric-strip{display:flex;gap:12px;flex-wrap:wrap}.metric-pill{padding:8px 14px;border-radius:10px;background:rgba(8,17,31,.4);border:1px solid rgba(148,163,184,.08);font-size:.8rem;color:var(--text-muted)}.metric-pill strong{color:var(--text-primary)}.updates-grid{display:grid;grid-template-columns:1.35fr 1fr;grid-gap:24px;gap:24px}.updates-page{display:flex;flex-direction:column;gap:18px}.updates-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.updates-hero-kicker{color:var(--text-muted);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px}.updates-hero h1{margin:0 0 6px;font-size:1.92rem;letter-spacing:-.03em}.updates-hero p{margin:0;color:var(--text-secondary);font-size:.95rem}.updates-status-banner{display:flex;align-items:flex-start;gap:16px;padding:22px 24px;border-radius:18px;border:1px solid rgba(148,163,184,.12)}.updates-status-banner.is-success{background:linear-gradient(135deg,rgba(6,78,59,.45),rgba(4,47,46,.35));border-color:rgba(16,185,129,.2)}.updates-status-banner.is-warning{background:linear-gradient(135deg,rgba(127,29,29,.28),rgba(69,26,3,.24));border-color:hsla(0,91%,71%,.2)}.updates-status-icon{width:46px;height:46px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:rgba(2,6,23,.32)}.updates-status-title{color:var(--text-primary);font-size:1.02rem;font-weight:800;margin-bottom:4px}.updates-status-copy{color:var(--text-secondary);font-size:.9rem;line-height:1.55}.updates-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.updates-metric-card{border:1px solid rgba(148,163,184,.1);border-radius:14px;background:rgba(8,17,31,.34);padding:14px 16px}.updates-metric-card span{display:block;color:var(--text-muted);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}.updates-metric-card strong{color:var(--text-primary);font-size:1.38rem}.updates-list{display:flex;flex-direction:column;gap:12px}.update-item{display:flex;align-items:center;gap:16px;padding:16px;background:hsla(0,0%,100%,.02);border-radius:14px;border:1px solid hsla(0,0%,100%,.04)}.update-item-icon{padding:10px;border-radius:10px;display:inline-flex}.update-item-icon.success{color:var(--success);background:rgba(16,185,129,.1)}.update-item-icon.pending{color:var(--text-muted);background:rgba(148,163,184,.08)}.updates-action-card,.updates-health-card,.updates-history-card,.updates-main-stack,.updates-protocol-card,.updates-side{display:flex;flex-direction:column;gap:16px}.updates-protocol-list{display:flex;flex-direction:column;gap:12px}.updates-protocol-row{display:flex;align-items:center;gap:14px;border-radius:14px;padding:16px;background:hsla(0,0%,100%,.02);border:1px solid hsla(0,0%,100%,.04)}.updates-protocol-row.pending{border-color:rgba(245,158,11,.12);background:rgba(120,53,15,.12)}.updates-history-row-icon,.updates-protocol-row-icon{width:38px;height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#34d399;background:rgba(5,150,105,.1)}.updates-protocol-row.pending .updates-protocol-row-icon{color:#f59e0b;background:rgba(245,158,11,.12)}.updates-history-row-main,.updates-protocol-row-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.updates-history-row-main strong,.updates-protocol-row-copy strong{color:var(--text-primary);font-size:.88rem}.updates-history-row-main span,.updates-protocol-row-copy span{color:var(--text-secondary);font-size:.8rem;line-height:1.45}.updates-empty-state{min-height:140px;border:1px solid rgba(16,185,129,.14);border-radius:16px;background:rgba(16,185,129,.06);display:grid;place-items:center;grid-gap:8px;gap:8px;color:var(--text-secondary);text-align:center;padding:20px}.updates-history-scroll{max-height:360px;overflow:auto;display:flex;flex-direction:column;gap:10px;padding-right:6px}.updates-history-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px;padding:14px 12px;border-radius:12px;border:1px solid rgba(148,163,184,.08);background:rgba(8,17,31,.3)}.updates-history-row-meta{color:var(--text-muted);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.updates-health-grid{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px}.updates-health-item{border-radius:14px;padding:14px;border:1px solid rgba(148,163,184,.1);background:rgba(8,17,31,.34)}.updates-health-item.ok{border-color:rgba(16,185,129,.18);background:rgba(6,78,59,.18)}.updates-health-item.bad{border-color:hsla(0,91%,71%,.18);background:rgba(127,29,29,.16)}.updates-health-item-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:6px}.updates-health-item-top strong{color:var(--text-primary);font-size:.86rem}.updates-health-item-top span{color:var(--text-muted);font-size:.78rem}.updates-health-item-desc{color:var(--text-secondary);font-size:.78rem;line-height:1.45}.updates-warning{display:flex;align-items:flex-start;gap:16px;padding:20px}.updates-warning-icon{background:#ef4444;padding:10px;border-radius:12px;color:#fff;display:inline-flex}.updates-warning-title{color:#f87171;margin-bottom:4px;font-size:1rem;font-weight:700}.updates-warning-copy{color:#ef4444;font-size:.92rem;opacity:.9}.campaigns-page{animation:fadeIn .4s ease-out}.campaigns-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.campaigns-hero-copy{flex:1 1;min-width:280px}.campaigns-hero-title{display:inline-flex;align-items:center;gap:10px;margin-bottom:4px}.campaigns-hero-title h1{margin:0;font-size:1.78rem;letter-spacing:-.02em;font-weight:800}.campaigns-hero-cta{white-space:nowrap;gap:8px}.campaigns-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:12px;gap:12px}.campaigns-summary-card{border:1px solid rgba(148,163,184,.1);background:rgba(8,17,31,.35);border-radius:14px;padding:14px 16px}.campaigns-summary-label{font-size:.76rem;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}.campaigns-summary-value{margin-top:8px;font-size:1.45rem;font-weight:800;color:var(--text-primary)}.campaigns-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.campaigns-tab-list{display:flex;gap:8px;flex-wrap:wrap}.campaigns-tab{cursor:pointer;padding:8px 14px;border:1px solid rgba(148,163,184,.12);border-radius:999px;background:rgba(8,17,31,.38);color:#94a3b8;font-weight:600;font-size:.88rem;transition:all .2s ease}.campaigns-tab.active{border-color:rgba(14,165,233,.34);background:linear-gradient(135deg,rgba(14,165,233,.18),rgba(34,197,94,.1));color:#e2e8f0}.campaigns-search{width:min(360px,100%)}.campaigns-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:20px;gap:20px}.campaign-card{border:1px solid rgba(148,163,184,.1);background:rgba(8,17,31,.46);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:14px}.campaign-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.campaign-card-title{margin:0 0 8px;font-size:1.05rem;line-height:1.25;color:var(--text-primary)}.campaign-card-actions{display:inline-flex;gap:8px}.campaign-action-btn{width:34px;height:34px;border-radius:10px;border:1px solid rgba(148,163,184,.12);background:rgba(15,23,42,.5);color:#94a3b8;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:all .2s ease}.campaign-action-spinner{width:14px;height:14px;border-radius:999px;border:2px solid rgba(148,163,184,.25);border-top-color:currentcolor;animation:spin .8s linear infinite}.campaign-action-btn:hover{transform:translateY(-1px)}.campaign-action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.campaign-action-btn:disabled:after,.campaign-action-btn:disabled:before{display:none}.campaign-action-btn.neutral:hover{border-color:rgba(14,165,233,.34);color:#38bdf8}.campaign-action-btn.warning:hover{border-color:rgba(245,158,11,.34);color:#f59e0b}.campaign-action-btn.success:hover{border-color:rgba(16,185,129,.34);color:#10b981}.campaign-action-btn.danger:hover{border-color:rgba(239,68,68,.34);color:#ef4444}.campaign-action-btn:after{content:attr(data-tooltip);bottom:calc(100% + 9px);transform:translate(-50%,4px);pointer-events:none;border:1px solid rgba(148,163,184,.22);border-radius:8px;color:#e2e8f0;font-size:.72rem;font-weight:600;white-space:nowrap;padding:6px 9px;z-index:20}.campaign-action-btn:after,.campaign-action-btn:before{position:absolute;left:50%;opacity:0;background:rgba(2,6,23,.96);transition:all .16s ease}.campaign-action-btn:before{content:"";bottom:calc(100% + 4px);width:7px;height:7px;transform:translate(-50%,4px) rotate(45deg);border-right:1px solid rgba(148,163,184,.22);border-bottom:1px solid rgba(148,163,184,.22);z-index:19}.campaign-action-btn:hover:after,.campaign-action-btn:hover:before{opacity:1;transform:translate(-50%)}.campaign-card-meta{display:flex;flex-direction:column;gap:8px}.campaign-meta-item{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-secondary);min-width:0}.campaign-meta-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campaign-quick-edit{border:1px solid rgba(14,165,233,.14);border-radius:14px;background:linear-gradient(180deg,rgba(14,165,233,.08),rgba(8,17,31,.36));padding:14px;display:flex;flex-direction:column;gap:12px}.campaign-quick-edit-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.campaign-quick-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.campaign-inline-field{display:flex;flex-direction:column;gap:6px}.campaign-inline-field span{color:var(--text-muted);font-size:.74rem;letter-spacing:.03em;text-transform:uppercase}.campaign-quick-edit-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.campaign-run-panel{border-top:1px solid rgba(148,163,184,.12);padding-top:12px;display:flex;flex-direction:column;gap:10px}.campaign-run-head{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}.campaign-run-total{display:flex;justify-content:space-between;align-items:center;font-size:.86rem;color:var(--text-secondary)}.campaign-run-total strong{font-size:.92rem;color:#10b981}.campaign-run-progress{display:flex;flex-direction:column;gap:7px}.campaign-run-progress-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.76rem;color:var(--text-muted)}.campaign-run-progress-meta strong{color:var(--text-primary);font-size:.78rem}.campaign-phase-progress-track,.campaign-run-progress-track{width:100%;height:8px;overflow:hidden;border-radius:999px;background:rgba(15,23,42,.8);border:1px solid rgba(148,163,184,.08)}.campaign-phase-progress-bar,.campaign-run-progress-bar{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,rgba(14,165,233,.95),rgba(16,185,129,.95));transition:width .25s ease}.campaign-run-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.campaign-phase{border:1px solid rgba(148,163,184,.12);border-radius:11px;background:rgba(15,23,42,.38);padding:8px 9px;display:flex;flex-direction:column;gap:8px}.campaign-phase.done{border-color:rgba(16,185,129,.28);background:rgba(16,185,129,.08)}.campaign-phase-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.78rem;color:var(--text-secondary)}.campaign-phase-top strong{color:var(--text-primary);font-size:.82rem}.campaign-phase-range{font-size:.68rem;color:var(--text-muted)}.campaign-phase-progress{display:flex;flex-direction:column;gap:6px}.campaign-phase-progress-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.68rem;color:var(--text-muted)}.campaign-run-empty{border:1px solid rgba(245,158,11,.22);border-radius:10px;background:rgba(245,158,11,.08);color:#d97706;font-size:.8rem;padding:9px 11px}.campaign-ops-panel{border-top:1px solid rgba(148,163,184,.12);padding-top:14px;display:flex;flex-direction:column;gap:12px}.campaign-ops-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.campaign-ops-kicker{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.campaign-ops-title{display:block;color:var(--text-primary);font-size:.92rem}.campaign-ops-actions{display:flex;flex-wrap:wrap;gap:8px}.campaign-worker-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px}.campaign-worker-kpi{border:1px solid rgba(148,163,184,.12);border-radius:12px;background:rgba(15,23,42,.42);padding:10px}.campaign-worker-kpi span{display:block;color:var(--text-muted);font-size:.7rem;margin-bottom:4px}.campaign-worker-kpi strong{color:var(--text-primary);font-size:1rem}.campaign-worker-kpi.danger{border-color:rgba(239,68,68,.18);background:rgba(127,29,29,.16)}.campaign-worker-groups{display:flex;flex-direction:column;gap:12px}.campaign-worker-group{border:1px solid rgba(148,163,184,.1);border-radius:14px;background:rgba(15,23,42,.22);padding:12px}.campaign-worker-group-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.campaign-worker-group-head strong{display:block;color:var(--text-primary);font-size:.88rem;margin-bottom:2px}.campaign-worker-group-head span{color:var(--text-muted);font-size:.74rem}.campaign-worker-group-status{display:inline-flex;align-items:center;white-space:nowrap;border:1px solid rgba(14,165,233,.18);border-radius:999px;background:rgba(14,165,233,.08);padding:5px 9px}.campaign-worker-list{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px}.campaign-worker-card{border:1px solid rgba(148,163,184,.1);border-radius:12px;background:rgba(2,6,23,.34);padding:12px;display:flex;flex-direction:column;gap:10px}.campaign-worker-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.campaign-worker-title{min-width:0}.campaign-worker-title strong{display:block;color:var(--text-primary);font-size:.84rem;margin-bottom:2px}.campaign-worker-title span{display:block;color:var(--text-secondary);font-size:.74rem;line-height:1.35}.campaign-worker-stats{display:flex;flex-wrap:wrap;gap:8px}.campaign-worker-stats span{display:inline-flex;align-items:center;border-radius:999px;background:rgba(15,23,42,.62);border:1px solid rgba(148,163,184,.08);padding:5px 8px;font-size:.72rem;color:var(--text-secondary)}.campaign-worker-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:.74rem;color:var(--text-muted)}.campaign-worker-static{color:var(--text-secondary)}.campaigns-modal-backdrop{position:fixed;inset:0;background:rgba(2,6,23,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.campaigns-modal-card{max-width:820px;width:100%;padding:0;border-radius:18px;overflow:hidden;border:1px solid rgba(148,163,184,.12);animation:fadeIn .3s cubic-bezier(.16,1,.3,1)}.campaigns-modal-header{padding:22px 22px 16px;background:linear-gradient(180deg,rgba(30,41,59,.45),transparent);border-bottom:1px solid hsla(0,0%,100%,.08)}.campaigns-modal-header h2{margin:0;font-size:1.35rem;font-weight:800}.campaigns-modal-close{width:34px;height:34px;border-radius:10px;border:1px solid rgba(148,163,184,.2);background:rgba(8,17,31,.35);color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.campaigns-form{padding:18px 22px 22px}.campaigns-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px;margin-bottom:20px}.campaigns-form-actions{display:grid;grid-template-columns:1fr 2fr;grid-gap:12px;gap:12px}.campaign-detail-page{display:flex;flex-direction:column;gap:18px}.campaign-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.campaign-detail-header-copy{display:flex;flex-direction:column;gap:10px}.campaign-detail-back{display:inline-flex;align-items:center;gap:8px;color:#7dd3fc;text-decoration:none;font-size:.88rem;font-weight:600}.campaign-detail-title-row{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}.campaign-detail-title-row h1{margin:0 0 4px;font-size:1.8rem;line-height:1.1}.campaign-detail-title-row p{margin:0;color:var(--text-secondary);font-size:.94rem;max-width:min(100%,760px);word-break:break-word}.campaign-detail-actions{display:flex;gap:10px;flex-wrap:wrap}.campaign-detail-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.campaign-detail-kpi{display:flex;flex-direction:column;gap:8px}.campaign-detail-kpi-label{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.campaign-detail-kpi strong{font-size:1.55rem;color:var(--text-primary);line-height:1}.campaign-detail-kpi span{color:var(--text-secondary);font-size:.78rem}.campaign-detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.95fr);grid-gap:16px;gap:16px}.campaign-detail-primary,.campaign-detail-secondary{display:flex;flex-direction:column;gap:14px}.campaign-detail-progress{display:flex;flex-direction:column;gap:8px}.campaign-detail-plan-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:2px}.campaign-detail-plan-meta span{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:999px;border:1px solid rgba(148,163,184,.12);background:rgba(15,23,42,.42);color:var(--text-muted);font-size:.76rem}.campaign-detail-progress-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--text-secondary);font-size:.82rem}.campaign-detail-progress-meta strong{color:var(--text-primary)}.campaign-detail-progress-track{width:100%;height:10px;border-radius:999px;overflow:hidden;background:rgba(15,23,42,.8);border:1px solid rgba(148,163,184,.08)}.campaign-detail-progress-track.compact{height:8px}.campaign-detail-progress-bar{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,rgba(34,211,238,.96),rgba(16,185,129,.96));transition:width .24s ease}.campaign-detail-phases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.campaign-detail-phase{border:1px solid rgba(148,163,184,.12);border-radius:14px;background:rgba(15,23,42,.34);padding:12px;display:flex;flex-direction:column;gap:10px}.campaign-detail-phase.done{border-color:rgba(16,185,129,.2);background:rgba(16,185,129,.08)}.campaign-detail-phase-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.campaign-detail-phase-top strong{display:block;color:var(--text-primary);margin-bottom:3px}.campaign-detail-phase-top span{color:var(--text-muted);font-size:.76rem}.campaign-detail-phase-metrics{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--text-secondary);font-size:.76rem}.campaign-detail-phase-analytics{display:flex;flex-direction:column;gap:10px}.campaign-detail-analytics-row{border:1px solid rgba(148,163,184,.1);border-radius:12px;background:rgba(15,23,42,.26);padding:12px;display:flex;flex-direction:column;gap:8px}.campaign-detail-analytics-head,.campaign-detail-analytics-meta{display:flex;justify-content:space-between;gap:10px;align-items:center}.campaign-detail-analytics-head strong{color:var(--text-primary);font-size:.84rem}.campaign-detail-analytics-head span,.campaign-detail-analytics-meta span{color:var(--text-muted);font-size:.74rem}.campaign-detail-workers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.campaign-detail-worker-card{border:1px solid rgba(148,163,184,.1);border-radius:14px;background:rgba(8,17,31,.46);padding:12px;display:flex;flex-direction:column;gap:10px}.campaign-detail-worker-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.campaign-detail-worker-top strong{display:block;color:var(--text-primary);margin-bottom:2px}.campaign-detail-worker-top span{display:block;color:var(--text-secondary);font-size:.74rem;line-height:1.35}.campaign-detail-worker-pills{display:flex;flex-wrap:wrap;gap:8px}.campaign-detail-worker-pills span{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(148,163,184,.08);background:rgba(15,23,42,.68);padding:5px 8px;font-size:.72rem;color:var(--text-secondary)}.campaign-detail-worker-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;color:var(--text-muted);font-size:.74rem}.campaign-detail-history,.campaign-detail-history-card{display:flex;flex-direction:column;gap:10px}.campaign-detail-history-card{border:1px solid rgba(148,163,184,.1);border-radius:14px;background:rgba(15,23,42,.24);padding:12px}.campaign-detail-history-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.campaign-detail-history-top strong{display:block;color:var(--text-primary);margin-bottom:3px}.campaign-detail-history-top span{color:var(--text-muted);font-size:.75rem}.campaign-detail-history-phases{display:flex;flex-wrap:wrap;gap:8px}.campaign-history-chip{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;border:1px solid rgba(148,163,184,.12);background:rgba(15,23,42,.46);color:var(--text-secondary);font-size:.72rem}.campaign-history-chip.done{border-color:rgba(16,185,129,.22);background:rgba(16,185,129,.08);color:#bbf7d0}.campaign-detail-footer-note{display:inline-flex;align-items:center;gap:10px;color:var(--text-secondary)}.campaign-file-box{border:1px dashed rgba(148,163,184,.26);border-radius:12px;background:rgba(8,17,31,.3);padding:12px}.campaigns-upload-btn{position:relative;overflow:hidden}.campaigns-upload-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.error-screen{background:#0a0e1a;color:#f8fafc;font-family:Manrope,system-ui,sans-serif;margin:0}.error-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.error-card{max-width:520px;width:100%;padding:24px;border-radius:20px;border:1px solid rgba(148,163,184,.14);background:rgba(8,17,31,.85)}.error-title{font-size:1.75rem;font-weight:800;margin-bottom:12px}.error-copy{color:#94a3b8;line-height:1.6;margin-bottom:18px}.error-detail-box{display:grid;grid-gap:8px;gap:8px;margin:0 0 18px;padding:16px 18px;border-radius:18px;background:rgba(6,15,34,.76);border:1px solid rgba(84,122,210,.18)}.error-detail-box strong{color:#8db4ff;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.error-detail-box span{color:rgba(223,230,244,.92);font-size:14px;line-height:1.55;word-break:break-word}:where(button,[href],input,select,textarea):focus-visible{outline:2px solid rgba(14,165,233,.7);outline-offset:2px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:20px;gap:20px}@media (max-width:768px){.grid-2{grid-template-columns:1fr}.page{gap:20px}.page-header h1{font-size:1.5rem}.page-header-actions{width:100%;justify-content:flex-start}.page-header-actions .btn,.page-header-actions .form-input{width:100%}.card{padding:18px}.card-header{gap:12px;margin-bottom:16px;flex-wrap:wrap}.stats-grid{gap:14px;margin-bottom:20px}.table-container table{min-width:740px}.table-actions .btn{width:100%;justify-content:center}.log-item{padding:12px}.inspect-log-list{max-height:320px}.console-grid{margin-top:16px}.terminal-body{min-height:300px;max-height:56vh}.terminal-mini{min-height:220px;height:48vh}.updates-grid{gap:16px}.updates-grid,.updates-metrics{grid-template-columns:1fr}.updates-history-row,.updates-protocol-row,.updates-status-banner{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.updates-health-item-top{flex-direction:column;align-items:flex-start}.campaigns-hero-cta{width:100%;justify-content:center}.campaigns-toolbar{align-items:stretch}.campaigns-search{width:100%}.campaigns-grid{gap:14px}.campaign-quick-edit-grid,.campaign-run-grid,.campaign-worker-summary,.campaigns-grid{grid-template-columns:1fr}.campaign-ops-head,.campaign-quick-edit-actions,.campaign-quick-edit-head,.campaign-worker-footer,.campaign-worker-group-head,.campaign-worker-top{flex-direction:column;align-items:stretch}.campaign-ops-actions{width:100%}.campaign-ops-actions .btn{flex:1 1 100%;justify-content:center}.campaigns-form,.campaigns-modal-header{padding:20px}.campaigns-form-grid{gap:12px}.campaign-detail-grid,.campaigns-form-actions,.campaigns-form-grid{grid-template-columns:1fr}.campaign-detail-actions,.campaign-detail-analytics-head,.campaign-detail-analytics-meta,.campaign-detail-history-top,.campaign-detail-phase-metrics,.campaign-detail-phase-top,.campaign-detail-worker-footer,.campaign-detail-worker-top{flex-direction:column;align-items:stretch}.campaign-detail-phases,.campaign-detail-workers{grid-template-columns:1fr}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(99,102,241,.2)}50%{box-shadow:0 0 20px rgba(99,102,241,.4)}}.fade-in{animation:fadeIn .5s ease forwards}.slide-in{animation:slideIn .4s ease forwards}.pulse{animation:pulse 2s infinite}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--success);display:inline-block;animation:pulse 1.5s infinite;margin-right:6px}.live-dot-lg{width:12px;height:12px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(148,163,184,.2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(148,163,184,.4)}.skeleton{background:linear-gradient(90deg,var(--bg-card) 25%,rgba(30,41,59,.5) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-sm)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.campaigns-grid{grid-template-columns:1fr}.campaign-card-wide,.campaign-detail-page-wide .campaign-detail-primary-wide,.campaign-ops-panel-wide,.campaign-run-panel-wide{width:100%}.campaign-card-meta-inline{flex-direction:row;flex-wrap:wrap}.campaign-plan-meta,.campaign-run-note-row{display:flex;flex-wrap:wrap;gap:8px}.campaign-plan-meta span,.campaign-run-note-row span{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:999px;border:1px solid rgba(148,163,184,.12);background:rgba(15,23,42,.42);color:var(--text-muted);font-size:.76rem}.phase-timeline-shell{width:100%;border:1px solid rgba(148,163,184,.12);border-radius:16px;background:linear-gradient(180deg,rgba(8,17,31,.62),rgba(2,6,23,.7));overflow:hidden}.phase-timeline-scroll{overflow-x:auto;padding:14px}.phase-timeline-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,1fr);grid-gap:12px;gap:12px;min-width:max-content}.phase-block{border-radius:14px;border:1px solid rgba(148,163,184,.12);background:rgba(15,23,42,.5);padding:14px;display:flex;flex-direction:column;gap:12px}.phase-block.phase-completed{border-color:rgba(16,185,129,.3);background:rgba(16,185,129,.08)}.phase-block.phase-running{border-color:rgba(14,165,233,.34);box-shadow:inset 0 0 0 1px rgba(14,165,233,.12)}.phase-block.phase-failed{border-color:rgba(239,68,68,.34);background:rgba(127,29,29,.18)}.phase-block-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.phase-block-head strong{display:block;color:var(--text-primary);font-size:1rem}.phase-block-head em,.phase-block-head span{display:block;font-size:.78rem;color:var(--text-muted);font-style:normal}.phase-block-progress{display:flex;flex-direction:column;gap:8px}.phase-block-progress-meta{display:flex;justify-content:space-between;gap:12px;font-size:.78rem;color:var(--text-secondary)}.phase-block-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.phase-block-grid span{display:block;font-size:.72rem;color:var(--text-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.phase-block-grid strong{color:var(--text-primary);font-size:.9rem}.phase-block-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.76rem;color:var(--text-muted)}.phase-timeline-shell.compact .phase-timeline-scroll{padding:10px}.phase-timeline-shell.compact .phase-block{padding:12px}.tasks-ops-card{padding:0;overflow:hidden}.tasks-ops-table-wrap{border:none;border-radius:0}.tasks-ops-table{min-width:1940px}.tasks-ops-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.tasks-ops-sticky,.tasks-ops-sticky-cell{min-width:320px}.tasks-ops-name{max-width:360px}.tasks-ops-inline-error{margin-top:6px;font-size:.74rem;color:#fca5a5}.tasks-ops-replan-btn{margin-top:8px}.campaign-detail-grid-top{grid-template-columns:minmax(0,2fr) minmax(340px,.9fr)}.campaign-detail-grid-bottom{grid-template-columns:minmax(0,1.4fr) minmax(340px,.9fr)}.campaign-detail-primary-wide .phase-timeline-row{grid-auto-columns:minmax(300px,1fr)}.campaign-worker-list-wide{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}@media (max-width:1100px){.campaign-card-meta-inline,.phase-block-footer,.phase-block-head{flex-direction:column;align-items:stretch}.campaign-detail-grid-bottom,.campaign-detail-grid-top,.phase-block-grid{grid-template-columns:1fr}}@media (max-width:768px){.tasks-ops-table{min-width:1520px}.phase-timeline-row{grid-auto-columns:minmax(240px,1fr)}}