/* ── PCI Invoicing — Agent & Brokerage Dashboard ────────────────── */
:root {
  --pci-gold:    #ae6ff0;
  --pci-dark:    #1a1a2e;
  --pci-slate:   #2d2d44;
  --pci-border:  #e0d7f5;
  --pci-muted:   #7c6fa0;
  --pci-light:   #f8f5ff;
  --pci-green:   #10B981;
  --pci-red:     #EF4444;
  --pci-amber:   #F59E0B;
  --pci-radius:  10px;
  --pci-shadow:  0 2px 8px rgba(0,0,0,.07);
}

/* ── Wrapper ────────────────────────────────────────────────────── */
.pci-pub-wrap {
  font-family: 'Inter', 'Helvetica Neue', sans-serif;
  color: var(--pci-dark);
  max-width: 960px;
  margin: 0 auto;
  padding: 0 0 40px;
}

/* ── Login prompt ───────────────────────────────────────────────── */
.pci-pub-login {
  background: var(--pci-light);
  border: 1px solid var(--pci-border);
  border-radius: var(--pci-radius);
  padding: 24px;
  text-align: center;
  color: var(--pci-muted);
}

/* ── Brokerage header ───────────────────────────────────────────── */
.pci-pub-brokerage-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 0 16px;
  border-bottom: 2px solid var(--pci-gold);
  margin-bottom: 24px;
}
.pci-pub-brokerage-logo    { display: flex; align-items: center; gap: 12px; }
.pci-pub-brokerage-icon    { font-size: 32px; }
.pci-pub-brokerage-title   { font-size: 20px; font-weight: 700; color: var(--pci-dark); }
.pci-pub-brokerage-id      { font-size: 12px; color: var(--pci-muted); margin-top: 2px; }

/* ── Summary Cards ──────────────────────────────────────────────── */
.pci-pub-summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 28px;
}
.pci-pub-card {
  background: #fff;
  border: 1px solid var(--pci-border);
  border-radius: var(--pci-radius);
  padding: 18px 16px;
  text-align: center;
  box-shadow: var(--pci-shadow);
  border-top: 4px solid var(--pci-border);
  transition: transform .15s;
}
.pci-pub-card:hover { transform: translateY(-2px); }
.pci-pub-card--owed    { border-top-color: var(--pci-amber); }
.pci-pub-card--paid    { border-top-color: var(--pci-green); }
.pci-pub-card--overdue { border-top-color: var(--pci-red); }
.pci-pub-card--pending { border-top-color: var(--pci-gold); }
.pci-pub-card__amount  { font-size: 24px; font-weight: 700; color: var(--pci-dark); line-height: 1.1; }
.pci-pub-card__label   { font-size: 11px; color: var(--pci-muted); text-transform: uppercase; letter-spacing: .5px; margin-top: 6px; }

/* ── Tabs ───────────────────────────────────────────────────────── */
.pci-pub-tabs {
  display: flex;
  gap: 4px;
  margin-bottom: 20px;
  border-bottom: 2px solid var(--pci-border);
  padding-bottom: 0;
  flex-wrap: wrap;
}
.pci-tab {
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 600;
  color: var(--pci-muted);
  text-decoration: none;
  border-radius: 6px 6px 0 0;
  border: 1px solid transparent;
  border-bottom: none;
  transition: all .15s;
  margin-bottom: -2px;
}
.pci-tab:hover            { color: var(--pci-dark); background: var(--pci-light); }
.pci-tab--active          { color: var(--pci-dark); background: #fff; border-color: var(--pci-border); border-bottom-color: #fff; }

/* ── Invoice Cards (Agent view) ─────────────────────────────────── */
.pci-pub-invoice-list { display: flex; flex-direction: column; gap: 12px; }

.pci-pub-invoice {
  background: #fff;
  border: 1px solid var(--pci-border);
  border-radius: var(--pci-radius);
  padding: 18px 20px;
  display: flex;
  align-items: center;
  gap: 20px;
  box-shadow: var(--pci-shadow);
  flex-wrap: wrap;
  transition: box-shadow .15s;
}
.pci-pub-invoice:hover { box-shadow: 0 4px 16px rgba(0,0,0,.1); }
.pci-pub-invoice--overdue { border-left: 4px solid var(--pci-red); }

.pci-pub-invoice__meta   { flex: 1; min-width: 200px; }
.pci-pub-invoice__num    { font-size: 12px; font-family: monospace; color: var(--pci-muted); margin-bottom: 3px; }
.pci-pub-invoice__address{ font-size: 15px; font-weight: 600; color: var(--pci-dark); margin-bottom: 4px; }
.pci-pub-invoice__dates  { font-size: 12px; color: var(--pci-muted); }
.pci-pub-invoice__sep    { margin: 0 4px; }

.pci-pub-invoice__amount { text-align: right; min-width: 110px; }
.pci-pub-invoice__net    { font-size: 20px; font-weight: 700; color: var(--pci-dark); }
.pci-pub-invoice__scholarship { font-size: 11px; color: var(--pci-green); margin-top: 3px; }

.pci-pub-invoice__right  { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.pci-pub-invoice__actions{ display: flex; gap: 6px; }

/* Expandable detail panel */
.pci-pub-invoice__detail {
  width: 100%;
  flex-basis: 100%;
  background: var(--pci-light);
  border-radius: 8px;
  padding: 16px 20px;
  margin-top: 8px;
}
.pci-pub-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 14px;
  font-size: 13px;
}
.pci-pub-detail-total { font-size: 15px; font-weight: 700; }
.pci-pub-detail-notes { font-size: 12px; color: var(--pci-muted); grid-column: 1/-1; }

/* ── Brokerage Table ────────────────────────────────────────────── */
.pci-pub-brokerage-table-wrap { overflow-x: auto; border-radius: var(--pci-radius); box-shadow: var(--pci-shadow); }
.pci-pub-table { width: 100%; border-collapse: collapse; background: #fff; font-size: 13px; }
.pci-pub-table th {
  background: var(--pci-dark);
  color: #fff;
  padding: 11px 14px;
  text-align: left;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .4px;
  white-space: nowrap;
}
.pci-pub-table td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--pci-border);
  vertical-align: top;
}
.pci-pub-table tr:last-child td { border-bottom: none; }
.pci-pub-table tr:hover td { background: var(--pci-light); }
.pci-pub-row--overdue td { background: #FFF5F5 !important; }
.pci-pub-table__empty { text-align: center; padding: 30px !important; color: var(--pci-muted); }

.pci-pub-inv-num    { font-family: monospace; font-size: 12px; color: var(--pci-muted); }
.pci-pub-agent-name { white-space: nowrap; }
.pci-pub-amount     { white-space: nowrap; }
.pci-pub-scholarship-note { font-size: 11px; color: var(--pci-green); margin-top: 2px; }

/* Type badges */
.pci-pub-type-badge {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}
.pci-pub-type-badge--transaction  { background: #EFF6FF; color: #1D4ED8; }
.pci-pub-type-badge--subscription { background: #F0FDF4; color: #15803D; }

/* Inline breakdown in table */
.pci-pub-invoice__detail--inline {
  margin-top: 8px;
  background: var(--pci-light);
  border-radius: 6px;
  padding: 10px;
}
.pci-pub-breakdown-table { width: 100%; font-size: 12px; border-collapse: collapse; }
.pci-pub-breakdown-table td { padding: 3px 6px; }
.pci-pub-breakdown-table td:last-child { text-align: right; }
.pci-pub-breakdown-total td { border-top: 1px solid var(--pci-border); padding-top: 5px; }

/* ── Status Badge ───────────────────────────────────────────────── */
.pci-pub-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .3px;
  white-space: nowrap;
}

/* ── Buttons ────────────────────────────────────────────────────── */
.pci-pub-btn {
  display: inline-block;
  padding: 7px 14px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: all .15s;
  border: none;
  line-height: 1.4;
}
.pci-pub-btn--solid {
  background: var(--pci-gold);
  color: var(--pci-dark);
}
.pci-pub-btn--solid:hover { background: #9b55d9; color: var(--pci-dark); }
.pci-pub-btn--outline {
  background: transparent;
  color: var(--pci-dark);
  border: 1px solid var(--pci-border);
}
.pci-pub-btn--outline:hover { background: var(--pci-light); }
.pci-pub-btn--sm { padding: 4px 10px; font-size: 12px; }

/* ── Brokerage Footer ───────────────────────────────────────────── */
.pci-pub-brokerage-footer {
  margin-top: 24px;
  padding: 18px 20px;
  background: var(--pci-dark);
  border-radius: var(--pci-radius);
  color: #d4bfff;
}
.pci-pub-brokerage-balance {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 17px;
  margin-bottom: 8px;
}
.pci-pub-brokerage-balance strong { color: #fff; font-size: 22px; }
.pci-pub-brokerage-note { font-size: 12px; margin: 0; color: #b39dd4; }
.pci-pub-brokerage-note a { color: var(--pci-gold); }

/* ── Empty state ────────────────────────────────────────────────── */
.pci-pub-empty {
  text-align: center;
  padding: 48px 20px;
  color: var(--pci-muted);
  background: #fff;
  border: 1px solid var(--pci-border);
  border-radius: var(--pci-radius);
}
.pci-pub-empty__icon { font-size: 40px; display: block; margin-bottom: 12px; }

/* ── Responsive ─────────────────────────────────────────────────── */
@media (max-width: 680px) {
  .pci-pub-summary { grid-template-columns: repeat(2, 1fr); }
  .pci-pub-invoice { flex-direction: column; align-items: flex-start; }
  .pci-pub-invoice__amount { text-align: left; }
  .pci-pub-invoice__right  { align-items: flex-start; }
  .pci-pub-brokerage-balance { flex-direction: column; gap: 6px; align-items: flex-start; }
}
