
/* ── feedisplay.css inlined ───────────────────────── */
:root {
    --primary-blue: #2563eb;
    --primary-green: #059669;
    --primary-purple: #7c3aed;
    --primary-orange: #ea580c;
    --gray-50: #f9fafb;
    --gray-100: #f3f4f6;
    --gray-200: #e5e7eb;
    --gray-300: #d1d5db;
    --gray-400: #9ca3af;
    --gray-500: #6b7280;
    --gray-600: #4b5563;
    --gray-700: #374151;
    --gray-800: #1f2937;
    --gray-900: #111827;
    --accent-blue-light: #dbeafe;
    --accent-green-light: #d1fae5;
    --accent-purple-light: #e9d5ff;
    --accent-orange-light: #fed7aa;
    --shadow-sm: 0 1px 2px 0 rgba(0,0,0,.05);
    --shadow-md: 0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);
    --shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);
}
*{box-sizing:border-box}
body{margin:0;padding:0;background-color:var(--gray-50)}
.fee-wrapper{
    max-width:1200px;margin:0 auto;padding:40px 32px 48px;
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
    line-height:1.6;color:var(--gray-800);
    background: linear-gradient(160deg, #f0f4ff 0%, #faf7ff 35%, #fff8f0 65%, #f0faf5 100%);
    border-radius: 20px;
    box-shadow: 0 8px 40px rgba(99,102,241,.08), 0 2px 8px rgba(0,0,0,.04);
    position: relative;
    overflow: hidden;
}
.fee-wrapper::before {
    content: '';
    position: absolute;
    top: -120px; right: -120px;
    width: 420px; height: 420px;
    background: radial-gradient(circle, rgba(156,130,255,.13) 0%, transparent 70%);
    pointer-events: none;
}
.fee-wrapper::after {
    content: '';
    position: absolute;
    bottom: -100px; left: -80px;
    width: 360px; height: 360px;
    background: radial-gradient(circle, rgba(16,185,129,.10) 0%, transparent 70%);
    pointer-events: none;
}
.fee-wrapper h1{text-align:center;color:#1e1b4b;margin-bottom:10px;font-size:2.5em;font-weight:800;letter-spacing:-.5px}
.subtitle{text-align:center;color:var(--gray-500);margin-bottom:36px;font-size:1.05em;letter-spacing:.2px}
.tab-container{margin-bottom:20px}

/* ── Option A: Pill cards in grey tray ── */
.tab-nav{
    display:flex;flex-wrap:wrap;gap:8px;
    background:var(--gray-100);
    border-radius:16px 16px 0 0;
    padding:12px 12px 0;
    box-shadow:inset 0 2px 6px rgba(0,0,0,.06);
    border:1px solid var(--gray-200);border-bottom:none;
    align-items:flex-end;
}
.tab-button{
    flex:1;min-width:140px;
    padding:12px 18px;
    background:white;
    border:1px solid var(--gray-200);
    border-bottom:none;
    border-radius:10px 10px 0 0;
    cursor:pointer;
    font-size:14px;font-weight:600;
    color:var(--gray-600);
    position:relative;
    transition:box-shadow .25s ease, transform .2s ease, background .25s ease, color .2s ease;
    box-shadow:0 2px 4px rgba(0,0,0,.06);
}
.tab-button:hover{
    background:white;
    box-shadow:0 6px 16px rgba(0,0,0,.12);
    transform:translateY(-3px);
    color:var(--gray-800);
    z-index:1;
}
.tab-button small{display:block;font-size:11px;font-weight:400;color:var(--gray-400);margin-top:3px}
.tab-button:hover small{color:var(--gray-500)}

/* Active state — coloured ring glow, keep existing active colours */
.tab-button.active{
    color:white;
    transform:translateY(-2px);
    z-index:2;
    border-bottom:none;
}
.tab-button.active small{color:rgba(255,255,255,.85)}

/* Age-group active colours (unchanged) */
.tab-button.age-1-2-standard.active,
.tab-button.age-1-2.active{
    background:var(--primary-blue);
    border-color:var(--primary-blue);
    box-shadow:0 0 0 3px rgba(37,99,235,.25), 0 6px 18px rgba(37,99,235,.35);
}
.tab-button.age-1-2-short.active{
    background:var(--primary-orange);
    border-color:var(--primary-orange);
    box-shadow:0 0 0 3px rgba(234,88,12,.25), 0 6px 18px rgba(234,88,12,.35);
}
.tab-button.age-2-5-standard.active,
.tab-button.age-2-3.active{
    background:var(--primary-green);
    border-color:var(--primary-green);
    box-shadow:0 0 0 3px rgba(5,150,105,.25), 0 6px 18px rgba(5,150,105,.35);
}
.tab-button.age-2-5-short.active,
.tab-button.age-3-5.active{
    background:var(--primary-purple);
    border-color:var(--primary-purple);
    box-shadow:0 0 0 3px rgba(124,58,237,.25), 0 6px 18px rgba(124,58,237,.35);
}
.tab-button.complete-view{background:white;color:var(--gray-700)}
.tab-button.complete-view.active{
    background:linear-gradient(135deg,#2563eb,#059669,#7c3aed,#ea580c);
    background-size:200% 200%;animation:gradientShift 3s ease infinite;color:white;
    box-shadow:0 0 0 3px rgba(124,58,237,.2), 0 6px 18px rgba(37,99,235,.3);
}
@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.tab-content{display:none;background:white;border-radius:0 0 12px 12px;box-shadow:var(--shadow-md);border:1px solid var(--gray-200);border-top:none;overflow:hidden}
.tab-content.active{display:block}
.fee-wrapper h2{color:white;padding:24px 30px;margin:0;font-size:1.75em;font-weight:600;text-align:center}
.fee-wrapper h3{color:var(--gray-900);margin:25px 0 15px 0;font-size:1.25em;font-weight:600;padding:10px 0;border-bottom:2px solid var(--gray-100)}
.age-1-2-standard h2{background:var(--primary-blue)}
.age-1-2-short h2{background:var(--primary-orange)}
.age-2-5-standard h2{background:var(--primary-green)}
.age-2-5-short h2{background:var(--primary-purple)}
.complete-view h2,.complete-view .age-group-header{background:linear-gradient(135deg,#2563eb,#059669,#7c3aed,#ea580c);background-size:200% 200%;animation:gradientShift 3s ease infinite}
.fee-wrapper .section{padding:30px}
.age-1-2-standard .session-block{border-left:4px solid var(--primary-blue);padding-left:20px;margin-left:-20px}
.age-1-2-short .session-block{border-left:4px solid var(--primary-orange);padding-left:20px;margin-left:-20px}
.age-2-5-standard .session-block{border-left:4px solid var(--primary-green);padding-left:20px;margin-left:-20px}
.age-2-5-short .session-block{border-left:4px solid var(--primary-purple);padding-left:20px;margin-left:-20px}
.fee-wrapper table{width:100%;border-collapse:collapse;margin:20px 0;background:white;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}
.fee-wrapper th{background:var(--gray-800);color:white;padding:16px 12px;text-align:left;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.5px}
.fee-wrapper td{padding:14px 12px;border-bottom:1px solid var(--gray-100)}
.fee-wrapper tr:last-child td{border-bottom:none}
.fee-wrapper tr:hover{background:var(--gray-50)}
.fee-wrapper .price{font-weight:600;color:var(--gray-900);text-align:right;font-size:16px}
.fee-wrapper .highlight{background:var(--accent-orange-light);padding:16px 20px;border-radius:8px;margin:20px 0;border-left:4px solid var(--primary-orange);color:var(--gray-800)}
.fee-wrapper .note{background:var(--accent-blue-light);padding:16px 20px;border-radius:8px;margin:20px 0;border-left:4px solid var(--primary-blue);font-style:italic;color:var(--gray-700)}
.fee-wrapper .important-info{background:linear-gradient(135deg,var(--gray-50),white);border:2px solid var(--gray-200);border-radius:12px;padding:30px;margin:30px 0;box-shadow:var(--shadow-md)}
.fee-wrapper .important-info h3{color:var(--gray-900);text-align:center;margin-bottom:25px;border-bottom:2px solid var(--primary-blue);padding-bottom:10px}
.session-block{margin-bottom:35px;background:var(--gray-50);padding:20px;border-radius:8px}
.session-block h3{margin-bottom:10px;margin-top:0;color:var(--gray-900)}
.session-description{background:white;padding:12px 16px;border-radius:6px;margin:10px 0 15px 0;font-size:.95em;color:var(--gray-600);border:1px solid var(--gray-200)}
.complete-view .age-group-section{margin-bottom:40px;border:1px solid var(--gray-200);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm)}
.complete-view .age-group-header{padding:20px;color:white;font-size:1.5em;font-weight:600}
.complete-view .age-1-2-standard-header{background:var(--primary-blue)}
.complete-view .age-1-2-short-header{background:var(--primary-orange)}
.complete-view .age-2-5-standard-header{background:var(--primary-green)}
.complete-view .age-2-5-short-header{background:var(--primary-purple)}
.complete-view .age-group-content{padding:25px;background:white}

/* ── Government Funding tabs (new v3) ─────────────── */
.funding-tabs-nav{display:flex;gap:0;margin:20px 0 0 0;border-bottom:2px solid var(--gray-200)}
.funding-tab-btn{padding:10px 22px;background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:.9em;font-weight:600;color:var(--gray-500);transition:all .2s}
.funding-tab-btn.active{color:var(--primary-green);border-bottom-color:var(--primary-green)}
.funding-tab-panel{display:none;padding:16px 0 0}
.funding-tab-panel.active{display:block}
.funding-breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:12px 0}
.funding-item{background:white;border:1px solid var(--gray-200);border-radius:8px;padding:12px 16px}
.funding-item label{display:block;font-size:.78em;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.funding-item .fval{font-size:1.1em;font-weight:700;color:var(--gray-900)}
.funding-total{background:var(--accent-green-light);border:1px solid var(--primary-green);border-radius:8px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.funding-total span{font-size:.9em;color:var(--primary-green);font-weight:700}
.funding-total .ftotal{font-size:1.2em;font-weight:800;color:var(--primary-green)}

/* Adhoc section */
.adhoc-section{margin-top:8px}
.adhoc-note{background:var(--accent-orange-light);border-left:4px solid var(--primary-orange);padding:12px 16px;border-radius:6px;font-size:.88em;color:var(--gray-700);margin-top:8px}

@media screen and (max-width:768px){
    .fee-wrapper{padding:15px}
    .fee-wrapper h1{font-size:2em}
    .tab-nav{flex-direction:column;border-radius:12px;padding:8px;gap:6px}
    .tab-button{min-width:auto;border-radius:8px;border:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200);transform:none !important}
    .fee-wrapper h2{font-size:1.4em;padding:20px}
    .fee-wrapper table,.fee-wrapper thead,.fee-wrapper tbody,.fee-wrapper th,.fee-wrapper td,.fee-wrapper tr{display:block}
    .fee-wrapper thead tr{position:absolute;top:-9999px;left:-9999px}
    .fee-wrapper tr{border:1px solid var(--gray-200);margin-bottom:10px;padding:10px;border-radius:8px;background:white}
    .fee-wrapper td{border:none;position:relative;padding-left:50%!important;padding-right:10px;padding-top:10px;padding-bottom:10px;text-align:right}
    .fee-wrapper td:before{content:attr(data-label)": ";position:absolute;left:10px;width:45%;padding-right:10px;white-space:nowrap;font-weight:600;color:var(--gray-700);text-align:left}
    .fee-wrapper .section{padding:20px}
    .session-block{padding:15px}
    .funding-tabs-nav{flex-wrap:wrap}
}
@media screen and (max-width:480px){
    .fee-wrapper{padding:10px}
    .fee-wrapper .section{padding:15px}
    .tab-button{font-size:13px;padding:14px 16px}
    .tab-button small{font-size:11px}
}


/* ═══════════════════════════════════════════════════
   Plugin additions — new 3-age-group structure
═══════════════════════════════════════════════════ */

/* Age group tab colours */
.tab-button.age-1-2.active  {
    background: var(--primary-blue);   color: white;
    border-color: var(--primary-blue);
    box-shadow: 0 0 0 3px rgba(37,99,235,.25), 0 6px 18px rgba(37,99,235,.35);
}
.tab-button.age-2-3.active  {
    background: var(--primary-green);  color: white;
    border-color: var(--primary-green);
    box-shadow: 0 0 0 3px rgba(5,150,105,.25), 0 6px 18px rgba(5,150,105,.35);
}
.tab-button.age-3-5.active  {
    background: var(--primary-purple); color: white;
    border-color: var(--primary-purple);
    box-shadow: 0 0 0 3px rgba(124,58,237,.25), 0 6px 18px rgba(124,58,237,.35);
}
.tab-button.active small { color: rgba(255,255,255,.9); }

.age-1-2 h2 { background: var(--primary-blue); }
.age-2-3 h2 { background: var(--primary-green); }
.age-3-5 h2 { background: var(--primary-purple); }

.age-1-2 .session-block { border-left: 4px solid var(--primary-blue);   padding-left: 20px; margin-left: -20px; }
.age-2-3 .session-block { border-left: 4px solid var(--primary-green);  padding-left: 20px; margin-left: -20px; }
.age-3-5 .session-block { border-left: 4px solid var(--primary-purple); padding-left: 20px; margin-left: -20px; }

/* Funding sub-tab active colours */
.age-1-2 .funding-tab-btn.active { color: var(--primary-blue);   border-bottom-color: var(--primary-blue); }
.age-2-3 .funding-tab-btn.active { color: var(--primary-green);  border-bottom-color: var(--primary-green); }
.age-3-5 .funding-tab-btn.active { color: var(--primary-purple); border-bottom-color: var(--primary-purple); }

/* Funding total colours */
.age-1-2 .funding-total { background: var(--accent-blue-light);   border: 1px solid var(--primary-blue); }
.age-2-3 .funding-total { background: var(--accent-green-light);  border: 1px solid var(--primary-green); }
.age-3-5 .funding-total { background: var(--accent-purple-light); border: 1px solid var(--primary-purple); }
.age-1-2 .funding-total span, .age-1-2 .funding-total .ftotal { color: var(--primary-blue); }
.age-2-3 .funding-total span, .age-2-3 .funding-total .ftotal { color: var(--primary-green); }
.age-3-5 .funding-total span, .age-3-5 .funding-total .ftotal { color: var(--primary-purple); }

/* Sessions per week sub-heading */
.spw-label { font-size:.9em; font-weight:600; color:var(--gray-700); margin:20px 0 6px; padding-top:12px; border-top:1px solid var(--gray-200); }
.spw-label:first-of-type { border-top:none; margin-top:8px; }

/* Stats cards */
.wfd-stats-row { display:flex; gap:16px; margin-bottom:24px; flex-wrap:wrap; }
.wfd-stat-card { flex:1; min-width:140px; background:white; border-radius:10px; padding:16px 20px; box-shadow:var(--shadow-sm); border:1px solid var(--gray-200); display:flex; flex-direction:column; align-items:center; text-align:center; gap:4px; }
.wfd-stat-count { font-size:2em; font-weight:800; line-height:1; }
.wfd-stat-label { font-size:.8em; color:var(--gray-500); font-weight:500; }
.wfd-stat-active  .wfd-stat-count { color:var(--primary-green); }
.wfd-stat-future  .wfd-stat-count { color:var(--primary-blue); }
.wfd-stat-archived .wfd-stat-count { color:var(--gray-500); }
.wfd-stat-active  { border-top:3px solid var(--primary-green); }
.wfd-stat-future  { border-top:3px solid var(--primary-blue); }
.wfd-stat-archived { border-top:3px solid var(--gray-300); }

/* Empty state */
.wfd-empty-state { text-align:center; padding:60px 20px; background:white; border-radius:12px; border:1px solid var(--gray-200); box-shadow:var(--shadow-md); margin-bottom:20px; }
.wfd-empty-icon { font-size:3em; margin-bottom:16px; }
.wfd-empty-state h3 { color:var(--gray-700); margin:0 0 8px; }
.wfd-empty-state p  { color:var(--gray-500); margin:0; }

/* Services notice */
.wfd-services-notice { background:var(--accent-green-light); border-left:4px solid var(--primary-green); padding:12px 16px; border-radius:6px; margin-bottom:20px; font-size:.92em; color:var(--gray-700); }

/* Download PDF tab button */
.tab-button.pdf-download { background:var(--gray-800); color:white; border-color:var(--gray-700); }
.tab-button.pdf-download small { color:rgba(255,255,255,.65); }
.tab-button.pdf-download:hover { background:var(--gray-900); color:white; box-shadow:0 6px 16px rgba(0,0,0,.28); }
.tab-button.pdf-download.active {
    background:var(--gray-900); color:white;
    box-shadow:0 0 0 3px rgba(31,41,55,.3), 0 6px 18px rgba(0,0,0,.4);
}

/* PDF panel */
.pdf-panel-header { display:flex; align-items:center; gap:18px; padding:28px 30px 0; }
.pdf-panel-icon { width:52px; height:52px; background:var(--gray-800); color:white; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.4em; flex-shrink:0; }
.pdf-cards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding:24px 30px 30px; }
.pdf-card { border-radius:12px; border:1.5px solid var(--gray-200); padding:22px; display:flex; flex-direction:column; gap:14px; background:white; box-shadow:0 2px 12px rgba(0,0,0,.06); transition:box-shadow .2s ease, transform .2s ease; }
.pdf-card:hover { box-shadow:0 8px 28px rgba(0,0,0,.12); transform:translateY(-3px); }
.pdf-card-blue   { border-top:4px solid var(--primary-blue); }
.pdf-card-green  { border-top:4px solid var(--primary-green); }
.pdf-card-purple { border-top:4px solid var(--primary-purple); }
.pdf-card-age { font-size:1.2em; font-weight:700; }
.pdf-card-blue   .pdf-card-age { color:var(--primary-blue); }
.pdf-card-green  .pdf-card-age { color:var(--primary-green); }
.pdf-card-purple .pdf-card-age { color:var(--primary-purple); }
.pdf-card-sessions { display:flex; flex-wrap:wrap; gap:6px; }
.pdf-card-sessions span { background:var(--gray-100); color:var(--gray-600); font-size:.78em; font-weight:600; padding:3px 10px; border-radius:20px; border:1px solid var(--gray-200); }
.pdf-card-includes { font-size:.82em; color:var(--gray-500); line-height:1.5; flex:1; }

/* Funding tier color swatches inside PDF cards */
.pdf-funding-tiers { display:flex; flex-direction:column; gap:8px; }
.pdf-tier-row { border-radius:8px; padding:10px 14px; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.pdf-tier-row.tier-none  { background:#f8fafc; border:1px solid #e2e8f0; }
.pdf-tier-row.tier-15hrs { background:#fde8f0; border:1px solid #f0b8d0; }
.pdf-tier-row.tier-30hrs { background:#e4f4e8; border:1px solid #96d4a8; }
.pdf-tier-label { font-size:.8em; font-weight:700; }
.pdf-tier-row.tier-none  .pdf-tier-label { color:#475569; }
.pdf-tier-row.tier-15hrs .pdf-tier-label { color:#9c2152; }
.pdf-tier-row.tier-30hrs .pdf-tier-label { color:#1e6b35; }
.pdf-tier-badge { font-size:.72em; font-weight:700; padding:3px 10px; border-radius:20px; white-space:nowrap; }
.pdf-tier-row.tier-none  .pdf-tier-badge { background:#e2e8f0; color:#475569; }
.pdf-tier-row.tier-15hrs .pdf-tier-badge { background:#9c2152; color:white; }
.pdf-tier-row.tier-30hrs .pdf-tier-badge { background:#1b6b35; color:white; }

.pdf-download-btn { display:block; text-align:center; padding:13px 16px; border-radius:9px; font-size:.92em; font-weight:700; text-decoration:none; letter-spacing:.3px; transition:opacity .2s ease, transform .2s ease; margin-top:auto; }
.pdf-download-btn:hover { opacity:.88; transform:translateY(-1px); }
.pdf-btn-blue   { background:var(--primary-blue);   color:white; }
.pdf-btn-green  { background:var(--primary-green);  color:white; }
.pdf-btn-purple { background:var(--primary-purple); color:white; }

/* Mobile */
@media(max-width:768px) {
    .wfd-stats-row { flex-direction:column; }
    .pdf-cards-grid { grid-template-columns:1fr; }
    .pdf-panel-header { padding:20px 20px 0; }
    .pdf-cards-grid { padding:16px 20px 20px; }
}


/* ═══════════════════════════════════════════════════════════════════
   Weekly Term-Time Fee Block
═══════════════════════════════════════════════════════════════════ */

/* ── Block wrapper ── */
.wfd-weekly-block {
    margin-bottom: 35px;
    background: white;
    border-radius: 12px;
    border: 2px solid #059669;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(5,150,105,.12);
    padding: 0;
}

/* Override the age-colour left-border set on .session-block */
.age-1-2 .wfd-weekly-block,
.age-2-3 .wfd-weekly-block,
.age-3-5 .wfd-weekly-block {
    border-left: 2px solid #059669;
    padding-left: 0;
    margin-left: 0;
}

/* ── Header bar ── */
.wfd-weekly-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding: 18px 22px;
    background: linear-gradient(135deg, #059669 0%, #065f46 100%);
    color: white;
}
.wfd-weekly-header-left {
    display: flex;
    align-items: center;
    gap: 14px;
}
.wfd-weekly-icon {
    width: 42px;
    height: 42px;
    background: rgba(255,255,255,.18);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3em;
    flex-shrink: 0;
}
.wfd-weekly-header h3 {
    margin: 0;
    padding: 0;
    border: none;
    color: white;
    font-size: 1.1em;
    font-weight: 700;
}
.wfd-weekly-subtitle {
    margin: 2px 0 0;
    font-size: .82em;
    color: rgba(255,255,255,.8);
}
.wfd-weekly-badge {
    background: rgba(255,255,255,.2);
    border: 1px solid rgba(255,255,255,.35);
    color: white;
    font-size: .75em;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 20px;
    letter-spacing: .4px;
    text-transform: uppercase;
    white-space: nowrap;
}

/* ── Sub-tabs (reuse .funding-tabs-nav but inside weekly block) ── */
.wfd-weekly-block .funding-tabs-nav {
    padding: 0 22px;
    background: var(--gray-50);
    border-bottom: 2px solid var(--gray-200);
    margin: 0;
}
.wfd-weekly-block .funding-tab-btn.active {
    color: #059669;
    border-bottom-color: #059669;
}
.wfd-weekly-block .funding-tab-panel {
    padding: 18px 22px 0;
}

/* ── Tier note ── */
.wfd-weekly-tier-note {
    font-size: .82em;
    color: var(--gray-500);
    margin: 0 0 10px;
    font-style: italic;
}

/* ── Main weekly table ── */
.wfd-weekly-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 8px;
    background: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--gray-200);
}
.wfd-weekly-table thead th {
    background: #065f46;
    color: white;
    padding: 13px 12px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .4px;
}
.wfd-weekly-table tbody td {
    padding: 14px 12px;
    border-bottom: 1px solid var(--gray-100);
    vertical-align: middle;
}
.wfd-weekly-table tbody tr:last-child td { border-bottom: none; }
.wfd-weekly-table tbody tr:hover { background: #f0fdf4; }
.wfd-col-right  { text-align: right; }
.wfd-col-center { text-align: center; }
.wfd-weekly-total {
    font-weight: 700;
    color: #059669;
    font-size: 1.05em;
}

/* ── Breakdown toggle button ── */
.wfd-breakdown-btn {
    background: var(--gray-100);
    border: 1px solid var(--gray-200);
    border-radius: 6px;
    padding: 5px 12px;
    font-size: .8em;
    font-weight: 600;
    color: var(--gray-600);
    cursor: pointer;
    transition: all .2s ease;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.wfd-breakdown-btn:hover,
.wfd-breakdown-btn--open {
    background: #d1fae5;
    border-color: #059669;
    color: #065f46;
}
.wfd-chevron {
    font-size: .9em;
    transition: transform .2s ease;
    display: inline-block;
}
.wfd-breakdown-btn--open .wfd-chevron { transform: rotate(180deg); }

/* ── Breakdown expanded row ── */
.wfd-breakdown-row td { padding: 0 !important; border-bottom: none; }
.wfd-breakdown-cell { padding: 0 !important; }
.wfd-breakdown-inner {
    padding: 16px 20px 20px;
    background: #f0fdf4;
    border-top: 1px dashed #a7f3d0;
}

/* ── Government Funded Offset amber card ── */
.wfd-nonfunded-card {
    display: flex;
    align-items: center;
    gap: 14px;
    background: linear-gradient(135deg, #fffbeb, #fef3c7);
    border: 1px solid #f59e0b;
    border-left: 5px solid #f59e0b;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 16px;
}
.wfd-nonfunded-card-icon {
    width: 36px;
    height: 36px;
    background: #f59e0b;
    color: white;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1em;
    flex-shrink: 0;
}
.wfd-nonfunded-card-body {
    flex: 1;
    min-width: 0;
}
.wfd-nonfunded-card-label {
    display: block;
    font-size: .78em;
    font-weight: 700;
    color: #92400e;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 2px;
}
.wfd-nonfunded-card-value {
    font-size: .85em;
    color: #b45309;
}
.wfd-nonfunded-card-badge {
    background: #f59e0b;
    color: white;
    font-size: .72em;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* ── Consumables breakdown grid label ── */
.wfd-breakdown-grid-label {
    font-size: .78em;
    font-weight: 700;
    color: var(--gray-500);
    text-transform: uppercase;
    letter-spacing: .5px;
    margin: 0 0 8px;
}

/* ── Weekly total bar (reuse .funding-total but green) ── */
.wfd-weekly-funding-total {
    background: #d1fae5 !important;
    border: 1px solid #059669 !important;
    margin-top: 14px;
}
.wfd-weekly-funding-total span,
.wfd-weekly-funding-total .ftotal {
    color: #065f46 !important;
}

/* ═══════════════════════════════════════════════════════════════════
   Funding Panel Themes — 15hrs (Pink) & 30hrs (Green)
═══════════════════════════════════════════════════════════════════ */

/* ── Hide stats row ── */
.wfd-stats-row { display: none !important; }

/* ── 15hrs Pink theme ── */
.funding-tab-btn.active[onclick*="15hrs"],
.funding-tabs-nav .funding-tab-btn:nth-child(2).active {
    color: #9c2152;
    border-bottom-color: #c2185b;
}

.funding-panel-15hrs {
    background: #fde8f0;
    border-radius: 0 0 10px 10px;
    padding: 16px 16px 20px;
    margin-top: 0;
}
.funding-panel-15hrs .spw-label {
    color: #7a1040;
    border-top-color: #f0a8c8;
}
.funding-panel-15hrs .funding-item {
    background: #fff0f6;
    border: 1px solid #f0b8d0;
}
.funding-panel-15hrs .funding-item label {
    color: #b03a6a;
}
.funding-panel-15hrs .funding-item .fval {
    color: #6b0d36;
}
.funding-panel-15hrs .funding-total {
    background: #9c2152 !important;
    border: 1px solid #7a1040 !important;
    border-radius: 8px;
    margin-top: 12px;
}
.funding-panel-15hrs .funding-total span,
.funding-panel-15hrs .funding-total .ftotal {
    color: #ffffff !important;
}
.funding-panel-15hrs p {
    color: #9c2152;
}
.funding-panel-15hrs .note {
    background: #fff0f6;
    border-left-color: #c2185b;
    color: #7a1040;
}

/* ── 30hrs Green theme ── */
.funding-tab-btn.active[onclick*="30hrs"],
.funding-tabs-nav .funding-tab-btn:nth-child(3).active {
    color: #1e6b35;
    border-bottom-color: #388e3c;
}

.funding-panel-30hrs {
    background: #e4f4e8;
    border-radius: 0 0 10px 10px;
    padding: 16px 16px 20px;
    margin-top: 0;
}
.funding-panel-30hrs .spw-label {
    color: #155228;
    border-top-color: #96d4a8;
}
.funding-panel-30hrs .funding-item {
    background: #f0faf2;
    border: 1px solid #96d4a8;
}
.funding-panel-30hrs .funding-item label {
    color: #2e8b50;
}
.funding-panel-30hrs .funding-item .fval {
    color: #0f4423;
}
.funding-panel-30hrs .funding-total {
    background: #1b6b35 !important;
    border: 1px solid #155228 !important;
    border-radius: 8px;
    margin-top: 12px;
}
.funding-panel-30hrs .funding-total span,
.funding-panel-30hrs .funding-total .ftotal {
    color: #ffffff !important;
}
.funding-panel-30hrs p {
    color: #1e6b35;
}
.funding-panel-30hrs .note {
    background: #f0faf2;
    border-left-color: #388e3c;
    color: #155228;
}

/* ── Tab button colours for 15hrs / 30hrs ── */
.funding-tab-btn.funding-btn-15hrs {
    color: #b03a6a;
}
.funding-tab-btn.funding-btn-15hrs.active {
    color: #9c2152;
    border-bottom-color: #c2185b;
}
.funding-tab-btn.funding-btn-30hrs {
    color: #2e8b50;
}
.funding-tab-btn.funding-btn-30hrs.active {
    color: #1e6b35;
    border-bottom-color: #388e3c;
}

/* ── Mobile responsive ── */
@media screen and (max-width: 768px) {
    .wfd-weekly-header { padding: 14px 16px; }
    .wfd-weekly-icon { width: 34px; height: 34px; font-size: 1em; }
    .wfd-weekly-header h3 { font-size: 1em; }
    .wfd-weekly-badge { display: none; }
    .wfd-weekly-block .funding-tab-panel { padding: 12px 14px 0; }
    .wfd-weekly-table thead { display: none; }
    .wfd-weekly-table tbody tr,
    .wfd-weekly-table tbody td { display: block; }
    .wfd-weekly-table tbody td {
        text-align: right !important;
        padding-left: 50% !important;
        position: relative;
    }
    .wfd-weekly-table tbody td:before {
        content: attr(data-label) ": ";
        position: absolute;
        left: 12px;
        width: 45%;
        font-weight: 600;
        color: var(--gray-700);
        text-align: left;
    }
    .wfd-breakdown-btn { font-size: .75em; padding: 4px 10px; }
    .wfd-breakdown-inner { padding: 12px 14px 16px; }
    .wfd-nonfunded-card { flex-wrap: wrap; }
    .wfd-nonfunded-card-badge { margin-top: 6px; }
}
