@font-face {
  font-family: "BSM Vazir";
  src: url("../fonts/Vazir-Medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

.bsm-app {
  --bsm-color-primary: #2563eb;
  --bsm-color-primary-dark: #1d4ed8;
  --bsm-color-sidebar: #111827;
  --bsm-color-text: #111827;
  --bsm-color-muted: #6b7280;
  --bsm-color-border: #e5e7eb;
  --bsm-color-background: #f8fafc;
  --bsm-color-surface: #fff;
  --bsm-radius: 10px;
  --bsm-shadow: 0 8px 24px rgba(15, 23, 42, .08);
  display: flex;
  min-block-size: 70vh;
  font-family: "BSM Vazir", Tahoma, Arial, sans-serif;
  font-weight: 500;
  color: var(--bsm-color-text);
  background: var(--bsm-color-background);
  border: 1px solid var(--bsm-color-border);
  border-radius: var(--bsm-radius);
  overflow: hidden;
  text-align: start;
}

.bsm-app button,
.bsm-app input,
.bsm-app select,
.bsm-app textarea { font: inherit; }

.bsm-app[data-bsm-app] { box-sizing: border-box; inline-size: 100%; min-block-size: 100vh; border: 0; border-radius: 0; }
.admin-bar .bsm-app[data-bsm-app] { min-block-size: calc(100vh - 32px); }

.bsm-app .bsm-sidebar { box-sizing: border-box; inline-size: 250px; flex: 0 0 250px; padding: 1.25rem; color: #fff; background: var(--bsm-color-sidebar); }
.bsm-app .bsm-icon { inline-size: 1.25rem; block-size: 1.25rem; flex: 0 0 auto; }
.bsm-app .bsm-sidebar__brand { display: flex; align-items: center; gap: .65rem; margin-block-end: 1.5rem; font-size: 1.2rem; font-weight: 700; }
.bsm-app .bsm-sidebar__brand-icon { inline-size: 1.6rem; block-size: 1.6rem; color: #93c5fd; }
.bsm-app .bsm-nav__list { margin: 0; padding: 0; list-style: none; }
.bsm-app .bsm-nav__item { margin-block: .25rem; }
.bsm-app .bsm-nav__link { display: flex; align-items: center; gap: .7rem; padding: .7rem .8rem; color: #cbd5e1; border-radius: 8px; text-decoration: none; }
.bsm-app .bsm-nav__icon { color: #94a3b8; transition: color .2s ease, transform .2s ease; }
.bsm-app .bsm-nav__link:hover,
.bsm-app .bsm-nav__link:focus-visible,
.bsm-app .bsm-nav__link--active { color: #fff; background: rgba(255,255,255,.12); outline: none; }
.bsm-app .bsm-nav__link:hover .bsm-nav__icon,
.bsm-app .bsm-nav__link:focus-visible .bsm-nav__icon,
.bsm-app .bsm-nav__link--active .bsm-nav__icon { color: #93c5fd; transform: scale(1.08); }
.bsm-app .bsm-nav__link:focus-visible { box-shadow: 0 0 0 2px #93c5fd; }
.bsm-app .bsm-main { display: flex; min-inline-size: 0; min-block-size: 0; flex: 1; flex-direction: column; }
.bsm-app .bsm-header { display: flex; align-items: center; gap: 1rem; justify-content: space-between; padding: 1rem 1.5rem; background: var(--bsm-color-surface); border-block-end: 1px solid var(--bsm-color-border); }
.bsm-app .bsm-header__title { margin: 0; font-size: 1.35rem; line-height: 1.3; }
.bsm-app .bsm-header__user { margin: .25rem 0 0; color: var(--bsm-color-muted); font-size: .875rem; }
.bsm-app .bsm-content { flex: 1 0 auto; padding: 1.5rem; }
.bsm-app .bsm-breadcrumb { display: flex; flex-wrap: wrap; gap: .5rem; margin-block-end: 1rem; color: var(--bsm-color-muted); font-size: .875rem; }
.bsm-app .bsm-card { padding: 1.25rem; background: var(--bsm-color-surface); border: 1px solid var(--bsm-color-border); border-radius: var(--bsm-radius); box-shadow: var(--bsm-shadow); }
.bsm-app .bsm-card__title { margin: 0 0 .5rem; font-size: 1.1rem; }
.bsm-app .bsm-card__text { margin: 0; color: var(--bsm-color-muted); }
.bsm-app .bsm-button { display: inline-flex; align-items: center; justify-content: center; padding: .65rem 1rem; color: #fff; background: var(--bsm-color-primary); border: 0; border-radius: 8px; text-decoration: none; cursor: pointer; }
.bsm-app .bsm-button:hover { background: var(--bsm-color-primary-dark); color: #fff; }
.bsm-app .bsm-button:focus-visible,
.bsm-app .bsm-menu-toggle:focus-visible { outline: 3px solid #93c5fd; outline-offset: 2px; }
.bsm-app .bsm-button--secondary { color: var(--bsm-color-primary); background: #eff6ff; }
.bsm-app .bsm-alert { padding: .8rem 1rem; border-inline-start: 4px solid var(--bsm-color-primary); background: #eff6ff; border-radius: 6px; }
.bsm-app .bsm-alert--error { border-color: #dc2626; background: #fef2f2; }
.bsm-app .bsm-alert--success { border-color: #16a34a; background: #f0fdf4; }
.bsm-app .bsm-table-wrap { max-inline-size: 100%; overflow-x: auto; }
.bsm-app .bsm-table { inline-size: 100%; border-collapse: collapse; background: var(--bsm-color-surface); }
.bsm-app .bsm-table th,
.bsm-app .bsm-table td { padding: .75rem; border-block-end: 1px solid var(--bsm-color-border); text-align: start; }
.bsm-app .bsm-menu-toggle { display: none; padding: .5rem; background: transparent; border: 1px solid var(--bsm-color-border); border-radius: 6px; cursor: pointer; }
.bsm-app .bsm-backdrop { display: none; }
.bsm-app .bsm-sr-only { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.bsm-panel-page { background: #111827; }
.bsm-app.bsm-auth { position: relative; box-sizing: border-box; display: grid; place-items: center; inline-size: 100%; max-inline-size: none; min-block-size: 100vh; padding: clamp(1rem, 4vw, 3rem); margin: 0; color: #e5e7eb; background: #111827; border: 0; border-radius: 0; }
.admin-bar .bsm-app.bsm-auth { min-block-size: calc(100vh - 32px); }
.bsm-app .bsm-auth__card { box-sizing: border-box; inline-size: min(100%, 430px); padding: clamp(1.5rem, 5vw, 2.5rem); color: #111827; background: rgba(255,255,255,.98); border: 1px solid rgba(255,255,255,.12); border-radius: 20px; box-shadow: 0 28px 80px rgba(0,0,0,.38), 0 1px 2px rgba(0,0,0,.2); }
.bsm-app .bsm-auth__brand { display: grid; place-items: center; inline-size: 3.25rem; block-size: 3.25rem; margin: 0 auto 1rem; color: #fff; background: linear-gradient(135deg,#2563eb,#4f46e5); border-radius: 15px; box-shadow: 0 12px 28px rgba(37,99,235,.32); font-size: 1.35rem; font-weight: 700; }
.bsm-app .bsm-auth__brand--image { object-fit: contain; background: transparent; border: 0; box-shadow: none; }
.bsm-app .bsm-auth__card h1 { margin: 0 0 1.75rem; font-size: clamp(1.55rem, 5vw, 2rem); line-height: 1.3; text-align: center; letter-spacing: -.025em; }
.bsm-app .bsm-auth__form p { margin: 0 0 1.1rem; }
.bsm-app .bsm-auth__form label { color: #374151; font-size: .9rem; }
.bsm-app .bsm-auth__form input[type="text"],
.bsm-app .bsm-auth__form input[type="password"] { min-block-size: 48px; padding: .75rem .9rem; background: #f9fafb; border-color: #d1d5db; border-radius: 10px; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.bsm-app .bsm-auth__form input[type="text"]:hover,
.bsm-app .bsm-auth__form input[type="password"]:hover { border-color: #9ca3af; }
.bsm-app .bsm-auth__form input[type="text"]:focus,
.bsm-app .bsm-auth__form input[type="password"]:focus { background: #fff; border-color: #2563eb; box-shadow: 0 0 0 4px rgba(37,99,235,.13); outline: none; }
.bsm-app .bsm-auth__options { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: -.15rem 0 1.25rem; font-size: .85rem; }
.bsm-app .bsm-auth__remember { display: inline-flex; align-items: center; gap: .45rem; margin: 0; color: #4b5563; cursor: pointer; }
.bsm-app .bsm-auth__remember input { inline-size: 1rem; block-size: 1rem; accent-color: #2563eb; }
.bsm-app .bsm-auth__options .bsm-link { color: #2563eb; text-decoration: none; }
.bsm-app .bsm-auth__options .bsm-link:hover { color: #1d4ed8; text-decoration: underline; }
.bsm-app .bsm-auth__submit { inline-size: 100%; min-block-size: 48px; border-radius: 10px; box-shadow: 0 10px 24px rgba(37,99,235,.22); transition: background .2s ease, transform .2s ease, box-shadow .2s ease; }
.bsm-app .bsm-auth__submit:hover { transform: translateY(-1px); box-shadow: 0 14px 28px rgba(37,99,235,.28); }
.bsm-app.bsm-auth > .bsm-credit { position: absolute; inset-block-end: 1.5rem; inset-inline: 1rem; }
.bsm-app.bsm-message { display: block; max-inline-size: 520px; min-block-size: 0; padding: 1.5rem; margin-inline: auto; background: var(--bsm-color-surface); }
.bsm-app.bsm-portal { position: relative; box-sizing: border-box; display: block; inline-size: 100%; min-block-size: 100vh; padding: clamp(1rem,3vw,2rem); color: #f8fafc; background: #111827; border: 0; border-radius: 0; isolation: isolate; }
.admin-bar .bsm-app.bsm-portal { min-block-size: calc(100vh - 32px); }
.bsm-app .bsm-portal__shell { position: relative; z-index: 1; max-inline-size: 1180px; min-block-size: calc(100vh - clamp(2rem,6vw,4rem)); margin-inline: auto; display: flex; flex-direction: column; }
.bsm-app .bsm-portal__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.bsm-app .bsm-portal__brand { display: inline-flex; align-items: center; gap: .75rem; color: #fff; font-size: 1rem; text-decoration: none; }
.bsm-app .bsm-portal__logo { display: grid; place-items: center; inline-size: 2.65rem; block-size: 2.65rem; color: #fff; background: linear-gradient(135deg,#2563eb,#4f46e5); border: 1px solid rgba(255,255,255,.16); border-radius: 13px; box-shadow: 0 12px 30px rgba(37,99,235,.28); font-size: 1.15rem; font-weight: 700; }
.bsm-app .bsm-portal__logo--image { object-fit: contain; background: transparent; border: 0; box-shadow: none; }
.bsm-app .bsm-portal__login { min-inline-size: 7rem; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); backdrop-filter: blur(12px); }
.bsm-app .bsm-portal__login:hover { background: rgba(255,255,255,.17); }
.bsm-app .bsm-portal__hero { max-inline-size: 760px; margin: clamp(4.5rem,11vh,8.5rem) auto clamp(2.5rem,7vh,4.5rem); text-align: center; }
.bsm-app .bsm-portal__eyebrow { display: inline-flex; margin: 0 0 1.15rem; padding: .45rem .8rem; color: #bfdbfe; background: rgba(37,99,235,.14); border: 1px solid rgba(96,165,250,.22); border-radius: 999px; font-size: .82rem; }
.bsm-app .bsm-portal__hero h1 { margin: 0; color: #fff; font-size: clamp(2.2rem,7vw,4.4rem); line-height: 1.15; letter-spacing: -.045em; text-wrap: balance; }
.bsm-app .bsm-portal__lead { max-inline-size: 650px; margin: 1.3rem auto 0; color: #94a3b8; font-size: clamp(1rem,2vw,1.15rem); line-height: 1.9; text-wrap: balance; }
.bsm-app .bsm-portal__roles { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.bsm-app .bsm-portal__role { position: relative; display: flex; min-inline-size: 0; min-block-size: 150px; align-items: flex-start; flex-direction: column; gap: 1rem; padding: 1.35rem; color: #111827; background: rgba(255,255,255,.97); border: 1px solid rgba(255,255,255,.16); border-radius: 18px; box-shadow: 0 20px 55px rgba(0,0,0,.2); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.bsm-app .bsm-portal__role:hover { color: #111827; border-color: #60a5fa; box-shadow: 0 24px 65px rgba(0,0,0,.3); transform: translateY(-4px); }
.bsm-app .bsm-portal__role:focus-visible { outline: 3px solid #93c5fd; outline-offset: 3px; }
.bsm-app .bsm-portal__role-icon { display: grid; place-items: center; inline-size: 2.8rem; block-size: 2.8rem; color: #2563eb; background: #eff6ff; border-radius: 12px; }
.bsm-app .bsm-portal__role-copy { display: flex; min-inline-size: 0; flex-direction: column; gap: .5rem; }
.bsm-app .bsm-portal__role-copy strong { font-size: 1rem; }
.bsm-app .bsm-portal__role-copy small { color: #6b7280; font-size: .78rem; line-height: 1.7; }
.bsm-app .bsm-portal__arrow { position: absolute; inset-inline-end: 1.25rem; inset-block-start: 1.7rem; color: #94a3b8; font-size: 1.1rem; transition: transform .2s ease, color .2s ease; }
.bsm-app .bsm-portal__role:hover .bsm-portal__arrow { color: #2563eb; transform: translateX(-3px); }
.bsm-app .bsm-credit { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .4rem; margin-block-start: auto; padding-block-start: 2.5rem; color: #64748b; font-size: .78rem; text-align: center; }
.bsm-app .bsm-credit a { color: #93c5fd; text-decoration: none; }
.bsm-app .bsm-credit a:hover { color: #bfdbfe; text-decoration: underline; }
.bsm-app .bsm-credit a:focus-visible { outline: 2px solid #93c5fd; outline-offset: 3px; border-radius: 3px; }
.bsm-app .bsm-portal__glow { position: absolute; z-index: 0; inline-size: 28rem; block-size: 28rem; background: #2563eb; border-radius: 50%; filter: blur(130px); opacity: .1; pointer-events: none; }
.bsm-app .bsm-portal__glow--one { inset-block-start: -12rem; inset-inline-start: -8rem; }
.bsm-app .bsm-portal__glow--two { inset-block-end: -14rem; inset-inline-end: -8rem; background: #4f46e5; }
.bsm-app .bsm-form label { display: block; margin-block-end: .35rem; font-weight: 600; }
.bsm-app .bsm-form input[type="text"],
.bsm-app .bsm-form input[type="password"] { box-sizing: border-box; inline-size: 100%; padding: .7rem; border: 1px solid var(--bsm-color-border); border-radius: 6px; }
.bsm-app .bsm-form input:focus-visible { outline: 3px solid #93c5fd; outline-offset: 1px; }
.bsm-app .bsm-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-block-end: 1rem; }
.bsm-app .bsm-toolbar__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.bsm-app .bsm-filter { display: flex; flex-wrap: wrap; align-items: end; gap: .65rem; margin-block-end: 1rem; }
.bsm-app .bsm-form--grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 1rem; }
.bsm-app .bsm-form--grid p { margin: 0; }
.bsm-app .bsm-form__wide { grid-column: 1 / -1; }
.bsm-app .bsm-form textarea,
.bsm-app .bsm-form select,
.bsm-app .bsm-filter input,
.bsm-app .bsm-filter select { box-sizing: border-box; max-inline-size: 100%; padding: .65rem; border: 1px solid var(--bsm-color-border); border-radius: 6px; }
.bsm-app .bsm-details { display: grid; grid-template-columns: minmax(110px, 1fr) 3fr; gap: .65rem 1rem; }
.bsm-app .bsm-details dt { font-weight: 700; }
.bsm-app .bsm-details dd { margin: 0; }
.bsm-app .bsm-pagination { display: flex; flex-wrap: wrap; gap: .35rem; margin-block-start: 1rem; }
.bsm-app .bsm-pagination__link { padding: .4rem .65rem; border: 1px solid var(--bsm-color-border); border-radius: 5px; text-decoration: none; }
.bsm-app .bsm-pagination__link[aria-current="page"] { color: #fff; background: var(--bsm-color-primary); }
.bsm-app .bsm-tabs { display: flex; gap: .4rem; overflow-x: auto; margin-block-end: 1rem; padding-block-end: .35rem; }
.bsm-app .bsm-tabs a { flex: 0 0 auto; padding: .55rem .75rem; border: 1px solid var(--bsm-color-border); border-radius: 6px; text-decoration: none; }
.bsm-app .bsm-tabs a[aria-current="page"] { color: #fff; background: var(--bsm-color-primary); }
.bsm-app input[type="search"] { box-sizing: border-box; inline-size: 100%; padding: .65rem; margin-block-end: .45rem; border: 1px solid var(--bsm-color-border); border-radius: 6px; }
.bsm-app select[data-bsm-searchable-select] { inline-size: 100%; min-block-size: 11rem; background: #fff; }
.bsm-app select[data-bsm-searchable-select] option { padding: .45rem .55rem; }
.bsm-app .bsm-search-options { display: grid; gap: .4rem; max-block-size: 13rem; padding: .35rem; margin-block: .45rem; overflow-y: auto; background: #f8fafc; border: 1px solid var(--bsm-color-border); border-radius: 8px; }
.bsm-app .bsm-search-options:empty { display: none; }
.bsm-app .bsm-search-options__item { inline-size: 100%; padding: .65rem .75rem; color: #1e293b; background: #fff; border: 1px solid #e2e8f0; border-radius: 6px; text-align: start; cursor: pointer; }
.bsm-app .bsm-search-options__item:hover,
.bsm-app .bsm-search-options__item:focus-visible { color: #1d4ed8; background: #eff6ff; border-color: #93c5fd; outline: none; }
.bsm-app .bsm-search-options__item--selected { color: #fff; background: #2563eb; border-color: #2563eb; }
.bsm-app select.bsm-searchable-select--fallback { min-block-size: 2.75rem; block-size: 2.75rem; }
.bsm-app .bsm-card--nested { margin-block-start: 1rem; background: #f8fafc; box-shadow: none; }
.bsm-app .bsm-inline-form { display: flex; align-items: end; flex-wrap: wrap; gap: .65rem; margin-block: .75rem; }
.bsm-app .bsm-inline-form label { font-weight: 600; }
.bsm-app .bsm-inline-form select,
.bsm-app .bsm-inline-form input { min-inline-size: 12rem; }
.bsm-app .bsm-check { display: inline-flex; align-items: center; gap: .5rem; }
.bsm-app .bsm-sidebar__logo { inline-size: 1.9rem; block-size: 1.9rem; flex: 0 0 auto; object-fit: contain; background: transparent; border-radius: 0; }
.bsm-app .bsm-logo-setting { padding: 1rem; background: #f8fafc; border: 1px solid var(--bsm-color-border); border-radius: 10px; }
.bsm-app .bsm-logo-setting__preview { display: flex; align-items: center; gap: 1rem; margin-block: .75rem; }
.bsm-app .bsm-logo-setting__preview img { inline-size: 80px; block-size: 80px; object-fit: contain; background: transparent; border: 0; border-radius: 0; }
.bsm-app .bsm-logo-setting input[type="file"] { display: block; inline-size: 100%; margin-block: .75rem .35rem; }
.bsm-app .bsm-score-summary { display: grid; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); gap: .75rem; margin-block: 1.1rem; }
.bsm-app .bsm-score-summary > div { padding: .85rem 1rem; border: 1px solid var(--bsm-color-border); border-radius: 12px; background: #f8fafc; }
.bsm-app .bsm-score-summary span,
.bsm-app .bsm-score-summary strong { display: block; }
.bsm-app .bsm-score-summary span { margin-block-end: .3rem; color: var(--bsm-color-muted); font-size: .82rem; }
.bsm-app .bsm-score-tools { display: flex; flex-wrap: wrap; gap: .9rem; align-items: end; justify-content: space-between; margin-block: 1.1rem; }
.bsm-app .bsm-score-tools > p { min-inline-size: min(100%,280px); margin: 0; }
.bsm-app .bsm-score-tools input[type="search"] { inline-size: 100%; }
.bsm-app .bsm-segmented { display: flex; flex-wrap: wrap; gap: .35rem; padding: .3rem; border-radius: 12px; background: #f1f5f9; }
.bsm-app .bsm-segmented__button { padding: .55rem .75rem; border: 0; border-radius: 9px; background: transparent; color: var(--bsm-color-text); cursor: pointer; font: inherit; }
.bsm-app .bsm-segmented__button.is-active { background: #111827; color: #fff; }
.bsm-app .bsm-segmented__button span { font-size: .78em; opacity: .8; }
.bsm-app .bsm-score-visible { color: var(--bsm-color-muted); font-size: .9rem; }
.bsm-app .bsm-score-table td:first-child strong,
.bsm-app .bsm-score-table td:first-child small { display: block; }
.bsm-app .bsm-score-table td:first-child small { margin-block-start: .2rem; color: var(--bsm-color-muted); }
.bsm-app .bsm-score-table input { min-inline-size: 110px; }
.bsm-app .bsm-score-save { position: sticky; z-index: 3; inset-block-end: 0; display: flex; gap: .75rem; align-items: center; justify-content: flex-end; padding: .85rem; margin-block-start: .75rem; border-block-start: 1px solid var(--bsm-color-border); background: rgba(255,255,255,.96); }
.bsm-app .bsm-score-save p { margin: 0; color: #b45309; }
.bsm-app .bsm-empty-state { padding: 2rem 1rem; border: 1px dashed var(--bsm-color-border); border-radius: 14px; background: #f8fafc; text-align: center; }
.bsm-app .bsm-required-mark { color: #dc2626; font-weight: 800; }
.bsm-app .bsm-required-note { grid-column: 1 / -1; margin: 0 0 .35rem; color: var(--bsm-color-muted); font-size: .85rem; }
.bsm-app .bsm-inline-form .bsm-required-note { flex-basis: 100%; }
.bsm-app .bsm-license-status { margin-block: 1rem; padding: 1rem; border-inline-start: 4px solid #64748b; border-radius: 10px; background: #f8fafc; }
.bsm-app .bsm-license-status--active { border-color: #16a34a; background: #f0fdf4; }
.bsm-app .bsm-license-status--grace { border-color: #d97706; background: #fffbeb; }
.bsm-app .bsm-license-status--expired,
.bsm-app .bsm-license-status--invalid,
.bsm-app .bsm-license-status--not_activated { border-color: #dc2626; background: #fef2f2; }
.bsm-app .bsm-button--danger { background: #b91c1c; color: #fff; }

@media (max-width: 1024px) {
  .bsm-app .bsm-portal__roles { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bsm-app .bsm-sidebar { position: fixed; z-index: 1001; inset-block: 0; inset-inline-start: 0; block-size: 100vh; block-size: 100dvh; max-block-size: 100dvh; padding-block-end: calc(1.25rem + env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: #475569 transparent; transform: translateX(-105%); transition: transform .2s ease; box-shadow: var(--bsm-shadow); }
  .admin-bar .bsm-app .bsm-sidebar { inset-block-start: 32px; inset-block-end: auto; block-size: calc(100vh - 32px); block-size: calc(100dvh - 32px); max-block-size: calc(100dvh - 32px); }
  .bsm-app:dir(rtl) .bsm-sidebar { transform: translateX(105%); }
  .bsm-app.bsm-app--menu-open .bsm-sidebar { transform: translateX(0); }
  .bsm-app .bsm-menu-toggle { display: inline-flex; }
  .bsm-app.bsm-app--menu-open .bsm-backdrop { display: block; position: fixed; z-index: 1000; inset: 0; background: rgba(15,23,42,.5); }
}

@media (max-width: 640px) {
	.admin-bar .bsm-app[data-bsm-app] { min-block-size: calc(100vh - 46px); }
	.admin-bar .bsm-app .bsm-sidebar { inset-block-start: 46px; block-size: calc(100vh - 46px); block-size: calc(100dvh - 46px); max-block-size: calc(100dvh - 46px); }
	.admin-bar .bsm-app.bsm-auth { min-block-size: calc(100vh - 46px); }
	.admin-bar .bsm-app.bsm-portal { min-block-size: calc(100vh - 46px); }
	.bsm-app.bsm-auth { padding: 1rem; }
	.bsm-app .bsm-auth__card { padding: 1.5rem; border-radius: 16px; }
	.bsm-app .bsm-auth__options { align-items: flex-start; flex-direction: column; gap: .75rem; }
	.bsm-app.bsm-auth { padding-block-end: 6rem; }
	.bsm-app.bsm-auth > .bsm-credit { inset-block-end: 1rem; }
	.bsm-app .bsm-credit__separator { display: none; }
	.bsm-app.bsm-portal { padding: 1rem; }
	.bsm-app .bsm-portal__shell { min-block-size: calc(100vh - 2rem); }
	.bsm-app .bsm-portal__header { align-items: flex-start; }
	.bsm-app .bsm-portal__brand { max-inline-size: 65%; }
	.bsm-app .bsm-portal__login { min-inline-size: 0; padding: .55rem .75rem; }
	.bsm-app .bsm-portal__hero { margin-block: 4rem 2.5rem; }
	.bsm-app .bsm-portal__roles { grid-template-columns: 1fr; }
	.bsm-app .bsm-portal__role { min-block-size: 0; }
  .bsm-app .bsm-header { align-items: flex-start; padding: 1rem; }
  .bsm-app .bsm-content { padding: 1rem; }
  .bsm-app .bsm-button--secondary { padding: .5rem .65rem; }
  .bsm-app .bsm-form--grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .bsm-app .bsm-sidebar,
  .bsm-app .bsm-nav__icon { transition: none; }
}

.bsm-app .bsm-workflow { margin-block-end: 1rem; padding: 1rem; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 10px; }
.bsm-app .bsm-workflow h3 { margin: 0 0 .35rem; font-size: 1rem; }
.bsm-app .bsm-workflow p { margin: 0 0 .75rem; color: var(--bsm-color-muted); }
.bsm-app .bsm-workflow ol { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; counter-reset: bsm-workflow; }
.bsm-app .bsm-workflow li { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .65rem; background: #fff; border: 1px solid #dbeafe; border-radius: 999px; }
.bsm-app .bsm-workflow li::before { counter-increment: bsm-workflow; content: counter(bsm-workflow); display: grid; place-items: center; inline-size: 1.35rem; block-size: 1.35rem; color: #fff; background: var(--bsm-color-primary); border-radius: 50%; font-size: .72rem; }
.bsm-app--loading .bsm-content { opacity: .55; pointer-events: none; }
.bsm-app .bsm-content { transition: opacity .15s ease; }
.bsm-app .bsm-persian-date{position:relative;display:inline-flex;inline-size:100%;align-items:stretch}
.bsm-app .bsm-persian-date>input{padding-inline-end:3rem;inline-size:100%}
.bsm-app .bsm-persian-date__toggle{position:absolute;inset-inline-end:.35rem;inset-block:50% auto;translate:0 -50%;inline-size:2.25rem;block-size:2.25rem;border:0;border-radius:.55rem;background:transparent;color:var(--bsm-accent,#2563eb);cursor:pointer;font-size:1.15rem}
.bsm-app .bsm-persian-date__toggle:hover,.bsm-app .bsm-persian-date__toggle:focus-visible{background:rgba(37,99,235,.1)}
.bsm-app .bsm-persian-calendar{position:absolute;z-index:1200;inset-block-start:calc(100% + .4rem);inset-inline-start:0;inline-size:min(20rem,calc(100vw - 2rem));padding:.75rem;background:#fff;color:#172033;border:1px solid #dce2ec;border-radius:1rem;box-shadow:0 18px 45px rgba(15,23,42,.2);direction:rtl}
.bsm-app .bsm-persian-calendar[hidden]{display:none}
.bsm-app .bsm-persian-calendar__header,.bsm-app .bsm-persian-calendar__footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.bsm-app .bsm-persian-calendar__header button,.bsm-app .bsm-persian-calendar__footer button,.bsm-app .bsm-persian-calendar__grid button{border:0;background:transparent;color:inherit;border-radius:.55rem;cursor:pointer}
.bsm-app .bsm-persian-calendar__header button{inline-size:2.25rem;block-size:2.25rem;font-size:1.4rem}
.bsm-app .bsm-persian-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.2rem;margin:.55rem 0}
.bsm-app .bsm-persian-calendar__weekday{display:grid;place-items:center;block-size:2rem;color:#64748b;font-size:.78rem;font-weight:700}
.bsm-app .bsm-persian-calendar__grid button{aspect-ratio:1;min-inline-size:0;font-size:.85rem}
.bsm-app .bsm-persian-calendar__grid button:hover:not(:disabled),.bsm-app .bsm-persian-calendar__grid button:focus-visible{background:#eef2ff;color:#3730a3}
.bsm-app .bsm-persian-calendar__grid button.is-today{outline:1px solid #2563eb;color:#1d4ed8}
.bsm-app .bsm-persian-calendar__grid button.is-selected{background:#2563eb;color:#fff;outline:0}
.bsm-app .bsm-persian-calendar__grid button:disabled{opacity:.25;cursor:not-allowed}
.bsm-app .bsm-persian-calendar__footer{justify-content:flex-end;border-top:1px solid #edf0f5;padding-block-start:.55rem}
.bsm-app .bsm-persian-calendar__footer button{padding:.4rem .7rem;color:#1d4ed8;font-weight:700}
@media(max-width:520px){.bsm-app .bsm-persian-calendar{position:fixed;inset:auto 1rem 1rem;inline-size:auto;max-block-size:calc(100vh - 2rem);overflow:auto}.bsm-app .bsm-persian-calendar__grid button{min-block-size:2.5rem}}

.bsm-app .bsm-dashboard-guide { display: grid; gap: 1rem; }
.bsm-app .bsm-dashboard-guide__hero { background: linear-gradient(135deg, #eff6ff, #fff); border-color: #bfdbfe; }
.bsm-app .bsm-dashboard-guide__hero h2 { margin: .2rem 0 .55rem; font-size: clamp(1.25rem, 2vw, 1.65rem); }
.bsm-app .bsm-dashboard-guide__hero p:last-child { margin: 0; color: var(--bsm-color-muted); line-height: 1.9; }
.bsm-app .bsm-dashboard-guide__eyebrow { margin: 0; color: #1d4ed8; font-size: .82rem; font-weight: 800; }
.bsm-app .bsm-dashboard-guide h3 { margin: 0 0 .9rem; font-size: 1.05rem; }
.bsm-app .bsm-dashboard-steps { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.bsm-app .bsm-dashboard-steps li { display: grid; grid-template-columns: 2.2rem 1fr; gap: .8rem; align-items: start; padding: .85rem; border: 1px solid var(--bsm-color-border); border-radius: .75rem; background: #fff; }
.bsm-app .bsm-dashboard-steps li > span { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 999px; background: #2563eb; color: #fff; font-weight: 800; }
.bsm-app .bsm-dashboard-steps strong { display: block; margin: .15rem 0 .25rem; }
.bsm-app .bsm-dashboard-steps p { margin: 0; color: var(--bsm-color-muted); line-height: 1.75; }
.bsm-app .bsm-dashboard-steps a,
.bsm-app .bsm-dashboard-list a { color: #1d4ed8; text-decoration: none; }
.bsm-app .bsm-dashboard-steps a:hover,
.bsm-app .bsm-dashboard-list a:hover { text-decoration: underline; }
.bsm-app .bsm-dashboard-steps--cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bsm-app .bsm-dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.bsm-app .bsm-dashboard-list { display: grid; gap: .7rem; margin: 0; padding-inline-start: 1.15rem; color: var(--bsm-color-muted); line-height: 1.7; }
.bsm-app .bsm-dashboard-note { padding: 1rem 1.1rem; border-inline-start: 4px solid #f59e0b; border-radius: .65rem; background: #fffbeb; color: #78350f; line-height: 1.8; }
@media (max-width: 960px) {
	.bsm-app .bsm-dashboard-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
	.bsm-app .bsm-dashboard-grid,
	.bsm-app .bsm-dashboard-steps--cards { grid-template-columns: 1fr; }
	.bsm-app .bsm-dashboard-steps li { grid-template-columns: 2rem 1fr; padding: .75rem; }
	.bsm-app .bsm-dashboard-steps li > span { width: 2rem; height: 2rem; }
}

.bsm-app .bsm-panel-footer {
	display: flex;
	flex: 0 0 auto;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	min-block-size: 38px;
	padding: .5rem 1.25rem;
	color: #cbd5e1;
	background: var(--bsm-color-sidebar);
	border-block-start: 1px solid rgba(255,255,255,.08);
	font-size: .72rem;
	line-height: 1.6;
	text-align: center;
}
.bsm-app .bsm-panel-footer a { color: #93c5fd; font-weight: 700; text-decoration: none; }
.bsm-app .bsm-panel-footer a:hover { color: #dbeafe; text-decoration: underline; }
.bsm-app .bsm-panel-footer a:focus-visible { outline: 2px solid #93c5fd; outline-offset: 2px; border-radius: 3px; }
.bsm-app .bsm-panel-footer__separator { color: #64748b; }
@media (max-width: 680px) {
	.bsm-app .bsm-panel-footer { gap: .25rem .4rem; padding: .55rem .75rem; font-size: .68rem; }
	.bsm-app .bsm-panel-footer__separator { display: none; }
	.bsm-app .bsm-panel-footer span { inline-size: 100%; }
}
.bsm-app .bsm-dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.bsm-app .bsm-dashboard-metric{display:grid;gap:.25rem;padding:1rem;color:var(--bsm-color-text);background:#fff;border:1px solid var(--bsm-color-border);border-radius:10px;text-decoration:none;box-shadow:var(--bsm-shadow)}.bsm-app .bsm-dashboard-metric strong{color:#1d4ed8;font-size:1.65rem}.bsm-app .bsm-dashboard-metric span{color:var(--bsm-color-muted);font-size:.82rem}.bsm-app .bsm-dashboard-alerts{display:grid;gap:.5rem}.bsm-app .bsm-dashboard-alerts h3{margin:0}.bsm-app .bsm-dashboard-alert{padding:.75rem 1rem;color:#374151;background:#eff6ff;border-inline-start:4px solid #3b82f6;border-radius:7px;text-decoration:none}.bsm-app .bsm-dashboard-alert--warning{background:#fffbeb;border-color:#f59e0b}.bsm-app .bsm-dashboard-alert--danger{background:#fef2f2;border-color:#dc2626}@media(max-width:800px){.bsm-app .bsm-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}


.bsm-app .bsm-report-card{direction:rtl}.bsm-app .bsm-report-card__actions{display:flex;justify-content:flex-end;gap:.6rem;margin-block-end:1rem}.bsm-app .bsm-report-card__paper{max-inline-size:210mm;min-block-size:270mm;margin:auto;padding:12mm;color:#111827;background:#fff;border:1px solid #cbd5e1;box-shadow:var(--bsm-shadow)}.bsm-app .bsm-report-card__header{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding-block-end:1rem;border-block-end:3px double #0f2744;text-align:center}.bsm-app .bsm-report-card__header img{inline-size:64px;block-size:64px;object-fit:contain}.bsm-app .bsm-report-card__header p,.bsm-app .bsm-report-card__header h1{margin:.15rem}.bsm-app .bsm-report-card__status{padding:.35rem .65rem;border:1px solid #0f2744;border-radius:4px;font-size:.75rem}.bsm-app .bsm-report-card__identity{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:1rem 0;border:1px solid #94a3b8}.bsm-app .bsm-report-card__identity div{padding:.55rem;border:1px solid #e2e8f0}.bsm-app .bsm-report-card__identity dt{color:#64748b;font-size:.72rem}.bsm-app .bsm-report-card__identity dd{margin:.2rem 0 0;font-weight:700}.bsm-app .bsm-report-card__grades{inline-size:100%;border-collapse:collapse}.bsm-app .bsm-report-card__grades th,.bsm-app .bsm-report-card__grades td{padding:.55rem;border:1px solid #94a3b8;text-align:center}.bsm-app .bsm-report-card__grades thead,.bsm-app .bsm-report-card__grades tfoot{background:#eaf0f8}.bsm-app .bsm-report-card__summary{display:grid;grid-template-columns:2fr 1fr;gap:1rem;margin-block:1rem}.bsm-app .bsm-report-card__summary>div{display:grid;gap:.3rem;padding:.75rem;border:1px solid #cbd5e1}.bsm-app .bsm-report-card__signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-block-start:3rem;text-align:center}.bsm-app .bsm-report-card__signatures div{padding-block-start:3rem;border-block-start:1px dashed #94a3b8}@media(max-width:760px){.bsm-app .bsm-report-card__paper{min-block-size:0;padding:1rem}.bsm-app .bsm-report-card__identity{grid-template-columns:repeat(2,1fr)}.bsm-app .bsm-report-card__header{grid-template-columns:1fr}.bsm-app .bsm-report-card__summary{grid-template-columns:1fr}}
@media print{body{background:#fff!important}.bsm-app .bsm-sidebar,.bsm-app .bsm-header,.bsm-app .bsm-panel-footer,.bsm-app .bsm-no-print,#wpadminbar{display:none!important}.admin-bar .bsm-app[data-bsm-app],.bsm-app[data-bsm-app]{min-height:0!important}.bsm-app .bsm-main,.bsm-app .bsm-content{display:block!important;padding:0!important;margin:0!important;overflow:visible!important}.bsm-app .bsm-report-card__paper{max-inline-size:none;min-block-size:0;padding:8mm;border:0;box-shadow:none;page-break-inside:avoid}@page{size:A4 portrait;margin:8mm}}

.bsm-app .bsm-behavior-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:1rem}.bsm-app .bsm-behavior-badges span{padding:.35rem .65rem;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;font-size:.78rem;font-weight:700}.bsm-app .bsm-behavior-badges .bsm-behavior-importance--important{color:#92400e;background:#fffbeb;border-color:#f59e0b}.bsm-app .bsm-behavior-badges .bsm-behavior-importance--urgent{color:#991b1b;background:#fef2f2;border-color:#ef4444}.bsm-app .bsm-behavior-block,.bsm-app .bsm-behavior-admin,.bsm-app .bsm-behavior-parent{margin-block:1rem;padding:1rem;border:1px solid var(--bsm-color-border);border-radius:.75rem;background:#fff}.bsm-app .bsm-behavior-block h3,.bsm-app .bsm-behavior-admin h3,.bsm-app .bsm-behavior-parent h3{margin-block-start:0}.bsm-app .bsm-behavior-block p{margin-block-end:0;line-height:1.9}.bsm-app .bsm-behavior-admin{background:#f8fafc}.bsm-app .bsm-behavior-parent{background:#eff6ff;border-color:#bfdbfe}.bsm-app .bsm-behavior-response{display:grid;gap:.35rem;margin-block:.75rem;padding:.85rem;border-inline-start:4px solid #3b82f6;background:#f8fafc;border-radius:.5rem}.bsm-app .bsm-behavior-response p{margin:.2rem 0}

/* Version 1.33 visual refresh: presentation-only and panel-scoped. */
.bsm-app[data-bsm-app]{
 --bsm-color-primary:#5b4df7;--bsm-color-primary-dark:#4338ca;--bsm-color-sidebar:#11182f;
 --bsm-color-text:#17203b;--bsm-color-muted:#7d87a3;--bsm-color-border:#e6eaf3;
 --bsm-color-background:#f5f7fc;--bsm-shadow:0 10px 35px rgba(40,48,84,.06);
 direction:rtl;gap:0;min-block-size:100vh;color:var(--bsm-color-text);
 background:radial-gradient(circle at 12% 5%,#fff 0,transparent 26%),#f5f7fc
}
.bsm-app[data-bsm-app] .bsm-main{order:1;min-inline-size:0;padding:14px 14px 0}
.bsm-app[data-bsm-app] .bsm-sidebar{
 order:2;flex:0 0 286px;inline-size:286px;block-size:calc(100vh - 16px);margin:8px 8px 8px 0;
 padding:24px 16px;background:linear-gradient(155deg,#0e1429,#182444);border:1px solid rgba(255,255,255,.06);
 border-radius:22px;box-shadow:0 18px 44px rgba(17,24,47,.18)
}
.bsm-app[data-bsm-app] .bsm-brand{gap:13px;padding:4px 10px 22px;border-block-end:0}
.bsm-app[data-bsm-app] .bsm-brand__logo{inline-size:56px;block-size:56px;padding:7px;background:rgba(255,255,255,.96);border-radius:50%;box-shadow:0 0 0 4px rgba(111,86,255,.22);object-fit:contain}
.bsm-app[data-bsm-app] .bsm-brand__name{color:#fff;font-size:1rem;font-weight:800;line-height:1.75}
.bsm-app[data-bsm-app] .bsm-nav{gap:7px;padding-block:5px 92px}
.bsm-app[data-bsm-app] .bsm-nav a{min-block-size:50px;padding:12px 16px;color:#dce2f4;border-radius:12px;font-weight:600;transition:.18s ease}
.bsm-app[data-bsm-app] .bsm-nav a:hover{color:#fff;background:rgba(255,255,255,.07);transform:translateX(-2px)}
.bsm-app[data-bsm-app] .bsm-nav a[aria-current="page"],
.bsm-app[data-bsm-app] .bsm-nav a.bsm-nav__link--active{color:#fff;background:linear-gradient(135deg,#8247f5,#5038e7);box-shadow:0 8px 22px rgba(91,77,247,.32)}
.bsm-app[data-bsm-app] .bsm-nav__icon{inline-size:22px;block-size:22px;color:currentColor}
.bsm-app[data-bsm-app] .bsm-header{min-block-size:86px;margin:0 0 14px;padding:16px 22px;background:rgba(255,255,255,.94);border:1px solid rgba(230,234,243,.9);border-radius:18px;box-shadow:var(--bsm-shadow);backdrop-filter:blur(12px)}
.bsm-app[data-bsm-app] .bsm-header__title{color:#141b32;font-size:1.08rem;font-weight:800}
.bsm-app[data-bsm-app] .bsm-header__meta{color:var(--bsm-color-muted);font-size:.76rem}
.bsm-app[data-bsm-app] .bsm-menu-toggle{inline-size:44px;block-size:44px;color:#3427dd;background:linear-gradient(145deg,#ece9ff,#c5c2ff);border:0;border-radius:50%;box-shadow:0 7px 18px rgba(91,77,247,.2)}
.bsm-app[data-bsm-app] .bsm-content{flex:1;padding:0 0 14px}
.bsm-app[data-bsm-app] .bsm-card,
.bsm-app[data-bsm-app] .bsm-section,
.bsm-app[data-bsm-app] .bsm-dashboard-metric,
.bsm-app[data-bsm-app] .bsm-behavior-block,
.bsm-app[data-bsm-app] .bsm-behavior-admin,
.bsm-app[data-bsm-app] .bsm-behavior-parent{background:rgba(255,255,255,.97);border:1px solid var(--bsm-color-border);border-radius:18px;box-shadow:var(--bsm-shadow)}
.bsm-app[data-bsm-app] .bsm-card{padding:20px}
.bsm-app[data-bsm-app] h1,.bsm-app[data-bsm-app] h2,.bsm-app[data-bsm-app] h3{color:#17203b}
.bsm-app[data-bsm-app] .bsm-button{min-block-size:42px;padding:9px 17px;border:0;border-radius:10px;font-weight:700}
.bsm-app[data-bsm-app] .bsm-button:not(.bsm-button--secondary):not(.bsm-button--danger){color:#fff;background:linear-gradient(135deg,#6d5dfb,#4338e5);box-shadow:0 7px 18px rgba(91,77,247,.2)}
.bsm-app[data-bsm-app] .bsm-button--secondary{color:#4f46e5;background:#f1f0ff;border:1px solid #dedbff}
.bsm-app[data-bsm-app] input:not([type="checkbox"]):not([type="radio"]),
.bsm-app[data-bsm-app] select,.bsm-app[data-bsm-app] textarea{min-block-size:46px;color:#17203b;background:#fff;border:1px solid #dfe4ee;border-radius:11px;box-shadow:inset 0 1px 2px rgba(19,30,61,.025)}
.bsm-app[data-bsm-app] input:focus,.bsm-app[data-bsm-app] select:focus,.bsm-app[data-bsm-app] textarea:focus{border-color:#7568fa;box-shadow:0 0 0 3px rgba(91,77,247,.12);outline:0}
.bsm-app[data-bsm-app] .bsm-table-wrap{background:#fff;border:1px solid var(--bsm-color-border);border-radius:16px;box-shadow:var(--bsm-shadow);overflow:auto}
.bsm-app[data-bsm-app] table{background:#fff}
.bsm-app[data-bsm-app] th{color:#69738e;background:#f8f9fd;font-size:.78rem}
.bsm-app[data-bsm-app] th,.bsm-app[data-bsm-app] td{padding:13px 14px;border-color:#edf0f6}
.bsm-app[data-bsm-app] tbody tr:hover{background:#fafaff}
.bsm-app[data-bsm-app] .bsm-tabs{gap:6px;padding:5px;background:#eeeff6;border-radius:13px}
.bsm-app[data-bsm-app] .bsm-tabs a{border-radius:9px}
.bsm-app[data-bsm-app] .bsm-tabs a[aria-current="page"]{color:#fff;background:linear-gradient(135deg,#6f5dfb,#4939e7)}
.bsm-app[data-bsm-app] .bsm-dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-block-end:14px}
.bsm-app[data-bsm-app] .bsm-dashboard-metric{position:relative;min-block-size:126px;padding:22px 22px 18px 88px;overflow:hidden}
.bsm-app[data-bsm-app] .bsm-dashboard-metric::before{content:"";position:absolute;inset-inline-start:20px;inset-block-start:24px;inline-size:50px;block-size:50px;background:linear-gradient(145deg,#f3eaff,#eadcff);border-radius:16px}
.bsm-app[data-bsm-app] .bsm-dashboard-metric::after{content:"";position:absolute;inset-inline-start:37px;inset-block-start:39px;inline-size:16px;block-size:16px;border:3px solid #7c3aed;border-radius:50%}
.bsm-app[data-bsm-app] .bsm-dashboard-metric:nth-child(2)::before{background:#e8f8f0}
.bsm-app[data-bsm-app] .bsm-dashboard-metric:nth-child(2)::after{border-color:#10b981;border-radius:4px;transform:rotate(45deg)}
.bsm-app[data-bsm-app] .bsm-dashboard-metric:nth-child(3)::before{background:#fff0e6}
.bsm-app[data-bsm-app] .bsm-dashboard-metric:nth-child(3)::after{border-color:#f97316}
.bsm-app[data-bsm-app] .bsm-dashboard-metric:nth-child(4)::before{background:#e7f2ff}
.bsm-app[data-bsm-app] .bsm-dashboard-metric:nth-child(4)::after{border-color:#2563eb;border-radius:3px}
.bsm-app[data-bsm-app] .bsm-dashboard-metric strong{color:#5040ec;font-size:1.85rem;line-height:1.2}
.bsm-app[data-bsm-app] .bsm-dashboard-metric span{color:#7d87a3;font-size:.8rem}
.bsm-app[data-bsm-app] .bsm-dashboard-alerts{margin-block-end:14px;padding:18px;background:#fff;border:1px solid var(--bsm-color-border);border-radius:18px;box-shadow:var(--bsm-shadow)}
.bsm-app[data-bsm-app] .bsm-dashboard-alert{padding:12px 15px;background:#f3f6ff;border-inline-start:3px solid #5b4df7;border-radius:10px}
.bsm-app[data-bsm-app] .bsm-dashboard-guide{gap:14px}
.bsm-app[data-bsm-app] .bsm-dashboard-guide__hero{position:relative;padding:26px;background:linear-gradient(135deg,#f0efff,#fff 60%);border-color:#dddafe;overflow:hidden}
.bsm-app[data-bsm-app] .bsm-dashboard-guide__hero::after{content:"";position:absolute;inset-inline-end:-35px;inset-block-end:-70px;inline-size:210px;block-size:210px;background:linear-gradient(145deg,rgba(91,77,247,.13),rgba(91,77,247,0));border-radius:50%}
.bsm-app[data-bsm-app] .bsm-dashboard-guide__eyebrow{color:#5040ec}
.bsm-app[data-bsm-app] .bsm-dashboard-grid{gap:14px}
.bsm-app[data-bsm-app] .bsm-dashboard-steps li{padding:15px;border-color:#e8eaf2;border-radius:13px}
.bsm-app[data-bsm-app] .bsm-dashboard-steps li>span{background:linear-gradient(135deg,#715ffb,#4436df);box-shadow:0 6px 16px rgba(91,77,247,.2)}
.bsm-app[data-bsm-app] .bsm-dashboard-steps a,.bsm-app[data-bsm-app] .bsm-dashboard-list a{color:#5040ec}
.bsm-app[data-bsm-app] .bsm-workflow{background:#f2f1ff;border-color:#dedbff;border-radius:14px}
.bsm-app[data-bsm-app] .bsm-workflow li{border-color:#e1defe}
.bsm-app[data-bsm-app] .bsm-panel-footer{margin-inline:-14px;color:#8089a2;background:transparent;border-color:#e6eaf3}
.bsm-app[data-bsm-app] .bsm-panel-footer a{color:#5040ec}
@media(max-width:1180px){
 .bsm-app[data-bsm-app] .bsm-sidebar{flex-basis:252px;inline-size:252px}
 .bsm-app[data-bsm-app] .bsm-dashboard-metric{padding-inline-start:72px}
 .bsm-app[data-bsm-app] .bsm-dashboard-metric::before{inset-inline-start:14px}
 .bsm-app[data-bsm-app] .bsm-dashboard-metric::after{inset-inline-start:31px}
}
@media(max-width:1024px){
 .bsm-app[data-bsm-app] .bsm-sidebar{position:fixed;z-index:1001;inset-block:8px;inset-inline:auto 8px;block-size:calc(100dvh - 16px);margin:0;transform:translateX(110%)}
 .bsm-app[data-bsm-app].bsm-app--menu-open .bsm-sidebar{transform:translateX(0)}
 .bsm-app[data-bsm-app] .bsm-main{inline-size:100%}
 .bsm-app[data-bsm-app] .bsm-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
 .bsm-app[data-bsm-app] .bsm-main{padding:8px 8px 0}
 .bsm-app[data-bsm-app] .bsm-header{min-block-size:72px;margin-block-end:8px;padding:12px;border-radius:15px}
 .bsm-app[data-bsm-app] .bsm-header__meta{display:none}
 .bsm-app[data-bsm-app] .bsm-content{padding:0 0 8px}
 .bsm-app[data-bsm-app] .bsm-dashboard-metrics{grid-template-columns:1fr;gap:8px}
 .bsm-app[data-bsm-app] .bsm-dashboard-metric{min-block-size:102px;padding-block:16px}
 .bsm-app[data-bsm-app] .bsm-dashboard-metric::before{inset-block-start:17px}
 .bsm-app[data-bsm-app] .bsm-dashboard-metric::after{inset-block-start:32px}
 .bsm-app[data-bsm-app] .bsm-card{padding:15px;border-radius:15px}
 .bsm-app[data-bsm-app] .bsm-table-wrap{border-radius:13px}
 .bsm-app[data-bsm-app] .bsm-panel-footer{margin-inline:-8px}
}
@media print{
 .bsm-app[data-bsm-app]{display:block;min-block-size:0;background:#fff}
 .bsm-app[data-bsm-app] .bsm-main{display:block;padding:0}
}

/* 1.33 layout correction: preserve the native RTL source order. */
.bsm-app[data-bsm-app]{
	align-items:stretch;
	overflow:visible;
}
.bsm-app[data-bsm-app] .bsm-main{
	order:initial;
	inline-size:calc(100% - 294px);
}
.bsm-app[data-bsm-app] .bsm-sidebar{
	position:sticky;
	z-index:20;
	inset-block-start:0;
	order:initial;
	align-self:flex-start;
	block-size:100vh;
	max-block-size:100vh;
	margin:0;
	padding:24px 16px max(24px,env(safe-area-inset-bottom));
	border-block:0;
	border-inline-end:0;
	border-radius:0 0 0 22px;
	overflow-x:hidden;
	overflow-y:auto;
	overscroll-behavior:contain;
	-webkit-overflow-scrolling:touch;
	scrollbar-width:thin;
	scrollbar-color:#465270 transparent;
}
.admin-bar .bsm-app[data-bsm-app] .bsm-sidebar{
	inset-block-start:32px;
	block-size:calc(100vh - 32px);
	max-block-size:calc(100vh - 32px);
}
.bsm-app[data-bsm-app] .bsm-sidebar__brand{
	display:flex;
	align-items:center;
	gap:13px;
	margin-block-end:18px;
	padding:4px 10px 18px;
	color:#fff;
	border-block-end:1px solid rgba(255,255,255,.07);
	font-size:1rem;
	font-weight:800;
	line-height:1.75;
}
.bsm-app[data-bsm-app] .bsm-sidebar__logo{
	inline-size:54px;
	block-size:54px;
	padding:4px;
	background:transparent;
	border:0;
	border-radius:0;
	box-shadow:none;
	object-fit:contain;
}
.bsm-app[data-bsm-app] .bsm-sidebar__brand-icon{
	inline-size:42px;
	block-size:42px;
	padding:8px;
	color:#7667ff;
	background:#fff;
	border-radius:50%;
}
.bsm-app[data-bsm-app] .bsm-nav{
	padding-block:4px 24px;
}
@media(max-width:1024px){
	.bsm-app[data-bsm-app]{overflow:hidden}
	.bsm-app[data-bsm-app] .bsm-main{inline-size:100%}
	.bsm-app[data-bsm-app] .bsm-sidebar{
		position:fixed;
		inset-block:0;
		inset-inline:auto 0;
		block-size:100vh;
		max-block-size:100vh;
		border-radius:0 0 0 18px;
		transform:translateX(105%);
	}
	.admin-bar .bsm-app[data-bsm-app] .bsm-sidebar{
		inset-block-start:32px;
		block-size:calc(100vh - 32px);
		max-block-size:calc(100vh - 32px);
	}
	.bsm-app[data-bsm-app].bsm-app--menu-open .bsm-sidebar{transform:translateX(0)}
}
@media(max-width:782px){
	.admin-bar .bsm-app[data-bsm-app] .bsm-sidebar{
		inset-block-start:46px;
		block-size:calc(100vh - 46px);
		max-block-size:calc(100vh - 46px);
	}
}
@media print{
	.bsm-app[data-bsm-app]{overflow:visible}
	.bsm-app[data-bsm-app] .bsm-main{inline-size:100%}
}

/* 1.33.2 metric correction: keep values clear of RTL decorative icons. */
.bsm-app[data-bsm-app] .bsm-dashboard-metric{
	align-content:center;
	padding:22px;
	padding-inline-start:88px;
}
.bsm-app[data-bsm-app] .bsm-dashboard-metric strong,
.bsm-app[data-bsm-app] .bsm-dashboard-metric span{
	position:relative;
	z-index:2;
	display:block;
}
.bsm-app[data-bsm-app] .bsm-dashboard-metric strong{
	margin:0 0 5px;
	font-size:1.85rem;
	font-weight:800;
	line-height:1.25;
}
@media(max-width:1180px){
	.bsm-app[data-bsm-app] .bsm-dashboard-metric{padding-inline-start:76px}
}
@media(max-width:680px){
	.bsm-app[data-bsm-app] .bsm-dashboard-metric{padding-inline-start:76px}
}
.bsm-app[data-bsm-app] input[type="color"]{
	inline-size:76px;
	min-block-size:46px;
	padding:4px;
	cursor:pointer;
}
.bsm-app[data-bsm-app] input[type="color"] + small{
	display:block;
	margin-block-start:6px;
	color:var(--bsm-color-muted);
	line-height:1.8;
}

/* 1.35 content refresh: modern panel surfaces without changing navigation or workflows. */
.bsm-app[data-bsm-app] .bsm-header{
	position:relative;
	min-block-size:82px;
	padding:14px 22px;
	background:#fff;
	border:1px solid #e9ecf5;
	border-radius:16px;
	box-shadow:0 7px 28px rgba(56,63,94,.055);
}
.bsm-app[data-bsm-app] .bsm-header::after{
	content:"";
	position:absolute;
	inset-inline:22px;
	inset-block-end:-1px;
	block-size:1px;
	background:linear-gradient(90deg,transparent,#d9d7ff,transparent);
}
.bsm-app[data-bsm-app] .bsm-header__title{
	font-size:1.12rem;
	font-weight:800;
	letter-spacing:-.015em;
}
.bsm-app[data-bsm-app] .bsm-header__user{
	margin-block-start:5px;
	color:#8d96ac;
	font-size:.74rem;
}
.bsm-app[data-bsm-app] .bsm-header>.bsm-button--secondary{
	min-inline-size:76px;
	color:#5546ec;
	background:#fff;
	border:1px solid #e2dfff;
	box-shadow:0 7px 18px rgba(91,77,247,.1);
}
.bsm-app[data-bsm-app] .bsm-breadcrumb{
	align-items:center;
	min-block-size:34px;
	margin:0;
	padding:4px 8px 10px;
	color:#929bb0;
	font-size:.75rem;
}
.bsm-app[data-bsm-app] .bsm-breadcrumb span[aria-current="page"]{color:#6c7590;font-weight:700}
.bsm-app[data-bsm-app] .bsm-content>.bsm-card,
.bsm-app[data-bsm-app] .bsm-content>article.bsm-card{
	margin-block-end:14px;
}
.bsm-app[data-bsm-app] .bsm-card{
	padding:22px;
	border-color:#e8ebf3;
	box-shadow:0 10px 30px rgba(52,59,91,.055);
}
.bsm-app[data-bsm-app] .bsm-card__title,
.bsm-app[data-bsm-app] .bsm-toolbar h2{
	margin:0;
	font-size:1.08rem;
	font-weight:800;
}
.bsm-app[data-bsm-app] .bsm-workflow.bsm-section-guide{
	position:relative;
	display:grid;
	grid-template-columns:minmax(180px,1.25fr) 3fr;
	gap:8px 28px;
	min-block-size:166px;
	margin-block-end:14px;
	padding:24px;
	background:radial-gradient(circle at 7% 20%,rgba(113,95,251,.11),transparent 24%),linear-gradient(135deg,#fff,#fbfaff);
	border:1px solid #e7e4ff;
	border-radius:17px;
	box-shadow:0 10px 30px rgba(67,56,202,.055);
	overflow:hidden;
}
.bsm-app[data-bsm-app] .bsm-section-guide::after{
	content:"";
	position:absolute;
	inset-inline-start:35px;
	inset-block-start:35px;
	inline-size:86px;
	block-size:72px;
	background:linear-gradient(145deg,#8870fd,#4f3be0);
	clip-path:polygon(50% 0,100% 24%,84% 34%,84% 71%,50% 100%,16% 71%,16% 34%,0 24%);
	opacity:.13;
	pointer-events:none;
}
.bsm-app[data-bsm-app] .bsm-section-guide h3,
.bsm-app[data-bsm-app] .bsm-section-guide>p{
	grid-column:1/-1;
	position:relative;
	z-index:1;
}
.bsm-app[data-bsm-app] .bsm-section-guide h3{margin:0;font-size:1.05rem}
.bsm-app[data-bsm-app] .bsm-section-guide>p{margin:0 0 10px;color:#8791aa;font-size:.78rem;line-height:1.9}
.bsm-app[data-bsm-app] .bsm-section-guide ol{
	grid-column:1/-1;
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:10px;
	position:relative;
	z-index:1;
	margin:0;
	padding:0;
}
.bsm-app[data-bsm-app] .bsm-section-guide ol::before{
	content:"";
	position:absolute;
	inset-inline:8%;
	inset-block-start:24px;
	border-block-start:1px dashed #d8d4ff;
	z-index:-1;
}
.bsm-app[data-bsm-app] .bsm-section-guide li{
	display:grid;
	grid-template-columns:32px 1fr;
	align-items:center;
	gap:8px;
	min-block-size:66px;
	padding:10px;
	color:#3e4660;
	background:rgba(255,255,255,.96);
	border:1px solid #eceaf7;
	border-radius:12px;
	box-shadow:0 7px 20px rgba(77,68,143,.055);
	font-size:.76rem;
	line-height:1.7;
}
.bsm-app[data-bsm-app] .bsm-section-guide li::before{
	inline-size:30px;
	block-size:30px;
	background:#f1efff;
	color:#5b4df7;
	box-shadow:none;
	font-weight:800;
}
.bsm-app[data-bsm-app] .bsm-toolbar{
	min-block-size:48px;
	margin-block-end:14px;
	padding-block-end:12px;
	border-block-end:1px solid #f0f1f6;
}
.bsm-app[data-bsm-app] .bsm-toolbar .bsm-button{min-block-size:38px;font-size:.76rem}
.bsm-app[data-bsm-app] .bsm-filter{
	display:grid;
	grid-template-columns:minmax(90px,auto) minmax(180px,1fr) minmax(90px,auto) minmax(150px,.65fr) auto;
	align-items:end;
	gap:8px 12px;
	margin:0 0 18px;
	padding:16px;
	background:#fbfcff;
	border:1px solid #eceef5;
	border-radius:13px;
}
.bsm-app[data-bsm-app] .bsm-filter label{align-self:center;color:#4e566e;font-size:.76rem;font-weight:700}
.bsm-app[data-bsm-app] .bsm-filter input,
.bsm-app[data-bsm-app] .bsm-filter select{inline-size:100%;min-inline-size:0;margin:0;background:#fff}
.bsm-app[data-bsm-app] .bsm-filter .bsm-button{min-inline-size:76px}
.bsm-app[data-bsm-app] .bsm-table-wrap{
	border-color:#e5e8f1;
	border-radius:12px;
	box-shadow:none;
}
.bsm-app[data-bsm-app] .bsm-table{border-collapse:separate;border-spacing:0}
.bsm-app[data-bsm-app] .bsm-table th{
	padding:13px 16px;
	color:#5e6780;
	background:#f8f9fd;
	border-block-end:1px solid #e7eaf2;
	font-size:.72rem;
	font-weight:800;
}
.bsm-app[data-bsm-app] .bsm-table td{
	padding:14px 16px;
	color:#3e465d;
	background:#fff;
	border-block-end:1px solid #eff1f6;
	font-size:.76rem;
}
.bsm-app[data-bsm-app] .bsm-table tbody tr:last-child td{border-block-end:0}
.bsm-app[data-bsm-app] .bsm-table tbody tr:hover td{background:#fbfaff}
.bsm-app[data-bsm-app] .bsm-table td a{
	display:inline-flex;
	align-items:center;
	min-block-size:30px;
	padding:4px 10px;
	color:#6556e9;
	background:#f5f3ff;
	border:1px solid #e6e1ff;
	border-radius:8px;
	font-size:.7rem;
	font-weight:700;
	text-decoration:none;
}
.bsm-app[data-bsm-app] .bsm-table td a:hover{color:#fff;background:#5b4df7;border-color:#5b4df7}
.bsm-app[data-bsm-app] .bsm-pagination{
	align-items:center;
	justify-content:flex-start;
	gap:6px;
	margin-block-start:18px;
}
.bsm-app[data-bsm-app] .bsm-pagination__link{
	display:grid;
	place-items:center;
	min-inline-size:34px;
	block-size:34px;
	padding:4px;
	color:#727b93;
	background:#fff;
	border:1px solid #e5e8f1;
	border-radius:9px;
	box-shadow:0 4px 10px rgba(61,67,99,.04);
}
.bsm-app[data-bsm-app] .bsm-pagination__link[aria-current="page"]{
	color:#fff;
	background:linear-gradient(135deg,#7564fb,#4d3be4);
	border-color:transparent;
	box-shadow:0 7px 16px rgba(91,77,247,.25);
}
.bsm-app[data-bsm-app] .bsm-pagination__ellipsis{
	display:grid;
	place-items:center;
	min-inline-size:24px;
	block-size:34px;
	color:#8a91a5;
	font-weight:700;
}
.bsm-app[data-bsm-app] .bsm-pagination__navigation{
	font-size:1rem;
	font-weight:800;
}
.bsm-app[data-bsm-app] [data-bsm-enrollment-row] td>strong,
.bsm-app[data-bsm-app] [data-bsm-enrollment-row] td>small{display:block}
.bsm-app[data-bsm-app] [data-bsm-enrollment-row] td>small{margin-block-start:4px;color:#7b849a}
.bsm-app[data-bsm-app] .bsm-enrollment-bulk{justify-content:flex-start;gap:10px;margin-block:18px;flex-wrap:wrap}
.bsm-app[data-bsm-app] .bsm-enrollment-bulk select{min-inline-size:min(320px,100%)}
.bsm-app[data-bsm-app] .bsm-announcement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;margin-block-start:20px}
.bsm-app[data-bsm-app] .bsm-announcement-card{position:relative;display:flex;flex-direction:column;min-block-size:230px;padding:20px;background:#fff;border:1px solid #e5e8f1;border-inline-start:5px solid #a5adbd;border-radius:16px;box-shadow:0 8px 24px rgba(45,52,85,.06)}
.bsm-app[data-bsm-app] .bsm-announcement-card--important{border-inline-start-color:#f59e0b;background:linear-gradient(135deg,#fff,#fffbeb)}
.bsm-app[data-bsm-app] .bsm-announcement-card--urgent{border-inline-start-color:#dc2626;background:linear-gradient(135deg,#fff,#fef2f2)}
.bsm-app[data-bsm-app] .bsm-announcement-card__meta,.bsm-app[data-bsm-app] .bsm-announcement-card__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#737c92;font-size:.78rem}
.bsm-app[data-bsm-app] .bsm-announcement-badge{padding:5px 10px;border-radius:999px;background:#eef0f6;color:#555f75;font-weight:800}
.bsm-app[data-bsm-app] .bsm-announcement-card--important .bsm-announcement-badge{background:#fef3c7;color:#92400e}
.bsm-app[data-bsm-app] .bsm-announcement-card--urgent .bsm-announcement-badge{background:#fee2e2;color:#991b1b}
.bsm-app[data-bsm-app] .bsm-announcement-card h3{margin:18px 0 10px;font-size:1.08rem;line-height:1.8}
.bsm-app[data-bsm-app] .bsm-announcement-card h3 a{color:#18213a;text-decoration:none}
.bsm-app[data-bsm-app] .bsm-announcement-card__excerpt{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;color:#5f687d;line-height:2}
.bsm-app[data-bsm-app] .bsm-announcement-card__footer{margin-block-start:auto;padding-block-start:16px;border-block-start:1px solid #eceef4}
.bsm-app[data-bsm-app] .bsm-announcement-status{padding:4px 8px;border-radius:7px;background:#f1f3f8}
.bsm-app[data-bsm-app] .bsm-announcement-single{border-inline-start:6px solid #a5adbd}
.bsm-app[data-bsm-app] .bsm-announcement-single.bsm-announcement-card--important{border-inline-start-color:#f59e0b}
.bsm-app[data-bsm-app] .bsm-announcement-single.bsm-announcement-card--urgent{border-inline-start-color:#dc2626}
.bsm-app[data-bsm-app] .bsm-announcement-back{display:inline-block;margin-block-end:22px;text-decoration:none;font-weight:700}
.bsm-app[data-bsm-app] .bsm-announcement-single__content{max-inline-size:850px;margin-block:24px;font-size:1rem;line-height:2.2}
.bsm-app[data-bsm-app] .bsm-empty-state{padding:34px;text-align:center;background:#f8f9fc;border:1px dashed #d9deea;border-radius:14px}
@media(max-width:640px){.bsm-app[data-bsm-app] .bsm-announcement-card__footer{align-items:flex-start;flex-direction:column}.bsm-app[data-bsm-app] .bsm-announcement-card__footer>div{display:flex;flex-wrap:wrap;gap:8px}}
.bsm-app[data-bsm-app] .bsm-form--grid{
	gap:16px 18px;
}
.bsm-app[data-bsm-app] .bsm-form--grid>h3{
	margin:8px 0 0;
	padding-block-end:10px;
	border-block-end:1px solid #eeeef5;
	font-size:.95rem;
}
.bsm-app[data-bsm-app] .bsm-form label{color:#4c546b;font-size:.76rem;font-weight:700}
.bsm-app[data-bsm-app] .bsm-form small{display:block;margin-block-start:5px;color:#929aaf;font-size:.68rem;line-height:1.7}
.bsm-app[data-bsm-app] .bsm-alert{border:1px solid #dfe6ff;border-inline-start:4px solid #6b5cf5;border-radius:10px}
.bsm-app[data-bsm-app] .bsm-details{
	gap:0;
	border:1px solid #e8eaf2;
	border-radius:12px;
	overflow:hidden;
}
.bsm-app[data-bsm-app] .bsm-details dt,
.bsm-app[data-bsm-app] .bsm-details dd{padding:12px 14px;border-block-end:1px solid #eef0f5}
.bsm-app[data-bsm-app] .bsm-details dt{color:#687189;background:#fafbfe}
.bsm-app[data-bsm-app] .bsm-panel-footer{
	min-block-size:48px;
	padding:12px 18px;
	color:#929aaf;
	font-size:.68rem;
}
@media(max-width:900px){
	.bsm-app[data-bsm-app] .bsm-section-guide ol{grid-template-columns:repeat(2,minmax(0,1fr))}
	.bsm-app[data-bsm-app] .bsm-section-guide ol::before{display:none}
	.bsm-app[data-bsm-app] .bsm-filter{grid-template-columns:minmax(90px,auto) 1fr}
	.bsm-app[data-bsm-app] .bsm-filter .bsm-button{grid-column:1/-1;justify-self:start}
}
@media(max-width:600px){
	.bsm-app[data-bsm-app] .bsm-header{min-block-size:70px;padding:11px 12px}
	.bsm-app[data-bsm-app] .bsm-header>.bsm-button--secondary{min-inline-size:0;padding-inline:11px}
	.bsm-app[data-bsm-app] .bsm-section-guide{display:block;min-block-size:0;padding:16px}
	.bsm-app[data-bsm-app] .bsm-section-guide>p{margin-block:7px 14px}
	.bsm-app[data-bsm-app] .bsm-section-guide ol{grid-template-columns:1fr}
	.bsm-app[data-bsm-app] .bsm-filter{display:grid;grid-template-columns:1fr;padding:12px}
	.bsm-app[data-bsm-app] .bsm-filter label,
	.bsm-app[data-bsm-app] .bsm-filter input,
	.bsm-app[data-bsm-app] .bsm-filter select,
	.bsm-app[data-bsm-app] .bsm-filter .bsm-button{grid-column:1;inline-size:100%}
	.bsm-app[data-bsm-app] .bsm-toolbar{align-items:stretch;flex-direction:column}
	.bsm-app[data-bsm-app] .bsm-toolbar .bsm-button{inline-size:100%}
	.bsm-app[data-bsm-app] .bsm-card{padding:15px}
}

/* 1.35.1 academic structure alignment. */
.bsm-app[data-bsm-app] .bsm-content .bsm-tabs{
	display:flex;
	gap:7px;
	margin:0 0 14px;
	padding:7px;
	background:#f4f5fa;
	border:1px solid #eceef5;
	border-radius:13px;
	scrollbar-width:thin;
}
.bsm-app[data-bsm-app] .bsm-content .bsm-tabs a{
	min-block-size:40px;
	padding:9px 14px;
	color:#626b83;
	background:#fff;
	border:1px solid #e9ebf3;
	border-radius:9px;
	font-size:.76rem;
	font-weight:700;
	box-shadow:0 3px 10px rgba(59,65,96,.025);
	transition:color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.bsm-app[data-bsm-app] .bsm-content .bsm-tabs a:hover{
	color:#5748e9;
	background:#faf9ff;
	border-color:#dedaff;
}
.bsm-app[data-bsm-app] .bsm-content .bsm-tabs a[aria-current="page"]{
	color:#fff;
	background:linear-gradient(135deg,#7564fb,#4d3be4);
	border-color:transparent;
	box-shadow:0 7px 17px rgba(91,77,247,.23);
}
.bsm-app[data-bsm-app] .bsm-content .bsm-workflow:not(.bsm-section-guide){
	position:relative;
	display:grid;
	gap:7px;
	margin:0 0 16px;
	padding:20px;
	background:radial-gradient(circle at 6% 20%,rgba(113,95,251,.1),transparent 22%),linear-gradient(135deg,#fff,#fbfaff);
	border:1px solid #e7e4ff;
	border-radius:15px;
	box-shadow:0 8px 24px rgba(67,56,202,.045);
	overflow:hidden;
}
.bsm-app[data-bsm-app] .bsm-content .bsm-workflow:not(.bsm-section-guide)::after{
	content:"";
	position:absolute;
	inset-inline-start:26px;
	inset-block-start:21px;
	inline-size:68px;
	block-size:58px;
	background:linear-gradient(145deg,#8870fd,#4f3be0);
	clip-path:polygon(50% 0,100% 25%,82% 36%,82% 72%,50% 100%,18% 72%,18% 36%,0 25%);
	opacity:.1;
	pointer-events:none;
}
.bsm-app[data-bsm-app] .bsm-content .bsm-workflow:not(.bsm-section-guide) h3,
.bsm-app[data-bsm-app] .bsm-content .bsm-workflow:not(.bsm-section-guide)>p,
.bsm-app[data-bsm-app] .bsm-content .bsm-workflow:not(.bsm-section-guide) ol{
	position:relative;
	z-index:1;
}
.bsm-app[data-bsm-app] .bsm-content .bsm-workflow:not(.bsm-section-guide) h3{
	margin:0;
	font-size:1rem;
	font-weight:800;
}
.bsm-app[data-bsm-app] .bsm-content .bsm-workflow:not(.bsm-section-guide)>p{
	margin:0 0 9px;
	color:#8791aa;
	font-size:.76rem;
	line-height:1.9;
}
.bsm-app[data-bsm-app] .bsm-content .bsm-workflow:not(.bsm-section-guide) ol{
	display:grid;
	grid-template-columns:repeat(7,minmax(0,1fr));
	gap:8px;
	margin:0;
	padding:0;
	counter-reset:bsm-workflow;
}
.bsm-app[data-bsm-app] .bsm-content .bsm-workflow:not(.bsm-section-guide) ol::before{
	content:"";
	position:absolute;
	inset-inline:5%;
	inset-block-start:22px;
	border-block-start:1px dashed #d9d5ff;
	z-index:-1;
}
.bsm-app[data-bsm-app] .bsm-content .bsm-workflow:not(.bsm-section-guide) li{
	display:flex;
	min-inline-size:0;
	min-block-size:62px;
	align-items:center;
	justify-content:center;
	gap:7px;
	padding:9px 7px;
	color:#424a62;
	background:rgba(255,255,255,.97);
	border:1px solid #ebe9f7;
	border-radius:11px;
	box-shadow:0 6px 16px rgba(69,62,120,.045);
	font-size:.7rem;
	font-weight:700;
	line-height:1.6;
	text-align:center;
}
.bsm-app[data-bsm-app] .bsm-content .bsm-workflow:not(.bsm-section-guide) li::before{
	inline-size:27px;
	block-size:27px;
	flex:0 0 27px;
	color:#5b4df7;
	background:#f0eeff;
	box-shadow:none;
	font-size:.68rem;
	font-weight:800;
}
@media(max-width:1200px){
	.bsm-app[data-bsm-app] .bsm-content .bsm-workflow:not(.bsm-section-guide) ol{grid-template-columns:repeat(4,minmax(0,1fr))}
	.bsm-app[data-bsm-app] .bsm-content .bsm-workflow:not(.bsm-section-guide) ol::before{display:none}
}
@media(max-width:760px){
	.bsm-app[data-bsm-app] .bsm-content .bsm-tabs{padding:5px}
	.bsm-app[data-bsm-app] .bsm-content .bsm-tabs a{min-block-size:38px;padding:8px 11px;white-space:nowrap}
	.bsm-app[data-bsm-app] .bsm-content .bsm-workflow:not(.bsm-section-guide){padding:15px}
	.bsm-app[data-bsm-app] .bsm-content .bsm-workflow:not(.bsm-section-guide) ol{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:430px){
	.bsm-app[data-bsm-app] .bsm-content .bsm-workflow:not(.bsm-section-guide) ol{grid-template-columns:1fr}
}

/* 1.36 reference-matched panel header. */
.bsm-app[data-bsm-app] .bsm-header{
	display:grid;
	grid-template-columns:minmax(250px,1fr) minmax(280px,1.45fr) minmax(330px,1fr);
	align-items:center;
	gap:20px;
	min-block-size:88px;
	padding:13px 18px;
	background:#fff;
	border:1px solid #eceef5;
	border-radius:17px;
	box-shadow:0 9px 30px rgba(50,57,88,.055);
}
.bsm-app[data-bsm-app] .bsm-header__intro,
.bsm-app[data-bsm-app] .bsm-header__account{
	display:flex;
	align-items:center;
	min-inline-size:0;
	gap:11px;
}
.bsm-app[data-bsm-app] .bsm-header__intro{justify-self:start}
.bsm-app[data-bsm-app] .bsm-header__account{justify-self:end;direction:rtl}
.bsm-app[data-bsm-app] .bsm-header .bsm-menu-toggle{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex:0 0 44px;
	inline-size:44px;
	block-size:44px;
	padding:0;
	color:#3e32d9;
	background:linear-gradient(145deg,#dedbff,#b9b4ff);
	border:0;
	border-radius:50%;
	box-shadow:0 8px 20px rgba(91,77,247,.22);
	font-size:1.25rem;
}
.bsm-app[data-bsm-app] .bsm-header__title{
	margin:0;
	color:#171d32;
	font-size:.94rem;
	font-weight:800;
	white-space:nowrap;
}
.bsm-app[data-bsm-app] .bsm-header__user{
	display:flex;
	align-items:center;
	gap:5px;
	margin:5px 0 0;
	color:#8c95aa;
	font-size:.68rem;
}
.bsm-app[data-bsm-app] .bsm-header__search{
	display:flex;
	align-items:center;
	justify-content:space-between;
	justify-self:stretch;
	min-inline-size:0;
	min-block-size:44px;
	padding:0 15px;
	color:#99a2b6;
	background:#fafbfe;
	border:1px solid #e9ebf3;
	border-radius:999px;
	box-shadow:inset 0 1px 2px rgba(41,48,76,.02);
	font-size:.72rem;
}
.bsm-app[data-bsm-app] .bsm-header__search svg{
	inline-size:20px;
	block-size:20px;
	fill:none;
	stroke:#8490ab;
	stroke-width:1.8;
	stroke-linecap:round;
}
.bsm-app[data-bsm-app] .bsm-header__utility{
	position:relative;
	display:grid;
	place-items:center;
	flex:0 0 42px;
	inline-size:42px;
	block-size:42px;
	color:#77829d;
	background:#f7f8fc;
	border:1px solid #eef0f6;
	border-radius:50%;
}
.bsm-app[data-bsm-app] .bsm-header__utility svg{
	inline-size:20px;
	block-size:20px;
	fill:none;
	stroke:currentColor;
	stroke-width:1.8;
	stroke-linecap:round;
	stroke-linejoin:round;
}
.bsm-app[data-bsm-app] .bsm-header__utility>span{
	position:absolute;
	inset-inline-start:-3px;
	inset-block-start:-5px;
	display:grid;
	place-items:center;
	inline-size:18px;
	block-size:18px;
	color:#fff;
	background:#f0647c;
	border:2px solid #fff;
	border-radius:50%;
	font-size:.55rem;
	font-weight:800;
}
.bsm-app[data-bsm-app] .bsm-header__utility{text-decoration:none;transition:color .18s ease,background .18s ease,transform .18s ease}
.bsm-app[data-bsm-app] .bsm-header__utility:hover{color:#594aeb;background:#f0eeff;transform:translateY(-1px)}
.bsm-app[data-bsm-app] .bsm-header__search{position:relative}
.bsm-app[data-bsm-app] .bsm-header__search input[type="search"]{
	min-block-size:42px;
	inline-size:100%;
	margin:0;
	padding:0 10px;
	color:#505a73;
	background:transparent;
	border:0;
	border-radius:0;
	box-shadow:none;
	font-size:.72rem;
}
.bsm-app[data-bsm-app] .bsm-header__search input[type="search"]:focus{border:0;box-shadow:none;outline:0}
.bsm-app[data-bsm-app] .bsm-header__search-results{
	position:absolute;
	z-index:80;
	inset-block-start:calc(100% + 8px);
	inset-inline:0;
	display:grid;
	gap:4px;
	max-block-size:290px;
	padding:7px;
	overflow-y:auto;
	background:#fff;
	border:1px solid #e6e8f1;
	border-radius:12px;
	box-shadow:0 18px 40px rgba(35,42,72,.14);
}
.bsm-app[data-bsm-app] .bsm-header__search-results[hidden]{display:none}
.bsm-app[data-bsm-app] .bsm-header__search-results a{
	display:block;
	padding:9px 11px;
	color:#4d566e;
	border-radius:8px;
	font-size:.72rem;
	font-weight:700;
	text-decoration:none;
}
.bsm-app[data-bsm-app] .bsm-header__search-results a:hover,
.bsm-app[data-bsm-app] .bsm-header__search-results a:focus{color:#5546e8;background:#f1efff;outline:0}
.bsm-app[data-bsm-app] .bsm-header__search-results p{margin:0;padding:10px;color:#929aaf;font-size:.7rem;text-align:center}
.bsm-app[data-bsm-app] .bsm-header__identity{
	display:grid;
	gap:3px;
	min-inline-size:74px;
	line-height:1.3;
}
.bsm-app[data-bsm-app] .bsm-header__identity strong{
	color:#20263a;
	font-size:.77rem;
	font-weight:800;
	white-space:nowrap;
}
.bsm-app[data-bsm-app] .bsm-header__identity small{
	color:#939caf;
	font-size:.62rem;
}
.bsm-app[data-bsm-app] .bsm-header__avatar{
	box-sizing:border-box;
	flex:0 0 48px;
	inline-size:48px;
	block-size:48px;
	padding:2px;
	background:#fff;
	border:2px solid #6355ef;
	border-radius:50%;
	box-shadow:0 6px 15px rgba(42,49,78,.12);
	object-fit:cover;
}
.bsm-app[data-bsm-app] .bsm-header__logout{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:6px;
	min-block-size:40px;
	padding:8px 12px;
	color:#4e40e8;
	background:#fff;
	border:1px solid #dedaff;
	border-radius:9px;
	box-shadow:0 6px 16px rgba(91,77,247,.09);
	font-size:.7rem;
	font-weight:800;
	text-decoration:none;
}
.bsm-app[data-bsm-app] .bsm-header__logout:hover{color:#fff;background:#5b4df7;border-color:#5b4df7}
.bsm-app[data-bsm-app] .bsm-header__logout svg{
	inline-size:16px;
	block-size:16px;
	fill:none;
	stroke:currentColor;
	stroke-width:1.9;
	stroke-linecap:round;
	stroke-linejoin:round;
}
@media(max-width:1250px){
	.bsm-app[data-bsm-app] .bsm-header{grid-template-columns:minmax(220px,1fr) minmax(210px,1fr) auto;gap:12px}
	.bsm-app[data-bsm-app] .bsm-header__identity{display:none}
}
@media(max-width:900px){
	.bsm-app[data-bsm-app] .bsm-header{grid-template-columns:1fr auto}
	.bsm-app[data-bsm-app] .bsm-header__search{display:none}
}
@media(max-width:600px){
	.bsm-app[data-bsm-app] .bsm-header{min-block-size:68px;padding:9px 10px;gap:8px}
	.bsm-app[data-bsm-app] .bsm-header .bsm-menu-toggle{flex-basis:38px;inline-size:38px;block-size:38px}
	.bsm-app[data-bsm-app] .bsm-header__title{max-inline-size:135px;overflow:hidden;text-overflow:ellipsis}
	.bsm-app[data-bsm-app] .bsm-header__user{display:none}
	.bsm-app[data-bsm-app] .bsm-header__utility{display:none}
	.bsm-app[data-bsm-app] .bsm-header__utility--security{display:inline-flex}
	.bsm-app[data-bsm-app] .bsm-header__avatar{flex-basis:38px;inline-size:38px;block-size:38px}
	.bsm-app[data-bsm-app] .bsm-header__logout{min-block-size:36px;padding:7px 9px}
}
@media(max-width:420px){
	.bsm-app[data-bsm-app] .bsm-header__avatar{display:none}
	.bsm-app[data-bsm-app] .bsm-header__logout span{display:none}
}

/* 1.37.1 keep header search results above panel content. */
.bsm-app[data-bsm-app] .bsm-header{
	position:relative;
	z-index:200;
	overflow:visible;
}
.bsm-app[data-bsm-app] .bsm-header__search{
	z-index:201;
	isolation:isolate;
}
.bsm-app[data-bsm-app] .bsm-header__search-results{
	z-index:202;
	max-block-size:min(340px,calc(100vh - 140px));
	overscroll-behavior:contain;
}
.bsm-app[data-bsm-app] .bsm-header__account{
	position:relative;
	z-index:203;
}
.bsm-app[data-bsm-app] .bsm-content{
	position:relative;
	z-index:1;
}

/* Semantic dashboard metric icons. */
.bsm-app[data-bsm-app] .bsm-dashboard-metric::before,
.bsm-app[data-bsm-app] .bsm-dashboard-metric::after{content:none}
.bsm-app[data-bsm-app] .bsm-dashboard-metric{
	display:grid;
	grid-template-columns:70px 1fr;
	grid-template-rows:auto auto;
	align-content:center;
	column-gap:16px;
	padding:20px;
}
.bsm-app[data-bsm-app] .bsm-dashboard-metric__icon{
	grid-column:1;
	grid-row:1/3;
	display:grid;
	place-content:center;
	place-items:center;
	align-self:center;
	inline-size:68px;
	block-size:68px;
	margin:auto;
	color:#7c3aed;
	background:#f1e8ff;
	border-radius:16px;
	line-height:0;
}
.bsm-app[data-bsm-app] .bsm-dashboard-metric__icon .bsm-icon{
	display:block;
	inline-size:38px;
	block-size:38px;
	margin:auto;
	transform:none;
}
.bsm-app[data-bsm-app] .bsm-dashboard-metric strong{
	grid-column:2;
	grid-row:1;
	align-self:end;
	margin:0;
}
.bsm-app[data-bsm-app] .bsm-dashboard-metric__label{
	grid-column:2;
	grid-row:2;
	align-self:start;
}
.bsm-app[data-bsm-app] .bsm-dashboard-metric--teachers .bsm-dashboard-metric__icon,
.bsm-app[data-bsm-app] .bsm-dashboard-metric--homework .bsm-dashboard-metric__icon{color:#0eaf7b;background:#e4f8f0}
.bsm-app[data-bsm-app] .bsm-dashboard-metric--academic .bsm-dashboard-metric__icon,
.bsm-app[data-bsm-app] .bsm-dashboard-metric--schedule .bsm-dashboard-metric__icon{color:#f97316;background:#fff0e5}
.bsm-app[data-bsm-app] .bsm-dashboard-metric--attendance .bsm-dashboard-metric__icon,
.bsm-app[data-bsm-app] .bsm-dashboard-metric--messages .bsm-dashboard-metric__icon{color:#2563eb;background:#e8f2ff}
.bsm-app[data-bsm-app] .bsm-dashboard-metric--behavior .bsm-dashboard-metric__icon{color:#db2777;background:#fce7f3}
@media(max-width:680px){
	.bsm-app[data-bsm-app] .bsm-dashboard-metric{grid-template-columns:60px 1fr;padding:16px;column-gap:13px}
	.bsm-app[data-bsm-app] .bsm-dashboard-metric__icon{inline-size:58px;block-size:58px;border-radius:14px}
	.bsm-app[data-bsm-app] .bsm-dashboard-metric__icon .bsm-icon{inline-size:33px;block-size:33px}
}

@counter-style bsm-persian-digits {
	system:numeric;
	symbols:"\06F0" "\06F1" "\06F2" "\06F3" "\06F4" "\06F5" "\06F6" "\06F7" "\06F8" "\06F9";
	suffix:"";
}
.bsm-app[data-bsm-app] .bsm-workflow li::before{
	content:counter(bsm-workflow,bsm-persian-digits);
}

.bsm-app[data-bsm-app] .bsm-theme-settings{
	display:grid;
	grid-template-columns:minmax(0,2fr) minmax(220px,1fr);
	gap:16px;
	padding:16px;
	background:#fafbfe;
	border:1px solid #e7eaf2;
	border-radius:14px;
}
.bsm-app[data-bsm-app] .bsm-theme-settings__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bsm-app[data-bsm-app] .bsm-theme-settings__fields p{margin:0}
.bsm-app[data-bsm-app] .bsm-theme-settings__fields p small{display:block;margin-block-start:5px;color:#64748b}
.bsm-app[data-bsm-app] .bsm-theme-preview{
	--bsm-preview-background:#111827;--bsm-preview-accent:#5B4DF7;--bsm-preview-text:#DCE2F4;--bsm-preview-activeText:#FFFFFF;
	display:grid;align-content:start;gap:8px;padding:14px;color:var(--bsm-preview-text);background:var(--bsm-preview-background);border-radius:12px;
}
.bsm-app[data-bsm-app] .bsm-theme-preview strong{margin-block-end:4px;color:var(--bsm-preview-text);font-size:.78rem}
.bsm-app[data-bsm-app] .bsm-theme-preview span{display:block;padding:9px 11px;color:var(--bsm-preview-text);border-radius:8px;font-size:.72rem}
.bsm-app[data-bsm-app] .bsm-theme-preview span.is-active{color:var(--bsm-preview-activeText);background:var(--bsm-preview-accent)}
.bsm-app[data-bsm-app] .bsm-theme-settings>.bsm-check,
.bsm-app[data-bsm-app] .bsm-theme-settings>small{grid-column:1/-1}
@media(max-width:760px){
	.bsm-app[data-bsm-app] .bsm-theme-settings{grid-template-columns:1fr}
	.bsm-app[data-bsm-app] .bsm-theme-settings__fields{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){.bsm-app[data-bsm-app] .bsm-theme-settings__fields{grid-template-columns:1fr}}

/* Compact parent-student relationship workflow. */
.bsm-app[data-bsm-app] .bsm-parent-link{margin-block-start:1.25rem;padding:1rem;border:1px solid var(--bsm-border,#dfe5ee);border-radius:.9rem;background:#fafcff}
.bsm-app[data-bsm-app] .bsm-parent-link select[data-bsm-searchable-select]{min-block-size:2.75rem;block-size:2.75rem}
.bsm-app[data-bsm-app] .bsm-parent-link fieldset{margin:0;padding:.75rem;border:1px solid var(--bsm-border,#dfe5ee);border-radius:.7rem}
.bsm-app[data-bsm-app] .bsm-parent-link fieldset .bsm-check{margin-inline-end:1rem}
/* Guided academic setup and compact relationship forms. */
.bsm-app[data-bsm-app] .bsm-academic-overview__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-block:18px}
.bsm-app[data-bsm-app] .bsm-academic-overview__header h2,.bsm-app[data-bsm-app] .bsm-academic-overview__header p{margin-block:0 7px}
.bsm-app[data-bsm-app] .bsm-setup-grid{display:grid;gap:12px}
.bsm-app[data-bsm-app] .bsm-setup-step{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px;border:1px solid #dfe5ee;border-radius:14px;background:#fff}
.bsm-app[data-bsm-app] .bsm-setup-step.is-complete{border-color:#bbf7d0;background:#f7fff9}
.bsm-app[data-bsm-app] .bsm-setup-step.is-next{border-color:#bfdbfe;background:#f8fbff}
.bsm-app[data-bsm-app] .bsm-setup-step.is-waiting{opacity:.72}
.bsm-app[data-bsm-app] .bsm-setup-step__number{display:grid;place-items:center;inline-size:42px;block-size:42px;border-radius:50%;color:#fff;background:var(--bsm-accent,#2563eb);font-weight:800}
.bsm-app[data-bsm-app] .bsm-setup-step.is-complete .bsm-setup-step__number{background:#16a34a}
.bsm-app[data-bsm-app] .bsm-setup-step__content h3,.bsm-app[data-bsm-app] .bsm-setup-step__content p{margin-block:0 5px}
.bsm-app[data-bsm-app] .bsm-setup-step__content small{color:#64748b}
.bsm-app[data-bsm-app] .bsm-setup-step__action{display:grid;justify-items:end;gap:8px}
.bsm-app[data-bsm-app] .bsm-setup-step__state{font-size:.75rem;color:#475569}
.bsm-app[data-bsm-app] .bsm-workflow--compact{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(420px,2fr) auto;align-items:center;gap:14px}
.bsm-app[data-bsm-app] .bsm-workflow--compact ol{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;counter-reset:none}
.bsm-app[data-bsm-app] .bsm-workflow--compact li{margin:0;padding:0}
.bsm-app[data-bsm-app] .bsm-workflow--compact li::before{display:none}
.bsm-app[data-bsm-app] .bsm-workflow--compact li a{display:block;padding:7px 10px;border:1px solid #dbe3ef;border-radius:999px;background:#fff;color:#334155;text-decoration:none;font-size:.78rem}
.bsm-app[data-bsm-app] .bsm-workflow--compact li.is-current a{border-color:var(--bsm-accent,#2563eb);color:var(--bsm-accent,#2563eb);font-weight:700}
.bsm-app[data-bsm-app] .bsm-academic-advanced{margin-block-start:16px}
.bsm-app[data-bsm-app] .bsm-academic-advanced>summary{cursor:pointer;font-weight:700;color:#334155}
.bsm-app[data-bsm-app] .bsm-academic-advanced[open]>summary{margin-block-end:14px}
.bsm-app[data-bsm-app] .bsm-academic-advanced>section{padding-block-start:4px}
.bsm-app[data-bsm-app] form[data-bsm-dependent-selects] select[data-bsm-searchable-select]{min-block-size:2.75rem;block-size:2.75rem}
@media(max-width:900px){.bsm-app[data-bsm-app] .bsm-workflow--compact{grid-template-columns:1fr}.bsm-app[data-bsm-app] .bsm-setup-step{grid-template-columns:42px 1fr}.bsm-app[data-bsm-app] .bsm-setup-step__action{grid-column:1/-1;justify-items:stretch}.bsm-app[data-bsm-app] .bsm-setup-step__action .bsm-button{text-align:center}}
@media(max-width:560px){.bsm-app[data-bsm-app] .bsm-academic-overview__header{display:grid}.bsm-app[data-bsm-app] .bsm-setup-step{grid-template-columns:36px 1fr;padding:12px}.bsm-app[data-bsm-app] .bsm-setup-step__number{inline-size:34px;block-size:34px}}

/* Mobile navigation hardening: final source of truth after legacy responsive rules. */
@media (max-width:1024px){
	.bsm-app[data-bsm-app]{display:block;position:relative;inline-size:100%;overflow:visible!important;overflow-x:clip!important}
	.bsm-app[data-bsm-app] .bsm-main{display:flex;inline-size:100%;max-inline-size:100%;padding-inline:8px}
	.bsm-app[data-bsm-app] .bsm-sidebar{
		position:fixed!important;
		z-index:1001!important;
		inset-block:0!important;
		left:auto!important;
		right:0!important;
		inline-size:min(286px,86vw)!important;
		max-inline-size:86vw!important;
		block-size:100dvh!important;
		max-block-size:100dvh!important;
		margin:0!important;
		border-radius:18px 0 0 18px!important;
		transform:translate3d(110%,0,0)!important;
		visibility:hidden;
		opacity:0;
		pointer-events:none;
		transition:transform .22s ease,opacity .18s ease,visibility 0s linear .22s!important;
	}
	.bsm-app[data-bsm-app].bsm-app--menu-open .bsm-sidebar{
		transform:translate3d(0,0,0)!important;
		visibility:visible;
		opacity:1;
		pointer-events:auto;
		transition-delay:0s!important;
	}
	.bsm-app[data-bsm-app] .bsm-backdrop{display:none!important}
	.bsm-app[data-bsm-app].bsm-app--menu-open .bsm-backdrop{
		display:block!important;
		position:fixed!important;
		z-index:1000!important;
		inset:0!important;
		background:rgba(15,23,42,.52)!important;
	}
}
@media (max-width:782px){
	.admin-bar .bsm-app[data-bsm-app] .bsm-sidebar{
		inset-block-start:46px!important;
		block-size:calc(100dvh - 46px)!important;
		max-block-size:calc(100dvh - 46px)!important;
	}
}
@media (prefers-reduced-motion:reduce){
	.bsm-app[data-bsm-app] .bsm-sidebar{transition:none!important}
}

/* Keep the panel header available while scrolling on desktop and mobile. */
.bsm-app[data-bsm-app] .bsm-header{
	position:-webkit-sticky;
	position:sticky;
	z-index:90;
	top:0;
	inset-block-start:0;
}
.admin-bar .bsm-app[data-bsm-app] .bsm-header{top:32px;inset-block-start:32px}
@media (max-width:782px){
	.admin-bar .bsm-app[data-bsm-app] .bsm-header{top:46px;inset-block-start:46px}
}
@supports (padding-top:env(safe-area-inset-top)){
	.bsm-app[data-bsm-app] .bsm-header{padding-block-start:max(9px,env(safe-area-inset-top))}
}

/* Parent monthly meal selector: date heading with choice cards and one final submit. */
.bsm-app[data-bsm-app] .bsm-meal-day{
	margin-block:1rem;
	padding:1rem;
	border:1px solid var(--bsm-color-border);
	border-radius:14px;
	background:#fff;
}
.bsm-app[data-bsm-app] .bsm-meal-day h4{margin:0 0 .8rem;font-size:1.05rem}
.bsm-app[data-bsm-app] .bsm-meal-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.bsm-app[data-bsm-app] .bsm-meal-choice{
	display:flex;
	align-items:flex-start;
	gap:.75rem;
	min-block-size:88px;
	padding:1rem;
	border:2px solid var(--bsm-color-border);
	border-radius:12px;
	background:#fff;
	cursor:pointer;
	transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease;
}
.bsm-app[data-bsm-app] .bsm-meal-choice:hover{border-color:var(--bsm-color-primary)}
.bsm-app[data-bsm-app] .bsm-meal-choice:has(input:checked),.bsm-app[data-bsm-app] .bsm-meal-choice.is-selected{border-color:var(--bsm-color-primary);background:#f4f2ff;box-shadow:0 5px 16px rgba(64,45,255,.1)}
.bsm-app[data-bsm-app] .bsm-meal-choice input{inline-size:20px;block-size:20px;margin:0;accent-color:var(--bsm-color-primary);flex:0 0 auto}
.bsm-app[data-bsm-app] .bsm-meal-choice span{display:flex;flex-direction:column;gap:.35rem}
.bsm-app[data-bsm-app] .bsm-meal-choice small{color:var(--bsm-color-muted)}
.bsm-app[data-bsm-app] .bsm-meal-month__submit{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem;margin-block-start:1.25rem}
@media (max-width:640px){.bsm-app[data-bsm-app] .bsm-meal-choices{grid-template-columns:1fr}}
.bsm-app[data-bsm-app] .bsm-kitchen-students td{background:#fafaff}
.bsm-app[data-bsm-app] .bsm-kitchen-students__list{margin:0;padding-inline-start:1.5rem;columns:3;column-gap:2rem}
.bsm-app[data-bsm-app] .bsm-kitchen-students__list li{break-inside:avoid;margin-block-end:.55rem}
.bsm-app[data-bsm-app] .bsm-kitchen-students__list li .bsm-button{margin-inline-start:.6rem;padding:.3rem .55rem;font-size:.78rem}
@media (max-width:900px){.bsm-app[data-bsm-app] .bsm-kitchen-students__list{columns:2}}
@media (max-width:560px){.bsm-app[data-bsm-app] .bsm-kitchen-students__list{columns:1}}
