/* Zero-Income Gap-Year Calculator (UK) - Enhanced Wide-Width Layout */
.zigy{
  --border:#083141;
  --muted:#6b7280;
  --bg:#ffffff;
  --card:#fafafa;
  --line:#e5e7eb;
  --primary:#2563eb;
  --primaryHover:#1e4fd6;
  --success:#16a34a;
  --warning:#ea580c;
  --error:#dc2626;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
  color:#111827;
  -webkit-box-sizing:border-box !important;
  box-sizing:border-box !important;
  width:1100px !important;
  max-width:1100px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  margin-top:0;
  margin-bottom:3rem !important;
  padding:24px !important;
  display:block !important;
  background:#ffffff;
  border:2px solid #083141;
  -webkit-border-radius:20px;
  border-radius:20px;
  -webkit-box-shadow:0 4px 20px rgba(0,0,0,0.08);
  box-shadow:0 4px 20px rgba(0,0,0,0.08);
  -webkit-text-size-adjust:100%;
  -moz-text-size-adjust:100%;
  text-size-adjust:100%;
}
.zigy *{
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}

.zigy-header{display:-webkit-box;display:-ms-flexbox;display:flex;gap:16px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 0 24px;padding:0}
.zigy-title{margin:0 0 0.5rem 0;font-size:1.8rem;line-height:1.2;font-weight:800;color:#083141}
.zigy-subtitle{margin:0;color:var(--muted);font-size:0.95rem;line-height:1.5;max-width:70ch}

.zigy-actions{display:-webkit-box;display:-ms-flexbox;display:flex;gap:10px;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}

.zigy-btn{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  border:1px solid #cbd5e1;
  background:#fff;
  color:#111827;
  padding:10px 16px;
  min-height:44px;
  min-width:44px;
  -webkit-border-radius:8px;
  border-radius:8px;
  font-weight:600;
  cursor:pointer;
  line-height:1;
  font-size:14px;
  -webkit-tap-highlight-color:transparent;
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  user-select:none;
  -webkit-transition:all 0.2s ease;
  transition:all 0.2s ease;
  touch-action:manipulation;
}
.zigy-btn:hover:not(:disabled){background:#f3f4f6;border-color:var(--primary);color:#111827}
.zigy-btn:active:not(:disabled){
  -webkit-transform:translateY(1px);
  -ms-transform:translateY(1px);
  transform:translateY(1px);
  color:#111827;
}
.zigy-btn:focus{outline:none;border-color:var(--primary);-webkit-box-shadow:0 0 0 3px rgba(37,99,235,0.1);box-shadow:0 0 0 3px rgba(37,99,235,0.1)}
.zigy-btn:disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}

.zigy-btn--primary{background:var(--primary);border-color:var(--primary);color:#fff}
.zigy-btn--primary:hover:not(:disabled){background:var(--primaryHover);border-color:var(--primaryHover);color:#fff}
.zigy-btn--primary:active{color:#fff}

.zigy-inst{background:#f0f9ff;border:1px solid #bae6fd;border-left:4px solid var(--primary);border-radius:12px;padding:12px 16px;font-size:0.9rem;color:#1e40af;margin:0 0 24px;line-height:1.6}
.zigy-inst strong{color:#083141;font-weight:700}

.zigy-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,0.03)}
.zigy-card--results{background:#ffffff;border:2px solid #083141;margin-top:24px}
.zigy-card h3{margin:0 0 8px 0;font-size:1.25rem;font-weight:800;color:#083141;padding-bottom:10px;border-bottom:3px solid var(--primary);line-height:1.3}
.zigy-section-desc{color:var(--muted);font-size:0.9rem;margin-bottom:16px;line-height:1.6;font-style:italic}

.zigy-grid{display:-ms-grid;display:grid;grid-template-columns:1fr;-ms-grid-columns:1fr;gap:12px}
.zigy-grid.zigy-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));-ms-grid-columns:1fr 1fr}
@media (max-width:780px){.zigy-grid.zigy-grid-2{grid-template-columns:1fr;-ms-grid-columns:1fr}}

.zigy-field{margin-bottom:12px}
.zigy-field label{display:block;font-weight:600;font-size:0.85rem;color:#374151;margin:0 0 6px}
.zigy-field .zigy-help{font-size:0.82rem;color:var(--muted);margin-top:4px;line-height:1.5}
.zigy-input, .zigy-select{
  width:100%;
  border:1px solid #cbd5e1;
  -webkit-border-radius:8px;
  border-radius:8px;
  padding:10px 12px;
  min-height:44px;
  font-size:16px;
  background:#fff;
  color:#111827;
  -webkit-transition:border-color 0.2s ease,box-shadow 0.2s ease;
  transition:border-color 0.2s ease,box-shadow 0.2s ease;
  outline:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  -webkit-tap-highlight-color:rgba(37,99,235,0.1);
}
.zigy-input:focus, .zigy-select:focus{
  outline:none;
  border-color:var(--primary);
  -webkit-box-shadow:0 0 0 3px rgba(37,99,235,0.1);
  box-shadow:0 0 0 3px rgba(37,99,235,0.1);
}
/* Prevent iOS zoom on input focus */
@media screen and (max-width:768px){
  .zigy-input,.zigy-select{font-size:16px !important}
}

.zigy-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.zigy-row > *{flex:1 1 220px}

.zigy-kpis{display:-ms-grid;display:grid;grid-template-columns:1fr;-ms-grid-columns:1fr;gap:12px;margin:20px 0}
@media (min-width:900px){.zigy-kpis{grid-template-columns:repeat(2,1fr);-ms-grid-columns:1fr 1fr}}
@media (min-width:1200px){.zigy-kpis{grid-template-columns:repeat(4,1fr);-ms-grid-columns:repeat(4,1fr)}}

.zigy-kpi{
  background:#fff;
  border:2px solid var(--line);
  -webkit-border-radius:12px;
  border-radius:12px;
  padding:16px;
  -webkit-box-shadow:0 2px 4px rgba(0,0,0,0.05);
  box-shadow:0 2px 4px rgba(0,0,0,0.05);
  -webkit-transition:-webkit-transform 0.2s ease,box-shadow 0.2s ease;
  transition:transform 0.2s ease,box-shadow 0.2s ease;
}
.zigy-kpi:hover{
  -webkit-transform:translateY(-2px);
  -ms-transform:translateY(-2px);
  transform:translateY(-2px);
  -webkit-box-shadow:0 4px 8px rgba(0,0,0,0.1);
  box-shadow:0 4px 8px rgba(0,0,0,0.1);
}
.zigy-kpi--highlight{
  border-color:var(--primary);
  background:#f0f7ff;
  background:-webkit-linear-gradient(135deg,rgba(37,99,235,0.05) 0%,rgba(37,99,235,0.02) 100%);
  background:-moz-linear-gradient(135deg,rgba(37,99,235,0.05) 0%,rgba(37,99,235,0.02) 100%);
  background:linear-gradient(135deg,rgba(37,99,235,0.05) 0%,rgba(37,99,235,0.02) 100%);
}
.zigy-kpi .zigy-kpi-title{color:var(--muted);font-size:0.85rem;font-weight:700;text-transform:uppercase;letter-spacing:0.3px;margin-bottom:8px}
.zigy-kpi .zigy-kpi-label{font-size:0.85rem;color:var(--muted);margin-bottom:6px;font-weight:700}
.zigy-kpi .zigy-kpi-value{font-size:1.8rem;font-weight:900;margin-top:4px;color:#083141;line-height:1.2}
.zigy-kpi--highlight .zigy-kpi-value{color:var(--primary)}
.zigy-kpi .zigy-kpi-sub{font-size:0.8rem;color:var(--muted);margin-top:6px;line-height:1.4}

.zigy-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
.zigy-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-weight:600;font-size:0.85rem;border:1px solid var(--line);background:#fff}
.zigy-badge--good,.zigy-badge.zigy-ok{border-color:#bbf7d0;background:#f0fdf4;color:#166534}
.zigy-badge--warn,.zigy-badge.zigy-warn{border-color:#fed7aa;background:#fff7ed;color:#9a3412}
.zigy-badge--bad,.zigy-badge.zigy-bad{border-color:#fecaca;background:#fef2f2;color:#991b1b}
.zigy-badge--neutral{border-color:#cbd5e1;background:#f9fafb;color:#475569}

.zigy-tablewrap{
  overflow:auto;
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--line);
  -webkit-border-radius:12px;
  border-radius:12px;
  background:#fff;
  -webkit-box-shadow:0 1px 3px rgba(0,0,0,0.05);
  box-shadow:0 1px 3px rgba(0,0,0,0.05);
}
.zigy-table{width:100%;border-collapse:collapse;min-width:720px;background:#fff}
.zigy-table th{background:#EBF2F4;color:#374151;text-align:left;font-size:0.85rem;padding:12px 14px;border-bottom:1px solid var(--line);font-weight:700;text-transform:uppercase;letter-spacing:0.3px}
.zigy-table td{padding:12px 14px;border-bottom:1px solid #eef2f7;font-size:13px;color:#111827;vertical-align:top}
.zigy-table tr:last-child td{border-bottom:none}
.zigy-table td.num, .zigy-table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.zigy-table tbody tr:hover{background:#f9fafb}
.zigy-table tbody tr.zigy-tr-gap{background:#fef3c7;border-left:3px solid #f59e0b}
.zigy-table td.zigy-neg{color:var(--error);font-weight:600}
.zigy-table td.zigy-pos{color:var(--success);font-weight:600}

.zigy-note{font-size:0.9rem;color:#374151;margin-top:10px;line-height:1.5}
.zigy-surplus{background:#f0fdf4;border-left:4px solid #16a34a;padding:10px 12px;border-radius:8px;font-weight:600;color:#166534;margin-top:6px}

.zigy-footnote{margin-top:24px;color:var(--muted);font-size:0.9rem;line-height:1.6;padding-top:20px;border-top:2px solid var(--line)}

/* Range input styling */
.zigy-range-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px}
.zigy-range{
  -webkit-box-flex:1;
  -ms-flex:1;
  flex:1;
  height:6px;
  -webkit-border-radius:3px;
  border-radius:3px;
  background:#e5e7eb;
  outline:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  cursor:pointer;
  min-height:44px;
}
.zigy-range::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:18px;
  height:18px;
  -webkit-border-radius:50%;
  border-radius:50%;
  background:var(--primary);
  cursor:pointer;
  -webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);
  box-shadow:0 2px 4px rgba(0,0,0,0.2);
  -webkit-tap-highlight-color:transparent;
}
.zigy-range::-moz-range-thumb{
  width:18px;
  height:18px;
  -webkit-border-radius:50%;
  border-radius:50%;
  background:var(--primary);
  cursor:pointer;
  border:none;
  -moz-box-shadow:0 2px 4px rgba(0,0,0,0.2);
  box-shadow:0 2px 4px rgba(0,0,0,0.2);
}
.zigy-range::-ms-thumb{
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--primary);
  cursor:pointer;
  border:none;
  box-shadow:0 2px 4px rgba(0,0,0,0.2);
}
.zigy-range::-ms-track{
  background:#e5e7eb;
  height:6px;
  border-radius:3px;
}
.zigy-score{min-width:30px;text-align:center;font-weight:700;font-size:1rem;color:#083141}

/* Life value index */
.zigy-life{
  margin-top:20px;
  padding:16px;
  background:#f0f7ff;
  background:-webkit-linear-gradient(135deg,rgba(37,99,235,0.08) 0%,rgba(37,99,235,0.03) 100%);
  background:-moz-linear-gradient(135deg,rgba(37,99,235,0.08) 0%,rgba(37,99,235,0.03) 100%);
  background:linear-gradient(135deg,rgba(37,99,235,0.08) 0%,rgba(37,99,235,0.03) 100%);
  border:2px solid var(--primary);
  -webkit-border-radius:12px;
  border-radius:12px;
  text-align:center;
}
.zigy-life-title{font-size:0.9rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:0.3px;margin-bottom:8px}
.zigy-life-value{font-size:2.5rem;font-weight:900;color:var(--primary);line-height:1.2}
.zigy-life-sub{font-size:1.5rem;color:var(--muted)}
.zigy-life-help{font-size:0.85rem;color:var(--muted);margin-top:10px;line-height:1.5}
.zigy-life-note{margin-top:16px;padding:14px;background:#f0f9ff;border-left:4px solid var(--primary);border-radius:8px;font-size:0.9rem;line-height:1.6;color:#1e40af}
.zigy-life-note strong{color:#083141;font-weight:700}

/* Benefits explainer */
.zigy-benefits-explainer{
  background:#f0f9ff;
  border-left:4px solid var(--primary);
  border-radius:8px;
  padding:12px 14px;
  margin-bottom:16px;
  font-size:0.9rem;
  line-height:1.6;
  color:#1e40af;
}
.zigy-benefits-explainer strong{color:#083141;font-weight:700}

/* Benefits results section */
.zigy-card--benefits{
  border:2px solid var(--primary);
  background:linear-gradient(135deg,#f0f7ff 0%,#ffffff 100%);
}
.zigy-benefits-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:16px;
  margin-bottom:24px;
}
.zigy-benefit-item{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:16px;
  text-align:center;
  transition:transform 0.2s,box-shadow 0.2s;
}
.zigy-benefit-item:hover{
  transform:translateY(-2px);
  box-shadow:0 4px 8px rgba(0,0,0,0.1);
}
.zigy-benefit-icon{
  font-size:2.5rem;
  margin-bottom:8px;
}
.zigy-benefit-title{
  font-size:1rem;
  font-weight:700;
  color:#083141;
  margin-bottom:8px;
}
.zigy-benefit-score{
  font-size:0.85rem;
  color:var(--primary);
  font-weight:600;
  margin-bottom:10px;
}
.zigy-benefit-desc{
  font-size:0.85rem;
  color:var(--muted);
  line-height:1.5;
}

.zigy-life-results{
  margin-top:24px;
  padding:20px;
  background:linear-gradient(135deg,rgba(37,99,235,0.1) 0%,rgba(37,99,235,0.05) 100%);
  border:2px solid var(--primary);
  border-radius:16px;
  text-align:center;
}
.zigy-life-results-header{
  margin-bottom:16px;
}
.zigy-life-results-title{
  font-size:0.95rem;
  font-weight:700;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:0.5px;
  margin-bottom:8px;
}
.zigy-life-results-value{
  font-size:3rem;
  font-weight:900;
  color:var(--primary);
  line-height:1.2;
}
.zigy-life-results-sub{
  font-size:1.8rem;
  color:var(--muted);
}
.zigy-life-results-insight{
  font-size:1.05rem;
  font-weight:600;
  color:#083141;
  line-height:1.6;
  margin-bottom:12px;
  padding:12px;
  background:#fff;
  border-radius:8px;
}
.zigy-life-results-note{
  font-size:0.9rem;
  color:var(--muted);
  line-height:1.5;
}

.zigy-retirement-note{margin:16px 0;padding:16px;background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%);border:2px solid #16a34a;border-radius:12px;font-size:0.95rem;line-height:1.7;color:#166534}
.zigy-retirement-note strong{color:#083141;font-weight:800}

.zigy-card--csv{border:2px dashed var(--primary);background:linear-gradient(135deg,#f0f7ff 0%,#e0efff 100%);text-align:center;margin-top:32px}
.zigy-card--csv h3{margin-bottom:12px}
.zigy-csv-desc{color:var(--muted);font-size:0.9rem;margin-bottom:20px;line-height:1.6}
.zigy-btn--csv{padding:14px 32px;font-size:16px;font-weight:700;min-height:52px;box-shadow:0 4px 12px rgba(37,99,235,0.25)}
.zigy-btn--csv:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(37,99,235,0.35)}

/* Lists */
.zigy-ul{list-style:none;padding:0;margin:0}
.zigy-ul li{padding:10px 0;border-bottom:1px solid #f1f5f9;line-height:1.6;color:#374151}
.zigy-ul li:last-child{border-bottom:none}
.zigy-ul li:before{content:'→';color:var(--primary);font-weight:700;margin-right:10px}

/* Charts */
.zigy-charts{display:-ms-grid;display:grid;grid-template-columns:1fr;-ms-grid-columns:1fr;gap:24px;margin:24px 0}
.zigy-chart-container{border:1px solid var(--line);border-radius:12px;padding:20px;background:#ffffff;box-shadow:0 2px 4px rgba(0,0,0,0.05)}
.zigy-chart-title{font-size:1.1rem;font-weight:700;color:#083141;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--primary)}
.zigy-chart{width:100%;height:400px;position:relative;display:block}
.zigy-chart canvas{width:100% !important;height:400px !important;display:block}

/* Comparison metrics */
.zigy-comparison-grid{display:-ms-grid;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));-ms-grid-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:16px 0}
.zigy-comparison-card{
  border:2px solid var(--line);
  -webkit-border-radius:12px;
  border-radius:12px;
  padding:14px;
  background:#ffffff;
  text-align:center;
  -webkit-transition:all 0.2s ease;
  transition:all 0.2s ease;
}
.zigy-comparison-card:hover{
  -webkit-transform:translateY(-2px);
  -ms-transform:translateY(-2px);
  transform:translateY(-2px);
  -webkit-box-shadow:0 4px 8px rgba(0,0,0,0.1);
  box-shadow:0 4px 8px rgba(0,0,0,0.1);
}
.zigy-comparison-card--highlight{
  border-color:var(--primary);
  background:#f0f7ff;
  background:-webkit-linear-gradient(135deg,rgba(37,99,235,0.05) 0%,rgba(37,99,235,0.02) 100%);
  background:-moz-linear-gradient(135deg,rgba(37,99,235,0.05) 0%,rgba(37,99,235,0.02) 100%);
  background:linear-gradient(135deg,rgba(37,99,235,0.05) 0%,rgba(37,99,235,0.02) 100%);
  -webkit-box-shadow:0 4px 8px rgba(37,99,235,0.15);
  box-shadow:0 4px 8px rgba(37,99,235,0.15);
}
.zigy-comparison-label{font-size:0.85rem;color:var(--muted);font-weight:700;margin-bottom:8px;text-transform:uppercase;letter-spacing:0.3px}
.zigy-comparison-value{font-size:1.5rem;font-weight:900;color:#083141;margin-bottom:4px}
.zigy-comparison-card--highlight .zigy-comparison-value{color:var(--primary)}
.zigy-comparison-desc{font-size:0.8rem;color:var(--muted);line-height:1.4;margin-top:6px}

/* Responsive - Desktop to Tablet */
@media (max-width:1160px){
  .zigy{
    width:calc(100% - 2rem) !important;
    max-width:calc(100% - 2rem) !important;
    margin-left:1rem !important;
    margin-right:1rem !important;
    padding:20px !important;
  }
}

/* Landscape orientation fixes */
@media screen and (max-width:1024px) and (orientation:landscape){
  .zigy-chart{height:300px}
}

/* Tablet Landscape (1024px and below) */
@media (max-width:1024px){
  .zigy-charts{grid-template-columns:1fr}
  .zigy-comparison-grid{grid-template-columns:repeat(2,1fr)}
  .zigy-chart-container{padding:16px}
  .zigy-chart{height:350px}
}

/* Tablet Portrait (768px and below) */
@media (max-width:768px){
  .zigy{padding:18px !important}
  .zigy-header{
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    gap:12px;
  }
  .zigy-card{padding:18px}
  .zigy-card h3{font-size:1.15rem}
  .zigy-kpis{grid-template-columns:repeat(2,1fr)}
  .zigy-comparison-grid{grid-template-columns:repeat(2,1fr)}
  .zigy-benefits-grid{grid-template-columns:repeat(2,1fr)}
  .zigy-title{font-size:1.6rem}
  .zigy-chart{height:320px}
  .zigy-chart canvas{height:320px !important}
  .zigy-chart-container{padding:14px}
  .zigy-chart-title{font-size:1rem}
  .zigy-kpi .zigy-kpi-value{font-size:1.6rem}
  /* Better touch targets on mobile */
  .zigy-btn{min-height:44px;padding:12px 18px}
}

/* Mobile Landscape (640px and below) */
@media (max-width:640px){
  .zigy{padding:16px !important}
  .zigy-title{font-size:1.4rem}
  .zigy-subtitle{font-size:0.9rem}
  .zigy-card{padding:16px}
  .zigy-card h3{font-size:1.1rem}
  .zigy-section-desc{font-size:0.85rem}
  .zigy-kpis{grid-template-columns:1fr}
  .zigy-kpi .zigy-kpi-value{font-size:1.5rem}
  .zigy-comparison-grid{grid-template-columns:1fr}
  .zigy-benefits-grid{grid-template-columns:1fr}
  .zigy-comparison-value{font-size:1.3rem}
  .zigy-life-results-value{font-size:2.5rem}
  .zigy-life-results-sub{font-size:1.5rem}
  .zigy-chart{height:280px}
  .zigy-chart canvas{height:280px !important}
  .zigy-chart-container{padding:12px}
  .zigy-chart-title{font-size:0.95rem}
  .zigy-table{min-width:600px;font-size:11px}
  .zigy-table th,.zigy-table td{padding:8px 10px}
  /* Ensure buttons are touch-friendly */
  .zigy-btn{min-height:44px;padding:12px 16px;font-size:15px}
}

/* Mobile Portrait (480px and below) */
@media (max-width:480px){
  .zigy{padding:12px !important}
  .zigy-title{font-size:1.3rem;line-height:1.3}
  .zigy-subtitle{font-size:0.85rem}
  .zigy-card{padding:14px}
  .zigy-card h3{font-size:1rem}
  .zigy-section-desc{font-size:0.8rem}
  .zigy-kpi{padding:14px}
  .zigy-kpi .zigy-kpi-value{font-size:1.4rem}
  .zigy-kpi .zigy-kpi-label{font-size:0.8rem}
  .zigy-kpi .zigy-kpi-sub{font-size:0.75rem}
  .zigy-benefit-item{padding:12px}
  .zigy-benefit-icon{font-size:2rem}
  .zigy-life-results-value{font-size:2rem}
  .zigy-life-results-sub{font-size:1.2rem}
  .zigy-life-results-insight{font-size:0.95rem}
  .zigy-chart{height:250px}
  .zigy-chart canvas{height:250px !important}
  .zigy-chart-container{padding:10px}
  .zigy-chart-title{font-size:0.9rem;margin-bottom:12px}
  .zigy-comparison-card{padding:12px}
  .zigy-comparison-value{font-size:1.2rem}
  .zigy-comparison-label{font-size:0.8rem}
  .zigy-comparison-desc{font-size:0.75rem}
  .zigy-badge{font-size:12px;padding:5px 10px}
  .zigy-footnote{font-size:11px}
  .zigy-table{min-width:550px;font-size:10px}
  .zigy-table th,.zigy-table td{padding:6px 8px}
  /* Mobile-specific button sizing */
  .zigy-btn{min-height:44px;padding:12px 14px;font-size:14px}
  .zigy-actions{width:100%}
  .zigy-actions .zigy-btn{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0}
}

/* Small Mobile (360px and below) */
@media (max-width:360px){
  .zigy{padding:10px !important}
  .zigy-title{font-size:1.2rem}
  .zigy-card{padding:12px}
  .zigy-kpi .zigy-kpi-value{font-size:1.3rem}
  .zigy-chart{height:220px}
  .zigy-chart canvas{height:220px !important}
  .zigy-comparison-value{font-size:1.1rem}
  .zigy-btn{font-size:13px;padding:10px 12px}
}

/* Print */
@media print{
  .zigy{max-width:none;width:100%;border:none;box-shadow:none;padding:0 !important}
  .zigy-actions,.zigy-inst{display:none !important}
  .zigy-card{break-inside:avoid;margin-bottom:16px}
  .zigy-tablewrap{break-inside:avoid}
  .zigy-chart{height:300px}
  @page{size:A4;margin:12mm}
}
