:root {
    --apple-blue: #0071e3;
    --apple-ink: #1d1d1f;
    --apple-secondary: #6e6e73;
    --apple-canvas: #f5f5f7;
    --apple-surface: rgba(255, 255, 255, .84);
    --apple-border: rgba(0, 0, 0, .08);
    --apple-radius: 22px;
    --shadow-light: 0 2px 12px rgba(0, 0, 0, .045);
    --shadow-hover: 0 18px 48px rgba(0, 0, 0, .10);
    --bs-primary: var(--apple-blue);
    --bs-primary-rgb: 0, 113, 227;
    --bs-body-bg: var(--apple-canvas);
}

html { background: var(--apple-canvas); scroll-behavior: smooth; }

body {
    color: var(--apple-ink);
    background:
        radial-gradient(circle at 15% -10%, rgba(0, 113, 227, .09), transparent 30rem),
        radial-gradient(circle at 90% 20%, rgba(175, 82, 222, .06), transparent 26rem),
        var(--apple-canvas);
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
    font-size: .95rem;
    letter-spacing: -.01em;
}

.navbar.navbar-dark.bg-primary {
    color: var(--apple-ink);
    background: rgba(250, 250, 252, .79) !important;
    border-bottom: 1px solid rgba(0, 0, 0, .07);
    box-shadow: none !important;
    -webkit-backdrop-filter: saturate(180%) blur(24px);
    backdrop-filter: saturate(180%) blur(24px);
    padding: .7rem clamp(.2rem, 2vw, 1.5rem);
}

.navbar-dark .navbar-brand,
.navbar-dark .navbar-nav .nav-link { color: var(--apple-ink); }
.navbar-brand { font-size: 1.05rem; font-weight: 650 !important; letter-spacing: -.025em; }
.navbar-brand i { color: var(--apple-blue); }
.navbar-dark .navbar-toggler { border: 0; border-radius: 12px; background: rgba(0, 0, 0, .055); }
.navbar-dark .navbar-toggler-icon { filter: invert(1); opacity: .7; }
.navbar .badge.bg-light {
    color: var(--apple-blue) !important;
    background: rgba(0, 113, 227, .1) !important;
    border-radius: 999px;
    font-weight: 600;
    padding: .35rem .65rem;
}

.workspace-tools {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: .75rem;
    margin: 1.15rem 0 1.25rem;
}
.navigation-panel-row { position: relative; z-index: 100; }
.navigation-panel-row > .col-12,
.navigation-panel-row .card,
.navigation-panel-row .card-body,
.workspace-tools { overflow: visible; }
.workspace-tools { position: relative; z-index: 120; }
.workspace-tool { position: relative; }
.workspace-tool.show { z-index: 5000; }
.workspace-tool .dropdown-menu {
    z-index: 5100;
    max-height: min(60vh, 28rem);
    overflow-y: auto;
}
.workspace-identity-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .25rem .15rem 1.1rem;
    border-bottom: 1px solid var(--apple-border);
}
.workspace-brand,
.workspace-account { display: flex; align-items: center; min-width: 0; }
.workspace-brand { gap: .8rem; }
.workspace-brand-mark {
    position: relative;
    display: grid;
    place-items: center;
    width: 3.25rem;
    height: 3.25rem;
    flex: 0 0 auto;
    overflow: hidden;
    color: white;
    background: transparent;
    border-radius: 18px;
    box-shadow: none;
    font-size: 1.3rem;
}
.workspace-brand-mark img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 6px 10px rgba(38,103,111,.16))}
.auxteacher-navbar-logo{width:1.7rem;height:2.2rem;margin-right:.55rem;object-fit:contain;vertical-align:middle;background:transparent;filter:drop-shadow(0 4px 7px rgba(0,0,0,.18))}
.auxteacher-login-logo{display:block;width:auto;height:6rem;margin:0 auto;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(38,103,111,.15))}
.workspace-brand-copy,
.workspace-user-copy { display: flex; flex-direction: column; min-width: 0; line-height: 1.15; }
.workspace-brand-copy strong { font-size: 1.18rem; letter-spacing: -.035em; }
.workspace-brand-copy small,
.workspace-user-copy small { margin-top: .25rem; color: var(--apple-secondary); font-size: .72rem; }
.workspace-account { gap: .65rem; }
.workspace-user-avatar {
    display: grid;
    place-items: center;
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 auto;
    color: var(--apple-blue);
    background: rgba(0, 113, 227, .1);
    border-radius: 50%;
    font-size: 1rem;
}
.workspace-user-copy { max-width: 15rem; }
.workspace-user-copy strong { overflow: hidden; font-size: .88rem; text-overflow: ellipsis; white-space: nowrap; }
.workspace-user-copy small { text-transform: capitalize; }
.workspace-logout {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-left: .3rem;
    padding: .62rem .8rem;
    color: #c9342f;
    background: rgba(255, 59, 48, .07);
    border: 1px solid rgba(255, 59, 48, .12);
    border-radius: 12px;
    font-size: .82rem;
    font-weight: 650;
    text-decoration: none;
    transition: background-color 160ms ease, transform 160ms ease;
}
.workspace-logout:hover,
.workspace-logout:focus { color: #b52a25; background: rgba(255, 59, 48, .12); transform: translateY(-1px); }
.workspace-tool { --section-color: var(--apple-blue); min-width: 0; }
.workspace-tool-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
    width: 100%;
    min-height: 3.25rem;
    padding: .65rem .85rem;
    color: var(--apple-ink);
    background: color-mix(in srgb, var(--section-color) 9%, white);
    border: 1px solid color-mix(in srgb, var(--section-color) 22%, transparent);
    border-radius: 15px;
    font-weight: 650;
    white-space: nowrap;
}
.workspace-tool-button > i { color: var(--section-color); font-size: 1.15rem; }
.workspace-tool-button > span { margin-right: auto; overflow: hidden; text-overflow: ellipsis; }
.workspace-tool-button:hover,
.workspace-tool-button:focus,
.workspace-tool-button[aria-expanded="true"] {
    color: var(--apple-ink);
    background: color-mix(in srgb, var(--section-color) 15%, white);
    border-color: color-mix(in srgb, var(--section-color) 40%, transparent);
}
.manage-tool { --section-color: #c08b00; }
.classes-tool { --section-color: #e97700; }
.students-tool { --section-color: #d95f02; }
.teachers-tool { --section-color: #d9362b; }
.subjects-tool { --section-color: #0071e3; }
.rooms-tool { --section-color: #248a3d; }
.schedule-tool { --section-color: #0071e3; }
.student-area-tool { --section-color: #e46b12; }
.services-tool { --section-color: #af52de; }
.legal-tool { --section-color: #5e5ce6; }
.country-tool { --section-color: #248a3d; }
.grade-count-badge {
    min-width: 1.55rem;
    padding: .18rem .4rem;
    color: var(--section-color);
    background: rgba(255, 255, 255, .72);
    border-radius: 999px;
    font-size: .7rem;
    text-align: center;
}
.country-menu { width: min(22rem, calc(100vw - 2rem)); }
.country-system-summary { display: flex; justify-content: space-between; gap: .75rem; margin-top: .8rem; color: var(--apple-secondary); font-size: .75rem; }
.country-system-summary strong { color: var(--apple-ink); }
.filter-section-label {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 0 0 .8rem;
    padding-top: 1rem;
    color: var(--apple-secondary);
    border-top: 1px solid var(--apple-border);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.gradebook-panel {
    position: relative;
    z-index: 1;
    margin-bottom: 2rem;
    padding: clamp(1rem, 2vw, 1.5rem);
    overflow: hidden;
    background: rgba(255, 255, 255, .86);
    border: 1px solid var(--apple-border);
    border-radius: var(--apple-radius);
    box-shadow: var(--shadow-light);
    backdrop-filter: blur(24px);
}
.gradebook-table { overflow: hidden; border: 1px solid var(--apple-border); border-radius: 17px; }
.gradebook-table-head,
.gradebook-row { display: grid; grid-template-columns: clamp(12rem, 20vw, 18rem) minmax(0, 1fr); align-items: center; gap: clamp(.7rem, 2vw, 1.4rem); }
.gradebook-table-head { padding: .7rem 1rem; color: var(--apple-secondary); background: #f7f7f9; font-size: .7rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.gradebook-row { min-height: 4.35rem; padding: .75rem 1rem; border-top: 1px solid var(--apple-border); transition: background-color 150ms ease, opacity 150ms ease; }
.gradebook-row:hover { background: rgba(0, 113, 227, .025); }
.gradebook-row.is-saving { opacity: .6; }
.gradebook-student { display: flex; align-items: center; gap: .65rem; min-width: 0; font-weight: 650; }
.gradebook-student > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gradebook-avatar { display: grid; place-items: center; width: 2rem; height: 2rem; flex: 0 0 auto; color: var(--apple-blue); background: rgba(0, 113, 227, .09); border-radius: 50%; }
.grade-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(2.25rem, 1fr)); gap: clamp(.25rem, .5vw, .45rem); width: 100%; }
.behavior-mode .grade-options { grid-template-columns: repeat(auto-fit, minmax(6.4rem, 1fr)); }
.grade-choice { min-width: 0; height: 2.25rem; padding: 0 .45rem; overflow: hidden; color: var(--apple-ink); background: #f3f3f6; border: 1px solid transparent; border-radius: 9px; font-size: clamp(.7rem, .8vw, .8rem); font-weight: 650; text-overflow: ellipsis; white-space: nowrap; transition: all 140ms ease; }
.grade-choice:hover { color: var(--apple-blue); background: rgba(0, 113, 227, .09); transform: translateY(-1px); }
.grade-choice.is-selected { color: white; background: var(--apple-blue); border-color: var(--apple-blue); box-shadow: 0 5px 14px rgba(0, 113, 227, .22); }
.gradebook-empty { display: flex; align-items: center; justify-content: center; gap: .6rem; min-height: 7rem; color: var(--apple-secondary); }
.legacy-rating-grid { display: none !important; }
.header-data-menu { min-width: 15rem; }
.documents-tool .header-data-menu { max-height: min(70vh, 32rem); overflow-y: auto; overscroll-behavior: contain; }
.document-menu-row { display: flex; align-items: center; justify-content: flex-start; gap: 0; min-width: 0; padding-right: .45rem; }
.document-menu-row .document-download-item { min-width: 0; width: auto; max-width: calc(100% - 1.45rem); flex: 0 1 auto; padding-right: .22rem; }
.document-menu-delete { display: grid; place-items: center; width: 1.25rem; height: 1.25rem; flex: 0 0 1.25rem; margin: 0; padding: 0; color: #ff3b30; background: rgba(255,59,48,.1); border: 0; border-radius: 50%; box-shadow: inset 0 0 0 .5px rgba(255,59,48,.18); transition: transform 140ms ease, color 140ms ease, background 140ms ease, box-shadow 140ms ease; }
.document-menu-delete i { display: none; }
.document-menu-delete::before { width: .7rem; height: .7rem; content: ""; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3.75h6l.75 1.5H19v1.5H5v-1.5h3.25L9 3.75Zm-2.5 4.5h11l-.62 11a1.5 1.5 0 0 1-1.5 1.42H8.62a1.5 1.5 0 0 1-1.5-1.42l-.62-11Zm3.25 2v7.75h1.5v-7.75h-1.5Zm3 0v7.75h1.5v-7.75h-1.5Z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3.75h6l.75 1.5H19v1.5H5v-1.5h3.25L9 3.75Zm-2.5 4.5h11l-.62 11a1.5 1.5 0 0 1-1.5 1.42H8.62a1.5 1.5 0 0 1-1.5-1.42l-.62-11Zm3.25 2v7.75h1.5v-7.75h-1.5Zm3 0v7.75h1.5v-7.75h-1.5Z'/%3E%3C/svg%3E") center/contain no-repeat; }
.document-menu-delete:hover { color: #fff; background: #ff3b30; box-shadow: 0 3px 9px rgba(255,59,48,.25); transform: scale(1.08); }
.document-menu-delete:active { transform: scale(.92); }
.document-menu-delete:focus-visible { outline: 2px solid rgba(0,113,227,.55); outline-offset: 2px; }
.document-download-item { display: flex; align-items: center; min-width: 0; }
.document-download-item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.header-scroll-menu { max-height: min(65vh, 34rem); overflow-y: auto; overscroll-behavior: contain; }
.header-data-menu .dropdown-header {
    color: var(--apple-secondary);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.header-data-menu .dropdown-item {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dropdown-menu {
    min-width: 17rem;
    padding: .65rem;
    border: 1px solid var(--apple-border);
    border-radius: 18px;
    background: rgba(255, 255, 255, .93);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .16);
    -webkit-backdrop-filter: blur(28px);
    backdrop-filter: blur(28px);
}
.dropdown-item { border-radius: 11px; padding: .62rem .75rem; font-size: .9rem; }
.dropdown-item:hover, .dropdown-item:focus { color: var(--apple-ink); background: rgba(0, 113, 227, .09); }

#main-content {
    width: min(100%, 1540px);
    padding: clamp(1.5rem, 3vw, 3rem) clamp(1rem, 3vw, 3rem) !important;
}

.card, .drop-zone {
    border: 1px solid var(--apple-border);
    border-radius: var(--apple-radius);
    background: var(--apple-surface);
    box-shadow: var(--shadow-light) !important;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
}
.drop-zone:hover { transform: translateY(-3px); box-shadow: var(--shadow-hover) !important; }

#controlForm .row { align-items: end; }
#controlForm .form-label {
    margin: 0 0 .5rem .15rem;
    color: var(--apple-secondary);
    font-size: .77rem;
    font-weight: 650;
    letter-spacing: .035em;
    text-transform: uppercase;
}
#controlForm .form-label i { color: var(--apple-blue); }

.form-control, .form-select {
    min-height: 3rem;
    color: var(--apple-ink);
    border: 1px solid rgba(0, 0, 0, .11);
    border-radius: 14px;
    background-color: rgba(248, 248, 250, .94);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .025);
    font-size: .95rem;
    transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}
.form-control:focus, .form-select:focus {
    border-color: var(--apple-blue);
    background-color: #fff;
    box-shadow: 0 0 0 4px rgba(0, 113, 227, .13);
}

.btn { border-radius: 999px; font-weight: 600; letter-spacing: -.01em; }
.btn-primary {
    border-color: var(--apple-blue);
    background: var(--apple-blue);
    box-shadow: 0 8px 20px rgba(0, 113, 227, .18);
}
.btn-primary:hover, .btn-primary:focus {
    border-color: #0077ed;
    background: #0077ed;
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(0, 113, 227, .24);
}

.emoji-header {
    min-height: 4.2rem;
    border: 0;
    border-bottom: 1px solid var(--apple-border);
    border-radius: var(--apple-radius) var(--apple-radius) 0 0;
    background: rgba(250, 250, 252, .72);
}
.drop-zone-body { min-height: 132px; padding: 1.1rem; }
#note_1 { background: linear-gradient(145deg, rgba(48, 209, 88, .08), rgba(255,255,255,.84) 48%); }
#note_2 { background: linear-gradient(145deg, rgba(100, 210, 255, .09), rgba(255,255,255,.84) 48%); }
#note_3 { background: linear-gradient(145deg, rgba(255, 214, 10, .09), rgba(255,255,255,.84) 48%); }
#note_4 { background: linear-gradient(145deg, rgba(255, 159, 10, .09), rgba(255,255,255,.84) 48%); }
#note_5 { background: linear-gradient(145deg, rgba(255, 69, 58, .075), rgba(255,255,255,.84) 48%); }
#note_6 { background: linear-gradient(145deg, rgba(175, 82, 222, .075), rgba(255,255,255,.84) 48%); }

.avatar-pool {
    min-height: 145px;
    border: 1px solid rgba(0, 113, 227, .1);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(0, 113, 227, .055), rgba(255, 255, 255, .9));
}
.avatar-image { border: 3px solid rgba(255,255,255,.96); box-shadow: 0 4px 16px rgba(0,0,0,.1); }
.avatar-name { color: var(--apple-ink); font-weight: 590; }
.avatar-badge { border: 2px solid #fff; box-shadow: 0 3px 10px rgba(0,0,0,.12); }

.modal-content {
    overflow: hidden;
    border: 1px solid var(--apple-border);
    border-radius: 24px;
    background: rgba(255,255,255,.95);
    box-shadow: 0 30px 100px rgba(0,0,0,.22);
    -webkit-backdrop-filter: blur(30px);
    backdrop-filter: blur(30px);
}
.modal {
    --bs-modal-zindex: 1060;
    --bs-backdrop-opacity: .28;
}
.modal-backdrop.show {
    opacity: .28;
    background: #1d1d1f;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}
.modal-dialog { padding: .75rem; }
.modal-dialog.modal-lg { --bs-modal-width: min(1100px, calc(100vw - 2rem)); }
.modal-dialog.modal-xl { --bs-modal-width: min(1480px, calc(100vw - 2rem)); }
.modal-content { max-height: calc(100vh - 2rem); }
.modal-header {
    min-height: 4.25rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--apple-border);
}
.modal-header.bg-primary,
.modal-header.bg-danger {
    color: var(--apple-ink) !important;
    background: rgba(250, 250, 252, .92) !important;
}
.modal-header.bg-danger .modal-title i { color: #d70015; }
.modal-title { font-size: 1rem; font-weight: 700; letter-spacing: -.02em; }
.modal-title i { color: var(--apple-blue); }
.modal-header .btn-close {
    width: 1.9rem;
    height: 1.9rem;
    margin: 0;
    padding: 0;
    background-color: rgba(0, 0, 0, .065);
    background-size: .65rem;
    border-radius: 50%;
    opacity: .72;
}
.modal-header .btn-close-white { filter: none; }
.modal-header .btn-close:hover { opacity: 1; transform: scale(1.04); }
.modal-body { color: var(--apple-ink); background: rgba(255, 255, 255, .92); }
.modal-footer { padding: .85rem 1.2rem; border-top: 1px solid var(--apple-border); background: rgba(250, 250, 252, .9); }
.modal-footer .btn { border-radius: 11px; font-weight: 650; }
.aux-modal iframe { display: block; width: 100%; min-height: min(72vh, 850px); border: 0; background: var(--apple-canvas); }
.modal .modal-dialog {
    width: min(1720px, calc(100vw - 1.25rem));
    max-width: none;
    height: calc(100vh - 1.25rem);
    margin: .625rem auto;
    padding: 0;
}
.modal .modal-content {
    width: 100%;
    height: 100%;
    max-height: none;
}
.modal .modal-body { flex: 1 1 auto; min-height: 0; overflow: auto; }
.aux-modal iframe { height: 100% !important; min-height: 0; }
.modal-header.bg-primary {
    color: var(--apple-ink) !important;
    border-bottom: 1px solid var(--apple-border);
    background: rgba(250,250,252,.9) !important;
}

#loginForm::before {
    content: "AuxTeacher";
    display: block;
    margin-bottom: 1rem;
    color: var(--apple-blue);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-align: center;
    text-transform: uppercase;
}

@media (max-width: 767.98px) {
    #main-content { padding: 1.25rem .8rem 2rem !important; }
    .card, .drop-zone { border-radius: 18px; }
    .workspace-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .workspace-identity-bar { align-items: flex-start; flex-direction: column; }
    .workspace-account { width: 100%; }
    .workspace-user-copy { flex: 1; }
    .gradebook-table-head { display: none; }
    .gradebook-row { grid-template-columns: 1fr; gap: .7rem; }
    .behavior-mode .grade-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .modal-dialog { width: auto; max-width: none; margin: .35rem; padding: 0; }
    .modal-content { max-height: calc(100vh - .7rem); border-radius: 18px; }
    .modal-header { min-height: 3.75rem; padding: .8rem 1rem; }
    .modal .modal-dialog { width: calc(100vw - .5rem); height: calc(100vh - .5rem); margin: .25rem; }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .workspace-tools { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .header-data-menu { max-width: calc(100vw - 2rem); }
}

@media (max-width: 479.98px) {
    .workspace-tools { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Rollenbasierte Navigation und schreibgeschützte Ansichten */
body:not([data-role="superadmin"]) .country-tool { display: none !important; }
body[data-role="schueler"] .statistics-tool,
body[data-role="schueler"] .services-tool,
body[data-role="schueler"] .legal-tool,
body[data-role="eltern"] .statistics-tool { display: none !important; }
body[data-role="schueler"] #Dokumentablage,
body[data-role="eltern"] #Dokumentablage { display: none !important; }
body[data-role="schueler"] .filter-section-label,
body[data-role="schueler"] #controlForm,
body[data-role="schueler"] .gradebook-panel,
body[data-role="eltern"] .filter-section-label,
body[data-role="eltern"] #controlForm,
body[data-role="eltern"] .gradebook-panel { display: none !important; }
body[data-can-edit-statistics="0"] .grade-choice,
body[data-can-edit-statistics="0"] [data-attendance-action] { pointer-events: none !important; cursor: default !important; opacity: .72; }
body[data-can-edit-statistics="0"] .student-profile-modal input,
body[data-can-edit-statistics="0"] .student-profile-modal select,
body[data-can-edit-statistics="0"] .student-profile-modal textarea,
body[data-can-edit-statistics="0"] .student-profile-modal .student-save-button { pointer-events: none !important; }
.student-profile-trigger{width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.student-profile-trigger:hover>span:nth-child(2){color:#0071e3}.student-profile-chevron{margin-left:auto;color:#8e8e93;font-size:.75rem}.student-profile-modal .modal-header{align-items:flex-start}.student-profile-modal .modal-header p{margin:.25rem 0 0;color:#6e6e73;font-size:.82rem}.student-profile-kicker{display:block;margin-bottom:.2rem;color:#0071e3;font-size:.7rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.student-profile-modal .modal-body{display:grid;gap:16px;padding:20px;background:#f5f5f7}.student-profile-section{padding:20px;background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:20px}.student-section-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px}.student-section-heading>i{display:grid;place-items:center;width:38px;height:38px;color:#0071e3;background:#eef6ff;border-radius:12px}.student-section-heading h6,.student-section-heading p{margin:0}.student-section-heading h6{font-weight:750}.student-section-heading p{color:#6e6e73;font-size:.78rem}.student-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.student-field>span{display:block;margin:0 0 6px;color:#515154;font-size:.76rem;font-weight:700}.student-field .form-control,.student-field .form-select{min-height:44px;border-color:rgba(0,0,0,.11);border-radius:12px;background:#fbfbfd}.student-field .form-control:focus,.student-field .form-select:focus{border-color:#0071e3;box-shadow:0 0 0 3px rgba(0,113,227,.13)}.student-performance-table{width:100%;border-collapse:collapse;font-size:.83rem}.student-performance-table th{padding:10px;color:#6e6e73;background:#f5f5f7;font-size:.7rem;text-align:left;text-transform:uppercase}.student-performance-table td{padding:11px 10px;border-bottom:1px solid rgba(0,0,0,.07)}.student-performance-table th:first-child{border-radius:10px 0 0 10px}.student-performance-table th:last-child{border-radius:0 10px 10px 0}.student-empty{text-align:center;color:#8e8e93}.student-save-status{margin-right:auto;color:#238636;font-size:.82rem;font-weight:650}@media(max-width:900px){.student-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.student-profile-grid{grid-template-columns:1fr}.student-profile-section{padding:15px}.student-profile-modal .modal-body{padding:10px}.student-profile-modal .modal-footer{align-items:stretch}.student-profile-modal .modal-footer .btn{width:100%}}
.student-bar-chart{display:grid;gap:13px}.student-chart-row{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(180px,3fr) 48px;gap:14px;align-items:center}.student-chart-label strong,.student-chart-label span{display:block}.student-chart-label strong{font-size:.86rem}.student-chart-label span{color:#8e8e93;font-size:.7rem}.student-chart-track,.student-career-meter{height:11px;overflow:hidden;background:#e8e8ed;border-radius:999px}.student-chart-track span,.student-career-meter span{display:block;height:100%;background:linear-gradient(90deg,#0071e3,#5ac8fa);border-radius:inherit;box-shadow:0 0 14px rgba(0,113,227,.22)}.student-chart-row>b{font-size:.82rem;text-align:right}.student-career-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student-career-card{padding:16px;background:linear-gradient(145deg,#f9f9fb,#f1f5fb);border:1px solid rgba(0,0,0,.06);border-radius:17px}.student-career-top{display:grid;grid-template-columns:28px 1fr auto;gap:9px;align-items:center}.student-career-rank{display:grid;place-items:center;width:28px;height:28px;color:#fff;background:#0071e3;border-radius:9px;font-size:.74rem;font-weight:800}.student-career-top strong{font-size:.88rem}.student-career-top b{color:#0071e3;font-size:.8rem}.student-career-meter{height:7px;margin:12px 0}.student-career-card p{margin:0;color:#3a3a3c;font-size:.76rem}.student-career-card small{display:block;margin-top:7px;color:#8e8e93;font-size:.68rem}.student-career-note,.student-chart-empty{margin:14px 0 0;color:#6e6e73;font-size:.72rem}.student-chart-empty{padding:22px;text-align:center;background:#f5f5f7;border-radius:14px}@media(max-width:700px){.student-career-grid{grid-template-columns:1fr}.student-chart-row{grid-template-columns:1fr 42px}.student-chart-label{grid-column:1/-1}.student-chart-track{grid-column:1}}
.consultation-sheet{background:linear-gradient(150deg,#fff,#fafbff)}.consult-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.consult-card{padding:17px;background:#f5f5f7;border:1px solid rgba(0,0,0,.06);border-radius:17px}.consult-card h7{display:flex;align-items:center;gap:9px;margin-bottom:14px;font-size:.88rem;font-weight:760}.consult-card h7 b{display:grid;place-items:center;width:27px;height:27px;color:#fff;background:#ff9f0a;border-radius:9px;font-size:.75rem}.consult-card h8{display:block;margin:14px 0 8px;color:#515154;font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.consult-wide{margin-top:12px}.consult-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.consult-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.consult-check-grid label{display:flex;align-items:center;gap:7px;min-height:34px;padding:6px 8px;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:10px;color:#515154;font-size:.72rem;cursor:pointer}.consult-check-grid input{width:16px;height:16px;accent-color:#0071e3}.consult-date-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.consult-date-grid .student-field>span{font-size:.65rem}.consult-date-grid .form-control{min-height:36px;padding:5px;font-size:.7rem}.consult-grade-table{width:100%;border-collapse:separate;border-spacing:0 7px}.consult-grade-table th{padding:7px 10px;color:#6e6e73;font-size:.68rem;text-align:left;text-transform:uppercase}.consult-grade-table td{padding:7px 10px;background:#fff;font-size:.76rem}.consult-grade-table td:first-child{border-radius:10px 0 0 10px}.consult-grade-table td:last-child{border-radius:0 10px 10px 0}.consult-grade-table .form-control{min-width:80px;min-height:36px;padding:6px 8px;border-radius:9px}@media(max-width:950px){.consult-three{grid-template-columns:1fr}.consult-date-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:700px){.consult-columns{grid-template-columns:1fr}.consult-check-grid{grid-template-columns:1fr}.consult-date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
