body.strategy-page { display:block; height:auto; min-height:100%; }
#strategy { padding:16px; max-width:1180px; margin:0 auto; }

/* rekommendations-banner */
.rec-bar {
  background:var(--panel); border:1px solid var(--line);
  border-left:3px solid var(--accent); border-radius:10px;
  padding:14px 18px; margin-bottom:16px;
}
.rec-bar .big { font-size:21px; font-weight:700; line-height:1.3; }
.rec-bar .big b.save { color:#5bd07f; }
.rec-bar .big b.cost { color:#ff9b6b; }
.rec-bar .sub { color:var(--muted); font-size:13px; margin-top:6px; }
.rec-bar .dir { color:var(--accent); }

.grid { display:grid; grid-template-columns:minmax(420px,1.5fr) 1fr; gap:16px; }
@media (max-width:880px){ .grid{ grid-template-columns:1fr; } }

.card {
  background:var(--panel); border:1px solid var(--line);
  border-radius:10px; padding:14px;
}
.card h3 { margin:14px 0 10px; font-size:14px; }
.card h3:first-child { margin-top:0; }
.card h3 .hint { color:var(--muted); font-weight:400; font-size:12px; }

.map-card { display:flex; flex-direction:column; padding:0; overflow:hidden; }
#map { width:100%; height:560px; background:#11151b; }
@media (max-width:880px){ #map{ height:420px; } }

.map-legend {
  display:flex; flex-wrap:wrap; gap:14px; padding:10px 14px;
  font-size:12px; color:var(--muted); border-top:1px solid var(--line);
}
.map-legend span { display:flex; align-items:center; gap:6px; }
.map-legend i { width:11px; height:11px; border-radius:50%; display:inline-block; }
.map-legend i.line { width:16px; height:0; border-top:3px solid; border-radius:0; }

table.data { width:100%; border-collapse:collapse; font-size:13px; }
table.data th, table.data td { padding:6px 8px; text-align:right; border-bottom:1px solid var(--line); }
table.data th { color:var(--muted); font-weight:500; font-size:11px; text-transform:uppercase; letter-spacing:.03em; }
table.data td:first-child, table.data th:first-child { text-align:left; }
table.data tr.rec td { background:rgba(91,208,127,0.10); font-weight:700; }
table.data tr.naive td { color:var(--muted); }
table.data td.warn { color:#ff9b6b; }
.fineprint { color:var(--muted); font-size:11.5px; margin:12px 0 0; }

/* karta: aim-etiketter */
.aim-tip {
  background:rgba(20,24,30,0.95); border:1px solid var(--line); border-radius:7px;
  padding:5px 8px; font-size:12px; color:var(--fg); white-space:nowrap;
}
.aim-tip b { color:var(--accent); }
.leaflet-container { font: inherit; }
.hidden { display: none !important; }
