/* A1 Golden Workbook: isolated from the legacy global form/button rules. */
#content .ag-workbook,#content .ag-review{box-sizing:border-box;width:100%;max-width:880px;min-width:0;margin:0 auto;padding:32px;border:1px solid #e1e8f2;border-radius:20px;background:#fff;color:#183247;font:400 16px/1.6 'Nunito',system-ui,sans-serif;box-shadow:0 8px 30px rgba(24,50,71,.035)}
#content :is(.ag-workbook,.ag-review) *,#content :is(.ag-workbook,.ag-review) *::before,#content :is(.ag-workbook,.ag-review) *::after{box-sizing:border-box}
#content :is(.ag-workbook,.ag-review) h1{margin:22px 0 8px;color:#142e46;font:800 clamp(24px,3vw,30px)/1.25 'Nunito',system-ui,sans-serif;letter-spacing:-.025em}
#content :is(.ag-workbook,.ag-review) h2{margin:26px 0 5px;color:#183247;font-size:21px;line-height:1.35}
#content :is(.ag-workbook,.ag-review) h3{color:#183247}
#content :is(.ag-workbook,.ag-review) p{margin:10px 0 16px;line-height:1.65;overflow-wrap:break-word}
#content .ag-workbook .muted,#content .ag-workbook .ag-meta{color:#52657a!important;font-size:14px}
#content .ag-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 16px;color:#52657a;font-size:14px}
#content .ag-head>span:last-child{margin-left:auto}
#content .ag-head label{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#52657a;font-weight:600}
#content .ag-workbook progress{display:block;width:100%;height:6px;margin:20px 0;overflow:hidden;border:0;border-radius:20px;appearance:none;background:#eaf0f7;accent-color:#2459cf}
#content .ag-workbook progress::-webkit-progress-bar{background:#eaf0f7;border-radius:20px}
#content .ag-workbook progress::-webkit-progress-value{background:#2459cf;border-radius:20px}
#content .ag-workbook progress::-moz-progress-bar{background:#2459cf;border-radius:20px}
#content .ag-workbook .ag-tabs{position:static!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%;margin:0 0 26px;padding:6px;background:#f2f5fa;border:0;border-radius:13px;box-shadow:none;overflow:visible}
/* Unique button classes avoid legacy .ghost-btn styles and active-tab overrides. */
#content :is(.ag-workbook,.ag-review) .ag-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:46px;width:auto;height:auto;padding:11px 18px;border:1px solid #d9e2ee;border-radius:10px;background:#fff;color:#244366;font:750 15px/1.35 'Nunito',system-ui,sans-serif;text-align:center;text-transform:none;letter-spacing:normal;white-space:normal;opacity:1;box-shadow:none;cursor:pointer}
#content :is(.ag-workbook,.ag-review) .ag-btn:hover{background:#f1f5fc;border-color:#b4c7e7}
#content :is(.ag-workbook,.ag-review) .ag-btn.ag-primary{background:#2459cf!important;border-color:#2459cf!important;color:#fff!important}
#content :is(.ag-workbook,.ag-review) .ag-btn.ag-primary:hover{background:#1947ac!important}
#content :is(.ag-workbook,.ag-review) .ag-btn:disabled{opacity:.45;cursor:default}
#content .ag-workbook .ag-tabs .ag-btn{width:100%;min-height:44px;padding:10px 5px;border:1px solid transparent;border-radius:8px;background:transparent;color:#52657a;font-size:14px;box-shadow:none}
#content .ag-workbook .ag-tabs .ag-btn[aria-pressed="true"]{background:#fff!important;border-color:#c9d7ee!important;color:#194bb8!important;box-shadow:0 2px 5px rgba(24,50,71,.06)}
#content :is(.ag-workbook,.ag-review) :is(button,input,textarea,select,summary):focus-visible{outline:3px solid #90b4ff!important;outline-offset:3px}
#content .ag-workbook fieldset{display:block;min-width:0;margin:24px 0;padding:0;border:0}
#content .ag-workbook legend{display:block;float:none;width:100%;margin:0 0 12px;padding:0;color:#183247;font:750 17px/1.5 'Nunito',system-ui,sans-serif}
/* Explicit control and text columns prevent full-width native input leakage. */
#content .ag-workbook label.ag-option{display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;align-items:center!important;justify-content:normal!important;gap:12px!important;width:100%!important;min-width:0!important;min-height:52px;height:auto;margin:8px 0;padding:13px 16px;border:1px solid #dce4ef;border-radius:11px;background:#fff;color:#24405a;font:500 16px/1.5 'Nunito',system-ui,sans-serif;text-align:left;cursor:pointer}
#content .ag-workbook label.ag-option:hover{border-color:#a8bee2;background:#f8faff}
#content .ag-workbook label.ag-option:has(input:checked){border-color:#6f96df;background:#eef4ff}
#content .ag-workbook label.ag-option:focus-within{outline:2px solid #90b4ff;outline-offset:2px}
#content .ag-workbook label.ag-option>input:is([type="radio"],[type="checkbox"]){position:static!important;display:block!important;flex:0 0 20px!important;width:20px!important;min-width:20px!important;max-width:20px!important;height:20px!important;min-height:20px!important;max-height:20px!important;margin:0!important;padding:0!important;opacity:1!important;appearance:auto!important;accent-color:#2459cf;box-shadow:none!important}
#content .ag-workbook label.ag-option>span{display:block!important;width:auto!important;min-width:0!important;max-width:none!important;color:inherit;text-align:left!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important}
#content .ag-workbook .ag-feedback{padding:10px 14px;border-radius:9px;background:#f2f6fc;color:#244366;font-size:14px}
#content .ag-workbook .ag-feedback:empty{display:none}
#content :is(.ag-workbook,.ag-review) .ag-source{margin:18px 0 24px;padding:22px;border:1px solid #e1e8f3;border-radius:13px;background:#f5f8fd;color:#233f59;font-size:17px;line-height:1.85}
#content :is(.ag-workbook,.ag-review) textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:150px;height:auto;margin:10px 0;padding:16px;border:1px solid #bdcce1;border-radius:11px;background:#fff;color:#183247;font:400 17px/1.7 'Nunito',system-ui,sans-serif;text-align:left;resize:vertical;box-shadow:none}
#content .ag-workbook #ag-notes{min-height:88px}
#content :is(.ag-workbook,.ag-review) label:not(.ag-option){color:#24405a;font-size:15px}
#content :is(.ag-workbook,.ag-review) select{width:auto;max-width:100%;min-width:0;min-height:44px;padding:8px 12px;font-size:16px}
#content .ag-workbook input[type="file"]{display:block;width:100%;max-width:100%;min-width:0;margin:10px 0 18px;padding:12px;font-size:14px}
#content :is(.ag-workbook,.ag-review) audio{display:block;width:100%;max-width:100%;margin:14px 0}
#content .ag-workbook details{margin:16px 0;padding:12px 0;color:#31557c;font-size:15px}
#content .ag-workbook summary{cursor:pointer}
#content .ag-workbook #ag-word-count{text-align:right;color:#52657a;font-size:14px}
#content .ag-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:22px 0 0}
#content .ag-workbook #ag-next{margin-left:auto}
#content .ag-workbook #ag-status{margin:26px 0 0;padding-top:20px;border-top:1px solid #e6ecf4;color:#52657a;font-size:13px}
#content .ag-workbook #ag-summary:not(:empty){margin-top:18px;padding:16px;border:1px solid #c9d9f2;border-radius:10px;background:#f1f6ff;color:#244366}
#content .ag-workbook [hidden]{display:none!important}
@media(max-width:600px){
 #content .ag-workbook,#content .ag-review{padding:20px 16px;border-radius:15px}
 #content .ag-head{gap:8px;font-size:13px}
 #content .ag-head>span:last-child{margin-left:0}
 #content .ag-workbook .ag-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
 #content .ag-workbook .ag-tabs .ag-btn{font-size:13px}
 #content .ag-workbook label.ag-option{padding:12px;gap:10px!important}
 #content .ag-workbook legend{font-size:16px}
 #content :is(.ag-workbook,.ag-review) .ag-source{padding:17px;font-size:16px}
 #content :is(.ag-workbook,.ag-review) .ag-btn{padding:11px 14px}
}

#content .ag-workbook .ag-tabs .ag-btn{position:relative}
#content .ag-workbook .ag-tabs .ag-btn[data-complete="true"]::after{content:"✓";position:absolute;top:2px;right:5px;color:#2459cf;font-size:10px;line-height:1}

/* A1 student and teacher workflow UX: preserve the established component layout. */
#content .ag-workbook #ag-status{margin:0 0 16px;padding:9px 12px;border:1px solid #dce7f8;border-radius:9px;background:#f7faff;color:#31557c;font-size:13px;line-height:1.5}
#content .ag-workbook .ag-tabs .ag-btn[data-attempted="true"]:not([data-complete="true"])::after{content:"•";position:absolute;top:1px;right:6px;color:#597697;font-size:18px;line-height:1}
#content .ag-workbook .ag-actions .ag-submit{border-color:#2459cf;color:#2459cf;font-weight:800}
#content .ag-workbook .ag-actions .ag-submit:hover{background:#eef4ff}
#content .ag-review .ag-review-description{color:#52657a;font-size:15px;max-width:680px}
#content .ag-review .ag-review-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);align-items:end;gap:14px;margin:24px 0 12px}
#content .ag-review .ag-review-filters{display:flex;gap:6px;flex-wrap:wrap}
#content .ag-review .ag-review-filters .ag-btn{min-height:43px;padding:9px 12px;font-size:13px}
#content .ag-review .ag-review-filters .ag-btn[aria-pressed="true"]{border-color:#2459cf;background:#eaf1ff;color:#1747aa}
#content .ag-review .ag-review-toolbar label{display:grid;gap:5px;color:#52657a;font-size:13px}
#content .ag-review #ag-review-search{width:100%;min-width:0;min-height:44px;border:1px solid #bdcce1;border-radius:10px;padding:10px 12px;font:inherit;font-size:15px;color:#183247;background:white}
#content .ag-review #ag-review-count{margin:10px 0;color:#52657a;font-size:13px}
#content .ag-review .ag-review-item{margin:10px 0;border:1px solid #dce4ef;border-radius:12px;background:#fff;overflow:hidden}
#content .ag-review .ag-review-item[hidden],#content .ag-review #ag-review-empty[hidden]{display:none!important}
#content .ag-review .ag-review-item>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;list-style:none;background:#f9fbff}
#content .ag-review .ag-review-item>summary::-webkit-details-marker{display:none}
#content .ag-review .ag-review-item>summary:hover{background:#f1f5fd}
#content .ag-review .ag-review-item[open]>summary{border-bottom:1px solid #dce4ef}
#content .ag-review .ag-review-summary-main{display:grid;min-width:0;gap:4px}
#content .ag-review .ag-review-summary-main strong{font-size:16px;color:#183247;overflow-wrap:anywhere}
#content .ag-review .ag-review-summary-main small{font-size:12px;color:#52657a;overflow-wrap:anywhere}
#content .ag-review .ag-review-summary-side{display:grid;justify-items:end;gap:4px;max-width:50%;text-align:right}
#content .ag-review .ag-review-summary-side small{font-size:12px;color:#52657a;line-height:1.5}
#content .ag-review .ag-review-status{font-size:12px;font-weight:800;color:#194bb8}
#content .ag-review .ag-review-item[data-review-status="reviewed"] .ag-review-status{color:#24614a}
#content .ag-review .ag-review-detail{padding:16px;display:grid;gap:8px}
#content .ag-review .ag-review-detail h4{font-size:15px;margin:8px 0 0;color:#183247}
#content .ag-review .ag-review-detail p{margin:2px 0 8px;white-space:pre-wrap;overflow-wrap:break-word}
#content .ag-review .ag-review-writing{background:#f7f9fd;padding:14px;border-radius:9px}
#content .ag-review .ag-review-evidence{border:1px solid #dce4ef;border-radius:10px;padding:10px 12px}
#content .ag-review .ag-review-evidence summary{cursor:pointer;font-weight:700;font-size:14px;color:#2459cf}
#content .ag-review .ag-review-evidence p{border-top:1px solid #e4eaf3;padding:12px 0 0;margin-top:12px}
#content .ag-review .ag-review-evidence small{display:block;margin-top:4px;color:#52657a}
#content .ag-review .ag-review-feedback-label{display:grid;gap:4px;font-weight:700}
#content .ag-review .ag-review-feedback-label textarea{min-height:108px;margin:2px 0}
#content .ag-review .ag-review-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
#content .ag-review .ag-review-actions p{margin:0;font-size:13px;color:#31557c}
#content .ag-review #ag-review-empty{padding:16px;border:1px dashed #bdcce1;border-radius:10px;color:#52657a;background:#f8faff}
@media(max-width:600px){
 #content .ag-review .ag-review-toolbar{grid-template-columns:1fr;gap:10px}
 #content .ag-review .ag-review-item>summary{align-items:start;flex-direction:column}
 #content .ag-review .ag-review-summary-side{justify-items:start;max-width:100%;text-align:left}
 #content .ag-workbook .ag-actions .ag-submit{width:100%;margin-left:0}
 #content .ag-review .ag-review-actions .ag-btn{width:100%}
}
