:root{--brand-navy: #20303a;--brand-blue: #23abe1;--blue-50: #e9f6fc;--blue-200: #95d7ef;--blue-300: #5fc2e8;--blue-600: #1a8cbf;--navy-200: #b2bac0;--navy-700: #1a2831;--bg: #f8fafc;--surface: #ffffff;--surface-2: #f1f5f9;--afe-blue: #23abe1;--afe-blue-dark: #1a8cbf;--afe-navy: #20303a;--afe-white: #ffffff;--text: #20303a;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-500: #64748b;--gray-600: #475569;--radius: 12px;--radius-xl: 20px;--shadow: 0 4px 20px rgba(32, 48, 58, .08);--shadow-xl: 0 12px 30px rgba(32, 48, 58, .12);--shadow-brand: 0 4px 12px rgba(35, 171, 225, .3);--grad-blue: linear-gradient(135deg, #23abe1, #1a8cbf);--grad-navy: linear-gradient(135deg, #20303a 0%, #2d4456 100%);--grad-sidebar: linear-gradient(180deg, #20303a 0%, #1a2831 100%);--font-display: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ease-standard: cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--blue-600);text-decoration:none}a:hover{color:var(--brand-blue)}h1,h2,h3{font-family:var(--font-display);color:var(--afe-navy);font-weight:700;letter-spacing:-.02em}h1{line-height:1.1}button{font-family:inherit;cursor:pointer}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ringDraw{0%{stroke-dashoffset:289}}.btn{background:var(--grad-blue);color:#fff;border:none;border-radius:100px;padding:.6rem 1.4rem;font-weight:600;font-size:.95rem;font-family:var(--font-body);box-shadow:var(--shadow-brand);transition:all .25s var(--ease-standard)}.btn:hover{box-shadow:0 8px 24px #23abe159;transform:translateY(-1px)}.btn:disabled{opacity:.55;box-shadow:none;transform:none;cursor:default}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--gray-200);border-radius:100px;padding:.5rem 1rem;font-weight:500;transition:all .25s var(--ease-standard)}.btn-ghost:hover{border-color:var(--brand-blue);color:var(--afe-navy);background:var(--blue-50)}.card{background:var(--surface);border:2px solid transparent;border-radius:var(--radius-xl);box-shadow:var(--shadow);padding:1.5rem 1.75rem}.input{width:100%;padding:.6rem .9rem;background:#fff;color:var(--text);border:2px solid var(--gray-200);border-radius:12px;font-size:.95rem;font-family:inherit;transition:border-color .25s var(--ease-standard)}.input::placeholder{color:#94a3b8}.input:focus{outline:none;border-color:var(--brand-blue)}.dash-card{transition:all .4s var(--ease-standard)}.dash-card:hover{transform:translateY(-6px);border-color:var(--brand-blue);box-shadow:var(--shadow-xl)}.nav-pill{display:flex;align-items:center;gap:12px;padding:11px 16px;border-radius:100px;font-size:.95rem;font-weight:500;color:var(--navy-200);text-decoration:none;transition:all .25s var(--ease-standard)}.nav-pill:hover{color:#fff;background:#ffffff14}.nav-pill.active{color:#fff;font-weight:600;background:var(--grad-blue);box-shadow:var(--shadow-brand)}.nav-pill.admin{color:var(--blue-300)}.nav-pill.admin:hover{color:#fff;background:#23abe126}.nav-pill.admin.active{color:#fff;background:var(--grad-blue)}.btn-outline-light{background:transparent;border:2px solid rgba(255,255,255,.2);color:#fff;font-family:var(--font-body);font-size:.9rem;font-weight:500;padding:11px 24px;border-radius:100px;transition:all .25s var(--ease-standard)}.btn-outline-light:hover{border-color:var(--brand-blue);background:#23abe126}.eyebrow{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--gray-600)}.quote{background:var(--gray-50);border-radius:12px;padding:16px 20px;border-left:3px solid var(--brand-blue);font-size:.95rem;line-height:1.6;color:#334155;transition:background .25s ease}.quote:hover{background:var(--blue-50)}select.input option{background:#fff;color:var(--text)}
