.ngk-cabinet { max-width: 860px; margin: 0 auto; font-size: 17px; line-height: 1.6; }
.ngk-cabinet h2.ngk-title { margin: 0 0 12px; }
.ngk-cabinet details.ngk-sp { border: 1px solid #d0d7de; border-radius: 8px; padding: 6px 12px; margin: 10px 0; background: #fff; }
.ngk-cabinet details.ngk-sp > summary { font-weight: 600; cursor: pointer; padding: 6px 0; }
.ngk-cabinet details.ngk-sub { border-top: 1px solid #eaeef2; padding: 4px 0; margin-top: 6px; }
.ngk-cabinet details.ngk-sub > summary { cursor: pointer; font-weight: 600; padding: 6px 0; }

.ngk-teacher-note { background: #fff8e1; border-left: 4px solid #f0b429; padding: 8px 12px; margin: 10px 0; border-radius: 4px; }
.ngk-sent { background: #e6f4ea; border-left: 4px solid #2da44e; padding: 8px 12px; border-radius: 4px; }

.ngk-words { width: 100%; border-collapse: collapse; }
.ngk-words th { text-align: left; font-size: 13px; color: #57606a; border-bottom: 1px solid #d0d7de; padding: 4px 6px; }
.ngk-words td { padding: 4px 6px; border-bottom: 1px solid #f0f2f4; vertical-align: top; }
.ngk-words td.ngk-w { font-size: 1.15em; }

.ngk-keys { padding-left: 1.4em; }
.ngk-keys li { margin: 6px 0; }
.ngk-k { font-size: 1.1em; font-weight: 600; }
.ngk-km { color: #57606a; display: block; font-size: .92em; }

.ngk-dctl { font-size: 13px; color: #57606a; margin-bottom: 8px; }
.ngk-dctl label { margin-right: 14px; cursor: pointer; }
.ngk-dh { margin: 12px 0 6px; }
.ngk-dl { margin: 8px 0; }
.ngk-dt { font-size: 1.15em; }
.ngk-tr { color: #57606a; font-size: .92em; margin-left: 2px; }
.ngk-dlg.ngk-nofur rt { display: none; }
.ngk-dlg.ngk-notr .ngk-tr { display: none; }
.ngk-badge { display: inline-block; border-radius: 12px; padding: 0 10px; margin-right: 8px; font-size: .9em; font-weight: 600; color: #fff; }
.ngk-sp0 { background: #0969da; }
.ngk-sp1 { background: #bf3989; }
.ngk-sp2 { background: #1a7f37; }
.ngk-sp3 { background: #9a6700; }

.ngk-exercise { border: 1px solid #eaeef2; border-radius: 8px; padding: 8px 12px; margin: 10px 0; }
.ngk-exercise h4 { margin: 0 0 6px; }
.ngk-line { margin: 6px 0; }
.ngk-q { margin-right: 6px; }
.ngk-blank { width: 7em; max-width: 100%; margin: 0 3px; padding: 2px 6px; border: 1px solid #8c959f; border-radius: 4px; font-size: 1em; }
.ngk-blank.ok { border-color: #2da44e; background: #e6f4ea; }
.ngk-blank.bad { border-color: #cf222e; background: #ffebe9; }
.ngk-ans { color: #1a7f37; font-size: .85em; margin-left: 4px; }
.ngk-exctl { margin-top: 8px; }
.ngk-exctl button, .ngk-actions button { cursor: pointer; padding: 5px 12px; border-radius: 6px; border: 1px solid #8c959f; background: #f6f8fa; font-size: .9em; }
.ngk-actions { margin: 16px 0; }
.ngk-actions .ngk-submit { background: #1a7f37; color: #fff; border-color: #1a7f37; }
.ngk-actions button:disabled { opacity: .6; cursor: default; }
.ngk-msg.ok { color: #1a7f37; }
.ngk-msg.err { color: #cf222e; }
.ngk-txt { margin: 6px 0; }

.ngk-review { max-width: 900px; margin: 0; }

/* Карта студента (адмінка) */
.ngk-smap { max-width: 900px; margin-top: 8px; }
.ngk-smrow { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 4px 0; }
.ngk-smrow .ngk-lnum { flex: 0 0 70px; font-size: 12px; color: #57606a; }
.ngk-sm { display: inline-block; border: 1px solid #c3c4c7; border-radius: 4px; padding: 2px 8px; font-size: 12px; background: #fff; }
.ngk-sm-p { background: #dcc6f2; border-color: #8a4fc2; }
.ngk-sm-b { background: #d6e8fb; border-color: #3b82c4; }
.ngk-sm-g { background: #d3f0dc; border-color: #2da44e; }
.ngk-sm-n { background: #eef0f2; border-color: #8c959f; }
.ngk-sm-x { background: #2b2b2b; border-color: #111; color: #fff; }
.ngk-sm-cur { background: #fff3c4; border-color: #d4a72c; font-weight: 700; }
.ngk-legend .ngk-sm { margin-right: 4px; }
.ngk-itable td, .ngk-itable th { vertical-align: middle; }

.ngk-qbox { margin: 14px 0 0; }
.ngk-qbox textarea { width: 100%; box-sizing: border-box; border: 1px solid #8c959f; border-radius: 6px; padding: 6px 8px; font: inherit; }
.ngk-qnote { background: #eef6ff; border-left: 4px solid #3b82c4; padding: 8px 12px; margin: 10px 0; border-radius: 4px; }
.ngk-student-q { background: #eef6ff; border-left: 4px solid #3b82c4; padding: 8px 12px; margin: 10px 0; }

a.ngk-sm { text-decoration: none; color: inherit; cursor: pointer; }
a.ngk-sm:hover { filter: brightness(.95); box-shadow: 0 0 0 2px rgba(34,113,177,.35); }
.ngk-itable tr.ngk-row-p td { background: #f4ecfa; }
.ngk-itable tr.ngk-row-b td { background: #eaf3fc; }
.ngk-itable tr.ngk-row-g td { background: #e9f7ee; }

.ngk-redo { background: #fffbea; border: 1px solid #f0d878; border-radius: 6px; padding: 8px 12px; margin: 10px 0; max-width: 900px; }
.ngk-redo-i { display: inline-block; margin-right: 8px; }
.ngk-redo-i .button-link { color: #b32d2e; cursor: pointer; margin-left: 2px; }

.ngk-hl { border-radius: 3px; padding: 0 1px; }
.ngk-hc0 { background: #fff3a3; }
.ngk-hc1 { background: #bfe3ff; }
.ngk-hc2 { background: #ffc9e0; }
.ngk-hc3 { background: #c8f0c8; }
.ngk-hc4 { background: #ffd9a8; }
.ngk-hc5 { background: #e2d0ff; }
.ngk-hc6 { background: #c9f1f0; }

.ngk-itable tr.ngk-row-k td { background: #e4e4e4; }
.ngk-itable td.num { width: 36px; color: #8c959f; }

.ngk-itable tr.ngk-skipped td { opacity: .45; text-decoration: line-through; }
.ngk-skipbtn { color: #b32d2e; cursor: pointer; font-size: 15px; }
