@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Inter:wght@400;500;600;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--coral: #FF6B6B;--coral-d: #E25555;--rose: #FF8C7A;--gold: #E9C46A;--ivory: #FFF7F2;--text: #271A19;--muted: #725E5B;--radius: 14px;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.22, 1, .36, 1)}html,body{min-height:100vh;font-family:Inter,sans-serif;color:var(--text);overflow-x:hidden}.login-page{min-height:100vh;background:linear-gradient(135deg,#ff6b6b,#ff8c7a 35%,#ffb347 65%,#e9c46a);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 20px 60px;position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(255,255,255,.13) 1px,transparent 1px);background-size:34px 34px;pointer-events:none;z-index:0}.login-blob{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:0}.login-blob-1{width:520px;height:520px;background:#ffffff21;top:-120px;right:-120px}.login-blob-2{width:420px;height:420px;background:#e9c46a38;bottom:-100px;left:-100px}.login-nav{position:fixed;top:0;left:0;right:0;padding:20px 40px;display:flex;align-items:center;justify-content:space-between;z-index:100;background:#ff6b6b1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.15)}.login-brand{display:flex;align-items:center;gap:10px;text-decoration:none}.login-brand-mark{width:34px;height:34px;border-radius:9px;background:#ffffff47;border:1px solid rgba(255,255,255,.4)}.login-brand-name{font-family:Playfair Display,serif;font-size:1.15rem;font-weight:700;color:#fff}.login-nav-register{font-size:.85rem;color:#ffffffd9;text-decoration:none;padding:8px 18px;border:1px solid rgba(255,255,255,.35);border-radius:50px;transition:background .2s,color .2s}.login-nav-register:hover{background:#fff3;color:#fff}.login-hero{text-align:center;margin-bottom:32px;position:relative;z-index:2;animation:fadeUp .6s var(--ease-out) both}.login-hero h1{font-family:Playfair Display,serif;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700;color:#fff;line-height:1.2;margin-bottom:10px;text-shadow:0 2px 24px rgba(39,26,25,.15)}.login-hero h1 em{font-style:normal;background:#ffffff38;border-radius:8px;padding:2px 10px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.login-hero p{font-size:.97rem;color:#ffffffe0;max-width:420px;margin:0 auto}.login-card{background:#ffffffed;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,.65);border-radius:26px;padding:38px 44px 34px;width:100%;max-width:440px;box-shadow:0 32px 80px #271a192e,0 8px 24px #271a1914;position:relative;z-index:2;animation:fadeUp .65s var(--ease-out) .08s both}.login-card-icon{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,var(--coral),var(--rose));display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:18px;box-shadow:0 8px 20px #ff6b6b4d}.login-card-title{font-family:Playfair Display,serif;font-size:1.55rem;font-weight:700;color:var(--text);margin-bottom:4px}.login-card-sub{font-size:.86rem;color:var(--muted);margin-bottom:28px}.f-field{margin-bottom:16px}.f-label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.f-input-wrap{position:relative}.f-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#c0aeab;font-size:.9rem;pointer-events:none}.f-input{width:100%;padding:12px 15px 12px 40px;border:1.5px solid #e8dcd9;border-radius:12px;font-size:.94rem;font-family:Inter,sans-serif;color:var(--text);background:#fff;transition:border-color .2s,box-shadow .2s;outline:none}.f-input:focus{border-color:var(--coral);box-shadow:0 0 0 3px #ff6b6b1a}.f-input.is-error{border-color:#e55}.f-error{font-size:.75rem;color:#d94f4f;margin-top:4px}.f-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;margin-top:-4px}.f-remember{display:flex;align-items:center;gap:7px;font-size:.8rem;color:var(--muted);cursor:pointer}.f-remember input[type=checkbox]{width:15px;height:15px;accent-color:var(--coral);cursor:pointer}.f-forgot{font-size:.8rem;color:var(--coral);text-decoration:none;font-weight:600;transition:color .15s}.f-forgot:hover{color:var(--coral-d);text-decoration:underline}.f-status{background:#e8f5e9;border:1px solid #a5d6a7;border-radius:10px;padding:10px 14px;font-size:.82rem;color:#2e7d32;margin-bottom:18px}.f-submit{width:100%;padding:14px;background:var(--coral);color:#fff;border:none;border-radius:50px;font-size:.97rem;font-family:Inter,sans-serif;font-weight:700;cursor:pointer;margin-top:2px;box-shadow:0 8px 22px #ff6b6b52;transition:background .2s,transform .2s,box-shadow .2s;letter-spacing:.01em}.f-submit:hover{background:var(--coral-d);transform:translateY(-2px);box-shadow:0 12px 28px #ff6b6b6b}.f-submit:active{transform:translateY(0)}.f-divider{display:flex;align-items:center;gap:12px;margin:22px 0}.f-divider:before,.f-divider:after{content:"";flex:1;height:1px;background:#e8dcd9}.f-divider span{font-size:.72rem;color:#c0aeab;white-space:nowrap;font-weight:500}.f-register{text-align:center;font-size:.86rem;color:var(--muted)}.f-register a{color:var(--coral);font-weight:600;text-decoration:none}.f-register a:hover{text-decoration:underline}.login-badges{display:flex;gap:14px;justify-content:center;margin-top:24px;position:relative;z-index:2;animation:fadeUp .7s var(--ease-out) .2s both}.login-badge{background:#ffffff2e;border:1px solid rgba(255,255,255,.3);border-radius:12px;padding:10px 16px;font-size:.75rem;color:#fff;font-weight:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-align:center}.login-badge strong{display:block;font-size:1rem;font-weight:700}.login-footer{position:relative;z-index:2;margin-top:24px;font-size:.72rem;color:#ffffff80;text-align:center}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 520px){.login-card{padding:28px 22px 26px}.login-nav{padding:16px 20px}.login-badges{flex-direction:column;align-items:center}}
