@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap";
:root{--bg-app:#f8f9fc;--bg-surface:#fff;--bg-card:#ffffffbf;--bg-elevated:#fffffff2;--bg-muted:#f1f3f9;--bg-dark:#0c111d;--primary:#6366f1;--primary-hover:#4f46e5;--primary-light:#6366f114;--primary-glow:#6366f12e;--primary-gradient:linear-gradient(135deg,#6366f1 0%,#8b5cf6 50%,#a855f7 100%);--accent:#a855f7;--success:#22c55e;--success-light:#22c55e14;--warning:#f59e0b;--warning-light:#f59e0b14;--danger:#ef4444;--danger-light:#ef444414;--info:#3b82f6;--text-primary:#0f172a;--text-secondary:#334155;--text-tertiary:#64748b;--text-muted:#94a3b8;--border:#e2e8f0b3;--border-strong:#cbd5e1cc;--border-focus:var(--primary);--ring-focus:0 0 0 3px var(--primary-glow);--sidebar-width:280px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f,0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000a;--shadow-lg:0 10px 15px -3px #0000000f,0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #00000012,0 8px 10px -6px #00000008;--shadow-glow:0 8px 32px -8px #6366f140}*,:before,:after{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}body{background-color:var(--bg-app);color:var(--text-primary);background-image:radial-gradient(80% 50% at 10% 0,#6366f10a 0%,#0000 60%),radial-gradient(60% 40% at 90% 100%,#a855f70a 0%,#0000 60%);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;line-height:1.6}::selection{background:var(--primary-glow);color:var(--primary)}.admin-layout{min-height:100vh;display:flex}.main-content{margin-left:var(--sidebar-width);flex:1;width:100%;max-width:1440px;padding:40px 48px}.sidebar{width:var(--sidebar-width);background:var(--bg-elevated);-webkit-backdrop-filter:blur(24px)saturate(1.5);backdrop-filter:blur(24px)saturate(1.5);border-right:1px solid var(--border);z-index:100;flex-direction:column;height:100vh;padding:28px 16px;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-header{padding:4px 12px 24px}.sidebar-nav{flex-direction:column;flex:1;gap:4px;display:flex}.nav-link{color:var(--text-tertiary);border-radius:var(--radius-md);align-items:center;gap:14px;padding:12px 16px;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s;display:flex;position:relative}.nav-link:hover{background:var(--primary-light);color:var(--primary)}.nav-link.active{background:var(--primary);color:#fff;box-shadow:var(--shadow-glow);font-weight:700}.nav-link.active:hover{background:var(--primary-hover)}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:28px;transition:all .25s}.glass-card:hover{box-shadow:var(--shadow-lg);border-color:#6366f126}h1{letter-spacing:-.035em;color:var(--text-primary);font-size:2rem;font-weight:800;line-height:1.15}h2{letter-spacing:-.02em;color:var(--text-primary);font-size:1.25rem;font-weight:700}.gradient-text{background:var(--primary-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.subtitle{color:var(--text-tertiary);font-size:.9rem;font-weight:500}.label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:6px;font-size:.7rem;font-weight:700;display:block}.badge{background:var(--primary-light);color:var(--primary);border-radius:99px;align-items:center;padding:4px 10px;font-size:.7rem;font-weight:600;display:inline-flex}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-family:inherit;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-sm{padding:7px 14px;font-size:.8rem}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 36px -8px #6366f159}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--bg-muted);border-color:var(--border-strong)}.btn-danger{background:var(--danger-light);color:var(--danger);border:1px solid #ef444426}.btn-danger:hover{background:var(--danger);color:#fff}.data-table{border-collapse:collapse;width:100%}.data-table thead tr{border-bottom:1px solid var(--border)}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:14px 20px;font-size:.7rem;font-weight:700}.data-table td{color:var(--text-secondary);border-bottom:1px solid #e2e8f066;padding:16px 20px;font-size:.875rem}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover{background:#6366f105}.data-table tbody tr:last-child td{border-bottom:none}.tabs-container{background:var(--bg-muted);border-radius:var(--radius-md);gap:4px;width:fit-content;padding:4px;display:flex}.tab-btn{border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:8px 20px;font-family:inherit;font-size:.825rem;font-weight:600;transition:all .2s}.tab-btn:hover{color:var(--primary)}.tab-btn.active{background:var(--bg-surface);color:var(--primary);box-shadow:var(--shadow-sm)}.input,.input-field{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);padding:12px 16px;font-family:inherit;font-size:.9rem;transition:all .2s}.input:focus,.input-field:focus{border-color:var(--primary);box-shadow:var(--ring-focus);outline:none}.form-group{margin-bottom:20px}.ide-container{background:var(--bg-dark);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:1px solid #ffffff0f;overflow:hidden}.ide-header{background:#1e293bf2;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.ide-controls{gap:8px;display:flex}.ide-dot{border-radius:50%;width:12px;height:12px}.ide-filename{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:500}.ide-textarea{background:var(--bg-dark);color:#e2e8f0;resize:vertical;border:none;outline:none;width:100%;min-height:500px;padding:28px;font-family:JetBrains Mono,monospace;font-size:.9rem;line-height:1.7}.animate-fade-in{animation:.45s cubic-bezier(.16,1,.3,1) fadeIn}.animate-slide-up{animation:.4s cubic-bezier(.16,1,.3,1) slideUp}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes countUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--bg-muted)25%,#fff9 50%,var(--bg-muted)75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.gap-8{gap:32px}.grid{display:grid}.w-full{width:100%}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.relative{position:relative}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}}
