/* Shared presentation for analysis and financial reports. */
body.dashboard-wallpaper :is(#analysis, #financial-report) .analysis-title {
  display: inline-block;
  margin: 0 0 36px;
  font-family: 'Times New Roman', Times, serif;
  font-size: clamp(64px, 8vw, 108px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -3px;
  color: #ffe1bb;
  background: linear-gradient(110deg, #fff 5%, #fff 25%, #edcea2 45%, #ffe3bc 60%, #fff 85%);
  background-size: 260% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: analysis-title-shimmer 7s ease-in-out infinite alternate;
}
@keyframes analysis-title-shimmer {
  from { background-position: 0% 50%; }
  to { background-position: 100% 50%; }
}
:is(#analysis, #financial-report) .analysis-intro { margin-bottom: 44px; color: #b4b7bd; font-size: 25px; line-height: 1.45; letter-spacing: -.3px; }
:is(#analysis, #financial-report) :is(#posts-analysis, #posts-financial-report) {
  display: flex; flex-direction: column; gap: 20px;
  padding: 0; min-height: 0; background: none; border: none; box-shadow: none;
  backdrop-filter: none; -webkit-backdrop-filter: none;
}
:is(#analysis, #financial-report) :is(#posts-analysis, #posts-financial-report):empty { display: none; }
:is(#analysis, #financial-report) .analysis-card {
  margin: 0;
  border: 1px solid #d2d8c924;
  border-radius: 26px;
  background: #101e16;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  overflow: hidden;
  box-shadow: inset 0 1px 0 #fff3db06;
  transition: border-color .25s ease, background .25s ease;
}
:is(#analysis, #financial-report) .analysis-card:hover { border-color: #fbd9b066; background: #14231a; }
:is(#analysis, #financial-report) .article-header {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) auto;
  gap: 28px;
  padding: 24px;
  background: transparent;
  align-items: center;
}
:is(#analysis, #financial-report) .article-header:hover { background: transparent; }
:is(#analysis, #financial-report) .article-header:focus-visible { outline: 2px solid #fbd9b0; outline-offset: -4px; border-radius: 26px; }
:is(#analysis, #financial-report) .analysis-card-image { display: block; width: 180px; height: 180px; object-fit: cover; border: 1px solid #a6baac1a; border-radius: 18px; }
:is(#analysis, #financial-report) .analysis-card-copy { min-width: 0; }
:is(#analysis, #financial-report) .analysis-topic {
  display: inline-block;
  padding: 6px 17px;
  margin-bottom: 13px;
  color: #61d5b5;
  font-size: 15px;
  line-height: 1.4;
  border: 1px solid #1a775c80;
  background: #075b3e1c;
  border-radius: 100px;
}
:is(#analysis, #financial-report) .article-header h3 { margin: 0 0 12px; max-width: 700px; color: #f0f1ed; font-size: 26px; font-weight: 400; letter-spacing: -.35px; line-height: 1.28; overflow-wrap: anywhere; }
:is(#analysis, #financial-report) .article-header small { color: #929a9a; font-size: 17px; font-weight: 400; line-height: 1.4; }
:is(#analysis, #financial-report) .article-actions { flex-direction: column; gap: 12px; }
:is(#analysis, #financial-report) .analysis-card-arrow {
  display: grid; place-items: center; width: 56px; height: 56px;
  color: #fbd9b0; border: 1px solid #d6af718f; border-radius: 50%;
  background: #07130b40;
  transition: background .25s ease, transform .25s ease;
}
:is(#analysis, #financial-report) .analysis-card-arrow svg { width: 28px; height: 28px; }
:is(#analysis, #financial-report) .analysis-card:hover .analysis-card-arrow { background: #fbd9b015; transform: translateX(3px); }
:is(#analysis, #financial-report) .post-details[open] .analysis-card-arrow { transform: rotate(90deg); }
:is(#analysis, #financial-report) .article-body { padding: 28px; border-top: 1px solid #fbd9b021; background: #0c1911; font-size: 16px; line-height: 1.75; color: #d9ddda; }
:is(#analysis, #financial-report) .article-body p { color: inherit; overflow-wrap: anywhere; }
:is(#analysis, #financial-report) .file-link { background: #fbd9b0; color: #102015; border: 1px solid #ffe5c4; }
:is(#analysis, #financial-report) .btn-delete { color: #f4aaa2; background: #341e1950; border: 1px solid #d28b8066; }
:is(#analysis, #financial-report) .empty-message { color: #adb5af; padding: 24px 0; }
:is(#analysis, #financial-report) .pagination { color: #b4b7bd; }
:is(#analysis, #financial-report) .pagination button { color: #fbd9b0; border-color: #fbd9b055; background: #122119; }
@media (max-width: 768px) {
  body.dashboard-wallpaper :is(#analysis, #financial-report) .analysis-title { font-size: clamp(52px, 12vw, 82px); letter-spacing: -1.8px; }
  :is(#analysis, #financial-report) .analysis-intro { font-size: 19px; margin-bottom: 28px; }
  :is(#analysis, #financial-report) .article-header { grid-template-columns: 110px minmax(0, 1fr) auto; gap: 16px; padding: 18px; }
  :is(#analysis, #financial-report) .analysis-card-image { width: 110px; height: 140px; border-radius: 14px; }
  :is(#analysis, #financial-report) .article-header h3 { font-size: 20px; }
  :is(#analysis, #financial-report) .article-header small { font-size: 13px; }
  :is(#analysis, #financial-report) .analysis-topic { font-size: 12px; padding: 5px 12px; margin-bottom: 9px; }
  :is(#analysis, #financial-report) .analysis-card-arrow { width: 42px; height: 42px; }
  :is(#analysis, #financial-report) .analysis-card-arrow svg { width: 23px; height: 23px; }
  :is(#analysis, #financial-report) .article-body { padding: 20px; font-size: 15px; }
}
@media (max-width: 520px) {
  :is(#analysis, #financial-report) .article-header { grid-template-columns: 88px minmax(0, 1fr); gap: 14px; padding: 16px; }
  :is(#analysis, #financial-report) .analysis-card-image { width: 88px; height: 132px; }
  :is(#analysis, #financial-report) .article-header h3 { font-size: 18px; line-height: 1.3; }
  :is(#analysis, #financial-report) .article-actions { grid-column: 2; flex-direction: row; justify-content: flex-end; margin-top: -4px; }
  :is(#analysis, #financial-report) .analysis-card-arrow { width: 36px; height: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  body.dashboard-wallpaper :is(#analysis, #financial-report) .analysis-title { animation: none; }
  :is(#analysis, #financial-report) .analysis-card, :is(#analysis, #financial-report) .analysis-card-arrow { transition: none; }
  :is(#analysis, #financial-report) .analysis-card:hover .analysis-card-arrow { transform: none; }
}
:is(#analysis, #financial-report) .analysis-admin-field { display: flex; flex-direction: column; gap: 10px; color: #d6ddda; font-size: 14px; }
:is(#analysis, #financial-report) .analysis-admin-field span { color: #a1ada6; font-size: 12px; }
:is(#analysis, #financial-report) .admin-form { padding: 24px; border: 1px solid #fbd9b04d; border-radius: 24px; background: #0e2118; color: #d6ddda; }
:is(#analysis, #financial-report) .analysis-upload-preview { width: 180px; height: 180px; object-fit: cover; border-radius: 16px; }
:is(#analysis, #financial-report) .analysis-upload-preview[hidden] { display: none; }
:is(#analysis, #financial-report) .post-form-status { color: #fbd9b0; font-size: 14px; }

body.dashboard-wallpaper #financial-report .analysis-title { font-size: clamp(48px, 6.5vw, 88px); letter-spacing: -2px; }
#financial-report .report-card-image { display: grid; place-items: center; background: linear-gradient(135deg, #fbd9b00b, #0b1d1350); color: #fbd9b0; }
#financial-report .report-card-image svg { width: 64px; height: 64px; }
#financial-report .report-empty { padding: 64px 24px; text-align: center; }
#financial-report .report-empty-icon { display: grid; place-items: center; width: 80px; height: 80px; margin: 0 auto 24px; color: #fbd9b0; border: 1px solid #fbd9b033; border-radius: 24px; background: #ffffff03; }
#financial-report .report-empty-icon svg { width: 42px; height: 42px; }
#financial-report .report-empty h3 { margin: 0 0 16px; color: #f3f1eb; font: 400 clamp(30px, 4vw, 46px)/1.2 'Times New Roman', Times, serif; }
#financial-report .report-empty p { margin: 0 auto; max-width: 560px; color: #aeb8b2; font-size: 18px; line-height: 1.5; }
@media (max-width: 520px) {
  body.dashboard-wallpaper #financial-report .analysis-title { font-size: 48px; letter-spacing: -1.5px; }
  #financial-report .report-card-image svg { width: 40px; height: 40px; }
  #financial-report .report-empty { padding: 40px 20px; }
  #financial-report .report-empty p { font-size: 16px; }
}

#analysis .analysis-card-image.analysis-company-logo { object-fit: contain; padding: 20px; background: #fbd9b0; }
