:root{--color-bg:#f9fbff;--color-bg-card:#ffffff;--color-text:#1e293b;--color-text-muted:#64748b;--color-primary:#2563eb;--color-primary-light:#3b82f6;--color-primary-soft:#eff6ff;--color-accent:#38bdf8;--color-accent-soft:#e0f7ff;--color-border:#e2e8f0;--color-border-soft:#f1f5f9;--shadow-soft:0 2px 6px rgba(0,0,0,0.06);--shadow-medium:0 4px 12px rgba(0,0,0,0.08);--shadow-strong:0 10px 30px rgba(0,0,0,0.12);--transition-fast:0.15s ease;--transition-medium:0.25s ease;--gradient-soft:linear-gradient(135deg,#e0f2fe,#eff6ff,#e0f7ff);--gradient-primary:linear-gradient(120deg,#2563eb,#3b82f6,#38bdf8);--gradient-card:linear-gradient(145deg,#ffffff,#f8fbff);--radius:14px;--radius-lg:22px}body{background:var(--color-bg);color:var(--color-text);font-family:Inter,system-ui,sans-serif;line-height:1.6;transition:background var(--transition-medium),color var(--transition-medium)}a{text-decoration:none;transition:color var(--transition-fast),background var(--transition-fast)}.admin-card,.bg-card,.card{background:var(--gradient-card);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-soft);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.admin-card:hover,.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium)}.btn-primary{background:var(--gradient-primary);color:white;padding:.65rem 1.2rem;border-radius:var(--radius);font-weight:600;transition:var(--transition-medium);box-shadow:0 2px 8px rgba(37,99,235,.25)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 4px 14px rgba(37,99,235,.35)}input,select,textarea{background:white;border:1px solid var(--color-border);padding:.6rem;border-radius:var(--radius);transition:var(--transition-fast)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}.text-muted{color:var(--color-text-muted)}.bg-soft{background:var(--color-primary-soft)}.bg-accent-soft{background:var(--color-accent-soft)}.hr-soft{border-bottom:1px solid var(--color-border);opacity:.7}.fade-in{animation:fadeIn .4s ease both}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}