@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--color-primary:#0f172a;--color-primary-light:#1e293b;--color-accent:#649b36;--color-accent-hover:#52822a;--color-success:#649b36;--bg-primary:#fff;--bg-card:#f8fafc;--bg-elevated:#fff;--bg-accent:#649b3614;--bg-accent-hover:#649b3626;--border:#e2e8f0;--border-hover:#cbd5e1;--border-focus:#649b36;--accent-blue:#649b36;--accent-purple:#7c3aed;--accent-orange:#649b36;--accent-gradient:linear-gradient(135deg, #649b36, #52822a);--accent-gradient-hover:linear-gradient(135deg, #52822a, #416821);--brand-gradient:linear-gradient(135deg, #649b36, #52822a);--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--success:#649b36;--success-bg:#649b360f;--warning:#649b36;--warning-bg:#fffbeb;--error:#ef4444;--error-bg:#fef2f2;--sans:"DM Sans", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--shadow-sm:0 1px 2px 0 #0f172a0d;--shadow-md:0 4px 6px -1px #0f172a14, 0 2px 4px -2px #0f172a0d;--shadow-lg:0 10px 15px -3px #0f172a1a, 0 4px 6px -4px #0f172a0d;--shadow-glow:0 0 20px #7cb34226}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-size:16px;line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:-.025em;font-weight:600;line-height:1.25}h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.35rem}h4{font-size:1.15rem}p{color:var(--text-secondary)}a{color:var(--accent-blue);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-purple)}code{font-family:var(--mono);background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--accent-blue);padding:.2rem .4rem;font-size:.9em}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.animate-spin{animation:1s linear infinite spin}.animate-fade-in{animation:.3s ease-out fadeIn}.animate-scale-in{animation:.2s ease-out scaleIn}.animate-shimmer{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}.dashboard-grid{grid-template-columns:260px 1fr;min-height:100vh;display:grid}@media (width<=768px){.dashboard-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)!important}.content-grid{grid-template-columns:1fr!important}}@media (width<=480px){.stats-grid{grid-template-columns:1fr!important}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);padding:1.5rem}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.card.glow:hover{box-shadow:var(--shadow-glow), var(--shadow-lg);border-color:#7cb3424d}.card-premium{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:1.5rem;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0f172a0a}.card-premium:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0f172a14}.form-group{flex-direction:column;gap:.5rem;width:100%;margin-bottom:1.25rem;display:flex}.label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-full);align-items:center;gap:.375rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{color:var(--success);background:var(--success-bg);border:1px solid #10b98133}.badge-warning{color:var(--warning);background:var(--warning-bg);border:1px solid #7cb34233}.badge-error{color:var(--error);background:var(--error-bg);border:1px solid #ef444433}.badge-info{color:#689f38;background:#7cb34214;border:1px solid #7cb34233}.btn{font-weight:500;font-family:var(--sans);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--accent-gradient);color:#fff;border:none}.btn-primary:hover:not(:disabled){background:var(--accent-gradient-hover);box-shadow:0 0 15px #7cb3424d}.btn-secondary{background:var(--bg-elevated);border-color:var(--border);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-accent-hover);border-color:var(--border-hover)}.btn-danger{background:var(--error-bg);color:var(--error);border-color:#ef444433}.btn-danger:hover:not(:disabled){background:var(--error);color:#fff;border-color:var(--error);box-shadow:0 0 15px #ef44444d}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-accent);color:var(--text-primary)}.btn-sm{border-radius:var(--radius-sm);padding:.375rem .75rem;font-size:.875rem}.btn-md{padding:.5rem 1rem;font-size:.95rem}.btn-lg{padding:.75rem 1.5rem;font-size:1.05rem}.btn-spinner{border:2px solid;border-bottom-color:#0000;border-radius:50%;width:1.15em;height:1.15em;animation:.8s linear infinite spin}.input-wrapper{width:100%;position:relative}.input-field{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:.625rem .875rem;font-family:inherit;font-size:.95rem}.input-field:hover:not(:disabled){border-color:var(--border-hover)}.input-field:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #7cb34226}.input-field:disabled{opacity:.5;cursor:not-allowed}.input-with-left-icon{padding-left:2.5rem}.input-with-right-icon{padding-right:2.5rem}.input-icon-container{color:var(--text-muted);pointer-events:none;justify-content:center;align-items:center;width:2.5rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.input-left-icon{left:0}.input-right-icon{right:0}.input-error{border-color:var(--error)!important}.input-error:focus{box-shadow:0 0 0 3px #ef444426}.input-error-msg{color:var(--error);animation:slideIn var(--transition-fast);text-align:left;margin-top:.25rem;font-size:.775rem}.skeleton{background:var(--bg-elevated);border-radius:var(--radius-sm);width:100%;animation:1.8s cubic-bezier(.4,0,.6,1) infinite pulse;display:inline-block}.skeleton-circle{border-radius:var(--radius-full)}.admin-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 1px 2px #0f172a0f}.admin-card-interactive{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:box-shadow .15s,background-color .15s,border-color .15s;box-shadow:0 1px 2px #0f172a0f}.admin-card-interactive:hover{background-color:var(--bg-elevated);border-color:var(--border-hover);box-shadow:0 4px 6px -2px #0f172a1a,0 2px 4px -2px #0f172a0f}.admin-row{transition:background-color .12s,box-shadow .12s}.admin-row:hover{background-color:#f8fafc;box-shadow:inset 3px 0 #dc2626}
