/* Optional daily activity plans preserve each activity's own controls and result. */
.daily-editor,.daily-activities,.daily-activity-card,.daily-content-card{min-width:0;max-width:100%;overflow-wrap:anywhere}
.daily-editor{margin:22px 0;padding:18px;border:1px solid #d8dfe8;border-radius:10px;background:#fbfcfd}
.daily-editor>legend{max-width:100%;padding:0 7px;font-weight:700;color:#7c2036;line-height:1.6}
.daily-editor-intro,.daily-editor .muted,.daily-mode-note,.daily-editor-hint,.daily-resubmit-note{color:#627487;font-size:.86rem;line-height:1.75}
.daily-editor .check{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:8px 0;line-height:1.65}
.daily-editor input[type=checkbox]{flex-shrink:0;width:20px;height:20px;min-height:20px;margin:3px 0 0;accent-color:#97162b}
[data-daily-fields][hidden],[data-daily-content][hidden],[data-legacy-assignment-editor][hidden],.daily-activity-card [hidden],.daily-editor [hidden]{display:none!important}
[data-daily-fields]{min-width:0;margin-top:16px}
.daily-allocation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.daily-allocation-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,100px);align-items:start;gap:6px 12px;min-width:0;padding:12px 14px;border:1px solid #dce3eb;border-radius:8px;background:#fff}
.daily-allocation-row>label{min-width:0;margin:0;font-size:.85rem;line-height:1.6;color:#344b60}
.daily-allocation-row>label.check{display:flex;align-items:flex-start;gap:9px;font-size:.92rem}
.daily-allocation-name{display:block;font-weight:650}
.daily-allocation-note{display:block;grid-column:1/-1;margin-top:3px;font-size:.78rem;line-height:1.6;color:#63788a}
.daily-allocation-row input[type=number]{display:block;width:100%;min-width:0;min-height:44px;margin:4px 0 0;padding:9px 10px;text-align:right;font-variant-numeric:tabular-nums}
.daily-allocation-row input[aria-invalid=true]{border-color:#a82d42;outline-color:#a82d42}
.daily-allocation-total{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:12px 0;padding:13px 15px;border:1px solid #d9e1ea;border-radius:8px;background:#f2f5f8;color:#3e556a;font-size:.93rem;line-height:1.6}
[data-daily-total]{font-weight:700;font-variant-numeric:tabular-nums;color:#7c2036}
[data-daily-total].is-invalid,.daily-allocation-total.is-invalid{color:#a62c42}
.daily-editor-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0}
.daily-editor button,.daily-activities button{min-width:0;min-height:44px;max-width:100%;padding:10px 14px;white-space:normal;overflow-wrap:anywhere;line-height:1.55}
.daily-editor input:not([type=checkbox]):not([type=radio]),.daily-editor select,.daily-editor textarea,.daily-activities input:not([type=checkbox]):not([type=radio]),.daily-activities select,.daily-activities textarea{max-width:100%;min-width:0}
.daily-content-card{margin:18px 0;padding:0;border:1px solid #d8e1ea;border-radius:9px;background:#fff}
.daily-content-card>summary,.daily-content-card>header{min-height:48px;padding:13px 15px;color:#3b5267;font-weight:650;line-height:1.65}
.daily-content-card>summary{cursor:pointer}
.daily-content-card>summary .check,.daily-content-card>header .check{margin:0;padding:0;min-height:24px}
.daily-content-body,[data-daily-content]{min-width:0;padding:0 15px 15px}
.daily-content-body .clinical-editor,.daily-content-body .skill-author,[data-daily-content]>.clinical-editor,[data-daily-content]>.skill-author{margin:10px 0 0}
.daily-content-card textarea{line-height:1.75;resize:vertical}
.daily-activities{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin:18px 0}
.daily-activities>header h3,.daily-activities>h3{margin:0 0 8px;font-size:1.22rem;line-height:1.5;color:#2d4358}
.daily-activities>header p{margin:6px 0;color:#60758a;font-size:.92rem;line-height:1.75}
.daily-activity-card{padding:18px;border:1px solid #d8e2ec;border-radius:10px;background:#fff;scroll-margin-top:90px}
.daily-activity-card>header,.daily-activity-heading{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:14px;padding:0;background:transparent;color:inherit}
.daily-activity-card h3,.daily-activity-card h4{min-width:0;margin:0;color:#334b61;font-size:1.08rem;line-height:1.6}
.daily-activity-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#65798c;font-size:.8rem;line-height:1.7}
.daily-score{display:inline-block;padding:4px 10px;border-radius:20px;border:1px solid #eedce3;background:#fbf0f4;color:#7d2b42;font-size:.82rem;font-weight:650;font-variant-numeric:tabular-nums;line-height:1.6}
.daily-status{display:inline-block;padding:4px 10px;border-radius:20px;background:#eef2f6;color:#516c80;font-size:.8rem;line-height:1.6}
.daily-status.is-complete,.daily-status.is-graded{background:#eaf5ee;color:#326448}
.daily-status.is-pending{background:#fff4dd;color:#7d5c27}
.daily-activity-body{min-width:0;line-height:1.8;overflow-wrap:anywhere}
.daily-activity-body .pre,.daily-feedback,.daily-result{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}
.daily-activity-body textarea{width:100%;min-height:140px;line-height:1.75;resize:vertical}
.daily-activity-card form{min-width:0;max-width:100%;margin:14px 0 0}
.daily-activity-card form>.actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0}
.daily-activity-card .attachment-field{min-width:0;margin-top:14px}
.daily-activity-card input[type=file]{width:100%;min-width:0;padding:10px 0;font-size:.9rem}
.daily-result{margin:14px 0;padding:13px 15px;border:1px solid #dce5ed;border-radius:8px;background:#f5f8fa;color:#3b566c;font-size:.94rem}
.daily-feedback{margin:10px 0;color:#4c657a;font-size:.92rem}
.daily-grade-fields{display:grid;grid-template-columns:minmax(0,160px) minmax(0,1fr);align-items:start;gap:12px}
.daily-grade-fields label{min-width:0}
.daily-activity-card .table-scroll{max-width:100%;overflow-x:auto}
.daily-summary{min-width:0;margin:18px 0;padding:16px;border:1px solid #d7e1eb;border-radius:9px;background:#f6f9fb;color:#3f596f;overflow-wrap:anywhere}
.daily-summary h3{margin:0;font-size:1.1rem;line-height:1.6;color:#334c62}
.daily-summary>.row{gap:12px;flex-wrap:wrap}
.daily-summary>.row>strong{color:#7c2036;font-variant-numeric:tabular-nums}
.daily-summary>p{font-size:.86rem;line-height:1.75;color:#627487}
.daily-summary ul{display:grid;gap:0;padding:0;margin:14px 0 0;list-style:none}
.daily-summary li{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid #dde6ee;font-size:.9rem;line-height:1.65}
.daily-summary li>span{min-width:0}
.daily-summary li>strong{flex-shrink:0;font-size:.86rem;font-variant-numeric:tabular-nums}
.daily-editor-error,[data-daily-error]:not(:empty){margin:12px 0;padding:11px 13px;border:1px solid #e8c2ca;border-radius:7px;background:#fff0f3;color:#9b2b40;font-size:.88rem;line-height:1.7}
.daily-editor button:focus-visible,.daily-activities button:focus-visible,.daily-content-card>summary:focus-visible{outline:3px solid #a86075;outline-offset:3px}
.daily-editor button:disabled,.daily-activities button:disabled{cursor:default;opacity:.5}
@media(max-width:700px){
 .daily-editor{padding:14px 12px;margin:18px 0}
 .daily-allocation-grid{grid-template-columns:minmax(0,1fr);gap:8px}
 .daily-allocation-row{padding:11px 12px}
 .daily-activity-card{padding:15px 12px}
 .daily-content-body,[data-daily-content]{padding:0 11px 12px}
 .daily-content-card>summary,.daily-content-card>header{padding:12px}
 .daily-grade-fields{grid-template-columns:minmax(0,1fr)}
 .daily-editor input:not([type=checkbox]):not([type=radio]),.daily-editor select,.daily-editor textarea,.daily-activities input:not([type=checkbox]):not([type=radio]),.daily-activities select,.daily-activities textarea{font-size:16px;min-height:44px}
 .daily-activity-card form>.actions>button{flex:1 1 150px}
 .daily-activities{gap:14px}
}
@media(prefers-reduced-motion:reduce){.daily-editor *,.daily-activities *{scroll-behavior:auto;animation:none;transition:none}}
@media print{
 .daily-editor{display:none!important}
 .daily-activities{display:block}
 .daily-activity-card{break-inside:auto;padding:12px 0;border:0;border-bottom:1px solid #bbb;border-radius:0}
 .daily-activity-card button,.daily-activity-card input[type=file],.daily-activity-card form>.actions{display:none!important}
 .daily-result,.daily-score,.daily-status{background:transparent;color:#000;border-color:#bbb}
 .daily-activity-card .table-scroll{overflow:visible}
 .daily-summary{background:transparent;border-color:#bbb}
}

/* Completion requirements, course calculation and acknowledgement controls. */
:is(.multiple-completion,.calculation-settings,.quiz-assessment-fields,.activity-ack-panel,.activity-link-row){min-width:0;max-width:100%;overflow-wrap:anywhere}
:is(.multiple-completion,.calculation-settings,.quiz-assessment-fields,.activity-ack-panel) [hidden],.path-settings label[hidden]{display:none!important}
.multiple-completion{margin:18px 0;padding:15px;border:1px solid #d9e2eb;border-radius:9px;background:#f8fafc}
.multiple-completion>label.check,.calculation-settings label.check{display:flex;align-items:flex-start;gap:10px;min-height:44px;line-height:1.7}
[data-completion-fields]>p,.quiz-assessment-fields>p,.activity-ack-panel>p{font-size:.88rem;line-height:1.75;color:#60758a}
.completion-condition-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr) minmax(0,.8fr);align-items:start;gap:12px;margin-top:12px;padding:13px;border:1px solid #dce4ec;border-radius:8px;background:#fff}
.completion-condition-row>label{min-width:0;margin:0;font-size:.85rem;line-height:1.65}
.completion-condition-row>label.check{display:flex;align-items:flex-start;gap:9px;min-height:44px;padding-top:7px}
.completion-condition-row :is(input,select){display:block;margin-top:5px}
.completion-condition-row>label.check input{display:inline-block;margin-top:3px}
[data-completion-error]{margin:12px 0 0;color:#8e263d;line-height:1.75}
.calculation-settings>label:first-child{font-size:.95rem;line-height:1.7}
.calculation-settings>p{font-size:.86rem;line-height:1.75;color:#60758a}
[data-calculation-confirm]{margin-top:14px;padding:12px;border:1px solid #e3c6ce;border-radius:8px;background:#fff3f6;color:#803149}
.quiz-assessment-fields{margin:15px 0;padding:14px;border:1px solid #dce4ec;border-radius:8px;background:#f7f9fb}
.quiz-assessment-fields .grid{min-width:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px}
.quiz-assessment-fields label{min-width:0;line-height:1.7}
.activity-ack-panel{margin:18px 0;padding:15px;border:1px solid #dce4ec;border-radius:9px;background:#f7f9fb}
.activity-ack-panel h3{margin:0 0 8px;color:#3c5369;font-size:1.02rem;line-height:1.6}
.activity-link-row{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;padding:14px 0;border-top:1px solid #dce4ec;line-height:1.75}
.activity-link-row:first-of-type{margin-top:13px}
.activity-link-row .actions{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.activity-link-row a{display:inline-flex;align-items:center;min-height:44px;min-width:0;max-width:100%;padding:9px 12px;border:1px solid #cbd7e2;border-radius:8px;background:#fff;line-height:1.6}
:is(.multiple-completion,.calculation-settings,.quiz-assessment-fields,.activity-ack-panel) :is(input,select,textarea){min-width:0;max-width:100%}
:is(.multiple-completion,.calculation-settings,.quiz-assessment-fields) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){min-height:44px}
:is(.multiple-completion,.calculation-settings,.quiz-assessment-fields) :is(input[type=checkbox],input[type=radio]){flex-shrink:0;display:inline-block;width:20px;height:20px;min-height:20px;margin-right:0;accent-color:#97162b}
.activity-ack-panel button{min-width:0;min-height:44px;max-width:100%;padding:10px 14px;white-space:normal;line-height:1.6}
.activity-ack-panel button:disabled{cursor:default;opacity:.65}
:is(.multiple-completion,.calculation-settings,.quiz-assessment-fields,.activity-ack-panel) :is(button,a,input,select,textarea):focus-visible{outline:3px solid #a86075;outline-offset:3px}
@media(max-width:700px){
 .multiple-completion,.quiz-assessment-fields,.activity-ack-panel{padding:13px 11px}
 .completion-condition-row{grid-template-columns:minmax(0,1fr);gap:10px;padding:12px}
 .completion-condition-row>label.check{padding-top:0}
 :is(.multiple-completion,.calculation-settings,.quiz-assessment-fields) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px;min-height:44px}
 .activity-link-row .actions>*{flex:1 1 150px;justify-content:center}
 .activity-ack-panel>button{width:100%}
}
@media(prefers-reduced-motion:reduce){:is(.multiple-completion,.calculation-settings,.quiz-assessment-fields,.activity-ack-panel) *{scroll-behavior:auto;animation:none;transition:none}}
@media print{
 .multiple-completion,.calculation-settings,.quiz-assessment-fields{display:none!important}
 .activity-ack-panel{background:transparent;border-color:#bbb}
 .activity-ack-panel button{display:none!important}
 .activity-link-row a{min-height:0;padding:0;border:0;background:transparent}
}
