:root{
    --brand-orange:#E87820;
    --brand-orange-dark:#c9660f;
    --charcoal:#2b2f32;
    --page-bg:#f5f6f8;
    --card-border:#eceff2;
    --muted:#7c848c;
    --success:#1fa971;
    --success-bg:#e6f7ef;
    --warning:#b8790a;
    --warning-bg:#fdf1de;
    --info:#3d6fe0;
    --info-bg:#e9eefc;
  }
  *{font-family:"Inter",system-ui,-apple-system,sans-serif;}
  body{background:var(--page-bg);color:var(--charcoal);}

  .page-title{font-weight:800;font-size:1.5rem;color:var(--charcoal);margin-bottom:2px;}
  .page-subtitle{color:var(--muted);font-size:.9rem;}

  /* Hero banner */
  .hero-banner{
    position:relative;
    border-radius:16px;
    overflow:hidden;
    min-height:190px;
    background:linear-gradient(120deg, rgba(30,20,45,.88) 10%, rgba(20,40,55,.45) 60%, rgba(20,40,55,.15) 100%),
      url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=1200&q=60') center/cover no-repeat;
    color:#fff;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:28px 32px;
  }
  .hero-banner h2{font-weight:800;font-size:1.7rem;line-height:1.2;margin-bottom:10px;}
  .hero-banner p{opacity:.9;font-size:.92rem;max-width:320px;margin-bottom:18px;}
  .btn-brand{
    background:var(--brand-orange);
    border:1px solid var(--brand-orange);
    color:#fff;
    font-weight:600;
    font-size:.88rem;
  }
  .btn-brand:hover{background:var(--brand-orange-dark);border-color:var(--brand-orange-dark);color:#fff;}
  .btn-outline-brand{
    border:1px solid var(--brand-orange);
    color:var(--brand-orange);
    font-weight:600;
    font-size:.82rem;
    background:#fff;
  }
  .btn-outline-brand:hover{background:var(--brand-orange);color:#fff;}

  .stat-card{
    background:#fff;
    border:1px solid var(--card-border);
    border-radius:16px;
    padding:18px;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:2px;
  }
  .stat-icon{
    width:40px;height:40px;border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    font-size:1.15rem;margin-bottom:10px;
  }
  .stat-icon.purple{background:#efe8fd;color:#7c4fe0;}
  .stat-icon.green{background:#e0f7ec;color:#12a25a;}
  .stat-icon.peach{background:#fdeada;color:var(--brand-orange);}
  .stat-value{font-weight:800;font-size:1.4rem;color:var(--charcoal);}
  .stat-label{font-size:.8rem;color:var(--muted);}

  /* Tabs */
  .campaign-tabs .nav-link{
    color:var(--muted);
    font-weight:600;
    font-size:.9rem;
    border:none;
    padding:10px 4px;
    margin-right:26px;
    border-bottom:2px solid transparent;
    background:none;
  }
  .campaign-tabs .nav-link.active{
    color:var(--brand-orange);
    border-bottom:2px solid var(--brand-orange);
    background:none;
  }
  .rules-link{
    color:var(--brand-orange);
    font-weight:600;
    font-size:.88rem;
    text-decoration:none;
    white-space:nowrap;
  }
  .rules-link:hover{color:var(--brand-orange-dark);}

  /* Filter bar */
  .filter-card{
    background:#fff;
    border:1px solid var(--card-border);
    border-radius:14px;
    padding:14px;
  }
  .filter-card .form-control,
  .filter-card .form-select{
    font-size:.85rem;
    border-color:#e3e6ea;
  }
  .filter-card .form-control:focus,
  .filter-card .form-select:focus{
    border-color:var(--brand-orange);
    box-shadow:0 0 0 .2rem rgba(232,120,32,.12);
  }

  /* Table card */
  .table-card{
    background:#fff;
    border:1px solid var(--card-border);
    border-radius:16px;
    overflow:hidden;
  }
  table.campaigns-table{margin-bottom:0;}
  table.campaigns-table thead th{
    background:#fafbfc;
    color:var(--muted);
    font-size:.76rem;
    text-transform:uppercase;
    letter-spacing:.03em;
    font-weight:700;
    border-bottom:1px solid var(--card-border);
    padding:14px 16px;
    white-space:nowrap;
  }
  table.campaigns-table tbody td{
    padding:14px 16px;
    vertical-align:middle;
    border-bottom:1px solid var(--card-border);
    font-size:.86rem;
  }
  table.campaigns-table tbody tr:last-child td{border-bottom:none;}

  .campaign-thumb{
    width:56px;height:56px;
    border-radius:10px;
    object-fit:cover;
    flex-shrink:0;
  }
  .campaign-name{font-weight:700;color:var(--charcoal);font-size:.9rem;margin-bottom:2px;}
  .campaign-desc{color:var(--muted);font-size:.78rem;margin-bottom:4px;max-width:260px;}
  .campaign-tags{font-size:.74rem;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap;}
  .campaign-tags span{display:inline-flex;align-items:center;gap:4px;}

  .type-badge{
    font-size:.74rem;
    font-weight:700;
    padding:5px 10px;
    border-radius:20px;
    display:inline-block;
    white-space:nowrap;
  }
  .type-booking{background:#eef1fd;color:#4d5fd6;}
  .type-destination{background:var(--success-bg);color:var(--success);}
  .type-volume{background:#fdf1de;color:var(--warning);}
  .type-earlybird{background:#e9eefc;color:var(--info);}
  .type-product{background:#fde9ea;color:#d1495b;}

  .reward-val{color:var(--success);font-weight:700;font-size:.86rem;}
  .reward-sub{color:var(--muted);font-size:.74rem;}

  .progress{height:6px;border-radius:10px;background:#eef0f2;width:130px;}
  .progress-bar{background:var(--brand-orange);}
  .progress-text{font-size:.76rem;color:var(--muted);margin-top:4px;}

  .status-badge{
    font-size:.74rem;
    font-weight:700;
    padding:5px 10px;
    border-radius:20px;
    display:inline-block;
    white-space:nowrap;
  }
  .status-active{background:var(--success-bg);color:var(--success);}
  .status-ending{background:var(--warning-bg);color:var(--warning);}
  .status-upcoming{background:var(--info-bg);color:var(--info);}
  .status-completed{background:#eceff2;color:var(--muted);}

  .btn-view{
    border:1px solid var(--brand-orange);
    color:var(--brand-orange);
    font-size:.78rem;
    font-weight:600;
    padding:6px 14px;
    border-radius:8px;
    background:#fff;
    white-space:nowrap;
  }
  .btn-view:hover{background:var(--brand-orange);color:#fff;}

  /* Mobile cards */
  .campaign-card-mobile{
    background:#fff;
    border:1px solid var(--card-border);
    border-radius:14px;
    padding:14px;
    margin-bottom:12px;
  }
  .campaign-card-mobile .row-line{
    display:flex;
    justify-content:space-between;
    font-size:.8rem;
    margin-top:8px;
  }
  .campaign-card-mobile .row-line .lbl{color:var(--muted);}

  .footer-note{color:var(--muted);font-size:.82rem;}

  .page-link{color:var(--charcoal);}
  .page-item.active .page-link{background:var(--brand-orange);border-color:var(--brand-orange);}

  @media (max-width:991.98px){
    .hero-banner{min-height:170px;padding:22px;}
  }
  @media (max-width:575.98px){
    .hero-banner h2{font-size:1.35rem;}
  }