.dc-personal { margin-top: 18px; padding: 16px; border: 1px solid #d8e2ef; border-radius: 18px; background: #fffaf3; color: #183458; }
.dc-personal h2 { margin: 0 0 12px; font-size: 1.35rem; }
.dc-personal h3 { margin: 16px 0 7px; font-size: 1.05rem; }
.dc-subject-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 560px), 1fr)); gap: 9px; }
.dc-subject-overview article { display: grid; gap: 3px; padding: 10px; border: 1px solid #dbe5ee; border-radius: 12px; background: #fff; }
.dc-subject-overview article > b { color: #12629b; font-size: 1.3rem; }
.dc-progress { display: grid; gap: 8px; margin-top: 7px; }
.dc-progress__controls { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: .83rem; }
.dc-progress__controls label { display: inline-flex; align-items: center; gap: 5px; }
.dc-progress__controls input { width: 56px; padding: 4px; border: 1px solid #bccddd; border-radius: 7px; font: inherit; }
.dc-progress__controls button { width: 28px; min-height: 28px; border: 1px solid #bccddd; border-radius: 7px; background: #f3f8fd; color: #183458; font: inherit; font-weight: 800; cursor: pointer; }
.dc-progress__controls button:disabled { opacity: .4; cursor: default; }
.dc-progress__controls span { min-width: 165px; text-align: center; font-variant-numeric: tabular-nums; }
.dc-progress__chart { min-width: 0; padding: 6px; border: 1px solid #e0e8f0; border-radius: 9px; overflow-x: auto; }
.dc-progress__chart > strong { display: block; font-size: .86rem; }
.dc-progress-chart { display: block; width: 100%; min-width: 440px; height: auto; }
.dc-progress-chart__week-band { fill: #f2f7fc; }
.dc-progress-chart__week-line { stroke: #b8cddd; stroke-width: 1.2; }
.dc-progress-chart__grid { stroke: #e4eaf1; stroke-width: 1; }
.dc-progress-chart__grid--minor { stroke: #edf1f5; stroke-width: .6; }
.dc-progress-chart__axis-label, .dc-progress-chart__value-label { fill: #687b90; font-size: 11px; }
.dc-progress-chart__own, .dc-progress-chart__oral, .dc-progress-chart__class { fill: none; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.dc-progress-chart__own { stroke: #1769a9; }
.dc-progress-chart__oral { stroke: #9a3e8d; }
.dc-progress-chart__class { stroke: #576b82; stroke-dasharray: 7 5; }
.dc-progress-legend { display: block; color: #61758a; font-size: .72rem; }
.dc-progress-empty { margin: -8px 0 4px; color: #61758a; font-size: .8rem; }
.dc-oral-list { display: grid; gap: 5px; }
.dc-oral-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 4px 10px; align-items: baseline; padding: 8px 10px; background: #fff; border: 1px solid #dbe5ee; border-radius: 9px; }
.dc-oral-list article small { grid-column: 1 / -1; }
.dc-oral-list article > button { justify-self: start; }
.dc-oral-list form { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: end; gap: 7px; }
.dc-oral-list form[hidden] { display: none; }
.dc-oral-list form label { display: grid; gap: 2px; font-size: .8rem; }
.dc-activity-settings__form { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; padding-top: 12px; }
.dc-activity-settings__form label { display: flex; align-items: center; gap: 5px; }
.dc-activity-settings__form input[data-dc-threshold] { width: 74px; text-align: center; font-variant-numeric: tabular-nums; }
.dc-activity-settings__hint { flex-basis: 100%; margin: 0; color: #61758a; font-size: .8rem; }
.dc-reset-panel__controls { display: flex; align-items: end; gap: 8px; margin-top: 10px; }
.dc-reset-panel__controls input { width: 90px; }
.dc-reset-history-row { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
.classroom-evaluation__score { display: flex; align-items: end; flex-wrap: wrap; gap: 5px; margin: 6px 0; }
.classroom-evaluation__score label { display: grid; gap: 2px; font-size: .8rem; }
.classroom-evaluation__score select { min-width: 90px; }
.classroom-evaluation__score input { min-width: 150px; max-width: 220px; }
.dc-personal-total { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.dc-personal-total strong { font-size: 1.35rem; }
.dc-personal-total span, .dc-personal-empty { color: #62738a; }
.dc-personal-list { display: grid; gap: 7px; }
.dc-personal-session { border: 1px solid #dbe5ee; border-radius: 12px; background: #fff; }
.dc-personal-session summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 12px; cursor: pointer; }
.dc-personal-session summary > span:first-child { display: grid; gap: 2px; min-width: 0; }
.dc-personal-session small { color: #61758a; font-size: .8rem; }
.dc-personal-scores { display: grid; justify-items: end; white-space: nowrap; }
.dc-personal-scores b { font-size: 1.05rem; }
.dc-personal-answers { display: grid; gap: 3px; padding: 0 12px 10px; }
.dc-personal-answer { display: grid; grid-template-columns: 36px minmax(0,1fr) auto; gap: 5px 9px; align-items: baseline; padding: 5px 7px; border-radius: 7px; background: #f3f7fb; font-size: .88rem; }
.dc-personal-answer span { overflow-wrap: anywhere; }
.dc-personal-answer em { font-style: normal; color: #5a687a; }
.dc-personal-answer--correct em { color: #147954; }
.dc-personal-answer--incorrect em { color: #ad352f; }
.dc-personal-answer small { grid-column: 2 / -1; }
@media (max-width: 480px) { .dc-personal-answer { grid-template-columns: 30px minmax(0,1fr); } .dc-personal-answer em { grid-column: 2; } }
@media print { .dc-personal { display: none !important; } }
