/* CCE Assessment — Public CSS */
.cce-wrap { font-family: "Noto Sans", "Mangal", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color:#222; max-width: 920px; margin: 0 auto; padding: 16px; line-height:1.55; }
.cce-error { background:#fee2e2; color:#991b1b; padding:14px; border-radius:8px; border:1px solid #fecaca; }

.cce-assessment-wrap .cce-a-header { background:linear-gradient(135deg,#1d4ed8,#3b82f6); color:#fff; padding:22px; border-radius:12px; margin-bottom:18px; }
.cce-assessment-wrap .cce-a-header h2 { margin:0 0 8px; color:#fff; font-size:22px; }
.cce-assessment-wrap .meta { display:flex; flex-wrap:wrap; gap:14px; font-size:14px; opacity:.95; margin:0; }
.cce-assessment-wrap .meta span { background:rgba(255,255,255,.16); padding:4px 10px; border-radius:6px; }
.cce-assessment-wrap .cce-instructions { margin-top:10px; background:rgba(255,255,255,.1); padding:10px 14px; border-radius:8px; font-size:14px; }
.cce-timer b { font-variant-numeric: tabular-nums; }

.cce-student-details { border:1px solid #e5e7eb; padding:14px 18px; border-radius:10px; margin-bottom:18px; background:#f9fafb; }
.cce-student-details legend { font-weight:600; color:#1d4ed8; padding:0 8px; }
.cce-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; }
.cce-grid-2 label { display:block; font-size:13px; font-weight:600; }
.cce-grid-2 input { width:100%; padding:8px 10px; border:1px solid #d1d5db; border-radius:6px; margin-top:4px; font-size:14px; }

.cce-q-block { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:16px; margin-bottom:14px; box-shadow:0 1px 2px rgba(0,0,0,.03); }
.cce-q-block h4 { margin:0 0 10px; font-size:16px; line-height:1.5; }
.cce-q-block .cce-marks { color:#6b7280; font-weight:500; font-size:13px; margin-left:4px; }
.cce-q-img { max-width:100%; max-height:240px; border:1px solid #e5e7eb; border-radius:6px; }
.cce-q-input label.cce-opt { display:block; padding:8px 12px; border:1px solid #e5e7eb; border-radius:6px; margin:4px 0; cursor:pointer; transition:.2s; }
.cce-q-input label.cce-opt:hover { background:#eff6ff; border-color:#93c5fd; }
.cce-q-input label.cce-opt input { margin-right:8px; }
.cce-q-input .cce-text-ans { width:100%; padding:8px 10px; border:1px solid #d1d5db; border-radius:6px; font-size:14px; }
.cce-q-input .cce-note { font-size:12px; color:#6b7280; margin:4px 0 0; }
.cce-match { width:100%; }
.cce-match td { padding:6px; }
.cce-match select { padding:6px; border:1px solid #d1d5db; border-radius:6px; }

.cce-submit-row { display:flex; justify-content:space-between; align-items:center; margin:18px 0; }
.cce-btn { display:inline-block; padding:10px 22px; background:#e5e7eb; color:#111; text-decoration:none; border:none; border-radius:8px; font-size:15px; font-weight:600; cursor:pointer; transition:.2s; }
.cce-btn-primary { background:#1d4ed8; color:#fff; }
.cce-btn-primary:hover { background:#1e40af; }
.cce-draft-status { font-size:12px; color:#16a34a; }

/* Result */
.cce-result { background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:20px; }
.cce-result-summary h3 { margin-top:0; color:#1d4ed8; }
.cce-result-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:14px 0; }
.cce-result-grid .block { text-align:center; background:#f3f4f6; padding:14px; border-radius:10px; }
.cce-result-grid .num { font-size:24px; font-weight:800; color:#1d4ed8; }
.cce-result-grid .lbl { font-size:12px; color:#6b7280; text-transform:uppercase; letter-spacing:.5px; }
.cce-result-grid .grade .num { color:#15803d; font-size:32px; }
.cce-remark { background:#fef3c7; border-left:4px solid #f59e0b; padding:10px 14px; border-radius:4px; font-size:14px; }
.cce-review { padding-left:18px; }
.cce-review-item { padding:14px; margin:10px 0; border-radius:10px; border-left:4px solid; background:#fafafa; }
.cce-review-item.is-correct { border-color:#15803d; background:#f0fdf4; }
.cce-review-item.is-wrong { border-color:#b91c1c; background:#fef2f2; }
.cce-review-item .mark { font-weight:800; margin-right:6px; }
.cce-review-item.is-correct .mark { color:#15803d; }
.cce-review-item.is-wrong .mark { color:#b91c1c; }
.cce-review-item .ans { margin-top:6px; font-size:14px; }
.cce-review-item .correct-ans { color:#15803d; }
.cce-review-item .meta { margin-top:4px; font-size:12px; color:#6b7280; }

/* List & dashboard */
.cce-list .cce-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; }
.cce-card { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:14px; }
.cce-card h4 { margin:0 0 6px; color:#1d4ed8; }
.cce-card .meta { color:#6b7280; font-size:13px; }
.cce-dashboard .cce-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:14px 0; }
.cce-dashboard .stat { background:#eff6ff; padding:18px; border-radius:10px; text-align:center; }
.cce-dashboard .stat .num { font-size:28px; font-weight:800; color:#1d4ed8; }
.cce-dashboard .stat .lbl { font-size:12px; color:#444; text-transform:uppercase; letter-spacing:.5px; }

/* Responsive */
@media (max-width: 720px) {
    .cce-grid-2 { grid-template-columns: 1fr; }
    .cce-result-grid { grid-template-columns: repeat(2,1fr); }
    .cce-dashboard .cce-stats { grid-template-columns: 1fr; }
    .cce-assessment-wrap .cce-a-header h2 { font-size:18px; }
    .cce-submit-row { flex-direction:column; gap:10px; }
}

/* Start / Payment */
.cce-start-row { margin-top:14px; text-align:center; }
.cce-start-row .cce-note { font-size:12px; color:#6b7280; margin-top:8px; }
.cce-fee { background:#fef3c7 !important; color:#78350f; font-weight:700; }
.cce-pay-status { margin-left:10px; font-size:13px; }
.cce-timer.cce-timer-warn b { color:#fde047; animation:cce-blink 1s infinite; }
@keyframes cce-blink { 50% { opacity:.4; } }
.cce-step-h { color:#1d4ed8; border-bottom:2px solid #eff6ff; padding-bottom:6px; margin:0 0 14px; }

/* Inline Marksheet (after submit) */
.cce-marksheet-inline { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:28px 34px; font-family:"Noto Sans","Mangal",Arial,sans-serif; box-shadow:0 2px 8px rgba(0,0,0,.06); }
.cce-marksheet-inline .ms-header { display:flex; align-items:center; gap:18px; border-bottom:3px double #1d4ed8; padding-bottom:14px; margin-bottom:18px; }
.cce-marksheet-inline .ms-header img { max-height:64px; }
.cce-marksheet-inline .ms-header h2 { margin:0; color:#1d4ed8; font-size:20px; }
.cce-marksheet-inline .ms-header p { margin:2px 0 0; color:#555; font-size:13px; }
.cce-marksheet-inline .ms-title { text-align:center; font-size:16px; letter-spacing:1px; text-transform:uppercase; margin-bottom:16px; color:#374151; }
.cce-marksheet-inline .ms-meta { display:grid; grid-template-columns:1fr 1fr; gap:6px 24px; font-size:13.5px; margin-bottom:16px; }
.cce-marksheet-inline .ms-meta strong { color:#1d4ed8; }
.cce-marksheet-inline .ms-score { display:flex; justify-content:space-around; background:#eff6ff; border:1px solid #bfdbfe; border-radius:8px; padding:14px; margin:16px 0; }
.cce-marksheet-inline .ms-score .b { text-align:center; }
.cce-marksheet-inline .ms-score .n { font-size:24px; font-weight:800; color:#1d4ed8; }
.cce-marksheet-inline .ms-score .grade-num { font-size:32px; color:#15803d; }
.cce-marksheet-inline .ms-score .l { font-size:11px; text-transform:uppercase; color:#444; letter-spacing:.5px; }
.cce-marksheet-inline .ms-remark { background:#fffbeb; border-left:4px solid #f59e0b; padding:10px 14px; border-radius:4px; font-size:13px; }
.cce-marksheet-inline .ms-h { color:#1d4ed8; border-bottom:2px solid #eff6ff; padding-bottom:6px; margin-top:18px; }
.cce-marksheet-inline .ms-review { padding-left:0; list-style:none; counter-reset: qcnt; }
.cce-marksheet-inline .ms-q { counter-increment: qcnt; padding:12px 14px; margin:10px 0; border-radius:8px; border-left:4px solid; background:#fafafa; }
.cce-marksheet-inline .ms-q.is-correct { border-color:#15803d; background:#f0fdf4; }
.cce-marksheet-inline .ms-q.is-wrong   { border-color:#b91c1c; background:#fef2f2; }
.cce-marksheet-inline .ms-q-txt { display:flex; align-items:flex-start; gap:8px; font-size:14.5px; font-weight:600; }
.cce-marksheet-inline .ms-q-txt:before { content: counter(qcnt) "."; color:#6b7280; font-weight:700; }
.cce-marksheet-inline .ms-q-body { flex:1; }
.cce-marksheet-inline .ms-q-marks { background:#1d4ed8; color:#fff; padding:2px 8px; border-radius:6px; font-size:12px; font-weight:700; }
.cce-marksheet-inline .ms-q.is-wrong .ms-q-marks { background:#b91c1c; }
.cce-marksheet-inline .ms-mark { font-size:18px; line-height:1.2; }
.cce-marksheet-inline .ms-q.is-correct .ms-mark { color:#15803d; }
.cce-marksheet-inline .ms-q.is-wrong   .ms-mark { color:#b91c1c; }
.cce-marksheet-inline .ms-ans { font-size:13px; margin-top:6px; line-height:1.45; }
.cce-marksheet-inline .ms-ans.your strong   { color:#374151; }
.cce-marksheet-inline .ms-ans.correct strong{ color:#15803d; }
.cce-marksheet-inline .ms-ans ul { margin:4px 0 0 18px; }
.cce-marksheet-inline .ms-footer { margin-top:30px; display:flex; justify-content:space-between; font-size:12px; color:#374151; }
.cce-marksheet-inline .ms-footer .sig { text-align:center; min-width:140px; }
.cce-marksheet-inline .ms-footer .line { border-top:1px solid #333; margin:30px 6px 4px; }

@media print {
    .cce-no-print { display:none !important; }
    body { background:#fff; }
    .cce-marksheet-inline { box-shadow:none; border:none; padding:0; }
}
@media (max-width: 720px) {
    .cce-marksheet-inline { padding:18px; }
    .cce-marksheet-inline .ms-meta { grid-template-columns:1fr; }
    .cce-marksheet-inline .ms-score { flex-wrap:wrap; gap:10px; }
}
