:root{--primary:#ff9aa2;--primary-light:#ffb7b2;--secondary:#ffdac1;--accent:#e2f0cb;--accent-2:#b5ead7;--accent-3:#c7ceea;--background:#fff9f0;--text-primary:#5d576b;--text-secondary:#9b8ec4;--card-bg:#fff;--border:#f0e6d8;--shadow:#ff9aa226;--danger:#e74c6f;--success:#6bcb77;--radius:14px;--radius-sm:8px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--background);color:var(--text-primary);min-height:100vh;font-family:Nunito,sans-serif}a{color:var(--text-secondary);text-decoration:none}a:hover{color:var(--primary)}button{cursor:pointer;border-radius:var(--radius-sm);border:none;padding:10px 20px;font-family:Nunito,sans-serif;font-size:14px;font-weight:600;transition:all .3s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-light);box-shadow:0 4px 12px var(--shadow);transform:translateY(-1px)}.btn-secondary{background:var(--accent-2);color:var(--text-primary)}.btn-secondary:hover{background:#9de0c8}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{opacity:.9}input,textarea,select{border:2px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);background:#fff;width:100%;padding:10px 14px;font-family:Nunito,sans-serif;font-size:14px;transition:border-color .3s}input:focus,textarea:focus{border-color:var(--primary);outline:none}.page{max-width:1200px;margin:0 auto;padding:20px}.grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media (width<=1024px){.grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.grid{grid-template-columns:1fr}}.card{background:var(--card-bg);border-radius:var(--radius);box-shadow:0 2px 12px var(--shadow);transition:transform .3s,box-shadow .3s;overflow:hidden}.card:hover{box-shadow:0 6px 20px var(--shadow);transform:translateY(-3px)}.form-group{margin-bottom:16px}.form-group label{margin-bottom:6px;font-size:14px;font-weight:600;display:block}.toast{border-radius:var(--radius-sm);color:#fff;z-index:1000;padding:12px 20px;font-weight:600;animation:.3s slideIn;position:fixed;top:20px;right:20px}.toast.success{background:var(--success)}.toast.error{background:var(--danger)}.scale-hover:hover{transform:scale(1.03)}.fade-in{animation:.4s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
