:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17202f;background:#f5f7fa;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f5f7fa}button{font:inherit}a{color:inherit}button svg,.summary-icon svg,.status-badge svg,.slot-role svg,.service-row svg,.log-panel-header svg{flex:0 0 auto}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;color:#111827;font-size:34px;line-height:1.08;letter-spacing:0}h2{color:#111827;font-size:20px;line-height:1.2;letter-spacing:0}h3{color:#111827;letter-spacing:0}.dashboard-page{width:min(1240px,calc(100% - 32px));margin:0 auto;padding:32px 0 48px}.dashboard-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.header-actions,.user-menu{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.user-menu{min-width:0}.user-menu span{max-width:220px;overflow:hidden;color:#475569;font-size:13px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-panel{width:min(420px,100%);border:1px solid #dbe3ec;border-radius:8px;padding:24px;background:#fff;box-shadow:0 20px 70px #0f172a1f}.auth-panel svg{color:#1d4ed8}.auth-panel h1{margin:14px 0 10px;font-size:28px}.auth-panel p{margin-bottom:18px;color:#64748b;line-height:1.5}.eyebrow{margin:0 0 6px;color:#64748b;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.button,.mini-button,.slot-action-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#17202f;font-weight:760;cursor:pointer;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,color .14s ease}.button{padding:9px 14px}a.button{text-decoration:none}.button:hover:not(:disabled),.mini-button:hover:not(:disabled),.slot-action-button:hover:not(:disabled){border-color:#94a3b8;background:#f8fafc}.button:focus-visible,.mini-button:focus-visible,.slot-action-button:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}.button:disabled,.mini-button:disabled,.slot-action-button:disabled{cursor:not-allowed;opacity:.55}.primary-button{border-color:#1d4ed8;background:#2563eb;color:#fff}.primary-button:hover:not(:disabled){border-color:#1e40af;background:#1d4ed8}.secondary-button{color:#334155}.danger-button{border-color:#fecaca;background:#fff7f7;color:#b91c1c}.danger-button:hover:not(:disabled){border-color:#fca5a5;background:#fee2e2}.panel,.empty-state,.project-list-shell{border:1px solid #dbe3ec;border-radius:8px;background:#fff}.panel{padding:18px}.panel.error{border-color:#fecaca;background:#fff7f7;color:#b91c1c}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:18px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:20px 0 12px}.section-heading h2{margin-bottom:0}.agent-overview{margin-bottom:18px}.global-dashboard-grid{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:14px;align-items:start}.environment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.environment-column{min-width:0;border:1px solid #dbe3ec;border-radius:8px;background:#fff}.environment-header{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e5eaf0;padding:12px 14px}.environment-header strong{color:#111827;font-size:14px;text-transform:uppercase}.environment-header span{min-width:28px;border-radius:999px;padding:4px 8px;background:#eef2ff;color:#3730a3;font-size:12px;font-weight:900;text-align:center}.environment-empty{margin:0;padding:16px 14px;color:#64748b;font-size:13px}.agent-project-list{display:grid}.agent-management{display:grid;gap:8px;margin-bottom:12px}.agent-management-row{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dbe3ec;border-radius:8px;padding:10px 12px;background:#fff}.agent-management-row>div{min-width:0}.agent-management-row strong,.agent-management-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-management-row strong{color:#111827;font-size:13px}.agent-management-row span{color:#64748b;font-size:12px}.agent-project-row{width:100%;min-width:0;min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:0;border-bottom:1px solid #eef2f6;padding:12px 14px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.agent-project-row:hover,.agent-project-row.is-selected{background:#f8fafc}.agent-project-row.is-selected{box-shadow:inset 3px 0 #2563eb}.agent-project-row:last-child{border-bottom:0}.agent-project-row>div:first-child{min-width:0}.agent-project-row strong,.agent-project-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-project-row strong{color:#111827;font-size:14px}.agent-project-row span{color:#64748b;font-size:12px;font-weight:720}.agent-project-meta{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;text-transform:capitalize}.agent-dot{width:8px;height:8px;border-radius:999px;background:#f87171}.agent-dot.online{background:#22c55e}.project-detail-panel{min-width:0;border:1px solid #dbe3ec;border-radius:8px;padding:18px;background:#fff}.project-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.project-detail-header h2{margin-bottom:5px}.project-detail-header span{display:block;color:#64748b;font-size:13px;font-weight:720}.project-detail-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid #e5eaf0;border-radius:8px;margin-bottom:14px;background:#e5eaf0}.project-detail-meta div{min-width:0;padding:11px 12px;background:#f8fafc}.project-detail-meta span{display:block;color:#64748b;font-size:12px;font-weight:720}.project-detail-meta strong{display:block;overflow:hidden;margin-top:3px;color:#111827;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}.project-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.detail-slots-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-slot{min-width:0;border:1px solid #dbe3ec;border-radius:8px;padding:14px;background:#fff}.detail-slot.active{border-color:#93c5fd;box-shadow:inset 4px 0 #2563eb}.detail-slot.green.active{border-color:#86efac;box-shadow:inset 4px 0 #16a34a}.detail-slot-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.detail-slot-header h3{margin:0 0 4px;text-transform:capitalize}.detail-slot-header span{color:#64748b;font-size:12px;font-weight:760}.detail-service-list{display:grid;border-top:1px solid #eef2f6}.detail-service-row{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #eef2f6;padding:10px 0}.detail-service-row:last-child{border-bottom:0}.detail-service-row>div{min-width:0}.detail-service-row strong,.detail-service-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-service-row strong{color:#111827;font-size:13px}.detail-service-row span{color:#64748b;font-size:12px}.command-panel{display:grid;gap:10px;margin-top:14px}.command-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#111827;font-size:13px;font-weight:820}.command-panel-header span{color:#64748b;text-transform:capitalize}.summary-tile{min-height:102px;display:flex;align-items:flex-start;gap:12px;border:1px solid #dbe3ec;border-radius:8px;padding:16px;background:#fff}.summary-tile span,.summary-tile small{display:block;color:#64748b;font-size:12px;font-weight:720}.summary-tile strong{display:block;margin:4px 0 2px;color:#111827;font-size:26px;line-height:1}.summary-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:#eef2ff;color:#3730a3}.summary-tile.healthy .summary-icon{background:#dcfce7;color:#15803d}.summary-tile.info .summary-icon{background:#dbeafe;color:#1d4ed8}.summary-tile.danger .summary-icon{background:#fee2e2;color:#b91c1c}.project-grid{display:grid;grid-template-columns:minmax(0,1fr);border:1px solid #dbe3ec;border-radius:8px;padding:0 22px;background:#fff}.project-card{min-width:0;padding:24px 0;border-bottom:1px solid #e5eaf0}.project-card:last-child{border-bottom:0}.project-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.project-card-header>div{min-width:0}.project-card h2{margin-bottom:5px}.project-card p{max-width:780px;margin-bottom:0;overflow:hidden;color:#64748b;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.project-health,.slot-pill{min-height:32px;display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:800}.project-health span{width:8px;height:8px;border-radius:999px}.project-health.healthy{background:#dcfce7;color:#166534}.project-health.healthy span{background:#16a34a}.project-health.danger{background:#fee2e2;color:#991b1b}.project-health.danger span{background:#dc2626}.slot-pill{background:#f1f5f9;color:#334155;text-transform:capitalize}.project-meta-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid #e5eaf0;border-radius:8px;margin-bottom:16px;background:#e5eaf0}.project-meta-strip div{min-width:0;padding:12px;background:#f8fafc}.project-meta-strip span{display:block;margin-bottom:4px;color:#64748b;font-size:12px;font-weight:720}.project-meta-strip strong{display:block;overflow:hidden;color:#111827;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.project-actions{display:flex;justify-content:flex-end;gap:10px;margin-bottom:16px;flex-wrap:wrap}.slots-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.slot-card{min-width:0;border:1px solid #dbe3ec;border-radius:8px;padding:16px;background:#fff}.slot-card.active{border-color:#93c5fd;box-shadow:inset 4px 0 #2563eb}.slot-card.green.active{border-color:#86efac;box-shadow:inset 4px 0 #16a34a}.slot-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.slot-card-top>div:first-child{min-width:0;display:grid;gap:8px}.slot-card h3{margin:0;font-size:24px;line-height:1;text-transform:capitalize}.slot-role{display:inline-flex;align-items:center;gap:6px;color:#64748b;font-size:12px;font-weight:760}.status-badge{min-height:28px;display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:840}.status-badge.healthy{background:#dcfce7;color:#166534}.status-badge.running{background:#fef3c7;color:#92400e}.status-badge.offline{background:#fee2e2;color:#991b1b}.slot-summary{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(110px,.6fr);gap:10px;margin-bottom:14px}.slot-summary div{min-width:0;border:1px solid #e5eaf0;border-radius:8px;padding:10px;background:#f8fafc}.slot-summary span,.slot-info span{color:#64748b;font-size:12px;font-weight:720}.slot-summary strong{display:block;margin-top:4px;overflow:hidden;color:#111827;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.slot-info{display:grid;border-top:1px solid #e5eaf0}.service-row{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eef2f6}.service-row>span{min-width:0;display:inline-flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-row-right{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px}.service-row-right strong{overflow:hidden;font-size:12px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.service-ok{color:#15803d}.service-error{color:#b91c1c}.mini-button{min-height:30px;padding:5px 8px;color:#334155;font-size:12px}.slot-action-button{width:100%;margin-top:14px;padding:9px 12px;color:#1d4ed8}.slot-action-button:disabled{color:#475569}.action-progress-overlay,.log-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;display:grid;place-items:center;padding:24px;background:#0f172a75;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.log-overlay{z-index:110}.action-progress-panel,.log-panel{width:min(580px,100%);max-height:calc(100vh - 48px);border:1px solid #dbe3ec;border-radius:8px;background:#fff;box-shadow:0 24px 80px #0f172a3d;overflow:auto}.action-progress-panel{padding:22px}.action-progress-panel.logs-open{width:min(920px,100%)}.action-progress-header,.log-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.action-progress-header{margin-bottom:14px}.action-progress-header h2,.log-panel-header h2{margin-bottom:0}.log-panel-header{padding:18px;border-bottom:1px solid #e5eaf0}.log-panel-header h2{display:inline-flex;align-items:center;gap:8px}.action-progress-detail{margin-bottom:18px;color:#64748b}.action-progress-bar{height:10px;overflow:hidden;border-radius:999px;background:#e5eaf0}.action-progress-bar-fill{height:100%;border-radius:inherit;background:#2563eb;transition:width .36s ease}.action-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px;color:#111827}.action-progress-meta strong{font-size:13px}.action-progress-meta span{color:#64748b;text-align:right}.action-progress-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:16px}.action-progress-error{margin-top:16px;border:1px solid #fecaca;border-radius:8px;padding:12px 14px;background:#fff7f7;color:#b91c1c}.action-progress-log,.log-output{margin:0;overflow:auto;white-space:pre-wrap;word-break:break-word;color:#d7e1ee;background:#0f172a;font-size:12px;line-height:1.55;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.action-progress-log{max-height:min(440px,44vh);margin-top:16px;border-radius:8px;padding:14px}.log-output{min-height:380px;padding:18px}.log-state{display:flex;align-items:center;gap:10px;padding:22px;color:#64748b;font-weight:760}.empty-state{display:grid;place-items:center;gap:8px;padding:48px 18px;color:#64748b;text-align:center}.empty-state h2,.empty-state p{margin:0}.loading-row{height:168px;margin:18px;border-radius:8px;background:linear-gradient(90deg,#eef2f6,#f8fafc,#eef2f6);background-size:220% 100%;animation:loading-row 1.3s ease-in-out infinite}@keyframes loading-row{0%{background-position:0 0}to{background-position:-220% 0}}@media(max-width:920px){.project-meta-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.global-dashboard-grid,.slots-grid{grid-template-columns:1fr}}@media(max-width:680px){.dashboard-page{width:min(100% - 20px,1240px);padding:20px 0 32px}.dashboard-header,.project-card-header,.action-progress-header,.action-progress-meta,.log-panel-header{align-items:stretch;flex-direction:column}.dashboard-header .button,.project-actions .button{width:100%}.summary-grid,.environment-grid,.project-meta-strip,.project-detail-meta,.detail-slots-grid,.slot-summary{grid-template-columns:1fr}.project-grid{padding:0 14px}.project-actions{justify-content:stretch}.project-card p{max-width:100%;width:100%}.project-health{width:fit-content;max-width:100%}.service-row{align-items:flex-start;flex-direction:column}.service-row-right{width:100%;justify-content:space-between}.action-progress-meta span{text-align:left}}:root{color-scheme:dark;color:#e5edf7;background:#080d18}body{background:#080d18}h1,h2,h3,.summary-tile strong,.project-meta-strip strong,.project-detail-meta strong,.detail-service-row strong,.command-panel-header,.slot-summary strong,.action-progress-meta,.empty-state h2{color:#f8fafc}.eyebrow,.summary-tile span,.summary-tile small,.project-card p,.project-meta-strip span,.project-detail-header span,.project-detail-meta span,.detail-slot-header span,.detail-service-row span,.command-panel-header span,.slot-role,.slot-summary span,.slot-info span,.action-progress-detail,.action-progress-meta span,.log-state,.empty-state{color:#94a3b8}.button,.mini-button,.slot-action-button{border-color:#334155;background:#111827;color:#e5edf7}.button:hover:not(:disabled),.mini-button:hover:not(:disabled),.slot-action-button:hover:not(:disabled){border-color:#475569;background:#1e293b}.button:focus-visible,.mini-button:focus-visible,.slot-action-button:focus-visible{outline-color:#60a5fa47}.primary-button{border-color:#3b82f6;background:#2563eb;color:#fff}.primary-button:hover:not(:disabled){border-color:#60a5fa;background:#1d4ed8}.secondary-button,.mini-button{color:#dbeafe}.danger-button{border-color:#f8717161;background:#7f1d1d47;color:#fecaca}.danger-button:hover:not(:disabled){border-color:#f871719e;background:#991b1b61}.panel,.empty-state,.project-list-shell,.summary-tile,.environment-column,.agent-management-row,.project-detail-panel,.detail-slot,.project-grid,.slot-card,.action-progress-panel,.log-panel{border-color:#263244;background:#111827}.panel.error,.action-progress-error{border-color:#f871716b;background:#7f1d1d47;color:#fecaca}.summary-icon{background:#6366f129;color:#a5b4fc}.summary-tile.healthy .summary-icon{background:#22c55e24;color:#86efac}.summary-tile.info .summary-icon{background:#3b82f629;color:#93c5fd}.summary-tile.danger .summary-icon{background:#f8717129;color:#fca5a5}.project-card{border-bottom-color:#1e293b}.project-health.healthy,.status-badge.healthy{background:#22c55e29;color:#bbf7d0}.project-health.healthy span{background:#22c55e}.project-health.danger,.status-badge.offline{background:#f8717129;color:#fecaca}.project-health.danger span{background:#f87171}.status-badge.running{background:#f59e0b29;color:#fde68a}.slot-pill,.project-meta-strip div,.project-detail-meta div,.slot-summary div{background:#0f172a}.slot-pill{color:#cbd5e1}.project-meta-strip,.project-detail-meta,.agent-management-row,.environment-header,.agent-project-row,.detail-service-list,.detail-service-row,.slot-summary div,.slot-info,.log-panel-header,.action-progress-bar{border-color:#263244}.project-meta-strip{background:#263244}.agent-project-row:hover,.agent-project-row.is-selected{background:#0f172a}.environment-header strong,.agent-management-row strong,.agent-project-row strong,.detail-service-row strong{color:#f8fafc}.environment-header span{background:#6366f129;color:#c7d2fe}.environment-empty,.agent-management-row span,.agent-project-row span{color:#94a3b8}.slot-card.active{border-color:#60a5fa94;box-shadow:inset 4px 0 #3b82f6}.slot-card.green.active{border-color:#4ade8080;box-shadow:inset 4px 0 #22c55e}.service-row{border-bottom-color:#1e293b}.service-row-right strong{color:#e5edf7}.service-ok{color:#86efac}.service-error{color:#fca5a5}.slot-action-button{color:#93c5fd}.slot-action-button:disabled{color:#64748b}.action-progress-overlay,.log-overlay{background:#020617b8}.action-progress-panel,.log-panel{box-shadow:0 24px 90px #0000007a}.action-progress-bar{background:#1e293b}.action-progress-bar-fill{background:#3b82f6}.action-progress-log,.log-output{border-color:#263244;background:#050816;color:#dbeafe}.loading-row{background:linear-gradient(90deg,#111827,#1e293b,#111827);background-size:220% 100%}.project-circuit{position:relative;overflow:hidden;border:1px solid #263244;border-radius:12px;padding:18px;background:linear-gradient(rgba(148,163,184,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.045) 1px,transparent 1px),#0b1220;background-size:28px 28px}.circuit-source{position:relative;z-index:2;width:min(440px,100%);min-height:64px;display:flex;align-items:center;gap:12px;margin:0 auto;border:1px solid #334155;border-radius:12px;padding:12px;background:#0f172af5;box-shadow:0 16px 46px #00000047;transition:border-color .26s ease,box-shadow .26s ease}.circuit-source-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#3b82f629;color:#93c5fd}.circuit-source span{display:block;color:#94a3b8;font-size:12px;font-weight:800}.circuit-source strong{display:block;color:#f8fafc;font-size:15px}.circuit-live-badge{margin-left:auto;border:1px solid currentColor;border-radius:999px;min-width:96px;padding:6px 10px;text-align:center;font-size:12px;font-weight:900;text-transform:capitalize;transition:background .26s ease,color .26s ease,border-color .26s ease}.circuit-live-badge.blue{color:#93c5fd;background:#2563eb1f}.circuit-live-badge.green{color:#86efac;background:#16a34a1f}.circuit-board{position:relative;height:86px;margin:0 0 -6px}.circuit-trunk,.circuit-branch{position:absolute;display:block;pointer-events:none}.circuit-trunk{top:0;left:50%;width:4px;height:38px;transform:translate(-50%);border-radius:999px;background:#475569;transition:background .26s ease,box-shadow .26s ease}.circuit-branch{top:36px;height:48px;border-top:4px solid currentColor;transition:border-color .26s ease,filter .26s ease,opacity .26s ease}.circuit-branch:before,.circuit-branch:after{content:"";position:absolute;width:12px;height:12px;border-radius:999px;background:currentColor;box-shadow:0 0 16px currentColor}.circuit-branch:before{top:-8px}.circuit-branch:after{bottom:-6px}.circuit-branch.blue{right:50%;left:4%;color:#2563eb;border-left:4px solid currentColor;border-top-left-radius:14px}.circuit-branch.blue:before{right:-8px}.circuit-branch.blue:after{left:-8px}.circuit-branch.green{right:4%;left:50%;color:#16a34a;border-right:4px solid currentColor;border-top-right-radius:14px}.circuit-branch.green:before{left:-8px}.circuit-branch.green:after{right:-8px}.circuit-branch.standby{opacity:.44;border-top-style:dashed}.circuit-branch.active{opacity:1;filter:drop-shadow(0 0 12px currentColor);animation:route-pulse .9s ease-out}.project-circuit.active-blue .circuit-trunk{background:#2563eb;box-shadow:0 0 18px #60a5fab8}.project-circuit.active-green .circuit-trunk{background:#16a34a;box-shadow:0 0 18px #4ade80b8}.circuit-slots{position:relative;z-index:2}.slot-card{position:relative;overflow:hidden;border-radius:12px;background:#0f172af0;transition:border-color .26s ease,box-shadow .26s ease,filter .26s ease,opacity .26s ease,transform .26s ease}.slot-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.34}.slot-card.blue{border-color:#3b82f670}.slot-card.blue:before{background:linear-gradient(135deg,rgba(37,99,235,.28),transparent 44%)}.slot-card.green{border-color:#22c55e6b}.slot-card.green:before{background:linear-gradient(135deg,rgba(22,163,74,.26),transparent 44%)}.slot-card.active{transform:translateY(-2px);animation:slot-activate .32s ease-out}.slot-card.blue.active{border-color:#60a5fa;box-shadow:inset 5px 0 #2563eb,0 0 0 1px #60a5fa3d,0 22px 70px #2563eb3d}.slot-card.green.active{border-color:#4ade80;box-shadow:inset 5px 0 #16a34a,0 0 0 1px #4ade8038,0 22px 70px #16a34a3d}.slot-card:not(.active){opacity:.72;filter:saturate(.72)}.slot-card>*{position:relative;z-index:1}.slot-card h3{display:flex;align-items:center;gap:9px}.slot-color-dot{width:12px;height:12px;border-radius:999px;box-shadow:0 0 16px currentColor}.slot-card.blue .slot-color-dot{background:#3b82f6;color:#3b82f6}.slot-card.green .slot-color-dot{background:#22c55e;color:#22c55e}.slot-badges{display:flex;align-items:flex-end;flex-direction:column;gap:6px;min-width:92px}.live-badge{display:inline-flex;align-items:center;justify-content:center;width:48px;min-height:24px;border-radius:999px;padding:4px 8px;background:#f8fafc;color:#020617;font-size:11px;font-weight:950;letter-spacing:0;text-transform:uppercase;opacity:0;transform:translateY(-3px) scale(.94);visibility:hidden;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.live-badge.is-visible{opacity:1;transform:translateY(0) scale(1);visibility:visible}.slot-card.blue .live-badge{box-shadow:0 0 18px #60a5fab3}.slot-card.green .live-badge{box-shadow:0 0 18px #4ade80b3}.slot-card.blue .slot-action-button{color:#93c5fd}.slot-card.green .slot-action-button{color:#86efac}.summary-tile{position:relative;overflow:hidden;isolation:isolate}.summary-tile:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,transparent,rgba(96,165,250,.08),transparent),linear-gradient(135deg,rgba(96,165,250,.08),transparent 42%);opacity:0;transform:translate(-45%);animation:tile-signal 5.6s ease-in-out infinite}.summary-tile:nth-child(2):before{animation-delay:.6s}.summary-tile:nth-child(3):before{animation-delay:1.2s}.summary-tile:nth-child(4):before{animation-delay:1.8s}.summary-tile.healthy:before{background:linear-gradient(90deg,transparent,rgba(74,222,128,.08),transparent),linear-gradient(135deg,rgba(34,197,94,.08),transparent 42%)}.summary-tile.danger:before{background:linear-gradient(90deg,transparent,rgba(248,113,113,.08),transparent),linear-gradient(135deg,rgba(248,113,113,.08),transparent 42%)}.summary-icon{position:relative;box-shadow:0 0 #60a5fa33;animation:icon-breathe 3.8s ease-in-out infinite}.summary-icon:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid currentColor;border-radius:10px;opacity:0;animation:icon-ring 3.8s ease-in-out infinite}.summary-tile.healthy .summary-icon{box-shadow:0 0 #4ade8033}.summary-tile.danger .summary-icon{box-shadow:0 0 #f8717133}.project-health.healthy span{animation:status-dot-pulse 2.2s ease-in-out infinite}.project-actions{align-items:center}.circuit-action{position:relative;min-width:150px;overflow:hidden;isolation:isolate;border-width:1px;border-radius:10px;padding:10px 16px;color:#f8fafc;text-shadow:0 1px 10px rgba(0,0,0,.28);box-shadow:inset 0 0 0 1px #ffffff0f,0 0 #0000;transition:border-color .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease,background .18s ease}.circuit-action:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent),radial-gradient(circle at 18% 50%,currentColor 0 2px,transparent 3px);opacity:.38;transform:translate(-120%);transition:transform .42s ease}.circuit-action:after{display:none}.circuit-action:hover:not(:disabled){transform:translateY(-1px)}.circuit-action:hover:not(:disabled):before{transform:translate(120%)}.circuit-action:disabled{transform:none}.circuit-action.is-loading{cursor:wait}.circuit-action.is-loading:before{animation:action-scan 1.1s linear infinite;opacity:.58}.circuit-action.is-loading svg{animation:control-spin .78s linear infinite}.deploy-action.slot-blue{border-color:#60a5fab8;background:linear-gradient(180deg,#2563ebf5,#1d4ed8d6),#1d4ed8;color:#dbeafe;box-shadow:inset 0 0 0 1px #ffffff14,0 0 24px #2563eb38}.deploy-action.slot-green{border-color:#4ade80b3;background:linear-gradient(180deg,#16a34af5,#15803dd6),#15803d;color:#dcfce7;box-shadow:inset 0 0 0 1px #ffffff14,0 0 24px #16a34a38}.deploy-action.slot-blue:hover:not(:disabled){border-color:#93c5fd;background:linear-gradient(180deg,#3b82f6fa,#2563ebe6),#2563eb;box-shadow:inset 0 0 0 1px #ffffff1a,0 0 34px #2563eb52}.deploy-action.slot-green:hover:not(:disabled){border-color:#86efac;background:linear-gradient(180deg,#22c55efa,#16a34ae6),#16a34a;box-shadow:inset 0 0 0 1px #ffffff1a,0 0 34px #16a34a52}.stop-action{border-color:#f871717a;background:linear-gradient(180deg,#7f1d1d8f,#450a0ab8),#111827;color:#fecaca;box-shadow:inset 0 0 0 1px #ffffff0d,0 0 22px #7f1d1d2e}.stop-action:hover:not(:disabled){border-color:#fca5a5;background:linear-gradient(180deg,#991b1ba8,#7f1d1dc7),#111827;box-shadow:inset 0 0 0 1px #ffffff12,0 0 30px #7f1d1d47}.stop-action:after{opacity:.34}@keyframes route-pulse{0%{filter:drop-shadow(0 0 0 currentColor)}55%{filter:drop-shadow(0 0 20px currentColor)}to{filter:drop-shadow(0 0 12px currentColor)}}@keyframes tile-signal{0%,64%,to{opacity:0;transform:translate(-45%)}18%{opacity:1}42%{opacity:.22;transform:translate(45%)}}@keyframes icon-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-1px)}}@keyframes icon-ring{0%,58%,to{opacity:0;transform:scale(.9)}22%{opacity:.22}44%{opacity:0;transform:scale(1.16)}}@keyframes status-dot-pulse{0%,to{box-shadow:0 0 #22c55e47}50%{box-shadow:0 0 0 7px #22c55e00}}@keyframes control-spin{to{transform:rotate(360deg)}}@keyframes action-scan{0%{transform:translate(-120%)}to{transform:translate(120%)}}.dashboard-page .summary-grid,.dashboard-page .project-grid,.dashboard-page .project-list-shell{transition:opacity .22s ease,filter .22s ease,transform .22s ease}.dashboard-page.is-refreshing .summary-grid,.dashboard-page.is-refreshing .project-grid,.dashboard-page.is-refreshing .project-list-shell{opacity:.78;filter:saturate(.88)}.dashboard-page.is-refreshing .project-grid,.dashboard-page.is-refreshing .project-list-shell{transform:translateY(1px)}.secondary-button.is-loading{cursor:wait}.secondary-button.is-loading:disabled{opacity:.82}.secondary-button.is-loading svg{animation:control-spin .78s linear infinite}.refresh-error{margin-bottom:14px}.initial-load-shell{position:relative;overflow:hidden;border-color:#263244;border-radius:12px;padding-top:72px;background:linear-gradient(rgba(148,163,184,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.045) 1px,transparent 1px),#0b1220;background-size:28px 28px}.initial-load-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(96,165,250,.1),transparent),radial-gradient(circle at 50% 26%,rgba(96,165,250,.16),transparent 28%);opacity:.76;animation:overlay-sweep 4.4s ease-in-out infinite}.initial-load-shell>*{position:relative;z-index:1}.initial-load-node{position:absolute;top:18px;left:50%;z-index:2;width:42px;height:42px;display:grid;place-items:center;transform:translate(-50%);border:1px solid rgba(96,165,250,.5);border-radius:11px;background:#2563eb29;color:#93c5fd;box-shadow:0 0 24px #2563eb3d}.initial-load-node svg{animation:control-spin .9s linear infinite}.initial-load-circuit{position:absolute;top:60px;left:50%;z-index:1;width:4px;height:34px;transform:translate(-50%);border-radius:999px;background:#3b82f6;box-shadow:0 0 18px #60a5faa3}.initial-load-circuit:before,.initial-load-circuit:after{content:"";position:absolute;top:30px;width:min(34vw,360px);height:42px;border-top:4px solid #3b82f6;opacity:.8;filter:drop-shadow(0 0 10px rgba(96,165,250,.58))}.initial-load-circuit:before{right:0;border-left:4px solid #3b82f6;border-top-left-radius:14px}.initial-load-circuit:after{left:0;border-right:4px solid #22c55e;border-top-color:#22c55e;border-top-right-radius:14px;filter:drop-shadow(0 0 10px rgba(34,197,94,.52))}.action-progress-overlay{background:radial-gradient(circle at 50% 35%,rgba(59,130,246,.16),transparent 34%),#020617c7}.action-progress-panel{position:relative;overflow:hidden;border-color:#334155;border-radius:14px;background:linear-gradient(rgba(148,163,184,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.045) 1px,transparent 1px),#0b1220;background-size:26px 26px;box-shadow:0 24px 90px #00000094,inset 0 0 0 1px #ffffff09}.action-progress-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(96,165,250,.08),transparent),radial-gradient(circle at 16% 18%,rgba(96,165,250,.16),transparent 28%);opacity:.72;animation:overlay-sweep 4.4s ease-in-out infinite}.action-progress-panel.slot-green:before{background:linear-gradient(90deg,transparent,rgba(74,222,128,.08),transparent),radial-gradient(circle at 16% 18%,rgba(74,222,128,.15),transparent 28%)}.action-progress-panel>*{position:relative;z-index:1}.action-progress-title{min-width:0;display:flex;align-items:center;gap:12px}.action-progress-node{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(96,165,250,.45);border-radius:11px;background:#2563eb26;color:#93c5fd;box-shadow:0 0 22px #2563eb2e}.action-progress-panel.slot-green .action-progress-node{border-color:#4ade8070;background:#16a34a26;color:#86efac;box-shadow:0 0 22px #16a34a2e}.action-progress-node svg{animation:control-spin .9s linear infinite}.action-progress-header{align-items:center}.action-progress-header h2{color:#f8fafc}.action-progress-detail{border-left:3px solid #3b82f6;margin-bottom:18px;padding-left:12px;color:#b6c4d8}.action-progress-panel.slot-green .action-progress-detail{border-left-color:#22c55e}.action-progress-panel.stop .action-progress-detail{border-left-color:#f87171}.action-progress-panel .slot-pill{min-width:72px;justify-content:center;border:1px solid currentColor;background:#2563eb1f;color:#93c5fd}.action-progress-panel .slot-pill.green{background:#16a34a1f;color:#86efac}.action-progress-bar{position:relative;height:14px;border:1px solid #263244;background:#050816;box-shadow:inset 0 0 18px #00000061}.action-progress-signal{position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:inherit;background:linear-gradient(90deg,transparent,rgba(219,234,254,.22),transparent);transform:translate(-110%);animation:action-scan 1.3s linear infinite}.action-progress-bar-fill{position:relative;z-index:1;background:linear-gradient(90deg,#2563ebf0,#60a5fafa);box-shadow:0 0 22px #3b82f673}.action-progress-panel.slot-green .action-progress-bar-fill{background:linear-gradient(90deg,#16a34af0,#4ade80fa);box-shadow:0 0 22px #22c55e6b}.action-progress-panel.stop .action-progress-bar-fill{background:linear-gradient(90deg,#991b1bf0,#f87171f2);box-shadow:0 0 22px #f8717152}.action-progress-meta{border:1px solid #263244;border-radius:10px;margin-top:12px;padding:10px 12px;background:#0f172ab8}.action-progress-meta strong{color:#f8fafc;font-size:16px}.action-progress-meta span{color:#b6c4d8}.action-progress-controls .mini-button,.action-progress-controls .button{border-radius:10px;background:#0f172ad1}.action-progress-log{border:1px solid #263244;background:linear-gradient(rgba(148,163,184,.035) 1px,transparent 1px),#050816;background-size:100% 24px;box-shadow:inset 0 0 28px #00000073}.action-progress-error{border-color:#f8717170;background:#7f1d1d38;color:#fecaca}@keyframes overlay-sweep{0%,to{opacity:.42;transform:translate(-18%)}50%{opacity:.86;transform:translate(18%)}}@keyframes slot-activate{0%{transform:translateY(0) scale(.992)}to{transform:translateY(-2px) scale(1)}}@media(max-width:920px){.circuit-board{height:42px;margin-bottom:12px}.circuit-trunk{height:42px}.circuit-branch{display:none}}@media(max-width:680px){.project-circuit{padding:14px}.circuit-source{align-items:flex-start;flex-direction:column}.circuit-live-badge{margin-left:0}.slot-badges{align-items:flex-start}}
