/* assets/css/sales-analytics.css */
/* 売上分析ダッシュボードのスタイル */

.purimall-sales-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.purimall-sales-table th,
.purimall-sales-table td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #f0f0f0;
}

.purimall-sales-table th {
    background-color: #ec4899;
    color: white;
    font-weight: bold;
}

.purimall-sales-table tr:hover {
    background-color: #f8f9fa;
}

.purimall-sales-container label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    color: #333;
}

.pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
    flex-wrap: wrap;
}

.pagination .page-link {
    padding: 8px 12px;
    background: #f8f9fa;
    color: #333;
    text-decoration: none;
    border-radius: 4px;
    border: 1px solid #ddd;
    min-width: 40px;
    text-align: center;
    transition: all 0.3s ease;
}

.pagination .page-link:hover {
    background: #ec4899;
    color: white;
    border-color: #ec4899;
}

.pagination .page-link.active {
    background: #ec4899;
    color: white;
    border-color: #ec4899;
    font-weight: bold;
}

.pagination .page-link.disabled {
    background: #e9ecef;
    color: #6c757d;
    border-color: #dee2e6;
    cursor: not-allowed;
}

.pagination .page-link.ellipsis {
    background: transparent;
    border: none;
    color: #6c757d;
    cursor: default;
    padding: 8px 4px;
}

.pagination .page-link.prev-page,
.pagination .page-link.next-page {
    font-weight: bold;
    font-size: 16px;
}

/* エージェント専用売上分析の追加スタイル */
.filter-section {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 30px;
}

.filter-row {
    display: flex;
    gap: 15px;
    align-items: center;
    flex-wrap: wrap;
}

.filter-row label {
    font-weight: bold;
    color: #333;
    min-width: 80px;
}

.filter-row select {
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.3);
}

.btn-detail {
    background: #3b82f6;
    color: white;
    padding: 5px 10px;
    border-radius: 4px;
    text-decoration: none;
    font-size: 0.9em;
}

.btn-detail:hover {
    background: #2563eb;
    color: white;
}

/* 年月セレクトを横並びにする */
.sales-analytics-month-row {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    align-items: center;
}

.sales-analytics-month-row select {
    width: auto;
    min-width: 100px;
}



/* Renewal Organizer analytics shell */
.fanika-organizer-analytics{width:min(calc(100% - 16px),1080px);margin:0 auto;padding:0 0 88px}
.fanika-analytics-heading{margin-bottom:14px;padding:18px;border:1px solid #e5ebf2;border-radius:18px;background:#fff}
.fanika-analytics-heading h1{margin:2px 0 5px;color:#263449;font-size:1.35rem}
.fanika-analytics-heading p{margin:0;color:#667085;font-size:.82rem;line-height:1.65}
.fanika-organizer-analytics .creator-list-section,.fanika-organizer-analytics .filter-section{padding:16px;border:1px solid #e5ebf2;border-radius:16px;background:#fff}
.fanika-organizer-analytics .creator-list-section h2,.fanika-organizer-analytics .filter-section h2{margin:0 0 10px;color:#263449;font-size:1.05rem}
.fanika-organizer-analytics .purimall-sales-table{box-shadow:none;border:1px solid #e5ebf2;background:#fff}
.fanika-organizer-analytics .purimall-sales-table th{background:#f7f9fc;color:#526173}
@media(max-width:700px){.fanika-organizer-analytics{width:min(calc(100% - 12px),1080px)}.fanika-organizer-analytics .creator-list-section{overflow-x:auto}.fanika-organizer-analytics .filter-row{display:grid}.fanika-organizer-analytics .filter-row select{min-height:44px;width:100%}}


.fanika-analytics-source-note{display:flex;gap:12px;align-items:flex-start;margin:10px 0;padding:11px 13px;border:1px dashed #d8e1ea;border-radius:12px;background:#fafbfd;color:#667085;font-size:.76rem;line-height:1.6}
.fanika-analytics-source-note strong{flex:0 0 130px;color:#526173}
.fanika-metric-pending{display:inline-flex;padding:3px 8px;border-radius:999px;background:#f2f5f8;color:#667085;font-size:.75rem;font-weight:800}
@media(max-width:600px){.fanika-analytics-source-note{display:grid}.fanika-analytics-source-note strong{flex:auto}}


/* Second-stage Organizer analytics hierarchy. */
.fanika-organizer-analytics-overview{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:0 0 12px;
}
.fanika-organizer-analytics-overview article{
  display:grid;
  gap:3px;
  min-width:0;
  min-height:78px;
  padding:11px;
  border:1px solid #e5ebf2;
  border-radius:12px;
  background:#fff;
}
.fanika-organizer-analytics-overview article.is-pending-source{
  border-style:dashed;
  background:#fbfcfd;
}
.fanika-organizer-analytics-overview span{
  color:#667085;
  font-size:.68rem;
  font-weight:700;
}
.fanika-organizer-analytics-overview strong{
  color:#263449;
  font-size:1.08rem;
}
.fanika-organizer-analytics-overview small{
  color:#98a2b3;
  font-size:.6rem;
  line-height:1.35;
}
.fanika-analytics-drilldown{
  display:flex;
  gap:7px;
  margin:0 0 12px;
  overflow-x:auto;
  padding-bottom:2px;
}
.fanika-analytics-drilldown a{
  display:inline-flex;
  min-height:38px;
  align-items:center;
  padding:6px 11px;
  border:1px solid #dce6ef;
  border-radius:999px;
  background:#fff;
  color:#526173;
  font-size:.7rem;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.fanika-analytics-section-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.fanika-analytics-section-heading h2{margin:0!important}
.fanika-analytics-section-heading small{
  max-width:36rem;
  color:#98a2b3;
  font-size:.65rem;
  line-height:1.45;
  text-align:right;
}
@media(max-width:760px){
  .fanika-organizer-analytics-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fanika-analytics-section-heading{display:grid}
  .fanika-analytics-section-heading small{text-align:left}
}
@media(max-width:420px){
  .fanika-organizer-analytics-overview{grid-template-columns:1fr}
}

/* Creator analytics synthetic route only: shared header / Back geometry.
   Surface backgrounds come from the existing panel rules once the legacy
   transparency rule no longer applies to this management screen. */
body.fanika-creator-sales-analytics-page .fanika-sales-analytics-route > .ast-container > .fanika-creator-page-header--analytics{
    margin-bottom:14px;
}
body.fanika-creator-sales-analytics-page .fanika-sales-analytics-route .fanika-shared-back-navigation{
    margin:16px auto 96px;
}

/* Synthetic Creator analytics route: make the standard canvas continuous
   above and below the content without touching the global header itself. */
body.fanika-creator-sales-analytics-page,
body.fanika-creator-sales-analytics-page #page,
body.fanika-creator-sales-analytics-page #content,
body.fanika-creator-sales-analytics-page .site-content,
body.fanika-creator-sales-analytics-page .fanika-sales-analytics-route{
    background-color:var(--fanika-ui-page-background,#edf7fe);
}
body.fanika-creator-sales-analytics-page #page{
    min-height:100vh;
}

/* Organizer analytics: shared pale-blue canvas and standard Back. */
body:has(.fanika-organizer-analytics),
body:has(.fanika-organizer-analytics) #page,
body:has(.fanika-organizer-analytics) #content,
body:has(.fanika-organizer-analytics) .site-content,
body:has(.fanika-organizer-analytics) .site-main,
body:has(.fanika-organizer-analytics) .entry-content {
  background-color: var(--fanika-ui-page-background, #edf7fe) !important;
  background-image: none !important;
}
.fanika-organizer-analytics .fanika-organizer-analytics-back {
  display: flex;
  justify-content: center;
  margin: 12px auto 0;
}
