@import"https://fonts.googleapis.com/css2?family=Sulphur+Point:wght@300;400;700&family=Poppins:ital,wght@0,200;0,300;0,400;0,500;1,200;1,300&family=Noto+Sans+Mono:wght@300;400;500&display=swap";:root{--root: #0A0A0A;--surface: #141414;--elevated: #1C1C1C;--subtle: #242424;--muted: #2E2E2E;--emphasis: #3A3A3A;--text-primary: #E8E8E8;--text-secondary: #B0AAAA;--text-tertiary: #787272;--text-muted: #5A5555;--text-faint: #3D3939;--positive: #5B9E8B;--negative: #C47070;--warning: #C4A35A;--info: #6B8EBF;--data-0: #6B8EBF;--data-1: #5B9E8B;--data-2: #8B7EBF;--data-3: #BF8B6B;--data-4: #9EBF5B;--data-5: #BF5B8B;--data-6: #5BBFBF;--data-7: #BFB05B;--font-display: "Sulphur Point", sans-serif;--font-body: "Poppins", sans-serif;--font-mono: "Noto Sans Mono", monospace;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-micro: .12s;--duration-base: .2s;--duration-slow: .6s}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--root);color:var(--text-primary);font-family:var(--font-body);font-weight:300;line-height:1.6}::selection{background:var(--positive);color:var(--root)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--emphasis)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:fadeIn .3s var(--ease-out)}.loading-pulse{animation:pulse 1.5s infinite}.sidebar{width:220px;background:var(--surface);border-right:1px solid rgba(255,255,255,.04);padding:var(--sp-6) 0;flex-shrink:0;display:flex;flex-direction:column;height:100vh;position:sticky;top:0}.sidebar-brand{padding:0 var(--sp-5) var(--sp-6);font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:.35em;color:var(--text-secondary)}.sidebar-section-label{padding:0 var(--sp-5) var(--sp-2);font-family:var(--font-mono);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-faint)}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:1px}.sidebar-link{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);color:var(--text-muted);text-decoration:none;font-size:13px;font-weight:300;border-left:2px solid transparent;transition:all var(--duration-base) var(--ease-out)}.sidebar-link:hover{color:var(--text-secondary);background:#ffffff05}.sidebar-link.active{color:var(--text-primary);background:var(--elevated);border-left-color:var(--text-primary)}.sidebar-link-icon{font-family:var(--font-mono);font-size:11px;width:16px;text-align:center;color:var(--text-muted)}.sidebar-link.active .sidebar-link-icon{color:var(--positive)}.sidebar-footer{padding:var(--sp-4) var(--sp-5);border-top:1px solid rgba(255,255,255,.04)}.sidebar-signout{background:none;border:none;color:var(--text-muted);cursor:pointer;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:var(--sp-2) 0;transition:color var(--duration-base) var(--ease-out)}.sidebar-signout:hover{color:var(--text-secondary)}.app-layout{display:flex;height:100vh}.main-content{flex:1;overflow:auto;padding:var(--sp-8)}.page-header{margin-bottom:var(--sp-8)}.page-title{font-family:var(--font-display);font-weight:300;font-size:24px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary);margin-bottom:var(--sp-1)}.page-subtitle{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.card{background:var(--elevated);border:1px solid rgba(255,255,255,.04);border-radius:var(--radius-lg);padding:var(--sp-5);transition:border-color var(--duration-base) var(--ease-out)}.card:hover{border-color:#ffffff12}.card-sm{background:var(--surface);border:1px solid var(--elevated);border-radius:var(--radius-md);padding:var(--sp-4)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--sp-4)}.stat-card{display:flex;flex-direction:column;gap:var(--sp-1)}.stat-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.stat-value{font-family:var(--font-mono);font-size:22px;font-weight:400;color:var(--text-primary);letter-spacing:-.02em}.stat-value.sm{font-size:16px}.stat-value.lg{font-size:28px}.stat-change{font-family:var(--font-mono);font-size:11px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;white-space:nowrap}.badge-md{padding:4px 10px;font-size:10px}.badge-lg{padding:6px 14px;font-size:11px}.badge-positive{background:#5b9e8b1f;color:var(--positive)}.badge-negative{background:#c470701f;color:var(--negative)}.badge-warning{background:#c4a35a1f;color:var(--warning)}.badge-info{background:#6b8ebf1f;color:var(--info)}.badge-neutral{background:var(--subtle);color:var(--text-tertiary)}.status-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.status-dot.running{background:var(--positive)}.status-dot.failed{background:var(--negative)}.status-dot.idle{background:var(--text-muted)}.status-dot.paused{background:var(--warning)}.mono{font-family:var(--font-mono);font-weight:400;letter-spacing:.02em}.display{font-family:var(--font-display);font-weight:300;letter-spacing:.1em;text-transform:uppercase}.label{font-family:var(--font-mono);font-size:10px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.text-positive{color:var(--positive)}.text-negative{color:var(--negative)}.text-warning{color:var(--warning)}.text-info{color:var(--info)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.heading{font-family:var(--font-display);font-weight:300;letter-spacing:.06em;text-transform:uppercase;color:var(--text-primary)}.value{font-family:var(--font-mono);font-size:20px;font-weight:400;color:var(--text-primary)}.btn{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:none;border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-5);cursor:pointer;font-weight:500;transition:all var(--duration-base) var(--ease-out);display:inline-flex;align-items:center;gap:var(--sp-2)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--positive);color:var(--root)}.btn-primary:hover:not(:disabled){background:#6bb09d}.btn-danger{background:var(--negative);color:var(--root)}.btn-danger:hover:not(:disabled){background:#d48080}.btn-secondary{background:var(--subtle);color:var(--text-secondary)}.btn-secondary:hover:not(:disabled){background:var(--muted);color:var(--text-primary)}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:var(--subtle);color:var(--text-secondary)}.btn-sm{padding:var(--sp-2) var(--sp-4);font-size:10px}.btn-lg{padding:var(--sp-4) var(--sp-8);font-size:12px}input,textarea,select{background:var(--surface);border:1px solid var(--elevated);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4);color:var(--text-primary);font-family:var(--font-body);font-size:13px;font-weight:300;width:100%;transition:border-color var(--duration-base) var(--ease-out)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--emphasis)}input::placeholder,textarea::placeholder{color:var(--text-muted)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%235A5555' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.form-group{display:flex;flex-direction:column;gap:var(--sp-1)}.form-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.form-error{font-size:11px;color:var(--negative)}.form-row{display:flex;gap:var(--sp-3)}.form-row>*{flex:1}.table{width:100%;border-collapse:collapse}.table th{text-align:left;padding:var(--sp-3) var(--sp-4);font-family:var(--font-mono);font-size:9px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--elevated)}.table td{padding:var(--sp-3) var(--sp-4);font-size:13px;font-weight:300;border-bottom:1px solid rgba(255,255,255,.03);color:var(--text-secondary)}.table tr:hover td{background:#ffffff03}.table td.mono{font-family:var(--font-mono);font-size:12px;color:var(--text-primary)}.grid{display:grid;gap:var(--sp-4)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.flex{display:flex}.flex-col{flex-direction:column}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.gap-6{gap:var(--sp-6)}.gap-8{gap:var(--sp-8)}.items-center{align-items:center}.justify-between{justify-content:space-between}.alloc-bar{display:flex;height:6px;gap:1px;border-radius:var(--radius-sm);overflow:hidden}.alloc-bar .seg{height:6px}.alloc-legend{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-2)}.legend-item{display:flex;align-items:center;gap:var(--sp-1)}.legend-dot{width:6px;height:6px;border-radius:50%}.legend-label{font-size:11px;color:var(--text-tertiary)}.legend-val{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary)}.chat-container{display:flex;flex-direction:column;height:calc(100vh - 64px)}.chat-messages{flex:1;overflow-y:auto;padding:var(--sp-4) 0;display:flex;flex-direction:column;gap:var(--sp-3)}.chat-msg{max-width:75%;animation:fadeIn .3s var(--ease-out)}.chat-msg.user{align-self:flex-end}.chat-msg.assistant{align-self:flex-start}.chat-bubble{border-radius:var(--radius-lg);padding:var(--sp-3) var(--sp-4);font-size:13px;line-height:1.6;font-weight:300}.chat-msg.user .chat-bubble{background:var(--subtle);color:var(--text-primary);border-bottom-right-radius:var(--radius-sm)}.chat-msg.assistant .chat-bubble{background:var(--surface);color:var(--text-secondary);border:1px solid rgba(255,255,255,.03);border-bottom-left-radius:var(--radius-sm)}.chat-msg.system .chat-bubble{background:transparent;color:var(--text-muted);font-style:italic;font-size:12px;text-align:center;max-width:100%}.chat-time{font-family:var(--font-mono);font-size:9px;color:var(--text-faint);margin-top:3px}.chat-msg.user .chat-time{text-align:right}.chat-sender{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:3px}.chat-input-area{border-top:1px solid rgba(255,255,255,.04);padding:var(--sp-4) 0}.chat-quick-actions{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-3);overflow-x:auto;scrollbar-width:none}.chat-quick-actions::-webkit-scrollbar{display:none}.chat-quick-btn{flex-shrink:0;border:1px solid var(--muted);border-radius:var(--radius-full);padding:var(--sp-1) var(--sp-3);background:transparent;font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;color:var(--text-tertiary);cursor:pointer;transition:all var(--duration-base) var(--ease-out);white-space:nowrap}.chat-quick-btn:hover{background:var(--subtle);border-color:var(--emphasis);color:var(--text-secondary)}.chat-input-row{display:flex;gap:var(--sp-2)}.chat-textarea{flex:1;resize:none;min-height:40px;max-height:120px;background:var(--surface);border:1px solid rgba(255,255,255,.04);border-radius:var(--radius-lg);padding:var(--sp-3) var(--sp-4);font-size:13px}.chat-send-btn{width:40px;height:40px;border-radius:var(--radius-lg);background:var(--emphasis);border:none;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--duration-base) var(--ease-out);flex-shrink:0}.chat-send-btn:hover{background:#4a4a4a}.chat-send-btn:disabled{opacity:.3;cursor:not-allowed}.chat-thinking{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);animation:pulse 1.5s infinite}.metrics-row{display:flex;gap:var(--sp-2)}.metric-cell{flex:1;background:var(--subtle);border-radius:var(--radius-sm);padding:var(--sp-3);display:flex;flex-direction:column;gap:2px}.metric-label{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:.05em}.metric-value{font-family:var(--font-mono);font-size:16px;font-weight:500}.tabs{display:flex;gap:0;border-bottom:1px solid var(--elevated);margin-bottom:var(--sp-6)}.tab{padding:var(--sp-3) var(--sp-5);background:none;border:none;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all var(--duration-base) var(--ease-out)}.tab:hover{color:var(--text-secondary)}.tab.active{color:var(--text-primary);border-bottom-color:var(--text-primary)}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-2) 0;border-bottom:1px solid rgba(255,255,255,.03)}.detail-row:last-child{border-bottom:none}.detail-label{font-size:12px;color:var(--text-tertiary)}.detail-value{font-family:var(--font-mono);font-size:13px;color:var(--text-primary)}.step-indicator{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-family:var(--font-mono);font-size:10px;font-weight:500;flex-shrink:0}.step-indicator.done{background:#5b9e8b26;color:var(--positive)}.step-indicator.running{background:#c4a35a26;color:var(--warning)}.step-indicator.error{background:#c4707026;color:var(--negative)}.step-indicator.pending{background:var(--subtle);color:var(--text-muted)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--root)}.login-card{width:360px;background:var(--surface);border:1px solid var(--elevated);border-radius:var(--radius-lg);padding:var(--sp-10)}.login-brand{font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.35em;text-transform:uppercase;color:var(--text-primary);text-align:center;margin-bottom:var(--sp-1)}.login-sub{font-family:var(--font-mono);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);text-align:center;margin-bottom:var(--sp-8)}.skeleton{background:linear-gradient(90deg,var(--elevated) 25%,var(--subtle) 50%,var(--elevated) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.empty-state{text-align:center;padding:var(--sp-12);color:var(--text-muted);font-size:13px}.error-msg{background:#c4707014;border:1px solid rgba(196,112,112,.2);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4);color:var(--negative);font-size:12px}.success-msg{background:#5b9e8b14;border:1px solid rgba(91,158,139,.2);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4);color:var(--positive);font-size:12px}@media(max-width:1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.sidebar{display:none}.main-content{padding:var(--sp-4)}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.form-row,.metrics-row{flex-direction:column}}
