/* ============================================================
   Student Registration System Pro - Stylesheet v3.0.0
   ============================================================ */

*{box-sizing:border-box;}

/* Container */
.srs-auth-container{
    width:100%;min-height:100vh;display:flex;
    align-items:center;justify-content:center;
    padding:15px;
    background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);
}

/* Card */
.srs-auth-wrapper{
    width:100%;max-width:480px;margin:0 auto;
    padding:25px 20px;background:#fff;
    border-radius:20px;
    box-shadow:0 20px 60px rgba(0,0,0,.3);
}

/* Header */
.srs-auth-header{text-align:center;margin-bottom:25px;}
.srs-auth-header h2{color:#667eea;font-size:26px;margin:0 0 8px;font-weight:700;}
.srs-auth-header p{color:#666;margin:0;font-size:14px;}

/* Tabs */
.srs-tab-buttons{display:flex;gap:8px;margin-bottom:25px;border-bottom:2px solid #e0e0e0;}
.srs-tab-btn{
    flex:1;padding:12px 8px;background:transparent;border:none;
    border-bottom:3px solid transparent;color:#666;
    font-size:15px;font-weight:600;cursor:pointer;
    transition:all .3s ease;text-align:center;min-height:48px;
}
.srs-tab-btn.active{color:#667eea;border-bottom-color:#667eea;}
.srs-tab-btn:active{transform:scale(.98);}

/* Form panels */
.srs-form-content{display:none;}
.srs-form-content.active{display:block;animation:srsIn .3s ease;}

@keyframes srsIn{
    from{opacity:0;transform:translateY(10px);}
    to{opacity:1;transform:translateY(0);}
}

/* Form groups */
.srs-form-group{margin-bottom:18px;}
.srs-form-group label{display:block;font-weight:600;margin-bottom:6px;color:#333;font-size:14px;}
.srs-form-group label .required{color:#f44336;}
.srs-form-group input,
.srs-form-group select{
    width:100%;padding:14px 16px;border:2px solid #e0e0e0;
    border-radius:10px;font-size:15px;transition:all .3s ease;
    background:#fafafa;min-height:48px;
}
.srs-form-group input:focus,
.srs-form-group select:focus{
    outline:none;border-color:#667eea;background:#fff;
    box-shadow:0 0 0 3px rgba(102,126,234,.1);
}

/* Two-column row */
.srs-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}

/* Submit button */
.srs-submit-btn{
    width:100%;padding:16px;
    background:linear-gradient(135deg,#667eea,#764ba2);
    color:#fff;border:none;border-radius:12px;
    font-size:16px;font-weight:700;cursor:pointer;
    transition:all .3s ease;min-height:52px;
    display:flex;align-items:center;justify-content:center;
    gap:8px;text-transform:uppercase;letter-spacing:.5px;
}
.srs-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px rgba(102,126,234,.4);}
.srs-submit-btn:active:not(:disabled){transform:translateY(0);}
.srs-submit-btn:disabled{opacity:.7;cursor:not-allowed;background:#999;}
.srs-submit-btn .spinner{
    display:none;width:18px;height:18px;
    border:2px solid #fff;border-top-color:transparent;
    border-radius:50%;animation:srsSpin .6s linear infinite;
}
.srs-submit-btn.loading .spinner{display:block;}

@keyframes srsSpin{to{transform:rotate(360deg);}}

/* Message box */
.srs-message{
    padding:14px 16px;border-radius:10px;margin-bottom:20px;
    display:none;font-size:14px;line-height:1.5;
    animation:srsDown .3s ease;
}
@keyframes srsDown{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:translateY(0);}}
.srs-message.success{background:#e8f5e9;color:#2e7d32;border-left:4px solid #4caf50;}
.srs-message.error  {background:#ffebee;color:#c62828;border-left:4px solid #f44336;}

/* Links */
.srs-forgot-password{text-align:right;margin:12px 0;}
.srs-forgot-password a,.srs-back-link a{
    color:#667eea;text-decoration:none;font-size:13px;font-weight:600;
    display:inline-block;padding:8px;min-height:44px;
}
.srs-forgot-password a:hover,.srs-back-link a:hover{text-decoration:underline;}
.srs-back-link{text-align:center;margin-top:15px;}

/* Password strength */
.srs-password-strength{margin-top:6px;font-size:12px;color:#666;}
.strength-bar{height:4px;background:#e0e0e0;border-radius:2px;margin-top:4px;overflow:hidden;}
.strength-bar-fill{height:100%;width:0%;transition:all .3s ease;border-radius:2px;}
.strength-weak   .strength-bar-fill{width:33%;background:#f44336;}
.strength-medium .strength-bar-fill{width:66%;background:#ff9800;}
.strength-strong .strength-bar-fill{width:100%;background:#4caf50;}

/* ── Responsive ────────────────────────────────────────────── */
@media(max-width:375px){
    .srs-auth-wrapper{padding:20px 15px;}
    .srs-auth-header h2{font-size:22px;}
    .srs-form-row{grid-template-columns:1fr;}
    .srs-tab-btn{font-size:13px;padding:10px 4px;}
}
@media(min-width:768px){
    .srs-auth-container{padding:30px;}
    .srs-auth-wrapper{padding:40px 35px;max-width:520px;}
    .srs-auth-header h2{font-size:32px;}
    .srs-submit-btn{font-size:17px;padding:18px;}
}
@media(min-width:1024px){
    .srs-auth-wrapper{max-width:550px;padding:45px 40px;}
}
@media(orientation:landscape) and (max-height:500px){
    .srs-auth-container{align-items:flex-start;padding-top:20px;padding-bottom:20px;}
    .srs-auth-wrapper{margin:20px auto;}
}
