@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");:root{--primary:#10b981;--primary-dark:#059669;--bg:#f9fafb;--card:#ffffff;--text:#111827;--text-light:#6b7280;--border:#e5e7eb;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--sidebar:#ffffff;--sidebar-hover:#f3f4f6;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:20px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg);color:var(--text);line-height:1.5}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;background:none;font:inherit}.admin-container{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--sidebar);border-right:1px solid var(--border);padding:var(--spacing-lg);display:flex;flex-direction:column;position:fixed;height:100vh}.logo{font-size:20px;font-weight:700;color:var(--primary);margin-bottom:var(--spacing-xl)}.nav{display:flex;flex-direction:column;gap:var(--spacing-xs)}.nav-item{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);color:var(--text-light);font-size:14px;font-weight:500;transition:all .2s}.nav-item:hover{background:var(--sidebar-hover);color:var(--text)}.nav-item.active{background:rgba(16,185,129,.15);color:var(--primary);font-weight:600;border-left:3px solid var(--primary);border-radius:0 var(--radius-md) var(--radius-md) 0;margin-left:calc(var(--spacing-md) * -1);padding-left:var(--spacing-md)}.main-wrapper{flex:1 1;margin-left:260px;display:flex;flex-direction:column}.header{height:64px;background:var(--card);border-bottom:1px solid var(--border);padding:0 var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.env-badge{background:#fff7ed;color:var(--warning);padding:2px 8px;border-radius:9999px;font-size:12px;font-weight:600;border:1px solid #ffedd5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:14px;font-weight:600;transition:all .2s;cursor:pointer}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:12px}.btn-primary{background:var(--primary);color:white}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:white;color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--sidebar-hover)}.btn-danger{background:var(--error);color:white}.btn-danger:hover{opacity:.9}.btn-ghost{background:transparent;color:var(--text-light)}.btn-ghost:hover{background:var(--sidebar-hover);color:var(--text)}.content{padding:var(--spacing-lg);max-width:1200px;width:100%;margin:0 auto}.dashboard-title{font-size:24px;font-weight:700}.dashboard-title,.kpi-grid{margin-bottom:var(--spacing-xl)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.kpi-card{background:var(--card);padding:var(--spacing-md);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.kpi-label{font-size:13px;color:var(--text-light);margin-bottom:4px}.kpi-value{font-size:24px;font-weight:700;color:var(--text)}.card-title{font-size:16px;font-weight:600;margin-bottom:var(--spacing-md)}.recent-jobs{background:var(--card);padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-size:12px;color:var(--text-light);padding:var(--spacing-sm)}.data-table td,.data-table th{border-bottom:1px solid var(--border)}.data-table td{padding:var(--spacing-md) var(--spacing-sm);font-size:14px}.badge{padding:2px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:600}.badge-error{background:#fef2f2;color:var(--error);border:1px solid #fee2e2}.badge-success{background:#f0fdf4;color:var(--success);border:1px solid #dcfce7}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.flex-col{flex-direction:column}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.text-light{color:var(--text-light)}.text-green-600{color:#16a34a}.text-red-600{color:#dc2626}.font-bold{font-weight:700}.font-semibold{font-weight:600}.text-xs{font-size:11px}.text-sm{font-size:12px}.text-lg{font-size:18px}.w-full{width:100%}.h-full{height:100%}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;font-size:13px;font-weight:600;margin-bottom:4px;color:var(--text)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--border);font-size:14px;transition:border-color .2s;background-color:white}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary)}.card{background:var(--card);padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.section-title{font-size:18px;font-weight:700}.section-title,.tab-nav{margin-bottom:var(--spacing-lg)}.tab-nav{display:flex;border-bottom:1px solid var(--border)}.tab-item{padding:var(--spacing-md) var(--spacing-lg);font-size:14px;font-weight:600;color:var(--text-light);border-bottom:2px solid transparent;transition:all .2s}.tab-item:hover{color:var(--text)}.tab-item.active{color:var(--primary);border-bottom-color:var(--primary)}.overflow-y-auto{overflow-y:auto}.max-h-60{max-height:240px}.max-h-80{max-height:320px}.max-h-vh-60{max-height:60vh}.max-h-vh-70{max-height:70vh}.divide-y>*+*{border-top:1px solid var(--border)}.space-y-4>*+*{margin-top:16px}.text-gray-600{color:#4b5563}.text-gray-500{color:#6b7280}.text-gray-400{color:#9ca3af}.bg-blue-50{background-color:#eff6ff}.border-blue-200{border-color:#bfdbfe}.text-blue-600{color:#2563eb}.bg-gray-50{background-color:#f9fafb}.text-purple-600{color:#9333ea}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.list-item-hover:hover{background-color:#f9fafb}