.lf-app .lf-explore { margin: 28px 0; padding: 26px; border: 1px solid #d8dfd8; border-radius: 12px; background: #f6f7f0; color:#243c36; }
.lf-app .lf-ex-heading h3 {font-size:27px;margin:7px 0 22px;}
.lf-app .lf-ex-tabs {display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;}
.lf-app .lf-ex-tabs button {flex:1 1 150px;}
.lf-app .lf-explore button {padding:11px 15px;border:1px solid #c6d3cb;border-radius:7px;background:#fff;color:#294f44;font:inherit;font-weight:600;cursor:pointer;line-height:1.4;}
.lf-app .lf-explore button:hover {background:#e3eee6;}
.lf-app .lf-explore button.is-active {background:#285f50;color:#fff;border-color:#285f50;}
.lf-app .lf-explore :is(button,input,select,path,circle):focus-visible {outline:3px solid #b57a19;outline-offset:3px;}
.lf-app .lf-explore h4 {font-size:19px;margin:5px 0 13px;}
.lf-app .lf-question-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px;}
.lf-app button.lf-question-card {display:flex;flex-direction:column;gap:12px;align-items:stretch;text-align:left;padding:22px;}
.lf-app .lf-question-card b {font-size:19px;}
.lf-app .lf-question-card>span {font-weight:400;font-size:16px;}
.lf-app .lf-question-card small {font-size:13px;margin-top:auto;color:#486c5f;display:flex;justify-content:space-between;}
.lf-app .lf-ex-fields {display:flex;flex-wrap:wrap;gap:16px;margin-bottom:18px;}
.lf-app .lf-ex-fields label {display:grid;flex:1 1 180px;min-width:0;gap:7px;font-size:15px;font-weight:600;}
.lf-app .lf-explore select,.lf-app .lf-explore input[type=search] {width:100%;max-width:100%;border:1px solid #a9bbae;border-radius:6px;padding:10px 12px;font:inherit;background:#fff;color:#213c33;min-height:44px;}
.lf-app .lf-ex-factor-picker {position:relative;align-content:start;}
.lf-app .lf-ex-factor-picker:focus-within {z-index:12;}
.lf-app .lf-ex-factor-picker [hidden] {display:none!important;}
.lf-app .lf-ex-factor-picker input[type=search] {font-size:16px;font-weight:400;min-width:0;}
.lf-app .lf-ex-factor-options {position:absolute;top:100%;left:0;right:0;z-index:11;margin-top:4px;max-height:min(320px,45vh);overflow-y:auto;overscroll-behavior:contain;border:1px solid #a9bbae;border-radius:6px;background:#fff;color:#213c33;box-shadow:0 8px 24px #17342f26;font-size:16px;font-weight:400;line-height:1.4;text-align:left;}
.lf-app .lf-ex-factor-options [role=option] {padding:12px;min-height:44px;cursor:pointer;white-space:normal;overflow-wrap:anywhere;border-bottom:1px solid #edf1ed;}
.lf-app .lf-ex-factor-options [role=option][aria-selected=true] {font-weight:700;}
.lf-app .lf-ex-factor-options [role=option]:hover,.lf-app .lf-ex-factor-options .is-highlighted {background:#e3eee6;color:#17342f;}
.lf-app .lf-ex-factor-empty {padding:14px;font-weight:400;}
.lf-app .lf-ex-checks {display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px;}
.lf-app .lf-ex-checks label {display:flex;align-items:center;gap:7px;}
.lf-app .lf-ex-checks input {appearance:auto;width:18px;height:18px;}
.lf-app .lf-map-svg,.lf-app .lf-scatter-svg,.lf-app .lf-pyramid-svg {display:block;width:100%;height:auto;max-height:none;margin:18px 0;overflow:visible;}
.lf-app .lf-map-svg {background:#edf3f1;border-radius:8px;}
.lf-app .lf-map-svg path {stroke:#fff;stroke-width:.5;vector-effect:non-scaling-stroke;}
.lf-app .lf-map-svg path[data-chart-country] {cursor:pointer;}
.lf-app .lf-map-svg path[data-chart-country]:hover {stroke:#b57a19;stroke-width:2;}
.lf-app .lf-map-svg path.is-selected {stroke:#b57a19;stroke-width:2;}
.lf-app .lf-map-legend {display:flex;gap:12px;flex-wrap:wrap;font-size:13px;}
.lf-app .lf-map-legend span {display:flex;align-items:center;gap:6px;}
.lf-app .lf-map-legend i {width:20px;height:12px;border:1px solid #a7b6ab;display:inline-block;}
.lf-app .lf-map-legend-detailed {display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px 18px;}
.lf-app .lf-map-legend-detailed i {flex-shrink:0;}
.lf-app .lf-ex-hint,.lf-app .lf-ex-credit {font-size:14px;line-height:1.6;color:#50635c;margin:16px 0;}
.lf-app .lf-ex-country {padding:18px;background:#fff;border:1px solid #d3ded5;border-radius:8px;margin:18px 0;}
.lf-app .lf-ex-country p {margin:8px 0;}
.lf-app .lf-ex-country small {display:block;color:#56665f;font-size:13px;}
.lf-app .lf-ex-actions {display:flex;gap:10px;flex-wrap:wrap;margin-top:15px;}
.lf-app .lf-ex-table {padding:14px 0;border-top:1px solid #cdd9ce;}
.lf-app .lf-ex-table summary {cursor:pointer;font-weight:600;font-size:16px;}
.lf-app .lf-ex-table label {display:block;margin:15px 0;font-size:14px;}
.lf-app .lf-ex-table table {width:100%;border-collapse:collapse;margin-top:14px;font-size:14px;}
.lf-app .lf-ex-table th,.lf-app .lf-ex-table td {padding:10px;text-align:left;border-bottom:1px solid #d6dfd4;}
.lf-app .lf-ex-table-scroll {max-height:440px;overflow:auto;}
.lf-app .lf-ex-table tr[hidden] {display:none!important;}
.lf-app .lf-explore svg text {fill:#40574c;font:14px system-ui,sans-serif;}
.lf-app .lf-axis path {stroke:#d6dfd4;stroke-width:1;fill:none;}
.lf-app .lf-axis-line {stroke:#789584;fill:none;stroke-width:1.5;}
.lf-app .lf-scatter-dot {fill:#408b79;fill-opacity:.72;stroke:#fff;stroke-width:1;cursor:pointer;}
.lf-app .lf-scatter-dot.is-selected {fill:#c58b25;fill-opacity:1;stroke:#604922;stroke-width:2;}
.lf-app .lf-scatter-dot:hover {fill:#233f34;fill-opacity:1;}
.lf-app .lf-pyramids {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:24px;margin:22px 0;}
.lf-app .lf-pyramids article {padding:18px;background:#fff;border:1px solid #d4dfd6;border-radius:8px;min-width:0;}
.lf-app .lf-pyramids article header {position:static!important;display:block!important;background:transparent!important;padding:0!important;min-height:0!important;box-shadow:none!important;}
.lf-app .lf-pyramids article header {width:auto!important;height:auto!important;margin:0!important;transform:none!important;}
.lf-app .lf-pyramids article header p {font-size:14px;color:#596d62;margin:0 0 10px;}
.lf-app .lf-pyramid-solo {grid-template-columns:minmax(0,640px);justify-content:center;}
.lf-app .lf-pyramid-legend {display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;font-size:15px;}
.lf-app .lf-pyramid-legend span {display:flex;align-items:center;gap:7px;}
.lf-app .lf-pyramid-legend i {width:14px;height:14px;border-radius:3px;}
.lf-app .lf-pyramid-total {font-size:16px;font-weight:600;color:#285f50;}
.lf-app .lf-pyramid-svg text {font-size:16px;}
.lf-app .lf-pyramid-svg .lf-pyramid-age {font-size:15px;font-weight:600;}
.lf-app .lf-pyramid-axis path {stroke:#d7e2da;stroke-width:1;fill:none;}
.lf-app .lf-pyramid-svg rect {cursor:pointer;}
.lf-app .lf-pyramid-svg rect:hover,.lf-app .lf-pyramid-svg rect:focus {stroke:#203d32;stroke-width:2;outline:none;fill-opacity:.8;}
.lf-app .lf-pyramid-readout {font-size:15px;min-height:52px;line-height:1.5;padding:10px;background:#eff4ee;border-radius:6px;margin:12px 0;}
.lf-app .lf-pyramid-summary {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0;}
.lf-app .lf-pyramid-summary div {display:grid;gap:7px;text-align:center;padding:9px 3px;}
.lf-app .lf-pyramid-summary span {font-size:13px;}
.lf-app .lf-pyramid-summary b {font-size:20px;}
.lf-app .lf-pyramid-timeline {display:flex;gap:16px;align-items:center;margin:0 0 22px;}
.lf-app .lf-pyramid-timeline label {flex:1;display:grid;gap:10px;font-size:14px;}
.lf-app .lf-pyramid-timeline input {width:100%;accent-color:#347c63;appearance:auto;}
.lf-app .lf-pyramid-timeline button:disabled {opacity:.4;cursor:default;}
.lf-app .lf-pyramid-missing {min-height:140px;display:grid;place-content:center;color:#596d62;}
.lf-app .lf-pyramids .lf-ex-table table {font-size:16px;}
.lf-app .lf-question-active {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin:16px 0;padding:16px;background:#edf4ed;}
.lf-app .lf-question-active button {font:inherit;cursor:pointer;padding:10px 14px;border:1px solid #8ba999;background:#fff;border-radius:6px;color:#2a594b;}
@media(max-width:680px){.lf-app .lf-explore{padding:16px}.lf-app .lf-question-grid{grid-template-columns:1fr}.lf-app .lf-explore svg text{font-size:16px}.lf-app .lf-ex-fields label{flex-basis:100%}.lf-app .lf-ex-tabs button{flex-basis:42%;font-size:14px}}
