/* Eltjuven – Energirådgivning */
.eltjuven-wrap { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; max-width: 800px; margin: 0 auto; padding: 24px; color: #1a1a2e; }
.eltjuven-step { display: none; }
.eltjuven-step.active { display: block; }
.eltjuven-step h2 { font-size: 1.5rem; margin-bottom: 20px; color: #16213e; border-bottom: 2px solid #f5a623; padding-bottom: 8px; }
.eltjuven-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 24px; }
@media (max-width: 600px) { .eltjuven-grid { grid-template-columns: 1fr; } }
.eltjuven-field label { display: block; font-size: 0.85rem; font-weight: 600; margin-bottom: 4px; color: #444; }
.eltjuven-field input, .eltjuven-field select { width: 100%; padding: 10px 12px; border: 1.5px solid #ddd; border-radius: 6px; font-size: 0.95rem; transition: border-color .2s; box-sizing: border-box; }
.eltjuven-field input:focus, .eltjuven-field select:focus { border-color: #f5a623; outline: none; box-shadow: 0 0 0 3px rgba(245,166,35,.15); }
.eltjuven-field.eltjuven-checkbox { display: flex; align-items: center; gap: 8px; padding-top: 24px; }
.eltjuven-field small { color: #888; font-size: 0.78rem; margin-top: 3px; display: block; }
.eltjuven-invalid { border-color: #e74c3c !important; }
.eltjuven-btn { display: inline-block; padding: 12px 28px; border-radius: 6px; font-weight: 600; font-size: 0.95rem; cursor: pointer; border: none; transition: background .2s, transform .1s; }
.eltjuven-btn:active { transform: scale(.98); }
.eltjuven-btn.next, .eltjuven-btn.submit { background: #f5a623; color: #fff; }
.eltjuven-btn.next:hover, .eltjuven-btn.submit:hover { background: #e09400; }
.eltjuven-btn.secondary { background: #eee; color: #333; }
.eltjuven-btn.secondary:hover { background: #ddd; }
.eltjuven-btn-row { display: flex; gap: 12px; flex-wrap: wrap; }
/* Loading */
.eltjuven-loading { text-align: center; padding: 48px; }
.eltjuven-spinner { width: 48px; height: 48px; border: 4px solid #eee; border-top-color: #f5a623; border-radius: 50%; animation: elt-spin 0.8s linear infinite; margin: 0 auto 16px; }
@keyframes elt-spin { to { transform: rotate(360deg); } }
/* Summary card */
.eltjuven-summary-card { background: #f8f9fa; border-left: 4px solid #f5a623; padding: 20px; border-radius: 8px; margin-bottom: 24px; }
.eltjuven-summary-card h3 { margin: 0 0 16px; font-size: 1.1rem; }
.eltjuven-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 16px; }
.eltjuven-stat { text-align: center; }
.stat-value { display: block; font-size: 1.4rem; font-weight: 700; color: #16213e; }
.stat-label { display: block; font-size: 0.75rem; color: #666; margin-top: 2px; }
.stat-value.conf-high { color: #27ae60; }
.stat-value.conf-medium { color: #f39c12; }
.stat-value.conf-low { color: #e74c3c; }
.eltjuven-flags { font-size: 0.82rem; color: #888; margin-top: 8px; }
.eltjuven-benchmark { margin-top: 10px; font-weight: 600; font-size: 0.9rem; padding: 8px 12px; border-radius: 4px; }
.eltjuven-benchmark.good { background: #d4edda; color: #155724; }
.eltjuven-benchmark.warn { background: #fff3cd; color: #856404; }
/* Recommendation cards */
.eltjuven-recs h3 { font-size: 1.2rem; margin-bottom: 12px; }
.eltjuven-rec-card { display: flex; align-items: flex-start; gap: 16px; background: #fff; border: 1.5px solid #eee; border-radius: 10px; padding: 20px; margin-bottom: 14px; box-shadow: 0 2px 6px rgba(0,0,0,.05); }
.eltjuven-rec-card.rank-1 { border-color: #f5a623; box-shadow: 0 2px 12px rgba(245,166,35,.2); }
.rec-rank { font-size: 1.8rem; font-weight: 800; color: #f5a623; min-width: 36px; }
.rec-body { flex: 1; }
.rec-body h3 { margin: 0 0 4px; font-size: 1rem; }
.rec-label { font-size: 0.82rem; color: #27ae60; font-weight: 600; margin: 0 0 10px; }
.rec-stats { display: flex; flex-wrap: wrap; gap: 8px; font-size: 0.82rem; color: #555; }
.rec-stats span { background: #f0f0f0; padding: 3px 8px; border-radius: 4px; }
.rec-partner { font-size: 0.8rem; color: #888; margin-top: 8px; }
.rec-roi { font-size: 0.85rem; font-weight: 700; color: #16213e; background: #fff3cd; padding: 6px 10px; border-radius: 6px; white-space: nowrap; }
/* ROI panel */
.eltjuven-roi { background: #eaf4fb; border-radius: 8px; padding: 20px; margin-top: 20px; }
.eltjuven-roi h3 { margin: 0 0 16px; }
/* No recs */
.eltjuven-no-recs { background: #fff3cd; padding: 16px; border-radius: 6px; color: #856404; }
/* Error */
.eltjuven-error { background: #fdecea; border-left: 4px solid #e74c3c; padding: 20px; border-radius: 8px; }
#eltjuven-error-msg { color: #c0392b; margin-bottom: 12px; font-weight: 600; }
