:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:transparent;--input-disabled-border-color:transparent;--input-hover-border-color:black;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selecteditem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert();backdrop-filter:invert()}}.annotationLayer{pointer-events:none;transform-origin:0 0;z-index:3;position:absolute;top:0;left:0}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg)translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg)translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg)translateY(-100%)}.annotationLayer canvas{width:100%;height:100%;position:absolute}.annotationLayer section{text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0;margin:0;position:absolute}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{width:100%;height:100%;font-size:1em;position:absolute;top:0;left:0}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;vertical-align:top;width:100%;height:100%;margin:0}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{border:2px solid var(--input-disabled-border-color);cursor:not-allowed;background:0 0}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);background:0 0;border-radius:2px}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:#0000;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);border-radius:2px}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{content:"";background-color:canvastext;display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{width:1px;height:80%;left:45%}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;width:50%;height:50%;top:20%;left:30%}.annotationLayer .textWidgetAnnotation input.comb{padding-left:2px;padding-right:0;font-family:monospace}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{width:100%;height:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none;position:absolute}.annotationLayer .popup{max-width:calc(180px * var(--total-scale-factor));box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto;background-color:#ff9;position:absolute}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{margin-left:calc(5px * var(--total-scale-factor));display:inline-block}.annotationLayer .popupContent{margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor));border-top:1px solid #333}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .annotationTextContent{opacity:0;color:#0000;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg)translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg)translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg)translate(-100%)}.textLayer{text-align:initial;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2;line-height:1;position:absolute;inset:0;overflow:hidden}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;margin:0;position:absolute}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:0 0}.textLayer .endOfContent{z-index:-1;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{width:0;height:0;display:none;position:absolute;top:0;left:0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--walnut:#4a2810;--walnut-mid:#6b3a1f;--walnut-lt:#8b5030;--gold:#c9952a;--gold-lt:#e2b04a;--gold-pale:#f5e6c0;--cream:#f0e4ca;--bg:#faf6ee;--text:#2c1a0e;--muted:#7a5c3e;--light:#a07850;--border:#e5d5ba;--sidebar-w:248px;--green:#1b6b3a;--green-bg:#e6f4ec;--red:#b91c1c;--red-bg:#fee2e2}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:17px}@keyframes vtl-flash{0%,to{opacity:1}50%{opacity:.2}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.sidebar{width:var(--sidebar-w);background:var(--walnut);z-index:100;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-logo{text-align:center;border-bottom:1px solid #ffffff14;padding:1.5rem 1.25rem 1.25rem}.sidebar-name{color:var(--gold-lt);letter-spacing:.04em;margin-top:.6rem;font-family:Georgia,serif;font-size:14px;line-height:1.5}.sidebar-verse{color:#ffffff4d;margin-top:.2rem;font-size:12px;font-style:italic}.sidebar-section{padding:.75rem 0}.sidebar-lbl{text-transform:uppercase;letter-spacing:.12em;color:#c9a84c;padding:0 1.25rem .4rem;font-size:11px;font-weight:500}.sidebar-item{cursor:pointer;color:#ffffff9e;-webkit-user-select:none;user-select:none;border-left:3px solid #0000;align-items:center;gap:.6rem;padding:.65rem 1.25rem;font-size:15px;transition:background .13s,color .13s;display:flex}.sidebar-item:hover{color:#ffffffe6;background:#ffffff0f}.sidebar-item.active{color:var(--gold-lt);border-left-color:var(--gold);background:#c9952a24}.sidebar-item i{text-align:center;flex-shrink:0;width:20px;font-size:18px}.sidebar-item .badge{color:#ffffff47;margin-left:auto;font-size:11px}.sidebar-divider{background:#ffffff12;height:1px;margin:.25rem 1.25rem}.main{margin-left:var(--sidebar-w);flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border);z-index:50;background:#fff;justify-content:space-between;align-items:center;padding:.8rem 2rem;display:flex;position:sticky;top:0}.topbar-crumb{color:var(--muted);align-items:center;gap:.45rem;font-size:15px;display:flex}.topbar-crumb strong{color:var(--text);font-weight:500}.topbar-date{color:var(--muted);align-items:center;gap:.4rem;font-size:14px;display:flex}.content{flex:1;padding:2rem 2.25rem}.page-title{color:var(--walnut);margin-bottom:.25rem;font-family:Georgia,serif;font-size:26px;font-weight:700}.page-sub{color:var(--muted);margin-bottom:1.75rem;font-size:15px}.section-hd{color:var(--walnut);justify-content:space-between;align-items:center;margin-bottom:.9rem;font-family:Georgia,serif;font-size:19px;font-weight:400;display:flex}.section-act{color:var(--gold);cursor:pointer;font-family:-apple-system,sans-serif;font-size:14px;font-weight:500}.section-act:hover{text-decoration:underline}.card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:1.5rem}.grid-2{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.subj-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:1rem;display:grid}.scripture-banner{background:var(--walnut);color:var(--cream);border-radius:12px;margin-bottom:1.75rem;padding:1.25rem 1.75rem;font-family:Georgia,serif;font-size:16px;font-style:italic;line-height:1.8;position:relative;overflow:hidden}.scripture-banner:before{content:"“";color:#c9952a2e;pointer-events:none;font-family:Georgia,serif;font-size:90px;line-height:1;position:absolute;top:-12px;left:10px}.scripture-ref{color:var(--gold-lt);margin-top:.5rem;font-family:-apple-system,sans-serif;font-size:13px;font-style:normal;display:block}.stat-tile{border:1px solid var(--border);background:#fff;border-radius:12px;align-items:center;gap:.875rem;padding:1.1rem 1.25rem;display:flex}.stat-icon{background:var(--cream);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.stat-icon i{color:var(--walnut-mid);font-size:20px}.stat-val{color:var(--walnut);margin-bottom:2px;font-family:Georgia,serif;font-size:23px;line-height:1}.stat-lbl{color:var(--muted);font-size:13px}.student-card{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:12px;transition:box-shadow .18s,border-color .18s,transform .18s;overflow:hidden}.student-card:hover{border-color:var(--gold);transform:translateY(-1px);box-shadow:0 4px 18px #4a28101c}.student-card-hdr{align-items:center;gap:.9rem;padding:1.2rem 1.4rem;display:flex}.avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Georgia,serif;display:flex}.student-name{color:var(--walnut);font-family:Georgia,serif;font-size:20px;font-weight:400}.student-grade{color:var(--muted);margin-top:2px;font-size:14px}.student-card-body{padding:0 1.4rem 1.2rem}.sched-list{flex-direction:column;gap:.45rem;display:flex}.sched-item{background:var(--bg);border:1px solid var(--border);border-radius:8px;align-items:center;gap:.75rem;padding:.6rem .9rem;display:flex}.sched-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sched-subject{color:var(--text);flex:1;font-size:15px;font-weight:500}.sched-subtopic{color:var(--muted);text-align:right;max-width:160px;font-size:13px}.subj-card{border:1px solid var(--border);cursor:pointer;text-align:center;background:#fff;border-radius:12px;padding:1.2rem;transition:box-shadow .18s,border-color .18s,transform .18s}.subj-card:hover{border-color:var(--gold);transform:translateY(-1px);box-shadow:0 4px 16px #4a28101a}.subj-icon{border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;margin:0 auto .7rem;display:flex}.subj-icon i{font-size:22px}.subj-name{color:var(--walnut);margin-bottom:.2rem;font-family:Georgia,serif;font-size:16px;font-weight:400}.subj-desc{color:var(--light);font-size:12.5px;line-height:1.4}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.35rem;padding:.5rem 1.05rem;font-family:inherit;font-size:14.5px;font-weight:500;transition:background .14s,color .14s;display:inline-flex}.btn-primary{background:var(--walnut);color:#fff}.btn-primary:hover{background:var(--walnut-mid)}.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{background:var(--gold-lt)}.btn-outline{color:var(--walnut-mid);border:1px solid var(--border);background:0 0}.btn-outline:hover{border-color:var(--gold);color:var(--gold)}.btn-sm{padding:.35rem .85rem;font-size:13.5px}.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:#155f32}.tag{border-radius:20px;padding:3px 10px;font-size:12.5px;font-weight:500;display:inline-block}.tag-gold{background:var(--gold-pale);color:#7a5000;border:1px solid #d4a843}.tag-walnut{background:var(--cream);color:var(--walnut-mid);border:1px solid var(--border)}.tag-green{background:var(--green-bg);color:var(--green);border:1px solid #b2d9bf}.tag-red{background:var(--red-bg);color:var(--red);border:1px solid #fca5a5}.tag-blue{color:#2e5090;background:#e8eef8;border:1px solid #b8ccf0}.back-btn{color:var(--muted);cursor:pointer;align-items:center;gap:.4rem;margin-bottom:1.25rem;font-size:13px;display:inline-flex}.back-btn:hover{color:var(--walnut)}.subtopic-block{border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:.75rem;overflow:hidden}.subtopic-hdr{cursor:pointer;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:.95rem 1.4rem;display:flex}.subtopic-hdr:hover{background:var(--bg)}.subtopic-hdr.open{border-bottom-color:var(--border)}.subtopic-title{color:var(--walnut);font-family:Georgia,serif;font-size:17px;font-weight:400}.subtopic-desc{color:var(--muted);margin-top:2px;font-size:13.5px}.subtopic-body{background:var(--bg);padding:1.1rem 1.4rem}.lesson-row{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:.875rem;margin-bottom:.45rem;padding:.9rem 1.1rem;transition:border-color .14s,box-shadow .14s;display:flex}.lesson-row:hover{border-color:var(--gold);box-shadow:0 2px 8px #4a281014}.lesson-num{background:var(--cream);width:28px;height:28px;color:var(--walnut-mid);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:500;display:flex}.lesson-title-txt{color:var(--text);flex:1;font-size:15px;font-weight:500}.lesson-meta{color:var(--muted);font-size:13px}.add-lesson{border:1.5px dashed var(--border);color:var(--muted);cursor:pointer;text-align:left;background:0 0;border-radius:8px;align-items:center;gap:.5rem;width:100%;margin-top:.5rem;padding:.75rem .9rem;font-family:inherit;font-size:14.5px;transition:border-color .14s,color .14s;display:flex}.add-lesson:hover{border-color:var(--gold);color:var(--gold)}.phil-block{border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:.875rem;padding:1.5rem 1.75rem}.phil-hd{color:var(--walnut);align-items:center;gap:.6rem;margin-bottom:.6rem;font-family:Georgia,serif;font-size:15.5px;font-weight:400;display:flex}.phil-hd:before{content:"";background:var(--gold);border-radius:2px;flex-shrink:0;width:3px;height:16px;display:inline-block}.phil-text{color:var(--muted);font-size:15px;line-height:1.85}.day-tab{cursor:pointer;border:1px solid var(--border);color:var(--muted);background:0 0;border-radius:8px;padding:.5rem 1.1rem;font-family:inherit;font-size:14.5px;font-weight:500;transition:background .14s,color .14s,border-color .14s}.day-tab.active{background:var(--walnut);color:#fff;border-color:var(--walnut)}.day-tab:hover:not(.active){border-color:var(--gold);color:var(--gold)}.plan-check{border:1.5px solid var(--border);cursor:pointer;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:background .14s,border-color .14s;display:flex}.plan-check.checked{background:var(--green);border-color:var(--green)}.plan-check.lesson-check{border-color:var(--gold)}.plan-check.lesson-check.checked{background:var(--gold);border-color:var(--gold)}.lesson-wrap{max-width:820px}.timer-bar{border:1px solid var(--border);background:#fff;border-radius:10px;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:.7rem 1.1rem;display:flex}.timer-display{color:var(--walnut);letter-spacing:.05em;min-width:70px;font-family:Courier New,monospace;font-size:22px;font-weight:700}.timer-display.warning{color:#d97706}.timer-display.urgent{color:var(--red)}.timer-track{background:var(--bg);border-radius:3px;flex:1;height:6px;overflow:hidden}.timer-fill{background:var(--gold);border-radius:3px;height:100%;transition:width .5s linear}.timer-fill.warning{background:#d97706}.timer-fill.urgent{background:var(--red)}.lesson-hdr-card{border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:1.25rem;padding:1.25rem 1.5rem}.lesson-hdr-card .objective{background:var(--gold-pale);border-left:4px solid var(--gold);color:#5c3a00;border-radius:0 8px 8px 0;margin-top:.875rem;padding:.875rem 1.1rem;font-size:13.5px;line-height:1.7}.problem-card{border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:.875rem;padding:1.25rem 1.5rem;transition:border-color .2s}.problem-card.correct{border-color:var(--green);background:#fafffc}.problem-card.incorrect{border-color:var(--red)}.problem-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);align-items:center;gap:.5rem;margin-bottom:.6rem;font-size:12px;font-weight:600;display:flex}.problem-story{color:var(--text);margin-bottom:1rem;font-family:Georgia,serif;font-size:17px;line-height:1.8}.problem-question{color:var(--walnut);margin-bottom:.875rem;font-size:15px;font-weight:600}.answer-row{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.answer-input{border:1.5px solid var(--border);width:140px;color:var(--text);background:var(--bg);border-radius:8px;outline:none;padding:.5rem .85rem;font-family:Courier New,monospace;font-size:17px;transition:border-color .14s}.answer-input:focus{border-color:var(--gold);background:#fff}.answer-input.correct{border-color:var(--green);background:var(--green-bg)}.answer-input.incorrect{border-color:var(--red);background:var(--red-bg)}.result-msg{align-items:center;gap:.3rem;font-size:15px;font-weight:500;display:flex}.result-msg.correct{color:var(--green)}.result-msg.incorrect{color:var(--red)}.hint-box{color:#7a5000;background:#fff8e6;border:1px solid #f0cc72;border-radius:8px;margin-top:.75rem;padding:.875rem 1.1rem;font-size:15px;line-height:1.7}.solution-box{background:var(--green-bg);color:#1a5c30;border:1px solid #b2d9bf;border-radius:8px;margin-top:.75rem;padding:1rem 1.1rem;font-size:15px;line-height:1.7}.solution-box .formula{margin-bottom:.3rem;font-family:Courier New,monospace;font-size:18px;font-weight:700;display:block}.lesson-footer-section{border:1px solid var(--border);background:#fff;border-radius:12px;margin-top:.875rem;padding:1.25rem 1.5rem}.footer-hd{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:13px;font-weight:600;display:flex}.completion-row{border-bottom:1px solid var(--border);align-items:center;gap:.875rem;padding:.875rem 0;display:flex}.completion-row:last-child{border-bottom:none;padding-bottom:0}.check-box{border:2px solid var(--border);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:all .15s;display:flex}.check-box.student-check{border-color:var(--walnut-mid)}.check-box.student-check.done{background:var(--walnut);border-color:var(--walnut)}.check-box.verify-check{border-color:var(--gold)}.check-box.verify-check.done{background:var(--gold);border-color:var(--gold)}.check-box i{color:#fff;font-size:13px}.check-label{color:var(--text);flex:1;font-size:15px}.check-date{color:var(--muted);font-size:13px}.progress-bar-wrap{background:var(--bg);border-radius:6px;height:8px;margin-bottom:.4rem;overflow:hidden}.progress-bar-fill{background:var(--gold);border-radius:6px;height:100%;transition:width .4s}.progress-label{color:var(--muted);margin-bottom:1.25rem;font-size:12px}.iframe-wrap{border:1px solid var(--border);background:#fff;border-radius:12px;overflow:hidden}.iframe-topbar{background:var(--walnut);color:#fff;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;font-size:13px;display:flex}.iframe-topbar a{color:var(--gold-lt);align-items:center;gap:.3rem;font-size:12px;text-decoration:none;display:flex}.iframe-topbar a:hover{text-decoration:underline}.reflection-box{background:var(--bg);border:1px solid var(--border);color:var(--muted);border-radius:10px;padding:1rem 1.25rem;font-size:13.5px;font-style:italic;line-height:1.7}.celebration{text-align:center;background:var(--green-bg);border:1px solid #b2d9bf;border-radius:12px;margin-bottom:1rem;padding:1.5rem}.celebration h3{color:var(--green);margin-bottom:.5rem;font-family:Georgia,serif;font-size:20px;font-weight:400}.celebration p{color:#1a5c30;font-size:13.5px}.grading-panel{border:1px solid var(--border);background:#fff;border-radius:12px;margin-top:.875rem;padding:1.25rem 1.5rem}.grading-panel-hd{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:1.1rem;font-size:13px;font-weight:600;display:flex}.grading-score-badge{letter-spacing:.01em;font-size:15px;font-weight:600}.grading-pillar{border:1px solid var(--border);background:var(--bg);border-radius:10px;margin-bottom:.75rem;padding:1rem 1.1rem}.grading-pillar-hd{color:var(--walnut);justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:13px;font-weight:600;display:flex}.grading-weight-tag{background:var(--cream);color:var(--walnut-mid);border:1px solid var(--border);border-radius:20px;padding:2px 9px;font-size:11.5px;font-weight:500}.grading-criterion{flex-direction:column;gap:.3rem;margin-bottom:.75rem;display:flex}.grading-criterion:last-child{margin-bottom:0}.grading-criterion-lbl{color:var(--text);font-size:13.5px;font-weight:500}.rating-btns{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.rating-btn{border:1.5px solid var(--border);width:34px;height:34px;color:var(--muted);cursor:pointer;background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-size:14px;font-weight:600;transition:all .13s;display:flex}.rating-btn:hover{border-color:var(--gold);color:var(--gold)}.rating-btn.selected{background:var(--walnut);border-color:var(--walnut);color:#fff}.rating-desc{color:var(--muted);margin-left:.25rem;font-size:12.5px;font-style:italic}.grading-student-pick{margin-bottom:1rem}.grading-student-btn{border:1.5px solid var(--border);color:var(--muted);cursor:pointer;background:#fff;border-radius:20px;align-items:center;gap:.45rem;padding:.4rem .85rem;font-family:inherit;font-size:13.5px;font-weight:500;transition:all .13s;display:inline-flex}.grading-student-btn:hover{border-color:var(--gold);color:var(--gold)}.grading-student-btn.selected{background:var(--walnut);border-color:var(--walnut);color:#fff}.grading-student-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.grading-section-lbl{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px;font-weight:600}.grading-score-section{background:var(--bg);border:1px solid var(--border);border-radius:10px;margin-top:.25rem;padding:1rem 1.1rem}.grading-score-row{flex-wrap:wrap;align-items:flex-start;gap:2rem;display:flex}.grading-score-display{margin-top:.3rem;font-family:Georgia,serif;font-size:22px}.grading-override-input{border:1.5px solid var(--border);width:90px;color:var(--text);background:#fff;border-radius:8px;outline:none;padding:.4rem .75rem;font-family:inherit;font-size:15px;transition:border-color .13s}.grading-override-input:focus{border-color:var(--gold)}.grading-clear-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:12.5px;text-decoration:underline}.grading-override-note{color:var(--muted);align-items:center;gap:.4rem;margin-top:.75rem;font-size:13px;display:flex}.grading-notes{border:1.5px solid var(--border);width:100%;color:var(--text);resize:vertical;background:#fff;border-radius:8px;outline:none;padding:.6rem .875rem;font-family:inherit;font-size:14.5px;line-height:1.6;transition:border-color .13s}.grading-notes:focus{border-color:var(--gold)}.grading-footer{border-top:1px solid var(--border);align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.flex{display:flex}.items-center{align-items:center}.gap-sm{gap:.5rem}.gap-md{gap:1rem}.text-muted{color:var(--muted)}.text-sm{font-size:12px}.transcript-doc{max-width:780px;margin:0 auto}.transcript-frame{border:1px solid var(--border);color:#1a1a1a;background:#fff;border-radius:12px;padding:3rem 3.5rem;font-family:Georgia,Times New Roman,serif;position:relative;box-shadow:0 4px 32px #4a281017}.tr-header{text-align:center;margin-bottom:1.5rem}.tr-school-name{letter-spacing:.04em;color:#3a1e00;margin-bottom:.2rem;font-size:22px;font-weight:700}.tr-family{color:#666;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.35rem;font-size:13px}.tr-doc-title{letter-spacing:.14em;text-transform:uppercase;color:#1a1a1a;margin:.5rem 0 .2rem;font-size:14px;font-weight:700}.tr-year{color:#444;font-size:13.5px;font-style:italic}.tr-divider{border:none;border-top:2px solid #3a1e00;margin:0 0 1.5rem}.tr-student-block{margin-bottom:1.75rem}.tr-info-grid{grid-template-columns:repeat(3,1fr);gap:.55rem 2rem;display:grid}.tr-info-row{flex-direction:column;gap:.15rem;display:flex}.tr-label{text-transform:uppercase;letter-spacing:.1em;color:#888;font-family:-apple-system,sans-serif;font-size:10px;font-weight:600}.tr-value{color:#1a1a1a;padding-bottom:2px;font-size:14px}.tr-underline{border-bottom:1px solid #bbb}.tr-section-title{text-transform:uppercase;letter-spacing:.12em;color:#3a1e00;border-bottom:1px solid #ddd;margin-bottom:.6rem;padding-bottom:.35rem;font-family:-apple-system,sans-serif;font-size:10.5px;font-weight:700}.tr-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:13px}.tr-table-subjects .tr-th-left,.tr-table-subjects .tr-td-left{width:22%}.tr-table-subjects th:nth-child(5),.tr-table-subjects td:nth-child(5),.tr-table-subjects th:last-child,.tr-table-subjects td:last-child{width:15%}.tr-table-pillars .tr-th-left,.tr-table-pillars .tr-td-left{width:40%}.tr-table-attendance .tr-th-left,.tr-table-attendance .tr-td-left{width:60%}.tr-th{text-transform:uppercase;letter-spacing:.09em;color:#555;text-align:center;background:#f7f4f0;border:1px solid #d8d8d8;padding:.45rem .65rem;font-family:-apple-system,sans-serif;font-size:10px;font-weight:700}.tr-th-left{text-align:left}.tr-td{vertical-align:middle;overflow-wrap:break-word;border:1px solid #e0e0e0;padding:.5rem .65rem}.tr-td-center{text-align:center}.tr-td-left{text-align:left}.tr-score{font-size:14px;font-weight:700}.tr-letter{color:#3a1e00;font-size:15px;font-weight:700}.tr-row-even{background:#fff}.tr-row-odd{background:#faf8f5}.tr-total-row{background:#f0ece5!important}.tr-total-label{font-style:italic;font-weight:700}.tr-total-score{font-size:17px}.tr-empty{text-align:center;color:#888;border:1px solid #e0e0e0;border-radius:4px;padding:1rem;font-size:13px;font-style:italic}.tr-gpa-block{border:1.5px solid #3a1e00;border-radius:6px;flex-wrap:wrap;gap:2rem;margin-top:1.5rem;padding:.9rem 1.2rem;display:flex}.tr-gpa-row{flex-direction:column;gap:.15rem;display:flex}.tr-gpa-label{text-transform:uppercase;letter-spacing:.1em;color:#888;font-family:-apple-system,sans-serif;font-size:10px;font-weight:600}.tr-gpa-val{color:#3a1e00;font-size:18px;font-weight:700}.tr-scale-block{background:#f7f4f0;border:1px solid #e8e4de;border-radius:5px;margin-top:1.25rem;padding:.75rem 1rem}.tr-scale-title{text-transform:uppercase;letter-spacing:.1em;color:#888;margin-bottom:.4rem;font-family:-apple-system,sans-serif;font-size:9.5px;font-weight:700}.tr-scale-row{flex-wrap:wrap;gap:.4rem 1.5rem;font-size:11.5px;display:flex}.tr-scale-item{white-space:nowrap;align-items:baseline;gap:.4rem;display:flex}.tr-scale-range{font-weight:600}.tr-scale-label{color:#555}.tr-scale-note{color:#888;margin-top:.4rem;font-size:11px;font-style:italic}.tr-sig-block{border-top:1px solid #ddd;margin-top:2.5rem;padding-top:1.5rem}.tr-sig-intro{color:#555;text-align:center;margin-bottom:1.75rem;font-size:12.5px;font-style:italic;line-height:1.6}.tr-sig-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2rem;display:grid}.tr-sig-col{flex-direction:column;gap:.35rem;display:flex}.tr-sig-line{border-bottom:1.5px solid #555;height:32px}.tr-sig-role{text-transform:uppercase;letter-spacing:.08em;color:#666;font-family:-apple-system,sans-serif;font-size:11px;font-weight:600}.tr-sig-date-row{color:#555;align-items:center;gap:.35rem;font-size:12px;display:flex}.tr-sig-date-label{white-space:nowrap}.tr-sig-date-line{border-bottom:1px solid #bbb;flex:1}.tr-doc-footer{color:#aaa;border-top:1px solid #eee;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem;margin-top:2rem;padding-top:.75rem;font-family:-apple-system,sans-serif;font-size:10.5px;display:flex}@media print{.sidebar,.topbar,.print-hide{display:none!important}.main{margin-left:0!important;padding:0!important}.content{padding:0!important}body{background:#fff!important}.card,.report-card-body>div{box-shadow:none!important}.transcript-doc{max-width:100%;margin:0}.transcript-frame{box-shadow:none!important;border:none!important;border-radius:0!important;padding:0!important}.tr-table,.tr-table tr,.tr-gpa-block,.tr-scale-block,.tr-sig-block{page-break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@page{size:Letter portrait;margin:.85in .9in}
