/* v2.10.4 - Dedicated PPE FOR DISTRIBUTION Google Sheet pilot */
.ppe-page .standalone-sheet-main { background: #edf3f8; }
.ppe-source-banner {
  width: min(100%, 1780px);
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 15px 16px;
  border: 1px solid #b9d4e8;
  border-left: 5px solid #2d9c55;
  border-radius: var(--radius);
  background: linear-gradient(135deg, #fff, #eff9f2);
  box-shadow: 0 6px 18px rgba(4,42,88,.06);
}
.ppe-source-main { display: flex; align-items: center; gap: 13px; min-width: 0; }
.ppe-source-main > div { display: grid; gap: 2px; min-width: 0; }
.ppe-source-main small { color: #227a43; font-size: .7rem; font-weight: 900; letter-spacing: .05em; }
.ppe-source-main strong { color: var(--navy-900); font-size: 1.02rem; }
.ppe-source-main span:not(.ppe-source-icon) { color: var(--ink-500); font-size: .8rem; }
.ppe-source-icon {
  width: 46px; height: 46px; flex: 0 0 auto; display: grid; place-items: center;
  border-radius: 12px; color: #fff; background: linear-gradient(135deg, #217346, #2da963);
  font-size: 1.2rem;
}
.ppe-source-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.ppe-page-view { width: min(100%, 1780px); margin: 0 auto; }
.ppe-hero {
  position: relative; overflow: hidden; display: grid; grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center; gap: 18px; padding: 28px 30px; margin-bottom: 14px;
  border-radius: 16px; color: #fff; background: linear-gradient(120deg, #0b2f62 0 74%, #f4b000 74% 77%, #3797a2 77% 82%, #0b2f62 82%);
  box-shadow: var(--shadow);
}
.ppe-hero-logo { width: 62px; height: 62px; border-radius: 50%; background: #fff; padding: 4px; }
.ppe-hero small { color: #ffc000; font-weight: 900; letter-spacing: .06em; }
.ppe-hero h1 { margin: 3px 0 4px; color: #fff; font-size: clamp(1.55rem, 3vw, 2.35rem); line-height: 1.05; }
.ppe-hero p { margin: 0; color: #f9d84d; font-style: italic; }
.ppe-live-badge { align-self: start; display: inline-flex; align-items: center; gap: 7px; padding: 8px 10px; border-radius: 999px; background: rgba(255,255,255,.14); font-size: .76rem; font-weight: 800; }
.ppe-toolbar {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  padding: 14px 16px; margin-bottom: 14px; border: 1px solid var(--border); border-radius: var(--radius); background: #fff;
}
.ppe-toolbar-left, .ppe-toolbar-right { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ppe-source-chip { display: inline-flex; align-items: center; gap: 7px; padding: 8px 10px; border-radius: 999px; color: #155f36; background: #e7f6ec; font-size: .76rem; font-weight: 800; }
.ppe-kpis { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-bottom: 14px; }
.ppe-kpi { display: grid; grid-template-columns: 46px 1fr; gap: 12px; align-items: center; min-height: 100px; padding: 14px 15px; border: 1px solid var(--border); border-radius: var(--radius); background: #fff; box-shadow: 0 4px 12px rgba(4,42,88,.04); }
.ppe-kpi-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--navy-700); }
.ppe-kpi:nth-child(2) .ppe-kpi-icon { background: #2f9aa1; }
.ppe-kpi:nth-child(3) .ppe-kpi-icon { background: #d29a00; }
.ppe-kpi:nth-child(4) .ppe-kpi-icon { background: #4e3fa7; }
.ppe-kpi small { display: block; color: var(--ink-500); font-size: .69rem; font-weight: 900; letter-spacing: .03em; }
.ppe-kpi strong { display: block; margin-top: 3px; color: var(--navy-900); font-size: 1.28rem; overflow-wrap: anywhere; }
.ppe-panel { margin-bottom: 14px; border: 1px solid var(--border); border-radius: var(--radius); background: #fff; overflow: hidden; box-shadow: 0 5px 16px rgba(4,42,88,.04); }
.ppe-panel-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px; background: #214f90; color: #fff; font-weight: 900; }
.ppe-panel-header small { color: rgba(255,255,255,.8); font-weight: 600; }
.ppe-filter-row { display: grid; grid-template-columns: minmax(260px,1fr) minmax(180px,260px); gap: 10px; padding: 14px; border-bottom: 1px solid var(--border); background: #f8fbfd; }
.ppe-filter-row input, .ppe-filter-row select { width: 100%; min-height: 40px; border: 1px solid #c9d8e6; border-radius: 8px; padding: 8px 10px; background: #fff; font: inherit; color: var(--ink-900); }
.ppe-table-wrap { overflow: auto; max-height: 62vh; }
.ppe-table { width: 100%; border-collapse: collapse; min-width: 900px; }
.ppe-table th { position: sticky; top: 0; z-index: 2; padding: 10px 9px; border-right: 1px solid #9bb2cb; background: #819cc1; color: #fff; font-size: .72rem; text-align: left; }
.ppe-table td { padding: 10px 9px; border-right: 1px solid #d3dde8; border-bottom: 1px solid #d3dde8; color: #15233a; vertical-align: top; }
.ppe-table tbody tr:nth-child(even) { background: #f8fbfe; }
.ppe-table td.amount, .ppe-table th.amount { text-align: right; white-space: nowrap; }
.ppe-empty { padding: 28px; text-align: center; color: var(--ink-500); }
.ppe-info-strip { display: flex; gap: 9px; align-items: flex-start; margin-bottom: 14px; padding: 11px 13px; border: 1px solid #b9d4e8; border-radius: 10px; background: #eff7fd; color: #315474; font-size: .83rem; line-height: 1.45; }
.ppe-info-strip.warning { border-color: #efd47b; background: #fff8dc; color: #6d5100; }
.ppe-status-line { display: flex; align-items: center; gap: 8px; color: var(--ink-500); font-size: .8rem; }
.ppe-status-dot { width: 8px; height: 8px; border-radius: 50%; background: #2c9b5d; }
.ppe-status-dot.off { background: #c43d3d; }
@media (max-width: 1050px) { .ppe-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 760px) {
  .ppe-source-banner, .ppe-toolbar { align-items: stretch; flex-direction: column; }
  .ppe-source-actions, .ppe-toolbar-left, .ppe-toolbar-right { width: 100%; }
  .ppe-source-actions .primary-button, .ppe-toolbar button { flex: 1; justify-content: center; }
  .ppe-hero { grid-template-columns: auto 1fr; padding: 20px; }
  .ppe-live-badge { grid-column: 1 / -1; justify-self: start; }
  .ppe-kpis { grid-template-columns: 1fr; }
  .ppe-filter-row { grid-template-columns: 1fr; }
}
