/* Scoped overrides keep the existing exam, login, and print handlers intact. */
:root {
    --exam-ink: #172d49;
    --exam-muted: #526279;
    --exam-accent: #1d4ed8;
    --exam-line: #d5dde7;
}

#sidebar,
.theme-future #sidebar {
    background: #10243d !important;
    box-shadow: none !important;
    height: 100dvh !important;
}

#sidebar nav { padding: 16px 12px !important; }
#sidebar .nav-section { margin-top: 16px; }
#sidebar .nav-section-title {
    margin: 0 14px 7px;
    color: #a9bad0;
    font-size: 12px;
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}
#sidebar .nav-item {
    min-height: 44px;
    padding: 10px 14px !important;
    color: #d8e3ef !important;
    border-left: 3px solid transparent !important;
    border-radius: 6px !important;
}
#sidebar .nav-item i { color: inherit !important; transform: none !important; }
#sidebar .nav-item:hover {
    transform: none !important;
    background: #213a56 !important;
    border-left: 3px solid transparent !important;
}
#sidebar .nav-item.active {
    background: #284664 !important;
    border-left: 3px solid #e3bb65 !important;
    padding-left: 14px !important;
    box-shadow: none !important;
}
#sidebar .nav-item.hidden,
#sidebar .nav-section[hidden] { display: none !important; }
#sidebar #logoSidebar { filter: none !important; }

#appPage header { min-width: 0; }
#appPage header button { min-width: 44px; min-height: 44px; }
#headerBadge {
    background: transparent !important;
    color: var(--exam-ink) !important;
    padding: 0 !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 14px !important;
    white-space: normal !important;
    line-height: 1.4;
}
#appPage button:focus-visible,
#appPage a:focus-visible,
#appPage input:focus-visible,
#appPage select:focus-visible,
#appPage textarea:focus-visible {
    outline: 3px solid var(--exam-accent) !important;
    outline-offset: 3px !important;
}
#sidebar button:focus-visible { outline-color: #e3bb65 !important; }

.exam-intro {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    padding: 22px;
    border: 1px solid var(--exam-line);
    border-top: 3px solid var(--exam-ink);
    border-radius: 10px;
    background: #fff;
    color: var(--exam-ink);
}
.exam-intro h2 {
    margin: 5px 0 10px;
    font-family: 'Sora', sans-serif;
    font-size: clamp(23px, 2.5vw, 30px);
    font-weight: 600;
    line-height: 1.3;
}
.exam-intro p { font-size: 14px; line-height: 1.6; }
.exam-intro .exam-eyebrow { font-size: 12px; color: var(--exam-muted); }
.exam-intro-help { margin-top: 8px; color: var(--exam-muted); }
.exam-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 18px;
    border-radius: 7px;
    background: var(--exam-accent);
    color: white;
    font-size: 14px;
    font-weight: 600;
}
.exam-button:hover { background: #1e40af; }

.exam-workspace-toolbar {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
    padding: 8px 0;
}
.exam-workspace-toolbar p {
    color: var(--exam-muted);
    font-size: 13px;
    line-height: 1.65;
    max-width: 58ch;
}
.exam-view-options {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    padding: 4px;
    border: 1px solid var(--exam-line);
    border-radius: 9px;
    background: white;
}
.exam-view-options button {
    min-height: 44px;
    padding: 9px 12px;
    color: var(--exam-ink);
    font-size: 13px;
    border-radius: 6px;
    font-weight: 600;
}
.exam-view-options button[aria-pressed="true"] { background: var(--exam-ink); color: white; }
#page-input-nilai[data-exam-view="question"] .score-panel,
#page-input-nilai[data-exam-view="score"] .preview-panel { display: none !important; }
#page-input-nilai[data-exam-view="question"] .preview-panel,
#page-input-nilai[data-exam-view="score"] .score-panel { grid-column: 1 / -1 !important; }
#page-input-nilai .input-layout > * { min-width: 0; }
#page-input-nilai .preview-panel,
#page-input-nilai .score-panel { min-height: 0 !important; }
#page-input-nilai .preview-panel > div:first-child { flex-wrap: wrap; }
#page-input-nilai .preview-panel > div:first-child > div { flex-wrap: wrap; }
#page-input-nilai button,
#page-input-nilai select,
#page-input-nilai input[type="number"] { min-height: 44px; }
#page-input-nilai textarea { font-size: 14px; }
#page-input-nilai #containerDriveSoal { min-height: 380px !important; height: 65dvh !important; }
#page-input-nilai #containerNativeSoal { min-height: 300px; }
.exam-save-status { color: var(--exam-muted); font-size: 13px; line-height: 1.6; }
.exam-save-status[data-state="error"] { color: #b42318; }
.exam-save-status[data-state="success"] { color: #166534; }
#examSaveButton:disabled { opacity: 0.65; cursor: wait; }
#dashboard-penguji input[placeholder*="Cari"] { padding-left: 36px !important; min-height: 44px; }
#dashboard-penguji .exot-header-border > div:last-child { flex-wrap: wrap; min-width: 0; }

@media (min-width: 768px) {
    .exam-intro { flex-direction: row; justify-content: space-between; align-items: center; padding: 28px; }
}
@media (min-width: 1024px) {
    #menuToggle { display: none !important; }
    .exam-workspace-toolbar { flex-direction: row; justify-content: space-between; align-items: center; }
    .exam-view-options { flex-shrink: 0; }
}
@media (max-width: 639px) {
    #appPage header { padding: 0 12px !important; gap: 8px; }
    #appPage header button[title="Info"] { display: none; }
    #page-input-nilai > div:first-child { align-items: stretch; }
    #page-input-nilai > div:first-child > div { flex-wrap: wrap; }
    #page-input-nilai #containerNativeSoal { padding: 12px; }
    .exam-view-options { width: 100%; }
    .exam-view-options button { flex: 1; padding-inline: 6px; }
}
@media (prefers-reduced-motion: reduce) {
    #appPage *, #appPage *::before, #appPage *::after { animation: none !important; transition: none !important; }
}
