/* Direção visual: diretórios acadêmicos claros, orientados por dados e legíveis em qualquer tela. */
.directory-page{background:#fff}.directory-hero{padding:4.6rem 0 3.2rem;background:linear-gradient(115deg,#f5faff 0%,#fff 60%);border-bottom:1px solid #d7e4ef}.directory-hero h1{max-width:800px;margin:.55rem 0 1rem;color:#014389;font-family:Lora,Georgia,serif;font-size:clamp(2.3rem,5vw,4.5rem);line-height:1.02}.directory-hero p{max-width:700px;margin:0;color:#31516e;font-size:1.08rem;line-height:1.65}.directory-filter{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(190px,.9fr) auto;gap:1rem;align-items:end;padding:1.2rem;margin-bottom:1.8rem;background:#f5faff;border-left:4px solid #648bb5}.directory-filter--rooms{grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) auto}.directory-filter label{display:block;margin-bottom:.4rem;color:#014389;font-size:.82rem;font-weight:700}.directory-filter input,.directory-filter select{box-sizing:border-box;width:100%;min-height:44px;padding:.6rem .72rem;border:1px solid #9cb9d4;background:#fff;color:#173a5d;font:inherit}.directory-filter .button{min-height:44px;white-space:nowrap}.directory-table-wrap{overflow-x:auto;border:1px solid #d7e4ef;background:#fff}.directory-table{width:100%;border-collapse:collapse;min-width:760px}.directory-table th,.directory-table td{padding:.9rem 1rem;border-bottom:1px solid #dbe6ef;text-align:left;vertical-align:middle}.directory-table thead th{background:#014389;color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.directory-table tbody tr:nth-child(even){background:#f8fbfe}.directory-table tbody tr:hover{background:#edf6fc}.directory-table tbody th{color:#173a5d;font-weight:700}.directory-table a{color:#014389;font-weight:600;text-decoration-thickness:1px;text-underline-offset:3px}.directory-table a:hover,.directory-table a:focus-visible{color:#2f639c}.faculty-photo{width:80px}.faculty-photo img,.faculty-photo__placeholder{display:grid;width:48px;height:48px;border-radius:50%;object-fit:cover;place-items:center;background:#dcebf6;color:#014389;font-weight:700}.directory-external-link{display:inline-flex;gap:.35rem;align-items:center}.directory-table--rooms tbody th strong,.directory-table--rooms tbody th span{display:block}.directory-table--rooms tbody th strong{font-size:1.05rem}.directory-table--rooms tbody th span{margin-top:.2rem;font-weight:500}.room-cell{color:#014389;font-weight:700}.directory-pagination{margin-top:2rem}.directory-pagination .page-numbers{display:flex;gap:.4rem;padding:0;list-style:none}.directory-pagination a,.directory-pagination span{display:grid;min-width:38px;min-height:38px;padding:0 .55rem;place-items:center;border:1px solid #d7e4ef;background:#fff;color:#014389;font-weight:700;text-decoration:none}.directory-pagination .current{background:#014389;border-color:#014389;color:#fff}.directory-notice{display:flex;gap:.7rem;align-items:flex-start;padding:.8rem 1rem;margin-bottom:1.2rem;background:#fff7e8;border-left:4px solid #c88a21;color:#5b430f}.directory-notice span{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border-radius:50%;background:#c88a21;color:#fff;font-weight:700}.directory-notice p{margin:0;line-height:1.55}.directory-empty{padding:3rem 1.5rem;text-align:center;background:#f5faff;border:1px dashed #9cb9d4}.directory-empty h2{margin:0;color:#014389}.directory-empty p{color:#31516e}@media(max-width:760px){.directory-hero{padding:3.3rem 0 2.4rem}.directory-filter,.directory-filter--rooms{grid-template-columns:1fr}.directory-filter .button{width:100%}.directory-table{min-width:0}.directory-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.directory-table,.directory-table tbody,.directory-table tr,.directory-table td,.directory-table th{display:block}.directory-table tr{padding:.8rem 1rem;border-bottom:1px solid #cbddec}.directory-table tr:last-child{border-bottom:0}.directory-table td,.directory-table tbody th{display:grid;grid-template-columns:minmax(105px,.85fr) minmax(0,1.5fr);gap:.7rem;padding:.55rem 0;border:0;text-align:left}.directory-table td:before,.directory-table tbody th:before{content:attr(data-label);color:#5b748e;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.directory-table--faculty .faculty-photo{display:flex;gap:.7rem;align-items:center}.directory-table--faculty .faculty-photo:before{width:105px}.directory-table--rooms tbody th strong,.directory-table--rooms tbody th span{grid-column:2}.directory-table--rooms tbody th:before{grid-row:1 / span 2}.directory-pagination .page-numbers{flex-wrap:wrap}.directory-pagination .page-numbers .dots{display:none}}
