:root{--bg:#0b1020;--panel:rgba(255,255,255,.06);--line:rgba(255,255,255,.10);--text:#e9eefc;--muted:rgba(233,238,252,.75);--accent:#7cf0ff;}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background: radial-gradient(10px 7px at 20% 0%, rgba(124, 240, 255, .18), transparent 55%), radial-gradient(90px 60px at 80% 20%, rgba(180, 130, 255, .16), transparent 60%), #000000;color:var(--text)}
#accMount{min-height:100vh}
.accShell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}
.accSide{border-right:1px solid var(--line);background:rgba(0,0,0,.18);backdrop-filter:blur(10px);padding:16px;display:flex;flex-direction:column;gap:14px}
.accBrand{padding:14px 12px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.accBrand__k{font-weight:700;letter-spacing:.08em;font-size:12px;color:var(--muted)}
.accBrand__t{font-weight:800;font-size:18px;margin-top:6px}
.accBrand__u{margin-top:10px;font-size:12px;color:var(--muted);line-height:1.2}
.accMenu{display:flex;flex-direction:column;gap:8px}
.accMenu__item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03);color:var(--text);text-decoration:none;transition:.15s}
.accMenu__item:hover{transform:translateY(-1px);border-color:rgba(124,240,255,.35)}
.accMenu__item.isOn{border-color:rgba(124,240,255,.55);box-shadow:0 0 0 1px rgba(124,240,255,.15) inset}
.accMenu__icon{width:22px;text-align:center;opacity:.9}
.accMenu__text{font-weight:650}
.accSide__footer{margin-top:auto;display:flex}
.accBack{display:inline-flex;gap:8px;align-items:center;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--muted);text-decoration:none}
.accMain{display:flex;flex-direction:column}
.accTop{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line);background:rgba(0,0,0,.12);backdrop-filter:blur(10px)}
.accTop__right{display:flex;align-items:center;gap:10px}
.accUser{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 10px 28px rgba(0,0,0,.25)}
.accUser__ava{width:34px;height:34px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:.02em;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10)}
.accUser__meta{display:flex;flex-direction:column;gap:2px;min-width:150px}
.accUser__name{font-weight:900;font-size:12px;line-height:1.1}
.accUser__role{font-size:11px;color:var(--muted);line-height:1.1}
.accLang{display:flex;align-items:center;gap:6px;padding:4px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03)}
.accLang__btn{appearance:none;border:0;background:transparent;color:var(--text);font-weight:800;font-size:12px;letter-spacing:.5px;padding:8px 10px;border-radius:999px;cursor:pointer;opacity:.78}
.accLang__btn:hover{opacity:1;background:rgba(255,255,255,.06)}
.accLang__btn.isActive{opacity:1;background:rgba(255,255,255,.10);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.accTitle{font-weight:850;font-size:18px}
.accSub{color:var(--muted);font-size:12px;margin-top:4px}
.accBtn{border:1px solid rgba(124,240,255,.35);background:rgba(124,240,255,.10);color:var(--text);padding:10px 12px;border-radius:14px;font-weight:750;cursor:pointer}
.accBtn:hover{background:rgba(124,240,255,.16)}
.accContent{padding:18px}
.accPage{max-width:980px}
.accPage__h{margin:0 0 8px 0;font-size:28px}
.accPage__p{margin:0 0 18px 0;color:var(--muted)}
.accPage__body{margin-top:0}

.accGrid{display:grid;grid-template-columns: repeat(2,1fr);gap:12px}
.accCard{grid-column:span 12;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px;backdrop-filter:blur(10px);box-shadow:0 10px 28px rgba(0,0,0,.25)}
.accCard__h{font-weight:900;margin:0 0 6px 0}
.accCard__p{margin:0 0 10px 0;color:var(--muted);font-size:13px}
.accCard__body{color:rgba(255,255,255,.92)}

.accKpi{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.accKpi__v{font-weight:950;font-size:20px}
.accKpi__t{color:var(--muted);font-size:12px}

.accKpiRow{display:flex;gap:10px;flex-wrap:wrap}
.accCols{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width: 980px){.accCols{grid-template-columns:1fr}}

.accText h3{margin:10px 0 6px 0;font-size:16px}
.accText p{margin:0 0 12px 0;color:var(--muted);line-height:1.55}

.accList{margin:0;padding-left:18px;color:var(--text)}
.accList li{margin:6px 0;color:var(--muted)}

.accFaq__top{display:flex;gap:10px;margin-bottom:10px}
.accFaq__search{width:100%}
.accFaqItem{border:1px solid var(--line);border-radius:14px;padding:12px 12px;background:rgba(255,255,255,.02)}
.accFaqItem + .accFaqItem{margin-top:10px}
.accFaqItem__q{font-weight:900;margin-bottom:6px}
.accFaqItem__a{color:var(--muted);line-height:1.5}

.accTableWrap{overflow:auto;border-radius:14px;border:1px solid var(--line);background:rgba(10,10,12,.35)}
.accTable{width:100%;border-collapse:collapse;min-width:720px}
.accTable th,.accTable td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;font-size:13px}
.accTable th{color:rgba(255,255,255,.82);font-weight:900;background:rgba(255,255,255,.04)}
.accTable td{color:rgba(255,255,255,.92)}

.accForm{display:flex;flex-direction:column;gap:10px}
.accRow{display:flex;flex-direction:column;gap:6px}
.accRow__l{font-size:12px;color:var(--muted)}
.accInput,.accTextarea,.accSelect{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#fff;border-radius:12px;padding:10px 12px;outline:none}
.accTextarea{resize:vertical}
.accActions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.accBtn.isPrimary{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18)}
.accBtn.isDanger{background:rgba(255,60,60,.18);border-color:rgba(255,60,60,.22)}

.accNote{border-radius:14px;padding:12px 14px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.accNote__t{font-weight:950;margin-bottom:4px}
.accNote__p{color:var(--muted);font-size:13px;line-height:1.35}

@media (min-width:860px){.accCard.isHalf{grid-column:span 6}.accCard.isThird{grid-column:span 4}}
.accModal{position:fixed;inset:0;display:none}
.accModal.isOn{display:block}
.accModal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.accModal__panel{position:relative;max-width:760px;margin:6vh auto 0; background:rgba(10,14,28,.92);border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.55);overflow:hidden}
.accModal__head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}
.accModal__title{font-weight:850}
.accModal__close{border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--text);border-radius:12px;padding:8px 10px;cursor:pointer}
.accModal__body{padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}

.accModal__body--single{grid-template-columns:1fr}
.accModal__foot{padding:12px 16px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;align-items:center}
.roleCard{border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);border-radius:16px;padding:14px 14px;text-align:left;cursor:pointer}
.roleCard:hover{border-color:rgba(124,240,255,.45);transform:translateY(-1px)}
.roleCard__t{font-weight:900;font-size:16px}
.roleCard__p{color:var(--muted);font-size:12px;margin-top:6px;line-height:1.35}
@media (max-width: 920px){.accShell{grid-template-columns:1fr}.accSide{position:sticky;top:0;z-index:2;flex-direction:row;align-items:center;overflow:auto}.accMenu{flex-direction:row}.accSide__footer{display:none}.accModal__body{grid-template-columns:1fr}}

/* ACC-4: groups / journal / inline forms */
.accChkList{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow:auto;padding:10px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03)}
.accChk{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--text);cursor:pointer}
.accChk input{margin-top:2px}
.accMiniForm{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
.accMiniForm .accInput{flex:1;min-width:180px}
.accRowBtns{display:flex;gap:8px;flex-wrap:wrap}

/* Cards grid for Admin → Teachers */
.accCardGrid{display: grid;/* grid-template-columns:repeat(3,minmax(0,1fr)); */gap:14px;max-width: 100%;}
@media (max-width: 980px){.accCardGrid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 640px){.accCardGrid{grid-template-columns:1fr;}}

.accMiniIcon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:10px;background:rgba(255,255,255,.06);margin-right:10px}
.accMeta{font-size:13px;opacity:.9;line-height:1.35}
.accAbout{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}
.accAbout__t{font-weight:700;font-size:12px;opacity:.9}
.accAbout__b{margin-top:6px;opacity:.85;line-height:1.4}

/* Modal forms */
.accForm{display:flex;flex-direction:column;gap:12px}
.accFormRow{display:grid;grid-template-columns:180px 1fr;gap:10px;align-items:start}
@media (max-width: 640px){.accFormRow{grid-template-columns:1fr;}}
.accFormRow__l{font-weight:700;font-size:12px;opacity:.85;padding-top:10px}
.accFormRow__r{}
.accBtn.isSmall{padding:8px 10px;border-radius:12px;font-size:12px}
.accInput.isSmall{padding:8px 10px;border-radius:12px;font-size:12px;min-width:90px}
.accJournalHead{display:flex;gap:10px;align-items:center;justify-content:flex-start;margin-bottom:10px;flex-wrap:wrap}
.accInlineForm{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}
.accInlineForm textarea{flex:1;min-width:260px}


/* ACC-9: Teachers cards (Admin) */
.accTeachersGrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:14px;
}
@media (max-width: 900px){
  .accTeachersGrid{ grid-template-columns: 1fr; }
}
.accTeacherCard{
  background: var(--glass2);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px;
  box-shadow: var(--shadow2);
}
.accTeacherTop{
  display:flex;
  gap:12px;
  align-items:center;
}
.accTeacherAvatar{
  width:44px;height:44px;
  border-radius: 14px;
  display:flex;align-items:center;justify-content:center;
  background: rgba(255,255,255,.08);
  border:1px solid var(--line);
  font-weight: 700;
  letter-spacing:.5px;
}
.accTeacherMeta{ flex:1; min-width:0; }
.accTeacherName{
  font-weight: 800;
  font-size: 15px;
  white-space: nowrap;
  overflow:hidden;
  text-overflow: ellipsis;
}
.accTeacherDep{
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  display:flex;
  gap:8px;
  align-items:center;
}
.accTeacherDep i{ opacity:.9; }
.accTeacherAbout{
  margin-top: 10px;
  color: var(--text);
  font-size: 13px;
  line-height: 1.4;
  max-height: 5.6em;
  overflow:hidden;
}
.accTeacherRow{
  margin-top: 10px;
  display:flex;
  justify-content: space-between;
  gap:10px;
  align-items:center;
}
.accTeacherEmail{
  color: var(--muted);
  font-size: 12px;
  display:flex;
  gap:8px;
  align-items:center;
  min-width:0;
  overflow:hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.accTeacherActions{ margin-top: 12px; display:flex; justify-content:flex-end; gap:10px; }


/* Teacher profile extra info */
.accTeacherInfo{margin-top:6px;font-size:12px;opacity:.85;line-height:1.35}


/* STEP1: Student pages (progress/history/rating) */
.accTools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:4px 0 12px}
.accMetaLine{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}
.accMeta{color:var(--muted);font-size:12px}
.accDot{opacity:.5}

.accBar{position:relative;height:10px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.04);overflow:hidden;min-width:160px}
.accBar__fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg, rgba(124,240,255,.9), rgba(180,130,255,.85));}
.accBar__lab{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:11px;color:rgba(233,238,252,.9);text-shadow:0 1px 8px rgba(0,0,0,.35)}
@media(max-width:520px){
  .accBar{min-width:120px}
}

.accStats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:1100px){.accStats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.accStats{grid-template-columns:1fr}}
.accStat{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03);padding:10px 12px}
.accStat__k{font-size:12px;color:var(--muted)}
.accStat__v{font-weight:900;font-size:18px;margin-top:4px}

.accList{padding-left:0;margin:0}
.accList__row{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;border:1px solid var(--line);border-radius:14px;padding:12px 12px;background:rgba(255,255,255,.02)}
.accList__row + .accList__row{margin-top:10px}
.accList__left{min-width:220px}
.accList__t{font-weight:900;line-height:1.25}
.accList__s{margin-top:4px;font-size:12px;color:var(--muted)}
.accList__right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}

.accTableWrap table tr.isMe td{background:rgba(124,240,255,.08)}


/* ACC STEP2: Teacher Journal filters + Analytics */
.accEmptyCell{padding:14px 10px;color:var(--muted);text-align:center}
.accTableWrap{overflow:auto;border-radius:16px;border:1px solid var(--line);background:rgba(0,0,0,.10)}
.accTableWrap table{border:0}

.accAnalytics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
@media(max-width:900px){.accAnalytics{grid-template-columns:1fr}}
.accAnalytics__block{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02);padding:12px;box-shadow:var(--shadow1)}
.accAnalytics__t{font-weight:900;margin-bottom:10px}
.accAnalytics__b{display:flex;flex-direction:column;gap:10px}

.accBarRow{display:grid;grid-template-columns:70px 1fr 36px;gap:10px;align-items:center}
.accBarRow__k{font-size:12px;color:var(--muted)}
.accBarRow__bar{height:10px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);overflow:hidden}
.accBarRow__fill{height:100%;background:linear-gradient(90deg, rgba(124,240,255,.85), rgba(180,130,255,.75))}
.accBarRow__v{font-weight:900;font-size:12px;text-align:right}

.accRiskList{display:flex;flex-direction:column;gap:10px}
.accRiskRow{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02);padding:10px 12px}
.accRiskRow__fio{font-weight:900}
.accRiskRow__meta{margin-top:4px;color:var(--muted);font-size:12px}
.accMuted{color:var(--muted)}


/* ACC STEP4: Admin Risk Center */
.accBadge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-weight:900;font-size:12px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.accBadge.isHigh{background:rgba(255,80,80,.10);border-color:rgba(255,80,80,.25)}
.accBadge.isMed{background:rgba(255,200,80,.10);border-color:rgba(255,200,80,.25)}
.accBadge.isLow{background:rgba(80,220,140,.10);border-color:rgba(80,220,140,.25)}

.accRiskModal{display:flex;flex-direction:column;gap:12px}
.accRiskModal__top{padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02)}
.accRiskModal__fio{font-weight:1000;font-size:18px}
.accRiskModal__meta{margin-top:4px;color:var(--muted);font-size:12px}

.accRiskReasons{display:flex;flex-direction:column;gap:10px}
.accRiskReason{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02);padding:10px 12px}
.accRiskReason__t{font-weight:900}
.accRiskReason__s{margin-top:4px;color:var(--muted);font-size:12px}

.accRiskReco{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02);padding:12px}
.accRiskReco__t{font-weight:900;margin-bottom:6px}
.accRiskReco__p{color:var(--muted);font-size:13px;line-height:1.5}


/* ACC STEP NEXT: Risk Center sort + extra columns */
.accRiskTable th, .accRiskTable td{white-space:nowrap}



/* ACC ADMIN MAX (STEP): Admin UX toolkit */
.accTools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0 12px}
.accTools .accBtn{white-space:nowrap}
.accTextarea{width:100%;border-radius:16px;border:1px solid var(--line);background:rgba(0,0,0,.12);color:var(--text);padding:12px 12px;outline:none;box-shadow:var(--shadow1)}
.accTextarea:focus{border-color:rgba(124,240,255,.55);box-shadow:0 0 0 3px rgba(124,240,255,.15), var(--shadow1)}
.accPre{white-space:pre-wrap;word-break:break-word;border-radius:16px;border:1px solid var(--line);background:rgba(0,0,0,.12);padding:12px 12px;line-height:1.4}
.accBoard{display:flex;flex-direction:column;gap:12px;margin-top:10px}
.accBoard__block{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02);padding:12px;box-shadow:var(--shadow1)}
.accBoard__t{font-weight:900;margin-bottom:10px}
.accBoard__b{display:flex;flex-direction:column;gap:10px}


/* === Guest side menu (public navigation inside .accSide) === */


/* ===== Specialties: unified page (#/specialties) ===== */
.specTools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:8px 0 12px}
.specSearch{flex:1;min-width:220px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-radius:12px;padding:10px 12px}
.specSearch input{flex:1;background:transparent;border:0;outline:none;color:inherit;font-size:14px}
.specChips{display:flex;gap:8px;flex-wrap:wrap}
.specChip{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);border-radius:999px;padding:8px 10px;font-size:12px;cursor:pointer}
.specChip.isOn{background:rgba(255,255,255,.10)}
.specGrid{display:grid;gap:14px;grid-template-columns:repeat(1,minmax(0,1fr))}
@media (min-width:820px){.specGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1200px){.specGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.specCard{position:relative;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));box-shadow:0 12px 40px rgba(0,0,0,.25)}
.specCard__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 14px 8px}
.specBadge{display:inline-flex;align-items:center;gap:8px;font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.18)}
.specBadge.isMine{border-color:rgba(125,211,252,.35);background:rgba(56,189,248,.14)}
.specCode{opacity:.8;font-size:12px}
.specIcon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);font-size:20px}
.specCard__body{padding:0 14px 14px}
.specTitle{font-size:16px;line-height:1.25;margin:0}
.specLead{margin:8px 0 10px;opacity:.85;font-size:13px;line-height:1.45}
.specMeta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 0}
.specTag{font-size:12px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);opacity:.95}
.specFacts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.specFact{border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.12);border-radius:12px;padding:10px}
.specFact__k{font-size:11px;opacity:.8}
.specFact__v{font-size:13px;margin-top:4px}
.specCard__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.specBtn{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);border-radius:12px;padding:10px 12px;font-size:13px;cursor:pointer}
.specBtnPrimary{background:rgba(56,189,248,.16);border-color:rgba(125,211,252,.35)}
.specAdminTools{position:absolute;top:10px;right:10px;display:flex;gap:8px}
.specIconBtn{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.20);cursor:pointer}
.specEmpty{padding:18px;border-radius:14px;border:1px dashed rgba(255,255,255,.20);opacity:.85}


/* SPEC_GALLERY_PATCH */
.specIcon.hasImg { padding:0; background:transparent; }
.specIcon__img { width:52px; height:52px; object-fit:cover; border-radius:14px; display:block; }
.spxGallery{ position:relative; margin-top:14px; border-radius:16px; overflow:hidden; background:rgba(0,0,0,.08); }
.spxGallery__img{ width:100%; height:220px; object-fit:cover; display:block; }
.spxGallery__cap{ position:absolute; left:10px; right:10px; bottom:10px; display:flex; justify-content:space-between; gap:10px; padding:8px 10px; border-radius:14px; background:rgba(0,0,0,.45); color:#fff; font-size:13px; backdrop-filter: blur(8px); }
.spxGallery__btn{ position:absolute; top:50%; transform:translateY(-50%); width:38px; height:38px; border-radius:12px; border:0; background:rgba(0,0,0,.45); color:#fff; cursor:pointer; }
.spxGallery__btnPrev{ left:10px; }
.spxGallery__btnNext{ right:10px; }


/* ===== Fullscreen Modal (STEP25) ===== */
.mmModal{position:fixed;inset:0;display:none;z-index:9999}
.mmModal.isOpen{display:block}
.mmModal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72)}
.mmModal__panel{position:absolute;inset:24px;border-radius:18px;background:#101318;color:#fff;box-shadow:0 12px 40px rgba(0,0,0,.35);display:flex;flex-direction:column;overflow:hidden}
@media(max-width:720px){.mmModal__panel{inset:0;border-radius:0}}
.mmModal__top{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.mmModal__title{font-weight:700;font-size:16px;line-height:1.2}
.mmModal__sub{opacity:.75;font-size:12px}
.mmModal__sp{flex:1}
.mmModal__btn{border:1px solid rgba(255,255,255,.14);background:transparent;color:#fff;border-radius:12px;padding:8px 10px;cursor:pointer}
.mmModal__btnPrimary{background:#ff7a1a;border-color:#ff7a1a;color:#121212}
.mmModal__body{padding:14px;overflow:auto;flex:1}
.mmModal__footer{padding:12px 14px;border-top:1px solid rgba(255,255,255,.08);display:flex;gap:10px;justify-content:flex-end}
.mmField{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.mmField label{font-size:12px;opacity:.8}
.mmInput,.mmTextarea{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#fff;border-radius:12px;padding:10px}
.mmTextarea{min-height:160px;resize:vertical}
.mmHint{font-size:12px;opacity:.8;margin-top:6px}
