:root{
  --bg:#F6F4EF; --ink:#1B2430; --muted:#6B6F78; --line:#E1DCCF;
  --accent:#2F6F5E; --accent-dark:#1E4A3E; --gold:#C9A227; --card:#FFFFFF;
}
*{box-sizing:border-box;}
body{margin:0;font-family:'IBM Plex Sans',system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5;}
a{color:var(--accent);text-decoration:none;}
a:hover{color:var(--accent-dark);text-decoration:underline;}
header{display:flex;align-items:center;justify-content:space-between;padding:20px 6vw;border-bottom:1px solid var(--line);background:var(--card);position:sticky;top:0;z-index:10;flex-wrap:wrap;gap:12px;}
.brand{display:flex;align-items:center;gap:12px;}
.logo{width:34px;height:34px;border-radius:8px;background:var(--ink);display:flex;align-items:center;justify-content:center;flex:none;}
.brand-name{font-family:'Fraunces',serif;font-size:22px;font-weight:600;}
nav{display:flex;gap:22px;font-size:15px;font-weight:500;flex-wrap:wrap;}
nav a{color:var(--ink);}
nav a.active{color:var(--accent);}
nav a:hover{color:var(--accent);text-decoration:none;}
.wrap{padding:40px 6vw;max-width:1100px;margin:0 auto;}
h1.page-title{font-family:'Fraunces',serif;font-size:clamp(28px,4vw,40px);font-weight:600;margin:0 0 10px;}
.page-lede{color:var(--muted);font-size:16px;max-width:680px;margin:0 0 28px;}
.controls{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px;}
.controls input, .controls select{font-family:inherit;font-size:14px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);}
.controls input{flex:1;min-width:200px;}
.list{display:grid;gap:12px;}
.row-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 20px;display:flex;align-items:center;gap:16px;}
.row-card img{width:48px;height:48px;border-radius:50%;object-fit:cover;background:var(--line);flex:none;}
.row-card .meta{flex:1;min-width:0;}
.row-card .name{font-weight:600;font-size:15px;}
.row-card .sub{font-size:13px;color:var(--muted);}
.tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:3px 8px;color:var(--muted);}
.status-msg{padding:16px;color:var(--muted);font-size:14px;}
.error-msg{padding:16px 20px;background:#FBEAEA;border:1px solid #E8B4B4;border-radius:10px;color:#7A2E2E;font-size:14px;}
.detail-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px;margin-bottom:20px;}
.detail-head{display:flex;gap:20px;align-items:center;margin-bottom:18px;}
.detail-head img{width:96px;height:96px;border-radius:50%;object-fit:cover;background:var(--line);}
.detail-head h1{margin:0 0 6px;}
.uppdrag-list{list-style:none;padding:0;margin:0;display:grid;gap:8px;}
.uppdrag-list li{font-size:14px;border-left:3px solid var(--accent);padding:4px 0 4px 12px;}
footer{padding:40px 6vw;border-top:1px solid var(--line);color:var(--muted);font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
.pill{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:13px;background:var(--card);cursor:pointer;color:var(--ink);}
.pill.active{background:var(--ink);color:var(--bg);border-color:var(--ink);}
.toggle-row{display:inline-flex;border:1px solid var(--line);border-radius:100px;padding:3px;background:var(--card);margin-bottom:16px;}
.toggle-btn{border:none;background:none;font-family:inherit;font-size:13px;font-weight:600;padding:7px 16px;border-radius:100px;cursor:pointer;color:var(--muted);}
.toggle-btn.active{background:var(--ink);color:var(--bg);}
.site-search{display:flex;align-items:center;}
.site-search input{font-family:inherit;font-size:14px;padding:8px 14px;border:1px solid var(--line);border-radius:100px;background:var(--bg);color:var(--ink);width:180px;transition:width .15s;}
.site-search input:focus{width:240px;outline:none;border-color:var(--accent);}
.search-groups{display:grid;gap:28px;}
.search-group h2{font-family:'Fraunces',serif;font-size:18px;font-weight:600;margin:0 0 10px;}

/* ---- Konto / inloggning / formulär ---- */
.btn-primary{display:inline-block;background:var(--ink);color:var(--bg);border:none;border-radius:8px;padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;text-decoration:none;}
.btn-primary:hover{background:var(--accent-dark);color:var(--bg);text-decoration:none;}
.btn-secondary{display:inline-block;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;text-decoration:none;}
.btn-secondary:hover{border-color:var(--accent);color:var(--accent);text-decoration:none;}
.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed;}
.auth-nav{display:flex;align-items:center;gap:10px;order:99;}
.auth-nav .auth-link{font-size:14px;font-weight:600;color:var(--ink);}
.auth-nav .auth-btn{padding:8px 14px;}
.form-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:32px;max-width:420px;margin:0 auto;}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.field label{font-size:13px;font-weight:600;}
/* Inloggningsväggen (resten av dess stil ligger längre ner) */
.inlogg-glomt { margin: 10px 0 0; font-size: 14px; text-align: right; }
.inlogg-fot { margin: 14px 0 0; font-size: 13px; text-align: center; }
html .inlogg-vagg { height: 100vh; height: 100dvh; }
/* Små mobiler (t.ex. iPhone SE): hela rutan ska synas utan att man behöver skrolla. */
@media (max-width: 560px), (max-height: 720px) {
  html .inlogg-vagg { padding: 10px; }
  .inlogg-vagg .inlogg-ruta { padding: 16px 18px 14px; border-radius: 14px; }
  .inlogg-vagg .inlogg-brand { font-size: 17px; margin-bottom: 6px; gap: 8px; }
  .inlogg-vagg .inlogg-brand .logo { width: 26px; height: 26px; }
  .inlogg-vagg .inlogg-ruta h2 { font-size: 1.2rem; margin-bottom: 4px; }
  .inlogg-vagg .inlogg-pitch { font-size: 14px; line-height: 1.4; margin-bottom: 10px; }
  .inlogg-vagg .inlogg-extra { display: none; }
  .inlogg-vagg .inlogg-ruta .field { margin-bottom: 8px; gap: 4px; }
  .inlogg-vagg .inlogg-ruta .field input { font-size: 16px; padding: 8px 12px; }
  .inlogg-vagg .inlogg-glomt { margin-top: 6px; }
  .inlogg-vagg .inlogg-eller { margin: 8px 0 8px; }
  .inlogg-vagg .inlogg-ruta .btn-secondary, .inlogg-vagg .inlogg-ruta .btn-primary { padding: 8px 14px; }
  .inlogg-vagg .inlogg-fot { margin-top: 8px; }
}
.field input,.field textarea{font-family:inherit;font-size:15px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);}
.field textarea{resize:vertical;min-height:90px;}
.form-actions{margin-top:22px;}
.form-note{font-size:13px;color:var(--muted);margin-top:16px;}

/* ---- Skuggröstning ---- */
.vote-widget{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;margin-bottom:20px;}
.vote-widget h3{margin:0 0 4px;}
.vote-buttons{display:flex;gap:10px;margin:14px 0;flex-wrap:wrap;}
.vote-btn{border:1px solid var(--line);background:var(--card);border-radius:100px;padding:9px 20px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;color:var(--ink);}
.vote-btn.active{background:var(--ink);color:var(--bg);border-color:var(--ink);}
.vote-bars{display:grid;gap:8px;margin-top:10px;}
.vote-bar-row{display:grid;grid-template-columns:70px 1fr 40px;align-items:center;gap:10px;font-size:13px;}
.vote-bar-track{background:var(--bg);border-radius:100px;height:10px;overflow:hidden;}
.vote-bar-fill{height:100%;border-radius:100px;}

/* ---- Profil: synlighet, sakfrågor, skala, partimärke, bevakningar ---- */
.toggle-card{flex:1;min-width:180px;border-radius:10px;padding:14px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid var(--line);background:var(--card);text-align:left;font-family:inherit;color:var(--ink);}
.toggle-card.active{border:2px solid var(--ink);background:#FCFBF7;}
.toggle-card .desc{font-size:12px;color:var(--muted);font-weight:400;margin-top:4px;}
.follow-pill{font-size:12px;font-weight:600;border-radius:100px;padding:5px 12px;cursor:pointer;font-family:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);}
.follow-pill.active{background:var(--ink);color:var(--bg);border-color:var(--ink);}
.highlight-card{background:var(--ink);border-radius:16px;padding:22px;color:var(--bg);}
.highlight-card p{font-size:13px;line-height:1.6;color:#C7C9CC;margin:0;}
.stat-row{display:flex;justify-content:space-between;font-size:14px;padding:8px 0;border-bottom:1px solid #EEEBE1;}
.stat-row:last-child{border-bottom:none;}
.bevakning-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #EEEBE1;}
.bevakning-row:last-child{border-bottom:none;}
.pending-note{margin-top:10px;font-size:12px;color:#A3801E;background:#FCF3D9;border-radius:8px;padding:8px 10px;}

/* ---- Forum ---- */
.thread-row{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;}
.thread-row .title{font-weight:600;font-size:15px;}
.post-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-bottom:10px;}
.post-card .author{font-weight:600;font-size:13px;margin-bottom:4px;}
.post-card .body{font-size:14px;white-space:pre-wrap;}
.post-card .when{font-size:12px;color:var(--muted);margin-top:6px;}

/* ---- Kalender ---- */
.kal-week-head{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:34px 0 14px;padding-bottom:6px;border-bottom:1px solid var(--line);}
.kal-week-head:first-child{margin-top:0;}
.kal-day{margin-bottom:22px;}
.kal-day-head{font-family:'Fraunces',serif;font-size:19px;font-weight:600;margin:0 0 10px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.kal-day-head::first-letter{text-transform:uppercase;}
.kal-rel{font-family:'IBM Plex Sans',sans-serif;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:var(--ink);color:var(--bg);border-radius:100px;padding:3px 9px;}
.kal-event{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:12px;padding:14px 18px;display:grid;grid-template-columns:84px 1fr;gap:14px;margin-bottom:8px;}
.kal-event.med-datum{grid-template-columns:110px 1fr;}
.kal-event.kompakt{padding:10px 14px;grid-template-columns:96px 1fr;gap:10px;}
.kal-kammaren{border-left-color:var(--ink);}
.kal-utskott{border-left-color:var(--accent);}
.kal-eun{border-left-color:#3B5B92;}
.kal-oppet{border-left-color:var(--gold);}
.kal-internationellt{border-left-color:#8A6FA8;}
.kal-time{font-weight:600;font-size:15px;font-variant-numeric:tabular-nums;}
.kal-event.kompakt .kal-time{font-size:13px;}
.kal-time small{display:block;font-size:12px;font-weight:400;color:var(--muted);}
.kal-body{min-width:0;}
.kal-title{font-weight:600;font-size:15px;}
.kal-event.kompakt .kal-title{font-size:14px;}
.kal-sub{font-size:13px;color:var(--muted);}
.kal-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}
a.tag:hover{border-color:var(--accent);color:var(--accent);text-decoration:none;}
.tag-open{background:#E7F3EC;border-color:#CFE6D8;color:#1E7A46;}
.kal-event details{margin-top:8px;}
.kal-event summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--accent);}
.kal-desc{white-space:pre-line;font-size:14px;color:#3A3F48;margin-top:8px;padding-top:8px;border-top:1px solid #EEEBE1;overflow-wrap:anywhere;}
.pill{font-family:inherit;}
.pill .count{color:var(--muted);font-weight:400;margin-left:4px;}
.pill.active .count{color:#C7C9CC;}
@media (max-width:560px){
  .kal-event,.kal-event.med-datum{grid-template-columns:1fr;gap:4px;}
  .kal-event.kompakt{grid-template-columns:1fr;gap:2px;}
  .kal-time small{display:inline;margin-left:6px;}
}

/* ---- Huvudmeny (byggs av renderMainNav i app.js) ---- */
header{flex-wrap:nowrap;justify-content:flex-start;gap:20px;padding:14px 6vw;}
header .brand{flex:none;}
#main-nav{flex:1;display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:nowrap;}
.nav-snabb{display:flex;gap:2px;flex:none;}
.nav-snabb a{color:var(--ink);font-size:15px;font-weight:500;padding:8px 11px;border-radius:8px;white-space:nowrap;}
.nav-snabb a:hover{background:var(--bg);color:var(--accent);text-decoration:none;}
.nav-snabb a.active{color:var(--accent);background:#EEF4F1;}
.nav-toggle{display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:15px;font-weight:600;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:7px 12px;cursor:pointer;margin-left:6px;flex:none;white-space:nowrap;}
.nav-toggle:hover,header.nav-open .nav-toggle{border-color:var(--ink);}
.nav-toggle-ikon{display:inline-flex;flex-direction:column;gap:3px;width:16px;}
.nav-toggle-ikon span{display:block;height:2px;background:currentColor;border-radius:2px;transition:transform .15s,opacity .15s;}
header.nav-open .nav-toggle-ikon span:nth-child(1){transform:translateY(5px) rotate(45deg);}
header.nav-open .nav-toggle-ikon span:nth-child(2){opacity:0;}
header.nav-open .nav-toggle-ikon span:nth-child(3){transform:translateY(-5px) rotate(-45deg);}
header .site-search{flex:none;}
header .site-search input{width:170px;}
header .site-search input:focus{width:220px;}
.auth-nav{flex:none;}
.nav-panel{position:absolute;left:0;right:0;top:100%;background:var(--card);border-bottom:1px solid var(--line);box-shadow:0 18px 40px rgba(27,36,48,.12);max-height:calc(100vh - 70px);overflow-y:auto;}
.nav-panel[hidden]{display:none;}
.nav-panel-inner{padding:26px 6vw 32px;}
.nav-panel-search{display:none;margin-bottom:22px;}
.nav-panel-search input{width:100%;font-family:inherit;font-size:15px;padding:11px 16px;border:1px solid var(--line);border-radius:100px;background:var(--bg);color:var(--ink);}
.nav-panel-search input:focus{outline:none;border-color:var(--accent);}
.nav-grupper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;}
.nav-grupp-rubrik{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;}
.nav-panel-lank{display:block;padding:7px 10px;margin:0 -10px;border-radius:8px;color:var(--ink);}
.nav-panel-lank:hover{background:var(--bg);color:var(--ink);text-decoration:none;}
.nav-panel-lank.active{background:#EEF4F1;}
.nav-panel-text{display:block;font-weight:600;font-size:15px;}
.nav-panel-lank.active .nav-panel-text,.nav-panel-lank:hover .nav-panel-text{color:var(--accent);}
.nav-panel-besk{display:block;font-size:13px;color:var(--muted);line-height:1.4;}
/* Brytpunkterna har marginal för reservtypsnittet (bredare) om Google Fonts laddar sent. */
@media (max-width:1360px){
  header .site-search{display:none;}
  .nav-panel-search{display:block;}
  .auth-nav{margin-left:auto;}
}
@media (max-width:1300px){
  .nav-snabb a.snabb-lag{display:none;}
}
@media (max-width:1100px){
  .auth-nav .auth-btn{display:none;}
}
@media (max-width:1000px){
  header{padding:12px 16px;gap:10px;}
  .nav-snabb{display:none;}
  #main-nav{flex:none;order:100;}
  .nav-grupper{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:860px){
  .auth-nav .auth-link{max-width:38vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .brand-name{font-size:20px;}
  .nav-panel{max-height:calc(100vh - 60px);}
  .nav-panel-inner{padding:16px 16px 24px;}
}
@media (max-width:560px){
  .nav-grupper{gap:18px 16px;}
  .nav-panel-besk{display:none;}
  .nav-panel-lank{padding:8px 10px;}
}
@media (max-width:380px){
  .nav-toggle-text{display:none;}
  .brand{gap:8px;}
  .brand-name{font-size:18px;}
}

/* ---- Bekräftelseruta (skuggröster och ställningstaganden) ---- */
.fm-dialog{border:1px solid var(--line);border-radius:16px;padding:26px 28px;max-width:460px;width:calc(100% - 32px);background:var(--card);color:var(--ink);box-shadow:0 20px 60px rgba(27,36,48,.25);}
.fm-dialog::backdrop{background:rgba(27,36,48,.45);}
.fm-dialog h2{font-family:'Fraunces',serif;font-size:21px;font-weight:600;margin:0 0 10px;}
.fm-dialog-text{font-size:15px;margin:0 0 12px;}
.fm-dialog-info{font-size:13px;color:var(--muted);margin:0 0 12px;}
.fm-dialog-varning{font-size:14px;font-weight:600;color:#7A2E2E;background:#FBEAEA;border:1px solid #E8B4B4;border-radius:10px;padding:10px 12px;margin:0 0 12px;}
.fm-dialog-knappar{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:18px;}

/* ---- Skuggröst: status och facit ---- */
.vote-btn:disabled{opacity:.4;cursor:not-allowed;}
.sv-status{font-size:14px;border-radius:10px;padding:10px 14px;margin:12px 0 4px;}
.sv-status.oppen{background:#E7F3EC;color:#1E4A3E;border:1px solid #BFE1CC;}
.sv-status.last{background:var(--bg);color:var(--ink);border:1px solid var(--line);}
.facit{display:grid;gap:22px;margin-top:18px;}
.facit.tva{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.facit-rubrik{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.facit .vote-bar-row{grid-template-columns:62px 1fr 46px;}
.facit-pct{font-variant-numeric:tabular-nums;text-align:right;font-weight:600;}

/* ---- Rättvisekö-påminnelse i headern ---- */
.ko-pill{font-size:13px;font-weight:700;background:#FCF3D9;color:#7A5B10;border:1px solid #EBD89B;border-radius:100px;padding:5px 11px;}
.ko-pill:hover{text-decoration:none;background:#F8EAC0;color:#7A5B10;}

/* ---- Kommande beslut ---- */
.kommande-banner{display:flex;flex-direction:column;gap:4px;background:#E7F3EC;border:1px solid #BFE1CC;border-radius:14px;padding:14px 18px;margin:0 0 22px;color:var(--ink);}
.kommande-banner span{font-size:14px;color:#1E4A3E;}
.kommande-banner:hover{text-decoration:none;border-color:var(--accent);color:var(--ink);}
.bet-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 22px;margin-bottom:14px;}
.bet-card h2{font-family:'Fraunces',serif;font-size:19px;font-weight:600;margin:6px 0 4px;}
.bet-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--muted);}
.beslut-pill{font-size:12px;font-weight:700;background:var(--ink);color:var(--bg);border-radius:100px;padding:3px 10px;}
.punkt-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #EEEBE1;font-size:14px;}
.punkt-row:first-of-type{margin-top:10px;}
.punkt-row .btn-secondary{flex:none;padding:7px 12px;font-size:13px;}
.bet-card h2 a{color:inherit;}
.bet-card h2 a:hover{color:var(--accent);}
.bet-card .las-mer{display:inline-block;margin-top:8px;font-size:14px;font-weight:600;}
a.row-card.pa-vag{color:inherit;}
a.row-card.pa-vag:hover{border-color:var(--accent);text-decoration:none;}

/* ---- Allt om ett betänkande (betankande.html) ---- */
.bet-sida .page-title{margin-top:8px;}
.bet-lage{font-size:12px;font-weight:700;border-radius:100px;padding:3px 10px;background:#EEEBE1;color:var(--ink);}
.bet-lage.oppet{background:#E7F3EC;color:var(--accent-dark);}
.bet-lage.beslutat{background:var(--ink);color:var(--bg);}
.bet-sektion{margin:0 0 30px;}
.bet-sektion > h2{font-family:'Fraunces',serif;font-size:22px;font-weight:600;margin:0 0 12px;}
.bet-sektion .detail-card{padding:20px 22px;}
.bet-korthet p{margin:0 0 10px;}
.punkt-etikett{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:0 0 4px;}
.tidslinje{list-style:none;margin:0;padding:0 0 0 4px;}
.tidslinje li{position:relative;padding:0 0 12px 24px;display:flex;gap:4px 14px;flex-wrap:wrap;font-size:15px;}
.tidslinje li::before{content:'';position:absolute;left:0;top:6px;width:11px;height:11px;border-radius:50%;border:2px solid var(--accent);background:var(--card);}
.tidslinje li.klar::before{background:var(--accent);}
.tidslinje li:not(:last-child)::after{content:'';position:absolute;left:6px;top:20px;bottom:0;width:2px;background:var(--line);}
.tl-datum{font-weight:600;min-width:150px;}
.tl-plan{color:var(--muted);font-size:13px;}
.punkt-kort h3{font-family:'Fraunces',serif;font-size:18px;font-weight:600;margin:0 0 10px;}
.punkt-argument p{margin:0 0 8px;font-size:15px;}
.punkt-forslag p{white-space:pre-wrap;}
.punkt-forslag,.punkt-korthet{margin-bottom:12px;}
.punkt-korthet{background:#F6F4EF;border-radius:10px;padding:10px 14px;}
.punkt-partier{font-size:14px;margin:0 0 10px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.parti-chip{display:inline-block;font-size:12px;font-weight:700;border:2px solid var(--line);border-radius:100px;padding:1px 8px;background:var(--card);}
.bet-details{border:1px solid var(--line);border-radius:10px;margin:0 0 8px;background:var(--card);}
.bet-details > summary{cursor:pointer;padding:10px 14px;font-weight:600;font-size:14px;}
.bet-details[open] > summary{border-bottom:1px solid #EEEBE1;}
.bet-details > :not(summary){padding:10px 14px 4px;}
.bet-details-text p{font-size:15px;margin:0 0 10px;}
.punkt-atgard{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid #EEEBE1;}
.bet-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;border-radius:6px;padding:3px 8px;background:#F3EBF8;color:#5B3080;}
.prop-kort h3{font-family:'Fraunces',serif;font-size:19px;font-weight:600;margin:8px 0 2px;}
.yrk-lista{margin:4px 0 10px;padding-left:22px;font-size:15px;}
.yrk-lista li{margin-bottom:6px;}
.mot-grupp > div{padding-top:4px;}
.mot-rad{padding:6px 0;border-bottom:1px solid #F0EDE4;font-size:14px;}
.mot-rad:last-child{border-bottom:none;}
.mot-rad > summary{cursor:pointer;}
.debatt-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 16px;}
.debatt-rad{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid #F0EDE4;font-size:14px;color:var(--ink);}
.debatt-rad.replik{padding-left:14px;color:var(--muted);}
.lank-lista{display:flex;flex-direction:column;gap:10px;font-size:15px;}
.rost-forklaring{font-size:14px;background:#E7F3EC;border-radius:10px;padding:8px 12px;margin:10px 0 0;}
.punkt-info-lank{display:inline-block;margin:8px 0 16px;font-weight:600;}
@media (max-width:560px){
  .bet-sektion .detail-card,.bet-card{padding:16px;}
  .tl-datum{min-width:0;width:100%;}
  .punkt-atgard a{width:100%;text-align:center;}
}

/* ---- Långa utfällbara texter: rubriken stannar kvar, Stäng-knapp längst ner ---- */
details.stangbar[open] > summary{position:sticky;top:var(--header-h,72px);z-index:5;background:var(--card);border-radius:10px 10px 0 0;}
details.stangbar[open] > summary::after{content:'▲ Stäng';float:right;font-size:12px;font-weight:600;color:var(--accent);}
details.stangbar > .stang-knapp{display:none;}
details.stangbar[open] > .stang-knapp{display:block;margin:4px 14px 12px auto;font-family:inherit;font-size:13px;font-weight:600;color:var(--accent);background:none;border:1px solid var(--line);border-radius:8px;padding:6px 12px;cursor:pointer;}

/* ---- Notiser om det man bevakar (notiser.html) ---- */
.handelse{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #F0EDE4;color:var(--ink);}
.handelse:last-child{border-bottom:none;}
.handelse:hover{text-decoration:none;background:#FAF8F3;}
.handelse-ikon{flex:none;width:28px;height:28px;border-radius:50%;background:#E7F3EC;display:flex;align-items:center;justify-content:center;font-size:14px;}
.handelse-rubrik{font-weight:600;}
.handelse.ny .handelse-rubrik{color:var(--accent-dark);}
.ny-markering{font-size:11px;font-weight:700;background:var(--gold);color:var(--ink);border-radius:6px;padding:1px 6px;margin-left:8px;vertical-align:middle;}

/* ---- Om Folkmakten ---- */
.om-syfte{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:6px 22px;}
.om-syfte p{margin:4px 0 12px;font-size:14px;}
.varfor-skuggrost h3{font-family:'Fraunces',serif;font-size:22px;margin-top:0;}
.varfor-block{border-left:3px solid var(--accent);padding:2px 0 2px 14px;margin:0 0 16px;}
.varfor-block strong{font-size:16px;}
.varfor-block p{margin:4px 0 0;font-size:15px;line-height:1.6;}
.kom-med{background:#E7F3EC;border:1px solid #BFE1CC;border-radius:12px;padding:14px 18px;}
.kom-med ol{margin:6px 0 0;padding-left:20px;font-size:15px;}
.kom-med li{margin-bottom:4px;}

/* ---- Kommande voteringar ---- */
.kommande-steg{list-style:none;counter-reset:steg;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;padding:0;margin:0 0 18px;}
.kommande-steg li{counter-increment:steg;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px 12px 46px;position:relative;font-size:14px;}
.kommande-steg li::before{content:counter(steg);position:absolute;left:12px;top:12px;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--bg);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;}
.kommande-steg strong{display:block;}
.kommande-steg span{color:var(--muted);}
.notis-ruta{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;background:#E7F3EC;border:1px solid #BFE1CC;border-radius:12px;padding:10px 14px;margin:0 0 14px;font-size:14px;}
.notis-ruta select{font-family:inherit;font-size:14px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);}
.kommande-rubrik{font-family:'Fraunces',serif;font-size:22px;font-weight:600;margin:22px 0 10px;}

/* ---- "Vår princip" (startsidan och Om Folkmakten) ---- */
.principle{background:var(--ink);color:var(--bg);padding:40px 6vw;margin-top:32px;}
.principle-inner{max-width:760px;margin:0 auto;}
.principle h2{font-family:'Fraunces',serif;font-size:24px;font-weight:600;margin:0 0 10px;}
.principle p{font-size:16px;line-height:1.65;color:#D8DAD6;margin:0;}

/* ---- Kalenderhändelser: hela rutan är klickbar ---- */
.kal-event[role="button"]{cursor:pointer;transition:border-color .12s, box-shadow .12s;}
.kal-event[role="button"]:hover{border-color:var(--accent);box-shadow:0 2px 10px rgba(27,36,48,.06);}
.kal-event[role="button"]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.kal-las-mer{display:inline-block;margin-top:4px;font-size:13px;font-weight:600;color:var(--accent);}
.kal-event.kompakt .kal-las-mer{display:none;}
.kal-dialog{max-width:min(560px, calc(100vw - 24px));}
.kal-dialog .kal-desc{white-space:pre-line;font-size:14px;background:var(--bg);border-radius:10px;padding:12px 14px;margin:0 0 12px;max-height:45vh;overflow-y:auto;}
.kal-forklaring{background:#E7F3EC;border-radius:10px;padding:10px 12px;}
.kal-dialog-lankar{display:flex;flex-wrap:wrap;gap:8px;}
.kal-dialog-lankar .btn-secondary{font-size:13px;padding:7px 12px;}

/* ---- Läs mer utanför Folkmakten (AI och nyheter) ---- */
.utanfor{margin:0 0 20px;display:flex;flex-direction:column;gap:8px;max-width:760px;}
.utanfor-rad{display:flex;flex-wrap:wrap;gap:8px;}
.utanfor-knapp{font-size:13px;padding:7px 12px;}
.utanfor-ai{margin:0;}

/* ---- Förklaring av skuggröstning ---- */
.skuggrost-forklaring{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:4px 22px;}
.skuggrost-forklaring p{margin:2px 0 12px;font-size:14px;color:var(--ink);}
.skuggrost-forklaring strong{font-size:14px;}
.forklaring-rad{margin:0 0 14px;}
.forklaring-rad .skuggrost-forklaring{padding-top:10px;}

/* ---- Nästa steg i processen ---- */
.nasta-steg{display:flex;gap:16px 24px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#E7F3EC;border:1px solid #BFE1CC;border-radius:14px;padding:16px 20px;margin:0 0 28px;}
.nasta-steg .nasta-namn{font-family:'Fraunces',serif;font-size:19px;font-weight:600;margin:2px 0;}
.nasta-folj{display:flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:320px;}
.nasta-folj .sub{font-size:12px;}
.bet-card .nasta-rad{font-size:13px;color:var(--accent-dark);margin:2px 0 6px;}
.bet-card .bet-atgard{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px;}

/* ---- Bevaka-knappen (växlar) ---- */
.bevaka-knapp.active{background:#E7F3EC;border-color:#BFE1CC;color:var(--accent-dark);}

/* ---- Sökbar väljare ---- */
.controls .sokvaljare{flex:1;min-width:200px;max-width:340px;}
.controls .sokvaljare-input{font-size:14px;}
.sokvaljare{position:relative;width:100%;max-width:420px;}
.sokvaljare-input{width:100%;box-sizing:border-box;font-family:inherit;font-size:15px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);}
.sokvaljare-lista{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);max-height:300px;overflow-y:auto;margin:0;padding:4px 0;list-style:none;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(27,36,48,.12);}
.sokvaljare-lista li{padding:9px 14px;cursor:pointer;font-size:15px;}
.sokvaljare-lista li:hover,.sokvaljare-lista li.markerad{background:#F0EDE4;}
.sokvaljare-lista li.vald{font-weight:600;}
.sokvaljare-lista li.tom{cursor:default;}
/* ---- Profilbild (siluett) och namnrad ---- */
.avatar{display:inline-block;flex:none;border-radius:50%;overflow:hidden;line-height:0;vertical-align:middle;}
.forfattar-rad{display:flex;align-items:center;gap:8px;}
.forfattar-rad .yrke{font-weight:400;color:var(--muted);font-size:13px;}
.avatar-val{display:grid;grid-template-columns:repeat(5,52px);gap:8px;margin:8px 0 14px;max-width:420px;}
.avatar-val button{border:2px solid transparent;background:none;border-radius:50%;padding:2px;cursor:pointer;line-height:0;}
.avatar-val button.active{border-color:var(--ink);}
.avatar-val button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

/* ---- Adminytan ---- */
.admin-flikar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 18px;}
.admin-flikar .toggle-btn{text-decoration:none;}
.admin-flikar .sub{margin-left:auto;font-size:13px;}
.medlem-rad{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.3fr) minmax(0,1fr) 120px;gap:4px 14px;align-items:center;padding:10px 14px;border-bottom:1px solid #F0EDE4;color:var(--ink);font-size:14px;}
.medlem-rad:hover{background:#FAF8F3;text-decoration:none;}
.medlem-rad .namn{font-weight:600;}
.roll-chip{font-size:12px;font-weight:700;border-radius:100px;padding:2px 9px;background:#EEEBE1;white-space:nowrap;}
.roll-chip.moderator{background:#E7F0F8;color:#2C557E;}
.roll-chip.admin{background:#F3EBF8;color:#5B3080;}
.roll-chip.system{background:var(--ink);color:var(--bg);}
.logg-rad{display:grid;grid-template-columns:130px minmax(0,1fr);gap:2px 14px;padding:9px 0;border-bottom:1px solid #F0EDE4;font-size:14px;}
.logg-rad .tid{color:var(--muted);font-size:13px;}
.medlem-rad .roll-chip{justify-self:end;}
.profil-side .logg-rad{grid-template-columns:1fr;}
.logg-rad.ansvar{padding-left:8px;padding-right:8px;}
.admin-select{font-family:inherit;font-size:14px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);}
.logg-rad.ansvar{background:#FBF8EE;}
.logg-rad .vem{font-weight:600;}
.siffror{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:10px;}
.siffror div{background:#F6F4EF;border-radius:10px;padding:10px 12px;font-size:13px;color:var(--muted);}
.siffror strong{display:block;font-size:22px;color:var(--ink);font-family:'Fraunces',serif;}
@media (max-width:700px){
  .medlem-rad{grid-template-columns:1fr auto;}
  .medlem-rad .dold-mobil{display:none;}
  .logg-rad{grid-template-columns:1fr;}
}

/* ---- Medborgarförslag ---- */
.utkast-ruta{padding:18px 22px;}
.mall-frivilligt{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:#EEEBE1;border-radius:6px;padding:2px 6px;margin-left:4px;}
.mall-analys-rutor{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px;}
.mall-analys-rutor .field{margin:0;}
.forslag-analys{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px;}
.analys-ruta{border-radius:12px;padding:12px 16px;border:1px solid var(--line);}
.analys-ruta h3{margin:0 0 6px;font-size:15px;}
.analys-ruta p{margin:0;}
.analys-ruta.fordel{background:#EEF6F1;border-color:#CFE5D8;}
.analys-ruta.nackdel{background:#FBF4E6;border-color:#EBDDB9;}
.las-fast{font-size:14px;background:#F6F4EF;border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:0 0 14px;}
@media (max-width:700px){ .mall-analys-rutor,.forslag-analys{grid-template-columns:1fr;} }
.utkast-ruta h3{font-size:16px;margin:0 0 4px;}
.utkast-ruta > div + div{margin-top:16px;padding-top:14px;border-top:1px solid #EEEBE1;}
.utkast-ruta p.sub{margin:0 0 8px;font-size:14px;}
.utkast-rad{padding:8px 0;border-top:1px solid #F0EDE4;}
.utkast-rad .title{font-weight:600;}
.fm-marken{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px;}
.fm-marke{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;border-radius:6px;padding:3px 8px;border:1px solid var(--line);background:var(--bg);color:var(--muted);}
.fm-marke.uppmarksammad{background:#FCF3D9;border-color:#EBD89B;color:#7A5B10;}
.fm-marke.eskalerad{background:var(--ink);border-color:var(--ink);color:var(--bg);}
.fm-marke.aterkallad{background:#F1EFEA;color:var(--muted);}
.fm-marke.granskas{background:#FBEAEA;border-color:#E8B4B4;color:#7A2E2E;}
.fm-framsteg{margin:10px 0 2px;}
.fm-framsteg-track{height:8px;border-radius:100px;background:var(--bg);border:1px solid var(--line);overflow:hidden;}
.fm-framsteg-fill{height:100%;background:var(--accent);border-radius:100px;}
.fm-framsteg-text{font-size:12px;color:var(--muted);margin-top:5px;font-variant-numeric:tabular-nums;}
.stallning-knappar.kompakt{margin:10px 0 0;gap:6px;}
.stallning-knappar.kompakt .vote-btn{padding:6px 14px;font-size:13px;}
.field select{font-family:inherit;font-size:15px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);}
.admin-h{font-family:'Fraunces',serif;font-size:22px;font-weight:600;margin:34px 0 6px;}

/* ---- Tonkontroll och anmälan ---- */
.ton-dialog{max-width:560px;}
.ton-ord{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;}
.ton-chip{font-size:12px;font-weight:600;background:#FBEAEA;border:1px solid #E8B4B4;color:#7A2E2E;border-radius:100px;padding:4px 10px;}
.ton-forslag-rubrik{font-size:14px;font-weight:600;margin:14px 0 8px;}
.ton-forslag{background:#E7F3EC;border:1px solid #BFE1CC;border-radius:10px;padding:10px 14px;margin-bottom:8px;}
.ton-forslag-falt{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#1E4A3E;margin-bottom:4px;}
.ton-forslag-text{font-size:15px;white-space:pre-wrap;color:var(--ink);}
.anmal-knapp{background:none;border:none;color:var(--muted);font-family:inherit;font-size:12px;cursor:pointer;padding:0;margin-left:10px;}
.anmal-knapp:hover{color:#7A2E2E;}
.anmal-knapp:disabled{cursor:default;}
.ko-pill-meddelande{background:#EAF1F8;border-color:#C6D8EB;color:#2C557E;}
.ko-pill-moderator{background:#F1EFEA;border-color:var(--line);color:var(--ink);}
.dold-text{font-style:italic;color:var(--muted);}
.fm-dialog{box-sizing:border-box;max-width:min(460px, calc(100vw - 24px));max-height:calc(100vh - 24px);overflow-y:auto;}
.ton-dialog{max-width:min(560px, calc(100vw - 24px));}
.ton-chip{white-space:normal;overflow-wrap:anywhere;}
@media (max-width:520px){ .fm-dialog{padding:20px 18px;} .fm-dialog-knappar{justify-content:stretch;} .fm-dialog-knappar button{flex:1;} }
/* Mobil: plats för notis-pillren i headern utan att menyknappen trycks ut. */
@media (max-width:560px){
  .auth-nav{gap:6px;}
  .ko-pill{font-size:12px;padding:4px 8px;}
  .auth-nav .auth-link{max-width:20vw;}
  header{padding:10px 12px;gap:8px;}
  .brand{gap:8px;}
  .brand-name{font-size:18px;}
  .logo{width:30px;height:30px;}
  .nav-toggle-text{display:none;}
  .nav-toggle{padding:7px 10px;margin-left:0;}
}
/* Smal mobil: bara 👤 i stället för namnet, så att Meny-knappen alltid får plats. */
@media (max-width:460px){ .auth-namn{display:none;} }

/* ---- Diskussion med "👍 Bra poäng" ---- */
.kommentar{border-left:3px solid var(--line);padding:6px 0 6px 14px;margin:12px 0;}
.kommentar .author{font-weight:600;font-size:13px;}
.kommentar .body{font-size:14px;white-space:pre-wrap;margin:4px 0;}
.kommentar .when{font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;}
.kommentar .svara{background:none;border:none;color:var(--accent);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;padding:0;}
.kommentar .anmal-knapp{margin-left:0;}
.bra-knapp{font-family:inherit;font-size:12px;font-weight:600;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:100px;padding:3px 10px;cursor:pointer;}
.bra-knapp:hover{border-color:var(--accent);}
.bra-knapp.active{background:#E7F3EC;border-color:#BFE1CC;color:#1E4A3E;}
.bra-knapp:disabled{cursor:default;opacity:.7;}
.diskussion-fot{margin-top:16px;padding-top:12px;border-top:1px solid #EEEBE1;font-size:14px;}
.diskussion-fot:empty{display:none;}
.post-card .when{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;}
.post-card .when .anmal-knapp{margin-left:0;}

/* ---- Förslag: nivå och krav ---- */
.fm-marke.niva{text-transform:none;letter-spacing:0;font-size:12px;background:var(--card);color:var(--ink);}
.fm-marke.niva-kommun{border-color:#C6D8EB;background:#F3F7FB;}
.fm-marke.niva-region{border-color:#D9CDE8;background:#F7F3FB;}
.fm-krav{margin-bottom:8px;}
.fm-krav-text{font-size:13px;font-weight:600;margin-bottom:4px;font-variant-numeric:tabular-nums;}
.fm-krav-text .sub{font-weight:400;font-size:12px;}
.fm-krav.ok .fm-krav-text{color:#1E4A3E;}
.fm-majoritet{position:relative;}
.fm-majoritet .fm-framsteg-fill{background:#2F6F5E;}
.fm-mitt{position:absolute;left:50%;top:-3px;bottom:-3px;width:2px;background:var(--ink);opacity:.5;}
.stallning-sparr{font-size:12px;color:var(--muted);margin-top:6px;}

/* ---- Mallen för medborgarförslag ---- */
.niva-val{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;}
.niva-kort{text-align:left;}
.niva-kort:disabled{opacity:.55;cursor:not-allowed;}
.mall-hjalp{font-size:12px;color:var(--muted);margin-top:-2px;}
.mall-raknare{font-weight:400;font-size:12px;color:var(--muted);margin-left:6px;}
.mall-mer{margin:4px 0 16px;border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:var(--bg);}
.mall-mer summary{cursor:pointer;font-weight:600;font-size:14px;}
.mall-mer[open] summary{margin-bottom:12px;}
.mall-mer .field textarea{background:var(--card);}
.mall-checklista{background:#F3F7FB;border:1px solid #C6D8EB;border-radius:10px;padding:12px 14px;font-size:14px;margin:0 0 14px;}
.mall-checklista ul{margin:6px 0 8px;padding-left:20px;}
.mall-exempel{background:var(--card);border:1px dashed var(--line);border-radius:10px;padding:12px 14px;margin-top:10px;font-size:14px;}
.mall-exempel p{margin:0 0 8px;}
.lank-knapp{background:none;border:none;padding:0;color:var(--accent);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;}
.kommun-tips{background:#FCF3D9;border:1px solid #EBD89B;border-radius:10px;padding:10px 14px;font-size:14px;margin:-6px 0 16px;color:#5C4510;}
.forslag-del h3{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:18px 0 4px;}
.forslag-del:first-child h3{margin-top:0;}

/* ---- Förklaringar: "Vad är en …?" (begreppRuta i app.js) och ordlista.html ---- */
.begrepp-rad { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 16px; align-items: flex-start; }
.begrepp-ruta { background: #F1F6F3; border: 1px solid #CFE0D8; border-radius: 10px; font-size: 0.92rem; }
.begrepp-rad .begrepp-ruta { flex: 1 1 240px; }
.begrepp-ruta[open] { flex-basis: 100%; }
.begrepp-ruta summary { cursor: pointer; padding: 8px 12px; color: var(--accent); font-weight: 600; list-style: none; display: flex; gap: 8px; align-items: center; }
.begrepp-ruta summary::-webkit-details-marker { display: none; }
.begrepp-ikon { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--accent); color: #fff; font-size: 0.75rem; flex: none; }
.begrepp-text { padding: 0 14px 12px 40px; }
.begrepp-text p { margin: 0 0 8px; line-height: 1.5; }
.begrepp-text a { font-size: 0.88rem; }
.process-steg { list-style: none; counter-reset: steg; padding: 0; margin: 14px 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.process-steg li { counter-increment: steg; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; font-size: 0.9rem; line-height: 1.45; }
.process-steg li::before { content: counter(steg); display: inline-flex; width: 24px; height: 24px; border-radius: 50%; background: var(--accent); color: #fff; align-items: center; justify-content: center; font-weight: 600; font-size: 0.8rem; margin-bottom: 6px; }
.process-steg strong { display: block; font-family: 'Fraunces', serif; font-size: 1.02rem; margin-bottom: 2px; }
.ordlista-post { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 16px 20px; margin-bottom: 12px; scroll-margin-top: calc(var(--header-h, 70px) + 16px); }
.ordlista-post h2 { font-family: 'Fraunces', serif; font-size: 1.2rem; margin: 0 0 6px; }
.ordlista-post p { margin: 0 0 8px; line-height: 1.55; }
.ordlista-post:target { border-color: var(--accent); box-shadow: 0 0 0 3px #CFE0D8; }
.ordlista-index { display: flex; flex-wrap: wrap; gap: 6px; margin: 16px 0 22px; }
.utskott-omrade { font-size: 1.02rem; line-height: 1.55; margin: 4px 0 10px; }
.roll-rubrik { font-family: 'Fraunces', serif; font-size: 1.05rem; margin: 18px 0 8px; }
/* Långa titlar (t.ex. riksdagens dokument) ska brytas i stället för att göra sidan bredare på mobil. */
.row-card .meta { min-width: 0; overflow-wrap: anywhere; }

/* ---- Politik i medierna (nyhetKort/mediaRuta i app.js, nyheter.html) ---- */
.media-ruta { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; margin: 12px 0 4px; max-width: 760px; }
.media-ruta-topp { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.media-ruta-topp a { font-size: 0.88rem; }
.media-lista { display: flex; flex-direction: column; gap: 8px; }
.media-not { font-size: 0.8rem; margin: 10px 0 0; }
.media-kort { background: #fff; border: 1px solid var(--line); border-left: 4px solid #9DB8AE; border-radius: 10px; padding: 12px 14px; }
.media-kort.asikt { border-left-color: #D9A441; background: #FFFCF3; }
.media-ruta .media-kort { padding: 9px 12px; }
.media-meta { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; font-size: 0.8rem; margin-bottom: 4px; }
.media-kalla { font-weight: 600; color: var(--ink); }
.nyhet-marke, .asikt-marke { font-size: 0.72rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; padding: 2px 7px; border-radius: 999px; }
.nyhet-marke { background: #E6F0EC; color: var(--accent); }
.asikt-marke { background: #F6E3B8; color: #6B4A07; }
.media-tid { color: #6B7280; }
.media-rubrik { display: block; font-weight: 600; color: var(--ink); text-decoration: none; line-height: 1.35; font-size: 1.02rem; overflow-wrap: anywhere; }
.media-rubrik:hover { color: var(--accent); text-decoration: underline; }
.media-ut { color: #6B7280; font-weight: 400; }
.media-ingress { margin: 6px 0 0; line-height: 1.5; color: #374151; font-size: 0.93rem; }
.media-av, .media-asikt-text { font-size: 0.8rem; color: #6B7280; margin-top: 6px; }
.media-kort.asikt .media-asikt-text { color: #6B4A07; }
.kall-lista { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; font-size: 0.88rem; }
.kall-lista li { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; }

/* ---- Rundturen (rundtur.js) ---- */
.rundtur-ljus { position: fixed; z-index: 9000; border-radius: 12px; box-shadow: 0 0 0 4px #F6C453, 0 0 0 100vmax rgba(27, 36, 48, 0.55); pointer-events: none; transition: all .25s ease; }
.rundtur-bubbla { position: fixed; z-index: 9001; width: min(420px, calc(100vw - 20px)); max-height: calc(100vh - 20px); overflow-y: auto; background: #fff; border-radius: 16px; padding: 18px 20px 16px; box-shadow: 0 18px 50px rgba(0,0,0,.28); font-size: 15px; line-height: 1.5; }
.rundtur-bubbla.mitten { top: 50%; left: 50%; transform: translate(-50%, -50%); width: min(520px, calc(100vw - 20px)); }
.rundtur-bubbla.botten { left: 10px; right: 10px; bottom: 10px; top: auto; width: auto; max-height: 55vh; }
.rundtur-bubbla h3 { font-family: 'Fraunces', serif; font-size: 1.3rem; margin: 4px 0 6px; padding-right: 26px; }
.rundtur-bubbla > p { margin: 0 0 10px; }
.rundtur-steg { font-size: 12px; font-weight: 600; color: var(--accent); text-transform: uppercase; letter-spacing: .04em; }
.rundtur-prick-rad { display: flex; gap: 4px; margin: 6px 0 2px; flex-wrap: wrap; }
.rundtur-prick { width: 14px; height: 4px; border-radius: 2px; background: var(--line); }
.rundtur-prick.klar { background: var(--accent); }
.rundtur-stang { position: absolute; top: 10px; right: 12px; background: none; border: none; font-size: 18px; cursor: pointer; color: #6B7280; padding: 4px; line-height: 1; }
.rundtur-knappar { display: flex; justify-content: space-between; gap: 10px; margin-top: 14px; }
.rundtur-bubbla .begrepp-rad { margin: 6px 0 10px; }
.rundtur-fraga { background: #FFFCF3; border: 1px solid #EBD89B; border-radius: 10px; padding: 10px 12px; margin: 6px 0 4px; }
.rundtur-fraga-rubrik { font-weight: 600; font-size: 14px; margin-bottom: 8px; }
.rundtur-alt { display: flex; flex-direction: column; gap: 6px; }
.rundtur-alt button { text-align: left; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 7px 10px; font: inherit; font-size: 14px; cursor: pointer; }
.rundtur-alt button:hover:not(:disabled) { border-color: var(--accent); }
.rundtur-alt button.ratt { border-color: var(--accent); background: #E6F0EC; font-weight: 600; }
.rundtur-alt button.fel { border-color: #B24949; background: #FBEAEA; }
.rundtur-alt button:disabled { cursor: default; color: var(--ink); }
.rundtur-svar { margin: 8px 0 0; font-size: 14px; }
.rundtur-extra { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 6px; }
.rundtur-fortsatt { position: fixed; z-index: 9001; bottom: 14px; left: 50%; transform: translateX(-50%); background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 8px 10px 8px 16px; display: flex; gap: 8px; align-items: center; box-shadow: 0 8px 26px rgba(0,0,0,.18); font-size: 14px; max-width: calc(100vw - 20px); flex-wrap: wrap; justify-content: center; }
.rundtur-start { display: flex; gap: 18px; align-items: center; justify-content: space-between; flex-wrap: wrap; background: linear-gradient(135deg, #E7F3EC, #F6FAF8); border: 1px solid #BFE1CC; border-radius: 16px; padding: 20px 22px; margin: 0 0 26px; }
.rundtur-start h2 { font-family: 'Fraunces', serif; margin: 0 0 4px; font-size: 1.35rem; }
.rundtur-start p { margin: 0; color: #1E4A3E; }
.valkommen-ny { background: #FFFCF3; border: 1px solid #EBD89B; border-radius: 14px; padding: 16px 20px; margin: 0 0 18px; }
.quiz-fraga { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; margin-bottom: 10px; }
/* Knapparna i rundturens bubbla syns alltid, även när texten måste scrollas. */
.rundtur-knappar { position: sticky; bottom: -16px; background: #fff; padding: 10px 0 2px; margin-bottom: -2px; }
@media (max-width: 699px) {
  .rundtur-bubbla { font-size: 14.5px; padding: 14px 16px 16px; }
  .rundtur-bubbla h3 { font-size: 1.15rem; }
}

/* ---- Forum (forum.html, trad.html) ---- */
.forum-topp { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin: 4px 0 14px; }
.forum-topp input[type=search] { flex: 1 1 240px; min-width: 0; padding: 10px 14px; border: 1px solid var(--line); border-radius: 10px; font: inherit; background: #fff; }
.forum-stat { display: flex; gap: 18px; flex-wrap: wrap; font-size: 13px; color: var(--muted); margin: 0 0 16px; }
.forum-stat strong { color: var(--ink); font-size: 15px; }
.forum-filter { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin: 0 0 14px; }
.forum-filter select { padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; font: inherit; background: #fff; max-width: 100%; }
.trad-kort { display: flex; gap: 14px; justify-content: space-between; background: var(--card, #fff); border: 1px solid var(--line); border-radius: 12px; padding: 14px 18px; margin-bottom: 10px; color: inherit; text-decoration: none; }
.trad-kort:hover { border-color: var(--accent); text-decoration: none; color: inherit; }
.trad-kort .huvud { min-width: 0; flex: 1; }
.trad-kort .rubrik { font-weight: 600; font-size: 16px; line-height: 1.35; color: var(--ink); overflow-wrap: anywhere; }
.trad-kort .inledning { font-size: 14px; color: #4B5563; margin: 4px 0 6px; line-height: 1.45; overflow-wrap: anywhere; }
.trad-kort .etiketter { display: flex; gap: 6px; flex-wrap: wrap; margin: 6px 0 4px; }
.trad-kort .meta { font-size: 12.5px; color: var(--muted); }
.trad-kort .siffror { flex: none; text-align: right; font-size: 12.5px; color: var(--muted); display: flex; flex-direction: column; gap: 2px; align-items: flex-end; }
.trad-kort .siffror strong { font-size: 18px; color: var(--ink); font-family: 'Fraunces', serif; }
.amne-etikett, .kopplad-etikett, .min-etikett { font-size: 11.5px; font-weight: 600; padding: 2px 8px; border-radius: 999px; }
.amne-etikett { background: #EEF2EF; color: var(--accent); }
.kopplad-etikett { background: #EDF0F7; color: #2F4A7A; }
.min-etikett { background: #FFF4D6; color: #6B4A07; }
.ny-trad { margin-bottom: 20px; }
.ny-trad .field label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 4px; }
.forum-regler { margin: 0 0 16px; }
.kommentar.tradstart { border-left-color: var(--accent); background: #F6FAF8; padding: 12px 14px; border-radius: 0 10px 10px 0; }
.tradstart-etikett { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--accent); margin-bottom: 4px; }
.trad-huvud { display: flex; gap: 8px 14px; align-items: center; flex-wrap: wrap; margin: 0 0 18px; }
@media (max-width: 600px) {
  .trad-kort { flex-direction: column; gap: 6px; }
  .trad-kort .siffror { flex-direction: row; gap: 12px; align-items: baseline; text-align: left; }
}

/* ---- Voteringar: ett kort per betänkande med en rad per förslagspunkt ---- */
.vote-grupp { background: var(--card, #fff); border: 1px solid var(--line); border-radius: 14px; padding: 16px 20px; margin-bottom: 12px; }
.vote-grupp-huvud .name { font-weight: 600; font-size: 16px; margin: 4px 0 2px; }
.vote-grupp-huvud .sub { font-size: 13px; }
.vote-grupp-punkter { margin-top: 10px; border-top: 1px solid #EEEBE1; }
.vote-punkt { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 4px; border-bottom: 1px solid #EEEBE1; color: inherit; text-decoration: none; }
.vote-punkt:last-child { border-bottom: none; }
.vote-punkt:hover { background: #F6FAF8; text-decoration: none; color: inherit; }
.vote-punkt-text { font-size: 14px; min-width: 0; overflow-wrap: anywhere; }
.vote-punkt .vote-tally { font-size: 12.5px; color: var(--muted); margin-top: 2px; }
/* ---- Anföranden: en ruta per debatt ---- */
.debatt-kort { background: var(--card, #fff); border: 1px solid var(--line); border-radius: 14px; padding: 16px 20px; margin-bottom: 12px; }
.debatt-kort .name { font-weight: 600; font-size: 16px; margin: 2px 0; overflow-wrap: anywhere; }
.debatt-partier { display: flex; gap: 5px; flex-wrap: wrap; margin: 8px 0; }
.debatt-lankar { display: flex; gap: 14px; flex-wrap: wrap; font-size: 14px; margin: 6px 0 4px; }
.debatt-lista { list-style: none; padding: 0; margin: 8px 0 0; }
.debatt-lista li a { display: flex; justify-content: space-between; gap: 10px; padding: 7px 4px; border-bottom: 1px solid #EEEBE1; color: inherit; text-decoration: none; font-size: 14px; }
.debatt-lista li a:hover { background: #F6FAF8; }
.debatt-lista .replik { font-size: 11.5px; color: var(--muted); font-weight: 400; }
.debatt-lista li.traff a { background: #FFF8DC; }
.debatt-detaljer { border: 1px solid var(--line); border-radius: 10px; margin-top: 8px; background: #fff; }
.debatt-detaljer summary { cursor: pointer; padding: 9px 12px; color: var(--accent); font-weight: 600; font-size: 14px; }
.debatt-detaljer .debatt-lista { display: block; columns: auto; list-style: none; margin: 0; }
.debatt-detaljer .debatt-lista li { display: block; width: auto; }
.vote-grupp .kat { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: var(--accent-dark, #1E4A3E); background: #E7F3EC; border-radius: 6px; padding: 2px 7px; }
/* ---- Hela debatten (debatt.html) ---- */
.tal { background: var(--card, #fff); border: 1px solid var(--line); border-radius: 12px; padding: 14px 18px; margin-bottom: 10px; scroll-margin-top: calc(var(--header-h, 70px) + 12px); }
.tal.replik { margin-left: 28px; border-left: 3px solid #C9D8D1; background: #FBFCFB; }
.tal.laddar { color: var(--muted); }
.tal.markerat { border-color: var(--accent); box-shadow: 0 0 0 3px #CFE0D8; }
.tal-huvud { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 6px; }
.replik-etikett { font-size: 12px; color: var(--accent); font-weight: 600; }
.tal-text p { margin: 0 0 10px; line-height: 1.6; font-size: 15px; }
.tal-text.ihop { max-height: 13em; overflow: hidden; -webkit-mask-image: linear-gradient(#000 70%, transparent); mask-image: linear-gradient(#000 70%, transparent); }
@media (max-width: 600px) { .tal.replik { margin-left: 12px; } }
.tal-fot { display: flex; gap: 18px; flex-wrap: wrap; align-items: center; font-size: 14px; margin-top: 4px; }
/* ---- Tillfälligt lösenord (admin-medlemmar.html) ---- */
.losen-resultat { background: #FFFCF3; border: 1px solid #EBD89B; border-radius: 10px; padding: 12px 14px; margin-top: 12px; }
.losen-visa { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 22px; letter-spacing: .06em; font-weight: 700; margin: 4px 0; user-select: all; }

/* ---- Inloggningsvägg (app.js visaInloggningsvagg) ---- */
html.vagg-vantar body > *, html.vaggad body > *:not(.inlogg-vagg) { filter: blur(7px); pointer-events: none; user-select: none; }
html.vaggad, html.vaggad body { overflow: hidden; }
.inlogg-vagg { position: fixed; inset: 0; z-index: 9500; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(246, 244, 239, 0.45); overflow-y: auto; }
.inlogg-ruta { width: min(420px, 100%); background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 26px 26px 20px; box-shadow: 0 24px 60px rgba(27, 36, 48, 0.25); margin: auto; }
.inlogg-brand { display: flex; align-items: center; gap: 10px; font-family: 'Fraunces', serif; font-weight: 700; font-size: 20px; margin-bottom: 14px; }
.inlogg-brand .logo { width: 32px; height: 32px; border-radius: 8px; background: var(--ink); display: inline-flex; align-items: center; justify-content: center; }
.inlogg-ruta h2 { font-family: 'Fraunces', serif; font-size: 1.5rem; margin: 0 0 6px; }
.inlogg-pitch { color: #4B5563; margin: 0 0 16px; line-height: 1.5; font-size: 15px; }
.inlogg-eller { display: flex; align-items: center; gap: 10px; margin: 16px 0 12px; color: var(--muted); font-size: 13px; }
.inlogg-eller::before, .inlogg-eller::after { content: ''; flex: 1; border-top: 1px solid var(--line); }

/* EU-nivån (eu.html, eu-omrostning.html) */
.eu-kalla{font-size:12px;color:var(--muted);margin:18px 0 0;}
.eu-sokform{display:flex;gap:8px;margin:0 0 14px;}
.eu-sok{flex:1;min-width:0;padding:9px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--card);}
.eu-rad{align-items:flex-start;}
.eu-sverige{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:var(--muted);}
.eu-sverige-rubrik{font-weight:600;color:var(--ink);}
.eu-stapel{display:flex;width:120px;height:8px;border-radius:100px;overflow:hidden;background:var(--bg);}
.eu-del.ja{background:#2F6F5E;}
.eu-del.nej{background:#B5452B;}
.eu-del.avstar{background:#9AA0A6;}
.eu-del.borta{background:var(--line);}
.eu-sidor{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;}
.tag-varning{background:#FFF4D6;border-color:#EBD9A3;color:#7A5A00;}
.eu-framsteg{display:grid;gap:4px;margin:8px 0;}
.eu-knappar{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.eu-over{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;}
.eu-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px;}
.eu-parti{padding:10px 0;border-top:1px solid var(--line);}
.eu-parti:first-of-type{border-top:none;}
.eu-parti-rubrik{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:600;margin-bottom:4px;}
.eu-ledamot{display:flex;justify-content:space-between;gap:12px;padding:3px 0 3px 4px;font-size:14px;}
.eu-rost{font-weight:600;font-size:13px;padding:1px 8px;border-radius:6px;background:var(--bg);color:var(--muted);white-space:nowrap;}
.eu-rost.ja{background:#E7F3EC;color:#1E7A46;}
.eu-rost.nej{background:#FBEAEA;color:#7A2E2E;}
.eu-rost.avstar{background:#EEF0F2;color:#3C4550;}
.eu-bar-row{grid-template-columns:60px 1fr 44px;}
.eu-grupper h3{font-family:'Fraunces',serif;font-size:17px;margin:22px 0 2px;}
.eu-tabell-wrap{overflow-x:auto;}
.eu-tabell{width:100%;border-collapse:collapse;font-size:14px;}
.eu-tabell th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--line);}
.eu-tabell td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top;}
.eu-tabell td:not(:first-child),.eu-tabell th:not(:first-child){text-align:right;white-space:nowrap;}
.eu-lankar{padding-left:18px;}
.eu-lankar li{margin:4px 0;}

/* Min kommun och region (kommun.html) */
.km-valj{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;}
.km-valj-rubrik{font-size:13px;font-weight:600;}
.km-valj .sokvaljare{flex:1;min-width:220px;max-width:420px;}
.km-status{margin:14px 0;}
.km-status-ok,.km-status-okand{border-radius:10px;padding:12px 14px;display:grid;gap:4px;font-size:14px;}
.km-status-ok{background:#E7F3EC;border:1px solid #CFE6D8;}
.km-status-okand{background:#FFF8E6;border:1px solid #EBD9A3;}
.km-tips{margin-top:10px;}
.km-tips select,.km-tips textarea,.km-brev input,.km-brev textarea{font:inherit;font-size:15px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);width:100%;box-sizing:border-box;}
.km-vagar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;}
.km-vag{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--bg);}
.km-vag h3{font-family:'Fraunces',serif;font-size:16px;margin:0 0 6px;}
.km-vag p{margin:0 0 6px;font-size:14px;line-height:1.5;}
.km-tal{font-weight:600;}
.km-knappar{display:flex;gap:8px;flex-wrap:wrap;}
.km-partier{display:grid;gap:6px;margin:10px 0;}
.km-parti{display:grid;grid-template-columns:minmax(110px,190px) 1fr 110px;align-items:center;gap:10px;font-size:14px;}
.km-parti-namn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.km-parti-tal{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
.km-mandat h3{font-family:'Fraunces',serif;font-size:16px;margin:14px 0 6px;}
.km-mandat-rad{display:flex;gap:6px;flex-wrap:wrap;}
.km-tabell td:first-child{min-width:180px;}
.km-brev{width:min(560px,calc(100vw - 32px));}
@media (max-width:640px){
  .km-vagar{grid-template-columns:1fr;}
  .km-parti{grid-template-columns:96px 1fr 92px;gap:6px;font-size:13px;}
}
dialog.km-brev{border:1px solid var(--line);border-radius:16px;padding:22px 22px 18px;box-shadow:0 24px 60px rgba(27,36,48,.25);max-height:calc(100dvh - 32px);overflow:auto;}
dialog.km-brev::backdrop{background:rgba(27,36,48,.45);}
.km-brev h3{font-family:'Fraunces',serif;font-size:20px;margin:0 0 8px;}
.km-brev-knappar{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:12px;}
.km-brev-knappar > :first-child{margin-right:auto;}
@media (max-width:640px){
  .km-tabell td:first-child{min-width:0;}
  .km-tabell th,.km-tabell td{padding:8px 4px;}
  .km-tabell td .sub{font-size:11px;}
}
@media (max-width:640px){
  .km-kolada{display:none;}
  .km-tabell{font-size:13px;}
  .km-tabell td:not(:first-child),.km-tabell th:not(:first-child){white-space:normal;}
}
@media (max-width:640px){
  .km-tabell thead{display:none;}
  .km-tabell tr{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);padding:8px 0;}
  .km-tabell td{border-bottom:none;padding:2px 4px;}
  .km-tabell td:first-child{grid-column:1/-1;font-weight:600;}
  .km-tabell td:not(:first-child){text-align:left;}
  .km-tabell td[data-l]::before{content:attr(data-l);display:block;color:var(--muted);font-size:12px;font-weight:400;}
}

/* Profilen: Vilka röstar som du? + Mina skuggröster */
.jf-rm{margin-bottom:10px;}
.jf-summa{font-size:14px;margin:0 0 10px;}
.jf-h{font-family:'Fraunces',serif;font-size:16px;margin:18px 0 8px;}
.jf-partier{display:grid;gap:6px;}
.jf-parti{display:grid;grid-template-columns:44px 1fr 120px;align-items:center;gap:10px;font-size:14px;}
.jf-parti .parti-chip{text-align:center;}
.jf-tal{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:14px;}
.jf-amnen{display:grid;gap:6px;}
.jf-amne{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;padding:6px 0;border-bottom:1px solid var(--line);}
.jf-amne-namn{font-weight:600;}
.jf-ledamoter{display:grid;gap:2px;}
.jf-ledamot{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;padding:7px 4px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:14px;}
.jf-ledamot:hover{background:var(--bg);text-decoration:none;}
.jf-ledamot .parti-chip{text-align:center;}
.jf-namn{min-width:0;overflow:hidden;text-overflow:ellipsis;}
.jf-hur{margin-top:16px;}
.jf-historik{display:grid;}
.jf-hrad{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);}
.jf-hmeta{min-width:0;display:grid;gap:2px;}
.jf-htitel{font-weight:600;font-size:14px;}
.jf-hval{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none;}
.jf-som{font-size:12px;font-weight:600;white-space:nowrap;}
.jf-som.ja{color:#1E7A46;}
.jf-som.nej{color:#7A2E2E;}
@media (max-width:560px){
  .jf-parti{grid-template-columns:40px 1fr 96px;gap:6px;}
  .jf-ledamot{grid-template-columns:40px 1fr;}
  .jf-ledamot .jf-tal{grid-column:2;text-align:left;}
  .jf-hrad{flex-direction:column;}
  .jf-hval{flex-direction:row;align-items:center;}
}

/* Statens budget (budget.html) */
.sb-topp{display:flex;align-items:center;gap:10px;margin:6px 0 14px;}
.sb-ar-rubrik{font-size:13px;font-weight:600;}
.sb-topp select{font:inherit;font-size:15px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);}
.sb-hero{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 24px;}
.sb-hero-tal{font-family:'Fraunces',serif;font-size:clamp(34px,6vw,48px);font-weight:700;line-height:1.1;}
.sb-hero-tal span{font-family:'IBM Plex Sans',sans-serif;font-size:18px;font-weight:500;color:var(--muted);}
.sb-sort{margin-bottom:10px;}
.sb-lista{display:grid;border-top:1px solid var(--line);}
.sb-rad{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(80px,1fr) 150px 96px;align-items:center;gap:12px;padding:10px 2px;border-bottom:1px solid var(--line);}
.sb-namn{display:flex;gap:10px;align-items:baseline;font-size:14px;font-weight:600;min-width:0;}
.sb-namn > span:last-child{display:grid;gap:2px;}
.sb-nr{flex:none;width:24px;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:500;}
.sb-utskott{font-size:12px;font-weight:400;}
.sb-tal{display:grid;text-align:right;font-variant-numeric:tabular-nums;font-size:14px;white-space:nowrap;}
.sb-tal .sub{font-size:12px;}
.sb-trend{display:block;}
.sb-riksdagen{margin-top:22px;}
@media (max-width:640px){
  .sb-rad{grid-template-columns:1fr auto;gap:6px 10px;}
  .sb-namn{grid-column:1/-1;}
  .sb-stapel{grid-column:1;}
  .sb-tal{grid-column:2;grid-row:2 / span 2;}
  .sb-trend{grid-column:1;}
}
@media (max-width:640px){ .sb-riksdagen .tag{display:none;} }

/* Granska makten (granska.html) */
.makt-citat{margin:0 0 24px;padding:16px 20px;border-left:4px solid var(--accent);background:var(--card);border-radius:0 12px 12px 0;}
.makt-citat p{margin:0;font-family:'Fraunces',serif;font-size:22px;}
.makt-citat cite{display:block;margin-top:6px;font-size:13px;font-style:normal;color:var(--muted,#5B6472);}
.makt-karta{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-bottom:28px;}
.makt-ruta{display:flex;flex-direction:column;gap:2px;padding:14px;background:var(--card);border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink);}
.makt-ruta:hover{border-color:var(--accent);}
.makt-ikon{font-size:22px;}
.makt-typ{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);font-weight:600;}
.makt-h2{margin:0 0 12px;}
.makt-gren h3{margin:4px 0 8px;font-size:22px;}
.makt-granskas{font-size:14px;background:var(--bg);border-radius:10px;padding:10px 12px;}
.makt-lankar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px;}
.makt-etikett{font-size:13px;font-weight:600;margin-right:4px;}
.makt-kommer{margin-top:12px;font-size:14px;color:var(--muted,#5B6472);}
.makt-kommer ul{margin:4px 0 0;padding-left:20px;}
@media (max-width:600px){.makt-karta{grid-template-columns:1fr 1fr;}.makt-citat p{font-size:18px;}}

/* Regeringen (regeringen.html) */
.regering-topp .detail-head img{width:96px;height:96px;border-radius:50%;object-fit:cover;}
.regering-partier{margin:8px 0 4px;font-size:14px;}
.departement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-bottom:20px;}
.departement-grid .departement{margin-bottom:0;padding:20px;}
.departement h3{margin:0 0 12px;font-size:17px;}
.statsrad{display:flex;gap:12px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line);}
.statsrad:first-of-type{border-top:0;padding-top:0;}
.statsrad img,.statsrad-tom{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none;background:var(--bg);}
.statsrad-namn{font-weight:600;}
.regering-andringar summary,.regering-tidigare summary{cursor:pointer;font-weight:600;}
.regering-tidigare{border-top:1px solid var(--line);padding:10px 0;}
.regering-tidigare summary{font-weight:400;}
.regering-tidigare .uppdrag-list{margin-top:10px;}

/* EU-ledamöternas förklaringar (eu.html?flik=ledamoter) */
.eu-mep{padding:20px;margin-bottom:14px;scroll-margin-top:80px;}
.eu-mep-topp{display:flex;gap:14px;align-items:center;margin-bottom:10px;}
.eu-mep-topp img{width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--bg);flex:none;}
.eu-mep h3{margin:0 0 2px;}
.eu-privata ul,.eu-dekl ul{margin:6px 0 8px;padding-left:20px;font-size:14px;}
.eu-dekl summary{cursor:pointer;font-size:14px;padding:4px 0;}

/* På gång i regeringen (pagang.html) */
.pagang-steg{list-style:none;padding:0;margin:0 0 20px;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;}
.pagang-steg a{display:flex;flex-direction:column;gap:2px;height:100%;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);font-size:13px;}
.pagang-steg a:hover{border-color:var(--accent);}
.pagang-steg strong{font-size:15px;}
.pagang-steg span:last-child{color:var(--muted);}
.pagang-nr{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;font-weight:600;margin-bottom:4px;}
.pagang-sok{width:100%;max-width:520px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;margin:0 0 12px;}
.pagang-hur ol{margin:0 0 10px;padding-left:20px;}
.pagang-hur li{margin-bottom:4px;}
.pagang-remiss{align-items:flex-start;}
.pagang-remiss .tag{white-space:normal;text-align:right;max-width:170px;}
@media (max-width:700px){.pagang-steg{grid-template-columns:1fr 1fr;}.pagang-remiss{flex-direction:column;}.pagang-remiss .tag{text-align:left;max-width:none;}}

/* Myndigheterna (myndigheter.html) */
.myn-filter select{font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:8px;margin-left:6px;max-width:100%;}
.myn-kort{display:block;padding:0;}
.myn-kort summary{cursor:pointer;list-style:none;padding:14px 18px;}
.myn-kort summary::-webkit-details-marker{display:none;}
.myn-kort[open] summary{border-bottom:1px solid var(--line);}
.myn-detalj{padding:14px 18px;}
.myn-detalj dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:0 0 12px;font-size:14px;}
.myn-detalj dt{color:var(--muted);}
.myn-detalj dd{margin:0;overflow-wrap:anywhere;}
.departement-myn{display:inline-block;margin-top:10px;font-size:13px;}
.departement{scroll-margin-top:80px;}
@media (max-width:600px){.myn-detalj dl{grid-template-columns:1fr;}.myn-detalj dt{margin-top:6px;}}

/* Partiernas pengar (partier.html) */
.pk-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;margin:0 0 12px;}
.pk-legend span{display:inline-flex;align-items:center;gap:6px;}
.pk-legend i,.pk-prick{display:inline-block;width:10px;height:10px;border-radius:3px;}
.pk-prick{margin-right:8px;}
.pk-diagram{display:flex;flex-direction:column;gap:10px;}
.pk-rad{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;text-decoration:none;color:var(--ink);}
.pk-rad:hover .pk-stapel{opacity:.85;}
.pk-stapel{display:flex;gap:2px;height:18px;min-width:4px;}
.pk-del{min-width:2px;}
.pk-del:first-child{border-radius:4px 0 0 4px;}
.pk-del:last-child{border-radius:0 4px 4px 0;}
.pk-del:only-child{border-radius:4px;}
.pk-summa{font-size:13px;font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;}
.pk-parti{scroll-margin-top:80px;}
.pk-parti h3{margin:0 0 4px;}
.pk-tabell{border-collapse:collapse;margin:12px 0;font-size:14px;}
.pk-tabell td{padding:4px 16px 4px 0;font-variant-numeric:tabular-nums;}
.pk-tabell td:nth-child(n+2){text-align:right;white-space:nowrap;}
@media (max-width:520px){.pk-tabell td{padding-right:10px;}.pk-tabell td:first-child{white-space:normal;}}
.pk-total td{border-top:1px solid var(--line);font-weight:600;padding-top:6px;}
.pk-bidrag h4,.pk-mer h4{margin:12px 0 6px;font-size:14px;}
.pk-mer summary{cursor:pointer;font-size:14px;}
.pk-ar{list-style:none;padding:0;margin:0;font-size:14px;}
.pk-ar li{display:flex;justify-content:space-between;gap:12px;padding:3px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;}

/* Pengar till företag (pengar.html) */
.pf-sokrad{display:flex;gap:10px;flex-wrap:wrap;}
.pf-sokrad .pagang-sok{flex:1 1 280px;}
.pf-filter{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start;margin:0 0 12px;}
.pf-filter select{padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:var(--card);max-width:100%;}
.pf-filter .sokvaljare{flex:0 1 220px;}
.pf-filter .pagang-sok{flex:1 1 240px;margin:0;}
.pf-kontrakt{align-items:flex-start;margin-bottom:10px;}
.pf-kontrakt .meta{flex:1;min-width:0;}
.pf-parter{margin:8px 0 6px;font-size:14px;display:grid;gap:3px;}
.pf-etikett{display:inline-block;min-width:112px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;}
.pf-belopp{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;}
.pf-bladdra{align-items:center;justify-content:center;margin:14px 0;}
.pf-nyckel{display:flex;gap:12px 32px;flex-wrap:wrap;}
.pf-nyckel strong{display:block;font-family:'Fraunces',serif;font-size:28px;}
.pf-staplar{display:grid;gap:6px;margin:8px 0 12px;}
.pf-stapelrad{display:grid;grid-template-columns:minmax(120px,220px) 1fr 170px;gap:10px;align-items:center;font-size:14px;}
.pf-stapelnamn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pf-stapel{height:12px;background:var(--bg);border-radius:4px;overflow:hidden;}
.pf-stapel span{display:block;height:100%;background:var(--accent);border-radius:4px;}
.pf-summa{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;}
.pf-stodlista{display:grid;}
.pf-stod{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--line);font-size:14px;}
@media (max-width:600px){
  .pf-stapelrad{grid-template-columns:1fr auto;gap:2px 10px;}
  .pf-stapel{grid-column:1 / -1;grid-row:2;}
  .pf-kontrakt{flex-direction:column;gap:6px;}
  .pf-etikett{display:block;}
}

/* Statens budget: jämförelse och tidslinje */
.sb-jamfor{margin:18px 0;}
.sb-jval{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-bottom:8px;}
.sb-jval select{font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--card);}
.sb-jval .pill-row{margin:0;}
.sb-fasta{display:flex;gap:6px;align-items:center;font-size:14px;margin:6px 0 10px;}
.sb-jsumma{font-size:15px;}
.sb-jkol{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.sb-jkol h3{margin:8px 0;}
.sb-jlista{display:grid;}
.sb-jrad{display:grid;grid-template-columns:minmax(0,1fr) 70px 110px;gap:10px;align-items:center;padding:7px 0;border-top:1px solid var(--line);font-size:14px;}
.sb-jnamn{display:flex;gap:8px;align-items:baseline;min-width:0;}
.sb-jstapel{height:10px;background:var(--bg);border-radius:4px;overflow:hidden;}
.sb-jstapel span{display:block;height:100%;border-radius:4px;}
.sb-jstapel .upp{background:var(--accent);}
.sb-jstapel .ned{background:#B5651D;}
.sb-tid-wrap{overflow-x:auto;}
.sb-tid{width:100%;min-width:560px;height:auto;display:block;}
.sb-tid-grid{stroke:var(--line);stroke-width:1;}
.sb-tid-axel{font-size:12px;fill:var(--muted);}
.sb-tid-reg{font-size:12px;fill:var(--ink);font-weight:600;pointer-events:none;}
.sb-tid-stapel{fill:var(--accent);fill-opacity:.45;cursor:pointer;}
.sb-tid-stapel:hover,.sb-tid-stapel:focus{fill-opacity:.7;outline:none;}
.sb-tid-stapel.vald{fill-opacity:1;}
@media (max-width:700px){
  .sb-jkol{grid-template-columns:1fr;gap:4px;}
  .sb-jrad{grid-template-columns:minmax(0,1fr) auto;}
  .sb-jnamn{grid-column:1;grid-row:1;}
  .sb-jrad .sb-tal{grid-column:2;grid-row:1;}
  .sb-jstapel{grid-column:1 / -1;grid-row:2;}
}
.sb-flytt{display:block;font-size:12px;}
.sb-slista{display:grid;margin:8px 0;}
.sb-srad{display:grid;grid-template-columns:minmax(0,1fr) 120px 170px;gap:10px;align-items:center;padding:6px 0;border-top:1px solid var(--line);font-size:14px;}
.sb-srad.grupp{font-weight:600;padding-top:10px;}
.sb-srad.del{padding-left:18px;color:var(--ink);}
.sb-srad.del .sb-jstapel .upp{opacity:.55;}
@media (max-width:700px){
  .sb-srad{grid-template-columns:minmax(0,1fr) auto;}
  .sb-srad > span:first-child{grid-column:1;grid-row:1;}
  .sb-srad .sb-tal{grid-column:2;grid-row:1;}
  .sb-srad .sb-jstapel{grid-column:1 / -1;grid-row:2;}
}
.eu-filter{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 12px;}
.eu-filter select{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);max-width:100%;}
.eus-partier{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px 18px;margin:8px 0 12px;}
.eus-parti{display:flex;gap:10px;align-items:flex-start;}
.eus-parti ul{list-style:none;margin:0;padding:0;font-size:14px;display:grid;gap:3px;}
.eus-rost{font-weight:600;font-size:13px;}

/* Kalendern i månadsvy (kalender.html) */
.kal-euparl{border-left-color:#0E7C86;}
.kal-lag{border-left-color:#9B5B2E;}
#vy-toggle{margin-bottom:10px;}
.kal-m-nav{display:flex;align-items:center;gap:10px;margin:8px 0 10px;}
.kal-m-nav .btn-secondary{min-width:40px;}
.kal-m-rubrik{font-family:'Fraunces',serif;font-size:24px;margin:0;min-width:190px;text-align:center;}
.kal-m-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;margin:0 0 10px;}
.kal-m-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px;}
.kal-m-grid{display:grid;grid-template-columns:28px repeat(7,minmax(0,1fr));gap:4px;margin-bottom:10px;}
.kal-m-head{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:center;padding:4px 0;}
.kal-m-vnr{font-size:11px;color:var(--muted);display:flex;align-items:flex-start;justify-content:center;padding-top:8px;}
.kal-m-vnr.kal-m-head{padding-top:4px;}
.kal-m-dag{background:var(--card);border:1px solid var(--line);border-radius:10px;min-height:104px;padding:6px 7px;text-align:left;font:inherit;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:4px;overflow:hidden;min-width:0;}
.kal-m-dag:hover,.kal-m-dag:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px rgba(47,111,94,.15);}
.kal-m-dag.utanfor{background:transparent;color:var(--muted);}
.kal-m-dag.idag{border:2px solid var(--ink);}
.kal-m-dag.idag .kal-m-nr{background:var(--ink);color:var(--bg);border-radius:100px;padding:0 7px;}
.kal-m-nr{font-weight:700;font-size:14px;align-self:flex-start;}
.kal-m-prickar{display:flex;flex-wrap:wrap;gap:3px;}
.kal-m-prick{min-width:10px;height:10px;border-radius:100px;font-size:9px;line-height:10px;color:#fff;text-align:center;padding:0 2px;font-weight:700;}
.kal-m-titlar{display:grid;gap:2px;min-width:0;}
.kal-m-titel{font-size:11px;line-height:1.3;border-left:3px solid var(--line);padding-left:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.kal-m-fler{font-size:11px;color:var(--muted);}
.kal-dag-dialog{max-width:640px;width:calc(100% - 24px);}
.kal-dag-lista{display:grid;gap:0;max-height:60vh;overflow-y:auto;margin:8px 0;}
@media (max-width:700px){
  .kal-m-grid{grid-template-columns:20px repeat(7,minmax(0,1fr));gap:2px;}
  .kal-m-dag{min-height:52px;padding:4px 3px;border-radius:8px;align-items:center;}
  .kal-m-titlar{display:none;}
  .kal-m-nr{align-self:center;font-size:13px;}
  .kal-m-prickar{justify-content:center;}
  .kal-m-prick{min-width:7px;height:7px;font-size:0;padding:0;}
  .kal-m-head{font-size:10px;letter-spacing:0;}
  .kal-m-rubrik{font-size:20px;min-width:0;flex:1;}
}

/* Min sida (profil.html, Fas 3) */
.min-sida{display:flex;flex-direction:column;gap:20px;max-width:980px;}
.min-sida .detail-card{margin-bottom:0;}
.min-sida-h{font-family:'Fraunces',serif;font-size:26px;margin:24px 0 0;padding-top:18px;border-top:1px solid var(--line);scroll-margin-top:80px;}
.min-sida-installningar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;}
.min-sida-installningar .detail-card{margin-bottom:0;}
#min-kalender .kal-m-dag{min-height:88px;}
.mk-rad{display:flex;gap:10px;align-items:flex-start;padding:9px 4px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:14px;}
.mk-rad:last-child{border-bottom:none;}
a.mk-rad:hover strong{text-decoration:underline;}
.mk-rad.ny strong{color:var(--ink);}
.mk-prick{flex:none;width:10px;height:10px;border-radius:50%;margin-top:5px;}
.pp-bild{width:36px;height:36px;border-radius:50%;object-fit:cover;background:var(--bg);}
.pp-lista .jf-ledamot{grid-template-columns:44px 1fr auto;}
.pp-niva{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:13px;font-weight:600;}
.pp-niva span{min-width:110px;}
.pp-val{font:inherit;font-weight:400;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);max-width:100%;}
@media (max-width:900px){ .min-sida-installningar{grid-template-columns:minmax(0,1fr);} }
@media (max-width:700px){ #min-kalender .kal-m-dag{min-height:48px;} .pp-niva{flex-wrap:wrap;} }

/* Rättsväsendet i siffror (rattsvasendet.html) */
.rv-hopp{margin:6px 0 16px;}
.rv-hopp .pill{text-decoration:none;}
#innehall > section, #jo-slot > section{margin-bottom:20px;scroll-margin-top:80px;}
.rv-tabell-wrap{overflow-x:auto;}
.rv-tabell{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums;}
.rv-tabell th{text-align:right;font-size:12px;color:var(--muted);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap;}
.rv-tabell th:first-child{text-align:left;}
.rv-tabell td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;}
.rv-tabell td:first-child{text-align:left;white-space:normal;}
.rv-tabell tr.niva0 td{font-weight:700;}
.rv-tabell tr.niva1 td:first-child{font-weight:600;}
.rv-tabell tr.niva2 td:first-child{padding-left:24px;color:var(--ink);}
.rv-tabell td.rv-trend,.rv-tabell th.rv-trend{text-align:center;}
.rv-jo{margin-bottom:8px;}
@media (max-width:640px){ .rv-tabell .rv-trend{display:none;} .rv-tabell td,.rv-tabell th{padding:6px 5px;} }
#bidrag h3{margin:22px 0 6px;}
#bidrag h3:first-of-type{margin-top:8px;}
.bb-valjare{max-width:360px;margin:6px 0 10px;}
.bb-kommun .pf-nyckel strong{font-size:22px;}

/* EU: ministerrådet och lagar på väg */
.eu-eun{margin-bottom:16px;}
.eu-eun-punkt{border-top:1px solid var(--line);padding:12px 0;}
.eu-eun-punkt h3{margin:0 0 2px;font-size:16px;}
.eu-slutsatser{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:8px;}
.eu-slutsatser q{font-style:italic;}
.eu-avvikande{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:4px;}
.eu-lag{margin-bottom:10px;}
.eu-lag summary{cursor:pointer;list-style:none;}
.eu-lag summary::-webkit-details-marker{display:none;}
.eu-lag summary .name{font-weight:600;}
.eu-lag summary .name::after{content:' ▾';color:var(--accent);}
.eu-lag[open] summary .name::after{content:' ▴';}
.eu-eun summary .name{font-family:'Fraunces',serif;font-size:1.2em;}
.eu-lag-taggar{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;}
.eu-tidslinje{list-style:none;margin:12px 0;padding:0 0 0 18px;border-left:2px solid var(--line);display:grid;gap:8px;}
.eu-tidslinje li{position:relative;font-size:14px;display:flex;gap:10px;flex-wrap:wrap;}
.eu-tidslinje li::before{content:'';position:absolute;left:-24px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--accent);}
.eu-tidslinje li.klar::before{background:var(--ink);}
.eu-tid-datum{min-width:140px;color:var(--muted);font-variant-numeric:tabular-nums;}
/* Nya lagar */
.nl-kort{margin-bottom:12px;}
.nl-topp{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px;}
.nl-topp a.tag{text-decoration:none;}
.nl-rubrik{font-family:'Fraunces',serif;font-size:1.25em;margin:4px 0 4px;line-height:1.3;}
.nl-manad{margin:26px 0 10px;}
.nl-nar{list-style:none;padding:0;margin:8px 0 0;}
.nl-nar li{font-size:.95em;margin:2px 0;}
.nl-nar q{font-style:italic;}
.nl-obs{color:#8A5A00;}
.nl-inne{margin-top:8px;}
.nl-inne summary{cursor:pointer;color:var(--accent);font-weight:600;}
.nl-inne p{margin:6px 0;}
.nl-lagar{margin:6px 0 0;padding-left:20px;}
.nl-lankar{margin:10px 0 0;}

/* Valda i fullmäktige (kommun.html) */
.km-valda{border-top:1px solid var(--line);padding:8px 0;}
.km-valda > summary{cursor:pointer;font-weight:600;}
.km-valda-lista{margin:8px 0 4px;padding-left:28px;columns:2 260px;column-gap:24px;}
.km-valda-lista li{margin:2px 0;break-inside:avoid;}
.km-valda-lista .tag{margin-left:6px;font-size:10px;}
.km-ersattare{margin:4px 0 0 8px;}
.km-ersattare summary{cursor:pointer;color:var(--accent);font-size:14px;}
/* Statligt ägda bolag (statliga-bolag.html) */
.sb-kpi-rad{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:0 0 14px;}
.sb-kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;}
.sb-kpi-tal{font-family:'Fraunces',serif;font-size:1.5em;font-weight:600;}
.sb-bolag{margin-bottom:10px;}
.sb-bolag > summary{cursor:pointer;list-style:none;}
.sb-bolag > summary::-webkit-details-marker{display:none;}
.sb-bolag-topp{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:4px;}
.sb-bolag-namn{font-family:'Fraunces',serif;font-size:1.2em;font-weight:600;}
.sb-bolag-namn::after{content:' ▾';color:var(--accent);font-size:.8em;}
.sb-bolag[open] .sb-bolag-namn::after{content:' ▴';}
.sb-bolag-fakta{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:14px 0 8px;}
.sb-bolag-fakta dt{color:var(--muted);}
.sb-bolag-fakta dd{margin:0;}
.sb-uppdrag{background:var(--bg);border-radius:10px;padding:10px 14px;margin:10px 0;}
.sb-uppdrag h3{margin:0 0 4px;font-size:15px;}
.sb-uppdrag p{margin:0;}
.sb-bolag-tabell td:not(:first-child),.sb-bolag-tabell th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums;}
.sb-neg{color:#B5452B;}
/* Nämndemän (namndeman.html) */
.nd-steg{margin:0 0 14px;padding-left:22px;}
.nd-steg li{margin:4px 0;}
.nd-brev{font:inherit;font-size:14px;width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);}
.nd-kallor{margin:4px 0 6px;padding-left:18px;}
.nd-form{display:grid;gap:12px;max-width:620px;}
.nd-form label{display:grid;gap:4px;font-weight:600;font-size:14px;}
.nd-form input,.nd-form select,.nd-form textarea{font:inherit;font-weight:400;font-size:15px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);width:100%;box-sizing:border-box;}
.nd-rubrik{font-weight:600;font-size:14px;margin-bottom:6px;}
.nd-antal{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:8px;}
.nd-antal label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:400;border:1px solid var(--line);border-radius:8px;padding:4px 4px 4px 10px;background:#fff;}
.nd-antal input{width:64px;border:none;background:var(--bg);text-align:right;}

/* Lobbyregister (lobby.html) */
.lb-filter{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px;}
.lb-filter .pagang-sok{flex:1 1 300px;margin:0;}
.lb-filter select{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;max-width:100%;}
.lb-h{font-size:15px;margin:14px 0 4px;}
.lb-text{white-space:pre-line;margin:0 0 6px;overflow-wrap:anywhere;}
.lb-lista{margin:4px 0 8px;padding-left:20px;}
.lb-lista li{margin:3px 0;}
.lb-mote{margin-bottom:10px;}
.lb-mote-vem{font-weight:600;margin:2px 0;}
.lb-mote-org{display:flex;gap:6px;flex-wrap:wrap;}
.lb-mote-org a.tag{text-decoration:none;}
.lb-topp{margin:0;padding-left:24px;columns:2 300px;column-gap:24px;}
.lb-topp li{margin:3px 0;break-inside:avoid;}
.lb-remiss{margin-bottom:8px;}
.lb-remiss > summary{cursor:pointer;list-style:none;}
.lb-remiss > summary::-webkit-details-marker{display:none;}
.lb-remiss-titel::after{content:' ▾';color:var(--accent);}
.lb-remiss[open] .lb-remiss-titel::after{content:' ▴';}
.lb-remiss-titel{font-weight:600;}
.lb-svar{margin:8px 0;padding-left:20px;columns:2 260px;column-gap:24px;}
.lb-svar li{margin:2px 0;break-inside:avoid;}
.lb-lank{display:block;text-decoration:none;color:inherit;margin-bottom:10px;}
.lb-lank:hover .sb-bolag-namn{text-decoration:underline;}
.lb-person{font-family:'Fraunces',serif;font-size:1.2em;font-weight:600;}
