.login-container{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.login-background{position:absolute;inset:0;pointer-events:none}.floral-decoration{position:absolute;width:200px;height:200px;opacity:.15;background:radial-gradient(circle,#C9A87C 0%,transparent 70%)}.floral-decoration.top-left{top:-50px;left:-50px;transform:rotate(-45deg)}.floral-decoration.top-right{top:-50px;right:-50px;transform:rotate(45deg)}.floral-decoration.bottom-left{bottom:-50px;left:-50px;transform:rotate(-135deg)}.floral-decoration.bottom-right{bottom:-50px;right:-50px;transform:rotate(135deg)}.login-card{background:#fffffff2;border-radius:24px;padding:3rem 2.5rem;width:100%;max-width:420px;box-shadow:0 4px 6px #c9a87c1a,0 10px 40px #c9a87c26;border:1px solid rgba(201,168,124,.2);position:relative;z-index:1}.login-header{text-align:center;margin-bottom:2rem}.ornament-line{height:2px;background:linear-gradient(90deg,transparent,#C9A87C,transparent);margin:.75rem auto;width:60%}.login-title{font-family:Cormorant Garamond,serif;font-size:2.5rem;font-weight:500;color:#5d4e37;letter-spacing:.05em;margin:.5rem 0}.login-subtitle{font-family:Montserrat,sans-serif;font-size:.875rem;font-weight:300;color:#8b7355;letter-spacing:.15em;text-transform:uppercase}.error-message{background:#b94a481a;border:1px solid rgba(185,74,72,.3);border-radius:12px;padding:.875rem 1rem;margin-bottom:1.25rem;font-size:.875rem;color:#8b4513;text-align:center}.oauth-error{background:#b94a4814;border:1px solid rgba(185,74,72,.25);border-radius:10px;padding:.75rem 1rem;margin-top:1rem;font-size:.8rem;color:sienna;text-align:center;font-weight:400}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.8rem;font-weight:500;color:#5d4e37;letter-spacing:.05em}.form-group input{padding:.875rem 1rem;border:1px solid rgba(201,168,124,.3);border-radius:12px;font-size:.95rem;font-family:Montserrat,sans-serif;color:#5d4e37;background:#fffbf8;transition:all .3s ease}.form-group input::placeholder{color:#b8a088;font-weight:300}.form-group input:focus{outline:none;border-color:#c9a87c;box-shadow:0 0 0 3px #c9a87c26;background:#fff}.form-group input:disabled{opacity:.6;cursor:not-allowed}.field-error{font-size:.75rem;color:sienna;margin-top:.25rem}.password-hints{list-style:none;padding:0;margin:.25rem 0 0;display:flex;flex-direction:column;gap:.25rem}.password-hints li{font-size:.75rem;color:#b8a088;padding-left:1.25rem;position:relative;transition:color .2s ease}.password-hints li:before{content:"○";position:absolute;left:0;font-size:.6rem;top:1px;transition:all .2s ease}.password-hints li.met{color:#6b8e5a}.password-hints li.met:before{content:"●";color:#6b8e5a}.btn-signin{margin-top:.5rem;padding:1rem;border:none;border-radius:12px;font-size:1rem;font-weight:500;font-family:Montserrat,sans-serif;letter-spacing:.1em;background:linear-gradient(135deg,#c9a87c,#d4b896);color:#fff;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;min-height:52px;display:flex;align-items:center;justify-content:center}.btn-signin:hover:not(:disabled){background:linear-gradient(135deg,#b8956a,#c9a87c);transform:translateY(-2px);box-shadow:0 4px 15px #c9a87c66}.btn-signin:active:not(:disabled){transform:translateY(0)}.btn-signin:disabled{cursor:not-allowed}.btn-signin.loading{background:linear-gradient(135deg,#c9a87c,#d4b896)}.spinner{width:22px;height:22px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.divider{display:flex;align-items:center;margin:1.75rem 0;gap:1rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,124,.4),transparent)}.divider span{font-size:.75rem;color:#8b7355;font-weight:400;letter-spacing:.05em;white-space:nowrap}.social-buttons{display:flex;gap:1rem}.btn-social{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1rem;border:1px solid rgba(201,168,124,.3);border-radius:12px;background:#fffbf8;font-family:Montserrat,sans-serif;font-size:.875rem;font-weight:500;color:#5d4e37;cursor:pointer;transition:all .3s ease}.btn-social:hover:not(:disabled){background:#fff;border-color:#c9a87c;transform:translateY(-2px);box-shadow:0 4px 12px #c9a87c33}.btn-social:disabled{opacity:.6;cursor:not-allowed}.google-btn-container{flex:1;display:flex;align-items:center;justify-content:center}.btn-social svg{flex-shrink:0}.btn-twitter svg{color:#1da1f2}.signup-link{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(201,168,124,.2)}.signup-link p{font-size:.875rem;color:#8b7355;font-weight:300}.signup-link a{color:#c9a87c;text-decoration:none;font-weight:500;transition:color .3s ease}.signup-link a:hover{color:#b8956a;text-decoration:underline}@media(max-width:480px){.login-container{padding:1rem}.login-card{padding:2rem 1.5rem}.login-title{font-size:2rem}.social-buttons{flex-direction:column}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Montserrat,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#fff9f5,#fff0e6,#fee8dc);min-height:100vh}#root{min-height:100vh}.opening-cover{position:absolute;inset:0;z-index:10;overflow:hidden;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.opening-cover .cover-panel{position:absolute;top:0;bottom:0;width:50%;background:inherit}.opening-cover .cover-left{left:0}.opening-cover .cover-right{right:0}.opening-cover .cover-seam{position:absolute;top:0;bottom:0;left:50%;width:1px;background:#00000014;z-index:1}.opening-cover .cover-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:auto}@keyframes peelCorner{0%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:rotate(0)}to{clip-path:polygon(100% 0,100% 0,100% 0,100% 0);transform:rotate(2deg)}}.cover-opening-peel{transform-origin:top right;animation:peelCorner 1s ease-in-out forwards}.cover-opening-peel .cover-content{animation:coverFadeOut .3s ease-out forwards}@keyframes curtainOpenLeft{0%{transform:translate(0) scaleX(1)}to{transform:translate(-100%) scaleX(.8)}}@keyframes curtainOpenRight{0%{transform:translate(0) scaleX(1)}to{transform:translate(100%) scaleX(.8)}}.cover-opening-curtain .cover-left{animation:curtainOpenLeft 1s ease-in-out forwards}.cover-opening-curtain .cover-right{animation:curtainOpenRight 1s ease-in-out forwards}.cover-opening-curtain .cover-seam{animation:coverFadeOut .2s ease-out forwards}.cover-opening-curtain .cover-content{animation:coverFadeOut .4s ease-out forwards}@keyframes coverSlideUp{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:1}}.cover-opening-slide_up{animation:coverSlideUp .8s ease-in-out forwards}@keyframes coverFadeOut{0%{opacity:1}to{opacity:0}}.cover-opening-fade{animation:coverFadeOut .8s ease-out forwards}.preview-mode .cover-opening-peel,.preview-mode .cover-opening-curtain .cover-left,.preview-mode .cover-opening-curtain .cover-right{animation-duration:.6s}.preview-mode .cover-opening-slide_up,.preview-mode .cover-opening-fade{animation-duration:.5s}@media(prefers-reduced-motion:reduce){.opening-cover,.opening-cover *{animation:none!important}}
