@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--bg-primary: hsl(222, 25%, 6%);--bg-secondary: hsl(222, 20%, 9%);--surface: hsla(222, 20%, 12%, .7);--surface-border: hsla(222, 20%, 22%, .5);--surface-hover: hsla(222, 20%, 18%, .85);--color-primary: hsl(192, 100%, 50%);--color-primary-glow: hsla(192, 100%, 50%, .15);--color-success: hsl(150, 100%, 50%);--color-success-glow: hsla(150, 100%, 50%, .15);--color-warning: hsl(40, 100%, 50%);--color-warning-glow: hsla(40, 100%, 50%, .15);--color-danger: hsl(355, 100%, 60%);--color-danger-glow: hsla(355, 100%, 60%, .15);--text-main: hsl(210, 20%, 95%);--text-muted: hsl(215, 15%, 70%);--text-dark: hsl(220, 10%, 45%);--font-family-sans: "Inter", system-ui, -apple-system, sans-serif;--font-family-title: "Outfit", var(--font-family-sans);--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 10px 10px -5px rgba(0, 0, 0, .04);--glow-primary: 0 0 20px hsla(192, 100%, 50%, .3);--glow-success: 0 0 20px hsla(150, 100%, 50%, .3)}*{box-sizing:border-box;margin:0;padding:0;scrollbar-width:thin;scrollbar-color:var(--surface-border) var(--bg-primary)}body{font-family:var(--font-family-sans);background-color:var(--bg-primary);color:var(--text-main);background-image:radial-gradient(at 0% 0%,hsla(192,100%,50%,.05) 0px,transparent 50%),radial-gradient(at 100% 100%,hsla(150,100%,50%,.03) 0px,transparent 50%);min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-title);font-weight:700;letter-spacing:-.02em}.glass{background:var(--surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--surface-border);box-shadow:var(--shadow-md)}input,select,textarea{background:#101318cc;border:1px solid var(--surface-border);border-radius:var(--radius-sm);color:var(--text-main);padding:12px 16px;font-family:var(--font-family-sans);font-size:.95rem;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}label{font-family:var(--font-family-title);font-size:.9rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;display:block}.btn{font-family:var(--font-family-title);font-weight:600;font-size:.95rem;padding:12px 24px;border-radius:var(--radius-sm);border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .2s cubic-bezier(.4,0,.2,1);letter-spacing:.02em}.btn-primary{background:var(--color-primary);color:#0b0e13;box-shadow:var(--glow-primary)}.btn-primary:hover{filter:brightness(1.15);box-shadow:0 0 25px #00ccff80;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--surface);color:var(--text-main);border:1px solid var(--surface-border)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--text-muted)}.btn-danger{background:var(--color-danger);color:#0b0e13;box-shadow:var(--glow-danger)}.btn-danger:hover{filter:brightness(1.15);transform:translateY(-1px)}.badge{font-family:var(--font-family-title);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:4px 10px;border-radius:9999px;display:inline-flex;align-items:center;gap:5px}.badge-pending{background:var(--color-warning-glow);color:var(--color-warning);border:1px solid hsla(40,100%,50%,.3)}.badge-running{background:var(--color-primary-glow);color:var(--color-primary);border:1px solid hsla(192,100%,50%,.3);animation:pulse-border 2s infinite ease-in-out}.badge-completed{background:var(--color-success-glow);color:var(--color-success);border:1px solid hsla(150,100%,50%,.3)}.badge-failed{background:var(--color-danger-glow);color:var(--color-danger);border:1px solid hsla(355,100%,60%,.3)}@keyframes pulse-border{0%,to{border-color:#00ccff4d;box-shadow:0 0 #00ccff1a}50%{border-color:#0cfc;box-shadow:0 0 8px 2px #0cf3}}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--surface-border);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text-dark)}.chart-container[data-v-26edf297]{padding:24px;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:20px;width:100%}.chart-header[data-v-26edf297]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;border-bottom:1px solid var(--surface-border);padding-bottom:16px}.stat-box[data-v-26edf297]{display:flex;flex-direction:column;gap:4px}.stat-label[data-v-26edf297]{font-family:var(--font-family-title);font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-dark);letter-spacing:.05em}.stat-value[data-v-26edf297]{font-family:var(--font-family-title);font-weight:700;font-size:1.4rem;letter-spacing:-.01em}.text-success[data-v-26edf297]{color:var(--color-success)}.text-danger[data-v-26edf297]{color:var(--color-danger)}.text-primary[data-v-26edf297]{color:var(--color-primary)}.text-warning[data-v-26edf297]{color:var(--color-warning)}.chart-svg-wrapper[data-v-26edf297]{position:relative;width:100%;aspect-ratio:800/300;background:#10131866;border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid hsla(222,20%,15%,.5)}.chart-svg[data-v-26edf297]{width:100%;height:100%}.chart-placeholder[data-v-26edf297]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;gap:12px}.pulse-ring[data-v-26edf297]{width:48px;height:48px;border-radius:50%;border:3px solid var(--color-primary-glow);border-top-color:var(--color-primary);animation:spin-26edf297 1.5s infinite linear}@keyframes spin-26edf297{to{transform:rotate(360deg)}}.placeholder-text[data-v-26edf297]{font-family:var(--font-family-title);font-weight:700;font-size:1.1rem;color:var(--text-main);letter-spacing:.02em}.placeholder-sub[data-v-26edf297]{font-size:.85rem;color:var(--text-dark);max-width:400px}@media (max-width: 768px){.chart-header[data-v-26edf297]{grid-template-columns:repeat(2,1fr)}.stat-value[data-v-26edf297]{font-size:1.1rem}}.auth-wrapper[data-v-d9c743df]{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100vw;padding:20px;background-image:radial-gradient(at 0% 0%,hsla(192,100%,50%,.08) 0px,transparent 50%),radial-gradient(at 100% 100%,hsla(150,100%,50%,.05) 0px,transparent 50%)}.auth-card[data-v-d9c743df]{width:100%;max-width:440px;border-radius:var(--radius-lg);padding:40px;display:flex;flex-direction:column;gap:28px;box-shadow:var(--shadow-lg)}.auth-header[data-v-d9c743df]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.brand-icon[data-v-d9c743df]{width:44px;height:44px;color:var(--color-primary);filter:drop-shadow(0 0 6px var(--color-primary-glow));margin-bottom:8px}.auth-header h1[data-v-d9c743df]{font-size:1.8rem;font-weight:800;letter-spacing:-.02em}.tagline[data-v-d9c743df]{font-size:.85rem;color:var(--text-dark);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.auth-tabs[data-v-d9c743df]{display:grid;grid-template-columns:1fr 1fr;background:#10131899;border:1px solid var(--surface-border);padding:4px;border-radius:var(--radius-sm)}.tab-btn[data-v-d9c743df]{background:transparent;border:none;color:var(--text-muted);font-family:var(--font-family-title);font-weight:600;padding:10px;border-radius:4px;cursor:pointer;transition:all .2s}.tab-btn.active[data-v-d9c743df]{background:var(--surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.auth-form[data-v-d9c743df]{display:flex;flex-direction:column;gap:20px}.w-full[data-v-d9c743df]{width:100%}.msg-box[data-v-d9c743df]{padding:12px 16px;border-radius:var(--radius-sm);font-size:.85rem;line-height:1.4;font-weight:500}.err-box[data-v-d9c743df]{background:var(--color-danger-glow);color:var(--color-danger);border:1px solid hsla(355,100%,60%,.2)}.ok-box[data-v-d9c743df]{background:var(--color-success-glow);color:var(--color-success);border:1px solid hsla(150,100%,50%,.2)}.divider[data-v-d9c743df]{display:flex;align-items:center;text-align:center;color:var(--text-dark);font-size:.75rem;text-transform:uppercase;font-weight:700;letter-spacing:.05em}.divider[data-v-d9c743df]:before,.divider[data-v-d9c743df]:after{content:"";flex:1;border-bottom:1px solid var(--surface-border)}.divider span[data-v-d9c743df]{padding:0 10px}.google-sso-wrapper[data-v-d9c743df]{overflow:hidden;border-radius:var(--radius-sm);border:1px solid var(--surface-border);transition:border-color .2s}.google-sso-wrapper[data-v-d9c743df]:hover{border-color:var(--text-muted)}.google-sso-notice[data-v-d9c743df]{background:#10131880;border:1px dashed var(--surface-border);border-radius:var(--radius-sm);padding:14px;text-align:center;font-size:.8rem;color:var(--text-dark);line-height:1.4}.google-sso-notice code[data-v-d9c743df]{background:#1f232ecc;padding:2px 6px;border-radius:4px;color:var(--color-primary);font-family:monospace}.terminal[data-v-f45c8aa7]{display:flex;flex-direction:column;height:360px;width:100%;border-radius:var(--radius-md);overflow:hidden;background:#05070a!important;border:1px solid var(--surface-border)}.terminal-header[data-v-f45c8aa7]{background:#101318e6;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--surface-border);-webkit-user-select:none;user-select:none}.terminal-dots[data-v-f45c8aa7]{display:flex;gap:6px}.dot[data-v-f45c8aa7]{width:12px;height:12px;border-radius:50%;display:inline-block}.dot-red[data-v-f45c8aa7]{background:#ff5f56}.dot-yellow[data-v-f45c8aa7]{background:#ffbd2e}.dot-green[data-v-f45c8aa7]{background:#27c93f}.terminal-title[data-v-f45c8aa7]{font-family:var(--font-family-title);font-size:.8rem;font-weight:700;color:var(--text-muted)}.terminal-actions[data-v-f45c8aa7]{display:flex;gap:8px}.terminal-action-btn[data-v-f45c8aa7]{background:var(--surface-border);border:none;color:var(--text-muted);font-size:.75rem;font-family:var(--font-family-title);font-weight:600;padding:4px 10px;border-radius:4px;cursor:pointer;transition:all .2s}.terminal-action-btn[data-v-f45c8aa7]:hover{background:var(--text-dark);color:var(--text-main)}.active-btn[data-v-f45c8aa7]{background:var(--color-primary-glow)!important;color:var(--color-primary)!important;border:1px solid hsla(192,100%,50%,.3)!important}.terminal-body[data-v-f45c8aa7]{flex-grow:1;padding:16px;overflow-y:auto;font-family:Fira Code,Courier New,Courier,monospace;font-size:.85rem;display:flex;flex-direction:column;gap:6px;line-height:1.4;color:#a8ffb2}.terminal-row[data-v-f45c8aa7]{display:flex;gap:8px;align-items:flex-start;word-break:break-all}.terminal-prefix[data-v-f45c8aa7]{color:var(--color-primary);font-weight:700;-webkit-user-select:none;user-select:none;flex-shrink:0}.terminal-text[data-v-f45c8aa7]{text-shadow:0 0 2px hsla(120,100%,50%,.15)}.text-dim[data-v-f45c8aa7]{color:var(--text-dark);font-style:italic}.terminal-cursor[data-v-f45c8aa7]{color:var(--color-success);animation:blink-f45c8aa7 1s infinite steps(2,start);font-weight:700}@keyframes blink-f45c8aa7{to{visibility:hidden}}.terminal-body[data-v-f45c8aa7]::-webkit-scrollbar{width:6px}.terminal-body[data-v-f45c8aa7]::-webkit-scrollbar-track{background:transparent}.terminal-body[data-v-f45c8aa7]::-webkit-scrollbar-thumb{background:var(--surface-border);border-radius:3px}.terminal-body[data-v-f45c8aa7]::-webkit-scrollbar-thumb:hover{background:var(--text-dark)}.app-layout{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--surface-border);height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:24px 16px;gap:24px;background:#0a0b10f2;z-index:10}.brand{display:flex;align-items:center;gap:12px}.brand-icon{width:32px;height:32px;color:var(--color-primary);filter:drop-shadow(0 0 4px var(--color-primary-glow));flex-shrink:0}.brand-text h2{font-size:1.3rem;font-weight:800;line-height:1}.brand-tag{font-size:.7rem;color:var(--text-dark);font-weight:600}.sidebar-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini-status-card{background:#10131899;border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:8px 12px;display:flex;flex-direction:column;gap:4px}.mini-label{font-size:.65rem;font-weight:600;text-transform:uppercase;color:var(--text-dark)}.mini-value{font-family:var(--font-family-title);font-size:1.2rem;font-weight:800}.pulse{animation:heartbeat-pulse 1.5s infinite ease-in-out}@keyframes heartbeat-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(1.05)}}.nav-menu{display:flex;flex-direction:column;gap:8px}.nav-item{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:12px 16px;color:var(--text-muted);font-family:var(--font-family-title);font-weight:600;text-align:left;font-size:.95rem;cursor:pointer;transition:all .2s}.nav-item:hover{background:#1f232e4d;color:var(--text-main)}.nav-item.active{background:#00ccff14;border-color:#0cf3;color:var(--color-primary)}.sidebar-section{display:flex;flex-direction:column;gap:12px;flex-grow:1;overflow:hidden}.section-header{display:flex;align-items:center;justify-content:space-between}.section-title{font-family:var(--font-family-title);font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.add-job-btn{background:var(--surface-border);color:var(--text-main);border:none;width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s}.add-job-btn:hover{background:var(--color-primary);color:var(--bg-primary)}.jobs-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex-grow:1}.job-sidebar-item{background:#10131866;border:1px solid transparent;padding:12px;border-radius:var(--radius-sm);cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:all .2s}.job-sidebar-item:hover{background:#1d212b80;border-color:var(--surface-border)}.job-sidebar-item.active{background:var(--surface);border-color:var(--color-primary);box-shadow:0 0 10px var(--color-primary-glow)}.job-item-header{display:flex;justify-content:space-between;align-items:center}.job-ticker{font-family:var(--font-family-title);font-weight:800;font-size:1.05rem}.job-item-details{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-dark);font-weight:500}.sidebar-user-footer{border-top:1px solid var(--surface-border);display:flex;flex-direction:column;gap:12px;background:#06070a66;padding:16px 12px;margin:0 -8px -8px;border-radius:0 0 var(--radius-sm) var(--radius-sm)}.user-meta{display:flex;flex-direction:column;gap:4px}.user-email{font-size:.85rem;font-weight:500;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role-badge{align-self:flex-start;font-size:.65rem!important;padding:2px 8px!important}.btn-logout{background:transparent;color:var(--text-dark);border:1px solid var(--surface-border);border-radius:4px;padding:6px;font-family:var(--font-family-title);font-weight:600;font-size:.8rem;cursor:pointer;text-align:center;transition:all .2s}.btn-logout:hover{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-glow)}.workspace{display:flex;flex-direction:column;height:100vh;overflow-y:auto}.workspace-header{padding:24px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--surface-border);position:sticky;top:0;background:#0b0e13cc;z-index:5}.subtitle{font-size:.9rem;color:var(--text-muted);margin-top:4px}.workspace-body{padding:32px;display:flex;flex-direction:column;flex-grow:1}.dashboard-workspace-grid{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start}.main-column{display:flex;flex-direction:column;gap:32px}.side-column{display:flex;flex-direction:column;gap:32px;position:sticky;top:110px}.job-banner{padding:24px;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:20px}.banner-top{display:flex;justify-content:space-between;align-items:flex-start}.ticker-box{display:flex;flex-direction:column}.ticker-label{font-size:.75rem;color:var(--text-dark);text-transform:uppercase;font-weight:700}.ticker-title{font-size:2rem;font-weight:800}.banner-badge-group{display:flex;align-items:center;gap:12px}.btn-delete{background:#ff33441a;border:1px solid hsla(355,100%,60%,.2);color:var(--color-danger);width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.btn-delete:hover{background:var(--color-danger);color:#0b0e13;box-shadow:0 0 10px var(--color-danger-glow)}.banner-details{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:.7rem;font-weight:700;text-transform:uppercase;color:var(--text-dark)}.detail-value{font-size:.95rem;font-weight:600}.mock-simulator-callout{background:#00ccff0d;border:1px dashed hsla(192,100%,50%,.4);border-radius:var(--radius-sm);padding:16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.callout-desc h4{color:var(--color-primary);margin-bottom:4px}.callout-desc p{font-size:.8rem;color:var(--text-muted)}.history-card{padding:24px;border-radius:var(--radius-md)}.history-list{display:flex;flex-direction:column;gap:10px;max-height:280px;overflow-y:auto;padding-right:4px}.history-item{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:12px;cursor:pointer;transition:all var(--transition-fast) ease}.history-item:hover{background:#ffffff0d;border-color:#fff3;transform:translateY(-1px)}.history-item.active-run{background:#00f5ff0d;border-color:var(--color-cyan);box-shadow:0 0 10px #00f5ff26}.history-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.history-model{font-size:.85rem;font-weight:700;color:var(--text-light)}.history-item-meta{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--text-dark)}.history-date{font-family:monospace}.history-user{font-weight:500;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hyper-card{padding:24px;border-radius:var(--radius-md)}.history-card h3,.hyper-card h3,.workers-card h3,.trades-panel h3{font-size:1.1rem;margin-bottom:20px;font-weight:700;border-bottom:1px solid var(--surface-border);padding-bottom:12px}.hyper-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hyper-item{display:flex;flex-direction:column;gap:4px}.hyper-label{font-size:.7rem;color:var(--text-dark);font-weight:700}.hyper-value{font-family:var(--font-family-title);font-size:1.1rem;font-weight:700;color:var(--text-main)}.workers-card{padding:24px;border-radius:var(--radius-md)}.workers-list{display:flex;flex-direction:column;gap:16px}.worker-node-item{background:#10131866;border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:14px;display:flex;flex-direction:column;gap:8px}.node-header{display:flex;justify-content:space-between;align-items:center}.node-name{font-family:var(--font-family-title);font-weight:700;font-size:.95rem}.node-details{display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:var(--text-muted)}.node-details .label{font-weight:700;color:var(--text-dark)}.worker-id-code{background:#1f232ecc;padding:2px 6px;border-radius:4px;color:var(--color-primary)}.empty-dashboard{flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px;gap:20px;border-radius:var(--radius-md);max-width:600px;margin:60px auto}.empty-dashboard h3{font-size:1.5rem;color:var(--text-main)}.empty-dashboard p{color:var(--text-muted);font-size:.95rem;max-width:400px}.trades-panel{padding:24px;border-radius:var(--radius-md)}.table-wrapper{overflow-x:auto;width:100%}.trades-table{width:100%;border-collapse:collapse;text-align:left}.trades-table th{padding:12px;font-family:var(--font-family-title);font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--text-dark);letter-spacing:.05em;border-bottom:1px solid var(--surface-border)}.trades-table td{padding:14px 12px;font-size:.85rem;border-bottom:1px solid hsla(222,20%,15%,.3);color:var(--text-muted)}.trades-table tr:hover td{background:#1f232e26;color:var(--text-main)}.empty-table-notice{text-align:center;padding:40px!important;color:var(--text-dark)!important;font-size:.9rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#04070dcc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal-card{width:100%;max-width:600px;border-radius:var(--radius-md);padding:32px;display:flex;flex-direction:column;gap:24px;box-shadow:0 25px 50px -12px #000000b3;animation:modal-enter .3s cubic-bezier(.34,1.56,.64,1)}@keyframes modal-enter{0%{transform:scale(.9) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--surface-border);padding-bottom:16px}.close-btn{background:transparent;border:none;font-size:2rem;color:var(--text-dark);cursor:pointer;transition:color .2s;line-height:1}.close-btn:hover{color:var(--text-main)}.job-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.modal-footer{display:flex;justify-content:flex-end;gap:16px;margin-top:12px}.empty-list-notice{font-size:.8rem;color:var(--text-dark);text-align:center;padding:24px}.admin-dashboard-layout{display:flex;flex-direction:column;gap:32px}.invite-banner-card{padding:32px;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:16px}.invite-desc{font-size:.9rem;color:var(--text-muted);max-width:800px;line-height:1.5}.invite-inline-form{display:flex;gap:16px;max-width:500px}.invite-inline-form input{flex-grow:1}.generated-url-box{background:var(--color-success-glow);color:var(--color-success);border:1px solid hsla(150,100%,50%,.2);border-radius:var(--radius-sm);padding:16px;display:flex;flex-direction:column;gap:8px}.g-url-label{font-weight:700;font-size:.85rem}.g-copy-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.g-url-code{background:#101318cc;padding:8px 12px;border-radius:4px;border:1px solid var(--surface-border);font-size:.85rem;color:var(--text-main);flex-grow:1;word-break:break-all}.users-panel{padding:32px;border-radius:var(--radius-md)}.user-email-cell{font-weight:600;color:var(--text-main)}.role-cell{text-transform:uppercase;font-weight:700;font-size:.75rem;letter-spacing:.05em;color:var(--text-muted)}.auth-source-badge{background:#1f232ecc;padding:4px 8px;border-radius:4px;font-size:.75rem;color:var(--text-muted)}.action-btn-group{display:flex;justify-content:flex-end;gap:8px}.btn-success-action{background:var(--color-success-glow);color:var(--color-success);border:1px solid hsla(150,100%,50%,.3)}.btn-success-action:hover{background:var(--color-success);color:#0b0e13;box-shadow:var(--glow-success)}.btn-secondary-action{background:var(--surface-border);color:var(--text-main);border:1px solid transparent}.btn-secondary-action:hover{border-color:var(--text-muted)}.btn-danger-action{background:var(--color-danger-glow);color:var(--color-danger);border:1px solid hsla(355,100%,60%,.3)}.btn-danger-action:hover{background:var(--color-danger);color:#0b0e13;box-shadow:var(--glow-danger)}@media (max-width: 1200px){.dashboard-workspace-grid{grid-template-columns:1fr}.side-column{position:static}}@media (max-width: 768px){.app-layout{grid-template-columns:1fr}.sidebar{display:none}.form-row{grid-template-columns:1fr}.banner-details{grid-template-columns:repeat(2,1fr)}}.card-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-header-row h3{margin-bottom:0!important}.badge-owned{background:var(--color-primary-glow);color:var(--color-primary);border:1px solid hsla(192,100%,50%,.2);padding:2px 6px;border-radius:4px;font-size:.65rem;font-weight:700;text-transform:uppercase}.node-title-group{display:flex;align-items:center;gap:8px}.owned-worker{border-left:3px solid var(--color-primary)!important}.owner-controls{margin-top:10px;padding-top:10px;border-top:1px dashed var(--surface-border);display:flex;flex-direction:column;gap:8px}.key-display-row{display:flex;align-items:center;gap:6px}.key-blur{background:#0a0c0fcc;padding:2px 6px;border-radius:4px;font-family:monospace;font-size:.75rem;color:var(--color-warning)}.btn-copy-sm{background:transparent;border:none;cursor:pointer;font-size:.85rem;transition:transform .1s}.btn-copy-sm:active{transform:scale(.9)}.btn-unregister{background:#ff00001a;border:1px solid hsla(0,100%,50%,.2);color:#ff4d4d;font-size:.7rem;font-weight:600;padding:6px 8px;border-radius:4px;cursor:pointer;text-align:center;transition:all .2s}.btn-unregister:hover{background:#f003}.btn-xs{font-size:.7rem!important;padding:4px 8px!important}.field-hint{font-size:.7rem;color:var(--text-dark);margin-top:4px}.api-key-card{max-width:550px!important}.api-key-body{display:flex;flex-direction:column;gap:16px;padding:16px 0}.key-warning-text{font-size:.8rem;color:var(--color-warning);background:#ff99001a;border:1px solid hsla(36,100%,50%,.2);padding:10px;border-radius:6px;line-height:1.4}.key-box{display:flex;align-items:center;justify-content:space-between;background:#0a0c0fe6;border:1px solid var(--surface-border);padding:12px 16px;border-radius:6px;gap:12px}.plain-key-code{font-family:monospace;font-size:1rem;color:#a8ffb2;font-weight:700;word-break:break-all}.setup-instructions{display:flex;flex-direction:column;gap:8px;background:#10131880;border:1px solid var(--surface-border);padding:14px;border-radius:6px}.setup-instructions h4{margin:0;color:var(--text-main)}.setup-instructions p{margin:0;font-size:.75rem;color:var(--text-muted)}.bash-code{background:#05070b;border:1px solid #1a202c;padding:8px;border-radius:4px;color:#e2e8f0;font-size:.75rem;font-family:monospace;margin:4px 0 0;overflow-x:auto}
