/* EAN-BID PRO - IANBID (Analysis/Calendar/Competitor/MyBids) UI Pack
   - Harmonizes legacy v2 pages with eanbid.css (app-shell/page/sidebar)
   - Provides premium card tone, clickable rows, status badges, progress/log summary
*/

:root {
  --ian-card-bg: #ffffff;
  --ian-card-border: rgba(148, 163, 184, .35);
  --ian-card-shadow: 0 10px 30px -20px rgba(15, 23, 42, .25);
  --ian-muted: #64748b;
  --ian-text: #0f172a;
  --ian-primary: #4f46e5;
  --ian-success: #16a34a;
  --ian-warn: #f59e0b;
  --ian-danger: #ef4444;
}

/* Ensure legacy pages don't fight the common shell */
body.has-sidebar {
  padding-left: 0 !important;
  /* legacy pages used padding-left:210px */
  background: #f8fafc !important;
  color: var(--ian-text);
}

/* Page canvas */
.ian-page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto;
  padding: 28px 28px 40px;
}

/* Legacy container normalization */
.ian-page .container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto;
  padding: 0 !important;
  box-sizing: border-box;
}

/* Card panels used across v2 pages */
.ian-page .glass-panel,
.ian-page .panel,
.ian-page .card,
.ian-page .calendar-dashboard,
.ian-page .summary-card,
.ian-page .chart-card,
.ian-page .insight-card {
  background: var(--ian-card-bg) !important;
  border: 1px solid var(--ian-card-border) !important;
  border-radius: 18px !important;
  box-shadow: var(--ian-card-shadow) !important;
}

/* Remove aggressive glow/gradients from legacy */
.ian-page .glass-panel::before,
.ian-page .chart-card::before,
.ian-page .panel::before {
  display: none !important;
}

/* Headers */
.ian-page h1,
.ian-page h2,
.ian-page h3 {
  letter-spacing: -0.02em;
}

.ian-page .header-title,
.ian-page header,
.ian-page .page-title {
  align-items: center;
  gap: 12px;
}

/* Tabs / pills */
.ian-page .period-tabs {
  border: 1px solid var(--ian-card-border);
  background: rgba(148, 163, 184, .12) !important;
}

.ian-page .period-tab.active {
  border: 1px solid rgba(79, 70, 229, .25);
}

/* Badge system */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: -0.01em;
  border: 1px solid rgba(148, 163, 184, .35);
  background: rgba(148, 163, 184, .12);
  color: #334155;
}

.badge.success {
  background: rgba(22, 163, 74, .10);
  border-color: rgba(22, 163, 74, .25);
  color: #166534;
}

.badge.warn {
  background: rgba(245, 158, 11, .12);
  border-color: rgba(245, 158, 11, .28);
  color: #92400e;
}

.badge.danger {
  background: rgba(239, 68, 68, .10);
  border-color: rgba(239, 68, 68, .25);
  color: #991b1b;
}

.badge.primary {
  background: rgba(79, 70, 229, .10);
  border-color: rgba(79, 70, 229, .25);
  color: #3730a3;
}

.badge.muted {
  background: rgba(100, 116, 139, .10);
  border-color: rgba(100, 116, 139, .25);
  color: #334155;
}

/* Clickable row/card */
.click-row {
  cursor: pointer;
}

.click-row:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 36px -26px rgba(15, 23, 42, .35);
}

.click-row:active {
  transform: translateY(0);
}

/* Progress bar */
.progress {
  height: 10px;
  border-radius: 999px;
  background: rgba(148, 163, 184, .18);
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .22);
}

.progress>.bar {
  height: 100%;
  width: var(--p, 0%);
  background: linear-gradient(90deg, rgba(79, 70, 229, .9), rgba(2, 132, 199, .85));
  border-radius: 999px;
}

/* Log summary */
.log-mini {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 12px;
  line-height: 1.4;
  color: #334155;
  background: rgba(148, 163, 184, .10);
  border: 1px solid rgba(148, 163, 184, .25);
  border-radius: 12px;
  padding: 10px 12px;
  max-height: 110px;
  overflow: auto;
}

/* Tables: harmonize */
.ian-page table {
  border-color: rgba(226, 232, 240, .9) !important;
}

.ian-page th {
  background: rgba(241, 245, 249, .8) !important;
}

.ian-page tr:hover {
  background: rgba(241, 245, 249, .8) !important;
}

/* Responsive: reduce padding */
@media (max-width: 1100px) {
  .ian-page {
    padding: 18px 16px 28px;
  }
}


/* Calendar bid item cards */
.ian-page .bid-item {
  background: #fff !important;
  border: 1px solid rgba(148, 163, 184, .35) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 30px -26px rgba(15, 23, 42, .25) !important;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.ian-page .bid-item:hover {
  transform: translateY(-1px);
  border-color: rgba(79, 70, 229, .25) !important;
  box-shadow: 0 16px 44px -34px rgba(15, 23, 42, .35) !important;
}

/* MyBids table: soften + sticky header usability */
.ian-page .report-table {
  border-radius: 16px;
  overflow: hidden;
}

.ian-page .report-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
}

/* Dense tables in competitor/analysis pages */
.ian-page .dense-table,
.ian-page .mini-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, .9);
}

.ian-page .dense-table th,
.ian-page .mini-table th {
  background: rgba(241, 245, 249, .85) !important;
  font-weight: 800;
}

.ian-page .dense-table td,
.ian-page .mini-table td {
  border-top: 1px solid rgba(226, 232, 240, .9);
}