.nevv-sdp-topbar-module-switch{display:flex;align-items:center;justify-content:center;gap:.4rem;flex-wrap:wrap}
.nevv-sdp-topbar-module-switch form{margin:0}
.nevv-sdp-topbar-module-switch__button{text-transform:uppercase;letter-spacing:.02em;border:1px solid var(--nevv-sdp-btn-other-border,var(--nevv-sdp-button-border,#334155));background:var(--nevv-sdp-btn-other-bg,var(--nevv-sdp-button-bg,#334155));color:var(--nevv-sdp-btn-other-color,var(--nevv-sdp-button-text,#fff));border-radius:var(--nevv-sdp-radius-global,12px);padding:0 .8rem;font-size:var(--nevv-sdp-topbar-button-font-size,var(--nevv-sdp-btn-other-font-size,.86rem));font-weight:700;cursor:pointer;min-height:var(--nevv-sdp-topbar-button-height,36px)}
.nevv-sdp-topbar-module-switch__button--save{background:var(--nevv-sdp-btn-save-bg,#168a73);border-color:var(--nevv-sdp-btn-save-border,#168a73);color:var(--nevv-sdp-btn-save-color,#fff)}
.nevv-sdp-topbar-module-switch__button.is-active{background:var(--nevv-sdp-btn-other-selected-bg,var(--nevv-sdp-button-selected-bg,#0f172a));border-color:var(--nevv-sdp-btn-other-selected-border,var(--nevv-sdp-button-selected-border,#0f172a));color:var(--nevv-sdp-btn-other-selected-color,var(--nevv-sdp-button-selected-text,#fff))}
.nevv-sdp-topbar-module-switch__button.is-disabled,.nevv-sdp-topbar-module-switch__button:disabled{opacity:.5;cursor:not-allowed;background:var(--nevv-sdp-btn-other-disabled-bg,#cbd5e1);border-color:var(--nevv-sdp-btn-other-disabled-border,#cbd5e1);color:var(--nevv-sdp-btn-other-disabled-color,#475569)}
.nevv-sdp-commission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}
.nevv-sdp-commission-card,.nevv-sdp-commission-subcard,.nevv-sdp-commission-proposal{border:1px solid var(--nevv-sdp-card-border,#ddd);border-radius:16px;padding:1rem;background:var(--nevv-sdp-card-bg,rgba(255,255,255,.04))}
.nevv-sdp-commission-card h2{margin-top:0}
.nevv-sdp-commission-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}
.nevv-sdp-commission-role-list{display:grid;grid-template-columns:minmax(140px,.55fr) 1fr;gap:.35rem .75rem}
.nevv-sdp-commission-role-list dt{font-weight:700}
.nevv-sdp-commission-role-list dd{margin:0}
.nevv-sdp-commission-role-buttons,.nevv-sdp-commission-vote-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}
.nevv-sdp-commission-role-buttons form,.nevv-sdp-commission-vote-buttons form,.nevv-sdp-inline-form{margin:0}
.nevv-sdp-commission-proposals{display:grid;gap:.75rem;margin-top:.75rem}
.nevv-sdp-commission-member-tools{margin-top:1rem}
@media(max-width:760px){.nevv-sdp-commission-grid,.nevv-sdp-commission-columns{grid-template-columns:1fr}.nevv-sdp-topbar-module-switch__button{text-transform:uppercase;letter-spacing:.02em;font-size:min(var(--nevv-sdp-topbar-button-font-size,.78rem),.78rem);padding:0 .55rem}}
.nevv-sdp-commission-role-picker{display:flex;gap:.75rem;align-items:end;flex-wrap:wrap;margin:1rem 0}
.nevv-sdp-commission-role-picker select{min-width:260px;padding:.5rem;border-radius:10px;border:1px solid var(--nevv-sdp-input-border,#cbd5e1);background:var(--nevv-sdp-input-bg,#fff);color:var(--nevv-sdp-input-text,#111827)}
.nevv-sdp-commission-role-table{display:grid;gap:.9rem;margin-top:1rem}
.nevv-sdp-commission-role-row{border:1px solid var(--nevv-sdp-card-border,#ddd);border-radius:14px;padding:1rem;background:rgba(255,255,255,.02)}
.nevv-sdp-commission-role-row header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.nevv-sdp-commission-role-row h4{margin:.1rem 0 .35rem}
.nevv-sdp-commission-role-candidates{font-size:.9em;opacity:.8}
.nevv-sdp-commission-role-candidate-list ul{margin:.5rem 0;padding-left:1.2rem}
.nevv-sdp-commission-role-candidate-list li{margin:.25rem 0}
.nevv-sdp-commission-role-vote-box{margin-top:.75rem;padding:.75rem;border-radius:12px;background:rgba(15,23,42,.04)}
.nevv-sdp-commission-role-select-form label{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}

.nevv-sdp-commission-role-workgrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 16px 0;
}
.nevv-sdp-commission-role-admin-card {
  margin: 0;
}
.nevv-sdp-commission-simple-list {
  margin: 0 0 16px 1.2rem;
  padding: 0;
}
.nevv-sdp-commission-role-change-actions select,
.nevv-sdp-commission-role-select-form select {
  min-width: 260px;
  max-width: 100%;
}
.nevv-sdp-modal::backdrop {
  background: rgba(0,0,0,.45);
}
.nevv-sdp-modal {
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 18px;
  padding: 26px;
  max-width: min(620px, calc(100vw - 32px));
  width: 560px;
}
.nevv-sdp-modal__actions {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
}
.nevv-sdp-commission-role-change-list {
  margin-top: 18px;
}
@media (max-width: 760px) {
  .nevv-sdp-commission-role-workgrid {
    grid-template-columns: 1fr;
  }
  .nevv-sdp-modal__actions {
    flex-direction: column;
  }
}
.nevv-sdp-commission-actions-line{align-items:center}
.nevv-sdp-commission-pending-box{margin-top:1rem;padding:.85rem;border:1px dashed var(--nevv-sdp-card-border,#cbd5e1);border-radius:14px;background:rgba(15,23,42,.025)}
.nevv-sdp-commission-progress{height:10px;background:rgba(15,23,42,.12);border-radius:999px;overflow:hidden;margin:.75rem 0 .35rem}
.nevv-sdp-commission-progress__bar{height:100%;background:var(--nevv-sdp-btn-save-bg,#168a73);border-radius:999px;transition:width .2s ease}
.nevv-sdp-commission-history{display:grid;gap:.65rem;margin-top:.75rem;max-height:420px;overflow:auto;padding-right:.25rem}
.nevv-sdp-commission-history__item{border:1px solid var(--nevv-sdp-card-border,#e2e8f0);border-radius:12px;padding:.75rem;background:rgba(255,255,255,.03)}
.nevv-sdp-commission-history__payload{white-space:pre-wrap;overflow:auto;margin:.5rem 0 0;padding:.5rem;border-radius:10px;background:rgba(15,23,42,.05);font-size:.82rem}

/* Dialog fallback: some browsers/themes render <dialog> content even when it is closed. */
dialog.nevv-sdp-modal:not([open]) {
  display: none !important;
}
dialog.nevv-sdp-modal[open] {
  display: block;
}
.nevv-sdp-commission-one-select-actions{display:grid;gap:.75rem;margin:.75rem 0}
.nevv-sdp-commission-one-select-actions .nevv-sdp-field{margin:0}
.nevv-sdp-commission-one-select-actions select{min-width:260px;max-width:100%;padding:.5rem;border-radius:10px;border:1px solid var(--nevv-sdp-input-border,#cbd5e1);background:var(--nevv-sdp-input-bg,#fff);color:var(--nevv-sdp-input-text,#111827)}
.nevv-sdp-commission-history-card details{margin:0}
.nevv-sdp-commission-history-summary{display:inline-flex;list-style:none;cursor:pointer;user-select:none}
.nevv-sdp-commission-history-summary::-webkit-details-marker{display:none}
.nevv-sdp-commission-history-wrap{margin-top:1rem}
.nevv-sdp-commission-experts-card{margin-top:18px}

/* v0.2.7 UI cleanup */
.nevv-sdp-modal {
  width: min(760px, calc(100vw - 32px));
  max-width: min(760px, calc(100vw - 32px));
  box-sizing: border-box;
}
.nevv-sdp-modal .nevv-sdp-field {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 14px;
}
.nevv-sdp-modal .nevv-sdp-field span {
  display: block;
  margin-bottom: 6px;
}
.nevv-sdp-modal input[type="text"],
.nevv-sdp-modal input[type="email"],
.nevv-sdp-modal select,
.nevv-sdp-modal textarea,
.nevv-sdp-commission-one-select-actions select,
.nevv-sdp-commission-role-admin-card select {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-height: var(--nevv-sdp-input-height, 42px);
  padding: .55rem .7rem;
  border-radius: var(--nevv-sdp-input-radius, 12px);
  border: 1px solid var(--nevv-sdp-input-border, #cbd5e1);
  background: var(--nevv-sdp-input-bg, #fff);
  color: var(--nevv-sdp-input-text, #111827);
  font-size: var(--nevv-sdp-input-font-size, 1rem);
}
.nevv-sdp-modal textarea {
  min-height: 120px;
  resize: vertical;
}
.nevv-sdp-commission-history-card {
  margin-top: 18px;
}
.nevv-sdp-commission-experts-card {
  margin-top: 18px;
}
.nevv-sdp-commission-actions-line {
  align-items: center;
}
@media (max-width: 760px) {
  .nevv-sdp-modal {
    width: calc(100vw - 24px);
    max-width: calc(100vw - 24px);
    padding: 18px;
  }
}

/* v0.2.8 role voting presentation */
.nevv-sdp-commission-role-candidate-list {
  display: grid;
  gap: .75rem;
  margin-top: .75rem;
}
.nevv-sdp-commission-role-candidate-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid var(--nevv-sdp-card-border, #e2e8f0);
  border-radius: 14px;
  padding: .85rem;
  background: rgba(255,255,255,.04);
}
.nevv-sdp-commission-role-candidate-row--none {
  background: rgba(15,23,42,.025);
}
.nevv-sdp-commission-role-candidate-row .nevv-sdp-inline-form {
  margin: 0;
  flex: 0 0 auto;
}
.nevv-sdp-commission-history-card summary.nevv-sdp-button {
  width: fit-content;
  cursor: pointer;
  list-style: none;
}
.nevv-sdp-commission-history-card summary.nevv-sdp-button::-webkit-details-marker {
  display: none;
}
@media (max-width: 760px) {
  .nevv-sdp-commission-role-candidate-row {
    align-items: stretch;
    flex-direction: column;
  }
}


/* v0.2.9 modal field width fix */
.nevv-sdp-modal form {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}
.nevv-sdp-modal label.nevv-sdp-field,
.nevv-sdp-modal .nevv-sdp-field {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.nevv-sdp-modal label.nevv-sdp-field > span,
.nevv-sdp-modal .nevv-sdp-field > span {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.nevv-sdp-modal input[type="text"],
.nevv-sdp-modal input[type="email"],
.nevv-sdp-modal input[type="number"],
.nevv-sdp-modal input[type="tel"],
.nevv-sdp-modal input[type="url"],
.nevv-sdp-modal select,
.nevv-sdp-modal textarea {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* v0.2.13 visual cleanup */
.nevv-sdp-commission-card { display:flex; flex-direction:column; min-height:240px; box-sizing:border-box; }
.nevv-sdp-commission-card form { display:flex; justify-content:flex-end; margin-top:auto; }

/* v0.2.15 contextual discussion on commission detail */
.nevv-sdp-commission-detail__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.nevv-sdp-commission-detail__title {
  min-width: 0;
}
.nevv-sdp-commission-detail__title h1 {
  margin-top: 0;
}
.nevv-sdp-commission-detail__tools {
  flex: 0 0 auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: .5rem;
  padding-top: .25rem;
  flex-wrap: wrap;
}
.nevv-sdp-commission-detail__tools .nevv-sdp-discussion-trigger,
.nevv-sdp-commission-detail__tools .nevv-sdp-manual-trigger {
  white-space: nowrap;
}
@media (max-width: 760px) {
  .nevv-sdp-commission-detail__head {
    align-items: stretch;
    flex-direction: column;
  }
  .nevv-sdp-commission-detail__tools {
    justify-content: flex-start;
  }
}

/* v0.2.20 commission cards aligned with project cards */
.nevv-sdp-commissions {
  min-height: min(62vh, 720px);
}
.nevv-sdp-commission-grid {
  align-items: stretch;
}
.nevv-sdp-commission-card--clickable {
  display: block;
  min-height: 340px;
  height: 100%;
  color: inherit;
  text-decoration: none;
  border: 1px solid var(--nevv-sdp-card-border,#ddd);
  border-radius: 16px;
  background: var(--nevv-sdp-card-bg,rgba(255,255,255,.04));
  padding: 0;
  box-sizing: border-box;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.nevv-sdp-commission-card--clickable:hover,
.nevv-sdp-commission-card--clickable:focus-visible {
  border-color: var(--nevv-sdp-btn-other-bg,#334155);
  box-shadow: 0 10px 28px rgba(15,23,42,.10);
  transform: translateY(-1px);
  outline: none;
}
.nevv-sdp-commission-card__inner {
  display: flex;
  flex-direction: column;
  min-height: 340px;
  height: 100%;
  padding: 1rem;
  box-sizing: border-box;
}
.nevv-sdp-commission-card__header h2 {
  margin: 0 0 .75rem;
}
.nevv-sdp-commission-card__body {
  display: grid;
  gap: .45rem;
  margin-top: .35rem;
}
.nevv-sdp-commission-card__body p {
  margin: 0;
}
.nevv-sdp-commission-card__footer {
  margin-top: auto;
  padding-top: 1rem;
}
.nevv-sdp-commission-card__badge {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 .85rem;
  border-radius: 999px;
  background: rgba(22, 138, 115, .10);
  color: var(--nevv-sdp-btn-save-bg,#168a73);
  font-weight: 700;
}
.nevv-sdp-commission-card__hint {
  color: var(--nevv-sdp-muted,#64748b);
  font-size: .95rem;
}
@media (max-width: 760px) {
  .nevv-sdp-commission-card--clickable,
  .nevv-sdp-commission-card__inner {
    min-height: 300px;
  }
}
