.gl-shell{max-width:1050px;margin:20px auto;padding:0 12px;color:#302b29}.gl-hero{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(110deg,#fff8ec,#e9f3fa);border:1px solid #e4d6c2;border-radius:18px;padding:20px 28px;overflow:hidden}.gl-hero h1{margin:8px 0;font-size:29px;color:#324d67}.gl-hero small{letter-spacing:1.3px;font-weight:700;color:#8b6743}.gl-hero p{margin:0;color:#6a655e}.gl-hero img{width:104px;height:auto;object-fit:contain}.gl-nav{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 20px}.gl-nav a{background:#fff;border:1px solid #d9d4cd;padding:9px 13px;border-radius:9px;color:#34536d;text-decoration:none}.gl-nav a:hover{background:#f4eee5}.gl-card{background:#fff;border:1px solid #e4d9c8;border-radius:15px;padding:22px;margin-bottom:16px;box-shadow:0 2px 8px #2e201108}.gl-card h2{margin:0 0 14px;color:#374e61}.gl-card h3{margin-top:18px}.gl-muted,.gl-meta{color:#726c65;font-size:13px}.gl-item{display:flex;flex-direction:column;gap:6px;padding:14px;border-bottom:1px solid #eee6dc;color:#354f64;text-decoration:none}.gl-item:hover{background:#faf5ef}.gl-item small{color:#777}.gl-editor{display:flex;flex-direction:column;gap:15px}.gl-editor label{display:flex;flex-direction:column;gap:6px;font-weight:600}.gl-editor input,.gl-editor textarea,.gl-editor select{font:inherit;color:#282828;box-sizing:border-box;width:100%;padding:10px;border:1px solid #c7c1b9;border-radius:8px;background:#fff}.gl-editor textarea{min-height:100px;resize:vertical}.gl-btn{display:inline-block;width:max-content;background:#245c83;color:#fff!important;padding:11px 16px;border:0;border-radius:9px;text-decoration:none;cursor:pointer}.gl-danger{margin-top:15px;color:#9b2e2e;background:#fff;border:1px solid #d9a6a6;border-radius:8px;padding:8px 12px;cursor:pointer}.gl-question{padding:15px;background:#f9f7f1;border-radius:10px;line-height:1.7}.gl-success{color:#1e7040}.gmq-actions .gl-save-btn{background:#fff8e6;border:1px solid #c9a86a;color:#6c4a21;border-radius:8px;padding:9px 12px;cursor:pointer}.gl-recipient[hidden]{display:none!important}@media(max-width:600px){.gl-hero{padding:16px}.gl-hero h1{font-size:22px}.gl-hero img{width:70px}.gl-card{padding:15px}}

/* v1.5.2: theme-independent sizing and responsive containment. */
.gl-shell,.gl-shell *{box-sizing:border-box}
.gl-shell{width:100%;max-width:1050px;min-width:0;margin:20px auto;padding:0 12px;overflow-wrap:anywhere}
.gl-shell .gl-hero,.gl-shell .gl-card,.gl-shell .gl-nav{min-width:0;max-width:100%}
.gl-shell .gl-hero>div{min-width:0;flex:1}
.gl-shell .gl-hero img{flex:0 0 auto;max-width:25%;height:auto}
.gl-shell .gl-nav a{max-width:100%;white-space:normal}
.gl-shell .gl-editor textarea{max-width:100%}
@media(max-width:650px){.gl-shell{margin:12px auto;padding:0 8px}.gl-shell .gl-hero{gap:10px;align-items:center}.gl-shell .gl-hero h1{font-size:clamp(19px,5vw,25px)}.gl-shell .gl-hero img{width:64px}.gl-shell .gl-nav{gap:6px}.gl-shell .gl-nav a{flex:1 1 140px;text-align:center}.gl-shell .gl-card{padding:14px}}

/* v1.6 lesson tracking */
.gl-track{box-sizing:border-box;display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 15px;margin:12px 0;background:#fff8ec;border:1px solid #e4d6c2;border-radius:10px;color:#374e61}
.gl-track button{background:#245c83;border:0;color:#fff;border-radius:8px;padding:9px 12px;cursor:pointer}
.gl-track button:disabled{opacity:.75;cursor:default}
.gl-track a{color:#245c83}
.gl-progress{height:9px;background:#eee7df;border-radius:99px;overflow:hidden;margin:8px 0}
.gl-progress>span{display:block;height:100%;background:#378d70;border-radius:99px}
.gl-inline-form{display:inline-block;margin:4px}

/* v1.7.0: Yola guide - isolated from active MyBB theme */
.gl-shell .gl-guide{display:flex;align-items:center;gap:18px;background:linear-gradient(115deg,#fff9ed,#edf6fb);border-color:#decdb5}
.gl-shell .gl-guide-avatar{flex:0 0 88px;align-self:center}
.gl-shell .gl-guide-avatar img{display:block;width:88px;max-width:100%;height:auto;object-fit:contain}
.gl-shell .gl-guide-copy{min-width:0;flex:1}
.gl-shell .gl-guide-copy h2{margin:3px 0 8px}
.gl-shell .gl-guide-copy p{margin:6px 0 12px;line-height:1.6}
.gl-shell .gl-guide-kicker{font-weight:700;color:#795635}
.gl-shell .gl-guide-stats{font-size:13px;color:#536575}
@media(max-width:550px){.gl-shell .gl-guide{gap:9px;padding:13px}.gl-shell .gl-guide-avatar{flex-basis:55px}.gl-shell .gl-guide-avatar img{width:55px}.gl-shell .gl-guide-copy h2{font-size:19px}}

/* v1.7.1 — Guide spacing and long course-title containment. */
.gl-shell > .gl-hero { margin-bottom: 20px; }
.gl-shell > .gl-guide { margin-top: 0; clear: both; }
.gl-shell .gl-guide, .gl-shell .gl-hero { width: 100%; }
.gl-shell .gl-guide-copy { min-width: 0; max-width: 100%; overflow-wrap: anywhere; word-break: normal; }
.gl-shell .gl-guide-copy p, .gl-shell .gl-guide-copy strong, .gl-shell .gl-guide-copy h2 { overflow-wrap: anywhere; word-break: normal; max-width: 100%; }
.gl-shell .gl-guide-copy .gl-btn { max-width: 100%; width: auto; white-space: normal; overflow-wrap: anywhere; text-align: center; }
.gl-shell .gl-guide-avatar { min-width: 0; }
@media (max-width: 550px) {
  .gl-shell > .gl-hero { margin-bottom: 14px; }
  .gl-shell .gl-guide { align-items: flex-start; }
  .gl-shell .gl-guide-copy h2 { line-height: 1.2; }
}

.gl-attempt-note{margin:10px 0;padding:9px 12px;border:1px solid #d6e5d7;border-radius:9px;background:#f6faf6;color:#27563a;font-size:0.9rem;}

.gl-item .gl-btn{align-self:flex-start;margin-top:5px;max-width:100%;box-sizing:border-box;white-space:normal;} .gmq[id^="gmq-question-"]{scroll-margin-top:90px;}

/* v1.8.0 private report */
.gl-shell .gl-report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;margin:16px 0}
.gl-shell .gl-report-stat{background:#f8f5ef;border:1px solid #e8dfd0;border-radius:12px;padding:16px;min-width:0}
.gl-shell .gl-report-stat strong{display:block;font-size:25px;color:#285875;line-height:1.4}
.gl-shell .gl-report-stat small{display:block;color:#625e58}
.gl-shell .gl-report-course{margin:16px 0;min-width:0}
.gl-shell .gl-report-bar{height:12px;border-radius:99px;overflow:hidden;background:#eee7dc;margin:7px 0}
.gl-shell .gl-report-bar span{display:block;height:100%;background:#398b78;border-radius:99px}
.gl-shell .gl-report-note{padding:13px;background:#f5f9fb;border-radius:10px;line-height:1.65}

/* v1.8.1 — Learning home layout fix; scoped to learning.php only. */
.gl-shell { width:100%; max-width:100%; min-width:0; margin:18px 0; padding:0 14px; box-sizing:border-box; clear:both; }
.gl-shell > .gl-hero,
.gl-shell > .gl-guide { box-sizing:border-box; width:100%; max-width:100%; min-width:0; margin-left:0; margin-right:0; float:none; position:relative; }
.gl-shell > .gl-hero { gap:20px; margin-bottom:24px; padding:20px 24px; }
.gl-shell > .gl-guide { gap:20px; margin-bottom:20px; }
.gl-shell .gl-hero > div,
.gl-shell .gl-guide-copy { min-width:0; flex:1 1 0; }
.gl-shell .gl-hero > img { display:block; width:104px; max-width:22%; height:118px; object-fit:contain; object-position:center; flex:0 0 auto; }
.gl-shell .gl-guide-avatar { flex:0 0 92px; width:92px; overflow:hidden; }
.gl-shell .gl-guide-avatar img { width:100%; max-width:100%; height:112px; object-fit:contain; object-position:center; }
.gl-shell .gl-nav { width:100%; max-width:100%; }
@media(max-width:650px) {
 .gl-shell { padding:0 8px; margin:12px 0; }
 .gl-shell > .gl-hero { padding:16px; gap:12px; margin-bottom:16px; }
 .gl-shell .gl-hero > img { width:70px; height:90px; max-width:25%; }
 .gl-shell > .gl-guide { gap:12px; padding:14px; }
 .gl-shell .gl-guide-avatar { flex-basis:60px; width:60px; }
 .gl-shell .gl-guide-avatar img { height:78px; }
}

/* v1.8.2: keep cards inside MyBB content column and avoid theme floats. */
.gl-shell {display:flow-root; max-width:100%; width:auto; min-width:0; overflow:visible;}
.gl-shell > .gl-hero, .gl-shell > .gl-guide {display:flex; float:none; max-width:100%; overflow:hidden;}
.gl-shell .gl-hero > img {object-fit:contain; object-position:center;}
.gl-shell .gl-guide-avatar img {object-fit:contain; object-position:center;}
@media(max-width:850px){.gl-shell .gl-hero{padding:16px}.gl-shell .gl-guide{padding:16px}}

/* v1.8.3 — theme-independent containment: legacy themes can set h2 width:500px,
   and use intrinsic table layout for their main/side columns. */
body.gl-learning-page #content > table {table-layout:fixed; max-width:100%;}
body.gl-learning-page #content > table > tbody > tr > td {min-width:0; overflow-wrap:anywhere;}
body.gl-learning-page .gl-shell {width:100%; max-width:100%; min-width:0; padding:0 8px; margin:18px 0; overflow-wrap:anywhere;}
body.gl-learning-page .gl-shell h1,
body.gl-learning-page .gl-shell h2,
body.gl-learning-page .gl-shell h3 {width:auto; max-width:100%; min-width:0; overflow-wrap:anywhere; letter-spacing:normal; line-height:1.2;}
body.gl-learning-page .gl-shell .gl-hero,
body.gl-learning-page .gl-shell .gl-guide,
body.gl-learning-page .gl-shell .gl-card {width:100%; max-width:100%; min-width:0;}
body.gl-learning-page .gl-shell .gl-guide-copy {flex:1 1 0; min-width:0;}
body.gl-learning-page .gl-shell img {max-width:100%;}
@media(max-width:680px) {
 body.gl-learning-page .gl-shell .gl-hero,
 body.gl-learning-page .gl-shell .gl-guide {gap:10px;padding:14px;}
 body.gl-learning-page .gl-shell .gl-hero h1 {font-size:clamp(20px,4vw,29px);}
}
