:root{--nsd-primary:#009ac7;--nsd-primary-dark:#007fa6;--nsd-text:#0f172a;--nsd-muted:#64748b;--nsd-border:#dbe3ea;--nsd-card:#fff;--nsd-danger:#dc2626;--nsd-success:#15803d;--nsd-warning:#d97706;--nsd-shadow:0 10px 30px rgba(15,23,42,.08)}
#nsiplus-dashboard-app{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--nsd-text)}
.nsd-wrap{max-width:1280px;margin:0 auto;padding:10px 5px 40px}.nsd-wrap.is-presentation{max-width:1480px}.nsd-hero{background:radial-gradient(circle at top right, rgba(0,154,199,.16), transparent 32%),linear-gradient(135deg,#fff,#f8fcff);border:1px solid rgba(0,154,199,.12);border-radius:24px;box-shadow:var(--nsd-shadow);padding:28px;margin-bottom:22px;position:relative}.nsd-hero-actions{position:absolute;top:22px;right:22px}
.nsd-badge{display:inline-flex;align-items:center;background:rgba(0,154,199,.10);color:var(--nsd-primary-dark);border:1px solid rgba(0,154,199,.16);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.nsd-title{margin:12px 0 8px;font-size:34px;line-height:1.08;font-weight:800}.nsd-subtitle{margin:0;color:var(--nsd-muted);font-size:16px;line-height:1.6}
.nsd-btn{appearance:none;border:1px solid var(--nsd-border);background:#fff;border-radius:12px;min-height:42px;padding:0 16px;font-size:14px;font-weight:800;cursor:pointer}.nsd-btn-primary{color:#fff;background:linear-gradient(135deg,var(--nsd-primary),var(--nsd-primary-dark));border:0}
.nsd-update-banner{display:none;margin-bottom:16px;border:1px solid rgba(0,154,199,.16);background:rgba(0,154,199,.08);color:var(--nsd-primary-dark);border-radius:14px;padding:14px 16px;align-items:center;justify-content:space-between;gap:12px}.nsd-update-banner.is-visible{display:flex}
.nsd-topbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.nsd-control-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.nsd-leaderboards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.nsd-main{display:block}.nsd-main.has-detail{grid-template-columns:1fr 1fr}.nsd-main.no-detail .nsd-overview-card{width:100%}.nsd-main.no-detail .nsd-detail-card{display:none}
@media (max-width:1050px){.nsd-topbar,.nsd-control-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.nsd-main,.nsd-main.has-detail{grid-template-columns:1fr}.nsd-main.no-detail .nsd-detail-card{display:block}.nsd-leaderboards{grid-template-columns:1fr}}@media (max-width:700px){.nsd-topbar,.nsd-control-bar{grid-template-columns:1fr}.nsd-grid{grid-template-columns:1fr!important}}
.nsd-stat,.nsd-card{background:var(--nsd-card);border:1px solid var(--nsd-border);border-radius:18px;box-shadow:var(--nsd-shadow);padding:18px}.nsd-card{padding:22px}.nsd-stat-label{color:var(--nsd-muted);font-size:13px;margin-bottom:8px}.nsd-stat-value{font-size:30px;line-height:1.05;font-weight:800}.nsd-stat-meta{margin-top:8px;color:var(--nsd-muted);font-size:13px}.nsd-card h2{margin:0 0 12px;font-size:22px;font-weight:800}.nsd-card-lead{margin:0 0 18px;color:var(--nsd-muted);line-height:1.55}
.nsd-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}.nsd-search{position:relative;width:100%;max-width:420px}.nsd-search input{width:100%;max-width:100%;min-height:50px;border:1px solid var(--nsd-border);border-radius:14px;padding:0 16px;font-size:15px;background:#fff;box-sizing:border-box}.nsd-search input:focus{outline:none;border-color:rgba(0,154,199,.4);box-shadow:0 0 0 4px rgba(0,154,199,.10)}.nsd-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:40;background:#fff;border:1px solid var(--nsd-border);border-radius:14px;box-shadow:var(--nsd-shadow);overflow:hidden}.nsd-search-item{padding:12px 14px;border-bottom:1px solid #edf2f7;cursor:pointer;font-size:14px}.nsd-search-item:last-child{border-bottom:0}.nsd-search-item:hover{background:#f8fcff}
.nsd-breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.nsd-crumb{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(0,154,199,.16);background:rgba(0,154,199,.08);color:var(--nsd-primary-dark);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:700;cursor:pointer}
.nsd-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.nsd-tile{border:1px solid var(--nsd-border);border-radius:18px;background:linear-gradient(180deg,#fff,#fbfdff);padding:18px;cursor:pointer;transition:transform .16s ease,box-shadow .2s ease,border-color .2s ease;position:relative;overflow:hidden}.nsd-tile:hover{transform:translateY(-2px);border-color:rgba(0,154,199,.28);box-shadow:0 18px 32px rgba(0,154,199,.10)}.nsd-tile::before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:var(--nsd-primary);opacity:.12}.nsd-tile.is-pinned::after{content:"★";position:absolute;top:12px;right:12px;color:var(--nsd-warning);font-size:15px}.nsd-tile-tone-strong{background:linear-gradient(180deg,#ffffff,#f4fbff)}.nsd-tile-tone-medium{background:linear-gradient(180deg,#ffffff,#fcfdff)}.nsd-tile-tone-soft{background:linear-gradient(180deg,#ffffff,#ffffff)}.nsd-tile-name{font-size:18px;font-weight:800;margin-bottom:4px}.nsd-candidate{color:var(--nsd-muted);font-size:13px;margin-bottom:10px}
.nsd-kv{display:grid;grid-template-columns:1fr auto;gap:12px;padding:8px 0;border-bottom:1px solid #edf2f7}.nsd-kv:last-child{border-bottom:0}.nsd-kv-key{color:var(--nsd-muted);font-size:14px}.nsd-kv-val{font-weight:800;font-size:14px;text-align:right}.nsd-mini-stat{padding:14px 18px}.nsd-delta-up{color:var(--nsd-success);font-weight:800;}.nsd-delta-down{color:var(--nsd-danger);font-weight:800;}.nsd-note{margin-top:12px;font-size:13px;line-height:1.5;color:var(--nsd-warning);font-weight:700}
.nsd-progress{margin-top:12px}.nsd-progress-track{width:100%;height:10px;border-radius:999px;background:#eaf1f6;overflow:hidden}.nsd-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--nsd-primary),var(--nsd-primary-dark))}
.nsd-pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800;letter-spacing:.02em}.nsd-pill-danger{background:rgba(220,38,38,.08);color:#991b1b;border:1px solid rgba(220,38,38,.18)}.nsd-pill-success{background:rgba(21,128,61,.08);color:#166534;border:1px solid rgba(21,128,61,.18)}.nsd-pill-info{background:rgba(0,154,199,.08);color:var(--nsd-primary-dark);border:1px solid rgba(0,154,199,.18)}
.nsd-loading{display:inline-flex;align-items:center;gap:10px;color:var(--nsd-muted);font-size:14px}.nsd-dot{width:8px;height:8px;border-radius:999px;background:var(--nsd-primary);animation:nsdPulse 1s infinite ease-in-out}@keyframes nsdPulse{0%,100%{transform:scale(.75);opacity:.5}50%{transform:scale(1);opacity:1}}
.nsd-detail-inline-title{margin:0 0 14px;font-size:16px;font-weight:800;color:var(--nsd-primary-dark)}.nsd-accordion-list{display:grid;gap:12px}.nsd-accordion{border:1px solid var(--nsd-border);border-radius:16px;overflow:hidden;background:#fff}.nsd-accordion.is-highlighted{border-color:rgba(0,154,199,.35);box-shadow:0 0 0 4px rgba(0,154,199,.08)}.nsd-accordion-head{width:100%;appearance:none;border:0;background:#fff;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;text-align:left}.nsd-accordion-head:hover{background:#f9fcfe}.nsd-accordion-title{font-size:18px;font-weight:800;line-height:1.35}.nsd-accordion-subtitle{margin-top:4px;color:var(--nsd-muted);font-size:13px}.nsd-accordion-head-side{display:flex;align-items:center;gap:10px;flex-shrink:0}.nsd-accordion-arrow{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#eef6fa;color:var(--nsd-primary-dark);font-size:18px;font-weight:800}.nsd-accordion-body{padding:0 18px 18px;border-top:1px solid #edf2f7;background:#fcfeff}.nsd-accordion-meta{display:grid;gap:10px;margin:16px 0 14px}.nsd-accordion-meta-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:10px 0;border-bottom:1px solid #edf2f7}.nsd-accordion-meta-item:last-child{border-bottom:0}.nsd-accordion-meta-key{color:var(--nsd-muted);font-size:14px}.nsd-accordion-meta-val{font-weight:800;font-size:14px;text-align:right}.nsd-party-list{display:grid;gap:8px}.nsd-party-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;padding:12px 14px;border:1px solid #edf2f7;border-radius:12px;background:#fff}.nsd-party-name{font-size:14px;color:var(--nsd-text)}.nsd-party-value{font-size:15px;font-weight:800;text-align:right}.nsd-accordion-empty{margin-top:14px;border:1px dashed var(--nsd-border);border-radius:12px;padding:14px;color:var(--nsd-muted);background:#fff}.nsd-flags-box{display:grid;gap:8px;margin-bottom:10px}.nsd-flag-item{padding:10px 12px;background:rgba(220,38,38,.06);border:1px solid rgba(220,38,38,.16);border-radius:10px;color:#991b1b;font-size:13px;font-weight:700}
.nsd-leaderboard-list{display:grid;gap:10px}.nsd-leaderboard-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:10px 12px;border:1px solid #edf2f7;border-radius:12px;background:#fff;cursor:pointer}.nsd-leaderboard-item:hover{background:#f9fcfe}.nsd-leaderboard-name{font-size:14px;font-weight:700}.nsd-leaderboard-meta{margin-top:2px;color:var(--nsd-muted);font-size:12px}.nsd-leaderboard-value{font-size:14px;font-weight:800;text-align:right}
.nsd-tile-candidate{
  margin-top:6px;
  font-size:14px;
  color:var(--nsd-muted);
  font-weight:800;
}
.nsd-detail-section{
  margin-top:20px;
}
.nsd-accordion-meta-val--muted{
  color: var(--nsd-muted);
  font-weight: normal;
}
.nsd-party-block{
  margin-top: 18px;
}

.nsd-party-block-title{
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 800;
  color: var(--nsd-muted);
}

/* Ime volišča */
.nsd-accordion-title{
  color: var(--nsd-text) !important;
  font-weight: 800;
}

/* Mobile prilagoditev */
@media (max-width: 768px){
  .nsd-accordion-title{
    font-size: 13px !important;
    line-height: 1.35;
    color: var(--nsd-text) !important;
  }

  .nsd-accordion-subtitle{
    font-size: 12px;
  }
}

.nsd-detail-district-summary{
  margin: 12px 0 18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px 16px;
}

.nsd-detail-inline-lead{
  margin: 38px 0 18px;
}

@media (max-width: 768px){
  .nsd-detail-district-summary{
    grid-template-columns: 1fr;
  }
}

.nsd-detail-topbar{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:16px;
  margin:16px 0 18px;
}

@media (max-width: 1000px){
  .nsd-detail-topbar{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 640px){
  .nsd-detail-topbar{
    grid-template-columns:1fr;
  }
}

.nsd-party-table-head{display:grid;text-align:right;grid-template-columns:1fr 88px 88px;gap:12px;padding:0 14px 8px;color:var(--nsd-muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.nsd-party-row--comparison{grid-template-columns:1fr 88px 88px}
@media (max-width:768px){.nsd-party-table-head{grid-template-columns:1fr 64px 64px}.nsd-party-row--comparison{grid-template-columns:1fr 64px 64px}}


.nsd-overview-stats-card{
  margin-top: 24px;
}

.nsd-import-stats-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:24px;
}

.nsd-import-stat-box{
  border:1px solid #d9e2ef;
  border-radius:20px;
  padding:24px;
  background:#fff;
}

.nsd-import-stat-box h3{
  margin:0 0 18px;
  font-size:20px;
  line-height:1.2;
}

.nsd-import-stat-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.nsd-import-stat-row{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  padding-bottom:14px;
  border-bottom:1px solid #e9eef5;
}

.nsd-import-stat-row:last-child{
  border-bottom:none;
  padding-bottom:0;
}

.nsd-import-stat-left{
  min-width:0;
}

.nsd-import-stat-name{
  font-weight:700;
  line-height:1.3;
}

.nsd-import-stat-meta{
  margin-top:4px;
  font-size:13px;
  color:#70819b;
}

.nsd-import-stat-right{
  white-space:nowrap;
  font-weight:700;
}

@media (max-width: 900px){
  .nsd-import-stats-grid{
    grid-template-columns:1fr;
  }
}


.nsd-leaderboards .nsd-leaderboards-row{
  display:grid;
  grid-column:1 / -1;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:20px;
  margin-top:20px;
}

.nsd-leaderboards .nsd-leaderboards-row:first-child{
  margin-top:0;
}

.nsd-leaderboards .nsd-leaderboards-row > .nsd-card{
  min-width:0;
}

@media (max-width: 1024px){
  .nsd-leaderboards .nsd-leaderboards-row{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 700px){
  .nsd-leaderboards .nsd-leaderboards-row{
    grid-template-columns:1fr;
  }
}

.nsd-value-strong{
  font-weight:800;
  color:var(--nsd-text);
}

.nsd-value-muted{
  font-weight:400;
  color:var(--nsd-muted);
}

.nsd-value-strong{
  font-weight:800;
}

.nsd-value-muted{
  font-weight:400;
  color:var(--nsd-muted);
}

.nsd-leaderboard-value .nsd-delta-up{
  color: var(--nsd-success) !important;
  font-weight: 800;
}

.nsd-leaderboard-value .nsd-delta-down{
  color: var(--nsd-danger) !important;
  font-weight: 800;
}


.nsd-leaderboard-value-with-bars{
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  height:100%;
}

.nsd-mini-bars{
  display:flex;
  align-items:flex-end;
  gap:4px;
  width:34px;
  height:100%;
  justify-content:center;
}

.nsd-mini-bars-col{
  width:12px;
  border-radius:4px 4px 0 0;
  display:block;
}

.nsd-mini-bars-col-2022{
  background:#8fd3ea;
}

.nsd-mini-bars-col-2026{
  background:#0b7ea4;
}

.nsd-mini-bars-col{
  cursor:help;
}

.nsd-mini-bars{
  position:relative;
  overflow:visible;
}

.nsd-mini-bars-col{
  position:relative;
  cursor:default;
}

.nsd-mini-bars-col::after{
  content:attr(data-tooltip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 8px);
  transform:translateX(-50%);
  background:#0f172a;
  color:#fff;
  font-size:12px;
  line-height:1;
  font-weight:700;
  padding:8px 10px;
  border-radius:8px;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .15s ease, visibility .15s ease;
  z-index:50;
  box-shadow:0 10px 24px rgba(15,23,42,.18);
}

.nsd-mini-bars-col::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:calc(100% + 2px);
  transform:translateX(-50%);
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-top:6px solid #0f172a;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .15s ease, visibility .15s ease;
  z-index:50;
}

.nsd-mini-bars-col:hover::after,
.nsd-mini-bars-col:hover::before{
  opacity:1;
  visibility:visible;
}

.nsd-district-inline-value{
  display:block;
  margin-top:6px;
  font-weight:800;
}

.nsd-district-candidate{
  display:block;
}

.nsd-district-percent{
  display:block;
  margin-top:6px;
  font-size:14px;
  font-weight:800;
  line-height:1.2;
}


.nsd-leaderboard-item{
  align-items:stretch;
}

.nsd-leaderboard-value{
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  height:100%;
}

.nsd-card-subhint{
  margin:-4px 0 12px;
  font-size:12px;
  line-height:1.4;
  color:var(--nsd-muted);
}


.nsd-pill-wrapper{
  display:flex;
  align-items:center;
  gap:10px;
}

.nsd-delta-arrow{
  font-size:18px;
  font-weight:800;
}

.nsd-delta-arrow.is-up{
  color:var(--nsd-success);
}

.nsd-delta-arrow.is-down{
  color:var(--nsd-danger);
}

.nsd-card-title-sub{
  display:block;
  margin-top:4px;
  font-size:.7em;
  font-weight:600;
  color:var(--nsd-muted);
}


.nsd-stat-value--small{
  font-size:20px;
  line-height:1.2;
}

.nsd-methodology-card{
  margin-top:24px;
}

.nsd-methodology-text{
  font-size:13px;
  line-height:1.6;
  color:var(--nsd-muted);
}

.nsd-stat-meta a{
  color:var(--nsd-primary-dark);
  text-decoration:underline;
}

.copyright{
  margin-top:40px;
}

/* Lestvica občin — [nsiplus_elections_obcine] */
.nso-lb-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 0;
  border-bottom:1px solid var(--nsd-border);
}
.nso-lb-row:last-child{border-bottom:none;}

.nso-lb-name{
  font-size:16px;
  font-weight:700;
  color:#1a1a1a;
  line-height:1.3;
}

.nso-lb-meta{
  font-size:11px;
  font-weight:600;
  color:var(--nsd-muted);
  letter-spacing:.04em;
  margin-top:2px;
}

.nso-lb-side{
  flex-shrink:0;
  margin-left:16px;
}
