/* Public journal only: shared account dashboards keep their existing theme. */
.public-journal {
  --font-sans: var(--font-family, "ChartFX Persian", sans-serif);
  --text-dim: #aaa7a1;
  --border-soft: 1px solid rgba(193, 148, 61, .32);
  --radius-xl: 22px;
}
.public-journal .public-main--journal { margin-top: 28px; }
.public-journal .public-header .langSwitch select { min-width: 0; background-color: var(--lang-switch-bg); color: var(--lang-switch-text); }
.public-journal .journalApp { min-height: 0; }
.public-journal .journalShell {
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) 278px;
  gap: 22px;
  padding: 0;
  align-items: start;
}
.public-journal .journalMain { min-width: 0; }
.public-journal .journalHero {
  background: radial-gradient(circle at 13% 32%, rgba(198,144,45,.13), transparent 35%), linear-gradient(118deg, rgba(25,23,20,.96), rgba(13,16,25,.98));
  border: 1px solid rgba(176,132,51,.28);
  border-radius: 22px;
  box-shadow: 0 18px 36px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,232,177,.035);
  padding: 32px 36px;
  overflow: hidden;
}
.public-journal .journalHero--upload { min-height: 218px; }
.public-journal .journalHero h1 { font-size: clamp(1.65rem, 2.65vw, 3rem); font-weight: 800; line-height: 1.5; margin-top: 0; }
.public-journal .heroLead { color: #aaa7a1; font-size: .9rem; line-height: 1.9; margin-top: 13px; }
.public-journal .journalEyebrow { display: inline-block; margin: 0 0 14px; color: #d2ad60; font-size: .85rem; font-weight: 700; }
.public-journal .journalFormatTags { display: flex; direction: ltr; justify-content: flex-start; gap: 7px; flex-wrap: wrap; margin-top: 18px; }
.public-journal .journalFormatTags span { display: inline-flex; align-items: center; justify-content: center; min-width: 43px; min-height: 26px; padding-inline: 8px; color: #c9a65b; font-family: Arial,sans-serif; font-size: .72rem; background: rgba(181,128,34,.08); border: 1px solid rgba(204,154,62,.25); border-radius: 999px; }
.public-journal .uploadStage { gap: 20px; margin-top: 20px; }
.public-journal .uploadPanel,
.public-journal .journalPanel,
.public-journal .detailHero,
.public-journal .detailPanel {
  background: linear-gradient(145deg, rgba(27,27,27,.94), rgba(16,16,17,.98));
  border: 1px solid rgba(193,148,61,.36);
  border-radius: 18px;
  box-shadow: 0 15px 28px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,230,170,.035);
}
.public-journal .uploadPanel { padding: 24px; }
.public-journal .statementUploadPanel { align-content: start; gap: 16px; }
.public-journal .uploadPanelHeader { min-height: 70px; text-align: center; }
.public-journal .uploadPanelHeader > div { width: 100%; }
.public-journal .uploadPanelHeader strong { font-size: 1.06rem; font-weight: 700; }
.public-journal .uploadPanelHeader span { color: #8f8c86; font-size: .8rem; line-height: 1.75; margin-top: 6px; }
.public-journal .statementUploadPanel .uploadDrop { padding: 0; border: 0; border-radius: 0; background: transparent; min-height: 300px; gap: 10px; align-content: start; }
.public-journal .journalUploadZone {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 182px;
  padding: 22px;
  text-align: center;
  cursor: pointer;
  background: radial-gradient(circle at 50% 20%,rgba(195,143,46,.075),transparent 44%),rgba(12,12,13,.55);
  border: 1px dashed rgba(196,150,64,.54);
  border-radius: 13px;
  transition: border-color .18s, background-color .18s;
}
.public-journal .journalUploadZone:hover,
.public-journal .journalUploadZone:focus-within,
.public-journal .journalUploadZone.is-dragging { border-color: rgba(240,195,103,.88); background-color: rgba(39,31,18,.42); }
.public-journal .journalUploadZone.is-filled { border-style: solid; border-color: rgba(156,204,89,.54); background-color: rgba(47,68,30,.14); }
.public-journal .journalUploadZone .fileInput { position: absolute; width: 1px; height: 1px; min-height: 0; padding: 0; overflow: hidden; opacity: 0; }
.public-journal .journalUploadZone strong { margin-top: 5px; font-size: .85rem; }
.public-journal .journalUploadZone > span:not(.journalUploadIcon) { color: #a7a39c; font-size: .8rem; }
.public-journal .journalUploadZone small { color: #8e8981; font-family: Arial,sans-serif; font-size: .75rem; }
.public-journal .journalUploadIcon { position: relative; display: block; width: 34px; height: 42px; color: #d1a24a; border: 2px solid currentColor; border-radius: 5px; filter: drop-shadow(0 0 8px rgba(215,154,43,.2)); }
.public-journal .journalUploadIcon::before { position: absolute; top: -2px; left: -2px; width: 12px; height: 12px; content: ""; background: #141310; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; }
.public-journal .journalUploadIcon::after { position: absolute; right: 7px; bottom: 8px; width: 16px; height: 12px; content: ""; background: linear-gradient(currentColor,currentColor) 50% 0/2px 12px no-repeat,linear-gradient(135deg,transparent 44%,currentColor 46% 54%,transparent 56%) 50% 5px/10px 10px no-repeat; }
.public-journal .journalUploadResult { min-height: 20px; margin: 0; color: #aab88d; font-size: .76rem; overflow-wrap: anywhere; direction: ltr; }
.public-journal .journalUploadResult.is-error { color: #ffb0a6; }
.public-journal .uploadActions { margin-top: 7px; align-items: center; }
.public-journal .uploadActions .btn { min-height: 43px; padding: 9px 14px; font-size: .8rem; border-radius: 9px; font-weight: 700; }
.public-journal .uploadActions .btn--login,
.public-journal .detailBtn--gold { color: #302417; background: linear-gradient(105deg,#96691f,#f4d892 52%,#cda655); border-color: rgba(255,225,159,.4); }
.public-journal .uploadActions .btn--glass { background: rgba(188,137,48,.06); border-color: rgba(185,140,52,.38); color: #d6d1c7; }
.public-journal .hint,
.public-journal .footNote { color: #979189; font-size: .75rem; }
.public-journal .loginNotice { background: rgba(188,137,48,.07); border-color: rgba(199,151,63,.21); padding: 20px; border-radius: 13px; }
.public-journal .loginNotice strong { font-size: .95rem; }
.public-journal .loginNotice span { font-size: .8rem; line-height: 1.9; }
.public-journal .videoPanel { grid-template-rows: auto minmax(300px,1fr); gap: 16px; }
.public-journal .videoFrame { min-height: 300px; border: 1px solid rgba(206,157,66,.48); border-radius: 13px; background: #090c0f; }
.public-journal .videoFrame:before { opacity: .22; }
.public-journal .videoFrame:not(.videoFrame--hasVideo) { background: linear-gradient(rgba(9,12,15,.6),rgba(9,12,15,.94)),url("../images/chartfx-demo.f57caef79457.png") center/cover; }
.public-journal .videoPlaceholder { padding: 20px; }
.public-journal .videoPlaceholder strong { font-size: 1rem; }
.public-journal .videoPlaceholder span { font-size: .78rem; }
.public-journal .videoPlayOverlay,
.public-journal .playMark { background: rgba(15,15,16,.82); border: 1px solid rgba(230,183,91,.55); box-shadow: 0 0 0 8px rgba(0,0,0,.16),0 0 24px rgba(210,151,45,.16); }
.public-journal .videoPlayOverlay:before,
.public-journal .playMark:before { background: #f1d28d; }
.public-journal .journalSide { top: 22px; height: auto; min-height: 620px; background: linear-gradient(150deg,rgba(25,25,26,.97),rgba(12,13,17,.99)); border: 1px solid rgba(193,148,61,.32); border-radius: 22px; box-shadow: 0 20px 38px rgba(0,0,0,.3); }
.public-journal .sideBrand { padding: 24px 20px 18px; border-color: rgba(193,148,61,.14); }
.public-journal .sideTitle { font-size: 1.08rem; font-weight: 800; }
.public-journal .sideMeta { color: #a89b7f; font-size: .76rem; margin-top: 9px; }
.public-journal .journalNav { gap: 10px; padding: 18px 14px; }
.public-journal .journalNavButton { min-height: 64px; grid-template-columns: 38px minmax(0,1fr); gap: 11px; padding: 9px 11px; background: rgba(255,255,255,.02); border: 1px solid rgba(255,255,255,.075); border-radius: 11px; color: #b4afa6; }
.public-journal .journalNavButton.isActive { color: #2f2516; background: linear-gradient(105deg,#ad7c29,#f3d68e 56%,#caa14f); border-color: rgba(255,225,159,.55); box-shadow: 0 7px 14px rgba(195,140,37,.15); }
.public-journal .navMark { width: 38px; height: 38px; border-radius: 9px; }
.public-journal .navCopy strong { font-size: .8rem; font-weight: 700; }
.public-journal .navCopy span { font-size: .72rem; }
.public-journal .sideFooter { margin-top: auto; border-color: rgba(193,148,61,.14); padding: 18px; }
.public-journal .sideMini { color: #a19a8f; }
.public-journal .sideMini strong { color: #d7bb7b; font-size: .8rem; }
.public-journal .journalHero--report { padding: 26px; }
.public-journal .dashboardFilterBar { border-color: rgba(193,148,61,.22); background: rgba(20,20,20,.86); }
.public-journal .detailShell { min-height: 0; padding: 0; background: transparent; }
.public-journal .detailBrand img { width: 120px; height: auto; border-radius: 0; object-fit: contain; }
.public-journal .detailBrand span { display: none; }
.public-journal .detailHero h1 { font-size: clamp(1.5rem,2.6vw,2.7rem); font-weight: 800; }
.public-journal .detailBtn { font-size: .8rem; }
.public-journal .detailChartWrap { max-width: 100%; }
@media (max-width:1180px) {
  .public-journal .journalShell { grid-template-columns: minmax(0,1fr); }
  .public-journal .journalMain,
  .public-journal .journalSide { grid-column: 1; }
  .public-journal .journalSide { position: relative; top: auto; min-height: 0; }
  .public-journal .journalNav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .public-journal .uploadStage { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .public-journal .statementUploadPanel { grid-column: 1; }
  .public-journal .videoPanel { grid-column: 2; }
}
@media (max-width:760px) {
  .public-journal .public-main--journal { margin-top: 20px; }
  .public-journal .journalShell { gap: 18px; }
  .public-journal .journalHero { padding: 24px 20px; }
  .public-journal .journalHero h1 { font-size: 1.7rem; }
  .public-journal .uploadStage { grid-template-columns: minmax(0,1fr); }
  .public-journal .statementUploadPanel,
  .public-journal .videoPanel { grid-column: 1; }
  .public-journal .uploadPanel { padding: 20px; }
  .public-journal .videoFrame { min-height: 260px; }
  .public-journal .videoPanel { grid-template-rows: auto minmax(260px,1fr); }
  .public-journal .journalNav { grid-template-columns: minmax(0,1fr); }
  .public-journal .detailTop { flex-wrap: wrap; }
  .public-journal .detailActions { width: 100%; }
  .public-journal .detailActions .detailBtn { flex: 1; }
}
@media (prefers-reduced-motion:reduce) {
  .public-journal .journalUploadZone { transition: none; }
}
