@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700&family=DM+Sans:wght@300;400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;1,700&family=DM+Sans:wght@300;400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&family=DM+Sans:wght@300;400;500&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:#2d2640}#root{min-height:100vh;display:flex;flex-direction:column}a{font-weight:500;color:#b8aed4;text-decoration:inherit}a:hover{color:#cec6e8}.app-root{display:flex;flex-direction:column;min-height:100vh}.app-content{flex:1}:root{--cream: #fef5d4;--cream-dark: #f5e8b8;--lavender: #b8aed4;--lavender-light: #cec6e8;--lavender-mid: #9b8ec4;--purple-deep: #2d2640;--purple-mid: #3e3558;--purple-card: #342d4e;--accent: #e0c97f;--text-light: rgba(254, 245, 212, .9);--text-muted: rgba(254, 245, 212, .5)}.scan-root{min-height:100vh;background:var(--purple-deep);display:flex;align-items:center;justify-content:center;font-family:DM Sans,sans-serif;position:relative;overflow:hidden;padding:2rem 1rem}.orb{position:fixed;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0}.orb1{width:500px;height:500px;background:radial-gradient(circle,rgba(184,174,212,.25) 0%,transparent 70%);top:-150px;left:-100px;animation:driftA 18s ease-in-out infinite alternate}.orb2{width:400px;height:400px;background:radial-gradient(circle,rgba(224,201,127,.12) 0%,transparent 70%);bottom:-100px;right:-80px;animation:driftB 22s ease-in-out infinite alternate}.orb3{width:300px;height:300px;background:radial-gradient(circle,rgba(155,142,196,.2) 0%,transparent 70%);top:50%;left:60%;animation:driftC 15s ease-in-out infinite alternate}@keyframes driftA{0%{transform:translate(0) scale(1)}to{transform:translate(40px,60px) scale(1.1)}}@keyframes driftB{0%{transform:translate(0) scale(1)}to{transform:translate(-50px,-40px) scale(1.15)}}@keyframes driftC{0%{transform:translate(0) scale(1)}to{transform:translate(-30px,50px) scale(.9)}}.scan-container{position:relative;z-index:1;width:100%;max-width:440px;display:flex;flex-direction:column;gap:1.25rem;animation:fadeUp .7s cubic-bezier(.16,1,.3,1) both}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.scan-header{text-align:center;margin-bottom:.5rem}.scan-header-badge{display:inline-block;font-family:DM Sans,sans-serif;font-size:.68rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);background:#e0c97f1a;border:1px solid rgba(224,201,127,.25);padding:.3rem .85rem;border-radius:100px;margin-bottom:.85rem}.scan-title{font-family:Playfair Display,serif;font-size:2.4rem;font-weight:900;color:var(--cream);margin:0 0 .4rem;line-height:1.1;letter-spacing:-.02em}.scan-subtitle{font-size:.9rem;color:var(--text-muted);margin:0;font-weight:300}.scan-card{background:#342d4eb3;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(184,174,212,.15);border-radius:20px;padding:1.75rem;display:flex;flex-direction:column;gap:1rem}.video-wrapper{position:relative;width:100%;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#2d2640cc;border:1.5px solid rgba(184,174,212,.12);transition:border-color .3s ease}.video-wrapper.active{border-color:var(--lavender-mid);box-shadow:0 0 0 1px #9b8ec44d,0 0 30px #9b8ec426}.scan-video{width:100%;height:100%;object-fit:cover;display:block}.video-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem}.scan-icon{color:#b8aed459;animation:pulseFade 2.5s ease-in-out infinite}@keyframes pulseFade{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.not-found-msg{font-size:.82rem;color:#e07f7f;margin:0;letter-spacing:.03em}.scan-line{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--lavender-mid),var(--accent),var(--lavender-mid),transparent);box-shadow:0 0 12px var(--lavender-mid);animation:scanDown 2s ease-in-out infinite}@keyframes scanDown{0%{top:10%;opacity:0}10%{opacity:1}90%{opacity:1}to{top:90%;opacity:0}}.scan-btn{width:100%;padding:.85rem 1.5rem;border-radius:12px;border:none;background:linear-gradient(135deg,var(--lavender-mid),var(--lavender));color:var(--purple-deep);font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:500;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;letter-spacing:.02em}.scan-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px #9b8ec459}.scan-btn:active{transform:translateY(0)}.scan-btn.scanning{background:linear-gradient(135deg,#5a4e72,#3e3558);color:var(--lavender-light)}.btn-dot{width:8px;height:8px;border-radius:50%;background:var(--lavender-light);animation:blink 1s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.divider{display:flex;align-items:center;gap:.75rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#b8aed426}.divider span{font-size:.75rem;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}.osis-row{display:flex;gap:.5rem}.osis-input{flex:1;padding:.75rem 1rem;border-radius:10px;border:1.5px solid rgba(184,174,212,.15);background:#2d264099;color:var(--cream);font-family:DM Sans,sans-serif;font-size:.9rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.osis-input::placeholder{color:var(--text-muted)}.osis-input:focus{border-color:var(--lavender-mid);box-shadow:0 0 0 3px #9b8ec426}.osis-btn{padding:.75rem 1.1rem;border-radius:10px;border:none;background:#9b8ec433;color:var(--lavender-light);font-size:1.1rem;cursor:pointer;transition:background .2s ease,transform .15s ease;border:1.5px solid rgba(184,174,212,.15)}.osis-btn:hover{background:#9b8ec459;transform:translate(2px)}.result-card{background:#342d4ed9;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(184,174,212,.2);border-radius:20px;padding:2rem 1.75rem;position:relative;opacity:0;transform:translateY(16px) scale(.98);transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1);box-shadow:0 20px 60px #0000004d}.result-card.visible{opacity:1;transform:translateY(0) scale(1)}.result-close{position:absolute;top:1rem;right:1rem;background:#b8aed41a;border:none;color:var(--text-muted);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:.75rem;transition:background .2s,color .2s;display:flex;align-items:center;justify-content:center}.result-close:hover{background:#b8aed433;color:var(--cream)}.result-name{font-family:Playfair Display,serif;font-size:1.75rem;font-weight:700;color:var(--cream);letter-spacing:-.01em;line-height:1.2;margin-bottom:.3rem}.result-email{font-size:.85rem;color:var(--lavender-light);font-weight:300;letter-spacing:.02em}.result-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(184,174,212,.2),transparent);margin:1.25rem 0}.checkboxes-row{display:flex;gap:1rem;justify-content:center}.checkboxes-row.single{justify-content:center}.checkboxes-row.double{justify-content:space-around}.person-check{display:flex;flex-direction:column;align-items:center;gap:.6rem}.person-label{font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.check-btn{width:64px;height:64px;border-radius:16px;border:2px solid rgba(184,174,212,.55);background:#2d264099;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .25s ease,background .25s ease,transform .2s ease,box-shadow .25s ease;color:var(--purple-deep)}.check-btn:hover{border-color:var(--lavender-mid);transform:scale(1.04)}.check-btn.checked{background:linear-gradient(135deg,var(--lavender-mid),var(--lavender-light));border-color:transparent;box-shadow:0 6px 20px #9b8ec466;transform:scale(1.04);animation:popIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes popIn{0%{transform:scale(.85)}to{transform:scale(1.04)}}.check-inner{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:2px solid rgba(184,174,212,.45);transition:border-color .25s ease}.check-btn.checked .check-inner{border-color:transparent}.result-total{text-align:center;margin-top:1.25rem;font-size:.75rem;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase}.roster-root{min-height:100vh;background:var(--purple-deep, #2d2640);font-family:DM Sans,sans-serif;position:relative;overflow:hidden;padding:2.5rem 1.25rem 4rem}.roster-root .orb{position:fixed;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0}.roster-root .orb1{width:450px;height:450px;background:radial-gradient(circle,rgba(184,174,212,.2) 0%,transparent 70%);top:-120px;right:-80px;animation:driftA 20s ease-in-out infinite alternate}.roster-root .orb2{width:350px;height:350px;background:radial-gradient(circle,rgba(224,201,127,.1) 0%,transparent 70%);bottom:0;left:-60px;animation:driftB 25s ease-in-out infinite alternate}@keyframes driftA{0%{transform:translate(0) scale(1)}to{transform:translate(-40px,50px) scale(1.1)}}@keyframes driftB{0%{transform:translate(0) scale(1)}to{transform:translate(40px,-40px) scale(1.12)}}.roster-container{position:relative;z-index:1;max-width:860px;margin:0 auto;opacity:0;transform:translateY(20px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}.roster-container.visible{opacity:1;transform:translateY(0)}.roster-header{margin-bottom:2rem}.roster-title{font-family:Playfair Display,serif!important;font-size:2.8rem!important;font-weight:900!important;color:#fef5d4!important;letter-spacing:-.02em!important;line-height:1.1!important;margin-bottom:1rem!important}.roster-stats-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.roster-stats{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.spreadsheet-btn{font-family:DM Sans,sans-serif!important;font-size:.8rem!important;font-weight:500!important;letter-spacing:.04em!important;text-transform:none!important;color:#2d2640!important;background:linear-gradient(135deg,#b8aed4,#9b8ec4)!important;border-radius:10px!important;padding:.4rem 1rem!important;gap:.4rem;transition:transform .2s ease,box-shadow .2s ease!important;text-decoration:none!important}.spreadsheet-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #9b8ec466!important}.stat-chip{display:flex;align-items:baseline;gap:.3rem;background:#342d4eb3;border:1px solid rgba(184,174,212,.15);border-radius:10px;padding:.4rem .85rem}.stat-num{font-family:Playfair Display,serif!important;font-size:1.3rem!important;font-weight:700!important;color:#fef5d4!important;line-height:1!important}.stat-label{font-size:.72rem!important;color:#fef5d473!important;letter-spacing:.06em!important;font-weight:300!important}.stat-divider{color:#b8aed44d!important;font-size:1.2rem!important}.roster-controls{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1rem}.search-row{display:flex;gap:.5rem;align-items:center}.field-select{min-width:120px!important;font-family:DM Sans,sans-serif!important}.field-select .MuiOutlinedInput-root,.field-select .MuiSelect-select{background:#342d4eb3!important;color:#fef5d4d9!important;font-family:DM Sans,sans-serif!important;font-size:.85rem!important;border-radius:10px!important}.field-select .MuiOutlinedInput-notchedOutline{border-color:#b8aed426!important}.field-select:hover .MuiOutlinedInput-notchedOutline{border-color:#b8aed459!important}.field-select .MuiSvgIcon-root{color:#b8aed480!important}.search-input{flex:1!important}.search-input .MuiOutlinedInput-root{background:#342d4eb3!important;color:#fef5d4e6!important;font-family:DM Sans,sans-serif!important;font-size:.9rem!important;border-radius:10px!important}.search-input .MuiOutlinedInput-notchedOutline{border-color:#b8aed426!important}.search-input .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#b8aed459!important}.search-input .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#9b8ec4!important;box-shadow:0 0 0 3px #9b8ec41f}.search-input input::placeholder{color:#fef5d44d!important}.search-icon-wrap{color:#b8aed473;display:flex;align-items:center}.filter-chips{display:flex;gap:.4rem;flex-wrap:wrap}.filter-chip{padding:.3rem .75rem;border-radius:100px;border:1px solid rgba(184,174,212,.15);background:#342d4e80;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease;-webkit-user-select:none;user-select:none}.filter-chip:hover{background:#9b8ec426;border-color:#b8aed44d;transform:translateY(-1px)}.filter-chip.active{background:#9b8ec440;border-color:#9b8ec4}.filter-chip-text{font-size:.78rem!important;font-weight:500!important;color:#fef5d4b3!important;letter-spacing:.04em!important}.filter-chip.active .filter-chip-text{color:#fef5d4!important}.filter-chip-clear{border-color:#e0505040!important}.filter-chip-clear:hover{background:#e050501a!important;border-color:#e0505066!important}.filter-chip-clear .filter-chip-text{color:#e08c8ccc!important}.results-count{font-size:.75rem!important;color:#fef5d44d!important;letter-spacing:.08em!important;text-transform:uppercase;margin-bottom:.75rem!important}.roster-table{background:#342d4e99;border:1px solid rgba(184,174,212,.12);border-radius:16px;overflow:hidden;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.roster-thead{display:grid;grid-template-columns:2fr 2.5fr 1.5fr 1fr .5fr .5fr;padding:.7rem 1.25rem;border-bottom:1px solid rgba(184,174,212,.1);background:#2d264066}.th{font-size:.65rem!important;font-weight:500!important;letter-spacing:.15em!important;text-transform:uppercase;color:#b8aed473!important}.roster-row{display:grid;grid-template-columns:2fr 2.5fr 1.5fr 1fr .5fr .5fr;padding:.85rem 1.25rem;border-bottom:1px solid rgba(184,174,212,.06);align-items:center;transition:background .18s ease;animation:rowFadeIn .35s cubic-bezier(.16,1,.3,1) both}.roster-row:last-child{border-bottom:none}.roster-row:hover{background:#9b8ec412}@keyframes rowFadeIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.td{font-size:.875rem!important;font-weight:400!important}.td-name{color:#fef5d4!important;font-weight:500!important}.td-email{color:#fef5d48c!important;font-size:.82rem!important}.td-osis{color:#fef5d480!important;font-size:.82rem!important;font-family:monospace!important}.td-null{color:#b8aed440}.td-status{display:flex!important}.attendance-badge{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .6rem;border-radius:100px;min-width:44px}.badge-text{font-size:.75rem!important;font-weight:500!important;font-family:DM Sans,sans-serif!important;letter-spacing:.04em!important}.badge-none{background:#b4505026;border:1px solid rgba(180,80,80,.25)}.badge-none .badge-text{color:#e08888!important}.badge-partial{background:#e0c97f1f;border:1px solid rgba(224,201,127,.25)}.badge-partial .badge-text{color:#e0c97f!important}.badge-full{background:#64be821f;border:1px solid rgba(100,190,130,.25)}.badge-full .badge-text{color:#7ddba0!important}.roster-empty{padding:3rem;display:flex;align-items:center;justify-content:center}.roster-empty-text{color:#b8aed44d!important;font-size:.9rem!important;font-style:italic}.roster-loading{display:flex;justify-content:center;padding:4rem}.td-person{display:flex!important;align-items:center;justify-content:center}.person-check-icon{color:#7ddba0;font-size:.95rem;font-weight:600}.person-check-empty{display:inline-block;width:14px;height:14px;border-radius:4px;border:1.5px solid rgba(184,174,212,.25)}.th-person{text-align:center!important}.person-check-muted{color:#b8aed459;font-size:.85rem}.person-mobile-sep{display:inline-block;width:6px}.td-person-mobile{display:none;align-items:center;justify-content:center;gap:2px;font-size:.85rem}@media(max-width:700px){.roster-thead,.roster-row{grid-template-columns:2fr 1fr 1fr}.th-email,.td-email,.th-osis,.td-osis,.th-person-desktop,.td-person-desktop{display:none!important}.th-person-mobile,.td-person-mobile{display:flex!important}.th-person-mobile{visibility:hidden}}@media(min-width:701px){.th-person-mobile,.td-person-mobile{display:none!important}}.footer-root{position:relative;z-index:1;width:100%;padding:2.5rem 1rem 2rem;background:#1e193099;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(184,174,212,.1)}.footer-inner{max-width:480px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:.85rem}.footer-icons{display:flex;gap:1.25rem;align-items:center;margin-bottom:.25rem}.footer-icon-link{display:flex;align-items:center;justify-content:center;transition:transform .2s ease,opacity .2s ease}.footer-icon-link:hover{transform:translateY(-3px);opacity:.8}.footer-icon-img{width:26px;height:26px;object-fit:contain;filter:brightness(0) invert(1) opacity(.55);transition:filter .2s ease}.footer-icon-link:hover .footer-icon-img{filter:brightness(0) invert(1) opacity(.9)}.footer-copyright{font-family:DM Sans,sans-serif!important;font-size:.75rem!important;color:#fef5d459!important;letter-spacing:.05em}.footer-divider-line{width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(184,174,212,.15),transparent);margin:.25rem 0}.footer-section-label{font-family:DM Sans,sans-serif!important;font-size:.65rem!important;font-weight:500!important;letter-spacing:.18em!important;text-transform:uppercase;color:#b8aed480!important}.footer-team-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem}.footer-name{font-family:DM Sans,sans-serif!important;font-size:.82rem!important;font-weight:300!important;color:#fef5d4a6!important}.footer-dot{width:3px;height:3px;border-radius:50%;background:#b8aed44d}.navbar-root{position:sticky;top:0;z-index:100;width:100%;background:#1e1930bf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(184,174,212,.1)}.navbar-inner{max-width:900px;margin:0 auto;padding:0 1.5rem;height:60px;display:flex;align-items:center;justify-content:space-between}.navbar-brand{font-family:Playfair Display,serif!important;font-size:1.15rem!important;font-weight:700!important;letter-spacing:-.01em;line-height:1;-webkit-user-select:none;user-select:none}.navbar-brand-senior{color:#fef5d4}.navbar-brand-caucus{color:#b8aed4}.navbar-brand-year{color:#e0c97fcc;font-style:italic;font-size:.9em}.navbar-links{display:flex;gap:.25rem;align-items:center}.navbar-link{font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:400;letter-spacing:.04em;color:#fef5d480;text-decoration:none;padding:.4rem .85rem;border-radius:8px;transition:color .2s ease,background .2s ease;position:relative}.navbar-link:hover{color:#fef5d4e6;background:#b8aed414}.navbar-link.active{color:#fef5d4;background:#b8aed41f}.navbar-link.active:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:16px;height:2px;border-radius:2px;background:#e0c97f}.auth-root{min-height:100vh;background:#2d2640;display:flex;align-items:center;justify-content:center;font-family:DM Sans,sans-serif;position:relative;overflow:hidden;padding:1.5rem}.auth-orb{position:fixed;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0}.auth-orb1{width:450px;height:450px;background:radial-gradient(circle,rgba(184,174,212,.22) 0%,transparent 70%);top:-120px;left:-80px;animation:authDriftA 18s ease-in-out infinite alternate}.auth-orb2{width:350px;height:350px;background:radial-gradient(circle,rgba(224,201,127,.1) 0%,transparent 70%);bottom:-80px;right:-60px;animation:authDriftB 22s ease-in-out infinite alternate}@keyframes authDriftA{0%{transform:translate(0) scale(1)}to{transform:translate(40px,60px) scale(1.1)}}@keyframes authDriftB{0%{transform:translate(0) scale(1)}to{transform:translate(-40px,-40px) scale(1.12)}}.auth-card{position:relative;z-index:1;width:100%;max-width:380px;background:#342d4ebf;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(184,174,212,.15);border-radius:24px;padding:2.5rem 2rem;display:flex;flex-direction:column;gap:.5rem;animation:authFadeUp .65s cubic-bezier(.16,1,.3,1) both}@keyframes authFadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.auth-badge{font-family:DM Sans,sans-serif!important;font-size:.65rem!important;font-weight:500!important;letter-spacing:.2em!important;text-transform:uppercase;color:#e0c97f!important;margin-bottom:.5rem!important}.auth-title{font-family:Playfair Display,serif!important;font-size:2.2rem!important;font-weight:900!important;color:#fef5d4!important;letter-spacing:-.02em!important;line-height:1.1!important}.auth-subtitle{font-size:.88rem!important;color:#fef5d473!important;font-weight:300!important;margin-bottom:.75rem!important}.auth-fields{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.auth-input .MuiOutlinedInput-root{background:#2d264099!important;color:#fef5d4!important;font-family:DM Sans,sans-serif!important;font-size:.9rem!important;border-radius:12px!important}.auth-input .MuiOutlinedInput-notchedOutline{border-color:#b8aed426!important}.auth-input .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#b8aed459!important}.auth-input .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#9b8ec4!important;box-shadow:0 0 0 3px #9b8ec41f}.auth-input input::placeholder{color:#fef5d44d!important}.auth-error{font-size:.8rem!important;color:#e08888!important;text-align:center;animation:authShake .35s cubic-bezier(.36,.07,.19,.97)}@keyframes authShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.auth-btn{width:100%;padding:.85rem;border-radius:12px;border:none;background:linear-gradient(135deg,#9b8ec4,#b8aed4);color:#2d2640;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:500;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;margin-top:.25rem}.auth-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px #9b8ec459}.auth-btn:active{transform:translateY(0)}
