/* ===== PREMIUM DESIGN SYSTEM ===== */
:root {
  --bg: #f5f5f7; --surface: rgba(255, 255, 255, 0.8); --surface-solid: #ffffff;
  --border: rgba(0, 0, 0, 0.05); --text: #1d1d1f; --text-sec: #424245; --text-tri: #86868b;
  --indigo: #0071e3; --indigo-gradient: linear-gradient(135deg, #0071e3, #1d1d1f);
  --accent: #34c759; --orange: #ff9500; --purple: #af52de; --red: #ff3b30; --maroon: #b01e47;
  --shadow: 0 8px 30px rgba(0, 0, 0, 0.04); --shadow-hover: 0 20px 40px rgba(0, 0, 0, 0.08);
  --r: 24px; --rs: 14px; --t: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
body.dark-mode {
  --bg: #000000; --surface: rgba(28, 28, 30, 0.8); --surface-solid: #1c1c1e;
  --border: rgba(255, 255, 255, 0.1); --text: #f5f5f7; --text-sec: #a1a1a6; --text-tri: #86868b;
}

/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Outfit', sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background var(--t);overflow-x:hidden}
button,input,select{font-family:inherit;color:inherit;outline:none;border:none;background:none}
.hidden{display:none !important}
.tab-content{display:none}
.tab-content.active{display:block;animation:fadeIn 0.4s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
/* ===== HEADER ===== */
.header{backdrop-filter:blur(20px);background:var(--surface);position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--border)}
.header-inner{max-width:1200px;margin:0 auto;min-height:60px;display:flex;align-items:center;padding:0 1.5rem;flex-wrap:wrap;gap:10px}
.logo-brand{font-size:1.4rem;font-weight:900;letter-spacing:-0.04em;flex-shrink:0}
.logo-pro{color:var(--indigo)}
.header-nav{display:flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.header-nav::-webkit-scrollbar{display:none}
.nav-tab{padding:.5rem 1.1rem;border-radius:20px;font-size:.8rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:all var(--t)}
.nav-tab.active{background:var(--text);color:var(--bg)}
.header-actions{display:flex;gap:8px;margin-left:auto}
.action-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--surface-solid);box-shadow:var(--shadow);cursor:pointer;font-size:1.1rem;transition:all var(--t)}
.action-btn:hover{transform:scale(1.1)}
.theme-toggle{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--surface-solid);box-shadow:var(--shadow);cursor:pointer;font-size:1.1rem;transition:all var(--t);border:1px solid var(--border)}
.theme-toggle:hover{transform:scale(1.1);box-shadow:var(--shadow-hover)}

/* ===== HERO & SEGMENTED CONTROL ===== */
.hero-premium{text-align:center;padding:4.5rem 1rem 3.5rem}
.hero-premium h1{font-size:4rem;font-weight:900;letter-spacing:-0.05em;line-height:1}
.gradient-text{background:linear-gradient(135deg, var(--indigo), var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero-premium p{color:var(--text-tri);margin-top:1rem;font-size:1.3rem;font-weight:500}

.loan-segmented-control{display:inline-flex;background:var(--surface-solid);padding:6px;border-radius:30px;margin-top:2.5rem;box-shadow:var(--shadow)}
.segment{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.75rem 1.8rem;border-radius:22px;font-size:.95rem;font-weight:800;cursor:pointer;transition:all var(--t);color:var(--text-sec)}
.segment.active{background:var(--indigo);color:#fff;box-shadow:0 4px 15px rgba(0, 113, 227, 0.3)}
.seg-icon{width:22px;height:22px;display:block;flex-shrink:0;transition:transform var(--t)}
.segment.active .seg-icon{transform:scale(1.08)}
.seg-label{font-size:.78rem;font-weight:800;letter-spacing:.01em;white-space:nowrap}
.hero-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-top:1.4rem}
.primary-tool-btn,.secondary-tool-btn{height:42px;padding:0 1.05rem;border-radius:999px;font-size:.86rem;font-weight:900;cursor:pointer;transition:all var(--t)}
.primary-tool-btn{background:var(--text);color:var(--bg);box-shadow:var(--shadow-hover)}
.secondary-tool-btn{background:var(--surface-solid);color:var(--text);box-shadow:var(--shadow);border:1px solid var(--border)}
.primary-tool-btn:hover,.secondary-tool-btn:hover{transform:translateY(-1px)}
.reset-hero-btn{outline:3px solid rgba(0,113,227,.12)}

/* ===== DASHBOARD ===== */
.main-content{max-width:1200px;margin:0 auto;padding:0 1.5rem 6rem}
.modern-dashboard{display:grid;grid-template-columns:1fr 420px;gap:2.5rem;align-items:start}
.input-stack{display:flex;flex-direction:column;gap:1.5rem}
.results-stack{display:flex;flex-direction:column;gap:1.5rem}

.glass-card{background:var(--surface);backdrop-filter:blur(15px);border-radius:var(--r);padding:2rem;border:1px solid var(--border);box-shadow:var(--shadow);transition:all var(--t)}
.glass-card:hover{box-shadow:var(--shadow-hover)}

.box-header h3{font-size:1.2rem;font-weight:800;letter-spacing:-0.02em;margin-bottom:1.5rem}
.field-grid-pro{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:2rem}

.field{display:flex;flex-direction:column;gap:.6rem}
.field label{font-size:.85rem;font-weight:800;color:var(--text-sec);text-transform:uppercase;letter-spacing:0.04em}
.modern-input{display:flex;align-items:center;background:var(--bg);border-radius:var(--rs);padding:.8rem 1.2rem;border:1px solid var(--border);transition:all var(--t)}
.modern-input:focus-within{border-color:var(--indigo);box-shadow:0 0 0 3px rgba(0, 113, 227, 0.1)}
.modern-input input{width:100%;font-size:1.2rem;font-weight:800;text-align:right}
.modern-input input[type="month"]{text-align:left}
.modern-input input.snapped{animation:snapShake 0.4s ease}
@keyframes snapShake{
  0%,100%{transform:translateX(0);color:var(--indigo)}
  25%{transform:translateX(-4px);color:var(--red)}
  75%{transform:translateX(4px);color:var(--red)}
}
.modern-dual-input{display:flex;gap:10px}
.field-message{min-height:1rem;font-size:.78rem;line-height:1.35;color:var(--red);font-weight:700}
.field-hint{font-size:.75rem;color:var(--text-tri);line-height:1.4;font-weight:500}

/* ===== COLLAPSIBLE (kept for potential other uses) ===== */
.collapsible{padding:0;overflow:hidden}
.collapse-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1.8rem 2rem;cursor:pointer;font-weight:800;font-size:1.1rem}
.collapse-trigger em{display:inline-block;margin-left:.5rem;padding:.2rem .55rem;border-radius:999px;background:rgba(52,199,89,.14);color:var(--accent);font-size:.72rem;font-style:normal;vertical-align:middle}
.collapse-trigger.open .chevron{transform:rotate(180deg)}
.chevron{transition:transform var(--t);color:var(--indigo);font-size:1.2rem}
.collapse-content{padding:0 2rem 2rem}

/* ===== INPUT TABS CARD (replaces two collapsibles) ===== */
.input-tabs-card{padding:0;overflow:hidden;transition:border-color var(--t), box-shadow var(--t)}
.input-tabs-card.prepay-active{border-color:rgba(52,199,89,.35);box-shadow:0 16px 42px rgba(52,199,89,.12)}

.input-tab-bar{display:flex;border-bottom:1px solid var(--border)}
.input-tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.3rem 1rem;font-weight:800;font-size:.9rem;cursor:pointer;color:var(--text-sec);border-bottom:3px solid transparent;margin-bottom:-1px;transition:all var(--t);background:none;border-left:none;border-right:none;border-top:none;white-space:nowrap}
.input-tab-btn:hover:not(.active){background:var(--bg);color:var(--text)}
.input-tab-btn.active{color:var(--indigo);border-bottom-color:var(--indigo);background:rgba(0,113,227,.04)}
.input-tabs-card.prepay-active #itb-prepay.active{color:var(--accent);border-bottom-color:var(--accent);background:rgba(52,199,89,.06)}
.itb-icon{width:18px;height:18px;flex-shrink:0}
.itb-badge{display:inline-block;padding:.18rem .5rem;border-radius:999px;background:rgba(52,199,89,.18);color:var(--accent);font-size:.68rem;font-style:normal;font-weight:900;margin-left:.2rem}

.input-tab-panel{padding:1.5rem 2rem 2rem}
.input-tab-panel.hidden{display:none !important}
.itc-hint{font-size:.8rem;color:var(--text-tri);line-height:1.5;margin-bottom:1.25rem;padding:.65rem .9rem;background:var(--bg);border-radius:var(--rs);border-left:3px solid var(--border)}

/* ===== LUMP-SUM PREPAYMENT ===== */
.lump-sum-section{margin-top:1.5rem;border-top:1px solid var(--border);padding-top:1.25rem}
.lump-sum-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}
.lump-sum-title{font-size:.85rem;font-weight:700;color:var(--text-sec)}
.lump-sum-hint{font-size:.78rem;color:var(--text-tri);margin-bottom:.9rem;line-height:1.5}
.lump-sum-add-btn{padding:.35rem .9rem;border-radius:999px;background:var(--indigo);color:#fff;font-size:.78rem;font-weight:700;cursor:pointer;border:none;transition:all var(--t)}
.lump-sum-add-btn:hover{background:#005bb5;transform:translateY(-1px)}
#lump-sum-list{display:flex;flex-direction:column;gap:.6rem}
.lump-sum-row{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;align-items:center}
.lump-sum-row .modern-input{margin:0}
.lump-sum-remove-btn{width:2rem;height:2rem;border-radius:50%;background:transparent;border:1.5px solid var(--border);color:var(--text-tri);font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--t);flex-shrink:0}
.lump-sum-remove-btn:hover{background:#fee2e2;border-color:#f87171;color:#dc2626}
@media(max-width:600px){
  .lump-sum-row{grid-template-columns:1fr auto;grid-template-rows:auto auto}
  .lump-sum-row .month-picker-widget{grid-column:1;grid-row:2}
  .lump-sum-remove-btn{grid-column:2;grid-row:1/3}
}

/* ===== RESULTS STACK (CLASSIC EXACT MATCH) ===== */
.classic-panel{background:#f3f3f3;border:1px solid #dcdcdc;border-radius:4px;padding:1px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
body.dark-mode .classic-panel{background:#1c1c1e;border-color:rgba(255,255,255,.12)}
.classic-table{width:100%;border-collapse:collapse;font-size:1rem;color:#333}
body.dark-mode .classic-table{color:var(--text)}
.classic-table td{padding:12px 15px;border-bottom:1px dashed #ccc}
.classic-table tr:last-child td{border-bottom:none}
.classic-table .total-row td{background:#e8e8e8;border-top:1px solid #ccc;font-weight:600}
body.dark-mode .classic-table .total-row td{background:#252528;border-top-color:rgba(255,255,255,.12)}
.text-right{text-align:right}

.classic-split{display:flex;flex-direction:column;align-items:center;padding:15px;gap:20px}
.chart-container-left{flex:none;width:240px;height:240px;position:relative;margin:0 auto}
.legend-container-right{flex:none;width:100%}
.classic-legend-table{width:100%;border-collapse:collapse;font-size:0.9rem;color:#333}
body.dark-mode .classic-legend-table{color:var(--text)}
.classic-legend-table td{padding:8px 0;border-bottom:1px solid #ebebeb}
.l-box{display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:middle;border-radius:2px}
.classic-grand-total{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#e8e8e8;border-top:1px solid #ccc;font-size:1.1rem;color:#333}
body.dark-mode .classic-grand-total{background:#252528;color:var(--text);border-top-color:rgba(255,255,255,.12)}
.winner-panel{margin-top:2.5rem;text-align:center;border-color:rgba(52,199,89,.32);background:linear-gradient(135deg, rgba(52,199,89,.16), rgba(0,113,227,.08))}
.winner-panel.option-2{border-color:rgba(0,113,227,.3)}
.winner-panel.tie{border-color:var(--border);background:var(--surface)}
.winner-kicker{display:inline-block;margin-bottom:.65rem;padding:.28rem .7rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.winner-panel h2{color:var(--accent);font-size:2rem;letter-spacing:-.02em}
.winner-panel.option-2 h2{color:var(--indigo)}
.winner-panel.tie h2{color:var(--text)}
.winner-panel p{margin-top:.55rem;color:var(--text-sec);font-weight:700}

.cost-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem}
.cost-summary-grid div{background:rgba(255,255,255,.72);border:1px solid rgba(0,0,0,.05);border-radius:10px;padding:.75rem}
body.dark-mode .cost-summary-grid div{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08)}
.cost-summary-grid span{display:block;color:#666;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}
body.dark-mode .cost-summary-grid span{color:var(--text-sec)}
.cost-summary-grid strong{font-size:.95rem;color:var(--text)}

.ai-insight-box{background:var(--bg);padding:1.5rem;border-radius:var(--rs);text-align:left;font-size:.95rem;line-height:1.6;color:var(--text-sec);border-left:4px solid var(--accent);position:relative}
.ai-insight-box::before{content:'AI INSIGHT';position:absolute;top:-10px;left:10px;background:var(--accent);color:#fff;font-size:.65rem;padding:2px 8px;border-radius:4px;font-weight:900}
.ai-insight-box.celebrating{background:linear-gradient(135deg, rgba(52,199,89,.18), rgba(0,113,227,.1));border-left-color:var(--accent);box-shadow:0 16px 36px rgba(52,199,89,.12)}
.ai-insight-box.celebrating strong:first-child{color:var(--accent);font-size:1.05rem}

/* ===== TABLES & VISUALS ===== */
.modern-visuals{margin-top:3rem;display:flex;flex-direction:column;gap:2.5rem}
.card-header-flex{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}
.segmented-control.mini .segment{padding:.4rem 1.2rem;font-size:.8rem}

.table-container{overflow-x:auto}
.modern-table{width:100%;border-collapse:collapse}
.modern-table th{text-align:left;padding:1.2rem;background:var(--bg);font-size:.8rem;text-transform:uppercase;font-weight:800;color:var(--text-tri)}
.modern-table td{padding:1.2rem;border-bottom:1px solid var(--border);font-size:1rem;font-weight:700}
.modern-table tr:hover{background:rgba(0, 113, 227, 0.03)}
.pct-badge{display:inline-block;padding:.28rem .55rem;border-radius:999px;background:rgba(52,199,89,.12);color:var(--accent);font-size:.78rem;font-weight:900}

/* ===== FAQ ===== */
.faq-section{margin-top:3rem;padding:3rem 0 0}
.faq-heading{text-align:center;margin-bottom:2rem}
.faq-heading h2{font-size:2rem;font-weight:900;letter-spacing:-0.02em}
.faq-heading p{margin-top:.6rem;color:var(--text-tri);font-size:1rem}
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.faq-grid details{background:var(--surface);border:1px solid var(--border);border-radius:var(--rs);padding:1.2rem 1.4rem;box-shadow:var(--shadow)}
.faq-grid summary{cursor:pointer;font-weight:900;color:var(--text);list-style:none}
.faq-grid summary::-webkit-details-marker{display:none}
.faq-grid summary::after{content:'+';float:right;color:var(--indigo);font-weight:900}
.faq-grid details[open] summary::after{content:'-'}
.faq-grid p{margin-top:.8rem;color:var(--text-sec);line-height:1.6;font-size:.95rem}

/* ===== CUSTOM MONTH/YEAR DATE PICKER ===== */
.month-picker-widget{display:flex;align-items:center;gap:4px;cursor:default;padding:.6rem 1rem}
.mp-month,.mp-year{font-family:'Outfit',sans-serif;font-size:1.1rem;font-weight:800;color:var(--text);background:transparent;border:none;outline:none;cursor:pointer;-webkit-appearance:none;appearance:none;padding:2px 18px 2px 2px;border-radius:6px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2386868b'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;background-size:8px;transition:background-color .2s}
.mp-month:hover,.mp-year:hover{background-color:rgba(0,113,227,.08);border-radius:6px}
.mp-month:focus,.mp-year:focus{background-color:rgba(0,113,227,.12);outline:2px solid rgba(0,113,227,.3);border-radius:6px}
.mp-sep{color:var(--text-tri);font-size:1rem;font-weight:700;user-select:none;margin:0 1px}
body.dark-mode .mp-month,body.dark-mode .mp-year{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2386868b'/%3E%3C/svg%3E")}

/* Print-header: hidden on screen, shown on print */
.print-header{display:none}

/* ===== SCHEDULE ACTIONS (below amortization table) ===== */
.schedule-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem;padding:1rem 0}

/* ===== REFINANCING CTA (inside AI Insight box) ===== */
.refi-cta{margin-top:1rem;padding:.85rem 1rem;background:rgba(0,113,227,.08);border-radius:var(--rs);border-left:3px solid var(--indigo);font-size:.9rem;line-height:1.5}
body.dark-mode .refi-cta{background:rgba(0,113,227,.15)}
.refi-btn{display:inline-block;margin-top:.5rem;padding:.42rem 1rem;border-radius:999px;background:var(--indigo);color:#fff;font-size:.8rem;font-weight:900;cursor:pointer;transition:all var(--t);border:none}
.refi-btn:hover{background:#005bb5;transform:translateY(-1px)}

/* ===== BANK RATES PAGE ===== */
.br-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}
.br-status{font-size:.85rem;font-weight:700;color:var(--text-sec)}
.br-refresh-btn{height:38px;padding:0 1.1rem;border-radius:999px;font-size:.83rem;font-weight:900;cursor:pointer;transition:all var(--t);background:var(--surface-solid);box-shadow:var(--shadow);border:1px solid var(--border)}
.br-refresh-btn:hover{transform:translateY(-1px)}
.br-refresh-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

.br-table{width:100%;border-collapse:collapse}
.br-table th{text-align:left;padding:.9rem 1rem;background:var(--bg);font-size:.75rem;text-transform:uppercase;font-weight:800;color:var(--text-tri);letter-spacing:.04em}
.br-table td{padding:.9rem 1rem;border-bottom:1px solid var(--border);font-size:.95rem;font-weight:600;vertical-align:middle}
.br-table tbody tr:hover{background:rgba(0,113,227,.025)}
.br-table tbody tr:last-child td{border-bottom:none}
.br-rate{font-size:1rem;font-weight:900;color:var(--indigo)}
.br-note{font-size:.82rem;font-weight:500;color:var(--text-sec);max-width:220px}
.br-link{color:var(--indigo);font-size:.82rem;font-weight:800;text-decoration:none;white-space:nowrap}
.br-link:hover{text-decoration:underline}
.br-footnote{margin-top:1.1rem;font-size:.78rem;color:var(--text-tri);font-weight:500;line-height:1.6}
.br-footnote a{color:var(--indigo);font-weight:700}

.br-disclaimer{margin-top:1.5rem;font-size:.85rem;line-height:1.6;color:var(--text-sec);border-left:4px solid var(--orange);background:rgba(255,149,0,.06);padding:1.2rem 1.5rem}
.br-disclaimer strong{color:var(--orange)}

/* ===== MISC ===== */
.toast{position:fixed;bottom:40px;right:40px;background:var(--text);color:var(--bg);padding:1rem 2.5rem;border-radius:30px;font-weight:800;box-shadow:var(--shadow-hover);transform:translateY(100px);opacity:0;transition:all 0.5s cubic-bezier(0.18, 0.89, 0.32, 1.28);z-index:2000}
.toast.show{transform:translateY(0);opacity:1}

@media(max-width:1100px){
  .modern-dashboard{grid-template-columns:1fr}
  .results-pro-card{position:static}
  .hero-premium h1{font-size:2.8rem}
}

@media(max-width:720px){
  .main-content{padding:0 1rem 4rem}
  .hero-premium{padding:3rem 0 2rem}
  .hero-premium h1{font-size:2.35rem}
  .hero-premium p{font-size:1rem}
  .loan-segmented-control,.segmented-control.mini{display:flex;width:100%;overflow-x:auto}
  .schedule-actions{flex-direction:column;align-items:stretch}
  .primary-tool-btn,.secondary-tool-btn{flex:1;min-width:150px;text-align:center}
  .br-table{font-size:.82rem}
  .br-note{max-width:140px}
  .br-toolbar{flex-direction:column;align-items:flex-start}
  .segment{padding:.65rem 1rem;white-space:nowrap}
  .input-tab-btn{font-size:.78rem;padding:1rem .75rem;gap:.35rem}
  .itb-badge{display:none}
  .input-tab-panel{padding:1.25rem 1.25rem 1.5rem}
  .glass-card{padding:1.25rem;border-radius:18px}
  .collapse-trigger{padding:1.25rem 1.4rem}
  .collapse-content{padding:0 1.4rem 1.4rem}
  .field-grid-pro{grid-template-columns:1fr;gap:1rem}
  .modern-dual-input{flex-direction:column}
  .classic-grand-total{gap:1rem}
  .card-header-flex{align-items:flex-start;flex-direction:column;gap:1rem}
  .modern-table th,.modern-table td{padding:.85rem;font-size:.85rem}
  .faq-grid{grid-template-columns:1fr}
  .cost-summary-grid{grid-template-columns:1fr}
}

/* ===== BEAUTIFUL PRINT STYLESHEET ===== */
@media print {
  @page { size: A4 landscape; margin: 1.4cm 1.6cm; }

  /* Hide everything */
  *,*::before,*::after { box-sizing: border-box; }
  body { background: #fff !important; color: #000 !important; font-family: 'Outfit', 'Segoe UI', Arial, sans-serif; }
  body * { visibility: hidden; }

  /* Reveal only the schedule card and its contents */
  .schedule-card, .schedule-card * { visibility: visible; }
  .schedule-card {
    position: absolute; left: 0; top: 0; width: 100%;
    border: none !important; box-shadow: none !important;
    background: #fff !important; padding: 0 !important;
    border-radius: 0 !important;
  }

  /* Show the print header */
  .print-header { display: block !important; margin-bottom: 18pt; padding-bottom: 14pt; border-bottom: 2.5pt solid #0071e3; }

  .ph-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8pt; }
  .ph-brand { font-size: 16pt; font-weight: 900; letter-spacing: -0.04em; color: #0071e3; }
  .ph-brand span { color: #1d1d1f; }
  .ph-date-printed { font-size: 8pt; color: #86868b; font-weight: 600; }

  .ph-title { font-size: 20pt; font-weight: 900; letter-spacing: -0.03em; color: #1d1d1f; margin-bottom: 10pt; }

  .ph-meta { display: flex; flex-wrap: wrap; gap: 6pt; }
  .ph-meta span {
    display: inline-block; padding: 3pt 9pt;
    background: #f0f7ff; color: #0071e3;
    border: 1pt solid #c9e0ff; border-radius: 20pt;
    font-size: 8pt; font-weight: 700;
  }
  .ph-meta span strong { color: #1d1d1f; margin-right: 2pt; }

  /* Hide the on-screen card header, toggle buttons, and action row */
  .schedule-card .card-header-flex { display: none !important; }
  .schedule-actions { display: none !important; }

  /* Table */
  .table-container { overflow: visible !important; }
  .modern-table { width: 100%; border-collapse: collapse; font-size: 8.5pt; }

  .modern-table thead tr { background: #0071e3 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .modern-table thead th {
    background: #0071e3 !important; color: #fff !important;
    padding: 7pt 9pt; text-align: left;
    font-size: 7.5pt; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em;
    border: none;
  }
  .modern-table thead th:first-child { border-radius: 4pt 0 0 4pt; }
  .modern-table thead th:last-child  { border-radius: 0 4pt 4pt 0; }

  .modern-table tbody td { padding: 5.5pt 9pt; border-bottom: 0.5pt solid #e5e7eb; font-weight: 600; color: #1d1d1f; }
  .modern-table tbody tr:nth-child(even) td { background: #f8faff !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .modern-table tbody tr:last-child td { background: #e8f0fe !important; font-weight: 800; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .modern-table tbody tr:last-child td:first-child { border-radius: 0 0 0 4pt; }
  .modern-table tbody tr:last-child td:last-child  { border-radius: 0 0 4pt 0; }

  /* Paid % badge */
  .pct-badge { background: none !important; color: #16a34a !important; font-weight: 800; padding: 0; }

  /* Page break hint — avoid splitting rows across pages */
  .modern-table tbody tr { page-break-inside: avoid; }
}

/* ── Ad Units ────────────────────────────────────────────── */
.ad-unit {
  width: 100%;
  max-width: 900px;
  margin: 1.5rem auto;
  min-height: 0;        /* collapses to nothing when empty (pre-activation) */
  overflow: hidden;
  text-align: center;
}
.ad-unit--wide {
  max-width: 100%;
  padding: 0 1rem;
}
/* Once an ad is injected the <ins> renders; give it breathing room */
.ad-unit ins {
  display: block;
  margin: 0 auto;
}
/* Thin separator line above ad slots so the transition looks intentional */
.ad-unit:not(:empty) {
  border-top: 1px solid var(--border);
  padding-top: 1rem;
}
@media print { .ad-unit { display: none !important; } }

/* ── Site Footer ─────────────────────────────────────────── */
.site-footer {
  margin-top: 3rem;
  border-top: 1px solid var(--border);
  background: var(--surface);
  padding: 2rem 1rem 1.5rem;
}
.footer-inner {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  text-align: center;
}
.footer-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .25rem;
}
.footer-brand-name {
  font-size: .95rem;
  font-weight: 700;
  color: var(--text-pri);
}
.footer-tagline {
  font-size: .75rem;
  color: var(--text-sec);
}
.footer-links {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  justify-content: center;
}
.footer-links a {
  font-size: .8rem;
  color: var(--text-sec);
  text-decoration: none;
  transition: color .15s;
}
.footer-links a:hover { color: var(--indigo); }
.footer-copy {
  font-size: .72rem;
  color: var(--text-tri);
  margin: 0;
}
@media(max-width:600px) {
  .site-footer { padding: 1.5rem .75rem 1.25rem; }
  .footer-links { gap: 1rem; }
}
