
/* ============================================================
   CDA V4.1 — Liste des professeurs
   ============================================================ */

.professor-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:18px;
}

.v4-search{
    flex:1;
    display:flex;
    align-items:center;
    gap:10px;
    padding:8px;
    border:1px solid var(--border);
    border-radius:15px;
    background:#fff;
    box-shadow:var(--shadow);
}

.v4-search-icon{
    padding-left:8px;
    color:var(--blue);
    font-size:19px;
}

.v4-search input{
    flex:1;
    min-width:0;
    height:39px;
    border:0;
    outline:0;
    background:transparent;
    color:var(--text);
}

.professor-toolbar-meta{
    min-width:125px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:13px 16px;
    border:1px solid var(--border);
    border-radius:15px;
    background:#fff;
    box-shadow:var(--shadow);
}

.professor-toolbar-meta span{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:var(--purple-soft);
    color:var(--purple);
    font-size:16px;
    font-weight:900;
}

.professor-toolbar-meta strong{
    font-size:10px;
    color:var(--muted);
}

.professor-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.professor-card{
    display:block;
    padding:19px;
    border:1px solid var(--border);
    border-radius:19px;
    background:#fff;
    box-shadow:var(--shadow);
    text-decoration:none;
    transition:.2s ease;
}

.professor-card:hover{
    transform:translateY(-3px);
    border-color:#cbd8f1;
    box-shadow:0 18px 38px rgba(25,42,70,.12);
}

.professor-card-top{
    display:grid;
    grid-template-columns:58px 1fr auto;
    gap:13px;
    align-items:center;
}

.professor-card-avatar{
    width:56px;
    height:56px;
    display:grid;
    place-items:center;
    border-radius:17px;
    background:linear-gradient(
        135deg,
        var(--blue-soft),
        var(--purple-soft)
    );
    color:var(--blue);
    font-size:19px;
    font-weight:900;
    text-transform:uppercase;
}

.professor-card-identity h3{
    margin:4px 0;
    font-size:16px;
}

.professor-card-identity p{
    margin:0;
    color:var(--muted);
    font-size:10px;
}

.professor-code{
    font-size:8px;
    color:#8d99aa;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.1em;
}

.professor-status{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:5px 8px;
    border-radius:999px;
    background:var(--green-soft);
    color:#168347;
    font-size:8px;
    font-weight:850;
}

.professor-status i{
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--green);
}

.professor-card-contact{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    margin:17px 0;
}

.professor-card-contact div{
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
    padding:10px;
    border-radius:12px;
    background:#f8faff;
}

.professor-card-contact span{
    color:var(--blue);
}

.professor-card-contact strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:9px;
    color:#536075;
}

.professor-card-bottom{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:13px;
    align-items:center;
    padding-top:14px;
    border-top:1px solid var(--border);
}

.professor-groups{
    display:flex;
    align-items:center;
    gap:8px;
}

.professor-groups>span{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:var(--orange-soft);
    color:var(--orange);
    font-weight:900;
}

.professor-groups strong,
.professor-groups small{
    display:block;
}

.professor-groups strong{
    font-size:9px;
}

.professor-groups small{
    margin-top:2px;
    font-size:8px;
    color:var(--muted);
}

.professor-docs{
    display:flex;
    justify-content:center;
    gap:6px;
    flex-wrap:wrap;
}

.mini-status{
    padding:4px 7px;
    border-radius:999px;
    font-size:8px;
    font-weight:800;
}

.mini-status.ok{
    background:var(--green-soft);
    color:#168347;
}

.mini-status.missing{
    background:#feecec;
    color:var(--red);
}

.professor-open{
    color:var(--blue);
    font-size:9px;
    font-weight:850;
}

.empty-professors{
    min-height:360px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.empty-professors-art{
    display:flex;
    gap:10px;
    margin-bottom:18px;
}

.empty-professors-art span{
    width:55px;
    height:55px;
    display:grid;
    place-items:center;
    border-radius:17px;
    background:var(--purple-soft);
    font-size:28px;
}

.empty-professors-art span:nth-child(2){
    background:var(--pink-soft);
}

.empty-professors-art span:nth-child(3){
    background:var(--orange-soft);
}

.empty-professors h3{
    margin:0;
    font-size:20px;
}

.empty-professors p{
    max-width:470px;
    margin:9px 0 18px;
    color:var(--muted);
    line-height:1.6;
}

@media(max-width:1050px){
    .professor-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:720px){
    .professor-toolbar{
        flex-direction:column;
        align-items:stretch;
    }

    .v4-search{
        flex-wrap:wrap;
    }

    .v4-search input{
        flex-basis:calc(100% - 40px);
    }

    .v4-search .button{
        flex:1;
    }

    .professor-card-top{
        grid-template-columns:56px 1fr;
    }

    .professor-status{
        grid-column:1 / -1;
        width:max-content;
    }

    .professor-card-contact{
        grid-template-columns:1fr;
    }

    .professor-card-bottom{
        grid-template-columns:1fr;
    }

    .professor-docs{
        justify-content:flex-start;
    }
}
