/* Imam Smart Board: all styles scoped; Quran layer remains immutable. */
.imam-board-root{position:fixed;inset:0;z-index:2147483000;background:#f4f7f4;color:#18382c;direction:rtl;font-family:system-ui,'Segoe UI',sans-serif;overflow:hidden}
.ib-shell{height:100%;display:flex;flex-direction:column}.ib-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;background:#0b4936;color:#fff;flex-wrap:wrap}.ib-header b{display:block;font-size:20px}.ib-header small{font-size:12px;opacity:.85}.ib-buttons{display:flex;gap:7px;flex-wrap:wrap}.imam-board-root button,.imam-board-root select,.imam-board-root input,.imam-board-root textarea{font:inherit}.imam-board-root button{border:1px solid #b7ccc1;background:#fff;color:#123c2b;border-radius:11px;min-height:39px;padding:7px 12px;cursor:pointer}.imam-board-root button:focus-visible{outline:3px solid #dfbd6f}.imam-board-root button.on,.imam-board-root button.ib-rescue{background:#bb9349;color:white;border-color:#bb9349}.imam-board-root select,.imam-board-root input,.imam-board-root textarea{display:block;max-width:100%;background:#fff;border:1px solid #c0d0c6;border-radius:10px;padding:9px;color:#163d30}.imam-board-root textarea{width:100%;min-height:88px;resize:vertical}.ib-workspace{min-height:0;flex:1;display:grid;grid-template-columns:minmax(170px,18%) minmax(0,1fr) minmax(170px,18%);gap:8px;padding:8px;overflow:hidden}.ib-workspace aside{overflow:auto;border:1px solid #d4e0d9;border-radius:14px;background:#fff;padding:12px}.ib-workspace aside h3{margin:8px 0;font-size:16px}.ib-workspace aside button{margin:5px 2px}.ib-workspace aside label{display:block;margin:12px 0;color:#315746;font-size:13px}.ib-workspace aside label select{width:100%}.ib-small{font-size:12px;color:#687d70;line-height:1.7}.ib-info{font-size:13px;line-height:1.7;color:#235e43}.ib-main{display:flex;flex-direction:column;min-width:0;min-height:0;gap:7px}.ib-activities,.ib-range,.ib-toolbox,.ib-tools-bottom,.ib-encourage{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:7px;background:#fff;border:1px solid #d4dfd7;border-radius:12px}.ib-activities{overflow-x:auto;flex-wrap:nowrap}.ib-activities button{white-space:nowrap}.ib-range input{width:65px}.ib-range select{width:125px}.ib-range label{font-size:12px}.ib-encourage select{max-width:155px}.ib-board-area{background:#fffdf4;border:2px solid #cdb16c;border-radius:17px;position:relative;flex:1;min-height:130px;overflow:auto;isolation:isolate}.ib-verses{position:relative;z-index:1;font-family:'Traditional Arabic','Amiri',serif;text-align:justify;line-height:2.7;padding:25px;min-height:100%;color:#132d22}.ib-ayah{display:block;position:relative;border-bottom:1px solid #f0edda;padding:8px}.ib-ayah.ib-curtained .ib-word{color:transparent;background:#dfd4b9;border-radius:5px}.ib-ayah-number{color:#a07a31!important;background:transparent!important;border:0!important}.ib-word{font:inherit!important;background:transparent!important;border:0!important;color:inherit!important;padding:1px 3px!important;min-height:0!important;line-height:inherit!important}.ib-word:hover{background:#fff2be!important}.ib-draw,#ib-draw{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;touch-action:none}.ib-paint #ib-draw{pointer-events:auto;cursor:crosshair}.ib-effects{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}.ib-effects span{position:absolute;bottom:0;display:block;font-size:42px;animation:imamCelebrate 2.3s ease-out both}@keyframes imamCelebrate{0%{transform:translateY(0) scale(.6);opacity:0}18%{opacity:1}100%{transform:translateY(-65vh) scale(1.3);opacity:0}}.ib-focus .ib-verses{box-shadow:inset 0 0 80px 20px #283e394d}.ib-lens .ib-verses{font-size:1.25em!important}.ib-tools-bottom{justify-content:space-between}.ib-encourage{background:#edf8ee}.ib-main button{font-size:13px}.ib-header button{color:#174733}.ib-students #ib-status{margin:10px 0;padding:9px;border-radius:10px;background:#f2f7f3}.imam-student-display{margin:0;background:#fcfaf0;min-height:100vh;color:#13382b;direction:rtl}.ib-wait{min-height:80vh;display:grid;align-content:center;text-align:center;gap:25px;color:#1e5540}.ib-display-header{padding:18px 28px;background:#12533f;color:white;font-size:25px;text-align:center}.ib-display-quran{padding:40px 5%;font-family:'Traditional Arabic','Amiri',serif;line-height:2.8;max-width:1400px;margin:auto}.ib-display-quran p{padding:12px 0;border-bottom:1px solid #e5dfc6;margin:0}.ib-display-word{margin-inline-end:.4em}.ib-display-verse-number{font-size:.7em;color:#96722b;margin-inline-end:15px}.ib-display-explain{background:#e5f3e7;color:#16412b;padding:25px;font-size:23px}.ib-display-draw{position:absolute;inset:65px 0 0;width:100%;height:calc(100% - 65px);pointer-events:none;opacity:.75}.imam-student-display .ib-effects{position:fixed}.imam-student-display .ib-wait h1{font-size:35px}
@media(max-width:850px){.imam-board-root{overflow:auto}.ib-shell{min-height:100%;height:auto}.ib-header{position:sticky;top:0;z-index:8;padding:9px}.ib-workspace{display:flex;flex-direction:column;overflow:visible}.ib-workspace aside{max-height:240px}.ib-main{min-height:580px}.ib-board-area{min-height:300px}.ib-activities{width:100%}.ib-toolbox{max-height:125px;overflow:auto}.ib-students{order:0}.ib-main{order:1}.ib-science{order:2}.ib-header button{font-size:12px}.ib-display-quran{padding:18px}}
@media(prefers-reduced-motion:reduce){.ib-effects span{animation:none;display:none}}
.ib-expanded .ib-students,.ib-expanded .ib-science{display:none}.ib-expanded .ib-workspace{grid-template-columns:minmax(0,1fr)}.ib-expanded .ib-verses{max-width:1350px;margin:auto}
/* Preparations and timeline remain teacher-only; not emitted to the student window. */
.ib-timeline{margin-block:8px;padding:10px;border:1px solid #d6e0d6;border-radius:12px;background:#f6f9f6;display:flex;gap:5px;flex-wrap:wrap;font-size:12px;line-height:1.6}
.ib-timeline>div{flex-basis:100%;font-weight:700}.ib-timeline button{padding:4px 7px;font-size:12px;min-height:32px}.ib-timeline button.on{background:#0d573e;color:#fff;border-color:#0d573e}
.ib-prep-overlay{position:absolute;inset:0;z-index:12;background:#001b17ba;display:grid;place-items:center;padding:12px;overflow:auto}
.ib-prep-dialog{background:#fafffa;color:#17382a;border-radius:18px;box-shadow:0 24px 90px #0004;width:min(1080px,100%);max-height:min(95vh,850px);overflow:auto;padding:20px;direction:rtl}
.ib-prep-dialog header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid #d6e3d9;padding-bottom:12px}
.ib-prep-dialog header h2{margin:0}.ib-prep-dialog header p{color:#607669;flex:1;min-width:170px;font-size:13px}
.ib-prep-fields,.ib-prep-stage-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.ib-prep-fields label,.ib-prep-stage-fields label{font-size:13px;font-weight:650;display:flex;flex-direction:column;gap:5px}
.ib-prep-fields label input,.ib-prep-stage-fields label input,.ib-prep-stage-fields select{box-sizing:border-box;width:100%;min-width:0}
.ib-prep-fields textarea{min-height:65px}
.ib-prep-stage{border:1px solid #d4e2d9;padding:12px;border-radius:15px;margin-block:9px;background:#fff}
.ib-prep-stage-title{display:flex;align-items:center;gap:8px}.ib-prep-stage-title strong{flex:1}.ib-prep-stage-fields .ib-prep-wide{grid-column:span 2}
.ib-prep-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:15px}
.ib-prep-dialog footer{display:flex;gap:8px;flex-wrap:wrap;position:sticky;bottom:0;padding:12px 0;background:#fafffa;border-top:1px solid #d4e2d9;margin-top:12px}
.ib-prep-dialog footer button:first-child{background:#0e553e;color:white}
@media(max-width:850px){.ib-prep-dialog{max-height:94dvh;padding:12px}.ib-prep-fields,.ib-prep-stage-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.ib-prep-stage-fields .ib-prep-wide{grid-column:span 2}.ib-prep-dialog footer button{flex:1 1 40%}}
@media(max-width:460px){.ib-prep-fields{grid-template-columns:1fr}.ib-prep-dialog header h2{font-size:18px}}

.ib-display-prompt{padding:16px 30px;text-align:center;background:#fff2ce;font-size:24px;font-weight:bold;color:#163b2e}.ib-display-word{font-family:inherit}
/* Give the immutable Quran canvas priority over ancillary controls. */
@media(min-width:851px){
 .ib-header{flex-wrap:nowrap;min-height:70px;box-sizing:border-box}
 .ib-header .ib-buttons{min-width:0;max-width:78%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
 .ib-header .ib-buttons button{flex-shrink:0;white-space:nowrap}
 .ib-toolbox,.ib-tools-bottom,.ib-encourage{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
 .ib-toolbox button,.ib-tools-bottom button,.ib-encourage button{flex-shrink:0;white-space:nowrap}
 .ib-toolbox{min-height:54px;box-sizing:border-box}.ib-board-area{min-height:310px}
}
@media(max-width:850px){
 .ib-header{display:block;position:sticky;top:0}
 .ib-header>div:first-child{display:flex;align-items:baseline;gap:8px;justify-content:space-between}
 .ib-header .ib-buttons{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;gap:5px;padding-top:8px}
 .ib-header .ib-buttons button{white-space:nowrap;flex-shrink:0}
 .ib-students{max-height:132px!important;min-height:90px;scrollbar-width:thin}
 .ib-activities,.ib-range,.ib-toolbox,.ib-tools-bottom,.ib-encourage{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
 .ib-range label,.ib-activities button,.ib-toolbox button,.ib-tools-bottom button,.ib-encourage button{flex-shrink:0;white-space:nowrap}
 .ib-toolbox{max-height:none;min-height:55px}
 .ib-main{min-height:0}
 .ib-board-area{min-height:330px}
}

/* beta.3 — existing official session editor docked in the same teaching workspace. */
.ib-native-overlay[hidden]{display:none!important}
.ib-native-overlay{position:absolute;inset:0;z-index:20;background:#092e24e8;display:flex;justify-content:center;align-items:stretch;padding:14px;box-sizing:border-box;direction:rtl}
.ib-native-panel{width:min(1300px,100%);background:#f7faf8;border-radius:18px;min-height:0;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 75px #0006}
.ib-native-panel>header{background:#0d513c;color:#fff;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ib-native-panel>header strong{font-size:19px}.ib-native-panel>header p{font-size:13px;margin:4px 0 0;color:#def2e5}
.ib-native-actions{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#e4f1e9;flex-wrap:wrap}
.ib-native-actions span{font-size:13px;color:#315945}
.ib-native-mount{overflow:auto;flex:1;min-height:0;padding:12px 16px}
/* The original session page is moved, not cloned, preserving all handlers and unsaved editor fields. */
.ib-native-mount #pg-session{display:block!important;position:static!important;max-width:none!important;padding:0!important;margin:0!important;visibility:visible!important}
/* Existing Quran/correction overlays must sit above the board's isolated viewport. */
body.ib-native-open #quranTextModal,body.ib-native-open #quranErrorSheet{z-index:2147483100!important}
@media(max-width:650px){.ib-native-overlay{padding:0}.ib-native-panel{border-radius:0}.ib-native-panel>header{padding:10px}.ib-native-mount{padding:7px}.ib-native-actions button{flex:1}}

/* Use the original app warning and add-range dialogs above the dock, not behind it. */
body.ib-native-open > .mo.open,body.ib-native-open #im119Warning,body.ib-native-open #im119RangeModal{z-index:2147483100!important}
/* beta.4 — sourced, teacher-entered scientific reference cards. */
.ib-science-controls{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}
.ib-science-controls button{flex:1 1 125px}
.ib-science-caption{font-size:12px;color:#577365;background:#eef6ef;padding:8px;border-radius:9px}
#ib-science-content{line-height:1.85;overflow-wrap:anywhere}
#ib-science-content > p{white-space:pre-wrap}
#ib-science-content > strong{color:#0d583c}
#ib-science-content > small{display:block;color:#546f60;margin-block:10px}
#ib-science-content > a{display:inline-flex;margin-block:6px;color:#145c44}
.ib-science-editor{display:flex;flex-direction:column;gap:9px;background:#f5f9f3;border:1px solid #d4e5d8;border-radius:12px;padding:12px;margin:12px 0}
.ib-science-editor h4{margin:0}.ib-science-editor p,.ib-science-editor small{font-size:12px;color:#597369;margin:0}
.ib-science-editor label{display:flex;flex-direction:column;gap:4px;margin:0!important}
.ib-science-editor label.ib-science-consent{display:flex;flex-direction:row;align-items:flex-start;gap:9px;line-height:1.6}
.ib-science-editor input[type=checkbox]{width:auto;margin-top:4px;flex-shrink:0}
.ib-science-editor textarea{min-height:110px}
.ib-science-actions{display:flex;gap:8px}
.ib-science-actions button:first-child{background:#0a553b;color:white}

/* Scientific sources remain on a separate visual layer from Quran text. */
.ib-official-science{border:1px solid #c6ddce;border-radius:14px;padding:12px;margin-block:12px;line-height:1.85;background:#f8fcf7;color:#15382b}.ib-official-science>div+div{border-top:1px solid #e0e7df;margin-top:10px;padding-top:10px}.ib-official-science p{white-space:pre-wrap;line-height:2}.ib-official-science small{display:block;color:#566d5c}.ib-official-science button{width:100%;margin-top:9px}.ib-science-editor input[type=file]{max-width:100%;direction:rtl}

/* beta.6 — scientific side panel remains alongside the Quran, not over it. */
.ib-book-picker{display:flex;flex-direction:column;gap:5px;padding:8px;background:#f1f7f1;border-radius:10px;font-size:13px}
.ib-book-picker select{min-width:0;width:100%;font:inherit;padding:8px;border:1px solid #b6d6be;border-radius:8px;background:white}
#ib-multi-progress{white-space:pre-wrap;line-height:1.7}
.ib-official-science{max-height:55vh;overflow-y:auto}
@media (max-width:850px){.ib-science{max-width:100%;min-width:0;overflow-wrap:anywhere}.ib-science-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ib-book-picker select{font-size:16px}}
@media (prefers-reduced-motion:reduce){.imam-board-root .ib-effects *{animation:none!important;transition:none!important}}

/* beta15 review: dependable exit to the official lesson and expandable nonessential tools. */
.ib-header .ib-buttons{overflow:visible;min-width:0}
.ib-header .ib-return-session{background:#f2d491;color:#19402e;border-color:#e4c16b;font-weight:800;white-space:nowrap}
.ib-header-tools{position:relative;color:#fff;flex:0 0 auto}
.ib-header-tools summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:center;min-height:43px;padding:8px 12px;border:1px solid rgba(255,255,255,.4);border-radius:11px;white-space:nowrap;font-weight:750}
.ib-header-tools summary::-webkit-details-marker{display:none}
.ib-header-tools[open] summary{background:rgba(255,255,255,.2)}
.ib-header-tools-list{position:absolute;top:calc(100% + 8px);inset-inline-end:0;z-index:25;display:grid;grid-template-columns:minmax(170px,1fr);gap:6px;padding:10px;min-width:235px;max-width:calc(100vw - 25px);max-height:55dvh;overflow-y:auto;border-radius:14px;border:1px solid #d4e2d8;box-shadow:0 16px 40px #001d1555;background:#fff}
.ib-header-tools-list button{text-align:start;white-space:normal;color:#194633}
@media(max-width:850px){
 .ib-header{display:flex;align-items:center;flex-direction:column;gap:7px}
 .ib-header>div:first-child{width:100%;display:flex;justify-content:space-between}
 .ib-header .ib-buttons{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:5px;padding-top:3px;width:100%;overflow:visible}
 .ib-header .ib-buttons>button,.ib-header .ib-buttons>details{min-width:0;min-height:42px;font-size:11px;white-space:normal;padding:6px}
 .ib-header .ib-buttons>button[data-cmd="returnSession"]{grid-column:span 2;font-size:13px}
 .ib-header .ib-buttons>button[data-cmd="display"]{grid-column:span 1}
 .ib-header .ib-buttons>button[data-cmd="save"]{grid-column:span 1}
 .ib-header .ib-buttons>details{grid-column:1/-1}
 .ib-header-tools summary{min-height:39px}
 .ib-header-tools-list{position:static;min-width:0;max-width:none;max-height:32dvh;margin-top:4px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .ib-header-tools-list button{font-size:11px;padding:8px;min-height:44px}
}

/* Beta20 touch-first board controls: all functions remain accessible in disclosures. */
.imam-board-root :is(.ib-header .ib-buttons button,.ib-toolbox>button,.ib-tools-bottom>button,.ib-board-more-items button,.ib-range button,.ib-activities button){min-height:44px;touch-action:manipulation}
.imam-board-root .ia20-board-more{min-width:0;position:relative;flex:1 0 170px}
.imam-board-root .ia20-board-more>summary{min-height:44px;padding:10px 13px;background:#edf6ee;border:1px solid #c8dcd1;border-radius:12px;color:#194633;font-size:13px;font-weight:800;cursor:pointer;display:flex;align-items:center}
.imam-board-root .ia20-board-more-items{display:flex;flex-wrap:wrap;gap:7px;padding:9px 0}
.imam-board-root .ia20-board-more-items :is(button,select){min-height:44px;max-width:100%}
.imam-board-root .ib-toolbox,.imam-board-root .ib-tools-bottom{overflow:visible;max-height:none;flex-wrap:wrap}
.imam-board-root .ib-toolbox>button,.imam-board-root .ib-tools-bottom>button{min-width:44px;flex-shrink:0}
.imam-board-root .ib-word:focus-visible{outline:2px solid #145a3a;outline-offset:2px;border-radius:6px}
@media(max-width:850px){
 .imam-board-root .ib-workspace{padding:6px;gap:8px}
 .imam-board-root .ib-main{gap:8px}
 .imam-board-root .ib-header{position:relative;padding:9px}
 .imam-board-root .ib-header .ib-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
 .imam-board-root .ib-header .ib-buttons>*{min-height:44px}
 .imam-board-root .ib-header .ib-buttons>details{grid-column:1/-1}
 .imam-board-root .ib-board-area{min-height:320px}
 .imam-board-root .ia20-board-more{flex-basis:100%}
 .imam-board-root .ia20-board-more-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .imam-board-root .ia20-board-more-items>*{min-width:0;width:100%;font-size:13px}
 .imam-board-root .ib-students{max-height:none}
}
