:root { --accent: #3d6b4f; }
.exam { border: 1px solid var(--line); border-radius: 10px; padding: 10px; margin-bottom: 10px; display: grid; gap: 6px; border-left: 5px solid var(--c, var(--accent)); }
.exam .row .input { padding: 6px 8px; font-size: 13px; }
.exam textarea { min-height: 52px; font-size: 13px; padding: 6px 8px; }
.exam .mini { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; font-size: 12px; }
.exam .mini label { font-size: 12px; }
.avail { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.avail label { text-align: center; font-size: 12px; }
.avail input { text-align: center; padding: 6px 2px; margin-top: 3px; }
.cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; margin-top: 12px; }
.day { background: var(--panel-2); border-radius: 8px; padding: 6px; min-height: 140px; font-size: 12px; }
.day.today { outline: 2px solid var(--accent); }
.day.off { opacity: .55; }
.day .dh { font-weight: 700; display: flex; justify-content: space-between; margin-bottom: 6px; }
.sess { border-radius: 6px; padding: 4px 6px; margin-bottom: 4px; color: #fff; cursor: pointer; line-height: 1.25; }
.sess.done { opacity: .45; text-decoration: line-through; }
.sess small { display: block; opacity: .85; font-size: 10px; }
.exam-flag { background: var(--text); color: var(--bg); border-radius: 6px; padding: 4px 6px; margin-bottom: 4px; font-weight: 700; }
.topic-row { display: grid; grid-template-columns: minmax(0, 1fr) 60px 120px; gap: 8px; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
@media (max-width: 900px) { .cal { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.today-item { display: grid; grid-template-columns: 22px 10px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; margin-bottom: 6px; background: var(--panel); }
.today-item .dot { width: 10px; height: 10px; border-radius: 50%; }
.today-item.done b { text-decoration: line-through; color: var(--muted); }
.timer-card { text-align: center; }
.clock { font: 600 56px var(--mono); letter-spacing: 1px; }
.timer-card.break .clock { color: var(--good, #1f9d63); }
.q { border: 1px solid var(--line); border-radius: 10px; padding: 14px; background: var(--panel); }
.q .ans { margin-top: 10px; padding: 10px; border-radius: 8px; background: var(--panel-2); }
.q .grade { margin-top: 10px; }
.q.graded { opacity: .7; }
.ready-row { display: grid; grid-template-columns: 140px minmax(0, 1fr) 48px; gap: 10px; align-items: center; padding: 6px 0; font-size: 14px; }
.course table { width: 100%; }
.course td input { padding: 4px 6px; }
.big-num { font: 600 28px var(--mono); }
.cd { border-radius: 10px; padding: 12px; color: #fff; }
.cd .n { font: 700 30px var(--mono); }
