/* Unileasys Teacher Hub form and terms presentation. Keep controls responsive and avoid hover-only information. */
.local-teacherhub-form .fitem,
.local-teacherhub-form .form-group { margin-bottom: 1.25rem; }
.local-teacherhub-form .form-control,
.local-teacherhub-form textarea { max-width: 100%; }
.local-teacherhub-terms-wrap { position: relative; max-width: 980px; margin: 2rem auto; padding: 1rem; }
.local-teacherhub-terms-backdrop { position: fixed; inset: 0; z-index: 1040; background: rgba(20, 25, 35, .72); display: flex; align-items: center; justify-content: center; padding: 1rem; }
.local-teacherhub-terms-modal { position: relative; width: min(900px, 100%); max-height: 90vh; overflow: auto; background: var(--bs-body-bg, #fff); color: var(--bs-body-color, #212529); border-radius: .75rem; box-shadow: 0 1rem 3rem rgba(0,0,0,.3); padding: clamp(1rem, 3vw, 2rem); }
.local-teacherhub-terms-modal h3 { margin-top: 0; }
.local-teacherhub-terms-content { max-height: 55vh; overflow-y: auto; padding: 1rem; border: 1px solid var(--bs-border-color, #dee2e6); border-radius: .5rem; }
.local-teacherhub-terms-content h4 { margin-top: 1rem; font-size: 1rem; }
.local-teacherhub-terms-content p { line-height: 1.6; overflow-wrap: anywhere; }
.local-teacherhub-terms-actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: flex-end; align-items: center; margin-top: 1.25rem; }
.local-teacherhub-terms-actions form { margin: 0; }
.local-teacherhub-terms-actions .btn { white-space: normal; }
@media (max-width: 576px) {
 .local-teacherhub-terms-backdrop { padding: .4rem; }
 .local-teacherhub-terms-modal { max-height: 96vh; padding: .9rem; }
 .local-teacherhub-terms-content { max-height: 62vh; padding: .75rem; }
 .local-teacherhub-terms-actions { flex-direction: column-reverse; align-items: stretch; }
 .local-teacherhub-terms-actions .btn { width: 100%; }
}

.local-teacherhub-profile { max-width: 1000px; margin: 1.5rem auto; }
.local-teacherhub-profile-hero { display: flex; flex-direction: column; align-items: center; text-align: center; gap: .65rem; padding: 2rem 1rem; margin-bottom: 1.25rem; border-radius: 1rem; background: linear-gradient(135deg, #f8f9fb, #fff); border: 1px solid #e1e5eb; }
.local-teacherhub-profile-photo { width: 132px; height: 132px; object-fit: cover; border-radius: 50%; border: 4px solid #fff; box-shadow: 0 .25rem 1rem rgba(0,0,0,.12); }
.local-teacherhub-profile-name { margin: .25rem 0 0; overflow-wrap: anywhere; }
.local-teacherhub-profile-intro { color: var(--bs-secondary-color, #5c6670); margin: 0; }
.local-teacherhub-profile-status { display: inline-block; padding: .35rem .8rem; border-radius: 999px; background: #f7e8ef; color: #8f0037; font-weight: 600; overflow-wrap: anywhere; }
.local-teacherhub-profile-card { padding: 1.25rem; margin-bottom: 1rem; border: 1px solid var(--bs-border-color, #dee2e6); border-radius: .75rem; background: var(--bs-body-bg, #fff); min-width: 0; }
.local-teacherhub-profile-list { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(0, 2fr); gap: .65rem 1rem; margin: 0; }
.local-teacherhub-profile-list dt { font-weight: 600; overflow-wrap: anywhere; }
.local-teacherhub-profile-list dd { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.local-teacherhub-document-list { padding-left: 1.25rem; overflow-wrap: anywhere; }
.local-teacherhub-profile-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.25rem 0; }
@media (max-width: 600px) { .local-teacherhub-profile-list { grid-template-columns: 1fr; gap: .2rem; } .local-teacherhub-profile-list dd { margin-bottom: .75rem; } .local-teacherhub-profile-card { padding: 1rem; } }

/* Clearly highlight the post-registration document reminder for public applicants.
   Use a gentle pulse rather than rapid blinking for accessibility. */
.local-teacherhub-form .local-teacherhub-publicdocumentnote {
 display: block;
 margin: .75rem 0 1.25rem;
 padding: 1rem 1.15rem;
 border: 2px solid #ca0049;
 border-left-width: 8px;
 border-radius: .65rem;
 background: #fff0f5;
 color: #72002a;
 font-size: 1.05rem;
 font-weight: 700;
 line-height: 1.55;
 box-shadow: 0 0 0 0 rgba(202, 0, 73, .25);
 animation: teacherhub-note-pulse 2.2s ease-in-out infinite;
}
@keyframes teacherhub-note-pulse {
 0%, 100% { box-shadow: 0 0 0 0 rgba(202, 0, 73, .18); }
 50% { box-shadow: 0 0 0 6px rgba(202, 0, 73, .10); }
}
@media (prefers-reduced-motion: reduce) {
 .local-teacherhub-form .local-teacherhub-publicdocumentnote { animation: none; }
}

.local-teacherhub-profile-document-note { border-left: 4px solid #CA0049; padding: 1rem; background: #fff0f5; border-radius: .35rem; margin: 1rem 0; }

/* Make the teacher document action stand out in My account navigation. */
.local-teacherhub-upload-nav > a, .local-teacherhub-upload-nav > .nav-link {
    background: #fff0f5 !important;
    border: 2px solid #ca0049 !important;
    border-radius: .45rem !important;
    color: #8b0034 !important;
    font-weight: 700 !important;
    margin: .25rem 0 !important;
    padding: .55rem .75rem !important;
}
.local-teacherhub-upload-nav > a:hover, .local-teacherhub-upload-nav > .nav-link:hover {
    background: #ca0049 !important; color: #fff !important;
}


/* Accessible status labels without deprecated Bootstrap badge classes. */
.local-teacherhub-status {
    display: inline-block;
    padding: .25rem .6rem;
    border-radius: 999px;
    font-size: .875rem;
    font-weight: 700;
    line-height: 1.35;
    vertical-align: middle;
}
.local-teacherhub-status-success {
    color: #14532d;
    background: #dcfce7;
    border: 1px solid #86efac;
}
.local-teacherhub-status-warning {
    color: #7c2d12;
    background: #ffedd5;
    border: 1px solid #fdba74;
}
