/* Public Pension Comparison (PPC) - Enhanced Wide-Width Layout */
.ppc-wrap{width:1100px !important;max-width:1100px !important;margin:0 auto !important;padding:20px !important;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#111827;box-sizing:border-box !important;display:block !important;background:#ffffff;border:2px solid #083141;border-radius:16px;box-shadow:0 4px 14px rgba(0,0,0,0.04)}
.ppc-wrap *{box-sizing:border-box}
.ppc-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;padding:20px;background:#ffffff;border:2px solid #083141;border-radius:16px;box-shadow:0 4px 14px rgba(0,0,0,0.04);width:100%;max-width:100%}
.ppc-titlewrap{flex:1}
.ppc-title{margin:0 0 0.5rem 0;font-size:1.8rem;line-height:1.2;font-weight:700;color:#083141}
.ppc-subtitle{margin:0;color:#64748b;font-size:0.95rem;line-height:1.5}
.ppc-card{background:#fafafa;border:1px solid #e5e7eb;border-radius:16px;padding:20px;margin:12px 0;box-shadow:0 2px 8px rgba(0,0,0,0.03)}
.ppc-card--results{background:#ffffff;border:2px solid #083141}
.ppc-grid{display:grid;gap:12px}
.ppc-grid-2{grid-template-columns:1fr 1fr}
@media (max-width:820px){.ppc-grid-2{grid-template-columns:1fr}}
.ppc-group-title{font-weight:800;margin:0 0 12px 0;font-size:1.2rem;color:#083141;padding-bottom:8px;border-bottom:2px solid #2563eb}
.ppc-field{display:flex;flex-direction:column;gap:6px}
.ppc-label{font-size:12px;color:#374151}
.ppc-input,.ppc-select{border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px;font-size:14px;background:#fff;color:#111827;transition:border-color 0.2s,box-shadow 0.2s;outline:none}
.ppc-input:focus,.ppc-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,0.1)}
.ppc-help{font-size:12px;color:#6b7280;margin-top:6px}
.ppc-inst{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;font-size:12px;color:#374151}
.ppc-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ppc-btn{appearance:none;border:1px solid #cbd5e1;border-radius:8px;padding:10px 16px;background:#fff;color:#111827;font-weight:600;cursor:pointer;font-size:14px;transition:all 0.2s;line-height:1}
.ppc-btn:hover:not(:disabled){background:#f3f4f6;border-color:#2563eb}
.ppc-btn:active:not(:disabled){transform:translateY(1px)}
.ppc-btn:disabled{opacity:0.5;cursor:not-allowed}
.ppc-btn--primary{border-color:#2563eb;background:#2563eb;color:#fff}
.ppc-btn--primary:hover:not(:disabled){background:#1e4fd6;border-color:#1e4fd6}
.ppc-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.ppc-badge{font-size:12px;border:1px solid #d1d5db;background:#fff;border-radius:999px;padding:6px 10px;color:#111827}
.ppc-badge strong{font-weight:800}
.ppc-table-wrap{overflow-x:hidden;border:1px solid #e5e7eb;border-radius:12px;background:#fff;margin-top:12px;box-shadow:0 1px 3px rgba(0,0,0,0.05)}
.ppc-table{width:100%;max-width:100%;border-collapse:collapse;min-width:0;table-layout:auto}
@media (max-width:1024px){
  .ppc-table-wrap{overflow-x:auto}
  .ppc-table{min-width:980px;table-layout:fixed}
}
.ppc-table th,.ppc-table td{padding:10px 10px;border-bottom:1px solid #eef2f7;font-size:13px;text-align:left;vertical-align:top;color:#111827;word-wrap:break-word}
.ppc-table th{background:#f9fafb;color:#374151;font-size:0.85rem;font-weight:700;text-transform:uppercase;letter-spacing:0.3px}
.ppc-table tbody tr:hover{background:#f9fafb}
.ppc-table td.num,.ppc-table th.num{text-align:right;white-space:nowrap}
.ppc-muted{color:#6b7280}

/* Summary/KPI Section */
.ppc-summary-section{display:flex;flex-direction:column;gap:20px}
.ppc-summary-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:900px){.ppc-summary-kpis{grid-template-columns:1fr}}
.ppc-kpi-item{background:#ffffff;border:2px solid #e5e7eb;border-radius:12px;padding:16px;text-align:center;transition:all 0.2s;box-shadow:0 2px 4px rgba(0,0,0,0.03)}
.ppc-kpi-item:hover{border-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 8px rgba(37,99,235,0.15)}
.ppc-kpi-label{font-size:0.85rem;color:#6b7280;font-weight:700;text-transform:uppercase;letter-spacing:0.3px;margin-bottom:8px}
.ppc-kpi-value{font-size:1.8rem;font-weight:900;color:#083141;line-height:1.2}
.ppc-kpi-item:first-child .ppc-kpi-value{color:#2563eb}
.ppc-info-box{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:2px solid #2563eb;border-left:4px solid #2563eb;border-radius:12px;padding:16px 20px}
.ppc-info-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.ppc-info-icon{font-size:1.3rem;line-height:1}
.ppc-info-title{font-size:1rem;font-weight:700;color:#083141}
.ppc-info-text{font-size:0.95rem;color:#374151;line-height:1.6;margin:0}
.ppc-chart{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,0.05)}
.ppc-chart-title{font-size:1.1rem;font-weight:700;color:#083141;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid #2563eb}
.ppc-bars{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.ppc-bar-row{display:grid;grid-template-columns:220px 1fr 120px;gap:12px;align-items:center;padding:8px 0}
.ppc-bar-row:hover{background:#f9fafb;border-radius:8px;padding-left:8px;padding-right:8px}
@media (max-width:720px){.ppc-bar-row{grid-template-columns:1fr}}
.ppc-bar-name{font-size:13px;color:#111827;font-weight:700}
.ppc-bar-track{height:20px;background:#e5e7eb;border-radius:999px;overflow:hidden;border:1px solid #cbd5e1;position:relative}
.ppc-bar-fill{height:100%;background:linear-gradient(90deg,#2563eb,#1e4fd6);width:0%;transition:width 0.5s ease;border-radius:999px;position:relative}
.ppc-bar-fill::after{content:'';position:absolute;top:0;left:0;bottom:0;right:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);animation:ppc-shimmer 2s infinite}
@keyframes ppc-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.ppc-bar-val{font-size:13px;color:#083141;text-align:right;font-weight:700}
.ppc-foot{font-size:12px;color:#6b7280;margin-top:10px}
.ppc-noscript{background:#fff7ed;border:1px solid #fdba74;color:#9a3412;border-radius:12px;padding:12px}
.ppc-small .ppc-input,.ppc-small .ppc-select{padding:6px 9px;font-size:13px}
.ppc-small .ppc-table th,.ppc-small .ppc-table td{padding:8px 9px;font-size:12px}
/* Stability indicators */
.ppc-stability{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}
.ppc-stability--stable{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}
.ppc-stability--moderate{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}
.ppc-stability--high{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}
.ppc-stability-icon{width:10px;height:10px;border-radius:50%;display:inline-block}
.ppc-stability--stable .ppc-stability-icon{background:#10b981}
.ppc-stability--moderate .ppc-stability-icon{background:#f59e0b}
.ppc-stability--high .ppc-stability-icon{background:#ef4444}

/* Expandable country panels */
.ppc-country-row:hover{background:#f9fafb}
.ppc-country-name{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.ppc-country-flag{font-size:1.3em;line-height:1;display:inline-block}
.ppc-details-toggle{background:#f0f9ff;border:1px solid #2563eb;color:#2563eb;font-size:11px;font-weight:600;cursor:pointer;padding:4px 10px;border-radius:6px;transition:all 0.2s;display:inline-block;margin-top:4px}
.ppc-details-toggle:hover{background:#2563eb;color:#ffffff;border-color:#1e4fd6;transform:translateY(-1px);box-shadow:0 2px 4px rgba(37,99,235,0.2)}
.ppc-country-details-row{background:#f9fafb}
.ppc-country-details-cell{padding:0 !important;border-top:none !important}
.ppc-country-details-content{background:#ffffff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin:8px 0;color:#374151;font-size:13px;line-height:1.6}
.ppc-country-details-content > div{margin-bottom:16px}
.ppc-country-details-content > div:last-child{margin-bottom:0}
.ppc-country-details-content h4{margin:0 0 8px 0;font-size:14px;font-weight:700;color:#083141;padding-bottom:6px;border-bottom:1px solid #e5e7eb}
.ppc-country-details-content p{margin:0;color:#374151;line-height:1.6}
.ppc-country-details-content ul{margin:8px 0;padding-left:20px}
.ppc-country-details-content li{margin:6px 0}

/* Toggle switches */
.ppc-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px 0}
.ppc-toggle input[type="checkbox"]{width:44px;height:24px;appearance:none;background:#cbd5e1;border-radius:12px;position:relative;cursor:pointer;transition:background 0.2s;outline:none}
.ppc-toggle input[type="checkbox"]:checked{background:#2563eb}
.ppc-toggle input[type="checkbox"]::before{content:'';position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform 0.2s;box-shadow:0 2px 4px rgba(0,0,0,0.2)}
.ppc-toggle input[type="checkbox"]:checked::before{transform:translateX(20px)}
.ppc-toggle-label{font-size:13px;color:#374151;font-weight:500;cursor:pointer}

/* Responsive */
@media (max-width:1160px){
  .ppc-wrap{width:calc(100% - 2rem) !important;max-width:calc(100% - 2rem) !important;margin-left:1rem !important;margin-right:1rem !important;padding:20px !important}
}
@media (max-width:820px){
  .ppc-header{flex-direction:column;gap:12px}
  .ppc-title{font-size:1.5rem}
  .ppc-grid-2{grid-template-columns:1fr}
  .ppc-kpi{grid-template-columns:1fr}
}
@media (max-width:640px){
  .ppc-bar-row{grid-template-columns:1fr;gap:8px}
  .ppc-bar-val{text-align:left}
}

/* Download section */
.ppc-card--download{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:2px solid #2563eb;margin-top:24px}
.ppc-download-section{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.ppc-download-content{display:flex;align-items:center;gap:16px;flex:1}
.ppc-download-icon{font-size:2.5rem;line-height:1}
.ppc-download-text{flex:1}
.ppc-download-title{font-size:1.1rem;font-weight:700;color:#083141;margin-bottom:4px}
.ppc-download-desc{font-size:0.9rem;color:#64748b;line-height:1.5}
.ppc-btn--download{padding:12px 24px;font-size:15px;display:flex;align-items:center;gap:8px;white-space:nowrap}
.ppc-btn--download span{display:flex;align-items:center;gap:6px}
@media (max-width:640px){
  .ppc-download-section{flex-direction:column;align-items:stretch}
  .ppc-download-content{flex-direction:column;text-align:center;align-items:center}
  .ppc-btn--download{width:100%;justify-content:center}
}

/* Data Sources Section */
.ppc-card--sources{background:#f9fafb;border:1px solid #e5e7eb;margin-top:16px}
.ppc-sources-details{background:transparent}
.ppc-sources-summary{list-style:none;cursor:pointer;padding:16px 20px;background:#ffffff;border:1px solid #e5e7eb;border-radius:12px;display:flex;align-items:center;gap:12px;font-weight:600;color:#083141;transition:all 0.2s;user-select:none}
.ppc-sources-summary:hover{background:#f3f4f6;border-color:#2563eb}
.ppc-sources-summary::-webkit-details-marker{display:none}
.ppc-sources-summary::before{content:"▶";display:inline-block;transition:transform 0.2s;font-size:12px;color:#2563eb;margin-right:4px}
.ppc-sources-details[open] .ppc-sources-summary::before{transform:rotate(90deg)}
.ppc-sources-icon{font-size:1.3rem;line-height:1}
.ppc-sources-title{font-size:1rem;font-weight:700}
.ppc-sources-content{padding:20px;color:#374151;font-size:13px;line-height:1.7}
.ppc-sources-intro{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}
.ppc-sources-intro p{margin:0;color:#374151}
.ppc-sources-list{margin-bottom:20px}
.ppc-sources-list h4{margin:0 0 12px 0;font-size:14px;font-weight:700;color:#083141}
.ppc-sources-list ul{margin:0;padding-left:20px;list-style:disc}
.ppc-sources-list li{margin:10px 0;color:#374151}
.ppc-sources-list li strong{color:#083141;font-weight:700}
.ppc-sources-note{background:#fff7ed;border:1px solid #fed7aa;border-left:4px solid #f59e0b;border-radius:8px;padding:14px;margin-top:16px}
.ppc-sources-note p{margin:0;color:#92400e;font-size:12px;line-height:1.6}
.ppc-sources-note strong{color:#78350f;font-weight:700}
