/* ==========================================
   LegateHub Expert Hub / International Expert Witness
   Frontend styling - mobile responsive
========================================== */

.lh-module,
.lh-module *{
    box-sizing:border-box;
}

.lh-module{
    background:#ffffff;
    border:1px solid #E2E8F0;
    border-radius:24px;
    padding:32px;
    margin:22px 0;
    max-width:1200px;
    width:100%;
    box-shadow:0 18px 45px rgba(15,23,42,.06);
    font-family:Poppins,Arial,sans-serif;
    color:#0F172A;
    overflow:hidden;
}

.lh-module h1,
.lh-module h2,
.lh-module h3{
    color:#0F172A;
    line-height:1.2;
    margin-top:0;
}

.lh-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    width:100%;
}

.lh-form label{
    display:block;
    font-weight:700;
    color:#0F172A;
    font-size:14px;
    margin-bottom:4px;
}

.lh-form input,
.lh-form select,
.lh-form textarea{
    width:100%;
    max-width:100%;
    margin-top:6px;
    padding:13px 14px;
    border:1px solid #CBD5E1;
    border-radius:12px;
    background:#ffffff;
    color:#0F172A;
    font-size:15px;
    line-height:1.45;
    outline:none;
}

.lh-form input:focus,
.lh-form select:focus,
.lh-form textarea:focus{
    border-color:#2563EB;
    box-shadow:0 0 0 3px rgba(37,99,235,.12);
}

.lh-form textarea{
    min-height:120px;
    resize:vertical;
}

.lh-form input[type="file"]{
    padding:12px;
    background:#F8FAFC;
    border-style:dashed;
}

.lh-button,
.lh-form button,
.lh-form input[type="submit"],
.lh-form input[type="button"],
.lh-module .button{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:#2563EB !important;
    color:#ffffff !important;
    border:0 !important;
    border-radius:12px !important;
    padding:14px 24px !important;
    font-weight:800 !important;
    font-size:16px !important;
    line-height:1.35 !important;
    cursor:pointer;
    width:auto;
    max-width:100%;
    min-width:0;
    white-space:normal !important;
    text-align:center;
    text-decoration:none !important;
    transition:.25s ease;
    box-shadow:none !important;
}

.lh-button:hover,
.lh-form button:hover,
.lh-form input[type="submit"]:hover,
.lh-form input[type="button"]:hover,
.lh-module .button:hover{
    background:#1D4ED8 !important;
    color:#ffffff !important;
    transform:translateY(-1px);
}

.lh-alert{
    padding:14px 16px;
    border-radius:12px;
    background:#EFF6FF;
    border:1px solid #93C5FD;
    color:#1E3A8A;
    margin:15px 0;
    line-height:1.6;
}

.lh-alert.success{
    background:#ECFDF5;
    border-color:#86EFAC;
    color:#166534;
}

.lh-alert.error{
    background:#FEF2F2;
    border-color:#FCA5A5;
    color:#991B1B;
}

.lh-cards{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    width:100%;
}

.lh-card{
    border:1px solid #E2E8F0;
    border-radius:18px;
    padding:20px;
    background:#F8FAFC;
}

.lh-card strong{
    display:block;
    color:#334155;
    font-size:14px;
}

.lh-card span{
    display:block;
    font-size:28px;
    font-weight:800;
    color:#2563EB;
    margin-top:6px;
}

.lh-status{
    display:inline-flex;
    align-items:center;
    padding:5px 10px;
    border-radius:999px;
    background:#E2E8F0;
    color:#334155;
    font-size:12px;
    font-weight:800;
}

.lh-status.approved{
    background:#DCFCE7;
    color:#166534;
}

.lh-status.rejected{
    background:#FEE2E2;
    color:#991B1B;
}

.lh-status.pending{
    background:#FEF3C7;
    color:#92400E;
}


.lh-help{
    margin-top:-4px;
    color:#475569;
    font-size:14px;
    line-height:1.6;
}

.lh-discipline-wrapper{
    margin:22px 0;
    padding:22px;
    border:1px solid #E2E8F0;
    border-radius:18px;
    background:#F8FAFC;
}

.lh-checkbox-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:12px 0 18px;
}

.lh-check{
    display:flex !important;
    align-items:flex-start;
    gap:10px;
    padding:12px 14px;
    border:1px solid #CBD5E1;
    border-radius:12px;
    background:#ffffff;
    font-weight:700;
    line-height:1.4;
}

.lh-check input[type="checkbox"]{
    width:auto;
    margin:2px 0 0;
    flex:0 0 auto;
}

.lh-discipline-group{
    margin:10px 0;
    border:1px solid #E2E8F0;
    border-radius:14px;
    background:#ffffff;
    overflow:hidden;
}

.lh-discipline-group summary{
    padding:14px 16px;
    cursor:pointer;
    font-weight:800;
    color:#0F172A;
    background:#EEF2FF;
}

.lh-discipline-group .lh-checkbox-grid{
    padding:14px;
    margin:0;
}

@media(max-width:900px){
    .lh-module{
        padding:26px 20px;
        border-radius:22px;
    }

    .lh-grid,
    .lh-cards,
    .lh-checkbox-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:768px){
    .lh-module{
        padding:22px 16px;
        margin:16px 0;
        border-radius:20px;
    }

    .lh-form input,
    .lh-form select,
    .lh-form textarea{
        font-size:15px;
        padding:12px;
    }

    .lh-button,
    .lh-form button,
    .lh-form input[type="submit"],
    .lh-form input[type="button"],
    .lh-module .button{
        width:100% !important;
        max-width:100% !important;
        padding:13px 14px !important;
        font-size:15px !important;
        line-height:1.35 !important;
        border-radius:10px !important;
        white-space:normal !important;
        overflow-wrap:anywhere;
        word-break:normal;
        display:flex !important;
    }
}

@media(max-width:420px){
    .lh-module{
        padding:18px 14px;
    }

    .lh-card{
        padding:16px;
    }
}
