/* Sarthak Classes – design system (Phase 12). Colours come from CSS variables set by App\Support\Theme. */
:root {
    --sc-ground: #F5F6FA; --sc-surface: #FFFFFF; --sc-line: #E4E6EF; --sc-line-strong: #D9DCE6;
    --sc-ink: #1B1D2E; --sc-ink-2: #33364A; --sc-muted: #4A4E63; --sc-faint: #6B6F85;
    --sc-ok: #1E7A3C; --sc-ok-tint: #E5F4EA; --sc-warn: #8A4200; --sc-warn-tint: #FFF1E0;
    --sc-radius: 14px; --sc-radius-lg: 18px; --sidebar-w: 264px;
    --bs-body-font-family: Hind, 'Noto Sans', 'Noto Sans Devanagari', system-ui, sans-serif;
    --bs-body-color: var(--sc-ink); --bs-body-bg: var(--sc-ground); --bs-border-color: var(--sc-line);
    --bs-border-radius: 10px; --bs-border-radius-lg: var(--sc-radius); --bs-border-radius-sm: 8px;
}
body { background: var(--sc-ground); font-size: 1rem; }
h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5, .sc-display { font-family: Poppins, Hind, sans-serif; font-weight: 600; color: var(--sc-ink); }
.text-muted { color: var(--sc-muted) !important; }
a { text-underline-offset: 2px; }

/* ---- layout ---- */
.sc-sidebar { width: var(--sidebar-w); background: var(--sc-surface); border-right: 1px solid var(--sc-line); }
@media (min-width: 992px) { .sc-main { margin-left: var(--sidebar-w); } .sc-sidebar { position: fixed; inset: 0 auto 0 0; overflow-y: auto; } }
.sc-sidebar .offcanvas-body { display: flex !important; flex-direction: column; gap: 14px; min-height: 100%; }
.sc-brand img { max-height: 46px; max-width: 150px; }
.sc-brand-sub { font-size: .82rem; color: var(--sc-muted); }
.sc-usage { display: flex; justify-content: space-between; align-items: center; gap: 8px; border: 1px solid var(--sc-primary-soft); background: var(--sc-primary-tint);
    border-radius: 12px; padding: 9px 12px; font-size: .88rem; font-weight: 600; color: var(--sc-primary); text-decoration: none; }
.sc-usage .pill { background: #fff; border: 1px solid var(--sc-primary-soft); border-radius: 999px; padding: 1px 9px; font-size: .8rem; color: var(--sc-ink); }
.sc-nav .nav-heading { font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; color: var(--sc-faint); font-weight: 600; padding: 12px 12px 4px; }
.sc-nav .nav-link { color: var(--sc-ink-2); border-radius: 10px; padding: 9px 12px; display: flex; gap: 12px; align-items: center; min-height: 42px; }
.sc-nav .nav-link i { font-size: 1.1rem; width: 1.2rem; text-align: center; }
.sc-nav .nav-link:hover { background: var(--sc-primary-tint); color: var(--sc-primary); }
.sc-nav .nav-link.active { background: var(--sc-primary); color: #fff; font-weight: 600; }
.sc-nav .nav-link .count { margin-left: auto; font-size: .75rem; font-weight: 600; background: var(--sc-accent-tint); color: var(--sc-accent-dark); border-radius: 999px; padding: 1px 8px; }
.sc-nav .nav-link.active .count { background: rgba(255,255,255,.2); color: #fff; }
.sc-user { margin-top: auto; display: flex; align-items: center; gap: 10px; border: 1px solid var(--sc-line); border-radius: 12px; padding: 10px; }
.sc-avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--sc-primary); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 600; flex: none; }
.sc-topbar { background: var(--sc-surface); border-bottom: 1px solid var(--sc-line); position: sticky; top: 0; z-index: 1020; }
.sc-search { flex: 1 1 320px; max-width: 560px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--sc-line-strong); border-radius: 12px; padding: 0 14px; height: 44px; background: #F8F9FC; }
.sc-search:focus-within { border-color: var(--sc-primary); box-shadow: 0 0 0 .2rem rgba(var(--sc-primary-rgb), .15); }
.sc-search input { border: 0; outline: 0; background: transparent; flex: 1; min-width: 0; font: inherit; }
.sc-page-title { font-size: 1.6rem; margin: 0; color: var(--sc-primary-dark); }
main.sc-content { padding: 24px; max-width: 1440px; }
@media (max-width: 576px) { main.sc-content { padding: 14px; } }

/* ---- components ---- */
.card { border: 1px solid var(--sc-line); border-radius: var(--sc-radius-lg); box-shadow: none !important; }
.card > .card-header:first-child { border-radius: var(--sc-radius-lg) var(--sc-radius-lg) 0 0; }
.card-header { background: var(--sc-surface); border-bottom-color: var(--sc-line); font-weight: 600; }
.btn { border-radius: 10px; font-weight: 600; min-height: 38px; }
.btn-sm { min-height: 32px; border-radius: 8px; }
.btn-primary { --bs-btn-bg: var(--sc-primary); --bs-btn-border-color: var(--sc-primary); --bs-btn-hover-bg: var(--sc-primary-dark);
    --bs-btn-hover-border-color: var(--sc-primary-dark); --bs-btn-active-bg: var(--sc-primary-dark); --bs-btn-active-border-color: var(--sc-primary-dark);
    --bs-btn-disabled-bg: var(--sc-primary); --bs-btn-disabled-border-color: var(--sc-primary); }
.btn-outline-primary { --bs-btn-color: var(--sc-primary); --bs-btn-border-color: var(--sc-primary-soft); --bs-btn-hover-bg: var(--sc-primary);
    --bs-btn-hover-border-color: var(--sc-primary); --bs-btn-active-bg: var(--sc-primary-dark); }
.btn-accent { --bs-btn-color: #fff; --bs-btn-bg: var(--sc-accent); --bs-btn-border-color: var(--sc-accent); --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--sc-accent-dark); --bs-btn-hover-border-color: var(--sc-accent-dark); --bs-btn-active-bg: var(--sc-accent-dark); }
.form-control, .form-select { border-color: var(--sc-line-strong); border-radius: 10px; }
.form-control:not(.form-control-sm), .form-select:not(.form-select-sm) { min-height: 42px; }
.form-control:focus, .form-select:focus { border-color: var(--sc-primary); box-shadow: 0 0 0 .2rem rgba(var(--sc-primary-rgb), .15); }
.form-check-input:checked { background-color: var(--sc-primary); border-color: var(--sc-primary); }
.badge { border-radius: 999px; font-weight: 600; }
.text-bg-primary { background-color: var(--sc-primary) !important; }
.nav-pills .nav-link.active { background: var(--sc-primary); }
.nav-pills .nav-link { border-radius: 10px; color: var(--sc-ink-2); font-weight: 600; }
.table > :not(caption) > * > * { padding: .7rem .6rem; }
.table thead th { font-size: .82rem; color: var(--sc-muted); font-weight: 600; border-bottom-color: var(--sc-line); }
.list-group-item.active { background: var(--sc-primary); border-color: var(--sc-primary); }
.page-link { color: var(--sc-primary); } .active > .page-link { background: var(--sc-primary); border-color: var(--sc-primary); }
.dropdown-menu { border-radius: 12px; border-color: var(--sc-line); box-shadow: 0 10px 30px rgba(20, 22, 50, .12); }
.alert { border-radius: 12px; }
.toast { border-radius: 12px; }

/* ---- building blocks ---- */
.sc-stat { background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: 16px; padding: 18px; height: 100%; }
.sc-stat .label { font-size: .9rem; color: var(--sc-muted); }
.sc-stat .value { font-family: Poppins, sans-serif; font-size: 1.75rem; font-weight: 600; margin-top: 4px; }
.sc-stat.is-alert { background: var(--sc-accent-tint); border-color: rgba(var(--sc-accent-rgb), .3); }
.sc-stat.is-alert .value, .sc-stat.is-alert .label, .sc-stat.is-alert a { color: var(--sc-accent-dark); }
.sc-tile { display: flex; flex-direction: column; gap: 8px; background: var(--sc-surface); border: 1px solid var(--sc-primary-soft); border-radius: var(--sc-radius-lg);
    padding: 20px; text-decoration: none; color: var(--sc-ink); height: 100%; transition: border-color .15s, box-shadow .15s; }
.sc-tile:hover { border-color: var(--sc-primary); box-shadow: 0 6px 20px rgba(var(--sc-primary-rgb), .1); color: var(--sc-ink); }
.sc-tile .ic { width: 48px; height: 48px; border-radius: 14px; background: var(--sc-primary-tint); color: var(--sc-primary); display: flex; align-items: center; justify-content: center; font-size: 1.35rem; }
.sc-tile.is-accent .ic { background: var(--sc-accent-tint); color: var(--sc-accent-dark); }
.sc-tile .t { font-family: Poppins, sans-serif; font-weight: 600; font-size: 1.12rem; color: var(--sc-primary-dark); }
.sc-tile .d { color: var(--sc-muted); font-size: .95rem; }
.sc-chip { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 3px 10px; font-size: .8rem; font-weight: 600; background: #F0F1F6; color: var(--sc-ink-2); }
.sc-chip.ok { background: var(--sc-ok-tint); color: var(--sc-ok); } .sc-chip.warn { background: var(--sc-warn-tint); color: var(--sc-warn); }
.sc-chip.danger { background: var(--sc-accent-tint); color: var(--sc-accent-dark); } .sc-chip.info { background: var(--sc-primary-tint); color: var(--sc-primary); }
.sc-sidetabs .nav-link { text-align: left; border-radius: 12px; padding: 10px 14px; color: var(--sc-ink-2); }
.sc-sidetabs .nav-link small { display: block; font-weight: 400; color: var(--sc-muted); }
.sc-sidetabs .nav-link.active { background: var(--sc-primary-tint); color: var(--sc-primary); }
.sc-sidetabs .nav-link.active small { color: var(--sc-primary); }
.sc-swatch { border: 2px solid var(--sc-line); border-radius: 14px; padding: 12px; text-align: center; cursor: pointer; background: #fff; display: block; }
.sc-swatch .dot { width: 34px; height: 34px; border-radius: 50%; margin: 0 auto 6px; display: block; }
.btn-check:checked + .sc-swatch { border-color: var(--sc-primary); box-shadow: 0 0 0 .2rem rgba(var(--sc-primary-rgb), .15); }
.sc-empty { text-align: center; color: var(--sc-muted); padding: 40px 16px; }
.sc-empty i { font-size: 2rem; color: var(--sc-faint); display: block; margin-bottom: 6px; }

/* ===================== Phase 24: UI v2 navigation ===================== */
.sc-sidebar { padding: 0; transition: width .2s ease; }
.sc-sidebar .offcanvas-body { gap: 0; height: 100%; min-height: 0; padding: 0 !important; }
@media (min-width: 992px) { .sc-sidebar { overflow: hidden; } .sc-main { transition: margin-left .2s ease; } }
/* brand area: logo in its own light card, never cropped or stretched, stays on top while the menu scrolls */
.sc-brand-wrap { display: flex; align-items: center; gap: 8px; padding: 16px 16px 6px; background: var(--sc-surface); position: sticky; top: 0; z-index: 2; }
.sc-brand { display: flex; align-items: center; min-width: 0; text-decoration: none; }
.sc-logo-box { display: inline-flex; align-items: center; justify-content: center; background: #fff; border: 1px solid var(--sc-line); border-radius: 12px; padding: 6px 10px; max-width: 184px; height: 56px; }
.sc-logo-box img { display: block; max-height: 44px; max-width: 100%; width: auto; height: auto; object-fit: contain; }
.sc-logo-mark { display: none; width: 40px; height: 40px; border-radius: 12px; background: var(--sc-primary); color: #fff; font: 700 1.2rem/40px Poppins, Hind, sans-serif; text-align: center; }
.sc-brand-sub { padding: 0 16px 10px; font-size: .78rem; color: var(--sc-muted); }
.sc-icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; min-width: 40px; border-radius: 10px; border: 1px solid var(--sc-line-strong);
    background: var(--sc-surface); color: var(--sc-ink-2); font-size: 1.15rem; text-decoration: none; }
.sc-icon-btn:hover { background: var(--sc-primary-tint); color: var(--sc-primary); border-color: var(--sc-primary-soft); }
.sc-collapse-btn { margin-left: auto; width: 32px; height: 32px; min-width: 32px; font-size: .9rem; }
.sc-sidebar .sc-usage { margin: 0 16px 8px; }
.sc-sidebar .sc-nav { flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; padding: 0 12px 12px; flex-wrap: nowrap; }
.sc-sidebar .sc-user { margin: 0 12px 12px; margin-top: auto; flex: none; background: var(--sc-surface); }
.sc-nav .nav-link .nav-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* collapsed ("mini") sidebar on desktop */
@media (min-width: 992px) {
    html.sc-mini { --sidebar-w: 76px; }
    html.sc-mini .sc-brand-wrap { flex-direction: column; padding: 14px 8px 8px; }
    html.sc-mini .sc-logo-box, html.sc-mini .sc-brand-sub, html.sc-mini .sc-usage, html.sc-mini .sc-nav .nav-text, html.sc-mini .sc-user-text { display: none; }
    html.sc-mini .sc-logo-mark { display: block; }
    html.sc-mini .sc-collapse-btn { margin: 0; transform: rotate(180deg); }
    html.sc-mini .sc-nav { padding: 0 10px 10px; }
    html.sc-mini .sc-nav .nav-heading { padding: 8px 0 4px; border-top: 1px solid var(--sc-line); margin-top: 6px; font-size: 0; }
    html.sc-mini .sc-nav .nav-link { justify-content: center; padding: 10px 0; position: relative; }
    html.sc-mini .sc-nav .nav-link .count { position: absolute; top: 4px; right: 4px; padding: 0 5px; font-size: .65rem; }
    html.sc-mini .sc-user { margin: 0 8px 10px; padding: 6px; flex-direction: column; gap: 6px; }
}

/* top bar */
.sc-top-logo img { max-height: 34px; max-width: 120px; display: block; object-fit: contain; }
@media (max-width: 767.98px) {
    .sc-topbar { gap: 8px !important; }
    .sc-topbar .sc-search { display: none; order: 10; flex: 1 1 100%; max-width: none; }
    .sc-topbar.search-open .sc-search { display: flex; }
}

/* drawer on phones/tablets */
@media (max-width: 991.98px) {
    .sc-sidebar.offcanvas-lg { width: min(86vw, 320px); }
    .sc-sidebar .sc-brand-wrap { padding-top: calc(14px + env(safe-area-inset-top)); }
    .sc-nav .nav-link { min-height: 46px; }
    .sc-sidebar .sc-user { margin-bottom: calc(12px + env(safe-area-inset-bottom)); }
    main.sc-content { padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
}

/* bottom navigation (phones) */
.sc-bottomnav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030; display: flex; align-items: stretch; justify-content: space-around;
    background: var(--sc-surface); border-top: 1px solid var(--sc-line); box-shadow: 0 -4px 16px rgba(20, 22, 50, .06);
    padding: 4px 6px calc(4px + env(safe-area-inset-bottom)); }
.sc-bottomnav a, .sc-bottomnav button { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
    min-height: 54px; border: 0; background: none; color: var(--sc-muted); font-size: .72rem; font-weight: 600; text-decoration: none; }
.sc-bottomnav i { font-size: 1.25rem; line-height: 1; }
.sc-bottomnav .active { color: var(--sc-primary); }
.sc-bottomnav .sc-bn-fab { width: 48px; height: 48px; margin-top: -22px; border-radius: 50%; background: var(--sc-accent); color: #fff;
    display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 16px rgba(var(--sc-accent-rgb), .35); border: 3px solid var(--sc-surface); }
.sc-bottomnav .sc-bn-main { color: var(--sc-accent-dark); }
@media print { .sc-bottomnav, .sc-sidebar, .sc-topbar { display: none !important; } .sc-main { margin: 0 !important; } }

/* phone-friendly basics */
@media (max-width: 575.98px) {
    .sc-page-title { font-size: 1.3rem; }
    .card-body { padding: 14px; }
    .btn { min-height: 42px; }
    .table-responsive { -webkit-overflow-scrolling: touch; }
}

/* ===================== Phase 25: filter bar, question cards ===================== */
.sc-fbar { background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: 16px; padding: 10px; }
.sc-fbar-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.sc-fbar-search { flex: 1 1 260px; min-width: 0; max-width: 100%; display: flex; align-items: center; gap: 8px; border: 1px solid var(--sc-line-strong); border-radius: 10px; padding: 0 12px; min-height: 42px; background: #F8F9FC; }
.sc-fbar-search:focus-within { border-color: var(--sc-primary); box-shadow: 0 0 0 .2rem rgba(var(--sc-primary-rgb), .15); }
.sc-fbar-search input { border: 0; outline: 0; background: transparent; flex: 1; min-width: 0; font: inherit; }
.sc-fbar-toggle { display: inline-flex; align-items: center; gap: 6px; min-height: 42px; }
.sc-fbar-toggle.has-active { background: var(--sc-primary-tint); }
.sc-fbar-view .btn { min-height: 42px; }
.sc-fbar-panel { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--sc-line-strong); }
.sc-fbar-panel[hidden] { display: none; }
.sc-fbar-field { display: flex; flex-direction: column; gap: 3px; font-size: .78rem; font-weight: 600; color: var(--sc-muted); margin: 0; }
.sc-fbar-actions { display: flex; align-items: end; gap: 6px; }
.sc-fbar-chips { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 10px; }
.sc-fbar-chips .sc-chip:hover { background: var(--sc-primary-soft); }
.sc-bulk-sticky { position: sticky; top: 62px; z-index: 5; }
@media (max-width: 991.98px) { .sc-bulk-sticky { top: 58px; } }

.sc-qgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 14px; }
.sc-qlist { display: flex; flex-direction: column; gap: 8px; }
@media (max-width: 575.98px) { .sc-qgrid { grid-template-columns: 1fr; } }
.sc-qcard { background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: 16px; display: flex; flex-direction: column; overflow: hidden; transition: border-color .15s, box-shadow .15s; }
.sc-qcard:hover { border-color: var(--sc-primary-soft); box-shadow: 0 6px 18px rgba(20, 22, 50, .06); }
.sc-qcard.active { border-color: var(--sc-primary); box-shadow: 0 0 0 .2rem rgba(var(--sc-primary-rgb), .12); }
.sc-qcard-head { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 10px 12px 6px; }
.sc-qcard-head .form-check-input { width: 1.15em; height: 1.15em; margin: 0 2px 0 0; }
.sc-qcard-no { font-weight: 700; color: var(--sc-primary); font-size: .9rem; }
.sc-qcard-body { padding: 4px 14px 8px; cursor: pointer; flex: 1 1 auto; }
.sc-qcard-body:focus-visible { outline: 2px solid var(--sc-primary); outline-offset: -2px; }
.sc-qcard-text { max-height: 9.5em; overflow: hidden; position: relative; font-size: .95rem; }
.sc-qcard-text::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2em; background: linear-gradient(transparent, var(--sc-surface)); }
.sc-qcard-text img { max-height: 120px; width: auto; max-width: 100%; }
.sc-qcard-opts { margin: 6px 0 0; padding-left: 1.4em; font-size: .9rem; display: grid; grid-template-columns: 1fr 1fr; gap: 2px 14px; }
.sc-qcard-opts li p { margin: 0; display: inline; }
.sc-qcard-opts li img { max-height: 48px; }
.sc-qcard-opts .is-correct { color: var(--sc-ok); font-weight: 600; }
.sc-qcard-opts .is-correct::marker { font-weight: 700; }
.sc-qcard-foot { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; padding: 8px 12px 12px; border-top: 1px solid var(--sc-line); }
.sc-qcard-meta { display: flex; flex-wrap: wrap; gap: 4px; min-width: 0; }
.sc-qcard-actions { display: flex; gap: 6px; margin-left: auto; }
.sc-qcard-actions form { margin: 0; }
.sc-qcard.is-list { flex-direction: row; flex-wrap: wrap; align-items: center; }
.sc-qcard.is-list .sc-qcard-head { flex: 0 0 auto; padding: 10px 12px; max-width: 46%; }
.sc-qcard.is-list .sc-qcard-head .ms-auto { display: none; }
.sc-qcard.is-list .sc-qcard-body { flex: 1 1 260px; padding: 10px 12px; min-width: 0; }
.sc-qcard-excerpt { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sc-qcard.is-list .sc-qcard-foot { flex: 1 1 100%; border-top: 1px dashed var(--sc-line); padding: 6px 12px 8px; }
@media (max-width: 767.98px) {
    .sc-qcard.is-list .sc-qcard-head { max-width: none; flex: 1 1 100%; padding-bottom: 0; }
    .sc-qcard-excerpt { white-space: normal; }
    .sc-qcard-actions { width: 100%; }
    .sc-qcard-actions .btn, .sc-qcard-actions form { flex: 1 1 0; }
    .sc-qcard-actions form .btn { width: 100%; }
}
.sc-qpanel.offcanvas-end { width: min(760px, 100vw); }
.sc-qpanel #qpane > .card-body:first-child, .sc-qpanel #qpane { border-radius: 0; }

/* ===================== Phase 27: review / edit 2.0 ===================== */
.sc-review-top { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; background: var(--sc-surface); border: 1px solid var(--sc-line);
    border-radius: 16px; padding: 10px 12px; margin-bottom: 14px; position: sticky; top: 62px; z-index: 6; }
.sc-review-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
@media (min-width: 1200px) { .sc-review-grid.has-side { grid-template-columns: minmax(0, 1fr) minmax(380px, 40%); } }
.sc-review-side { position: sticky; top: 140px; }
.sc-review-side .card { max-height: calc(100vh - 160px); display: flex; flex-direction: column; overflow: hidden; }
.sc-review-side [data-pane] { min-height: 0; flex: 1 1 auto; display: flex; flex-direction: column; overflow: auto; }
.sc-review-side [data-pane][hidden] { display: none; }
.sc-pv .pv-canvas { flex: 1 1 auto; overflow: auto; background: #E9EBF2; padding: 4px; text-align: center; min-height: 300px; }
.sc-pv canvas { background: #fff; box-shadow: 0 1px 6px rgba(0, 0, 0, .15); max-width: none; }
@media (max-width: 1199.98px) { .sc-review-side { position: static; } .sc-review-side .card { max-height: none; } .sc-pv .pv-canvas { max-height: 75vh; } }
.sc-formgrid.is-split { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 18px; align-items: start; }
.sc-formgrid.is-split .sc-props { background: #F8F9FC; border: 1px solid var(--sc-line); border-radius: 14px; padding: 12px; position: sticky; top: 140px;
    max-height: calc(100vh - 220px); overflow: auto; }
.sc-formgrid.is-split .sc-props .row { --bs-gutter-x: .5rem; margin-bottom: .25rem !important; }
.sc-formgrid.is-split .sc-props .row > * { flex: 0 0 auto; width: 100%; }
.sc-formgrid.is-split .sc-props .row > .col-6, .sc-formgrid.is-split .sc-props .row > .col-3,
.sc-formgrid.is-split .sc-props .row > .col-md-3:not(:has(#subject_id)):not(:has(#chapter_id)):not(:has(#topic_id)):not(:has(#sub_topic_id)) { width: 50%; }
.sc-formgrid.is-split .sc-props .form-label { font-size: .8rem; margin-bottom: 2px; }
.sc-pane-title { font-size: .85rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--sc-muted); margin-bottom: 10px; }
@media (max-width: 991.98px) { .sc-formgrid.is-split { grid-template-columns: 1fr; } .sc-formgrid.is-split .sc-props { position: static; max-height: none; } }
@media (min-width: 1200px) { .sc-review-grid.has-side .sc-formgrid.is-split { grid-template-columns: 1fr; } .sc-review-grid.has-side .sc-formgrid.is-split .sc-props { position: static; max-height: none; } }
.sc-ai-result img { max-width: 100%; }
@media (min-width: 1200px) { .sc-review-grid.has-side .sc-formgrid.is-split .sc-props .row > * { width: 50%; } }

/* ===================== Phase 28: test management ===================== */
.sc-test-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 10px; }
.sc-test-stats > div { background: #F8F9FC; border: 1px solid var(--sc-line); border-radius: 12px; padding: 10px 12px; }
.sc-test-stats span { display: block; font-size: .75rem; color: var(--sc-muted); font-weight: 600; text-transform: uppercase; letter-spacing: .03em; }
.sc-test-stats strong { font: 700 1.25rem/1.2 Poppins, Hind, sans-serif; color: var(--sc-ink); }
.sc-test-stats .is-bad { background: var(--sc-accent-tint); border-color: rgba(var(--sc-accent-rgb), .25); }
.sc-test-stats .is-bad strong { color: var(--sc-accent-dark); }
.sc-test-tabs { gap: 4px; flex-wrap: nowrap; overflow-x: auto; }
.sc-test-tabs .nav-link { white-space: nowrap; }
.sc-drag { cursor: grab; color: var(--sc-muted); font-size: 1.1rem; padding: 0 2px; touch-action: none; }
.sc-titem.sortable-ghost { opacity: .4; }
.sc-used .sc-qcard { opacity: .6; }
.sc-used-badge { position: absolute; top: 8px; right: 10px; z-index: 1; background: var(--sc-ok, #2E9D5B); color: #fff; font-size: .72rem; font-weight: 600; padding: 2px 8px; border-radius: 99px; }

/* ===================== Phase 31: v2.0 polish ===================== */
.sc-bell-dot { position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--sc-accent);
    color: #fff; font-size: .68rem; font-weight: 700; line-height: 18px; text-align: center; border: 2px solid var(--sc-surface); }
.sc-bell-menu { width: min(340px, 92vw); max-height: 70vh; overflow: auto; }
@media (max-width: 575.98px) {
    table.sc-mtable thead { display: none; }
    table.sc-mtable, table.sc-mtable tbody, table.sc-mtable tr, table.sc-mtable td { display: block; width: 100%; }
    table.sc-mtable tr { border: 1px solid var(--sc-line); border-radius: 12px; margin: 10px; width: auto; padding: 6px 10px; background: var(--sc-surface); }
    table.sc-mtable td { border: 0; padding: 4px 0; text-align: left !important; }
    table.sc-mtable td[data-label]:not([data-label=""])::before { content: attr(data-label); display: block; font-size: .7rem; font-weight: 600;
        text-transform: uppercase; letter-spacing: .03em; color: var(--sc-muted); }
    table.sc-mtable td:empty { display: none; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
:focus-visible { outline: 2px solid var(--sc-primary); outline-offset: 2px; }

/* v2.0.2: file chooser that works on iPad / iPhone */
.sc-file-input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.sc-drop { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 120px; padding: 16px;
    border: 2px dashed var(--sc-primary-soft); border-radius: 14px; background: #F8F9FC; text-align: center; cursor: pointer; margin: 0;
    -webkit-tap-highlight-color: transparent; }
.sc-drop i { font-size: 2rem; color: var(--sc-primary); }
.sc-drop:hover, .sc-drop.drag { border-color: var(--sc-primary); background: var(--sc-primary-tint); }
.sc-drop.has-file { border-style: solid; border-color: var(--sc-ok, #2E9D5B); background: #EEF8F1; }
.sc-drop.is-invalid { border-color: var(--sc-accent); background: var(--sc-accent-tint); }
.sc-drop-main { font-weight: 600; word-break: break-all; } .sc-drop-sub { font-size: .85rem; color: var(--sc-muted); }
#pdf-input:focus-visible + * , .sc-drop:focus-within { outline: 2px solid var(--sc-primary); outline-offset: 2px; }

/* ===================== v2.0.6: PrepLab-style question editor ===================== */
/* one shared toolbar */
.sc-etb { position: sticky; top: var(--sc-etb-top, 62px); z-index: 5; background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: 12px;
    padding: 4px 6px; margin-bottom: 12px; box-shadow: 0 4px 14px rgba(27, 29, 46, .06); }
.sc-etb-row { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; }
.sc-etb-btn { display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-width: 34px; height: 34px; padding: 0 8px; border: 0; border-radius: 8px;
    background: transparent; color: var(--sc-ink-2); font-size: .95rem; line-height: 1; }
.sc-etb-btn:hover, .sc-etb-btn:focus-visible { background: var(--sc-primary-tint); color: var(--sc-primary); }
.sc-etb-btn.active { background: var(--sc-primary); color: #fff; }
.sc-etb-btn.is-key { font-weight: 600; color: var(--sc-primary); }
.sc-etb-btn sup, .sc-etb-btn sub { font-size: .65em; }
.sc-etb-sep { width: 1px; height: 22px; background: var(--sc-line); margin: 0 4px; }
.sc-etb-target { font-size: .78rem; color: var(--sc-muted); padding: 0 6px; white-space: nowrap; }
.sc-etb-target [data-etb-target] { font-weight: 600; color: var(--sc-primary); }
.sc-etb.is-idle .sc-etb-target [data-etb-target] { color: var(--sc-faint); font-weight: 500; }
.sc-blink { animation: sc-blink .6s ease 2; }
@keyframes sc-blink { 50% { background: var(--sc-warn-tint); color: var(--sc-warn); } }
.sc-etb-symbols { width: 290px; display: none; flex-wrap: wrap; gap: 2px; }
.sc-etb-symbols.show { display: flex; }
.sc-etb-sym { width: 32px; height: 32px; border: 1px solid var(--sc-line); border-radius: 6px; background: #fff; font-size: 1rem; }
.sc-etb-sym:hover { background: var(--sc-primary-tint); }
.sc-etb-more { min-width: 240px; }
@media (max-width: 575.98px) { .sc-etb-target { display: none; } .sc-etb-btn { min-width: 32px; padding: 0 6px; } }

/* boxes without their own toolbar */
.jodit-container.sc-bare { border: 1px solid transparent !important; border-radius: 10px !important; background: #FAFBFD !important; transition: border-color .15s, box-shadow .15s; }
.jodit-container.sc-bare:hover { border-color: var(--sc-line-strong) !important; }
.jodit-container.sc-bare.is-active { border-color: var(--sc-primary) !important; background: #fff !important; box-shadow: 0 0 0 .2rem rgba(var(--sc-primary-rgb), .12); }
.jodit-container.sc-bare .jodit-workplace { border-radius: 10px; }
.jodit-container.sc-bare .jodit-wysiwyg { padding: 8px 12px !important; }
.jodit-container.sc-bare .jodit-placeholder { padding: 8px 12px !important; color: #9AA0B4; }

/* question / options / solution cards */
.sc-qbox { background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: 14px; padding: 12px 14px; margin-bottom: 12px; }
.sc-qbox-head { display: flex; align-items: center; gap: 8px; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--sc-muted); margin-bottom: 8px; }
.sc-qbox-head .text-none { text-transform: none; letter-spacing: 0; }
.sc-qbox-head .btn-link { text-transform: none; letter-spacing: 0; font-weight: 600; font-size: .82rem; text-decoration: none; }
details.sc-more > summary { cursor: pointer; list-style: none; margin-bottom: 0; }
details.sc-more > summary::before { content: '\25B8'; margin-right: 2px; }
details.sc-more[open] > summary::before { content: '\25BE'; }
details.sc-more > summary::-webkit-details-marker { display: none; }

.sc-opt { display: flex; align-items: flex-start; gap: 8px; padding: 4px; border-radius: 12px; margin-bottom: 6px; border: 1px solid transparent; }
.sc-opt:hover { background: #F8F9FC; }
.sc-opt .opt-label { position: relative; flex: none; width: 34px; height: 34px; margin: 3px 0 0; border-radius: 50%; border: 2px solid var(--sc-line-strong);
    display: inline-flex; align-items: center; justify-content: center; font-weight: 700; color: var(--sc-ink-2); cursor: pointer; background: #fff; user-select: none; }
.sc-opt .opt-label:hover { border-color: var(--sc-ok); color: var(--sc-ok); }
.sc-opt .opt-correct { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.sc-opt .opt-label:has(.opt-correct:focus-visible) { box-shadow: 0 0 0 .2rem rgba(30, 122, 60, .3); }
.sc-opt.is-correct, .sc-opt:has(.opt-correct:checked) { background: var(--sc-ok-tint); border-color: rgba(30, 122, 60, .35); }
.sc-opt.is-correct .opt-label, .sc-opt:has(.opt-correct:checked) .opt-label { background: var(--sc-ok); border-color: var(--sc-ok); color: #fff; }
.sc-opt .sc-opt-body { flex: 1 1 auto; min-width: 0; }
.sc-opt-act { flex: none; width: 30px; height: 30px; margin-top: 5px; border: 0; border-radius: 8px; background: transparent; color: var(--sc-faint); }
.sc-opt-act:hover { background: var(--sc-primary-tint); color: var(--sc-primary); }
.sc-opt-act.opt-remove:hover { background: var(--sc-accent-tint); color: var(--sc-accent-dark); }
.sc-opt textarea.rich-mini { min-height: 40px; }

/* left panel: collapsible sections + tabs */
details.sc-sec { border: 1px solid var(--sc-line); border-radius: 12px; background: #fff; padding: 0 10px; margin-bottom: 10px; }
details.sc-sec > summary { cursor: pointer; font-weight: 600; font-size: .9rem; padding: 9px 0; list-style: none; display: flex; align-items: center; gap: 6px; }
details.sc-sec > summary::-webkit-details-marker { display: none; }
details.sc-sec > summary::after { content: '\25BE'; margin-left: auto; color: var(--sc-faint); transition: transform .15s; }
details.sc-sec:not([open]) > summary::after { transform: rotate(-90deg); }
details.sc-sec[open] { padding-bottom: 10px; }
.sc-ltabs { display: flex; gap: 4px; border-bottom: 1px solid var(--sc-line); margin: -4px -4px 10px; padding: 0 4px; flex-wrap: nowrap; overflow-x: auto; }
.sc-ltabs .nav-link { border: 0; border-bottom: 2px solid transparent; border-radius: 0; color: var(--sc-muted); font-weight: 600; font-size: .88rem; padding: 8px 10px; white-space: nowrap; background: none; }
.sc-ltabs .nav-link.active { color: var(--sc-primary); border-bottom-color: var(--sc-primary); }
[data-lpane][hidden] { display: none !important; }

/* review editor layout */
.sc-editor-card > form > .card-body { padding: 14px; }
.sc-formgrid.is-split { grid-template-columns: minmax(300px, 34%) minmax(0, 1fr); }
.sc-formgrid.is-split.wide-left { grid-template-columns: minmax(340px, 46%) minmax(0, 1fr); }
.sc-formgrid.is-split .sc-props { top: 136px; max-height: calc(100vh - 150px); }
.sc-formgrid.is-split .sc-work { --sc-etb-top: 136px; }
.sc-formgrid.is-split.wide-left .sc-props .sc-pv .pv-canvas { max-height: calc(100vh - 260px); }
.sc-formgrid.is-split .sc-props .sc-pv .pv-canvas { min-height: 360px; }
.sc-form-foot { position: sticky; bottom: 0; z-index: 4; border-top: 1px solid var(--sc-line); border-radius: 0 0 var(--sc-radius-lg) var(--sc-radius-lg); }
.sc-foot-pos { font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--sc-muted); }
.sc-rv-title { font-family: Poppins, Hind, sans-serif; }
.sc-rv-pos { font-variant-numeric: tabular-nums; opacity: 1 !important; }
.sc-seg { display: inline-flex; border: 1px solid var(--sc-line-strong); border-radius: 999px; padding: 2px; background: #F8F9FC; }
.sc-seg-btn { padding: 4px 12px; border-radius: 999px; font-size: .82rem; font-weight: 600; color: var(--sc-muted); cursor: pointer; margin: 0; }
.btn-check:checked + .sc-seg-btn { background: #fff; color: var(--sc-ink); box-shadow: 0 1px 3px rgba(0, 0, 0, .12); }
.btn-check:checked + .sc-seg-btn.st-published { background: var(--sc-ok); color: #fff; }
.btn-check:focus-visible + .sc-seg-btn { outline: 2px solid var(--sc-primary); }
.sc-savestate { font-size: .8rem; color: var(--sc-muted); display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.sc-savestate::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #B8BCCB; }
.sc-savestate[data-state="dirty"]::before, .sc-savestate[data-state="error"]::before { background: #E08A00; }
.sc-savestate[data-state="draft"]::before { background: var(--sc-ok); }
.sc-savestate[data-state="saving"]::before { background: var(--sc-primary); }
.sc-qpanel .sc-work { --sc-etb-top: 0px; }
@media (max-width: 991.98px) {
    .sc-formgrid.is-split, .sc-formgrid.is-split.wide-left { grid-template-columns: 1fr; }
    .sc-formgrid.is-split .sc-work { --sc-etb-top: 62px; order: -1; }
    .sc-review-top { position: static; }
    .sc-seg-btn { padding: 4px 9px; }
}
@media (max-width: 575.98px) { .sc-savestate { display: none; } .sc-editor-card > form > .card-body { padding: 8px; } .sc-qbox { padding: 10px; } }

/* ===================== v2.0.8: Question Bank folders ===================== */
.sc-fhead { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-bottom: 14px; }
.sc-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 1.05rem; }
.sc-crumbs a { color: var(--sc-primary); text-decoration: none; font-weight: 600; }
.sc-crumbs a:hover { text-decoration: underline; }
.sc-crumbs .bi-chevron-right { font-size: .75rem; color: var(--sc-faint); }
.sc-crumbs .current { font-family: Poppins, Hind, sans-serif; font-weight: 600; color: var(--sc-ink); }
.sc-fgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; }
.sc-folder { display: flex; flex-direction: column; background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: 16px; transition: border-color .15s, box-shadow .15s, transform .15s; }
.sc-folder:hover { border-color: var(--sc-primary-soft, #c9cdf0); box-shadow: 0 6px 18px rgba(27, 29, 46, .08); transform: translateY(-1px); }
.sc-folder-link { display: flex; flex-direction: column; gap: 4px; padding: 14px 14px 12px; color: inherit; text-decoration: none; flex: 1 1 auto; min-width: 0; }
.sc-folder-ico { font-size: 2.1rem; line-height: 1; color: #F2B33D; }
.sc-folder.is-chapter .sc-folder-ico { font-size: 1.7rem; color: #6C8CF5; }
.sc-folder.is-loose .sc-folder-ico { color: var(--sc-faint); }
.sc-folder-name { font-weight: 600; color: var(--sc-ink); overflow-wrap: anywhere; }
.sc-folder-meta { font-size: .8rem; color: var(--sc-muted); }
.sc-folder.is-empty { background: #FAFBFD; }
.sc-folder.is-empty .sc-folder-ico { opacity: .55; }
.sc-folder-foot { display: flex; align-items: center; gap: 8px; border-top: 1px dashed var(--sc-line); padding: 6px 14px 8px; font-size: .78rem; color: var(--sc-muted); min-width: 0; }
.sc-folder-foot .btn-link { font-size: .8rem; text-decoration: none; font-weight: 600; white-space: nowrap; }
.sc-access-line { background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: 12px; padding: 8px 12px; }
@media (max-width: 575.98px) { .sc-fgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .sc-folder-link { padding: 12px 10px 10px; } .sc-folder-foot { padding: 6px 10px 8px; } }
/* v2.0.10: Save only / Add to Question Bank */
.sc-savestate[data-state="saved"]::before { background: var(--sc-ok); }
.sc-foot-actions { border-top: 1px dashed var(--sc-line); padding-top: 8px; }
@media (max-width: 575.98px) { .sc-foot-actions .btn { flex: 1 1 0; } }
/* v2.0.16: paper folders */
.sc-folder-new { border-style: dashed; background: #FAFBFD; }
.sc-folder-new .sc-folder-ico { color: var(--sc-primary); }
/* v2.0.19: new paper wizard */
.sc-steps { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 0 0 14px; counter-reset: s; }
.sc-steps li { display: flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px; border-radius: 999px; background: var(--sc-surface); border: 1px solid var(--sc-line); font-size: .88rem; color: var(--sc-muted); cursor: default; }
.sc-steps li span { width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #EEF0F6; font-weight: 700; font-size: .8rem; }
.sc-steps li.is-on { border-color: var(--sc-primary); color: var(--sc-ink); font-weight: 600; }
.sc-steps li.is-on span { background: var(--sc-primary); color: #fff; }
.sc-steps li.is-done { cursor: pointer; } .sc-steps li.is-done span { background: var(--sc-ok); color: #fff; }
.sc-pick { position: relative; display: block; margin: 0; cursor: pointer; }
.sc-pick input { position: absolute; opacity: 0; pointer-events: none; }
.sc-pick > span { display: flex; align-items: center; gap: 8px; height: 100%; padding: 14px; border: 1.5px solid var(--sc-line); border-radius: 14px; background: var(--sc-surface); font-weight: 600; }
.sc-pick > span .bi-folder-fill { color: #F2B33D; font-size: 1.3rem; }
.sc-pick-lg > span { flex-direction: column; align-items: flex-start; gap: 4px; }
.sc-pick-lg small { font-weight: 400; color: var(--sc-muted); font-size: .8rem; }
.sc-pick:hover > span { border-color: var(--sc-primary-soft, #c9cdf0); }
.sc-pick input:checked + span { border-color: var(--sc-primary); box-shadow: 0 0 0 .2rem rgba(var(--sc-primary-rgb), .15); background: var(--sc-primary-tint); }
.sc-pick input:focus-visible + span { outline: 2px solid var(--sc-primary); }
.sc-wz-table th { font-size: .75rem; text-transform: uppercase; letter-spacing: .03em; color: var(--sc-muted); white-space: nowrap; }
.sc-wz-table td:first-child { min-width: 180px; } .sc-wz-table td:nth-child(2) { min-width: 170px; }
.sc-wz-table td:nth-child(3), .sc-wz-table td:nth-child(4), .sc-wz-table td:nth-child(5), .sc-wz-table td:nth-child(7) { width: 84px; }
/* v2.4.13: on a phone the number boxes were squeezed so thin that nothing could be typed – keep them wide, the table scrolls sideways */
.sc-wz-table { min-width: 880px; }
.sc-wz-table td:nth-child(3) input, .sc-wz-table td:nth-child(4) input, .sc-wz-table td:nth-child(5) input, .sc-wz-table td:nth-child(7) input { min-width: 76px; text-align: center; padding-left: 4px; padding-right: 4px; }
.sc-wz-table td:nth-child(6) select { min-width: 120px; }
.sc-wz-total { font-size: .95rem; }

/* v2.0.31: paper page – full question in each card (Compact = one line) */
.sc-tq-text { font-size: .95rem; line-height: 1.55; overflow-x: auto; }
.sc-tq-text p { margin: 0 0 .35em; }
.sc-tq-text img { max-width: 100%; max-height: 260px; width: auto; height: auto; }
.sc-tq-opts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sc-tq-opts li img { max-height: 90px; }
@media (max-width: 575.98px) { .sc-tq-opts { grid-template-columns: 1fr; } }
.sc-tq-short { display: none; }
.sc-tq-compact .sc-tq-full { display: none; }
.sc-tq-compact .sc-tq-short { display: block; }
body:not(.sc-tq-compact) .sc-qcard.sc-titem .sc-qcard-head { max-width: none; flex: 1 1 100%; padding-bottom: 0; }
body:not(.sc-tq-compact) .sc-qcard.sc-titem .sc-qcard-body { flex: 1 1 100%; }

/* v2.0.33: "Used in: paper" line on question cards */
.sc-used-in { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin-top: 4px; font-size: .78rem; color: var(--sc-ok, #198754); font-weight: 600; }
.sc-used-in.is-free { color: var(--sc-muted, #6c757d); font-weight: 400; }

/* v2.0.35: figure boxes drawn straight on the PDF page preview */
.sc-pv .pv-stage { position: relative; display: inline-block; vertical-align: top; }
.sc-pv .pv-boxes { position: absolute; inset: 0; pointer-events: none; }
.sc-pv .pv-boxes.is-drawing { pointer-events: auto; cursor: crosshair; background: rgba(13, 110, 253, .04); }
.sc-pv .pv-box { position: absolute; border: 2px solid #dc3545; background: rgba(220, 53, 69, .08); cursor: move; pointer-events: auto; touch-action: none; }
.sc-pv .pv-box .num { position: absolute; top: -1.45em; left: -2px; font-size: .7rem; }
.sc-pv .pv-box .h { position: absolute; right: -7px; bottom: -7px; width: 14px; height: 14px; background: #dc3545; cursor: nwse-resize; border-radius: 2px; }
.sc-pv .pv-ghost { position: absolute; border: 2px dashed #0d6efd; pointer-events: none; }

/* v2.0.45: page shown inside a popup (question editor) – no menu / top bar */
body.sc-bare .sc-sidebar, body.sc-bare .sc-topbar, body.sc-bare .sc-bottomnav { display: none !important; }
body.sc-bare .sc-main { margin-left: 0 !important; }
body.sc-bare main.sc-content { padding: 10px 12px; max-width: none; }
body.sc-bare .sc-review-top { top: 0; }
/* popup that holds the question editor */
.sc-studio { position: fixed; inset: 0; z-index: 2000; background: rgba(15, 18, 40, .55); display: flex; padding: 1.2vh 1.2vw; }
.sc-studio-box { position: relative; flex: 1; background: #F4F6FB; border-radius: 14px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, .35); }
.sc-studio-box iframe { width: 100%; height: 100%; border: 0; display: block; }
.sc-studio-load { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
@media (max-width: 576px) { .sc-studio { padding: 0; } .sc-studio-box { border-radius: 0; } }
body.sc-studio-open { overflow: hidden; }
/* v2.0.69 – phone view: a flex / grid child may shrink below its content (long titles are cut with "…" instead of
   pushing the page wider than the screen); long words, links and pictures wrap or shrink inside the screen */
.min-w-0 { min-width: 0 !important; }
.sc-main, main.sc-content, main.sc-content > * { min-width: 0; }
main.sc-content { overflow-wrap: break-word; }
main.sc-content img, main.sc-content video, main.sc-content iframe { max-width: 100%; }
main.sc-content img { height: auto; }
main.sc-content select.form-select, main.sc-content .form-control { max-width: 100%; min-width: 0; }
main.sc-content .list-group-item > .badge { flex-shrink: 0; }
main.sc-content pre { white-space: pre-wrap; word-break: break-word; }
main.sc-content .flex-grow-1, main.sc-content .flex-fill { min-width: 0; }
main.sc-content :is(h1, h2, h3, h4, h5, h6, .sc-page-title, p, li, .list-group-item, .alert, .flex-grow-1, span.text-muted, .card-title) { overflow-wrap: anywhere; }
.sc-line2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.sc-check-label { min-width: 16rem; } @media (max-width: 575.98px) { .sc-check-label { min-width: 0; flex: 1 1 calc(100% - 2rem); } }
