@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--primary:#0f4a8a;--primary-hover:#0c3a6b;--bg-color:#f0f6ff;--text-main:#1e293b;--text-muted:#475569;--glass-bg:#ffffffd9;--glass-border:#ffffff80;--glass-shadow:0 10px 40px -10px #0f4a8a33;--error:#ef4444}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,sans-serif}html{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 50%,#93c5fd 100%);min-height:100%}body{background-color:var(--bg-color);color:var(--text-main);min-height:100dvh;margin:0;overflow-x:hidden}#root{width:100%;min-height:100dvh}.background-wrapper{z-index:-1;background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 50%,#93c5fd 100%) 0 0/140% 140%;width:100%;height:100%;min-height:100dvh;animation:15s ease-in-out infinite alternate bg-shift;position:fixed;inset:0}@keyframes bg-shift{0%{background-position:0%}to{background-position:100%}}.floating-phrase{color:#0f4a8a;white-space:nowrap;pointer-events:none;z-index:0;text-shadow:0 4px 16px #ffffffe6,0 0 8px #ffffff80;font-weight:800;position:absolute}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:2px solid var(--glass-border);box-shadow:var(--glass-shadow);z-index:10;border-radius:28px;width:100%;max-width:480px;padding:3rem;position:relative}.input-group{margin-bottom:1.5rem;position:relative}.input-label{color:var(--text-muted);text-align:left;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.input-field{width:100%;color:var(--text-main);background:#ffffffe6;border:2px solid #e2e8f0;border-radius:14px;outline:none;padding:1rem 1rem 1rem 3rem;font-size:1.05rem;font-weight:500;transition:all .3s}.input-field:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px #0f4a8a33}.input-icon{color:#94a3b8;position:absolute;top:2.5rem;left:1rem}.input-field:focus+.input-icon,.input-field:not(:placeholder-shown)+.input-icon{color:var(--primary)}.code-entry-field{text-align:center;letter-spacing:.35em;padding-left:1rem;font-size:1.2rem;font-weight:700}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:1rem;font-size:1.1rem;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 14px #0f4a8a66}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-3px)scale(1.02);box-shadow:0 8px 20px #0f4a8a80}.btn-primary:active{transform:translateY(0)scale(.98)}.error-message{color:var(--error);align-items:center;gap:.4rem;margin-top:.5rem;font-size:.9rem;font-weight:500;display:flex}.success-message{color:#059669;text-align:center;background:#10b9811a;border:1px solid #10b98133;border-radius:16px;margin-top:.5rem;padding:1.5rem;font-size:1rem}.page-shell{position:relative}.likes-tooltip-trigger:hover .likes-tooltip,.likes-tooltip-trigger:focus-within .likes-tooltip{display:block!important}.spin-icon{animation:1s linear infinite spin-icon}@keyframes spin-icon{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.calendar-embed-shell{background:linear-gradient(#eff6ff 0%,#fff 100%);border-radius:24px;width:100%;min-height:520px;position:relative;overflow:hidden}.calendar-embed-shell--agenda{min-height:420px}@media (width<=900px){.birthday-wish-layout{grid-template-columns:1fr!important}}@media (width<=1024px){.home-layout,.recognition-layout{grid-template-columns:1fr!important}.birthday-panel{order:-1}}@media (width<=768px){.page-shell{padding:1rem!important}.top-nav{gap:1rem;border-radius:20px!important;flex-direction:column!important;align-items:flex-start!important;padding:1rem!important}.top-nav__group{flex-wrap:wrap;width:100%}.glass-panel{border-radius:24px;max-width:100%;padding:1.5rem}.feature-grid{grid-template-columns:1fr!important}.composer-row,.comment-row{flex-direction:column!important}.calendar-embed-shell{min-height:500px}.calendar-embed-shell--agenda{min-height:400px}.floating-phrase{display:none}.birthday-wish-overlay{align-items:center!important;padding:1rem!important}.birthday-wish-modal{border-radius:24px!important;max-height:calc(100vh - 1.5rem)!important}.birthday-wish-header{flex-direction:column!important;align-items:stretch!important}.birthday-wish-header button{align-self:flex-start}}@media (width<=520px){.glass-panel{padding:1.2rem}.code-entry-field{letter-spacing:.25em;font-size:1.05rem}.calendar-embed-shell{min-height:420px}.calendar-embed-shell--agenda{min-height:360px}.birthday-wish-overlay{align-items:stretch!important;padding:.6rem!important}.birthday-wish-modal{border-radius:22px!important;max-height:calc(100vh - 1.2rem)!important}.birthday-wish-body{gap:.85rem!important}.birthday-wish-presets{grid-template-columns:1fr!important}}@keyframes gympass-gradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}
