/* Olympiad Exam Manager — public styles */
.oem-olymp-list { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px,1fr)); gap:20px; }
.oem-olymp-card { background:#fff; border:1px solid #e6e6e9; border-radius:10px; overflow:hidden; transition:transform .2s ease, box-shadow .2s ease; }
.oem-olymp-card:hover { transform:translateY(-4px); box-shadow:0 8px 24px rgba(0,0,0,.08); }
.oem-olymp-banner img { width:100%; display:block; height:160px; object-fit:cover; }
.oem-olymp-body { padding:16px; }
.oem-olymp-body h3 { margin:0 0 8px; color:#1d2327; }
.oem-olymp-meta { color:#6b6f76; font-size:13px; }
.oem-btn { display:inline-block; background:#f0f0f1; border:1px solid #c3c4c7; color:#2c3338; padding:8px 16px; border-radius:6px; text-decoration:none; cursor:pointer; font-size:14px; }
.oem-btn:hover { background:#e6e6e9; }
.oem-btn-primary { background:#2271b1; color:#fff; border-color:#2271b1; }
.oem-btn-primary:hover { background:#135e96; color:#fff; }
.oem-form label { display:block; margin-bottom:12px; }
.oem-form input, .oem-form select, .oem-form textarea { width:100%; padding:8px; border:1px solid #c3c4c7; border-radius:4px; box-sizing:border-box; }
.oem-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width: 640px) { .oem-grid-2 { grid-template-columns:1fr; } }
.oem-notice { padding:12px; background:#fff2cf; border:1px solid #edd66f; border-radius:6px; }
.oem-badge { display:inline-block; padding:2px 10px; border-radius:12px; font-size:11px; text-transform:uppercase; letter-spacing:.04em; }
.oem-badge-paid { background:#d4f5e2; color:#036b34; }
.oem-badge-pending { background:#fff2cf; color:#7a5b00; }

/* Dashboards */
.oem-dash { margin: 20px 0; }
.oem-dash-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(180px,1fr)); gap:12px; margin:16px 0; }
.oem-card { background:#fff; padding:16px; border:1px solid #e6e6e9; border-radius:8px; }
.oem-card h4 { margin:0 0 6px; font-size:12px; color:#6b6f76; text-transform:uppercase; letter-spacing:.04em; }
.oem-card p { margin:0; font-size:20px; font-weight:600; }

/* Table */
.oem-table { width:100%; border-collapse:collapse; }
.oem-table th, .oem-table td { border:1px solid #e6e6e9; padding:8px 12px; text-align:left; }
.oem-table th { background:#f6f7f7; }

/* Admit card */
.oem-admit-card { max-width:820px; margin:20px auto; background:#fff; border:2px solid #1d2327; padding:24px; font-family:Georgia, serif; }
.oem-ac-header { display:flex; justify-content:space-between; align-items:center; border-bottom:2px solid #1d2327; padding-bottom:12px; }
.oem-ac-logo { max-height:60px; }
.oem-ac-qr { max-width:96px; }
.oem-ac-title { text-align:center; margin:16px 0; }
.oem-ac-body { display:flex; gap:20px; }
.oem-ac-photo { max-width:130px; border:1px solid #ccc; }
.oem-ac-table { flex:1; border-collapse:collapse; }
.oem-ac-table th, .oem-ac-table td { padding:8px 10px; border-bottom:1px dotted #ccc; text-align:left; }
.oem-ac-table th { width:180px; }
.oem-ac-instructions { margin-top:20px; }
.oem-ac-signature { text-align:right; margin-top:24px; }

/* Certificate */
.oem-certificate { max-width:900px; margin:20px auto; }
.oem-cert-frame { background:#fffdf6; border:6px double #b18b1a; padding:40px; text-align:center; font-family: Georgia, serif; }
.oem-cert-frame h1 { color:#b18b1a; margin:0 0 12px; }
.oem-cert-frame h2 { margin: 0 0 24px; color:#4a3a12; text-transform:uppercase; letter-spacing:0.12em; font-size:20px; }
.oem-cert-name { font-size:32px; margin:16px 0; color:#1d2327; border-bottom:1px solid #b18b1a; display:inline-block; padding-bottom:6px; }
.oem-cert-footer { display:flex; justify-content:space-between; align-items:center; margin-top:32px; }
.oem-cert-footer img { max-width:100px; display:block; margin:0 auto; }

/* Exam engine */
.oem-exam { max-width:1100px; margin:20px auto; }
.oem-exam-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.oem-timer { font-size:22px; font-weight:700; background:#1d2327; color:#fff; padding:6px 14px; border-radius:8px; font-variant-numeric: tabular-nums; }
.oem-exam-layout { display:grid; grid-template-columns:200px 1fr; gap:20px; align-items:start; }
.oem-palette { background:#f6f7f7; padding:12px; border-radius:8px; max-height:520px; overflow:auto; }
.oem-palette-btn { display:inline-block; width:34px; height:34px; margin:3px; border-radius:6px; border:1px solid #c3c4c7; background:#fff; cursor:pointer; text-align:center; line-height:32px; font-size:12px; }
.oem-palette-btn.answered { background:#d4f5e2; border-color:#0a9b5e; }
.oem-palette-btn.flagged  { background:#ffe08a; border-color:#b17d09; }
.oem-palette-btn.current  { outline:2px solid #2271b1; }
.oem-question { background:#fff; padding:20px; border:1px solid #e6e6e9; border-radius:8px; min-height:300px; }
.oem-question h3 { margin-top:0; }
.oem-option { display:block; padding:8px 12px; margin:6px 0; border:1px solid #c3c4c7; border-radius:6px; cursor:pointer; }
.oem-option:hover { background:#f6f7f7; }
.oem-option input { margin-right:8px; }
.oem-exam-actions { display:flex; gap:10px; margin-top:14px; justify-content:flex-end; }
@media (max-width: 800px) { .oem-exam-layout { grid-template-columns:1fr; } }

/* Result search */
.oem-result-search { max-width:520px; margin:20px auto; }
.oem-result-out { margin-top:16px; }

/* Login */
.oem-login-box { max-width:420px; margin:20px auto; padding:20px; background:#fff; border:1px solid #e6e6e9; border-radius:8px; }

/* Print */
@media print {
    header, footer, nav, .oem-btn { display:none !important; }
    body { background:#fff; }
}
