:root{
  --brand:#EC6544; --bg:#0b0b0d; --card:#141418; --text:#fff;
  --muted:#9aa3aa; --border:#23262b; --ring:rgba(236,101,68,.35)
}
.msfm-pp{direction:rtl;color:var(--text)}
.msfm-pp-shell{max-width:1100px;margin:0 auto;padding:16px}
.msfm-portal-header h2{margin:0 0 4px 0}
.msfm-pp .msfm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}

.msfm-pp-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.msfm-pp .pp-tab{background:#0f1116;border:1px solid var(--border);color:#fff;border-radius:12px;padding:8px 14px;cursor:pointer}
.msfm-pp .pp-tab.is-active{background:var(--brand);border-color:var(--brand);box-shadow:0 0 0 6px var(--ring)}
.msfm-pp-panels{position:relative}
.msfm-pp .pp-panel{display:none}
.msfm-pp .pp-panel.is-active{display:block}

.msfm-portal-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:12px}
.msfm-card-head{display:flex;flex-direction:column;gap:6px}
.msfm-badge{display:inline-block;background:#1b1d22;border:1px solid var(--border);border-radius:999px;padding:3px 10px;font-size:.85rem}
.msfm-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.msfm-btn{background:#222;border:1px solid var(--border);color:#fff;border-radius:10px;padding:8px 12px;text-decoration:none;display:inline-flex;align-items:center}
.msfm-btn-primary{background:var(--brand);border-color:var(--brand)}
.msfm-note,.msfm-empty{color:var(--muted)}

.msfm-tg .row{display:flex;gap:8px;margin-top:8px}
.msfm-tg .msfm-tg-log{max-height:340px;overflow:auto;border:1px solid var(--border);border-radius:12px;padding:8px}

/* ریست برای نوار روزها و جلوگیری از عمودی شدن */
.msfm-chal .msfm-days{display:flex !important;flex-direction:row !important;writing-mode:horizontal-tb !important;overflow:auto;gap:8px}
.msfm-chal .msfm-day{transform:none}
/* مودال‌ها روی همه لایه‌ها */
.msfm-modal{position:fixed;inset:0;background:rgba(0,0,0,.7);display:none;z-index:999999}
.msfm-modal .msfm-modal-dialog{background:#111;border-radius:16px;max-width:760px;margin:40px auto;padding:12px;border:1px solid var(--border)}
.msfm-modal .msfm-modal-close{background:transparent;border:0;color:#fff;font-size:28px;cursor:pointer;position:absolute;right:18px;top:8px}
/* Modal shell */
#msfm-schedule-modal.msfm-modal{
  position: fixed; inset: 0;
  display: flex; align-items: center; justify-content: center;
  z-index: 99999;
  visibility: visible; opacity: 1;
}

/* Backdrop با pseudo */
#msfm-schedule-modal.msfm-modal::before{
  content: ""; position: absolute; inset: 0;
  background: rgba(0,0,0,.55);
}

/* Dialog */
#msfm-schedule-modal .msfm-modal-dialog{
  position: relative; max-width: 1100px; width: min(96vw,1100px);
  max-height: 90vh; overflow: auto;
  background: var(--msfm-panel-bg, #111);
  color: var(--msfm-panel-fg, #fff);
  border-radius: 14px; padding: 20px;
  box-shadow: 0 10px 40px rgba(0,0,0,.5);
}

/* Close button */
#msfm-schedule-modal .msfm-modal-close{
  position: absolute; top: 10px; inset-inline-end: 10px;
  font-size: 22px; line-height: 1; background: transparent; border: 0; color: inherit; cursor: pointer;
}

/* Grid */
#msfm-schedule-modal .msfm-schedule-grid{
  display: grid; grid-template-columns: repeat( auto-fit, minmax(160px, 1fr) );
  gap: 12px;
}
#msfm-schedule-modal .day-col{ background: rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:10px; padding:10px; }
#msfm-schedule-modal .day-head{ font-weight:700; margin-bottom:8px; }
#msfm-schedule-modal .day-list{ margin:0; padding:0; list-style:none; }
#msfm-schedule-modal .day-item{ padding:6px 8px; border-radius:8px; background:rgba(255,255,255,.06); margin-bottom:6px; }
#msfm-schedule-modal .day-empty{ opacity:.7; font-size:.9rem; }
