*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{min-height:100vh;background:#0D1B2A;background-image:radial-gradient(ellipse 60% 50% at 70% -10%,rgba(29,158,117,0.12) 0%,transparent 70%),radial-gradient(ellipse 40% 40% at -10% 80%,rgba(29,158,117,0.07) 0%,transparent 60%);font-family:"DM Sans",system-ui,sans-serif;color:#F5F0E8;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem}
.logo-bar{display:flex;align-items:center;gap:10px;margin-bottom:2rem}
.logo-mark{width:36px;height:36px;background:linear-gradient(135deg,#1D9E75,#5DCAA5);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.logo-mark svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round}
.logo-name{font-family:"Playfair Display",Georgia,serif;font-size:18px;font-weight:600;color:#F5F0E8;letter-spacing:-0.01em}
.card{width:100%;max-width:440px;background:rgba(255,255,255,0.04);border:0.5px solid rgba(93,202,165,0.2);border-radius:16px;overflow:hidden}
.card-header{padding:2rem 2rem 1.5rem;border-bottom:0.5px solid rgba(93,202,165,0.15)}
.card-tag{display:inline-block;background:rgba(29,158,117,0.15);color:#5DCAA5;font-size:10px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;padding:3px 8px;border-radius:4px;margin-bottom:0.75rem}
.card-title{font-family:"Playfair Display",Georgia,serif;font-size:22px;font-weight:600;color:#F5F0E8;line-height:1.3;margin-bottom:0.35rem}
.card-sub{font-size:13px;color:rgba(245,240,232,0.5);font-weight:300;line-height:1.6}
.card-body{padding:1.75rem 2rem}
.card-footer{padding:1.25rem 2rem 2rem;border-top:0.5px solid rgba(93,202,165,0.1)}
.field{margin-bottom:1.1rem}
.field label{display:block;font-size:12px;font-weight:500;color:rgba(245,240,232,0.6);letter-spacing:0.04em;text-transform:uppercase;margin-bottom:0.4rem}
input[type=text],input[type=password]{width:100%;padding:11px 14px;background:rgba(255,255,255,0.06);border:0.5px solid rgba(93,202,165,0.2);border-radius:8px;font-family:"DM Sans",system-ui,sans-serif;font-size:14px;color:#F5F0E8;outline:none;transition:border-color 0.15s,background 0.15s;-webkit-appearance:none}
input[type=text]::placeholder,input[type=password]::placeholder{color:rgba(245,240,232,0.25)}
input[type=text]:focus,input[type=password]:focus{border-color:rgba(93,202,165,0.5);background:rgba(255,255,255,0.08)}
.remember-row{display:flex;align-items:center;gap:8px;margin-top:0.75rem}
.remember-row input[type=checkbox]{width:16px;height:16px;accent-color:#1D9E75;cursor:pointer;flex-shrink:0}
.remember-row label{font-size:13px;color:rgba(245,240,232,0.5);cursor:pointer;margin:0}
.error-box{background:rgba(220,80,80,0.1);border:0.5px solid rgba(220,80,80,0.3);border-radius:8px;padding:10px 14px;font-size:13px;color:#e87a7a;margin-bottom:1.25rem}
.btn-primary{width:100%;padding:13px;background:linear-gradient(135deg,#1D9E75,#5DCAA5);color:#0D1B2A;border:none;border-radius:10px;font-family:"DM Sans",system-ui,sans-serif;font-size:14px;font-weight:500;cursor:pointer;letter-spacing:0.01em;transition:opacity 0.15s,transform 0.1s;margin-top:1.5rem;display:block}
.btn-primary:hover{opacity:0.92}
.btn-primary:active{transform:scale(0.99)}
.register-link{text-align:center;font-size:13px;color:rgba(245,240,232,0.45);margin-top:1rem}
.register-link a{color:#5DCAA5;text-decoration:none}
.register-link a:hover{text-decoration:underline}
.privacy{text-align:center;font-size:11px;color:rgba(245,240,232,0.25);line-height:1.6;margin-top:0.75rem}
.back-link{margin-top:1.5rem;font-size:12px;color:rgba(245,240,232,0.3);text-align:center}
.back-link a{color:rgba(93,202,165,0.6);text-decoration:none}
.back-link a:hover{color:#5DCAA5}
@media(max-width:480px){.card-header,.card-body{padding:1.5rem 1.25rem}.card-footer{padding:1.25rem 1.25rem 1.5rem}.card-title{font-size:19px}}
