/* =================================================
   COMMON REGISTER FORM (SUPERVISOR + SUPERVISEE)
================================================= */

.sv-register-wrapper{
    max-width:1100px;
    margin:60px auto;
    background:linear-gradient(135deg,#ffffff,#fafafa);
    padding:50px;
    border-radius:24px;
    box-shadow:0 12px 45px rgba(0,0,0,0.08);
    font-family:'Poppins',sans-serif;
}

/* ---------- HEADINGS ---------- */
.sv-register-title{
    text-align:center;
    font-size:36px;
    font-weight:700;
    margin-bottom:40px;
}

/* Theme colors */
.sv-theme-supervisor .sv-register-title{ color:#E94E9A; }
.sv-theme-supervisee .sv-register-title{ color:#00A8E8; }

/* ---------- GRID ---------- */
.sv-row{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:25px;
    margin-bottom:25px;
}

.sv-col label{
    font-size:14px;
    font-weight:600;
    margin-bottom:6px;
    display:block;
    color:#333;
}

/* ---------- INPUTS ---------- */
.sv-input,
.sv-select,
textarea{
    width:100%;
    padding:14px 16px;
    border-radius:10px;
    border:1.5px solid #ddd;
    font-size:15px;
    background:#fff;
    transition:0.25s;
}

.sv-input:focus,
.sv-select:focus,
textarea:focus{
    outline:none;
}

/* Focus color by role */
.sv-theme-supervisor .sv-input:focus,
.sv-theme-supervisor .sv-select:focus,
.sv-theme-supervisor textarea:focus{
    border-color:#E94E9A;
    box-shadow:0 0 0 3px rgba(233,78,154,0.15);
}

.sv-theme-supervisee .sv-input:focus,
.sv-theme-supervisee .sv-select:focus,
.sv-theme-supervisee textarea:focus{
    border-color:#00A8E8;
    box-shadow:0 0 0 3px rgba(0,168,232,0.15);
}

/* ---------- CHECKBOXES ---------- */
.sv-checkbox-group{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
    gap:10px;
}

/* ---------- BUTTON ---------- */
.sv-submit{
    text-align:center;
    margin-top:35px;
}

.sv-btn{
    padding:15px 48px;
    border:none;
    border-radius:50px;
    font-size:18px;
    font-weight:600;
    cursor:pointer;
    color:#fff;
    transition:0.3s;
}

/* Button colors */
.sv-theme-supervisor .sv-btn{
    background:linear-gradient(135deg,#E94E9A,#D74890);
}
.sv-theme-supervisee .sv-btn{
    background:linear-gradient(135deg,#00A8E8,#0077B6);
}

.sv-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 28px rgba(0,0,0,0.25);
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:768px){
    .sv-row{ grid-template-columns:1fr; }
    .sv-register-wrapper{
        padding:30px 22px;
        margin:30px 15px;
    }
    .sv-register-title{ font-size:28px; }
}
