@font-face {
    font-family: "Vazirmatn";
    src: url("../fonts/Vazirmatn.woff2") format("woff2");
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

html { font-size: 16px; }
body, button, input, select, textarea { font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important; }
body { line-height: 1.7; }
button, a { -webkit-tap-highlight-color: transparent; }

.numeric-code {
    direction: ltr;
    unicode-bidi: isolate;
    display: inline-block;
    white-space: nowrap;
    letter-spacing: .075em;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
    font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
}

.classroom-label {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.75;
}

select { width: 100%; max-width: 100%; direction: rtl; text-overflow: ellipsis; }
.select-local-search {
    width: 100%; margin-bottom: .5rem; border: 1px solid #e2e8f0; border-radius: .75rem;
    background: #f8fafc; padding: .65rem .9rem; outline: none;
}
.select-local-search:focus { border-color: #3b82f6; box-shadow: 0 0 0 4px #dbeafe; }
.reference-checkbox-grid {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem;
    margin: 0; padding: 0; list-style: none;
}
.reference-checkbox-grid > div,
.reference-checkbox-grid li {
    min-width: 0; border: 1px solid #e2e8f0; border-radius: .85rem; background: #f8fafc; padding: .75rem;
}
.reference-checkbox-grid label { display: flex; align-items: center; gap: .6rem; cursor: pointer; }
.reference-checkbox-grid input { width: 1.1rem; height: 1.1rem; accent-color: #2563eb; }
@media (min-width: 768px) { .reference-checkbox-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1023px) {
    #school-sidebar.is-open { transform: translateX(0); }
    #school-overlay.is-open { display: block; }
}
