/* GWS Password Reset v2 */
:root {
    --gws-primary:  #273475;
    --gws-hover:    #1e2860;
    --gws-green:    #34a853;
    --gws-red:      #ea4335;
    --gws-border:   #e5e7eb;
    --gws-radius:   12px;
    --gws-shadow:   0 4px 24px rgba(0,0,0,.10);
}
.gws2-wrap { display:flex; justify-content:center; padding:40px 16px; font-family:'Segoe UI',system-ui,sans-serif; }
.gws2-card { background:#fff; border-radius:var(--gws-radius); box-shadow:var(--gws-shadow); padding:40px; width:100%; max-width:460px; animation:gws2up .4s ease both; }
@keyframes gws2up { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
.gws2-header { text-align:center; margin-bottom:28px; }
.gws2-icon { display:inline-block; font-size:44px; margin-bottom:10px; }
.gws2-header h2 { margin:0 0 8px; font-size:22px; font-weight:700; color:#1a1a2e; }
.gws2-header p  { margin:0; color:#6b7280; font-size:14px; line-height:1.6; }
.gws2-field { margin-bottom:18px; }
.gws2-field label { display:block; font-size:13px; font-weight:600; color:#1a1a2e; margin-bottom:6px; }
.gws2-field input[type="email"],
.gws2-field input[type="password"] {
    width:100%; padding:11px 14px; border:1.5px solid var(--gws-border);
    border-radius:8px; font-size:15px; color:#1a1a2e; background:#fff;
    transition:border-color .2s,box-shadow .2s; box-sizing:border-box; outline:none;
}
.gws2-field input:focus { border-color:var(--gws-primary); box-shadow:0 0 0 3px rgba(39,52,117,.15); }
.gws2-pw-wrap { position:relative; display:flex; align-items:center; }
.gws2-pw-wrap input { padding-right:44px; }
.gws2-toggle { position:absolute; right:10px; background:none; border:none; cursor:pointer; font-size:18px; opacity:.6; transition:opacity .2s; }
.gws2-toggle:hover { opacity:1; }
.gws2-strength-bar { height:4px; background:var(--gws-border); border-radius:2px; margin-top:8px; overflow:hidden; }
.gws2-strength-fill { height:100%; width:0; border-radius:2px; transition:width .4s,background .4s; }
.gws2-strength-label { font-size:11px; font-weight:600; margin-top:4px; display:block; }
.gws2-btn {
    width:100%; padding:13px 20px;
    background:#273475 !important;
    color:#ffffff !important;
    border:none !important;
    border-radius:8px; font-size:15px; font-weight:600; cursor:pointer;
    display:flex; align-items:center; justify-content:center; gap:8px; margin-top:8px;
    transition:transform .2s,box-shadow .2s,opacity .2s;
}
.gws2-btn:hover:not(:disabled) { background:#1e2860 !important; transform:translateY(-1px); box-shadow:0 6px 20px rgba(39,52,117,.4); }
.gws2-btn:disabled { opacity:.65; cursor:not-allowed; }
.gws2-notice { padding:14px 16px; border-radius:8px; font-size:14px; line-height:1.5; margin-bottom:18px; animation:gws2fade .3s ease both; }
@keyframes gws2fade { from{opacity:0;transform:scale(.97)} to{opacity:1;transform:scale(1)} }
.gws2-success { background:#ecfdf5; border:1.5px solid #6ee7b7; color:#065f46; }
.gws2-error   { background:#fef2f2; border:1.5px solid #fca5a5; color:#991b1b; }
@media(max-width:500px){ .gws2-card{padding:28px 18px;} }
