@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root{--g-bg:#f7f7fb;--g-ink:#171525;--g-muted:#68647a;--g-purple:#7c3aed;--g-pink:#f43f8d;--g-lime:#d9f99d;--g-cyan:#67e8f9;--g-yellow:#fef08a;--g-card:rgba(255,255,255,.82);--g-line:rgba(23,21,37,.1);--g-shadow:0 18px 50px rgba(47,31,98,.12)}
*{box-sizing:border-box}html{background:var(--g-bg)}body{font-family:'DM Sans',system-ui,sans-serif!important;color:var(--g-ink)!important;background:radial-gradient(circle at 8% 0%,rgba(217,249,157,.48),transparent 28rem),radial-gradient(circle at 95% 10%,rgba(103,232,249,.35),transparent 26rem),linear-gradient(145deg,#fafaff 0%,#f7f4ff 52%,#fff8fb 100%)!important;min-height:100vh;position:relative}body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(124,58,237,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(124,58,237,.06) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,black,transparent 78%);z-index:0}body>*{position:relative;z-index:1}h1,h2,h3,h4,h5,h6,.font-bold,.font-extrabold,.font-black{font-family:'Space Grotesk',sans-serif!important;letter-spacing:-.025em}a{transition:color .18s ease,transform .18s ease}button,.btn,.btn-orange,[type=submit]{border-radius:999px!important;font-weight:700!important;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important}button:hover,.btn:hover,.btn-orange:hover,[type=submit]:hover{transform:translateY(-2px);filter:saturate(1.1);box-shadow:0 12px 24px rgba(124,58,237,.18)}button:active,.btn:active,[type=submit]:active{transform:scale(.97)}input,select,textarea,.input-field{border-radius:14px!important;border:1.5px solid var(--g-line)!important;background:rgba(255,255,255,.78)!important;color:var(--g-ink)!important}input:focus,select:focus,textarea:focus,.input-field:focus{border-color:var(--g-purple)!important;box-shadow:0 0 0 4px rgba(124,58,237,.12)!important;outline:none!important}.glass-card,.card,.bg-white,.bg-gray-50,.bg-gray-100{background:var(--g-card)!important;border:1px solid rgba(255,255,255,.8)!important;box-shadow:var(--g-shadow)!important;backdrop-filter:blur(18px)}.rounded-lg,.rounded-xl,.rounded-2xl,.rounded-3xl{border-radius:22px!important}.shadow,.shadow-md,.shadow-lg,.shadow-xl{box-shadow:var(--g-shadow)!important}table{border-collapse:separate!important;border-spacing:0 8px!important}thead th{font-family:'Space Grotesk',sans-serif!important;color:var(--g-muted)!important;font-size:.72rem!important;text-transform:uppercase;letter-spacing:.08em}tbody tr{background:rgba(255,255,255,.72);box-shadow:0 8px 22px rgba(47,31,98,.06)}tbody td{border-top:1px solid rgba(23,21,37,.04);border-bottom:1px solid rgba(23,21,37,.04)}tbody td:first-child{border-left:1px solid rgba(23,21,37,.04);border-radius:14px 0 0 14px}tbody td:last-child{border-right:1px solid rgba(23,21,37,.04);border-radius:0 14px 14px 0}.bg-indigo-600,.bg-blue-600,.bg-purple-600{background:linear-gradient(135deg,#7c3aed,#ec4899)!important}.bg-orange-500,.bg-orange-600{background:linear-gradient(135deg,#f43f8d,#fb7185)!important}.text-indigo-600,.text-purple-600{color:#7c3aed!important}.text-orange-500,.text-orange-600{color:#db2777!important}.border-indigo-600{border-color:#7c3aed!important}.badge,.status-badge{border-radius:999px!important;font-weight:700}.nav-link:hover,.sidebar a:hover{transform:translateX(4px)}.animate-pulse{animation:pulseGenZ 2s ease-in-out infinite}@keyframes pulseGenZ{0%,100%{opacity:1}50%{opacity:.65}}@media(max-width:640px){.container{padding-left:1rem!important;padding-right:1rem!important}h1{font-size:clamp(1.8rem,8vw,3rem)!important}table{font-size:.8rem}body:before{background-size:22px 22px}}

/* Registration forms: clear, calm, beginner-friendly hierarchy */
.registration-form{font-size:1rem!important}
.registration-form .input-label{font-size:.92rem!important;line-height:1.35!important;margin-bottom:.55rem!important;color:#27233a!important}
.registration-form .input-field{min-height:3.15rem!important;padding-top:.8rem!important;padding-bottom:.8rem!important;font-size:1rem!important}
.registration-form .text-\[10px\],.registration-form .text-xs{font-size:.82rem!important;line-height:1.45!important}
.registration-form .text-\[8px\],.registration-form .text-\[9px\]{font-size:.78rem!important}
.registration-form .required{font-size:.9rem!important}
@media(max-width:640px){.registration-form .input-label{font-size:.9rem!important}.registration-form .input-field{min-height:3.35rem!important;font-size:1rem!important}.registration-form{gap:1rem!important}}
