:root{--bg-gradient: linear-gradient(135deg, #090c15 0%, #111522 100%);--card-bg: rgba(17, 22, 37, .65);--card-border: rgba(255, 255, 255, .08);--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent-primary: #6366f1;--accent-secondary: #06b6d4;--accent-glow: rgba(99, 102, 241, .15);--success: #10b981;--success-glow: rgba(16, 185, 129, .15);--warning: #f59e0b;--warning-glow: rgba(245, 158, 11, .15);--danger: #ef4444;--danger-glow: rgba(239, 68, 68, .15);--sidebar-width: 260px;--header-height: 70px;--border-radius: 16px;--transition-speed: .3s}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Outfit,sans-serif;background:var(--bg-gradient);color:var(--text-primary);min-height:100vh;overflow-x:hidden}.app-container{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:#090c15d9;border-right:1px solid var(--card-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:2rem 1.5rem;display:flex;flex-direction:column;position:fixed;height:100vh;z-index:100}.logo-container{display:flex;align-items:center;gap:.75rem;margin-bottom:3rem;text-decoration:none}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.3rem;color:#fff;box-shadow:0 0 20px var(--accent-glow)}.logo-text{font-size:1.2rem;font-weight:800;background:linear-gradient(to right,#fff,var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.nav-links{display:flex;flex-direction:column;gap:.5rem;list-style:none;flex-grow:1}.nav-link{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;color:var(--text-secondary);text-decoration:none;border-radius:12px;font-weight:600;font-size:.95rem;transition:all var(--transition-speed) ease}.nav-link:hover{color:var(--text-primary);background:#ffffff08}.nav-link.active{color:#fff;background:linear-gradient(135deg,#6366f126,#06b6d40d);border:1px solid rgba(99,102,241,.2);box-shadow:0 4px 15px #0000001a}.sidebar-footer{margin-top:auto;border-top:1px solid var(--card-border);padding-top:1.5rem}.user-info{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff}.user-name{font-weight:600;font-size:.9rem}.btn-logout{width:100%;padding:.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:var(--danger);font-family:inherit;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all var(--transition-speed) ease}.btn-logout:hover{background:var(--danger);color:#fff;box-shadow:0 4px 15px var(--danger-glow)}.main-wrapper{margin-left:var(--sidebar-width);flex-grow:1;min-height:100vh;display:flex;flex-direction:column}.main-content{padding:2rem 3rem;flex-grow:1}.header-bar{height:var(--header-height);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--card-border);padding:0 3rem;background:#090c154d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.page-title{font-size:1.5rem;font-weight:800;letter-spacing:-.5px}.glass-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--border-radius);padding:1.5rem;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 10px 30px #0003}.grid-cols-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.grid-cols-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:2rem;margin-bottom:2rem}.metric-card{display:flex;align-items:center;gap:1.25rem}.metric-icon-box{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center}.metric-icon-box.accent{background:#6366f11a;color:var(--accent-primary);border:1px solid rgba(99,102,241,.2)}.metric-icon-box.success{background:#10b9811a;color:var(--success);border:1px solid rgba(16,185,129,.2)}.metric-icon-box.warning{background:#f59e0b1a;color:var(--warning);border:1px solid rgba(245,158,11,.2)}.metric-info h3{font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.metric-value{font-size:1.6rem;font-weight:800;letter-spacing:-.5px}.progress-container{width:100%;height:8px;background:#ffffff0d;border-radius:4px;margin-top:.75rem;overflow:hidden}.progress-bar{height:100%;border-radius:4px;transition:width .5s ease-out}.progress-bar.accent{background:var(--accent-primary)}.progress-bar.success{background:var(--success)}.progress-bar.warning{background:var(--warning)}.progress-bar.danger{background:var(--danger)}.custom-table{width:100%;border-collapse:collapse;margin-top:1rem}.custom-table th{text-align:left;padding:1rem;color:var(--text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--card-border)}.custom-table td{padding:1.2rem 1rem;border-bottom:1px solid rgba(255,255,255,.03);font-size:.95rem}.custom-table tr:hover td{background:#ffffff03}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.badge.ready,.badge.running{background:#10b9811a;color:var(--success);border:1px solid rgba(16,185,129,.2)}.badge.warning,.badge.pending{background:#f59e0b1a;color:var(--warning);border:1px solid rgba(245,158,11,.2)}.badge.danger,.badge.failed,.badge.error{background:#ef44441a;color:var(--danger);border:1px solid rgba(239,68,68,.2)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.modal-content{background:#111522;border:1px solid var(--card-border);border-radius:24px;width:90%;max-width:650px;padding:2rem;box-shadow:0 25px 50px #00000080;animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-title{font-size:1.3rem;font-weight:800}.btn-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:color .2s}.btn-close:hover{color:#fff}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}label{font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}input,select,textarea{background:#0f172a99;border:1px solid var(--card-border);border-radius:12px;padding:.85rem 1rem;color:var(--text-primary);font-family:inherit;font-size:.95rem;outline:none;transition:all var(--transition-speed)}input:focus,select:focus,textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 15px var(--accent-glow)}.btn{padding:.85rem 1.5rem;border-radius:12px;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition-speed) ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none}.btn-primary{background:linear-gradient(135deg,var(--accent-primary) 0%,#4f46e5 100%);color:#fff;box-shadow:0 4px 15px var(--accent-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--accent-glow)}.btn-secondary{background:#ffffff0d;color:var(--text-primary);border:1px solid var(--card-border)}.btn-secondary:hover{background:#ffffff14}.btn-danger{background:linear-gradient(135deg,var(--danger) 0%,#dc2626 100%);color:#fff;box-shadow:0 4px 15px var(--danger-glow)}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--danger-glow)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.text-center{text-align:center}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-gap-1{display:flex;gap:.5rem;align-items:center}.flex-gap-2{display:flex;gap:1rem;align-items:center}.m-0{margin:0}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.w-full{width:100%}.terminal-box{background:#05070c;border:1px solid var(--card-border);border-radius:12px;padding:1.25rem;font-family:Courier New,Courier,monospace;font-size:.85rem;color:#a7f3d0;max-height:400px;overflow-y:auto;white-space:pre-wrap;box-shadow:inset 0 0 10px #000c}
