:root {
  --rsg-front-green-900: #224d2d;
  --rsg-front-green-700: #417a47;
  --rsg-front-green-100: #edf5e9;
  --rsg-front-red-800: #7b1f2a;
  --rsg-front-red-900: #5e1620;
  --rsg-front-ink: #17311d;
  --rsg-front-muted: #68756b;
  --rsg-front-line: #cbd9c6;
}
.rsg-users-widget,.rsg-user-form,.rsg-login-box{box-sizing:border-box;color:var(--rsg-front-ink)}
.rsg-users-toolbar{display:flex;justify-content:flex-end;margin-bottom:16px}
.rsg-users-list{display:grid;gap:14px}.rsg-users-list--list{grid-template-columns:1fr}.rsg-users-list--grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.rsg-user-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--rsg-front-line);border-radius:14px;background:#fff}
.rsg-user-card__top{display:flex;align-items:center;gap:14px;min-width:0}.rsg-user-avatar img{display:block;border-radius:50%}.rsg-user-main{min-width:0}.rsg-user-name{font-weight:800;font-size:17px;color:var(--rsg-front-green-900)}
.rsg-user-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-top:5px;color:var(--rsg-front-muted);font-size:13px}.rsg-user-role{font-weight:800;color:var(--rsg-front-green-700)}
.rsg-badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.rsg-badge--ok{background:#e2f3df;color:#286132}.rsg-badge--off{background:#f9e7e9;color:#8b2330}
.rsg-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 16px;border:0;border-radius:9px;background:var(--rsg-front-red-800);color:#fff!important;text-decoration:none!important;font-weight:750;cursor:pointer;transition:.18s ease}.rsg-button:hover{background:var(--rsg-front-red-900);transform:translateY(-1px)}.rsg-button--secondary{background:#e7efe3!important;color:var(--rsg-front-green-900)!important}.rsg-button--secondary:hover{background:#d8e6d2!important}
.rsg-front-notice{margin:0 0 15px;padding:12px 14px;border:1px solid #c8dbc2;border-radius:10px;background:#f1f7ee;color:#315338}.rsg-front-notice--warning{border-color:#e6c0c4;background:#fff1f2;color:#7f1f2b}.rsg-front-notice--success{border-color:#add6a8;background:#eef9eb;color:#286132}
.rsg-user-form,.rsg-login-box{width:100%;padding:24px;border:1px solid var(--rsg-front-line);border-radius:16px;background:#fff}.rsg-user-form__title,.rsg-login-title{margin:0 0 20px;color:var(--rsg-front-green-900)}
.rsg-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.rsg-field,.rsg-login-field{display:grid;gap:6px}.rsg-field label,.rsg-login-field label,.rsg-period-row-front label,.rsg-period-label{font-size:13px;font-weight:800;color:var(--rsg-front-ink)}
.rsg-field input,.rsg-field select,.rsg-login-field input,.rsg-period-row-front input{width:100%;min-height:44px;box-sizing:border-box;padding:9px 11px;border:1px solid var(--rsg-front-line);border-radius:9px;background:#fff;color:var(--rsg-front-ink)}.rsg-field input:focus,.rsg-field select:focus,.rsg-login-field input:focus,.rsg-period-row-front input:focus{outline:2px solid rgba(65,122,71,.18);border-color:var(--rsg-front-green-700)}
.rsg-user-form__footer{display:flex;justify-content:flex-end;margin-top:20px}.rsg-periods-front{margin-top:24px;padding-top:20px;border-top:1px solid var(--rsg-front-line)}.rsg-periods-front__head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.rsg-periods-front__head small{color:var(--rsg-front-muted)}.rsg-periods-front__list{display:grid;gap:10px}
.rsg-period-row-front{display:grid;grid-template-columns:145px 145px minmax(210px,1fr) 110px auto;gap:10px;align-items:end;padding:12px;border:1px solid #dbe6d7;border-radius:12px;background:#f9fcf8}.rsg-period-row-front>div{display:grid;gap:5px}.rsg-period-active-front{align-self:center}.rsg-period-active-front label{display:flex;align-items:center;gap:5px}.rsg-period-active-front input[type=checkbox]{width:auto;min-height:0}.rsg-remove-period-front{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;width:auto;padding:9px 12px;border:1px solid #edcbd0;border-radius:9px;background:#f8e6e8;color:#8b2330;font-size:13px;font-weight:800;line-height:1.1;cursor:pointer;white-space:nowrap;box-sizing:border-box;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}.rsg-remove-period-front:hover{background:#8b2330;color:#fff;border-color:#8b2330;transform:translateY(-1px);box-shadow:0 5px 14px rgba(123,31,42,.16)}.rsg-remove-period-front:focus-visible{outline:3px solid rgba(139,35,48,.18);outline-offset:2px}.rsg-remove-period-front__icon{display:inline-flex;width:16px;height:16px;flex:0 0 16px}.rsg-remove-period-front__icon svg{display:block;width:100%;height:100%}

@media(max-width:900px){.rsg-period-row-front{grid-template-columns:repeat(2,minmax(0,1fr))}.rsg-period-note-front{grid-column:1/-1}.rsg-remove-period-front{align-self:center;justify-self:end}}
@media(max-width:600px){.rsg-users-list--grid,.rsg-form-grid{grid-template-columns:1fr!important}.rsg-user-card{align-items:flex-start;flex-direction:column}.rsg-user-card__actions{width:100%}.rsg-user-card__actions .rsg-button{width:100%}.rsg-periods-front__head{align-items:flex-start;flex-direction:column}.rsg-period-row-front{grid-template-columns:1fr}.rsg-period-note-front{grid-column:auto}.rsg-remove-period-front{width:100%;justify-self:stretch}.rsg-user-form,.rsg-login-box{padding:18px}}


/* Rada — Logowanie / odzyskiwanie hasła */
.rsg-login-box{overflow:hidden;box-sizing:border-box;max-width:100%}
.rsg-login-widget{width:100%}
.rsg-login-viewport{width:100%;overflow:hidden}
.rsg-login-track{
  display:flex;
  width:400%;
  align-items:flex-start;
  transform:translate3d(0,0,0);
  transition:transform var(--rsg-login-slide-duration,380ms) cubic-bezier(.22,.61,.36,1);
  will-change:transform
}
.rsg-login-widget[data-rsg-view="recovery"] .rsg-login-track{transform:translate3d(-25%,0,0)}
.rsg-login-widget[data-rsg-view="reset"] .rsg-login-track{transform:translate3d(-50%,0,0)}
.rsg-login-widget[data-rsg-view="two_factor"] .rsg-login-track{transform:translate3d(-75%,0,0)}
.rsg-login-panel{
  width:25%;
  flex:0 0 25%;
  min-width:0;
  box-sizing:border-box;
  padding-inline:calc(var(--rsg-login-panel-gap,24px) / 2)
}
.rsg-login-panel-inner{
  box-sizing:border-box;
  min-width:0;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start
}
.rsg-login-panel-content{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-width:0
}
.rsg-login-panel[aria-hidden="true"]{visibility:hidden}
.rsg-login-form{display:grid;gap:14px}
.rsg-login-description{margin:-8px 0 18px;color:var(--rsg-front-muted);line-height:1.55}
.rsg-login-description p{margin:0}
.rsg-login-description strong{color:var(--rsg-front-ink)}
.rsg-login-remember{display:flex;align-items:center;gap:7px;color:var(--rsg-front-muted);font-size:13px}
.rsg-login-remember input{margin:0}
.rsg-login-link{
  color:var(--rsg-front-green-700);
  font-weight:700;
  text-decoration:none;
  transition:color .18s ease
}
.rsg-login-link:hover{color:var(--rsg-front-green-900);text-decoration:underline}
.rsg-login-link--button{
  width:max-content;
  max-width:100%;
  margin:0;
  padding:2px 0;
  border:0;
  background-color:transparent;
  font:inherit;
  line-height:1.35;
  text-align:left;
  cursor:pointer;
  transition:color .18s ease,background-color .18s ease
}
.rsg-login-back{display:inline-flex;align-items:center;gap:5px}
.rsg-button--logout{margin-top:5px}
.rsg-login-field input::placeholder{transition:opacity .18s ease}
.rsg-login-field input:focus::placeholder{opacity:.58!important}

@media (prefers-reduced-motion:reduce){
  .rsg-login-track{transition:none!important}
}



.rsg-login-panel-inner .rsg-login-title{margin-top:0;margin-bottom:20px}
.rsg-login-panel-inner .rsg-login-description{margin-top:-6px;margin-bottom:20px}
.rsg-login-panel-inner .rsg-login-form{margin-top:0}
.rsg-login-panel-inner .rsg-front-notice{margin-bottom:18px}


/* Wymiary responsywne widgetu logowania */
.rsg-login-widget,
.rsg-login-viewport,
.rsg-login-track,
.rsg-login-panel,
.rsg-login-panel-inner{
  box-sizing:border-box
}
.rsg-login-panel-inner{
  max-width:100%
}


/* Pozycja całej zawartości widgetu logowania */
.rsg-login-panel-content .rsg-login-form{
  width:100%;
  box-sizing:border-box
}
.rsg-login-panel-content .rsg-login-title,
.rsg-login-panel-content .rsg-login-description,
.rsg-login-panel-content .rsg-front-notice{
  width:100%;
  box-sizing:border-box
}


/* Widok zalogowanego użytkownika — korzysta z tych samych ustawień pozycjonowania co formularze */
.rsg-login-widget--logged-in{
  width:100%;
  height:100%;
  box-sizing:border-box
}
.rsg-login-widget--logged-in .rsg-login-panel-inner{
  width:100%;
  min-height:100%;
  box-sizing:border-box
}
.rsg-login-logged-status{
  display:flex;
  flex-direction:column;
  gap:4px
}
.rsg-login-logged-user{
  display:block;
  font-weight:800
}
.rsg-login-logged-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  width:100%;
  box-sizing:border-box
}
.rsg-login-logged-actions .rsg-button{
  width:max-content;
  max-width:100%;
  box-sizing:border-box
}
.rsg-login-logged-actions .rsg-button--logout{margin-top:0}


/* Rada — Prawo do głosowania */
.rsg-voting-rights{
  --rsg-voting-gap:20px;
  box-sizing:border-box;
  width:100%;
  display:flex;
  flex-direction:column;
  gap:var(--rsg-voting-gap);
  padding:24px;
  border:1px solid var(--rsg-front-line);
  border-radius:16px;
  background:#fff;
  color:var(--rsg-front-ink)
}
.rsg-voting-title{
  margin:0;
  color:var(--rsg-front-green-900);
  font-size:24px;
  line-height:1.2
}
.rsg-voting-summary{
  display:flex;
  align-items:center;
  justify-content:var(--rsg-voting-justify,space-between);
  gap:18px
}
.rsg-voting-summary__meta{
  display:flex;
  flex-wrap:wrap;
  justify-content:var(--rsg-voting-justify,flex-start);
  gap:14px 28px;
  min-width:0
}
.rsg-voting-meta-item{
  display:flex;
  flex-direction:column;
  align-items:var(--rsg-voting-align,flex-start);
  gap:4px
}
.rsg-voting-meta-label,
.rsg-voting-periods-title{
  color:var(--rsg-front-muted);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em
}
.rsg-voting-meta-value{
  color:var(--rsg-front-ink);
  font-size:16px;
  line-height:1.3
}
.rsg-voting-status{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  line-height:1.25;
  text-align:center
}
.rsg-voting-status--ok{
  background:#e2f3df;
  color:#286132
}
.rsg-voting-status--off{
  background:#f9e7e9;
  color:#8b2330
}
.rsg-voting-periods{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding-top:18px;
  border-top:1px solid var(--rsg-front-line)
}
.rsg-voting-period-list{
  display:grid;
  gap:10px
}
.rsg-voting-period{
  display:flex;
  align-items:center;
  justify-content:var(--rsg-voting-justify,space-between);
  gap:16px;
  padding:13px 14px;
  border:1px solid #dbe6d7;
  border-radius:12px;
  background:#f9fcf8
}
.rsg-voting-period__main{
  min-width:0
}
.rsg-voting-period__dates{
  display:flex;
  align-items:center;
  justify-content:var(--rsg-voting-justify,flex-start);
  flex-wrap:wrap;
  gap:5px;
  color:var(--rsg-front-green-900);
  font-weight:800
}
.rsg-voting-period__note{
  margin-top:4px;
  color:var(--rsg-front-muted);
  font-size:13px;
  line-height:1.4
}
.rsg-voting-period__state{
  flex:0 0 auto;
  display:inline-flex;
  padding:5px 9px;
  border-radius:999px;
  background:#e7efe3;
  color:var(--rsg-front-green-900);
  font-size:11px;
  font-weight:800
}
.rsg-voting-period--current .rsg-voting-period__state{
  background:#e2f3df;
  color:#286132
}
.rsg-voting-period--future .rsg-voting-period__state{
  background:#edf3fb;
  color:#315f8d
}
.rsg-voting-period--past{
  opacity:.82
}
.rsg-voting-period--past .rsg-voting-period__state,
.rsg-voting-period--inactive .rsg-voting-period__state{
  background:#eef0ee;
  color:#68756b
}
.rsg-voting-period--inactive{
  opacity:.65
}
.rsg-voting-no-periods,
.rsg-voting-empty{
  color:var(--rsg-front-muted);
  line-height:1.5
}
.rsg-voting-rights--empty{
  display:block
}

@media(max-width:600px){
  .rsg-voting-rights{padding:18px}
  .rsg-voting-summary{align-items:var(--rsg-voting-align,flex-start);flex-direction:column}
  .rsg-voting-status{width:100%;box-sizing:border-box}
  .rsg-voting-period{align-items:var(--rsg-voting-align,flex-start);flex-direction:column}
}


/* Google reCAPTCHA */
.rsg-recaptcha-wrap{max-width:100%;overflow:hidden}
.rsg-recaptcha-v2{transform-origin:left top;max-width:100%}
.rsg-recaptcha-v3{display:none}
.rsg-recaptcha-placeholder{padding:10px 12px;border:1px dashed #b8c9b5;border-radius:9px;background:#f7faf5;color:var(--rsg-front-muted);font-size:12px;font-weight:700}
@media(max-width:360px){.rsg-recaptcha-v2{transform:scale(.92);width:108.7%;margin-bottom:-6px}}

/* Rada — Edycja mojego profilu */
.rsg-self-profile{
  box-sizing:border-box;
  width:100%;
  padding:24px;
  border:1px solid var(--rsg-front-line);
  border-radius:16px;
  background:#fff
}
.rsg-self-profile__title{
  margin:0 0 8px;
  color:var(--rsg-front-green-900)
}
.rsg-self-profile__description{
  margin:0 0 22px;
  color:var(--rsg-front-muted);
  line-height:1.55
}
.rsg-self-profile__description p{margin:0}
.rsg-self-profile-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:16px;
  row-gap:16px;
  align-items:start
}
.rsg-self-profile-field{
  grid-column:span var(--rsg-profile-span,12);
  display:grid;
  gap:6px;
  min-width:0
}
.rsg-self-profile-field__label,
.rsg-self-profile-field__sub-label{
  color:var(--rsg-front-ink);
  font-size:13px;
  font-weight:800;
  line-height:1.35
}
.rsg-self-profile-field__sub-label{margin-top:5px}
.rsg-self-profile-required{color:#9d2635}
.rsg-self-profile-field input:not([type=checkbox]),
.rsg-self-profile-field textarea,
.rsg-self-profile-field select{
  width:100%;
  min-width:0;
  min-height:44px;
  box-sizing:border-box;
  padding:9px 11px;
  border:1px solid var(--rsg-front-line);
  border-radius:9px;
  background:#fff;
  color:var(--rsg-front-ink)
}
.rsg-self-profile-field textarea{
  min-height:110px;
  resize:vertical
}
.rsg-self-profile-field input[readonly]{
  background:#f4f6f4;
  color:#6f7d71;
  cursor:not-allowed
}
.rsg-self-profile-field input:focus,
.rsg-self-profile-field textarea:focus,
.rsg-self-profile-field select:focus{
  outline:2px solid rgba(65,122,71,.18);
  border-color:var(--rsg-front-green-700)
}
.rsg-self-profile-field--checkbox{
  align-self:center;
  padding-top:20px
}
.rsg-self-profile-checkbox{
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:var(--rsg-front-ink);
  font-weight:700;
  line-height:1.4;
  cursor:pointer
}
.rsg-self-profile-checkbox input{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin:1px 0 0
}
.rsg-self-profile__footer{
  --rsg-self-button-width:auto;
  display:flex;
  justify-content:flex-end;
  margin-top:22px
}
.rsg-self-profile__submit{
  width:var(--rsg-self-button-width);
  max-width:100%
}

@media(max-width:1024px){
  .rsg-self-profile-field{grid-column:span var(--rsg-profile-span-tablet,var(--rsg-profile-span,12))}
}
@media(max-width:767px){
  .rsg-self-profile{padding:18px}
  .rsg-self-profile-field{grid-column:span var(--rsg-profile-span-mobile,12)}
}

/* Rada — Dodaj użytkownika */
.rsg-create-user{
  box-sizing:border-box;
  width:100%;
  padding:28px;
  border:1px solid var(--rsg-front-line);
  border-radius:18px;
  background:#fff;
  color:var(--rsg-front-ink)
}
.rsg-create-user__title{margin:0;color:var(--rsg-front-green-900);font-size:30px;line-height:1.15}
.rsg-create-user__description{max-width:760px;margin:9px 0 0;color:var(--rsg-front-muted);line-height:1.55}
.rsg-create-user__description p{margin:0}
.rsg-create-user__notice{margin:18px 0 0}
.rsg-create-user-progress{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:30px 0 34px;
  overflow:hidden
}
.rsg-create-user-step{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  min-width:0;
  color:var(--rsg-front-muted);
  text-align:center
}
.rsg-create-user-step::after{
  content:"";
  position:absolute;
  z-index:0;
  top:17px;
  left:50%;
  width:100%;
  height:2px;
  background:var(--rsg-front-line)
}
.rsg-create-user-step:last-child::after{display:none}
.rsg-create-user-step__number{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  box-sizing:border-box;
  border:2px solid var(--rsg-front-line);
  border-radius:50%;
  background:#fff;
  color:var(--rsg-front-muted);
  font-size:13px;
  font-weight:900;
  transition:.2s ease
}
.rsg-create-user-step__label{font-size:12px;font-weight:800;transition:.2s ease}
.rsg-create-user-step.is-active .rsg-create-user-step__number,
.rsg-create-user-step.is-done .rsg-create-user-step__number{
  border-color:var(--rsg-front-green-700);
  background:var(--rsg-front-green-700);
  color:#fff
}
.rsg-create-user-step.is-active .rsg-create-user-step__label,
.rsg-create-user-step.is-done .rsg-create-user-step__label{color:var(--rsg-front-green-700)}
.rsg-create-user-step.is-done::after{background:var(--rsg-front-green-700)}
.rsg-create-user__panel[hidden]{display:none!important}
.rsg-create-user__panel{animation:rsgCreateFade .22s ease}
@keyframes rsgCreateFade{from{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:none}}
.rsg-create-user__step-head{margin-bottom:22px}
.rsg-create-user__eyebrow{
  display:inline-block;
  margin-bottom:5px;
  color:var(--rsg-front-green-700);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase
}
.rsg-create-user__step-title{margin:0;color:var(--rsg-front-ink);font-size:22px;line-height:1.2}
.rsg-create-user__step-head p{margin:7px 0 0;color:var(--rsg-front-muted);line-height:1.5}
.rsg-create-user-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rsg-create-user-field{display:grid;gap:7px;min-width:0}
.rsg-create-user-field--full{grid-column:1/-1}
.rsg-create-user-field__label{color:var(--rsg-front-ink);font-size:13px;font-weight:800}
.rsg-create-user-field__label span{color:#9d2635}
.rsg-create-user-field input,
.rsg-create-user-field select,
.rsg-create-user-field textarea{
  width:100%;
  min-width:0;
  min-height:46px;
  box-sizing:border-box;
  padding:10px 12px;
  border:1px solid var(--rsg-front-line);
  border-radius:10px;
  background:#fff;
  color:var(--rsg-front-ink);
  transition:border-color .15s ease,box-shadow .15s ease
}
.rsg-create-user-field textarea{min-height:100px;resize:vertical}
.rsg-create-user-field input:focus,
.rsg-create-user-field select:focus,
.rsg-create-user-field textarea:focus{
  outline:none;
  border-color:var(--rsg-front-green-700);
  box-shadow:0 0 0 3px rgba(65,122,71,.12)
}
.rsg-create-user-field input.rsg-field-error{border-color:#9d2635;box-shadow:0 0 0 3px rgba(157,38,53,.1)}
.rsg-create-user-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.rsg-create-user-role{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:13px;
  min-height:132px;
  box-sizing:border-box;
  padding:18px;
  border:1px solid var(--rsg-front-line);
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  transition:.18s ease
}
.rsg-create-user-role:hover{transform:translateY(-1px);border-color:#9db89a;box-shadow:0 8px 24px rgba(34,77,45,.07)}
.rsg-create-user-role.is-selected{border-color:var(--rsg-front-green-700);background:var(--rsg-front-green-100)}
.rsg-create-user-role input{position:absolute;opacity:0;pointer-events:none}
.rsg-create-user-role__icon{
  flex:0 0 38px;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:11px;
  background:var(--rsg-front-green-900);
  color:#fff;
  font-weight:900
}
.rsg-create-user-role__content{display:grid;gap:5px;min-width:0}
.rsg-create-user-role__content strong{color:var(--rsg-front-green-900);font-size:15px}
.rsg-create-user-role__content small{color:var(--rsg-front-muted);font-size:12px;line-height:1.45}
.rsg-create-user-role__check{
  position:absolute;
  top:10px;
  right:10px;
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--rsg-front-green-700);
  color:#fff;
  font-size:12px;
  font-weight:900;
  opacity:0;
  transform:scale(.7);
  transition:.15s ease
}
.rsg-create-user-role.is-selected .rsg-create-user-role__check{opacity:1;transform:scale(1)}
.rsg-create-user-show-password{display:inline-flex;align-items:center;gap:8px;margin-top:14px;color:var(--rsg-front-muted);font-size:13px;font-weight:700;cursor:pointer}
.rsg-create-user-show-password input{width:17px;height:17px;margin:0}
.rsg-create-user-vote-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.rsg-create-user-choice{
  position:relative;
  display:flex;
  padding:15px 16px;
  border:1px solid var(--rsg-front-line);
  border-radius:12px;
  background:#fff;
  cursor:pointer;
  transition:.18s ease
}
.rsg-create-user-choice input{margin:3px 10px 0 0;accent-color:var(--rsg-front-green-700)}
.rsg-create-user-choice span{display:grid;gap:3px}
.rsg-create-user-choice strong{color:var(--rsg-front-ink);font-size:14px}
.rsg-create-user-choice small{color:var(--rsg-front-muted);font-size:12px;line-height:1.4}
.rsg-create-user-choice.is-selected{border-color:var(--rsg-front-green-700);background:var(--rsg-front-green-100)}
.rsg-create-user-voting-fields{padding:18px;border:1px solid #dbe6d7;border-radius:13px;background:#f9fcf8}
.rsg-create-user__hint{margin:10px 0 0;color:var(--rsg-front-muted);font-size:12px;line-height:1.45}
.rsg-create-user-summary{margin-top:20px;padding:17px 18px;border:1px solid var(--rsg-front-line);border-radius:13px;background:#fafcf9}
.rsg-create-user-summary__title{margin-bottom:10px;color:var(--rsg-front-green-900);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.rsg-create-user-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 20px;margin:0}
.rsg-create-user-summary dl div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;min-width:0}
.rsg-create-user-summary dt{color:var(--rsg-front-muted);font-size:12px;font-weight:700}
.rsg-create-user-summary dd{min-width:0;margin:0;color:var(--rsg-front-ink);font-size:12px;font-weight:800;overflow-wrap:anywhere}
.rsg-create-user__nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:25px}
.rsg-create-user__next,
.rsg-create-user__submit,
.rsg-create-user__back,
.rsg-create-user__another{
  min-height:43px;
  box-sizing:border-box;
  padding:10px 17px;
  border:0;
  border-radius:9px;
  font-weight:800;
  cursor:pointer;
  transition:.16s ease
}
.rsg-create-user__next,
.rsg-create-user__submit{background:var(--rsg-front-red-800);color:#fff}
.rsg-create-user__next:hover,
.rsg-create-user__submit:hover{background:var(--rsg-front-red-900)}
.rsg-create-user__back{background:#eef3ec;color:var(--rsg-front-green-900)}
.rsg-create-user__back:hover{background:#e2ebdf}
.rsg-create-user__submit[disabled],.rsg-create-user__next[disabled]{opacity:.58;cursor:wait}
.rsg-create-user__result{padding:24px;border:1px solid #bcd8b8;border-radius:15px;background:#f2faf0;text-align:center}
.rsg-create-user__result[hidden]{display:none!important}
.rsg-create-user-result__icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:#dff1da;color:#286132;font-size:24px;font-weight:900}
.rsg-create-user-result__title{margin:0;color:#286132;font-size:22px}
.rsg-create-user-result__data{display:grid;gap:7px;max-width:520px;margin:16px auto 18px;padding:14px;border-radius:11px;background:#fff;text-align:left}
.rsg-create-user-result__row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:9px;font-size:13px}
.rsg-create-user-result__row span:first-child{color:var(--rsg-front-muted);font-weight:700}
.rsg-create-user-result__row strong{color:var(--rsg-front-ink);overflow-wrap:anywhere}
.rsg-create-user__another{background:var(--rsg-front-green-900);color:#fff}
.rsg-create-user__another:hover{background:#173b21}

@media(max-width:767px){
  .rsg-create-user{padding:20px}
  .rsg-create-user__title{font-size:25px}
  .rsg-create-user-progress{margin:24px 0 28px}
  .rsg-create-user-step__label{font-size:10px}
  .rsg-create-user-step__number{width:32px;height:32px}
  .rsg-create-user-step::after{top:15px}
  .rsg-create-user-grid,.rsg-create-user-roles,.rsg-create-user-vote-choice,.rsg-create-user-summary dl{grid-template-columns:1fr}
  .rsg-create-user-role{min-height:auto}
  .rsg-create-user-summary dl div{grid-template-columns:88px minmax(0,1fr)}
}
@media(max-width:420px){
  .rsg-create-user{padding:16px}
  .rsg-create-user-step__label{display:none}
  .rsg-create-user__nav{align-items:stretch;flex-direction:column-reverse}
  .rsg-create-user__nav>span{display:none}
  .rsg-create-user__next,.rsg-create-user__submit,.rsg-create-user__back{width:100%;justify-content:center}
}


/* Rada — Lista użytkowników: role, filtry i wyszukiwarka */
.rsg-user-role{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  font-weight:800;
  line-height:1.15;
  box-sizing:border-box
}
.rsg-user-role--rsg_councilor{color:#2f6f38;background:#eaf5e7}
.rsg-user-role--rsg_chairperson{color:#6b5310;background:#fff2c7}
.rsg-user-role--rsg_moderator{color:#7b1f2a;background:#f8e7e9}
.rsg-user-role--administrator{color:#fff;background:#7b1f2a}

.rsg-users-filterbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  margin-bottom:16px
}
.rsg-users-search,
.rsg-users-role-select{
  min-height:42px;
  padding:8px 12px;
  border:1px solid #cbd9c6;
  box-sizing:border-box;
  outline:none
}
.rsg-users-search{
  flex:1 1 240px;
  min-width:min(240px,100%)
}
.rsg-users-role-select{
  flex:0 1 260px;
  min-width:min(220px,100%)
}
.rsg-users-search:focus,
.rsg-users-role-select:focus{
  border-color:#4b8554;
  box-shadow:0 0 0 2px rgba(75,133,84,.12)
}
.rsg-users-role-buttons{
  display:flex;
  flex-wrap:wrap;
  align-items:center
}
.rsg-users-role-filter{
  min-height:38px;
  padding:7px 12px;
  border:1px solid #cbd9c6;
  font:inherit;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease
}
.rsg-users-role-filter:hover{transform:translateY(-1px)}
.rsg-users-role-filter.is-active{border-color:transparent}
.rsg-users-filter-empty{
  padding:18px;
  margin-top:12px;
  border:1px dashed #cbd9c6;
  border-radius:10px;
  color:#68756b;
  text-align:center;
  background:#f8faf7
}
.rsg-user-card[hidden]{display:none!important}

@media(max-width:767px){
  .rsg-users-filterbar{
    align-items:stretch
  }
  .rsg-users-search,
  .rsg-users-role-select{
    width:100%;
    flex-basis:100%
  }
}


/* Rada — Lista użytkowników: bogatszy układ kart i akcje */
.rsg-user-card{
  box-sizing:border-box;
  min-width:0
}
.rsg-user-card__top{
  flex:1 1 auto;
  min-width:0
}
.rsg-user-avatar{
  flex:0 0 auto
}
.rsg-user-avatar img{
  object-fit:cover
}
.rsg-user-main{
  box-sizing:border-box;
  max-width:100%
}
.rsg-user-card__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  flex:0 0 auto;
  box-sizing:border-box
}
.rsg-user-action{
  box-sizing:border-box;
  white-space:nowrap
}
.rsg-user-action--details{
  background:#e7efe3;
  color:#224d2d!important
}
.rsg-user-action--details:hover{
  background:#d8e6d2
}
.rsg-user-action--attendance{
  background:#f7e3e5;
  color:#8b2330!important
}
.rsg-user-action--attendance:hover{
  background:#efd0d4
}
.rsg-user-action--attendance.is-loading{
  cursor:wait;
  opacity:.7;
  transform:none
}
.rsg-user-card.is-absent{
  border-style:dashed
}
.rsg-user-card.is-absent .rsg-user-card__top{
  transition:opacity .2s ease
}
.rsg-badge--attendance{
  background:#7b1f2a;
  color:#fff
}
.rsg-users-action-notice{
  margin-top:14px
}

@media(max-width:600px){
  .rsg-user-card__actions{
    width:100%
  }
  .rsg-user-card__actions .rsg-user-action{
    width:100%
  }
}


/* Globalny stan nieobecności użytkownika */
.rsg-user-card.is-absent{
  background:#eeeeee;
  border-color:#d2d2d2;
  box-shadow:none
}
.rsg-user-card.is-absent .rsg-user-name,
.rsg-user-card.is-absent .rsg-user-meta,
.rsg-user-card.is-absent .rsg-user-meta > span:not(.rsg-badge--attendance){
  color:#8a8a8a
}
.rsg-user-card.is-absent .rsg-user-role{
  background:#dddddd;
  color:#7a7a7a
}
.rsg-user-card.is-absent .rsg-user-avatar{
  filter:grayscale(1);
  opacity:.58
}
.rsg-user-card.is-absent .rsg-badge:not(.rsg-badge--attendance){
  filter:grayscale(1);
  opacity:.72
}
.rsg-user-card.is-absent .rsg-badge--attendance{
  background:#9a9a9a;
  color:#fff
}
.rsg-user-card.is-absent .rsg-user-action--attendance{
  background:#2f6f38;
  color:#fff!important
}
.rsg-user-card.is-absent .rsg-user-action--attendance:hover{
  background:#255b2d;
  color:#fff!important
}

/* ================================================================
   Rada — Lista sesji (Elementor)
   ================================================================ */
.rsg-sessions-list{display:grid;grid-template-columns:1fr;gap:14px}
.rsg-sessions-list--grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.rsg-session-card{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;padding:16px 18px;border:1px solid #d4e1d0;border-radius:13px;background:#fff;box-sizing:border-box}
.rsg-session-card__content{flex:1 1 auto;min-width:0}
.rsg-session-card__title{margin:0 0 5px;color:#224d2d;font-size:18px;line-height:1.3}
.rsg-session-card__title a{color:inherit;text-decoration:none}
.rsg-session-card__title a:hover{text-decoration:underline}
.rsg-session-card__date{color:#68756b;font-size:13px;font-weight:700}
.rsg-session-card__excerpt{margin-top:8px;color:#66726a;line-height:1.5}
.rsg-session-card__actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;flex:0 0 auto}
.rsg-session-action{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:0;border-radius:9px;text-decoration:none;cursor:pointer;box-sizing:border-box;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
.rsg-session-action:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(30,64,37,.13);filter:saturate(1.08)}
.rsg-session-action:focus-visible{outline:3px solid rgba(47,111,56,.18);outline-offset:2px}
.rsg-session-action svg{display:block;width:18px;height:18px}
.rsg-session-action--open{background:#dff0dc;color:#2f6f38}
.rsg-session-action--closed{background:#e7ebee;color:#687279}
.rsg-session-action--edit{background:#e7efe3;color:#224d2d}
.rsg-session-action--documents{background:#e6eef4;color:#315d78}
.rsg-session-action.is-loading{opacity:.6;cursor:wait;transform:none;pointer-events:none}

@media(max-width:767px){
  .rsg-sessions-list--grid{grid-template-columns:1fr!important}
  .rsg-session-card{align-items:flex-start;flex-direction:column}
  .rsg-session-card__actions{justify-content:flex-start;width:100%}
}


/* ================================================================
   0.3.33 — Elementor: Kreator Sesji Rady
   ================================================================ */
.rsg-session-wizard{
  --rsg-wizard-green:#2f6f3d;
  --rsg-wizard-green-dark:#1f532d;
  --rsg-wizard-red:#8f2330;
  --rsg-wizard-border:#d5e3d2;
  --rsg-wizard-muted:#6f7d73;
  position:relative;
  padding:26px;
  border:1px solid var(--rsg-wizard-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 13px 38px rgba(32,74,42,.08);
  color:#314538;
  box-sizing:border-box;
}
.rsg-session-wizard *{box-sizing:border-box}
.rsg-session-wizard__intro{margin-bottom:22px}
.rsg-session-wizard__kicker{display:inline-block;margin-bottom:7px;color:#5b7c62;font-size:10px;font-weight:900;letter-spacing:.13em}
.rsg-session-wizard__intro h2,.rsg-session-wizard-success h3{margin:0 0 7px;color:#204b2c;font-size:25px;line-height:1.2}
.rsg-session-wizard__intro p{max-width:780px;margin:0;color:var(--rsg-wizard-muted);line-height:1.55}
.rsg-session-wizard-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}
.rsg-session-wizard-stepper__item{display:flex;align-items:center;gap:9px;min-width:0;padding:10px;border:1px solid #e0e9de;border-radius:11px;background:#f9fbf8;color:#738078;transition:.18s ease}
.rsg-session-wizard-stepper__number{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border:1px solid #cad8c7;border-radius:50%;background:#fff;color:#66756a;font-size:11px;font-weight:900}
.rsg-session-wizard-stepper__label{display:grid;gap:1px;min-width:0}
.rsg-session-wizard-stepper__label strong{color:inherit;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rsg-session-wizard-stepper__label small{font-size:9px;opacity:.7}
.rsg-session-wizard-stepper__item.is-active{border-color:#a9c9ad;background:#eff7ed;color:#245c31;box-shadow:0 4px 13px rgba(47,111,61,.06)}
.rsg-session-wizard-stepper__item.is-complete{color:#3d6b46}
.rsg-session-wizard-stepper__item.is-active .rsg-session-wizard-stepper__number,.rsg-session-wizard-stepper__item.is-complete .rsg-session-wizard-stepper__number{border-color:var(--rsg-wizard-green);background:var(--rsg-wizard-green);color:#fff}
.rsg-session-wizard-progress{height:4px;margin-bottom:22px;overflow:hidden;border-radius:999px;background:#e8eee6}
.rsg-session-wizard-progress__bar{display:block;width:0;height:100%;border-radius:999px;background:var(--rsg-wizard-green);transition:width .25s ease}
.rsg-session-wizard-panel{animation:rsgWizardPanelIn .18s ease}
@keyframes rsgWizardPanelIn{from{opacity:.3;transform:translateX(8px)}to{opacity:1;transform:none}}
.rsg-session-wizard-panel__head{display:flex;align-items:flex-start;gap:11px;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid #e2ebe0}
.rsg-session-wizard-panel__head>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:#e7f2e4;color:var(--rsg-wizard-green);font-weight:900}
.rsg-session-wizard-panel__head h3{margin:0 0 3px;color:#214d2d;font-size:18px}
.rsg-session-wizard-panel__head p{margin:0;color:#758078;font-size:12px;line-height:1.45}
.rsg-session-wizard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.rsg-session-wizard-field{display:grid;align-content:start;gap:6px;padding:12px;border:1px solid #dce7d9;border-radius:11px;background:#fbfdfb}
.rsg-session-wizard-field--wide{grid-column:1/-1}
.rsg-session-wizard-field>span{color:#395d41;font-size:11px;font-weight:800}
.rsg-session-wizard-field>span b{color:#9b3140}
.rsg-session-wizard-field>small{color:#839087;font-size:10px}
.rsg-session-wizard-field input,.rsg-session-wizard-field select{width:100%;min-height:43px;padding:8px 10px;border:1px solid #c8d9c5;border-radius:8px;background:#fff;color:#34463a;font:inherit;box-shadow:none;outline:0}
.rsg-session-wizard-field select[multiple]{min-height:92px}
.rsg-session-wizard-field input:focus,.rsg-session-wizard-field select:focus{border-color:#579260;box-shadow:0 0 0 3px rgba(87,146,96,.11)}
.rsg-session-wizard-toggle{display:flex;align-items:center;gap:10px;min-height:68px;padding:12px;border:1px solid #d4e4d1;border-radius:11px;background:#f4f9f2;cursor:pointer}
.rsg-session-wizard-toggle input{width:20px;height:20px;margin:0;accent-color:var(--rsg-wizard-green)}
.rsg-session-wizard-toggle>span{display:grid;gap:2px}
.rsg-session-wizard-toggle strong{color:#2d5736;font-size:12px}
.rsg-session-wizard-toggle small{color:#758178;font-size:10px}
.rsg-session-wizard-optional-note,.rsg-session-wizard-final-note{margin-bottom:15px;padding:11px 13px;border:1px solid #d8e4d5;border-left:4px solid #6f9876;border-radius:9px;background:#f7faf6;color:#617067;font-size:11px;line-height:1.45}
.rsg-session-wizard-optional-note.is-warning{border-left-color:#b3953c;background:#fffaf0}
.rsg-session-wizard-repeater-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:9px;margin-bottom:9px;padding:10px;border:1px solid #d9e5d6;border-radius:11px;background:#fbfdfb}
.rsg-session-wizard-repeater-row__number{display:grid;place-items:center;align-self:center;width:30px;height:30px;border:1px solid #d2dfcf;border-radius:8px;background:#fff;color:#3c6044;font-size:11px;font-weight:900}
.rsg-session-wizard-repeater-row label,.rsg-session-wizard-agenda-row label{display:grid;gap:5px;min-width:0}
.rsg-session-wizard-repeater-row label>span,.rsg-session-wizard-agenda-row label>span{color:#46634c;font-size:10px;font-weight:800}
.rsg-session-wizard-repeater-row input,.rsg-session-wizard-agenda-row input,.rsg-session-wizard-agenda-row select{width:100%;min-height:40px;padding:7px 9px;border:1px solid #cbdac8;border-radius:8px;background:#fff;color:#35483b;font:inherit;outline:0}
.rsg-session-wizard-add{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:39px;padding:7px 13px;border:1px solid #bcd1b8;border-radius:9px;background:#eff6ed;color:#2f6f3d;font-weight:800;cursor:pointer}
.rsg-session-wizard-add:hover{border-color:#579260;background:#e2f0df}
.rsg-session-wizard-add>span{font-size:18px;line-height:1}
.rsg-session-wizard-icon-button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #d3dfd0;border-radius:8px;background:#f3f7f1;color:#5f7764;font-weight:900;cursor:pointer}
.rsg-session-wizard-icon-button svg{width:16px;height:16px}
.rsg-session-wizard-icon-button.is-remove{border-color:#eed2d6;background:#fff3f4;color:#963241}
.rsg-session-wizard-icon-button:hover{transform:translateY(-1px)}
.rsg-session-wizard-icon-button.is-remove:hover{border-color:#963241;background:#963241;color:#fff}
.rsg-session-wizard-agenda{display:grid;gap:10px;margin-bottom:11px}
.rsg-session-wizard-agenda-row{display:grid;grid-template-columns:auto 130px minmax(170px,.7fr) minmax(230px,1fr) minmax(260px,1.1fr);align-items:end;gap:9px;padding:11px;border:1px solid #d9e5d6;border-radius:11px;background:#fbfdfb}
.rsg-session-wizard-agenda-row__actions{display:flex;gap:4px;align-self:end;min-height:40px;align-items:center}
.rsg-session-wizard-agenda-row__actions .rsg-session-wizard-icon-button{width:31px;height:31px;font-size:12px}
.rsg-session-wizard__message{margin-bottom:14px;padding:10px 12px;border-radius:9px;font-size:11px;font-weight:700}
.rsg-session-wizard__message.is-error{border:1px solid #eccbd0;background:#fff3f4;color:#8b2936}
.rsg-session-wizard__message.is-info{border:1px solid #cbdcc8;background:#f3f8f1;color:#3d6846}
.rsg-session-wizard-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:22px;padding-top:17px;border-top:1px solid #e1ebe0}
.rsg-session-wizard-nav__right{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}
.rsg-session-wizard-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 15px;border:1px solid transparent;border-radius:9px;font:inherit;font-weight:800;text-decoration:none;cursor:pointer;transition:.16s ease}
.rsg-session-wizard-button:hover{text-decoration:none;transform:translateY(-1px)}
.rsg-session-wizard-button--primary{border-color:var(--rsg-wizard-red);background:var(--rsg-wizard-red);color:#fff}
.rsg-session-wizard-button--secondary{border-color:#c8d9c5;background:#f4f8f2;color:#2f6f3d}
.rsg-session-wizard-button--skip{border-color:transparent;background:transparent;color:#7b6a34}
.rsg-session-wizard-button:disabled,.rsg-session-wizard-button.is-loading{opacity:.55;cursor:wait;transform:none}
.rsg-session-wizard-summary__main{display:grid;gap:4px;margin-bottom:12px;padding:16px;border:1px solid #cfe0cc;border-radius:11px;background:#f3f9f1}
.rsg-session-wizard-summary__main span,.rsg-session-wizard-summary__grid span{color:#748078;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.rsg-session-wizard-summary__main strong{color:#24532f;font-size:18px}
.rsg-session-wizard-summary__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:15px}
.rsg-session-wizard-summary__grid>div{display:grid;gap:4px;padding:11px;border:1px solid #dde7da;border-radius:9px;background:#fbfdfb}
.rsg-session-wizard-summary__grid strong{color:#3d5543;font-size:12px}
.rsg-session-wizard-success{text-align:center;padding:18px 0 4px}
.rsg-session-wizard-success__icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 13px;border-radius:50%;background:#e2f3e1;color:#2c7139;font-size:31px;font-weight:900}
.rsg-session-wizard-success>p{max-width:700px;margin:0 auto 17px;color:#6e7c72;line-height:1.5}
.rsg-session-wizard-success__actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px}
.rsg-session-wizard-success__warnings{max-width:760px;margin:0 auto 15px;padding:11px 13px;border:1px solid #eadcae;border-radius:9px;background:#fffaf0;color:#7a641f;text-align:left;font-size:11px}
.rsg-session-wizard-success__warnings ul{margin:6px 0 0 18px}
@media(max-width:1050px){.rsg-session-wizard-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.rsg-session-wizard-agenda-row{grid-template-columns:repeat(2,minmax(0,1fr))}.rsg-session-wizard-agenda-row__actions{grid-column:1/-1}.rsg-session-wizard-agenda-row__title,.rsg-session-wizard-agenda-row__resolution{min-width:0}}
@media(max-width:767px){.rsg-session-wizard{padding:17px}.rsg-session-wizard-stepper,.rsg-session-wizard-grid,.rsg-session-wizard-summary__grid,.rsg-session-wizard-agenda-row{grid-template-columns:1fr}.rsg-session-wizard-stepper__label strong{white-space:normal}.rsg-session-wizard-field--wide{grid-column:auto}.rsg-session-wizard-agenda-row__actions{grid-column:auto}.rsg-session-wizard-nav{align-items:stretch;flex-direction:column}.rsg-session-wizard-nav__right{width:100%;margin:0;align-items:stretch;flex-direction:column}.rsg-session-wizard-button{width:100%}.rsg-session-wizard-success__actions{align-items:stretch;flex-direction:column}.rsg-session-wizard-success__actions .rsg-session-wizard-button{width:100%}}


/* ================================================================
   0.3.34 — Uproszczony 6-krokowy kreator sesji
   ================================================================ */

.rsg-session-wizard-stepper{
  grid-template-columns:repeat(6,minmax(0,1fr));
}

.rsg-session-wizard-stepper__item{
  padding:9px;
}

.rsg-session-wizard-stepper__number{
  flex-basis:29px;
  width:29px;
  height:29px;
}

.rsg-session-wizard-document-picker{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:86px;
  padding:16px;
  border:1px dashed #afc9ab;
  border-radius:12px;
  background:#f7fbf6;
  color:#365f3f;
  cursor:pointer;
  transition:.16s ease;
}

.rsg-session-wizard-document-picker:hover{
  border-color:#579260;
  background:#eef7ec;
}

.rsg-session-wizard-document-picker input{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
}

.rsg-session-wizard-document-picker__icon{
  display:grid;
  place-items:center;
  flex:0 0 46px;
  width:46px;
  height:46px;
  border-radius:12px;
  background:#e3f0e0;
  color:#347441;
}

.rsg-session-wizard-document-picker__icon svg{
  width:24px;
  height:24px;
}

.rsg-session-wizard-document-picker>span:last-child{
  display:grid;
  gap:3px;
}

.rsg-session-wizard-document-picker strong{
  color:#285733;
  font-size:13px;
}

.rsg-session-wizard-document-picker small{
  color:#758178;
  font-size:10px;
}

.rsg-session-wizard-document-list{
  display:grid;
  gap:8px;
  margin-top:12px;
}

.rsg-session-wizard-document-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:10px 11px;
  border:1px solid #d9e5d6;
  border-radius:10px;
  background:#fbfdfb;
}

.rsg-session-wizard-document-row__icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:8px;
  background:#edf5eb;
  color:#487750;
}

.rsg-session-wizard-document-row__icon svg{
  width:18px;
  height:18px;
}

.rsg-session-wizard-document-row__name{
  display:grid;
  gap:2px;
  min-width:0;
}

.rsg-session-wizard-document-row__name strong{
  overflow:hidden;
  color:#3a5940;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.rsg-session-wizard-document-row__name small{
  color:#849087;
  font-size:9px;
}

.rsg-session-wizard-document-empty{
  padding:13px;
  border:1px solid #e1e9df;
  border-radius:9px;
  background:#fafcfa;
  color:#7c8980;
  font-size:10px;
  text-align:center;
}

.rsg-session-wizard-content-field{
  display:grid;
  gap:7px;
}

.rsg-session-wizard-content-field>span{
  color:#395d41;
  font-size:11px;
  font-weight:800;
}

.rsg-session-wizard-content-field textarea{
  width:100%;
  min-height:220px;
  padding:13px;
  border:1px solid #c8d9c5;
  border-radius:10px;
  background:#fff;
  color:#34463a;
  font:inherit;
  line-height:1.55;
  resize:vertical;
  outline:0;
}

.rsg-session-wizard-content-field textarea:focus{
  border-color:#579260;
  box-shadow:0 0 0 3px rgba(87,146,96,.11);
}

.rsg-session-wizard-final-note--publish{
  border-left-color:#8f2330;
  background:#fff7f8;
}

@media(max-width:1350px){
  .rsg-session-wizard-stepper{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:767px){
  .rsg-session-wizard-stepper{
    grid-template-columns:1fr;
  }

  .rsg-session-wizard-document-picker{
    align-items:flex-start;
  }
}


/* ================================================================
   0.3.35 — pełne style Elementor: Kreator sesji
   ================================================================ */

.rsg-session-wizard-stepper__item{
  border:1px solid #d8e5d5;
  border-radius:10px;
}

.rsg-session-wizard-panel{
  border:1px solid #dce7d9;
  border-radius:13px;
}

.rsg-session-wizard-summary__main,
.rsg-session-wizard-summary__grid>div{
  border:1px solid #d8e5d5;
}

.rsg-session-wizard-button,
.rsg-session-wizard-add{
  border-style:solid;
  border-width:1px;
}

.rsg-session-wizard-button--skip{
  border-color:#d9e1d7;
}

.rsg-session-wizard-stepper[hidden],
.rsg-session-wizard-progress[hidden]{
  display:none!important;
}


/* ================================================================
   0.3.36 — Elementor Popup: interaktywność Kreatora Sesji
   ================================================================ */

.elementor-popup-modal .rsg-session-wizard,
.elementor-popup-modal .rsg-session-wizard-form,
.elementor-popup-modal .rsg-session-wizard-panel{
  pointer-events:auto;
}

.elementor-popup-modal .rsg-session-wizard-button,
.elementor-popup-modal .rsg-session-wizard-add,
.elementor-popup-modal .rsg-session-wizard-icon-button,
.elementor-popup-modal .rsg-session-wizard input,
.elementor-popup-modal .rsg-session-wizard select,
.elementor-popup-modal .rsg-session-wizard textarea,
.elementor-popup-modal .rsg-session-wizard label{
  pointer-events:auto;
}


/* ================================================================
   0.3.37 — Kreator: border przycisków + pozycja numeru + separator
   ================================================================ */

/* Domyślnie numer etapu jest pionowo wycentrowany względem tytułu/opisu. */
.rsg-session-wizard-panel__head{
  align-items:center;
}

/* Elementor może całkowicie wyłączyć separator ustawiając border-style:none. */
.rsg-session-wizard-panel__head[style*="border-bottom-style: none"],
.rsg-session-wizard-panel__head[style*="border-bottom-style:none"]{
  border-bottom-width:0;
}

/* Border przycisków nie jest już na stałe związany z kolorem tła. */
.rsg-session-wizard-button,
.rsg-session-wizard-add,
.rsg-session-wizard-icon-button{
  box-sizing:border-box;
}


/* ================================================================
   0.3.38 — Kreator sesji: profesjonalne karty Uchwał
   ================================================================ */

.rsg-session-wizard-resolutions{
  display:grid;
  gap:14px;
  margin-bottom:14px;
}

.rsg-session-wizard-resolution-card{
  display:grid!important;
  grid-template-columns:1fr!important;
  align-items:stretch!important;
  gap:14px!important;
  margin-bottom:0!important;
  padding:17px!important;
  border:1px solid #d2e2cf!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(40,83,48,.055);
}

.rsg-session-wizard-resolution-card__top{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding-bottom:12px;
  border-bottom:1px solid #e6eee4;
}

.rsg-session-wizard-resolution-card .rsg-session-wizard-repeater-row__number{
  width:38px;
  height:38px;
  border:1px solid #c9ddc5;
  border-radius:10px;
  background:#eaf4e7;
  color:#2f6f3d;
  font-size:13px;
}

.rsg-session-wizard-resolution-card__heading{
  display:grid;
  gap:2px;
}

.rsg-session-wizard-resolution-card__heading strong{
  color:#244f30;
  font-size:13px;
  font-weight:900;
}

.rsg-session-wizard-resolution-card__heading small{
  color:#7b887f;
  font-size:10px;
  line-height:1.4;
}

.rsg-session-wizard-resolution-card__title{
  display:grid;
  gap:7px;
}

.rsg-session-wizard-resolution-card__title>span{
  color:#3a5f42;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
}

.rsg-session-wizard-resolution-card__title input{
  width:100%;
  min-height:50px!important;
  padding:11px 13px!important;
  border:1px solid #bfd3bc!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#2f4435!important;
  font-size:13px;
  outline:0;
  box-shadow:0 1px 2px rgba(41,77,49,.025);
}

.rsg-session-wizard-resolution-card__title input:focus{
  border-color:#4d8758!important;
  box-shadow:0 0 0 3px rgba(77,135,88,.11);
}

.rsg-session-wizard-resolution-documents{
  display:grid;
  grid-template-columns:minmax(220px,.6fr) minmax(0,1fr);
  gap:12px;
  padding:12px;
  border:1px solid #d9e6d6;
  border-radius:11px;
  background:#f7faf6;
}

.rsg-session-wizard-resolution-documents__picker{
  position:relative;
  display:flex!important;
  align-items:center;
  gap:9px!important;
  min-height:60px;
  padding:9px 11px;
  border:1px dashed #b8cfb5;
  border-radius:9px;
  background:#fff;
  cursor:pointer;
  transition:.16s ease;
}

.rsg-session-wizard-resolution-documents__picker:hover{
  border-color:#55905f;
  background:#f1f8ef;
}

.rsg-session-wizard-resolution-documents__picker input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:0!important;
  opacity:0;
  pointer-events:none;
}

.rsg-session-wizard-resolution-documents__picker-icon{
  display:grid;
  place-items:center;
  flex:0 0 36px;
  width:36px;
  height:36px;
  border-radius:9px;
  background:#e8f2e5;
  color:#357242;
}

.rsg-session-wizard-resolution-documents__picker-icon svg{
  width:19px;
  height:19px;
}

.rsg-session-wizard-resolution-documents__picker>span:last-child{
  display:grid;
  gap:2px;
}

.rsg-session-wizard-resolution-documents__picker strong{
  color:#315e3b;
  font-size:10px;
}

.rsg-session-wizard-resolution-documents__picker small{
  color:#879188;
  font-size:9px;
}

.rsg-session-wizard-resolution-documents__list{
  display:grid;
  align-content:start;
  gap:6px;
  min-width:0;
}

.rsg-session-wizard-resolution-documents__empty{
  display:flex;
  align-items:center;
  min-height:60px;
  padding:10px 12px;
  border:1px dashed #d6e1d4;
  border-radius:9px;
  background:#fbfdfb;
  color:#89938c;
  font-size:9px;
}

.rsg-session-wizard-resolution-file{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-height:48px;
  padding:7px 8px;
  border:1px solid #dbe6d8;
  border-radius:8px;
  background:#fff;
}

.rsg-session-wizard-resolution-file__icon{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:7px;
  background:#edf5eb;
  color:#4b7954;
}

.rsg-session-wizard-resolution-file__icon svg{
  width:16px;
  height:16px;
}

.rsg-session-wizard-resolution-file__name{
  display:grid;
  gap:1px;
  min-width:0;
}

.rsg-session-wizard-resolution-file__name strong{
  overflow:hidden;
  color:#405746;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.rsg-session-wizard-resolution-file__name small{
  color:#8b948d;
  font-size:8px;
}

.rsg-session-wizard-resolution-file__remove{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  padding:0;
  border:1px solid #edcfd3;
  border-radius:7px;
  background:#fff5f6;
  color:#973442;
  cursor:pointer;
  transition:.15s ease;
}

.rsg-session-wizard-resolution-file__remove:hover{
  border-color:#973442;
  background:#973442;
  color:#fff;
}

.rsg-session-wizard-resolution-file__remove svg{
  width:15px;
  height:15px;
}

.rsg-session-wizard-resolution-add-wrap{
  display:flex;
  justify-content:flex-start;
  margin-top:2px;
}

.rsg-session-wizard-add--resolution{
  min-height:44px!important;
  padding:9px 17px!important;
  border-color:#2f6f3d!important;
  border-radius:10px!important;
  background:#2f6f3d!important;
  color:#fff!important;
  font-size:11px;
  box-shadow:0 4px 12px rgba(47,111,61,.11);
}

.rsg-session-wizard-add--resolution:hover,
.rsg-session-wizard-add--resolution:focus{
  border-color:#245a31!important;
  background:#245a31!important;
  color:#fff!important;
  box-shadow:0 6px 16px rgba(47,111,61,.16);
}

@media(max-width:900px){
  .rsg-session-wizard-resolution-documents{
    grid-template-columns:1fr;
  }
}

@media(max-width:767px){
  .rsg-session-wizard-resolution-card{
    padding:13px!important;
  }

  .rsg-session-wizard-resolution-card__top{
    grid-template-columns:auto minmax(0,1fr) auto;
  }

  .rsg-session-wizard-resolution-add-wrap{
    justify-content:stretch;
  }

  .rsg-session-wizard-add--resolution{
    width:100%;
  }
}


/* ================================================================
   0.3.39 — Kreator sesji: Porządek Sesji Rady jako uporządkowane karty
   ================================================================ */

.rsg-session-wizard-agenda{
  display:grid;
  gap:14px;
  margin-bottom:14px;
}

.rsg-session-wizard-agenda-card{
  display:grid!important;
  grid-template-columns:1fr!important;
  align-items:stretch!important;
  gap:14px!important;
  margin:0!important;
  padding:17px!important;
  border:1px solid #d2e2cf!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(40,83,48,.055);
}

.rsg-session-wizard-agenda-card__top{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding-bottom:12px;
  border-bottom:1px solid #e6eee4;
}

.rsg-session-wizard-agenda-card__number{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid #c9ddc5;
  border-radius:10px;
  background:#eaf4e7;
  color:#2f6f3d;
  font-size:13px;
  font-weight:900;
}

.rsg-session-wizard-agenda-card__heading{
  display:grid;
  gap:2px;
  min-width:0;
}

.rsg-session-wizard-agenda-card__heading strong{
  color:#244f30;
  font-size:13px;
  font-weight:900;
}

.rsg-session-wizard-agenda-card__heading small{
  color:#7b887f;
  font-size:10px;
  line-height:1.4;
}

.rsg-session-wizard-agenda-card__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
}

.rsg-session-wizard-agenda-card__actions .rsg-session-wizard-icon-button{
  width:34px;
  height:34px;
}

.rsg-session-wizard-agenda-card__body{
  display:grid;
  gap:12px;
}

.rsg-session-wizard-agenda-card label{
  display:grid;
  gap:7px;
  min-width:0;
}

.rsg-session-wizard-agenda-card label>span{
  color:#3a5f42;
  font-size:10px;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.rsg-session-wizard-agenda-card input,
.rsg-session-wizard-agenda-card select{
  width:100%;
  min-height:48px!important;
  padding:10px 12px!important;
  border:1px solid #bfd3bc!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#2f4435!important;
  font:inherit;
  outline:0;
  box-shadow:0 1px 2px rgba(41,77,49,.025);
}

.rsg-session-wizard-agenda-card input:focus,
.rsg-session-wizard-agenda-card select:focus{
  border-color:#4d8758!important;
  box-shadow:0 0 0 3px rgba(77,135,88,.11);
}

.rsg-session-wizard-agenda-card__title input{
  min-height:52px!important;
  font-size:13px;
}

.rsg-session-wizard-agenda-card__options{
  display:grid;
  grid-template-columns:minmax(150px,.55fr) minmax(220px,.9fr) minmax(260px,1.15fr);
  align-items:end;
  gap:12px;
  padding:12px;
  border:1px solid #dce7d9;
  border-radius:11px;
  background:#f8fbf7;
}

.rsg-session-wizard-agenda-card__parent[hidden]{
  display:none!important;
}

.rsg-session-wizard-agenda-add-wrap{
  display:flex;
  justify-content:flex-start;
  margin-top:2px;
}

.rsg-session-wizard-add--agenda{
  min-height:44px!important;
  padding:9px 17px!important;
  border-color:#2f6f3d!important;
  border-radius:10px!important;
  background:#2f6f3d!important;
  color:#fff!important;
  font-size:11px;
  box-shadow:0 4px 12px rgba(47,111,61,.11);
}

.rsg-session-wizard-add--agenda:hover,
.rsg-session-wizard-add--agenda:focus{
  border-color:#245a31!important;
  background:#245a31!important;
  color:#fff!important;
  box-shadow:0 6px 16px rgba(47,111,61,.16);
}

@media(max-width:1050px){
  .rsg-session-wizard-agenda-card__options{
    grid-template-columns:1fr 1fr;
  }

  .rsg-session-wizard-agenda-card__resolution{
    grid-column:1/-1;
  }
}

@media(max-width:767px){
  .rsg-session-wizard-agenda-card{
    padding:13px!important;
  }

  .rsg-session-wizard-agenda-card__top{
    grid-template-columns:auto minmax(0,1fr);
  }

  .rsg-session-wizard-agenda-card__actions{
    grid-column:1/-1;
    justify-content:flex-end;
    padding-top:8px;
    border-top:1px solid #edf2eb;
  }

  .rsg-session-wizard-agenda-card__options{
    grid-template-columns:1fr;
    padding:10px;
  }

  .rsg-session-wizard-agenda-card__resolution{
    grid-column:auto;
  }

  .rsg-session-wizard-agenda-add-wrap{
    justify-content:stretch;
  }

  .rsg-session-wizard-add--agenda{
    width:100%;
  }
}


/* ================================================================
   0.3.40 — Uchwały: accordion + poprawione przewijanie popupu
   ================================================================ */

/* Accordion uchwał */
.rsg-session-wizard-resolution-card{
  overflow:hidden;
  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    background-color .18s ease;
}

.rsg-session-wizard-resolution-card.is-expanded{
  border-color:#b8d2b4!important;
  box-shadow:0 7px 22px rgba(40,83,48,.07);
}

.rsg-session-wizard-resolution-card.is-collapsed{
  gap:0!important;
  padding-bottom:0!important;
}

.rsg-session-wizard-resolution-card__top{
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  padding-bottom:0!important;
  border-bottom:0!important;
}

.rsg-session-wizard-resolution-card.is-expanded
.rsg-session-wizard-resolution-card__top{
  padding-bottom:12px!important;
  border-bottom:1px solid #e6eee4!important;
}

.rsg-session-wizard-resolution-card__toggle{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  width:100%;
  min-width:0;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}

.rsg-session-wizard-resolution-card__toggle:focus{
  outline:0;
}

.rsg-session-wizard-resolution-card__toggle:focus-visible{
  border-radius:9px;
  box-shadow:0 0 0 3px rgba(63,123,74,.12);
}

.rsg-session-wizard-resolution-card__chevron{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1px solid #d4e0d1;
  border-radius:8px;
  background:#f6faf5;
  color:#54725a;
  transition:
    transform .18s ease,
    background-color .18s ease,
    border-color .18s ease;
}

.rsg-session-wizard-resolution-card__chevron svg{
  width:17px;
  height:17px;
  transition:transform .18s ease;
}

.rsg-session-wizard-resolution-card__chevron.is-open svg{
  transform:rotate(180deg);
}

.rsg-session-wizard-resolution-card__toggle:hover
.rsg-session-wizard-resolution-card__chevron{
  border-color:#9fbea5;
  background:#edf5eb;
  color:#315f3b;
}

.rsg-session-wizard-resolution-card__body{
  display:grid;
  gap:14px;
  padding-top:14px;
}

.rsg-session-wizard-resolution-card__body[hidden]{
  display:none!important;
}

.rsg-session-wizard-resolution-card.is-collapsed
.rsg-session-wizard-resolution-card__heading small{
  display:none;
}

.rsg-session-wizard-resolution-card.is-collapsed
.rsg-session-wizard-resolution-card__top{
  align-items:center;
}

.rsg-session-wizard-resolution-card__remove{
  align-self:center;
}

/* Dokument uchwały — lepszy kosz */
.rsg-session-wizard-resolution-file__remove{
  display:grid!important;
  place-items:center!important;
  flex:0 0 36px;
  width:36px!important;
  height:36px!important;
  padding:0!important;
  border:1px solid #e5bfc5!important;
  border-radius:9px!important;
  background:#fff8f9!important;
  color:#9d3242!important;
  box-shadow:none!important;
  cursor:pointer;
  transition:
    background-color .15s ease,
    border-color .15s ease,
    color .15s ease,
    transform .15s ease,
    box-shadow .15s ease;
}

.rsg-session-wizard-resolution-file__remove:hover,
.rsg-session-wizard-resolution-file__remove:focus{
  border-color:#9d3242!important;
  background:#9d3242!important;
  color:#fff!important;
  transform:translateY(-1px);
  box-shadow:0 5px 12px rgba(157,50,66,.16)!important;
  outline:0;
}

.rsg-session-wizard-resolution-file__remove:focus-visible{
  box-shadow:0 0 0 3px rgba(157,50,66,.15)!important;
}

.rsg-session-wizard-resolution-file__remove-icon{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
}

.rsg-session-wizard-resolution-file__remove-icon svg{
  display:block;
  width:17px!important;
  height:17px!important;
}

/* Długie listy uchwał nie rozciągają niekontrolowanie wewnętrznego układu */
.rsg-session-wizard-resolutions{
  min-height:0;
}

@media(max-width:767px){
  .elementor-popup-modal .dialog-widget-content,
  .elementor-popup-modal .dialog-message{
    max-height:100vh!important;
  }

  .rsg-session-wizard-resolution-card__toggle{
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:8px;
  }

  .rsg-session-wizard-resolution-card__chevron{
    width:30px;
    height:30px;
  }
}


/* ================================================================
   0.3.41 — Uchwały: kompaktowy accordion + poprawiony scroll popupu
   ================================================================ */
.rsg-session-wizard-resolution-card{
  gap:0!important;padding:0!important;overflow:hidden;
  border:1px solid #d7e4d4!important;border-radius:12px!important;
  background:#fff!important;box-shadow:0 3px 10px rgba(38,78,46,.035)!important;
}
.rsg-session-wizard-resolution-card:hover{border-color:#c0d5bc!important;box-shadow:0 5px 14px rgba(38,78,46,.055)!important;}
.rsg-session-wizard-resolution-card.is-expanded{border-color:#a9c8a5!important;box-shadow:0 6px 17px rgba(38,78,46,.065)!important;}
.rsg-session-wizard-resolution-card__top{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;gap:10px!important;min-height:58px;
  padding:8px 10px!important;border:0!important;background:#fbfdfb;
  transition:background-color .16s ease,border-color .16s ease;
}
.rsg-session-wizard-resolution-card:hover .rsg-session-wizard-resolution-card__top{background:#f6faf5;}
.rsg-session-wizard-resolution-card.is-expanded .rsg-session-wizard-resolution-card__top{background:#f2f8f0;border-bottom:1px solid #e0eadf!important;}
.rsg-session-wizard-resolution-card__toggle{
  display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;gap:10px!important;width:100%!important;min-width:0!important;
  min-height:40px!important;padding:0!important;border:0!important;
  background:transparent!important;color:inherit!important;text-align:left!important;cursor:pointer!important;
}
.rsg-session-wizard-resolution-card__toggle:hover,.rsg-session-wizard-resolution-card__toggle:focus{background:transparent!important;}
.rsg-session-wizard-resolution-card__toggle:focus-visible{outline:0!important;border-radius:8px;box-shadow:0 0 0 3px rgba(61,119,71,.12)!important;}
.rsg-session-wizard-resolution-card .rsg-session-wizard-repeater-row__number{
  display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;
  border:1px solid #c8dbc5;border-radius:8px;background:#edf6eb;color:#2f6f3d;
  font-size:11px;font-weight:900;
}
.rsg-session-wizard-resolution-card__heading{
  display:grid!important;justify-items:start!important;align-items:center!important;
  gap:1px!important;min-width:0;text-align:left!important;
}
.rsg-session-wizard-resolution-card__heading strong,
.rsg-session-wizard-resolution-card__heading small{
  display:block;width:100%;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;
}
.rsg-session-wizard-resolution-card__heading strong{color:#264f31;font-size:12px;font-weight:900;line-height:1.25;}
.rsg-session-wizard-resolution-card__heading small{color:#839087;font-size:9px;line-height:1.25;}
.rsg-session-wizard-resolution-card.is-collapsed .rsg-session-wizard-resolution-card__heading small{display:none!important;}
.rsg-session-wizard-resolution-card__remove{flex:0 0 34px!important;width:34px!important;height:34px!important;}
.rsg-session-wizard-resolution-card__body{display:grid;gap:12px;padding:14px!important;background:#fff;}
.rsg-session-wizard-resolution-card__body[hidden]{display:none!important;}
.rsg-session-wizard-resolution-file__remove{
  width:34px!important;height:34px!important;flex:0 0 34px!important;
  border:1px solid #e6c8cd!important;border-radius:8px!important;
  background:#fff7f8!important;color:#993342!important;
}
.rsg-session-wizard-resolution-file__remove:hover,
.rsg-session-wizard-resolution-file__remove:focus{
  border-color:#993342!important;background:#993342!important;color:#fff!important;
  transform:none!important;box-shadow:none!important;
}
@media(max-width:767px){
 .rsg-session-wizard-resolution-card__top{min-height:54px;padding:7px 8px!important;}
 .rsg-session-wizard-resolution-card__heading strong{font-size:11px;}
}


/* ================================================================
   0.3.44 — Popup Kreatora: wysokość kontroluje Elementor
   ================================================================ */

/*
 * Wtyczka NIE ustawia wysokości ani szerokości popupu.
 * Rozmiar należy do ustawień Elementor Popup.
 */
.elementor-popup-modal.rsg-session-wizard-modal{
  align-items:flex-start!important;
  justify-content:center!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  padding-top:16px!important;
  padding-bottom:16px!important;
}

/*
 * Brak height / min-height / width / max-width.
 * Elementor może ustawić wysokość auto lub konkretną wartość.
 */
.elementor-popup-modal.rsg-session-wizard-modal
.rsg-session-wizard-modal__content,
.elementor-popup-modal.rsg-session-wizard-modal
.dialog-widget-content{
  position:relative!important;
  top:auto!important;
  bottom:auto!important;
  left:auto!important;
  right:auto!important;
  margin-top:0!important;
  margin-bottom:0!important;
  transform:none!important;

  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;

  /* tylko zabezpieczenie przed wyjściem poza ekran */
  max-height:calc(100dvh - 32px)!important;

  overflow:hidden!important;
  box-sizing:border-box!important;
}

/* Scroll działa wewnątrz wysokości nadanej przez Elementor. */
.elementor-popup-modal.rsg-session-wizard-modal
.rsg-session-wizard-modal__scroll,
.elementor-popup-modal.rsg-session-wizard-modal
.dialog-message{
  position:relative!important;
  display:block!important;
  flex:1 1 auto!important;

  /*
   * NIE ustawiamy tutaj width.
   *
   * Elementor Popup ustawia szerokość właśnie na .dialog-message
   * (np. 80vw, 1000px, 90%). Wcześniejsze width:100%!important
   * nadpisywało tę wartość i popup przestawał reagować na kontrolkę
   * „Szerokość” w Elementorze.
   */
  min-height:0!important;
  margin:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior-y:contain;
  overflow-anchor:none;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
}

.elementor-popup-modal.rsg-session-wizard-modal
.dialog-message > .elementor,
.elementor-popup-modal.rsg-session-wizard-modal
.dialog-message > .elementor-location-popup{
  position:relative!important;
  top:auto!important;
  bottom:auto!important;
  width:100%!important;
  min-height:0!important;
  margin-top:0!important;
  margin-bottom:0!important;
  transform:none!important;
  align-self:stretch!important;
}

.elementor-popup-modal.rsg-session-wizard-modal
.dialog-message .elementor-element:has(> .elementor-widget-container > .rsg-session-wizard),
.elementor-popup-modal.rsg-session-wizard-modal
.dialog-message .e-con:has(.rsg-session-wizard){
  justify-content:flex-start!important;
  align-content:flex-start!important;
}

.elementor-popup-modal.rsg-session-wizard-modal
.rsg-session-wizard{
  position:relative!important;
  top:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin-top:0!important;
  transform:none!important;
  overflow:visible!important;
}

/* Admin bar zmienia wyłącznie maksymalną dostępną wysokość. */
body.admin-bar
.elementor-popup-modal.rsg-session-wizard-modal{
  padding-top:calc(
    var(--wp-admin--admin-bar--height, 32px) + 12px
  )!important;
  padding-bottom:12px!important;
}

body.admin-bar
.elementor-popup-modal.rsg-session-wizard-modal
.dialog-widget-content{
  max-height:calc(
    100dvh
    - var(--wp-admin--admin-bar--height, 32px)
    - 24px
  )!important;
}

@media(max-width:767px){
  .elementor-popup-modal.rsg-session-wizard-modal{
    padding-top:0!important;
    padding-bottom:0!important;
  }

  .elementor-popup-modal.rsg-session-wizard-modal
  .dialog-widget-content{
    max-height:100dvh!important;
  }

  body.admin-bar
  .elementor-popup-modal.rsg-session-wizard-modal{
    padding-top:var(
      --wp-admin--admin-bar--height,
      46px
    )!important;
  }

  body.admin-bar
  .elementor-popup-modal.rsg-session-wizard-modal
  .dialog-widget-content{
    max-height:calc(
      100dvh
      - var(--wp-admin--admin-bar--height, 46px)
    )!important;
  }
}


/* ================================================================
   0.3.43 — Porządek Sesji Rady: accordion + automatyczne podpozycje
   ================================================================ */

.rsg-session-wizard-agenda-card{
  gap:0!important;
  padding:0!important;
  overflow:hidden;
  border:1px solid #d7e4d4!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 3px 10px rgba(38,78,46,.035)!important;
  transition:
    border-color .16s ease,
    box-shadow .16s ease;
}

.rsg-session-wizard-agenda-card:hover{
  border-color:#c0d5bc!important;
  box-shadow:0 5px 14px rgba(38,78,46,.055)!important;
}

.rsg-session-wizard-agenda-card.is-expanded{
  border-color:#a9c8a5!important;
  box-shadow:0 6px 17px rgba(38,78,46,.065)!important;
}

.rsg-session-wizard-agenda-card__top{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  min-height:58px;
  padding:8px 10px!important;
  border:0!important;
  background:#fbfdfb;
  transition:background-color .16s ease;
}

.rsg-session-wizard-agenda-card:hover
.rsg-session-wizard-agenda-card__top{
  background:#f6faf5;
}

.rsg-session-wizard-agenda-card.is-expanded
.rsg-session-wizard-agenda-card__top{
  background:#f2f8f0;
  border-bottom:1px solid #e0eadf!important;
}

.rsg-session-wizard-agenda-card__toggle{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  min-height:40px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  text-align:left!important;
  cursor:pointer!important;
}

.rsg-session-wizard-agenda-card__toggle:hover,
.rsg-session-wizard-agenda-card__toggle:focus{
  background:transparent!important;
}

.rsg-session-wizard-agenda-card__toggle:focus-visible{
  outline:0!important;
  border-radius:8px;
  box-shadow:0 0 0 3px rgba(61,119,71,.12)!important;
}

.rsg-session-wizard-agenda-card__heading{
  display:grid!important;
  justify-items:start!important;
  gap:1px!important;
  min-width:0;
  text-align:left!important;
}

.rsg-session-wizard-agenda-card__heading strong{
  display:block;
  width:100%;
  overflow:hidden;
  color:#264f31;
  font-size:12px;
  font-weight:900;
  line-height:1.25;
  text-align:left;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.rsg-session-wizard-agenda-card__heading small{
  display:block;
  width:100%;
  overflow:hidden;
  color:#839087;
  font-size:9px;
  line-height:1.25;
  text-align:left;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.rsg-session-wizard-agenda-card.is-collapsed
.rsg-session-wizard-agenda-card__heading small{
  display:none!important;
}

.rsg-session-wizard-agenda-card__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
}

.rsg-session-wizard-agenda-card__body{
  display:grid;
  gap:12px;
  padding:14px!important;
  background:#fff;
}

.rsg-session-wizard-agenda-card__body[hidden]{
  display:none!important;
}

.rsg-session-wizard-agenda-card__options{
  display:grid!important;
  grid-template-columns:minmax(180px,.55fr) minmax(260px,1fr)!important;
  align-items:end!important;
  gap:12px!important;
  padding:12px!important;
  border:1px solid #dce7d9!important;
  border-radius:11px!important;
  background:#f8fbf7!important;
}

.rsg-session-wizard-agenda-card__parent-info{
  grid-column:1/-1;
  padding:9px 11px;
  border-left:3px solid #6f9c76;
  border-radius:7px;
  background:#eef6ec;
  color:#45634b;
  font-size:10px;
  line-height:1.4;
}

.rsg-session-wizard-agenda-card__parent-info[hidden]{
  display:none!important;
}

/* Podpozycja jest wizualnie delikatnie wsunięta pod pozycję nadrzędną */
.rsg-session-wizard-agenda-card:has(
  [data-rsg-agenda-level] option[value="sub"]:checked
){
  margin-left:32px!important;
  width:calc(100% - 32px)!important;
}

.rsg-session-wizard-agenda-card:has(
  [data-rsg-agenda-level] option[value="sub"]:checked
)
.rsg-session-wizard-agenda-card__top{
  background:#fafcf9;
}

@media(max-width:900px){
  .rsg-session-wizard-agenda-card__options{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:767px){
  .rsg-session-wizard-agenda-card:has(
    [data-rsg-agenda-level] option[value="sub"]:checked
  ){
    margin-left:16px!important;
    width:calc(100% - 16px)!important;
  }
}


/* ================================================================
   0.3.45 — równe akcje accordionów + WordPress WYSIWYG
   ================================================================ */

/* Reset geometrii ikon — bez wpływu fontu/line-height przycisku. */
.rsg-session-wizard-resolution-card__remove,
.rsg-session-wizard-agenda-card__actions .rsg-session-wizard-icon-button{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  width:34px;
  height:34px;
  min-width:34px;
  min-height:34px;
  padding:0;
  margin:0;
  border-radius:8px;
  font-size:0;
  line-height:0;
  vertical-align:middle;
  appearance:none;
  -webkit-appearance:none;
  transform:none;
}

.rsg-session-wizard-resolution-card__remove svg,
.rsg-session-wizard-agenda-card__actions .rsg-session-wizard-icon-button svg{
  display:block;
  width:16px;
  height:16px;
  margin:0;
  flex:0 0 16px;
  transform:none;
}

/* Toolbar planu ma zawsze jedną linię i równe odstępy. */
.rsg-session-wizard-agenda-card__actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  min-height:34px;
  line-height:0;
}

/* Neutralne akcje góra/dół. */
.rsg-session-wizard-agenda-card__actions
.rsg-session-wizard-icon-button:not(.is-remove){
  border-color:#d4e1d1;
  background:#f7faf6;
  color:#58715e;
}

.rsg-session-wizard-agenda-card__actions
.rsg-session-wizard-icon-button:not(.is-remove):hover,
.rsg-session-wizard-agenda-card__actions
.rsg-session-wizard-icon-button:not(.is-remove):focus{
  border-color:#8fb397;
  background:#eaf3e8;
  color:#2f673b;
}

/* Kosz Uchwały i Planu — spójny, lekki Normal + wyraźny Hover. */
.rsg-session-wizard-resolution-card__remove,
.rsg-session-wizard-agenda-card__actions
.rsg-session-wizard-icon-button.is-remove{
  border-color:#e6cdd1;
  background:#fff7f8;
  color:#9a3443;
}

.rsg-session-wizard-resolution-card__remove:hover,
.rsg-session-wizard-resolution-card__remove:focus,
.rsg-session-wizard-agenda-card__actions
.rsg-session-wizard-icon-button.is-remove:hover,
.rsg-session-wizard-agenda-card__actions
.rsg-session-wizard-icon-button.is-remove:focus{
  border-color:#9a3443;
  background:#9a3443;
  color:#fff;
}

/* Disabled nie może wyglądać jak przypadkowo "wyblakły czerwony". */
.rsg-session-wizard-agenda-card__actions
.rsg-session-wizard-icon-button:disabled{
  border-color:#e1e7e0!important;
  background:#f4f6f4!important;
  color:#a7afa9!important;
  opacity:.7!important;
  cursor:not-allowed!important;
  transform:none!important;
  box-shadow:none!important;
}

/* WordPress WYSIWYG */
.rsg-session-wizard-wysiwyg{
  display:grid;
  gap:8px;
  min-width:0;
}

.rsg-session-wizard-wysiwyg__label{
  color:#385d40;
  font-size:10px;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.rsg-session-wizard-wysiwyg__editor,
.rsg-session-wizard-wysiwyg .wp-editor-wrap{
  width:100%;
  min-width:0;
}

.rsg-session-wizard-wysiwyg .wp-editor-container{
  overflow:hidden;
  border:1px solid #bfd3bc!important;
  border-radius:11px;
  background:#fff;
}

.rsg-session-wizard-wysiwyg .wp-editor-tabs{
  display:flex;
  align-items:flex-end;
  gap:4px;
}

.rsg-session-wizard-wysiwyg .wp-switch-editor{
  margin:0 0 -1px 0;
  border-color:#c9d9c6;
  border-radius:7px 7px 0 0;
  background:#f4f8f2;
  color:#48634e;
  font-size:11px;
  font-weight:700;
}

.rsg-session-wizard-wysiwyg .html-active .switch-html,
.rsg-session-wizard-wysiwyg .tmce-active .switch-tmce{
  background:#fff;
  color:#285d34;
}

.rsg-session-wizard-wysiwyg .mce-toolbar-grp,
.rsg-session-wizard-wysiwyg .quicktags-toolbar{
  border-bottom:1px solid #dce7d9!important;
  background:#f6faf5!important;
}

.rsg-session-wizard-wysiwyg .wp-editor-area{
  width:100%!important;
  min-height:260px;
  padding:14px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#34463a!important;
  box-shadow:none!important;
}

.rsg-session-wizard-wysiwyg iframe{
  width:100%!important;
  min-height:260px;
}

.rsg-session-wizard-wysiwyg .mce-container,
.rsg-session-wizard-wysiwyg .mce-container-body,
.rsg-session-wizard-wysiwyg .mce-edit-area{
  max-width:100%!important;
  box-sizing:border-box!important;
}

.rsg-session-wizard-wysiwyg__hint{
  color:#7d8980;
  font-size:9px;
  line-height:1.45;
}


/* ================================================================
   0.3.46 — Uchwały: kosz UX fix
   ================================================================ */
.rsg-session-wizard-resolution-card__actions{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:36px!important;
  min-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  padding:0!important;
  margin:0!important;
  line-height:0!important;
}

.rsg-session-wizard-resolution-card__actions
.rsg-session-wizard-resolution-card__remove{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 36px!important;
  width:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #e3c4c9!important;
  border-radius:9px!important;
  background:#fff7f8!important;
  color:#983342!important;
  font-size:0!important;
  line-height:0!important;
  box-shadow:none!important;
  transform:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  cursor:pointer!important;
}

.rsg-session-wizard-resolution-card__actions
.rsg-session-wizard-resolution-card__remove svg{
  display:block!important;
  flex:0 0 17px!important;
  width:17px!important;
  height:17px!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  pointer-events:none!important;
}

.rsg-session-wizard-resolution-card__actions
.rsg-session-wizard-resolution-card__remove:hover,
.rsg-session-wizard-resolution-card__actions
.rsg-session-wizard-resolution-card__remove:focus{
  border-color:#983342!important;
  background:#983342!important;
  color:#fff!important;
  box-shadow:0 4px 10px rgba(152,51,66,.14)!important;
  transform:none!important;
  outline:0!important;
}

.rsg-session-wizard-resolution-card__top{
  align-items:center!important;
}


/* ================================================================
   0.3.48 — Logowanie: komunikaty frontendowe
   ================================================================ */

.rsg-login-widget > .rsg-front-notice{
  width:100%;
  box-sizing:border-box;
  margin:0 0 14px;
}

.rsg-login-widget > .rsg-front-notice--warning{
  border-left:4px solid #9b2f3f;
}

.rsg-login-widget > .rsg-front-notice--success{
  border-left:4px solid #347341;
}

/* ================================================================
   0.3.49 — Lista sesji: statystyki, poprawione akcje i Uchwały sesji
   ================================================================ */

.rsg-session-card{
  position:relative;
}

.rsg-session-card__stats{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.rsg-session-stat{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:5px 9px;
  border:1px solid #dde7db;
  border-radius:8px;
  background:#f5f8f4;
  color:#5d6e61;
  font-size:11px;
  line-height:1.25;
  box-sizing:border-box;
}

.rsg-session-stat svg{
  display:block;
  flex:0 0 15px;
  width:15px;
  height:15px;
  color:#4d7b57;
}

.rsg-session-stat strong{
  color:#285e35;
  font-size:12px;
  font-weight:900;
}

.rsg-session-stat__absent{
  display:inline-flex;
  align-items:center;
  gap:3px;
  margin-left:2px;
  padding:2px 5px;
  border-radius:999px;
  background:#d9ddda;
  color:#59615b;
  font-size:9px;
  font-weight:800;
  line-height:1.2;
}

.rsg-session-stat__absent[hidden]{
  display:none!important;
}

.rsg-session-stat__absent b{
  color:#3f4742;
  font-size:10px;
  font-weight:900;
}

.rsg-session-card__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
  flex:0 0 auto;
}

.rsg-session-action{
  position:relative;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 40px;
  width:40px;
  min-width:40px;
  height:40px;
  min-height:40px;
  padding:0!important;
  margin:0!important;
  border:1px solid rgba(65,88,70,.10);
  border-radius:10px;
  text-decoration:none!important;
  font-size:0!important;
  line-height:0!important;
  box-sizing:border-box;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  transition:
    transform .15s ease,
    box-shadow .15s ease,
    background-color .15s ease,
    border-color .15s ease,
    color .15s ease;
}

.rsg-session-action svg{
  display:block!important;
  flex:0 0 18px;
  width:18px;
  height:18px;
  margin:0!important;
  padding:0!important;
  pointer-events:none;
}

.rsg-session-action:hover,
.rsg-session-action:focus{
  transform:translateY(-1px);
  box-shadow:0 5px 13px rgba(30,64,37,.12);
  outline:0;
}

.rsg-session-action:focus-visible{
  outline:3px solid rgba(47,111,56,.17);
  outline-offset:2px;
}

.rsg-session-action--open{
  border-color:#cfe5d0;
  background:#e5f4e5;
  color:#24703a;
}

.rsg-session-action--closed{
  border-color:#dce2e4;
  background:#eef1f2;
  color:#59666d;
}

.rsg-session-action--resolutions{
  border-color:#d9e7d5;
  background:#edf3e8;
  color:#356d42;
}

.rsg-session-action--edit{
  border-color:#e3ddcf;
  background:#f1eee7;
  color:#6b5b36;
}

.rsg-session-action--documents{
  border-color:#d7e4eb;
  background:#eaf1f5;
  color:#315f78;
}

.rsg-session-action--open:hover,
.rsg-session-action--open:focus{
  background:#d5ecd6;
}

.rsg-session-action--closed:hover,
.rsg-session-action--closed:focus{
  background:#dde3e5;
}

.rsg-session-action--resolutions:hover,
.rsg-session-action--resolutions:focus{
  background:#dcebd7;
}

.rsg-session-action--edit:hover,
.rsg-session-action--edit:focus{
  background:#e7dfd0;
}

.rsg-session-action--documents:hover,
.rsg-session-action--documents:focus{
  background:#d9e7ef;
}

.rsg-session-action.is-loading{
  opacity:.55;
  cursor:wait;
  transform:none;
  pointer-events:none;
}

/* ================================================================
   Elementor — Rada: Uchwały sesji
   ================================================================ */

.rsg-session-resolutions{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}

.rsg-session-resolutions__header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}

.rsg-session-resolutions__heading-wrap{
  min-width:0;
}

.rsg-session-resolutions__heading{
  margin:0;
  color:#214e2d;
  font-size:24px;
  line-height:1.2;
}

.rsg-session-resolutions__session-title{
  margin-top:5px;
  color:#738077;
  font-size:12px;
  line-height:1.4;
}

.rsg-session-resolutions__count{
  display:grid;
  place-items:center;
  flex:0 0 36px;
  width:36px;
  height:36px;
  border:1px solid #cfe0cc;
  border-radius:10px;
  background:#edf5ea;
  color:#2f6d3c;
  font-size:12px;
  font-weight:900;
}

.rsg-session-resolutions__list{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.rsg-session-resolutions__list--grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.rsg-resolution-front-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-width:0;
  min-height:62px;
  padding:11px 12px;
  border:1px solid #d6e3d3;
  border-radius:11px;
  background:#fff;
  box-sizing:border-box;
  transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;
}

.rsg-resolution-front-card:hover{
  border-color:#bcd3b8;
  box-shadow:0 5px 15px rgba(39,79,48,.055);
}

.rsg-resolution-front-card__number{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border:1px solid #d0e1cd;
  border-radius:8px;
  background:#edf5ea;
  color:#2f6d3c;
  font-size:11px;
  font-weight:900;
}

.rsg-resolution-front-card__content{
  min-width:0;
}

.rsg-resolution-front-card__title{
  margin:0;
  color:#274f31;
  font-size:14px;
  line-height:1.35;
  font-weight:800;
}

.rsg-resolution-front-card__title a{
  color:inherit;
  text-decoration:none;
}

.rsg-resolution-front-card__title a:hover{
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.rsg-resolution-front-card__status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:5px 9px;
  border:1px solid #dde6db;
  border-radius:8px;
  background:#f1f5ef;
  color:#53695a;
  font-size:10px;
  line-height:1.2;
  white-space:nowrap;
}

.rsg-resolution-front-card__status svg{
  display:block;
  flex:0 0 14px;
  width:14px;
  height:14px;
}

.rsg-resolution-front-card--adopted .rsg-resolution-front-card__status{
  border-color:#cbe2cc;
  background:#e9f5e8;
  color:#2f713d;
}

.rsg-resolution-front-card--rejected .rsg-resolution-front-card__status{
  border-color:#eccfd3;
  background:#fff1f3;
  color:#963442;
}

.rsg-resolution-front-card--open .rsg-resolution-front-card__status{
  border-color:#d8e5b8;
  background:#f3f7e5;
  color:#66722d;
}

.rsg-resolution-front-card--closed .rsg-resolution-front-card__status{
  border-color:#dde2e3;
  background:#f1f3f4;
  color:#657077;
}

.rsg-session-resolutions__empty{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:90px;
  padding:18px;
  border:1px dashed #cbdcc8;
  border-radius:11px;
  background:#f8fbf7;
  color:#65746a;
  text-align:center;
}

.rsg-session-resolutions__empty svg{
  width:20px;
  height:20px;
  color:#5d8064;
}

@media(max-width:767px){
  .rsg-session-card__stats{
    width:100%;
  }

  .rsg-session-stat{
    flex:1 1 auto;
  }

  .rsg-session-card__actions{
    justify-content:flex-start;
    width:100%;
  }

  .rsg-session-resolutions__header{
    align-items:flex-start;
  }

  .rsg-session-resolutions__list--grid{
    grid-template-columns:1fr!important;
  }

  .rsg-resolution-front-card{
    grid-template-columns:auto minmax(0,1fr);
  }

  .rsg-resolution-front-card__status{
    grid-column:1/-1;
    justify-self:start;
    margin-left:46px;
  }
}


/* ================================================================
   0.3.50 — Lista sesji: aktywni radni + bezpieczne usuwanie
   ================================================================ */

.rsg-session-action--delete{
  border-color:#efd2d7;
  background:#fff2f4;
  color:#9a3443;
}

.rsg-session-action--delete:hover,
.rsg-session-action--delete:focus{
  border-color:#dcaeb6;
  background:#f5dce1;
  color:#842837;
}

.rsg-session-action--delete.is-loading{
  pointer-events:none;
  opacity:.58;
}

.rsg-session-card.is-removing{
  opacity:0;
  transform:scale(.985);
  transition:
    opacity .18s ease,
    transform .18s ease;
}


/* ================================================================
   0.3.51 — Lista sesji: filtr kategorii + paginacja
   ================================================================ */

.rsg-sessions-filter{
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  width:100%;
  margin-bottom:16px;
}

.rsg-sessions-filter__field{
  display:grid;
  gap:6px;
  width:320px;
  max-width:100%;
}

.rsg-sessions-filter__label{
  color:#315f3a;
  font-size:11px;
  font-weight:800;
  line-height:1.3;
}

.rsg-sessions-filter__select{
  box-sizing:border-box;
  width:100%;
  min-height:44px;
  padding:9px 38px 9px 12px;
  border:1px solid #cfddcc;
  border-radius:9px;
  background-color:#fff;
  color:#31533a;
  font:inherit;
  line-height:1.3;
  outline:0;
  cursor:pointer;
  transition:
    border-color .15s ease,
    box-shadow .15s ease,
    background-color .15s ease;
}

.rsg-sessions-filter__select:hover{
  border-color:#a8c2a4;
}

.rsg-sessions-filter__select:focus{
  border-color:#4f8559;
  box-shadow:0 0 0 3px rgba(79,133,89,.11);
}

.rsg-sessions-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:6px;
  width:100%;
  margin-top:18px;
}

.rsg-sessions-page{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  min-height:38px;
  padding:7px 11px;
  border:1px solid #d6e2d3;
  border-radius:8px;
  background:#f6f9f5;
  color:#45624b;
  font-size:12px;
  font-weight:700;
  line-height:1;
  text-decoration:none!important;
  transition:
    background-color .15s ease,
    border-color .15s ease,
    color .15s ease;
}

.rsg-sessions-page:hover,
.rsg-sessions-page:focus{
  border-color:#abc5a7;
  background:#e9f2e6;
  color:#285e35;
  outline:0;
}

.rsg-sessions-page.is-current{
  border-color:#2f713e;
  background:#2f713e;
  color:#fff;
  cursor:default;
}

.rsg-sessions-page--dots{
  min-width:auto;
  padding-left:5px;
  padding-right:5px;
  border-color:transparent!important;
  background:transparent!important;
  color:#7a887d;
}

.rsg-sessions-page--prev,
.rsg-sessions-page--next{
  padding-left:14px;
  padding-right:14px;
}

@media(max-width:767px){
  .rsg-sessions-filter__field{
    width:100%!important;
  }

  .rsg-sessions-page{
    min-width:34px;
    min-height:34px;
    padding:6px 9px;
  }

  .rsg-sessions-page--prev,
  .rsg-sessions-page--next{
    flex:1 1 auto;
  }
}


/* ================================================================
   0.3.52 — Uchwały sesji: źródła + akcje głosowania
   ================================================================ */

.rsg-resolution-front-card__side{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
  min-width:0;
}

.rsg-resolution-front-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:6px;
}

.rsg-resolution-front-action{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 36px;
  width:36px;
  min-width:36px;
  height:36px;
  padding:0;
  margin:0;
  border:1px solid transparent;
  border-radius:9px;
  background:#f5f7f5;
  color:#52655a;
  line-height:0;
  text-decoration:none!important;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  transition:
    background-color .15s ease,
    border-color .15s ease,
    color .15s ease,
    box-shadow .15s ease,
    transform .15s ease;
}

.rsg-resolution-front-action svg{
  display:block;
  width:17px;
  height:17px;
  margin:0;
}

.rsg-resolution-front-action:hover,
.rsg-resolution-front-action:focus{
  transform:translateY(-1px);
  outline:0;
}

.rsg-resolution-front-action.is-loading{
  opacity:.55;
  pointer-events:none;
  cursor:wait;
  transform:none;
}

.rsg-resolution-front-action.is-active{
  box-shadow:
    inset 0 0 0 2px currentColor,
    0 3px 9px rgba(39,79,48,.08);
}

.rsg-resolution-front-action--start{
  border-color:#cfe3cb;
  background:#edf6eb;
  color:#2f703d;
}

.rsg-resolution-front-action--start:hover,
.rsg-resolution-front-action--start:focus{
  background:#dcefd8;
}

.rsg-resolution-front-action--close{
  border-color:#dce2e3;
  background:#f2f4f4;
  color:#59676d;
}

.rsg-resolution-front-action--close:hover,
.rsg-resolution-front-action--close:focus{
  background:#e3e8e9;
}

.rsg-resolution-front-action--transmission{
  border-color:#cfe1e9;
  background:#eaf3f7;
  color:#326b82;
}

.rsg-resolution-front-action--transmission:hover,
.rsg-resolution-front-action--transmission:focus{
  background:#dcecf2;
}

.rsg-resolution-front-action--adopted{
  border-color:#cde4cd;
  background:#eaf6e9;
  color:#2f713d;
}

.rsg-resolution-front-action--adopted:hover,
.rsg-resolution-front-action--adopted:focus{
  background:#d7eed5;
}

.rsg-resolution-front-action--rejected{
  border-color:#eccfd3;
  background:#fff1f3;
  color:#963442;
}

.rsg-resolution-front-action--rejected:hover,
.rsg-resolution-front-action--rejected:focus{
  background:#f9dde1;
}

.rsg-resolution-front-action--reassume{
  border-color:#ddcfe6;
  background:#f4eef8;
  color:#705080;
}

.rsg-resolution-front-action--reassume:hover,
.rsg-resolution-front-action--reassume:focus{
  background:#e9ddf0;
}

.rsg-session-resolutions__message{
  margin-top:12px;
  padding:9px 12px;
  border:1px solid #cfe0cc;
  border-radius:8px;
  background:#f3f8f1;
  color:#35583d;
  font-size:11px;
  line-height:1.4;
}

.rsg-session-resolutions__message.is-error{
  border-color:#eccfd3;
  background:#fff3f4;
  color:#8d3040;
}

@media(max-width:767px){
  .rsg-resolution-front-card__side{
    grid-column:1/-1;
    justify-content:flex-start;
    width:100%;
    margin-left:46px;
  }

  .rsg-resolution-front-card__status{
    grid-column:auto;
    margin-left:0;
  }

  .rsg-resolution-front-actions{
    justify-content:flex-start;
  }
}


/* ================================================================
   0.3.53 — Dodawanie Uchwały + Kreator Uchwały
   ================================================================ */

.rsg-session-resolutions__header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}

.rsg-resolution-front-action--add{
  border-color:#cde4cd;
  background:#eaf6e9;
  color:#2f713d;
}

.rsg-resolution-front-action--add:hover,
.rsg-resolution-front-action--add:focus{
  background:#d7eed5;
  color:#245e31;
}

/* --- Kreator Uchwały --- */

.rsg-resolution-wizard{
  box-sizing:border-box;
  width:100%;
  padding:22px;
  border:1px solid #d4e3d1;
  border-radius:14px;
  background:#fff;
  color:#33463a;
}

.rsg-resolution-wizard__title{
  margin:0 0 6px;
  color:#214e2d;
  font-size:26px;
  line-height:1.2;
}

.rsg-resolution-wizard__description{
  margin:0 0 18px;
  color:#607067;
  font-size:12px;
  line-height:1.55;
}

.rsg-resolution-wizard-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-bottom:18px;
}

.rsg-resolution-wizard-step{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  padding:10px 12px;
  border:1px solid #d9e5d6;
  border-radius:10px;
  background:#f5f8f3;
  color:#315b3a;
}

.rsg-resolution-wizard-step__number{
  display:grid;
  place-items:center;
  flex:0 0 30px;
  width:30px;
  height:30px;
  border:1px solid #cbdcc8;
  border-radius:50%;
  background:#fff;
  color:#66756a;
  font-size:11px;
  font-weight:800;
}

.rsg-resolution-wizard-step__label{
  display:grid;
  gap:1px;
  min-width:0;
}

.rsg-resolution-wizard-step__label strong{
  overflow:hidden;
  color:#36583d;
  font-size:11px;
  font-weight:800;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.rsg-resolution-wizard-step__label small{
  color:#879188;
  font-size:9px;
  line-height:1.2;
  opacity:.8;
}

.rsg-resolution-wizard-step.is-active{
  border-color:#a8c8a4;
  background:#edf6ea;
}

.rsg-resolution-wizard-step.is-active .rsg-resolution-wizard-step__number,
.rsg-resolution-wizard-step.is-done .rsg-resolution-wizard-step__number{
  border-color:#2f713e;
  background:#2f713e;
  color:#fff;
}

.rsg-resolution-wizard__message{
  margin:0 0 14px;
  padding:10px 12px;
  border:1px solid #e7c8cd;
  border-radius:8px;
  background:#fff3f4;
  color:#8c3040;
  font-size:11px;
  line-height:1.45;
}

.rsg-resolution-wizard__message.is-info{
  border-color:#ccddeb;
  background:#f2f7fa;
  color:#3f6375;
}

.rsg-resolution-wizard-panel{
  display:grid;
  gap:14px;
}

.rsg-resolution-wizard-panel__heading{
  display:flex;
  align-items:center;
  gap:11px;
  padding-bottom:12px;
  border-bottom:1px solid #e4ede2;
}

.rsg-resolution-wizard-panel__heading>span{
  display:grid;
  place-items:center;
  flex:0 0 36px;
  width:36px;
  height:36px;
  border-radius:10px;
  background:#e9f4e6;
  color:#2f713e;
  font-size:13px;
  font-weight:900;
}

.rsg-resolution-wizard-panel__heading>div{
  display:grid;
  gap:2px;
}

.rsg-resolution-wizard-panel__heading strong{
  color:#275333;
  font-size:14px;
  line-height:1.25;
}

.rsg-resolution-wizard-panel__heading small{
  color:#7b897f;
  font-size:10px;
  line-height:1.4;
}

.rsg-resolution-wizard-field{
  display:grid;
  gap:7px;
}

.rsg-resolution-wizard-field>span,
.rsg-resolution-wizard-session__label{
  color:#385f41;
  font-size:10px;
  font-weight:900;
  letter-spacing:.035em;
  text-transform:uppercase;
}

.rsg-resolution-wizard-field b{
  color:#9d2637;
}

.rsg-resolution-wizard input[type="text"],
.rsg-resolution-wizard select,
.rsg-resolution-wizard textarea{
  box-sizing:border-box;
  width:100%;
  min-height:48px;
  padding:10px 12px;
  border:1px solid #c7d9c4;
  border-radius:9px;
  background:#fff;
  color:#33463a;
  font:inherit;
  outline:0;
}

.rsg-resolution-wizard input[type="text"]:focus,
.rsg-resolution-wizard select:focus,
.rsg-resolution-wizard textarea:focus{
  border-color:#4e8558;
  box-shadow:0 0 0 3px rgba(78,133,88,.11);
}

.rsg-resolution-wizard-session{
  display:grid;
  gap:7px;
}

.rsg-resolution-wizard-session__locked{
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border:1px solid #d3e1d0;
  border-radius:10px;
  background:#f6faf5;
}

.rsg-resolution-wizard-session__locked[hidden]{
  display:none!important;
}

.rsg-resolution-wizard-session__icon{
  display:grid;
  place-items:center;
  flex:0 0 36px;
  width:36px;
  height:36px;
  border-radius:9px;
  background:#e8f3e5;
  color:#347342;
}

.rsg-resolution-wizard-session__icon svg{
  width:18px;
  height:18px;
}

.rsg-resolution-wizard-session__locked>div{
  display:grid;
  gap:2px;
}

.rsg-resolution-wizard-session__locked strong{
  color:#2e5737;
  font-size:12px;
}

.rsg-resolution-wizard-session__locked small{
  color:#849087;
  font-size:9px;
}

.rsg-resolution-wizard-documents__picker{
  display:flex;
  align-items:center;
  gap:11px;
  padding:15px;
  border:1px dashed #bdd3b9;
  border-radius:11px;
  background:#f8fbf7;
  cursor:pointer;
}

.rsg-resolution-wizard-documents__picker input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.rsg-resolution-wizard-documents__icon{
  display:grid;
  place-items:center;
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:10px;
  background:#e9f4e6;
  color:#347342;
}

.rsg-resolution-wizard-documents__icon svg{
  width:20px;
  height:20px;
}

.rsg-resolution-wizard-documents__picker>span:last-child{
  display:grid;
  gap:2px;
}

.rsg-resolution-wizard-documents__picker strong{
  color:#2e5737;
  font-size:11px;
}

.rsg-resolution-wizard-documents__picker small{
  color:#7c8980;
  font-size:9px;
}

.rsg-resolution-wizard-documents__list{
  display:grid;
  gap:7px;
}

.rsg-resolution-wizard-document,
.rsg-resolution-wizard-document-empty{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:8px 10px;
  border:1px solid #dce7da;
  border-radius:9px;
  background:#fbfdfb;
}

.rsg-resolution-wizard-document-empty{
  color:#7e8a81;
  font-size:10px;
}

.rsg-resolution-wizard-document__icon{
  display:grid;
  place-items:center;
  flex:0 0 30px;
  width:30px;
  height:30px;
  color:#4d7656;
}

.rsg-resolution-wizard-document__icon svg{
  width:17px;
  height:17px;
}

.rsg-resolution-wizard-document__name{
  display:grid;
  flex:1 1 auto;
  gap:1px;
  min-width:0;
}

.rsg-resolution-wizard-document__name strong{
  overflow:hidden;
  color:#385841;
  font-size:10px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.rsg-resolution-wizard-document__name small{
  color:#879089;
  font-size:8px;
}

.rsg-resolution-wizard-document__remove{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid #e7cbd0;
  border-radius:8px;
  background:#fff7f8;
  color:#993443;
  cursor:pointer;
}

.rsg-resolution-wizard-document__remove:hover,
.rsg-resolution-wizard-document__remove:focus{
  border-color:#993443;
  background:#993443;
  color:#fff;
}

.rsg-resolution-wizard-document__remove svg{
  width:16px;
  height:16px;
}

.rsg-resolution-wizard-wysiwyg .wp-editor-container{
  overflow:hidden;
  border:1px solid #c7d9c4!important;
  border-radius:10px;
}

.rsg-resolution-wizard-wysiwyg .mce-toolbar-grp,
.rsg-resolution-wizard-wysiwyg .quicktags-toolbar{
  border-bottom:1px solid #dce7da!important;
  background:#f6faf5!important;
}

.rsg-resolution-wizard-wysiwyg .wp-editor-area,
.rsg-resolution-wizard-wysiwyg iframe{
  min-height:260px!important;
}

.rsg-resolution-wizard-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.rsg-resolution-wizard-summary__item{
  display:grid;
  gap:4px;
  padding:12px;
  border:1px solid #dbe6d8;
  border-radius:10px;
  background:#f9fbf8;
}

.rsg-resolution-wizard-summary__item:first-child{
  grid-column:1/-1;
}

.rsg-resolution-wizard-summary__item span{
  color:#7c887e;
  font-size:9px;
  font-weight:700;
  text-transform:uppercase;
}

.rsg-resolution-wizard-summary__item strong{
  color:#31583a;
  font-size:12px;
}

.rsg-resolution-wizard-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid #e3ece1;
}

.rsg-resolution-wizard-nav__right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}

.rsg-resolution-wizard-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:8px 14px;
  border:1px solid transparent;
  border-radius:8px;
  font:inherit;
  font-size:11px;
  font-weight:800;
  line-height:1.1;
  text-decoration:none!important;
  cursor:pointer;
}

.rsg-resolution-wizard-button--primary{
  border-color:#9d2637;
  background:#9d2637;
  color:#fff;
}

.rsg-resolution-wizard-button--primary:hover,
.rsg-resolution-wizard-button--primary:focus{
  border-color:#84202f;
  background:#84202f;
  color:#fff;
}

.rsg-resolution-wizard-button--secondary{
  border-color:#d6e2d3;
  background:#f7faf6;
  color:#42604a;
}

.rsg-resolution-wizard-button--secondary:hover,
.rsg-resolution-wizard-button--secondary:focus{
  background:#edf4eb;
  color:#2f5c39;
}

.rsg-resolution-wizard-button:disabled,
.rsg-resolution-wizard-button.is-loading{
  opacity:.55;
  pointer-events:none;
}

.rsg-resolution-wizard-success{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:16px;
  border:1px solid #c9ddc5;
  border-radius:12px;
  background:#f2f8f0;
}

.rsg-resolution-wizard-success[hidden]{
  display:none!important;
}

.rsg-resolution-wizard-success__icon{
  display:grid;
  place-items:center;
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:50%;
  background:#2f713e;
  color:#fff;
}

.rsg-resolution-wizard-success__icon svg{
  width:21px;
  height:21px;
}

.rsg-resolution-wizard-success>div{
  display:grid;
  gap:7px;
}

.rsg-resolution-wizard-success strong{
  color:#285a34;
}

.rsg-resolution-wizard-success p{
  margin:0;
  color:#58705f;
  font-size:11px;
  line-height:1.5;
}

.rsg-resolution-wizard-success__actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}

@media(max-width:767px){
  .rsg-resolution-wizard{
    padding:14px;
  }

  .rsg-resolution-wizard-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .rsg-resolution-wizard-summary{
    grid-template-columns:1fr;
  }

  .rsg-resolution-wizard-summary__item:first-child{
    grid-column:auto;
  }

  .rsg-resolution-wizard-nav{
    align-items:stretch;
    flex-direction:column;
  }

  .rsg-resolution-wizard-nav__right{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .rsg-resolution-wizard-button{
    width:100%;
  }
}


/* ================================================================
   0.3.54 — Lista sesji: Dodaj Uchwałę
   ================================================================ */

.rsg-session-action--add_resolution{
  border-color:#cce1c9;
  background:#e8f5e7;
  color:#2f713d;
}

.rsg-session-action--add_resolution:hover,
.rsg-session-action--add_resolution:focus{
  border-color:#aacaA7;
  background:#d5ecd3;
  color:#245e31;
}

.rsg-session-action--add_resolution svg{
  display:block;
  width:17px;
  height:17px;
}

.rsg-session-action--add_resolution.is-unconfigured{
  border-style:dashed;
  opacity:.72;
}

.rsg-session-action--add_resolution.is-unconfigured:hover,
.rsg-session-action--add_resolution.is-unconfigured:focus{
  opacity:1;
}


/* ================================================================
   0.3.55 — Kreator Uchwały: 100% szerokości + automatyczna Sesja
   ================================================================ */

/*
 * Kreator Uchwały ma zawsze zajmować CAŁĄ szerokość kontenera,
 * tak samo jak Kreator Sesji. Nie ingerujemy natomiast w szerokość
 * samego Elementor Popup — tę nadal ustawia administrator w Elementorze.
 */
.elementor-widget-rsg_resolution_wizard,
.elementor-widget-rsg_resolution_wizard > .elementor-widget-container,
.rsg-resolution-wizard,
.rsg-resolution-wizard > form,
.rsg-resolution-wizard-panel{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

.elementor-widget-rsg_resolution_wizard{
  align-self:stretch!important;
  flex:1 1 100%!important;
}

.elementor-widget-rsg_resolution_wizard > .elementor-widget-container{
  display:block!important;
}

/*
 * W Popupie rozciągamy wszystkie wrappery Elementora otaczające widget,
 * ale NIE ustawiamy width na .dialog-widget-content.
 * Szerokość Popupu pozostaje więc zgodna z ustawieniami Elementora.
 */
.elementor-popup-modal.rsg-resolution-wizard-modal
.elementor-widget-rsg_resolution_wizard,
.elementor-popup-modal.rsg-resolution-wizard-modal
.elementor-widget-rsg_resolution_wizard > .elementor-widget-container{
  width:100%!important;
  max-width:none!important;
  flex:1 1 100%!important;
  align-self:stretch!important;
}

.elementor-popup-modal.rsg-resolution-wizard-modal
.dialog-message .e-con:has(.rsg-resolution-wizard),
.elementor-popup-modal.rsg-resolution-wizard-modal
.dialog-message .elementor-element:has(
  > .elementor-widget-container > .rsg-resolution-wizard
){
  width:100%!important;
  max-width:none!important;
  flex-basis:100%!important;
  align-self:stretch!important;
}

/* Sesja jest informacją read-only — nigdy polem wyboru dla moderatora. */
.rsg-resolution-wizard-session{
  width:100%;
}

.rsg-resolution-wizard-session__locked{
  width:100%;
  box-sizing:border-box;
}

.rsg-resolution-wizard-session__missing{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  box-sizing:border-box;
  padding:11px 12px;
  border:1px solid #e6cdd1;
  border-radius:10px;
  background:#fff7f8;
  color:#8e3441;
}

.rsg-resolution-wizard-session__missing[hidden]{
  display:none!important;
}

.rsg-resolution-wizard-session__missing-icon{
  display:grid;
  place-items:center;
  flex:0 0 36px;
  width:36px;
  height:36px;
  border-radius:9px;
  background:#f7e5e8;
  color:#983442;
  font-size:17px;
  font-weight:900;
}

.rsg-resolution-wizard-session__missing > div{
  display:grid;
  gap:2px;
  min-width:0;
}

.rsg-resolution-wizard-session__missing strong{
  color:#82303d;
  font-size:11px;
}

.rsg-resolution-wizard-session__missing small{
  color:#8c6a70;
  font-size:9px;
  line-height:1.4;
}

/*
 * Nawet gdy starszy cache HTML zawierał select sesji,
 * od wersji 0.3.55 frontend nigdy go nie pokazuje.
 */
.rsg-resolution-wizard [data-rsg-resolution-session-select]{
  display:none!important;
}


/* ================================================================
   0.3.56 — Popup: szerokość kontroluje Elementor
   ================================================================ */

/*
 * Elementor jest jedynym źródłem szerokości Popupu.
 *
 * Nie ustawiamy width / min-width / max-width na:
 * - .dialog-widget-content
 * - .dialog-message
 *
 * Cała zawartość WEWNĄTRZ popupu wypełnia natomiast 100% szerokości,
 * którą Elementor wyliczył dla .dialog-message.
 */
.elementor-popup-modal.rsg-resolution-wizard-modal
.dialog-message > .elementor,
.elementor-popup-modal.rsg-resolution-wizard-modal
.dialog-message > .elementor-location-popup{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

/*
 * Elementor Containers mogą posiadać własny boxed/max-width.
 * Zdejmujemy ten limit wyłącznie z wewnętrznego wrappera, który bezpośrednio
 * zawiera Kreator Uchwały. Nie zmieniamy szerokości samego popupu.
 */
.elementor-popup-modal.rsg-resolution-wizard-modal
.dialog-message .e-con:has(.elementor-widget-rsg_resolution_wizard),
.elementor-popup-modal.rsg-resolution-wizard-modal
.dialog-message .e-con:has(.rsg-resolution-wizard){
  --container-max-width:100%!important;
  --content-width:100%!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  flex-basis:100%!important;
  align-self:stretch!important;
  box-sizing:border-box!important;
}

.elementor-popup-modal.rsg-resolution-wizard-modal
.dialog-message .e-con:has(.elementor-widget-rsg_resolution_wizard) > .e-con-inner,
.elementor-popup-modal.rsg-resolution-wizard-modal
.dialog-message .e-con:has(.rsg-resolution-wizard) > .e-con-inner{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

/*
 * Sam widget oraz jego wrapper są dokładnie 100% szerokości
 * przydzielonej przez sekcję / kontener / popup.
 */
.elementor-widget-rsg_resolution_wizard,
.elementor-widget-rsg_resolution_wizard > .elementor-widget-container,
.rsg-resolution-wizard{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

/*
 * Fix działa także w podglądzie / edytorze Elementora, gdzie klasa
 * rsg-resolution-wizard-modal może jeszcze nie zostać dodana przez JS.
 * Nadal nie dotykamy szerokości .dialog-message.
 */
.elementor-popup-modal
.dialog-message .e-con:has(.elementor-widget-rsg_resolution_wizard) > .e-con-inner{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}

.elementor-popup-modal
.elementor-widget-rsg_resolution_wizard{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  align-self:stretch!important;
}

/*
 * Elementor może ustawić szerokość widgetu jako inline/custom width.
 * Dla Kreatora Uchwały zawsze oznacza ona szerokość jego dostępnego
 * kontenera — nie stałą szerokość niezależną od popupu.
 */
.elementor-widget-rsg_resolution_wizard.elementor-element{
  --width:100%!important;
  --flex-grow:1;
}

/* Bez poziomego scrolla przy bardzo wąskich breakpointach. */
.rsg-resolution-wizard,
.rsg-resolution-wizard *{
  box-sizing:border-box;
}

.rsg-resolution-wizard{
  overflow-x:hidden;
}


/* ================================================================
   0.3.57 — Kreator Uchwały: Kroki — boxy jak Kreator Sesji
   ================================================================ */

.rsg-resolution-wizard-steps{
  width:100%;
}

.rsg-resolution-wizard-step{
  min-width:0;
  transition:
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease,
    box-shadow .18s ease;
}

.rsg-resolution-wizard-step__number{
  box-sizing:border-box;
  line-height:1;
}

.rsg-resolution-wizard-step__label{
  min-width:0;
}

.rsg-resolution-wizard-step__label strong,
.rsg-resolution-wizard-step__label small{
  min-width:0;
}

/* Zachowujemy czytelny stan ukończonego kroku. */
.rsg-resolution-wizard-step.is-done{
  color:#3d6b46;
}

/* Na tablet/mobilnym tekst nie może być sztucznie przycinany. */
@media(max-width:767px){
  .rsg-resolution-wizard-step__label strong{
    white-space:normal;
  }
}


/* ================================================================
   0.3.58 — Kreator Uchwały: Zawartość kroku — box
   ================================================================ */

.rsg-resolution-wizard-panel{
  box-sizing:border-box;
  width:100%;
  min-width:0;
}

.rsg-resolution-wizard-panel__heading{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  border-bottom-style:solid;
}

.rsg-resolution-wizard-panel__heading > span{
  box-sizing:border-box;
  min-width:0;
  line-height:1;
}

.rsg-resolution-wizard-panel__heading > div{
  min-width:0;
}

.rsg-resolution-wizard-panel__heading strong,
.rsg-resolution-wizard-panel__heading small{
  display:block;
  min-width:0;
}

/*
 * Elementor może wyłączyć linię przez border-bottom-style:none.
 * Nie pozostawiamy żadnego pseudo-elementu ani box-shadow imitującego linię.
 */
.rsg-resolution-wizard-panel__heading::before,
.rsg-resolution-wizard-panel__heading::after{
  content:none!important;
  display:none!important;
}


/* ================================================================
   0.3.59 — Kreator Uchwały: Pola / podpisy jak Kreator Sesji
   ================================================================ */

.rsg-resolution-wizard-fields{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  width:100%;
  min-width:0;
}

.rsg-resolution-wizard-field,
.rsg-resolution-wizard-session{
  box-sizing:border-box;
  display:grid;
  align-content:start;
  gap:7px;
  width:100%;
  min-width:0;
  padding:12px;
  border:1px solid #dce7d9;
  border-radius:11px;
  background:#fbfdfb;
}

.rsg-resolution-wizard-field > span,
.rsg-resolution-wizard-session__label{
  display:block;
  color:#385d40;
  font-size:11px;
  font-weight:800;
  line-height:1.3;
  letter-spacing:0;
  text-transform:none;
}

.rsg-resolution-wizard-field > span b{
  color:#9b3140;
}

.rsg-resolution-wizard input[type="text"]{
  width:100%;
  min-width:0;
  min-height:48px;
  padding:10px 12px;
  border:1px solid #c8d9c5;
  border-radius:10px;
  background:#fff;
  color:#34463a;
  font:inherit;
  box-shadow:none;
  outline:0;
}

.rsg-resolution-wizard input[type="text"]::placeholder,
.rsg-resolution-wizard textarea::placeholder{
  color:#9aa49d;
  opacity:1;
}

.rsg-resolution-wizard input[type="text"]:focus,
.rsg-resolution-wizard textarea:focus{
  border-color:#579260;
  box-shadow:0 0 0 3px rgba(87,146,96,.11);
}

.rsg-resolution-wizard-session__locked{
  box-sizing:border-box;
  width:100%;
  min-width:0;
}

.rsg-resolution-wizard-session__locked > div{
  min-width:0;
}

.rsg-resolution-wizard-session__locked strong,
.rsg-resolution-wizard-session__locked small{
  display:block;
  min-width:0;
}

.rsg-resolution-wizard-session__icon{
  box-sizing:border-box;
}

/*
 * Pole WYSIWYG pozostaje sterowane osobnym wyglądem edytora,
 * ale wspólna typografia / kolory textarea działają w trybie Tekst.
 */
.rsg-resolution-wizard textarea{
  box-sizing:border-box;
  width:100%;
  min-width:0;
}

/* Mobilnie zachowujemy pełną szerokość pól. */
@media(max-width:767px){
  .rsg-resolution-wizard-fields{
    grid-template-columns:1fr;
  }
}


/* ================================================================
   0.3.60 — Uchwały tylko dla otwartej Sesji Rady
   ================================================================ */

[data-rsg-add-resolution][hidden],
.rsg-session-action--add_resolution.is-session-closed,
.rsg-resolution-front-action--add.is-session-closed{
  display:none!important;
}

.rsg-resolution-wizard-session__closed{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  box-sizing:border-box;
  padding:11px 12px;
  border:1px solid #e3c8cd;
  border-radius:10px;
  background:#fff4f5;
  color:#8b3040;
}

.rsg-resolution-wizard-session__closed[hidden]{
  display:none!important;
}

.rsg-resolution-wizard-session__closed-icon{
  display:grid;
  place-items:center;
  flex:0 0 36px;
  width:36px;
  height:36px;
  border-radius:9px;
  background:#f4dfe3;
  color:#963545;
}

.rsg-resolution-wizard-session__closed-icon svg{
  width:18px;
  height:18px;
}

.rsg-resolution-wizard-session__closed > div{
  display:grid;
  gap:2px;
  min-width:0;
}

.rsg-resolution-wizard-session__closed strong{
  color:#842f3d;
  font-size:11px;
  line-height:1.3;
}

.rsg-resolution-wizard-session__closed small{
  color:#8e6b71;
  font-size:9px;
  line-height:1.45;
}

.rsg-resolution-wizard.is-session-closed
.rsg-resolution-wizard-session__locked{
  opacity:.72;
}


/* ================================================================
   0.3.62 — Lista Uchwał: ikonki dokładnie w stylu Listy Sesji
   ================================================================ */

/*
 * To NIE jest osobny styl dla Uchwał.
 * Bazujemy na dokładnie tym samym systemie wizualnym co:
 * .rsg-session-action w widgetcie Rada — Lista sesji.
 */

.rsg-resolution-front-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
  padding:0;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.rsg-resolution-front-action{
  position:relative;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 40px;
  width:40px;
  min-width:40px;
  height:40px;
  min-height:40px;
  padding:0!important;
  margin:0!important;
  border:1px solid rgba(65,88,70,.10);
  border-radius:10px;
  background:#f5f7f5;
  color:#52655a;
  text-decoration:none!important;
  font-size:0!important;
  line-height:0!important;
  box-sizing:border-box;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  transition:
    transform .15s ease,
    box-shadow .15s ease,
    background-color .15s ease,
    border-color .15s ease,
    color .15s ease;
}

.rsg-resolution-front-action svg{
  display:block!important;
  flex:0 0 18px;
  width:18px;
  height:18px;
  margin:0!important;
  padding:0!important;
  pointer-events:none;
}

.rsg-resolution-front-action:hover,
.rsg-resolution-front-action:focus{
  transform:translateY(-1px);
  box-shadow:0 5px 13px rgba(30,64,37,.12);
  outline:0;
}

.rsg-resolution-front-action:focus-visible{
  outline:3px solid rgba(47,111,56,.17);
  outline-offset:2px;
}

/* Otwórz głosowanie = dokładnie paleta "Sesja otwarta". */
.rsg-resolution-front-action--start{
  border-color:#cfe5d0;
  background:#e5f4e5;
  color:#24703a;
}

/* Zamknij głosowanie = dokładnie paleta "Sesja zamknięta". */
.rsg-resolution-front-action--close{
  border-color:#dce2e4;
  background:#eef1f2;
  color:#59666d;
}

/* Transmisja = dokładnie rodzina Dokumenty. */
.rsg-resolution-front-action--transmission{
  border-color:#d7e4eb;
  background:#eaf1f5;
  color:#315f78;
}

/* Uchwalona = dokładnie rodzina Uchwały sesji. */
.rsg-resolution-front-action--adopted{
  border-color:#d9e7d5;
  background:#edf3e8;
  color:#356d42;
}

/* Odrzucona = dokładnie rodzina Usuń. */
.rsg-resolution-front-action--rejected{
  border-color:#eed5da;
  background:#fff2f4;
  color:#9a3443;
}

/* Reasumpcja = dokładnie rodzina Edycja. */
.rsg-resolution-front-action--reassume{
  border-color:#e3ddcf;
  background:#f1eee7;
  color:#6b5b36;
}

/* Dodaj Uchwałę = ta sama paleta co + w Liście Sesji. */
.rsg-resolution-front-action--add{
  border-color:#d5e6d1;
  background:#e8f5e7;
  color:#2f713d;
}

.rsg-resolution-front-action--start:hover,
.rsg-resolution-front-action--start:focus{
  background:#d5ecd6;
}

.rsg-resolution-front-action--close:hover,
.rsg-resolution-front-action--close:focus{
  background:#dde3e5;
}

.rsg-resolution-front-action--transmission:hover,
.rsg-resolution-front-action--transmission:focus{
  background:#d9e7ef;
}

.rsg-resolution-front-action--adopted:hover,
.rsg-resolution-front-action--adopted:focus{
  background:#dcebd7;
}

.rsg-resolution-front-action--rejected:hover,
.rsg-resolution-front-action--rejected:focus{
  background:#f5dce1;
}

.rsg-resolution-front-action--reassume:hover,
.rsg-resolution-front-action--reassume:focus{
  background:#e7dfd0;
}

.rsg-resolution-front-action--add:hover,
.rsg-resolution-front-action--add:focus{
  background:#d5ecd3;
}

/*
 * Aktywny wynik nie dostaje ciężkiej podwójnej ramki.
 * Delikatnie zwiększamy kontrast, jak w pozostałych ikonach Sesji.
 */
.rsg-resolution-front-action.is-active{
  box-shadow:0 4px 11px rgba(30,64,37,.10);
  filter:saturate(1.08);
}

.rsg-resolution-front-action--adopted.is-active{
  border-color:#9fc89f;
  background:#dcebd7;
}

.rsg-resolution-front-action--rejected.is-active{
  border-color:#daa8b0;
  background:#f5dce1;
}

.rsg-resolution-front-action.is-loading{
  opacity:.55;
  cursor:wait;
  transform:none;
  pointer-events:none;
}

/* Status + ikony są wyrównane bez dodatkowej ramki wokół akcji. */
.rsg-resolution-front-card__side{
  gap:8px;
}

@media(max-width:767px){
  .rsg-resolution-front-actions{
    justify-content:flex-start;
  }
}


/* ================================================================
   0.3.63 — Lista Uchwał: aktywne głosowanie + wyniki
   ================================================================ */

/* 1. Zamknięte głosowanie = subtelny niebieski box. */
.rsg-resolution-front-card.is-vote-closed{
  border-color:#c9deea;
  background:#f1f7fb;
}

/*
 * 2. Jedna Uchwała w Sesji może być „głosowana teraz”.
 * Stan LIVE ma pierwszeństwo wizualne nad stanem zamknięcia/wyniku.
 */
.rsg-resolution-front-card.is-live-vote{
  border-color:#91bd96;
  background:#eef8ed;
  box-shadow:0 6px 18px rgba(47,111,56,.09);
}

.rsg-resolution-front-card.is-live-vote:hover{
  border-color:#79ad80;
  box-shadow:0 7px 20px rgba(47,111,56,.12);
}

.rsg-resolution-front-card--live
.rsg-resolution-front-card__status{
  border-color:#b9d9bc;
  background:#e4f3e3;
  color:#2d6e3a;
}

/* Aktywna ikonka „online” używa zielonego stylu Listy Sesji. */
.rsg-resolution-front-action--transmission.is-active{
  border-color:#9fc89f;
  background:#dcebd7;
  color:#2f713d;
  box-shadow:0 4px 11px rgba(30,64,37,.10);
}

/* 3. Tytuł + wynik głosowania w jednej, elastycznej linii. */
.rsg-resolution-front-card__title-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px 10px;
  min-width:0;
}

.rsg-resolution-front-card__title{
  flex:0 1 auto;
}

.rsg-resolution-vote-summary{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  min-width:0;
}

.rsg-resolution-vote-summary[hidden]{
  display:none!important;
}

.rsg-resolution-vote-summary__item{
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-height:24px;
  padding:4px 7px;
  border:1px solid rgba(62,83,67,.08);
  border-radius:7px;
  background:#eef2f4;
  color:#637067;
  font-size:9px;
  line-height:1.1;
  white-space:nowrap;
}

.rsg-resolution-vote-summary__item span{
  font-weight:650;
}

.rsg-resolution-vote-summary__item strong{
  color:#304a36;
  font-size:10px;
  font-weight:900;
}

.rsg-resolution-vote-summary__item--for{
  border-color:#d6e6d2;
  background:#eaf5e9;
  color:#397246;
}

.rsg-resolution-vote-summary__item--for strong{
  color:#2d6a39;
}

.rsg-resolution-vote-summary__item--against{
  border-color:#efd5da;
  background:#fff0f2;
  color:#9a3c4a;
}

.rsg-resolution-vote-summary__item--against strong{
  color:#913240;
}

.rsg-resolution-vote-summary__item--abstain{
  border-color:#e5dfd0;
  background:#f4f1e9;
  color:#756844;
}

.rsg-resolution-vote-summary__item--abstain strong{
  color:#685b38;
}

.rsg-resolution-vote-summary__item--absent{
  border-color:#dde2e3;
  background:#f1f3f4;
  color:#687279;
}

.rsg-resolution-vote-summary__item--absent strong{
  color:#566168;
}

@media(max-width:767px){
  .rsg-resolution-front-card__title-row{
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
  }

  .rsg-resolution-vote-summary{
    width:100%;
  }
}


/* ================================================================
   0.3.66 — Frontendowy Edytor Sesji + Dokumenty Sesji
   ================================================================ */

.rsg-session-editor,
.rsg-session-documents-widget{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  padding:18px;
  border:1px solid #d9e6d6;
  border-radius:14px;
  background:#fff;
}

.rsg-session-editor__heading,
.rsg-session-documents-widget__heading{
  margin:0 0 16px;
  color:#285b34;
  font-size:22px;
  line-height:1.2;
}

.rsg-session-editor__form,
.rsg-session-documents-widget form{
  margin:0;
}

.rsg-session-editor__fields{
  display:grid;
  gap:14px;
}

.rsg-session-editor__row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.rsg-session-editor-field{
  display:grid;
  gap:7px;
  min-width:0;
  margin:0;
}

.rsg-session-editor-field > span{
  color:#385d40;
  font-size:11px;
  font-weight:800;
  line-height:1.3;
}

.rsg-session-editor-field input,
.rsg-session-editor-field textarea,
.rsg-session-editor-field select{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  padding:11px 12px;
  border:1px solid #c8d9c5;
  border-radius:10px;
  background:#fff;
  color:#34463a;
  font:inherit;
  outline:0;
}

.rsg-session-editor-field input:focus,
.rsg-session-editor-field textarea:focus,
.rsg-session-editor-field select:focus{
  border-color:#579260;
  box-shadow:0 0 0 3px rgba(87,146,96,.11);
}

.rsg-session-editor-field select[multiple]{
  min-height:110px;
}

.rsg-session-editor__wp-editor{
  overflow:hidden;
  width:100%;
  min-width:0;
  border:1px solid #c8d9c5;
  border-radius:10px;
  background:#fff;
}

.rsg-session-editor__wp-editor .wp-editor-wrap,
.rsg-session-editor__wp-editor .wp-editor-container{
  border:0!important;
  box-shadow:none!important;
}

.rsg-session-editor__wp-editor .mce-top-part::before{
  box-shadow:none!important;
}

.rsg-session-editor__footer,
.rsg-session-documents-widget__footer{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:12px;
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid #e5ede3;
}

.rsg-session-editor__message,
.rsg-session-documents-widget__message{
  flex:1 1 260px;
  min-width:0;
  color:#69776d;
  font-size:11px;
}

.rsg-session-editor__message.is-success,
.rsg-session-documents-widget__message.is-success{
  color:#2f713d;
}

.rsg-session-editor__message.is-error,
.rsg-session-documents-widget__message.is-error{
  color:#a42333;
}

.rsg-session-editor__save,
.rsg-session-documents-widget__save{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 18px;
  border:1px solid #a42333;
  border-radius:10px;
  background:#a42333;
  color:#fff;
  font-weight:800;
  cursor:pointer;
  transition:
    background-color .15s ease,
    border-color .15s ease,
    opacity .15s ease,
    transform .15s ease;
}

.rsg-session-editor__save:hover,
.rsg-session-editor__save:focus,
.rsg-session-documents-widget__save:hover,
.rsg-session-documents-widget__save:focus{
  border-color:#861c2a;
  background:#861c2a;
  color:#fff;
  transform:translateY(-1px);
}

.rsg-session-editor__save.is-loading,
.rsg-session-documents-widget__save.is-loading{
  opacity:.62;
  cursor:wait;
  transform:none;
}

/* Dokumenty */
.rsg-session-documents-widget__picker{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  box-sizing:border-box;
  padding:16px;
  border:1px dashed #cbdcc8;
  border-radius:12px;
  background:#f8fbf7;
  cursor:pointer;
  transition:
    border-color .15s ease,
    background-color .15s ease;
}

.rsg-session-documents-widget__picker:hover{
  border-color:#79a47f;
  background:#f1f8ef;
}

.rsg-session-documents-widget__picker input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
}

.rsg-session-documents-widget__picker-icon{
  display:grid;
  place-items:center;
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:10px;
  background:#e8f3e5;
  color:#347342;
}

.rsg-session-documents-widget__picker-icon svg{
  width:20px;
  height:20px;
}

.rsg-session-documents-widget__picker > span:last-child{
  display:grid;
  gap:2px;
}

.rsg-session-documents-widget__picker strong{
  color:#315d3b;
  font-size:12px;
}

.rsg-session-documents-widget__picker small{
  color:#7a897f;
  font-size:9px;
}

.rsg-session-documents-widget__selected{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}

.rsg-session-documents-selected-file{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 8px;
  border:1px solid #dce7d9;
  border-radius:7px;
  background:#f7faf6;
  color:#53645a;
  font-size:9px;
}

.rsg-session-documents-selected-file small{
  opacity:.7;
}

.rsg-session-documents-widget__list{
  display:grid;
  gap:8px;
  margin-top:14px;
}

.rsg-session-document-front{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  min-width:0;
  box-sizing:border-box;
  padding:10px 11px;
  border:1px solid #dde8da;
  border-radius:10px;
  background:#fbfdfb;
}

.rsg-session-document-front__icon{
  display:grid;
  place-items:center;
  flex:0 0 36px;
  width:36px;
  height:36px;
  border-radius:9px;
  background:#edf4ea;
  color:#477852;
}

.rsg-session-document-front__icon svg{
  width:17px;
  height:17px;
}

.rsg-session-document-front__content{
  display:grid;
  gap:2px;
  flex:1 1 auto;
  min-width:0;
}

.rsg-session-document-front__content a{
  overflow:hidden;
  color:#315a3a;
  font-size:11px;
  font-weight:800;
  text-decoration:none;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.rsg-session-document-front__content a:hover{
  text-decoration:underline;
}

.rsg-session-document-front__content small{
  color:#879188;
  font-size:9px;
}

.rsg-session-document-front__remove{
  display:grid;
  place-items:center;
  flex:0 0 36px;
  width:36px;
  height:36px;
  padding:0;
  border:1px solid #efd5da;
  border-radius:9px;
  background:#fff2f4;
  color:#9a3443;
  cursor:pointer;
}

.rsg-session-document-front__remove:hover,
.rsg-session-document-front__remove:focus{
  background:#f5dce1;
}

.rsg-session-document-front__remove svg{
  width:16px;
  height:16px;
}

.rsg-session-documents-widget__empty{
  margin-top:14px;
  padding:12px;
  border:1px dashed #dce5da;
  border-radius:9px;
  color:#859087;
  font-size:10px;
  text-align:center;
}

.rsg-widget-notice{
  padding:12px 14px;
  border:1px dashed #cbdcc8;
  border-radius:10px;
  background:#f8fbf7;
  color:#5e6d62;
  font-size:11px;
}

@media(max-width:767px){
  .rsg-session-editor__row{
    grid-template-columns:1fr;
  }

  .rsg-session-editor__footer,
  .rsg-session-documents-widget__footer{
    align-items:stretch;
    flex-direction:column;
  }

  .rsg-session-editor__save,
  .rsg-session-documents-widget__save{
    width:100%;
  }
}


/* ================================================================
   0.3.67 — Edytor Sesji: wyłącznie Visual
   ================================================================ */

.rsg-session-editor__wp-editor .wp-editor-tabs,
.rsg-session-editor__wp-editor .wp-switch-editor.switch-html{
  display:none!important;
}

.rsg-session-editor__wp-editor
.mce-btn[aria-label*="Source"],
.rsg-session-editor__wp-editor
.mce-btn[aria-label*="Code"],
.rsg-session-editor__wp-editor
.tox-tbtn[aria-label*="Source"],
.rsg-session-editor__wp-editor
.tox-tbtn[aria-label*="Code"]{
  display:none!important;
}


/* ================================================================
   0.3.68 — Edytor Sesji: min-height WYSIWYG + ukrywanie labeli
   ================================================================ */

.rsg-session-editor__wp-editor{
  min-width:0;
}

.rsg-session-editor__wp-editor .wp-editor-container,
.rsg-session-editor__wp-editor .mce-edit-area,
.rsg-session-editor__wp-editor iframe{
  width:100%;
  box-sizing:border-box;
}

/*
 * Wartość min-height jest ustawiana przez kontrolkę Elementora
 * bezpośrednio na iframe TinyMCE oraz fallback textarea.
 */
.rsg-session-editor__wp-editor textarea[data-rsg-wp-editor]{
  width:100%;
  box-sizing:border-box;
}


/* ================================================================
   0.3.70 — Wynik głosowania: liczby sterowane z Elementora
   ================================================================ */

/*
 * Kolory i typografia liczb w badge'ach wyniku mają teraz własne
 * kontrolki Elementora. Poniższe style pozostają wyłącznie fallbackiem
 * dla starszych zapisanych widgetów.
 */
.rsg-resolution-vote-summary__item > strong{
  line-height:inherit;
}


/* ================================================================
   0.3.71 — Lista Uchwał: pełny styl numeru Uchwały
   ================================================================ */

.rsg-resolution-front-card__number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  flex-shrink:0;
  overflow:hidden;
  line-height:1;
}


/* ================================================================
   0.3.72 — Rada — Porządek Sesji Rady
   Styl spójny z widgetem Rada — Uchwały sesji
   ================================================================ */

.rsg-session-agenda-front{
  width:100%;
  min-width:0;
}

.rsg-session-agenda-front__header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  margin-bottom:16px;
}

.rsg-session-agenda-front__header-copy{
  display:grid;
  gap:3px;
  min-width:0;
}

.rsg-session-agenda-front__heading{
  margin:0;
  color:#214e2d;
  font-size:23px;
  line-height:1.18;
}

.rsg-session-agenda-front__session-title{
  color:#738077;
  font-size:10px;
  line-height:1.3;
}

.rsg-session-agenda-front__count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:26px;
  padding:5px 9px;
  border:1px solid #dae6d7;
  border-radius:8px;
  background:#f1f6ef;
  color:#42624a;
  font-size:9px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}

.rsg-session-agenda-front__list{
  display:grid;
  gap:10px;
  min-width:0;
}

.rsg-session-agenda-card{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  padding:12px;
  border:1px solid #dbe7d8;
  border-radius:11px;
  background:#fff;
}

.rsg-session-agenda-card__main{
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-width:0;
}

.rsg-session-agenda-card__number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 34px;
  width:34px;
  min-width:34px;
  height:34px;
  min-height:34px;
  box-sizing:border-box;
  overflow:hidden;
  border:1px solid #d9e7d5;
  border-radius:9px;
  background:#edf3e8;
  color:#2f713d;
  font-size:11px;
  font-weight:900;
  line-height:1;
}

.rsg-session-agenda-card__content{
  flex:1 1 auto;
  min-width:0;
}

.rsg-session-agenda-card__title{
  margin:4px 0 0;
  color:#214e2d;
  font-size:14px;
  font-weight:700;
  line-height:1.38;
}

.rsg-session-agenda-card__subitems{
  display:grid;
  gap:6px;
  margin-top:10px;
}

.rsg-session-agenda-subitem{
  display:flex;
  align-items:flex-start;
  gap:9px;
  width:100%;
  min-width:0;
  box-sizing:border-box;
  padding:8px 9px;
  border:1px solid #e0e9dd;
  border-radius:9px;
  background:#f8fbf7;
}

.rsg-session-agenda-subitem__number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 38px;
  width:38px;
  min-width:38px;
  height:28px;
  min-height:28px;
  box-sizing:border-box;
  border:1px solid #d9e7d5;
  border-radius:7px;
  background:#edf3e8;
  color:#477352;
  font-size:9px;
  font-weight:900;
  line-height:1;
}

.rsg-session-agenda-subitem__content{
  flex:1 1 auto;
  min-width:0;
}

.rsg-session-agenda-subitem__title{
  padding-top:4px;
  color:#42584a;
  font-size:11px;
  font-weight:650;
  line-height:1.35;
}

.rsg-session-agenda-resolution{
  display:inline-flex;
  align-items:center;
  gap:5px;
  max-width:100%;
  margin-top:7px;
  padding:4px 7px;
  border:1px solid #d7e4eb;
  border-radius:7px;
  background:#eaf1f5;
  color:#315f78;
  font-size:8px;
  font-weight:800;
  line-height:1;
}

.rsg-session-agenda-resolution svg{
  flex:0 0 12px;
  width:12px;
  height:12px;
}

.rsg-session-agenda-resolution a{
  color:inherit;
  text-decoration:none;
}

.rsg-session-agenda-resolution a:hover,
.rsg-session-agenda-resolution a:focus{
  text-decoration:underline;
}

.rsg-session-agenda-resolution--sub{
  margin-top:5px;
}

.rsg-session-agenda-front__empty{
  padding:16px;
  border:1px dashed #d7e3d4;
  border-radius:10px;
  background:#f8fbf7;
  color:#78847b;
  font-size:10px;
  text-align:center;
}

@media(max-width:767px){
  .rsg-session-agenda-front__header{
    align-items:flex-start;
    flex-direction:column;
  }

  .rsg-session-agenda-card{
    padding:10px;
  }

  .rsg-session-agenda-card__main{
    gap:9px;
  }

  .rsg-session-agenda-subitem{
    gap:7px;
  }
}


/* ================================================================
   0.3.73 — Lista Uchwał: Drag & Drop kolejności
   ================================================================ */

.rsg-session-resolutions.is-sortable
.rsg-resolution-front-card{
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  touch-action:pan-y;
}

.rsg-session-resolutions.is-sortable
.rsg-resolution-front-card:active{
  cursor:grabbing;
}

.rsg-session-resolutions.is-sortable
.rsg-resolution-front-card a,
.rsg-session-resolutions.is-sortable
.rsg-resolution-front-card button,
.rsg-session-resolutions.is-sortable
.rsg-resolution-front-card input,
.rsg-session-resolutions.is-sortable
.rsg-resolution-front-card select,
.rsg-session-resolutions.is-sortable
.rsg-resolution-front-card textarea{
  cursor:auto;
}

.rsg-session-resolutions.is-sortable
.rsg-resolution-front-card.is-dragging{
  z-index:5;
  opacity:.62;
  border-style:dashed;
  border-color:#77a67e;
  background:#f4faf2;
  box-shadow:0 10px 24px rgba(35,78,44,.14);
  transform:scale(.98);
  cursor:grabbing;
}

.rsg-session-resolutions.is-drag-active
.rsg-session-resolutions__list{
  min-height:64px;
}

.rsg-session-resolutions.is-order-saving
.rsg-session-resolutions__list{
  position:relative;
  border-radius:11px;
  background:rgba(239,247,237,.45);
  pointer-events:none;
}

.rsg-session-resolutions.is-order-saving
.rsg-session-resolutions__list::after{
  content:"Zapisywanie kolejności…";
  position:absolute;
  right:8px;
  bottom:8px;
  z-index:8;
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:5px 8px;
  border:1px solid #d5e4d2;
  border-radius:7px;
  background:#fff;
  color:#52705a;
  font-size:9px;
  font-weight:800;
  line-height:1;
  box-shadow:0 3px 10px rgba(39,79,48,.08);
}

@media (prefers-reduced-motion: reduce){
  .rsg-session-resolutions.is-sortable
  .rsg-resolution-front-card{
    transition:none!important;
  }
}


/* ================================================================
   0.3.74 — Porządek Sesji Rady: frontendowy edytor pozycji
   ================================================================ */

.rsg-session-agenda-editor__toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  width:100%;
  margin:0 0 14px;
}

.rsg-session-agenda-editor__add{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 13px;
  border:1px solid #d5e6d1;
  border-radius:10px;
  background:#e8f5e7;
  color:#2f713d;
  font-size:11px;
  font-weight:850;
  line-height:1;
  cursor:pointer;
  transition:
    transform .15s ease,
    box-shadow .15s ease,
    background-color .15s ease,
    border-color .15s ease;
}

.rsg-session-agenda-editor__add svg{
  width:17px;
  height:17px;
}

.rsg-session-agenda-editor__add:hover,
.rsg-session-agenda-editor__add:focus{
  border-color:#bdd9b7;
  background:#d5ecd3;
  color:#2f713d;
  box-shadow:0 5px 13px rgba(30,64,37,.10);
  transform:translateY(-1px);
  outline:0;
}

.rsg-session-agenda-editor__message{
  flex:1 1 220px;
  min-width:0;
  color:#768178;
  font-size:10px;
  text-align:right;
}

.rsg-session-agenda-editor__message.is-success{
  color:#2f713d;
}

.rsg-session-agenda-editor__message.is-error{
  color:#a42333;
}

/*
 * Karta planu dostaje akcje dokładnie w języku wizualnym
 * używanym przez Listę Sesji / Listę Uchwał.
 */
.rsg-session-agenda-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex:0 0 auto;
  gap:6px;
  margin-left:auto;
}

.rsg-session-agenda-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 36px;
  width:36px;
  min-width:36px;
  height:36px;
  min-height:36px;
  padding:0!important;
  margin:0!important;
  border:1px solid rgba(65,88,70,.10);
  border-radius:9px;
  background:#f5f7f5;
  color:#52655a;
  line-height:0!important;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  transition:
    transform .15s ease,
    box-shadow .15s ease,
    background-color .15s ease,
    border-color .15s ease,
    opacity .15s ease;
}

.rsg-session-agenda-action svg{
  display:block;
  width:16px;
  height:16px;
  pointer-events:none;
}

.rsg-session-agenda-action:hover,
.rsg-session-agenda-action:focus{
  transform:translateY(-1px);
  box-shadow:0 5px 13px rgba(30,64,37,.10);
  outline:0;
}

.rsg-session-agenda-action--edit{
  border-color:#e3ddcf;
  background:#f1eee7;
  color:#6b5b36;
}

.rsg-session-agenda-action--edit:hover,
.rsg-session-agenda-action--edit:focus{
  background:#e7dfd0;
}

.rsg-session-agenda-action--link{
  border-color:#d7e4eb;
  background:#eaf1f5;
  color:#315f78;
}

.rsg-session-agenda-action--link:hover,
.rsg-session-agenda-action--link:focus{
  background:#d9e7ef;
}

.rsg-session-agenda-action--link.is-active{
  border-color:#bcd9bd;
  background:#e5f4e5;
  color:#24703a;
  box-shadow:0 0 0 2px rgba(47,113,61,.05);
}

.rsg-session-agenda-action--delete{
  border-color:#eed5da;
  background:#fff2f4;
  color:#9a3443;
}

.rsg-session-agenda-action--delete:hover,
.rsg-session-agenda-action--delete:focus{
  background:#f5dce1;
}

.rsg-session-agenda-action.is-loading{
  opacity:.45;
  pointer-events:none;
  transform:none;
}

/*
 * Główna karta: akcje po prawej.
 * Podpozycja: ten sam system ikon, bez zmiany hierarchii.
 */
.rsg-session-agenda-card__main{
  align-items:flex-start;
}

.rsg-session-agenda-card__content{
  min-width:0;
}

.rsg-session-agenda-subitem{
  align-items:flex-start;
}

.rsg-session-agenda-subitem__content{
  min-width:0;
}

/* ===== Dialog edycji ===== */

body.rsg-agenda-dialog-open{
  overflow:hidden;
}

.rsg-session-agenda-dialog[hidden]{
  display:none!important;
}

.rsg-session-agenda-dialog{
  position:fixed;
  inset:0;
  z-index:100050;
  display:grid;
  place-items:center;
  padding:18px;
}

.rsg-session-agenda-dialog__backdrop{
  position:absolute;
  inset:0;
  background:rgba(22,36,25,.46);
  backdrop-filter:blur(2px);
}

.rsg-session-agenda-dialog__panel{
  position:relative;
  z-index:1;
  width:min(560px,100%);
  max-height:min(760px,calc(100vh - 36px));
  overflow:auto;
  box-sizing:border-box;
  padding:18px;
  border:1px solid #d8e4d5;
  border-radius:14px;
  background:#fff;
  box-shadow:0 22px 60px rgba(18,42,23,.24);
}

.rsg-session-agenda-dialog__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
  padding-bottom:13px;
  border-bottom:1px solid #e4ece2;
}

.rsg-session-agenda-dialog__kicker{
  display:block;
  margin-bottom:4px;
  color:#83a086;
  font-size:8px;
  font-weight:900;
  letter-spacing:.14em;
}

.rsg-session-agenda-dialog__header h3{
  margin:0;
  color:#285b34;
  font-size:20px;
  line-height:1.2;
}

.rsg-session-agenda-dialog__close{
  display:grid;
  place-items:center;
  flex:0 0 36px;
  width:36px;
  height:36px;
  padding:0;
  border:1px solid #e1e6df;
  border-radius:9px;
  background:#f7f9f6;
  color:#68736a;
  cursor:pointer;
}

.rsg-session-agenda-dialog__close:hover{
  background:#eef2ec;
}

.rsg-session-agenda-dialog__close svg{
  width:16px;
  height:16px;
}

.rsg-session-agenda-dialog form{
  display:grid;
  gap:14px;
  margin:0;
}

.rsg-session-agenda-dialog__field{
  display:grid;
  gap:7px;
  margin:0;
}

.rsg-session-agenda-dialog__field>span{
  color:#385d40;
  font-size:10px;
  font-weight:850;
}

.rsg-session-agenda-dialog__field input,
.rsg-session-agenda-dialog__field select{
  width:100%;
  min-width:0;
  min-height:44px;
  box-sizing:border-box;
  padding:10px 11px;
  border:1px solid #c8d9c5;
  border-radius:9px;
  background:#fff;
  color:#34463a;
  font:inherit;
  outline:0;
}

.rsg-session-agenda-dialog__field input:focus,
.rsg-session-agenda-dialog__field select:focus{
  border-color:#579260;
  box-shadow:0 0 0 3px rgba(87,146,96,.11);
}

.rsg-session-agenda-dialog__field small{
  color:#859087;
  font-size:8px;
  line-height:1.35;
}

.rsg-session-agenda-dialog__message{
  min-height:15px;
  color:#788179;
  font-size:9px;
}

.rsg-session-agenda-dialog__message.is-error{
  color:#a42333;
}

.rsg-session-agenda-dialog__message.is-success{
  color:#2f713d;
}

.rsg-session-agenda-dialog__footer{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  padding-top:5px;
}

.rsg-session-agenda-dialog__cancel,
.rsg-session-agenda-dialog__save{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:42px;
  padding:9px 14px;
  border-radius:9px;
  font-size:10px;
  font-weight:850;
  cursor:pointer;
}

.rsg-session-agenda-dialog__cancel{
  border:1px solid #dfe5dc;
  background:#f6f8f5;
  color:#667269;
}

.rsg-session-agenda-dialog__cancel:hover{
  background:#ecefec;
}

.rsg-session-agenda-dialog__save{
  border:1px solid #a42333;
  background:#a42333;
  color:#fff;
}

.rsg-session-agenda-dialog__save:hover,
.rsg-session-agenda-dialog__save:focus{
  border-color:#861c2a;
  background:#861c2a;
  color:#fff;
}

.rsg-session-agenda-dialog__save svg{
  width:15px;
  height:15px;
}

.rsg-session-agenda-dialog__save.is-loading{
  opacity:.6;
  pointer-events:none;
}

@media(max-width:767px){
  .rsg-session-agenda-editor__toolbar{
    align-items:stretch;
    flex-direction:column;
  }

  .rsg-session-agenda-editor__message{
    width:100%;
    text-align:left;
  }

  .rsg-session-agenda-card__main{
    flex-wrap:wrap;
  }

  .rsg-session-agenda-card__content{
    flex:1 1 calc(100% - 50px);
  }

  .rsg-session-agenda-card__main>
  .rsg-session-agenda-actions{
    width:100%;
    padding-top:7px;
    border-top:1px solid rgba(65,88,70,.07);
  }

  .rsg-session-agenda-subitem{
    flex-wrap:wrap;
  }

  .rsg-session-agenda-subitem__content{
    flex:1 1 calc(100% - 50px);
  }

  .rsg-session-agenda-subitem>
  .rsg-session-agenda-actions{
    width:100%;
  }

  .rsg-session-agenda-dialog{
    padding:10px;
  }

  .rsg-session-agenda-dialog__panel{
    padding:14px;
  }

  .rsg-session-agenda-dialog__footer{
    align-items:stretch;
    flex-direction:column-reverse;
  }

  .rsg-session-agenda-dialog__cancel,
  .rsg-session-agenda-dialog__save{
    width:100%;
  }
}


/* ================================================================
   0.3.75 — Porządek Sesji Rady: układ Dodaj pozycję + ptaszek Zapisz
   ================================================================ */

/*
 * Wrapper pozwala Elementorowi ustawiać przycisk:
 * lewo / środek / prawo niezależnie od komunikatu AJAX.
 */
.rsg-session-agenda-editor__toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:7px;
}

.rsg-session-agenda-editor__add-wrap{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  min-width:0;
}

.rsg-session-agenda-editor__add{
  max-width:100%;
  box-sizing:border-box;
}

.rsg-session-agenda-editor__message{
  width:100%;
  min-height:14px;
  text-align:left;
}

/*
 * Ptaszek jest częścią przycisku Zapisz, a nie pseudo-elementem.
 * Dzięki temu dziedziczy dokładnie kolor przycisku również na Hover.
 */
.rsg-session-agenda-dialog__save{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.rsg-session-agenda-dialog__save-check{
  display:block!important;
  flex:0 0 auto;
  width:16px;
  height:16px;
  overflow:visible;
  color:inherit;
  stroke:currentColor;
}

.rsg-session-agenda-dialog__save span{
  display:inline-block;
}

@media(max-width:767px){
  .rsg-session-agenda-editor__add-wrap{
    width:100%;
  }

  /*
   * Nie wymuszamy już width:100% na samym przycisku.
   * Jeżeli ma być pełny na mobile, ustawia to kontrolka Elementora.
   */
  .rsg-session-agenda-editor__add{
    max-width:100%;
  }
}




/* ================================================================
   0.3.78 — Dodaj pozycję: prawdziwy gap + Góra / Środek / Dół
   ================================================================ */

/*
 * Przycisk ma dwa niezależne elementy:
 * 1) wrapper ikonki rozciągnięty na pełną wysokość wnętrza,
 * 2) wrapper tekstu wycentrowany pionowo.
 *
 * Dzięki temu pozycja Góra / Środek / Dół rzeczywiście ma przestrzeń
 * do działania, niezależnie od typografii i wysokości przycisku.
 */
.rsg-session-agenda-editor__add{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:stretch!important;
  justify-content:center;
  column-gap:7px;
  gap:7px;
}

.rsg-session-agenda-editor__add-icon{
  display:flex!important;
  align-items:center;
  justify-content:center;
  align-self:stretch!important;
  flex:0 0 auto;
  min-width:0;
  margin:0!important;
  padding:0!important;
  line-height:0;
}

.rsg-session-agenda-editor__add-icon svg{
  display:block!important;
  flex:0 0 auto;
  width:17px;
  height:17px;
  margin:0!important;
  padding:0!important;
  position:relative;
  vertical-align:initial!important;
  overflow:visible;
}

.rsg-session-agenda-editor__add-text{
  display:flex!important;
  align-items:center!important;
  justify-content:center;
  align-self:stretch!important;
  flex:0 1 auto;
  min-width:0;
  margin:0!important;
  padding:0!important;
  line-height:inherit;
}


/* ================================================================
   0.3.79 — Porządek Sesji Rady: Drag & Drop kolejności
   ================================================================ */

.rsg-session-agenda-action--drag{
  border-color:#dce5da;
  background:#f2f5f1;
  color:#627268;
  cursor:grab;
  touch-action:none;
}

.rsg-session-agenda-action--drag:hover,
.rsg-session-agenda-action--drag:focus{
  background:#e8eee6;
  color:#40564a;
}

.rsg-session-agenda-action--drag:active{
  cursor:grabbing;
}

[data-rsg-agenda-item].is-dragging{
  opacity:.55;
  transform:scale(.995);
}

[data-rsg-agenda-item].is-drop-before{
  box-shadow:inset 0 3px 0 #5b9865;
}

[data-rsg-agenda-item].is-drop-after{
  box-shadow:inset 0 -3px 0 #5b9865;
}

.rsg-session-agenda-front.is-reorder-saving
.rsg-session-agenda-action--drag{
  opacity:.45;
  pointer-events:none;
}

.rsg-session-agenda-front.is-reorder-saving
[data-rsg-agenda-item]{
  transition:opacity .15s ease;
}


/* ================================================================
   0.3.81 — Głosy Radnych + Wynik głosowania + Kworum
   ================================================================ */

/* ===== Widget: Głosy Radnych ===== */

.rsg-voters-widget{
  width:100%;
  min-width:0;
}

.rsg-voters-widget__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.rsg-voters-widget__heading{
  margin:0;
  color:#214e2d;
  font-size:22px;
  line-height:1.2;
}

.rsg-voters-widget__round{
  margin-top:3px;
  color:#869188;
  font-size:9px;
  font-weight:700;
}

.rsg-voters-widget__message{
  min-height:14px;
  color:#748078;
  font-size:9px;
  text-align:right;
}

.rsg-voters-widget__message.is-success{
  color:#2f713d;
}

.rsg-voters-widget__message.is-error{
  color:#a42333;
}

.rsg-voters-widget__filters{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:12px;
}

.rsg-voters-filter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0;
  column-gap:0;
  row-gap:0;
  min-height:32px;
  padding:6px 9px;
  border:1px solid #dfe6dd;
  border-radius:8px;
  background:#f6f8f5;
  color:#607067;
  font-size:9px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  transition:
    transform .15s ease,
    background-color .15s ease,
    border-color .15s ease,
    box-shadow .15s ease;
}

.rsg-voters-filter strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:6px;
  background:rgba(255,255,255,.7);
  color:inherit;
  font-size:8px;
}

.rsg-voters-filter:hover,
.rsg-voters-filter:focus{
  transform:translateY(-1px);
  border-color:#c9d9c6;
  box-shadow:0 4px 12px rgba(29,63,36,.08);
  outline:0;
}

.rsg-voters-filter.is-active{
  border-color:#2f713d;
  background:#2f713d;
  color:#fff;
}

.rsg-voters-filter.is-active strong{
  background:rgba(255,255,255,.18);
}

.rsg-voters-widget__list{
  display:grid;
  gap:8px;
}

.rsg-voter-card{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  min-width:0;
  box-sizing:border-box;
  padding:10px 11px;
  border:1px solid #dfe8dc;
  border-radius:10px;
  background:#fff;
  transition:
    border-color .15s ease,
    background-color .15s ease,
    box-shadow .15s ease;
}

.rsg-voter-card[hidden]{
  display:none!important;
}

.rsg-voter-card.is-for{
  border-left:3px solid #70a876;
}

.rsg-voter-card.is-against{
  border-left:3px solid #d98996;
}

.rsg-voter-card.is-abstain{
  border-left:3px solid #c7b77d;
}

.rsg-voter-card.is-absent{
  border-left:3px solid #8f9792;
  background:#d7dbd8;
}

.rsg-voter-card__person{
  display:flex;
  align-items:center;
  gap:9px;
  flex:1 1 auto;
  min-width:0;
}

.rsg-voter-card__avatar{
  display:block;
  flex:0 0 auto;
  width:42px;
  height:42px;
  border-radius:10px;
  overflow:hidden;
  background:#eef3eb;
}

.rsg-voter-card__avatar img{
  display:block;
  width:42px;
  height:42px;
  object-fit:cover;
}

.rsg-voter-card__identity{
  display:grid;
  gap:2px;
  min-width:0;
}

.rsg-voter-card__name{
  overflow:hidden;
  color:#294b32;
  font-size:11px;
  font-weight:850;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.rsg-voter-card__meta{
  color:#829087;
  font-size:8px;
  line-height:1.25;
}

.rsg-voter-card__result{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
  flex:0 1 auto;
}

.rsg-vote-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-height:30px;
  padding:5px 8px;
  border:1px solid rgba(60,80,65,.08);
  border-radius:8px;
  font-size:8px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}

.rsg-vote-status__icon{
  display:grid;
  place-items:center;
  flex:0 0 15px;
  width:15px;
  height:15px;
}

.rsg-vote-status__icon svg{
  width:15px;
  height:15px;
}

.rsg-vote-status--for{
  background:#e8f5e7;
  color:#2e713c;
}

.rsg-vote-status--against{
  background:#fff0f2;
  color:#963442;
}

.rsg-vote-status--abstain{
  background:#f5f1e6;
  color:#74623a;
}

.rsg-vote-status--absent{
  background:#edf0f2;
  color:#66737a;
}

.rsg-vote-status--none{
  background:#f5f6f5;
  color:#758078;
}

.rsg-voter-card__time{
  display:inline-flex;
  align-items:center;
  gap:4px;
  color:#89938c;
  font-size:8px;
  font-weight:700;
  white-space:nowrap;
}

.rsg-voter-card__time svg{
  width:13px;
  height:13px;
}

.rsg-voter-attendance-action{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid #dce5da;
  border-radius:9px;
  background:#f6f8f5;
  color:#627068;
  cursor:pointer;
  transition:
    transform .15s ease,
    box-shadow .15s ease,
    background-color .15s ease;
}

.rsg-voter-attendance-action svg{
  width:15px;
  height:15px;
}

.rsg-voter-attendance-action.is-present{
  border-color:#ead4d8;
  background:#fff3f5;
  color:#963442;
}

.rsg-voter-attendance-action.is-absent{
  border-color:#cfe1cb;
  background:#edf7eb;
  color:#2f713d;
}

.rsg-voter-attendance-action:hover,
.rsg-voter-attendance-action:focus{
  transform:translateY(-1px);
  box-shadow:0 5px 13px rgba(30,64,37,.10);
  outline:0;
}

.rsg-voter-attendance-action.is-loading{
  opacity:.45;
  pointer-events:none;
  transform:none;
}

.rsg-voters-widget__empty{
  margin-top:10px;
  padding:14px;
  border:1px dashed #dbe4d8;
  border-radius:9px;
  background:#fafcfa;
  color:#839087;
  font-size:9px;
  text-align:center;
}

/* ===== Widget: Wynik głosowania ===== */

.rsg-result-widget{
  display:grid;
  gap:10px;
  width:100%;
  min-width:0;
}

.rsg-result-state{
  display:flex;
  align-items:center;
  gap:13px;
  width:100%;
  box-sizing:border-box;
  padding:14px 15px;
  border:1px solid rgba(60,80,65,.08);
  border-radius:12px;
}

.rsg-result-state__icon{
  display:grid;
  place-items:center;
  flex:0 0 46px;
  width:46px;
  height:46px;
  border-radius:12px;
  background:rgba(255,255,255,.52);
}

.rsg-result-state__icon svg{
  width:27px;
  height:27px;
}

.rsg-result-state>div{
  display:grid;
  gap:2px;
  min-width:0;
}

.rsg-result-state__eyebrow{
  opacity:.65;
  font-size:7px;
  font-weight:900;
  letter-spacing:.13em;
}

.rsg-result-state__label{
  font-size:16px;
  font-weight:900;
  line-height:1.18;
}

.rsg-result-state small{
  opacity:.72;
  font-size:8px;
  font-weight:700;
}

.rsg-result-state--adopted{
  background:#e7f5e6;
  color:#2c713a;
}

.rsg-result-state--rejected{
  background:#fff0f2;
  color:#963442;
}

.rsg-result-state--open{
  background:#eaf3f8;
  color:#326985;
}

.rsg-result-state--none{
  background:#f3f4f3;
  color:#6f7b73;
}

.rsg-quorum-card{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  box-sizing:border-box;
  padding:12px 14px;
  border:1px solid rgba(60,80,65,.08);
  border-radius:11px;
}

.rsg-quorum-card__icon{
  display:grid;
  place-items:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  border-radius:10px;
  background:rgba(255,255,255,.54);
}

.rsg-quorum-card__icon svg{
  width:20px;
  height:20px;
}

.rsg-quorum-card>div{
  display:grid;
  gap:1px;
}

.rsg-quorum-card span{
  font-size:7px;
  font-weight:900;
  letter-spacing:.12em;
}

.rsg-quorum-card strong{
  font-size:15px;
  font-weight:950;
}

.rsg-quorum-card small{
  opacity:.78;
  font-size:8px;
  font-weight:700;
}

.rsg-quorum-card.is-met{
  background:#e7f5e6;
  color:#2c713a;
}

.rsg-quorum-card.is-missing{
  background:#fff0f2;
  color:#963442;
}

.rsg-result-widget__stats{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}

.rsg-result-stat{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  column-gap:7px;
  row-gap:2px;
  min-width:0;
  box-sizing:border-box;
  padding:10px;
  border:1px solid rgba(60,80,65,.08);
  border-radius:10px;
}

.rsg-result-stat__icon{
  display:grid;
  place-items:center;
  grid-row:1 / span 2;
  width:28px;
  height:28px;
  border-radius:8px;
  background:rgba(255,255,255,.55);
}

.rsg-result-stat__icon svg{
  width:15px;
  height:15px;
}

.rsg-result-stat>span:not(.rsg-result-stat__icon){
  overflow:hidden;
  font-size:7px;
  font-weight:900;
  line-height:1.1;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.rsg-result-stat strong{
  font-size:15px;
  font-weight:950;
  line-height:1;
}

.rsg-result-stat--total{
  background:#f0f3f1;
  color:#526158;
}

.rsg-result-stat--for{
  background:#e8f5e7;
  color:#2e713c;
}

.rsg-result-stat--against{
  background:#fff0f2;
  color:#963442;
}

.rsg-result-stat--abstain{
  background:#f5f1e6;
  color:#74623a;
}

.rsg-result-stat--absent{
  background:#edf0f2;
  color:#66737a;
}

@media(max-width:900px){
  .rsg-result-widget__stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:767px){
  .rsg-voters-widget__head{
    align-items:flex-start;
    flex-direction:column;
  }

  .rsg-voters-widget__message{
    width:100%;
    text-align:left;
  }

  .rsg-voter-card{
    align-items:flex-start;
    flex-wrap:wrap;
  }

  .rsg-voter-card__person{
    flex:1 1 calc(100% - 46px);
  }

  .rsg-voter-card__result{
    justify-content:flex-start;
    width:100%;
    padding-top:7px;
    border-top:1px solid rgba(60,80,65,.06);
  }

  .rsg-voter-attendance-action{
    margin-left:auto;
  }

  .rsg-result-widget__stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:440px){
  .rsg-result-widget__stats{
    grid-template-columns:1fr;
  }
}


/* ================================================================
   0.3.82 — Wynik głosowania: wszystkie elementy w jednym układzie
   ================================================================ */

/*
 * Root jest jedynym gridem. Status Uchwały, Kworum oraz 5 kafli
 * głosowania są równorzędnymi elementami tego samego układu.
 */
.rsg-result-widget{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  align-items:stretch;
  gap:10px;
}

.rsg-result-widget__stats{
  display:contents!important;
}

.rsg-result-state,
.rsg-quorum-card,
.rsg-result-stat{
  width:auto;
  min-width:0;
  min-height:82px;
  height:100%;
  box-sizing:border-box;
}

/*
 * Kompaktujemy duże karty, żeby status Uchwały i Kworum dobrze
 * współpracowały z małymi kaflami w jednym rzędzie.
 */
.rsg-result-state,
.rsg-quorum-card{
  align-items:center;
  padding:10px;
}

.rsg-result-state__icon{
  flex:0 0 42px;
  width:42px;
  height:42px;
}

.rsg-result-state__icon svg{
  width:24px;
  height:24px;
}

.rsg-result-state__label{
  font-size:12px;
}

.rsg-result-state__eyebrow{
  font-size:6px;
}

.rsg-result-state small{
  font-size:7px;
}

.rsg-quorum-card__icon{
  flex:0 0 38px;
  width:38px;
  height:38px;
}

.rsg-quorum-card strong{
  font-size:13px;
}

.rsg-quorum-card small{
  font-size:7px;
}

.rsg-result-stat{
  padding:9px;
}

.rsg-result-stat__icon{
  width:32px;
  height:32px;
}

.rsg-result-stat__icon svg{
  width:16px;
  height:16px;
}

.rsg-result-stat>span:not(.rsg-result-stat__icon){
  font-size:6.5px;
}

.rsg-result-stat strong{
  font-size:14px;
}

/*
 * Stare breakpointy dla .rsg-result-widget__stats są wyłączone przez
 * display:contents. Liczbę kolumn kontroluje teraz responsive control
 * Elementora na samym .rsg-result-widget.
 */


/* ================================================================
   0.3.83 — Wynik głosowania: automatyczna pełna szerokość / wyrównanie
   ================================================================ */

/*
 * Tryb FILL:
 * Liczbę kolumn ustawia responsywna kontrolka Elementora.
 * Wyłączenie dowolnego kafla nie zostawia pustej kolumny.
 */
.rsg-result-widget.rsg-result-widget--fill{
  grid-template-columns:
    repeat(
      min(var(--rsg-result-columns,7),var(--rsg-result-visible-count,7)),
      minmax(0,1fr)
    );
  justify-content:stretch;
}

/*
 * Tryb MANUAL:
 * Elementor steruje szerokością boksów, liczbą kolumn i pozycją
 * całej grupy: lewo / środek / prawo.
 */
.rsg-result-widget.rsg-result-widget--manual{
  grid-template-columns:
    repeat(
      min(var(--rsg-result-columns,7),var(--rsg-result-visible-count,7)),
      minmax(0,var(--rsg-result-box-width,220px))
    );
  justify-content:start;
}

/*
 * Każdy element zawsze wypełnia swoją komórkę.
 */
.rsg-result-widget.rsg-result-widget--fill
> .rsg-result-state,
.rsg-result-widget.rsg-result-widget--fill
> .rsg-quorum-card,
.rsg-result-widget.rsg-result-widget--fill
> .rsg-result-stat{
  width:100%;
  max-width:none;
}

/*
 * Statystyki są display:contents, więc selektor > .rsg-result-stat
 * może zależeć od implementacji przeglądarki. Ten fallback gwarantuje
 * pełną szerokość również dla kafli głosów.
 */
.rsg-result-widget--fill .rsg-result-stat{
  width:100%;
  max-width:none;
}

/*
 * W trybie ręcznym boxy nie są rozciągane przez 1fr.
 */
.rsg-result-widget--manual .rsg-result-state,
.rsg-result-widget--manual .rsg-quorum-card,
.rsg-result-widget--manual .rsg-result-stat{
  width:100%;
  max-width:var(--rsg-result-box-width,220px);
}


/* ================================================================
   0.3.84 — Wynik głosowania: układ elementów wewnątrz kafli
   ================================================================ */

.rsg-result-stat{
  --rsg-stat-icon-order:1;
  --rsg-stat-label-order:2;
  --rsg-stat-value-order:3;
  display:block;
}

.rsg-result-stat__inner{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  width:100%;
  height:100%;
  min-width:0;
}

.rsg-result-stat__icon-wrap{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex:0 0 auto;
  order:var(--rsg-stat-icon-order);
  min-width:0;
}

.rsg-result-stat__icon{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  grid-row:auto!important;
}

.rsg-result-stat__label{
  display:block;
  order:var(--rsg-stat-label-order);
  min-width:0;
  color:inherit;
  font-size:6.5px;
  font-weight:900;
  line-height:1.1;
}

.rsg-result-stat__value{
  display:block;
  order:var(--rsg-stat-value-order);
  min-width:0;
  color:inherit;
  font-size:14px;
  font-weight:950;
  line-height:1;
}

/*
 * Kiedy elementy są w kolumnie, pozwalamy ikonie wypełnić szerokość
 * i rzeczywiście ustawić się lewo / środek / prawo.
 */
.rsg-result-stat__inner[style*="flex-direction: column"],
.rsg-result-stat__inner{
  min-height:0;
}

.rsg-result-stat__icon-wrap{
  width:auto;
}

.rsg-result-stat__inner[style*="flex-direction: column"]
.rsg-result-stat__icon-wrap{
  width:100%;
}

/*
 * Elementor generuje style w stylesheet, a nie inline, dlatego
 * bezpieczny fallback: przy kolumnie szerokość wrappera ikony
 * może być wymuszona przez align-self:stretch.
 */
.rsg-result-stat__inner{
  --rsg-stat-icon-wrap-width:auto;
}

.rsg-result-stat__icon-wrap{
  width:var(--rsg-stat-icon-wrap-width,auto);
}

/*
 * Nie narzucamy już starego CSS Grid na pojedynczym kaflu.
 */
.rsg-result-stat>span:not(.rsg-result-stat__icon){
  overflow:visible;
  white-space:normal;
}

.rsg-result-stat strong{
  line-height:inherit;
}


/* ================================================================
   0.3.85 — Link Radnego + historia jego głosowań
   ================================================================ */

a.rsg-voter-card__name{
  display:inline-block;
  max-width:100%;
  color:inherit;
  text-decoration:none;
  transition:
    color .15s ease,
    opacity .15s ease;
}

a.rsg-voter-card__name:hover,
a.rsg-voter-card__name:focus{
  color:#1d6d35;
  outline:0;
}

/* ===== Historia Radnego ===== */

.rsg-vote-history{
  width:100%;
  min-width:0;
}

.rsg-vote-history__person{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:14px;
  padding:13px;
  border:1px solid #dfe8dc;
  border-radius:11px;
  background:#f7faf6;
}

.rsg-vote-history__avatar{
  display:block;
  flex:0 0 auto;
  width:58px;
  height:58px;
  overflow:hidden;
  border-radius:11px;
  background:#edf3e9;
}

.rsg-vote-history__avatar img{
  display:block;
  width:58px;
  height:58px;
  object-fit:cover;
}

.rsg-vote-history__kicker{
  display:block;
  margin-bottom:3px;
  color:#7d917f;
  font-size:7px;
  font-weight:900;
  letter-spacing:.13em;
}

.rsg-vote-history__person-name{
  margin:0;
  color:#214e2d;
  font-size:20px;
  line-height:1.2;
}

.rsg-vote-history__person small{
  display:block;
  margin-top:3px;
  color:#819087;
  font-size:8px;
  font-weight:700;
}

.rsg-vote-history__list{
  display:grid;
  gap:8px;
}

.rsg-vote-history-card{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  min-width:0;
  box-sizing:border-box;
  padding:11px 12px;
  border:1px solid #dfe8dc;
  border-radius:10px;
  background:#fff;
}

.rsg-vote-history-card__main{
  display:grid;
  gap:3px;
  flex:1 1 auto;
  min-width:0;
}

.rsg-vote-history-card__title{
  color:#294b32;
  font-size:11px;
  font-weight:850;
  line-height:1.28;
  text-decoration:none;
}

a.rsg-vote-history-card__title:hover,
a.rsg-vote-history-card__title:focus{
  color:#1d6d35;
  text-decoration:underline;
  outline:0;
}

.rsg-vote-history-card__meta{
  color:#859188;
  font-size:8px;
  font-weight:700;
  line-height:1.3;
}

.rsg-vote-history-choice{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  flex:0 0 auto;
  min-height:32px;
  padding:6px 9px;
  border-radius:8px;
  font-size:8px;
  line-height:1;
  white-space:nowrap;
}

.rsg-vote-history-choice svg{
  width:15px;
  height:15px;
}

.rsg-vote-history-choice--for{
  background:#e8f5e7;
  color:#2e713c;
}

.rsg-vote-history-choice--against{
  background:#fff0f2;
  color:#963442;
}

.rsg-vote-history-choice--abstain{
  background:#f5f1e6;
  color:#74623a;
}

.rsg-vote-history__empty{
  padding:16px;
  border:1px dashed #dbe5d8;
  border-radius:10px;
  background:#fafcfa;
  color:#7e8c83;
  font-size:9px;
  text-align:center;
}

@media(max-width:767px){
  .rsg-vote-history-card{
    align-items:flex-start;
    flex-direction:column;
  }

  .rsg-vote-history-choice{
    align-self:flex-start;
  }
}


/* ================================================================
   0.3.86 — Głosy Radnych: dynamiczny link / filtry / czas / tła
   ================================================================ */

.rsg-voters-filter{
  --rsg-filter-label-order:1;
  --rsg-filter-spacer-order:2;
  --rsg-filter-count-order:3;
}

.rsg-voters-filter__label{
  order:var(--rsg-filter-label-order);
}

.rsg-voters-filter__spacer{
  order:var(--rsg-filter-spacer-order);
}

.rsg-voters-filter__count{
  order:var(--rsg-filter-count-order);
}

/* Tła kart zależne od oddanego głosu */
.rsg-voter-card.is-for{
  background:#f4fbf3;
}

.rsg-voter-card.is-against{
  background:#fff7f8;
}

.rsg-voter-card.is-abstain{
  background:#fbf9f2;
}

.rsg-voter-card.is-absent{
  background:#d7dbd8;
}

.rsg-voter-card.is-absent .rsg-voter-card__avatar{
  filter:grayscale(1);
  opacity:.68;
}

.rsg-voter-card.is-absent .rsg-voter-card__name,
.rsg-voter-card.is-absent .rsg-voter-card__role{
  color:#555d57;
}

.rsg-voter-card.is-none{
  background:#fff;
}

/* Czas jako stylowalny badge */
.rsg-voter-card__time{
  box-sizing:border-box;
}

.rsg-voter-card__time svg{
  flex:0 0 auto;
  color:inherit;
}

/* Link może pochodzić z dowolnego URL / Dynamic Tag Elementora */
a.rsg-voter-card__name{
  cursor:pointer;
}




/* ================================================================
   0.3.88 — Głosy Radnych: fizyczny separator tekst ↔ liczba
   ================================================================ */

/*
 * Nie korzystamy już z CSS gap.
 * Odstęp jest osobnym elementem flex pomiędzy tekstem i liczbą.
 *
 * flex-basis działa automatycznie:
 * - przy flex-direction:row jako SZEROKOŚĆ,
 * - przy flex-direction:column jako WYSOKOŚĆ.
 */
.rsg-voters-widget .rsg-voters-filter{
  gap:0!important;
  column-gap:0!important;
  row-gap:0!important;
}

.rsg-voters-widget .rsg-voters-filter__spacer{
  display:block!important;
  flex:0 0 6px;
  width:auto;
  height:auto;
  min-width:0;
  min-height:0;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  pointer-events:none;
  order:var(--rsg-filter-spacer-order,2);
}

.rsg-voters-widget .rsg-voters-filter__label{
  order:var(--rsg-filter-label-order,1);
  margin:0!important;
}

.rsg-voters-widget .rsg-voters-filter__count{
  order:var(--rsg-filter-count-order,3);
  margin:0!important;
}

/*
 * Żaden styl motywu dla <i> nie może zmienić separatora.
 */
.rsg-voters-widget i.rsg-voters-filter__spacer::before,
.rsg-voters-widget i.rsg-voters-filter__spacer::after{
  content:none!important;
  display:none!important;
}


/* ================================================================
   0.3.89 — Porządek Sesji Rady: aktualny punkt / transmisja
   ================================================================ */

.rsg-session-agenda-action--live{
  border-color:#d7e4eb;
  background:#eaf1f5;
  color:#315f78;
}

.rsg-session-agenda-action--live:hover,
.rsg-session-agenda-action--live:focus{
  border-color:#c2dbe7;
  background:#d9e7ef;
  color:#27586f;
}

.rsg-session-agenda-action--live.is-active{
  border-color:#91bd96;
  background:#e5f4e5;
  color:#24703a;
  box-shadow:0 0 0 2px rgba(47,113,61,.06);
}

.rsg-session-agenda-action--live.is-active:hover,
.rsg-session-agenda-action--live.is-active:focus{
  background:#d8eed8;
}

.rsg-session-agenda-card,
.rsg-session-agenda-subitem{
  transition:
    background-color .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.rsg-session-agenda-card.is-live-agenda{
  border-color:#91bd96;
  background:#eef8ed;
  box-shadow:0 6px 18px rgba(42,102,54,.08);
}

.rsg-session-agenda-subitem.is-live-agenda{
  border-color:#91bd96;
  background:#e9f6e8;
  box-shadow:inset 3px 0 0 rgba(47,113,61,.28);
}

.rsg-session-agenda-card.is-live-agenda
.rsg-session-agenda-card__title,
.rsg-session-agenda-subitem.is-live-agenda
.rsg-session-agenda-subitem__title{
  color:#245f32;
}

@media (prefers-reduced-motion:reduce){
  .rsg-session-agenda-card,
  .rsg-session-agenda-subitem{
    transition:none!important;
  }
}


/* 0.3.94 — Porządek Sesji Rady: typ Pozycja / Podpozycja w istniejącym popupie */
.rsg-session-agenda-dialog__field[data-rsg-agenda-type-field][hidden],
.rsg-session-agenda-dialog__field[data-rsg-agenda-parent-field][hidden]{
  display:none!important;
}


/* ================================================================
   0.3.96 — Porządek Sesji Rady: wspólny model metabox CPT + Elementor
   ================================================================ */

.rsg-session-agenda-dialog
[data-rsg-agenda-type-field][hidden],
.rsg-session-agenda-dialog
[data-rsg-agenda-parent-field][hidden]{
  display:none!important;
}

.rsg-session-agenda-dialog
[data-rsg-agenda-type-field] select,
.rsg-session-agenda-dialog
[data-rsg-agenda-parent-field] select{
  width:100%;
  box-sizing:border-box;
}


/* ================================================================
   0.3.97 — Porządek Sesji Rady: wybór rodzica podpozycji
   ================================================================ */
.rsg-session-agenda-dialog [data-rsg-agenda-parent-field]{
  opacity:1!important;
  pointer-events:auto!important;
}
.rsg-session-agenda-dialog [data-rsg-agenda-parent-field]:not([hidden]){
  display:grid!important;
}
.rsg-session-agenda-dialog [data-rsg-agenda-form-parent]{
  display:block!important;
  width:100%!important;
  min-height:40px;
  opacity:1!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}


/* ================================================================
   0.3.99 — Lista Sesji: Sesja transmitowana teraz
   ================================================================ */

.rsg-session-action--live{
  border:0;
  cursor:pointer;
}

.rsg-session-action--live.is-active{
  box-shadow:
    0 0 0 2px rgba(47,113,61,.08);
}

.rsg-session-action--live.is-session-closed,
.rsg-session-action--live:disabled{
  opacity:.52;
  cursor:not-allowed;
}

.rsg-session-card.is-live-session{
  --rsg-session-is-live:1;
}


/* 0.4.00 — Logowanie 2FA SMS */
.rsg-login-field--otp input{
  text-align:center;
  font-size:28px;
  font-weight:800;
  letter-spacing:.32em;
  font-variant-numeric:tabular-nums;
  padding-left:calc(11px + .32em)
}
.rsg-two-factor-resend-form{margin-top:12px}
.rsg-login-panel--two-factor .rsg-login-back{margin-top:8px}


/* ================================================================
   0.4.01 — Telefon użytkownika / 2FA
   ================================================================ */

.rsg-user-create-phone-help,
.rsg-user-field-help{
  margin:6px 0 10px;
  font-size:.86em;
  line-height:1.45;
  opacity:.72;
}


/* ================================================================
   0.4.04 — Logowanie 2FA SMS: kompaktowy UX w panelu logowania
   ================================================================ */

.rsg-login-panel--two-factor .rsg-login-panel-inner{
  /*
   * Ekran 2FA ma znacznie mniej pól niż zwykłe logowanie.
   * Zmniejszamy własne odstępy bez naruszania ustawień pozostałych paneli.
   */
  padding-top:clamp(12px,3.2vw,20px);
  padding-bottom:clamp(12px,3.2vw,20px);
}

.rsg-login-panel--two-factor .rsg-login-panel-content{
  width:min(100%,330px);
  margin-inline:auto;
}

.rsg-login-panel--two-factor .rsg-login-title{
  margin:0 0 10px!important;
  font-size:clamp(19px,4vw,25px);
  line-height:1.08;
  text-align:center;
}

.rsg-two-factor-intro{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:0 0 10px;
}

.rsg-two-factor-intro__icon{
  display:grid;
  flex:0 0 28px;
  place-items:center;
  width:28px;
  height:28px;
  margin-top:1px;
  border-radius:50%;
  background:#edf7ea;
  color:#347142;
  font-size:13px;
  font-weight:900;
}

.rsg-login-panel--two-factor .rsg-two-factor-description{
  width:auto;
  margin:0!important;
  color:var(--rsg-front-muted);
  font-size:13px;
  line-height:1.38;
  text-align:left;
}

.rsg-login-panel--two-factor .rsg-two-factor-description p{
  margin:0;
}

.rsg-login-panel--two-factor .rsg-two-factor-notice{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:0;
  margin:0 0 10px!important;
  padding:7px 10px;
  border-radius:9px;
  font-size:12px;
  line-height:1.25;
  text-align:left;
}

.rsg-login-panel--two-factor .rsg-two-factor-notice>span:first-child{
  display:grid;
  flex:0 0 20px;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:50%;
  font-size:11px;
  font-weight:900;
}

.rsg-login-panel--two-factor .rsg-front-notice--success.rsg-two-factor-notice>span:first-child{
  background:rgba(55,122,71,.1);
  color:#347142;
}

.rsg-login-panel--two-factor .rsg-front-notice--warning.rsg-two-factor-notice>span:first-child{
  background:rgba(151,50,65,.08);
  color:#973241;
}

.rsg-login-panel--two-factor .rsg-two-factor-form{
  display:grid;
  gap:9px;
}

.rsg-login-panel--two-factor .rsg-login-field--otp{
  display:grid;
  gap:5px;
}

.rsg-login-panel--two-factor .rsg-login-field--otp label{
  font-size:11px;
  line-height:1.2;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.rsg-login-panel--two-factor .rsg-login-field--otp input{
  min-height:50px;
  padding:7px 12px 7px calc(12px + .22em);
  border-radius:10px;
  text-align:center;
  font-size:24px;
  font-weight:800;
  line-height:1;
  letter-spacing:.22em;
  font-variant-numeric:tabular-nums;
}

.rsg-login-panel--two-factor .rsg-two-factor-form>.rsg-button{
  width:100%;
  min-height:43px;
  margin:0;
  padding:8px 14px;
  border-radius:9px;
  font-size:14px;
  line-height:1.2;
}

.rsg-two-factor-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:5px 14px;
  margin-top:9px;
}

.rsg-two-factor-actions .rsg-two-factor-resend-form{
  margin:0;
}

.rsg-login-panel--two-factor .rsg-two-factor-actions .rsg-login-link--button{
  width:auto;
  max-width:100%;
  margin:0;
  padding:2px 0;
  font-size:11px;
  line-height:1.3;
  text-align:center;
}

.rsg-login-panel--two-factor .rsg-two-factor-actions .rsg-login-back{
  margin:0;
}

@media(max-width:480px){
  .rsg-login-panel--two-factor .rsg-login-panel-inner{
    padding-top:10px;
    padding-bottom:10px;
  }

  .rsg-login-panel--two-factor .rsg-login-panel-content{
    width:min(100%,300px);
  }

  .rsg-login-panel--two-factor .rsg-login-title{
    margin-bottom:8px!important;
    font-size:20px;
  }

  .rsg-two-factor-intro{
    gap:7px;
    margin-bottom:8px;
  }

  .rsg-two-factor-intro__icon{
    flex-basis:24px;
    width:24px;
    height:24px;
  }

  .rsg-login-panel--two-factor .rsg-two-factor-description{
    font-size:12px;
    line-height:1.32;
  }

  .rsg-login-panel--two-factor .rsg-two-factor-notice{
    margin-bottom:8px!important;
    padding:6px 8px;
    font-size:11px;
  }

  .rsg-login-panel--two-factor .rsg-login-field--otp input{
    min-height:46px;
    font-size:21px;
    letter-spacing:.18em;
  }

  .rsg-login-panel--two-factor .rsg-two-factor-form>.rsg-button{
    min-height:40px;
    font-size:13px;
  }

  .rsg-two-factor-actions{
    margin-top:7px;
  }
}


/* ================================================================
   0.4.06 — Rada — Logi i historia
   ================================================================ */

.rsg-audit-history{
  width:100%;
  box-sizing:border-box;
  color:var(--rsg-front-ink);
}

.rsg-audit-history__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
  margin-bottom:16px;
}

.rsg-audit-history__kicker{
  display:block;
  margin-bottom:4px;
  color:var(--rsg-front-green-700);
  font-size:10px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.rsg-audit-history__title{
  margin:0;
  color:var(--rsg-front-green-900);
  font-size:26px;
  line-height:1.16;
}

.rsg-audit-history__description{
  max-width:760px;
  margin:6px 0 0;
  color:var(--rsg-front-muted);
  line-height:1.5;
}

.rsg-audit-history__summary{
  display:grid;
  flex:0 0 auto;
  justify-items:end;
  min-width:84px;
}

.rsg-audit-history__summary strong{
  color:var(--rsg-front-green-700);
  font-size:27px;
  line-height:1;
}

.rsg-audit-history__summary span{
  margin-top:4px;
  color:var(--rsg-front-muted);
  font-size:11px;
}

.rsg-audit-filterbar{
  display:grid;
  gap:11px;
  margin-bottom:14px;
  padding:13px;
  border:1px solid var(--rsg-front-line);
  border-radius:14px;
  background:#f7faf5;
}

.rsg-audit-filterbar__fields{
  display:grid;
  grid-template-columns:repeat(6,minmax(120px,1fr));
  gap:10px;
}

.rsg-audit-filter{
  display:grid;
  align-content:end;
  gap:5px;
  min-width:0;
}

.rsg-audit-filter>span{
  color:#526157;
  font-size:10px;
  font-weight:900;
  letter-spacing:.035em;
  text-transform:uppercase;
}

.rsg-audit-filter input,
.rsg-audit-filter select{
  width:100%;
  min-width:0;
  min-height:38px;
  box-sizing:border-box;
  padding:7px 9px;
  border:1px solid var(--rsg-front-line);
  border-radius:8px;
  background:#fff;
  color:var(--rsg-front-ink);
  font:inherit;
  font-size:12px;
}

.rsg-audit-filter input:focus,
.rsg-audit-filter select:focus{
  outline:2px solid rgba(65,122,71,.14);
  border-color:var(--rsg-front-green-700);
}

.rsg-audit-filter--search{
  grid-column:span 2;
}

.rsg-audit-filterbar__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}

.rsg-audit-filterbar__submit,
.rsg-audit-filterbar__clear{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:7px 13px;
  border:0;
  border-radius:8px;
  font-size:12px;
  font-weight:800;
  line-height:1.2;
  text-decoration:none!important;
  cursor:pointer;
}

.rsg-audit-filterbar__submit{
  background:var(--rsg-front-red-800);
  color:#fff;
}

.rsg-audit-filterbar__submit:hover{
  background:var(--rsg-front-red-900);
}

.rsg-audit-filterbar__clear{
  border:1px solid #d7e2d4;
  background:#fff;
  color:var(--rsg-front-green-900);
}

.rsg-audit-filterbar__clear:hover{
  border-color:#aebfaa;
  background:#f2f7f0;
}

.rsg-audit-history__list{
  display:grid;
  gap:10px;
}

.rsg-audit-card{
  overflow:hidden;
  border:1px solid var(--rsg-front-line);
  border-radius:14px;
  background:#fff;
  transition:border-color .16s ease,box-shadow .16s ease;
}

.rsg-audit-card:hover{
  border-color:#b8cab3;
  box-shadow:0 5px 18px rgba(38,72,45,.055);
}

.rsg-audit-card__top{
  display:grid;
  grid-template-columns:108px minmax(0,1fr);
  align-items:center;
  gap:13px;
  padding:11px 14px 0;
}

.rsg-audit-card__date{
  display:grid;
  gap:1px;
  color:var(--rsg-front-muted);
}

.rsg-audit-card__date strong{
  color:#48594d;
  font-size:12px;
}

.rsg-audit-card__date span{
  font-size:10px;
  font-variant-numeric:tabular-nums;
}

.rsg-audit-card__event{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px 10px;
  min-width:0;
}

.rsg-audit-card__event>strong{
  min-width:0;
  color:#3e5344;
  font-size:12px;
  overflow-wrap:anywhere;
}

.rsg-audit-card__category{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 7px;
  border-radius:999px;
  background:#edf5e9;
  color:#3d7547;
  font-size:9px;
  font-weight:900;
  letter-spacing:.035em;
  text-transform:uppercase;
  white-space:nowrap;
}

.rsg-audit-card--authentication .rsg-audit-card__category{
  background:#edf4f8;
  color:#456b80;
}

.rsg-audit-card--users .rsg-audit-card__category{
  background:#f0f4ea;
  color:#567342;
}

.rsg-audit-card--permissions .rsg-audit-card__category{
  background:#f5eff8;
  color:#70547c;
}

.rsg-audit-card--sessions .rsg-audit-card__category{
  background:#edf6ea;
  color:#397847;
}

.rsg-audit-card--attendance .rsg-audit-card__category{
  background:#f8f3e9;
  color:#806b36;
}

.rsg-audit-card--resolutions .rsg-audit-card__category{
  background:#eef1f6;
  color:#52647d;
}

.rsg-audit-card--voting .rsg-audit-card__category{
  background:#fff0f2;
  color:#8e2d3a;
}

.rsg-audit-card--imports .rsg-audit-card__category{
  background:#f4f2ed;
  color:#706658;
}

.rsg-audit-card__body{
  display:grid;
  gap:7px;
  padding:9px 14px 12px;
}

.rsg-audit-card__message{
  margin:0;
  color:var(--rsg-front-ink);
  font-size:14px;
  font-weight:700;
  line-height:1.42;
}

.rsg-audit-card__meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px 14px;
  color:var(--rsg-front-muted);
  font-size:10px;
}

.rsg-audit-card__meta b{
  color:#526157;
  font-weight:800;
}

.rsg-audit-card__details{
  border-top:1px solid #edf1eb;
  background:#fafcf9;
}

.rsg-audit-card__details>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px 14px;
  color:#4f6e56;
  font-size:11px;
  font-weight:800;
  list-style:none;
  cursor:pointer;
  user-select:none;
}

.rsg-audit-card__details>summary::-webkit-details-marker{
  display:none;
}

.rsg-audit-card__details-arrow{
  transition:transform .16s ease;
}

.rsg-audit-card__details[open] .rsg-audit-card__details-arrow{
  transform:rotate(180deg);
}

.rsg-audit-card__details-content{
  display:grid;
  gap:8px;
  padding:0 14px 13px;
}

.rsg-audit-detail-line{
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  gap:10px;
  color:#6e7c72;
  font-size:10px;
}

.rsg-audit-detail-line strong,
.rsg-audit-user-agent>strong,
.rsg-audit-context__title{
  color:#526157;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.035em;
}

.rsg-audit-detail-line code{
  justify-self:start;
  padding:2px 5px;
  border-radius:5px;
  background:#eef2ed;
  color:#59665d;
  font-size:10px;
}

.rsg-audit-context{
  display:grid;
  gap:6px;
  padding-top:4px;
}

.rsg-audit-context__list{
  display:grid;
  gap:5px;
  margin:0;
}

.rsg-audit-context__list>div{
  display:grid;
  grid-template-columns:minmax(110px,.3fr) minmax(0,1fr);
  gap:10px;
  padding:5px 0;
  border-bottom:1px solid #edf1eb;
}

.rsg-audit-context__list>div:last-child{
  border-bottom:0;
}

.rsg-audit-context__list dt{
  color:#77847b;
  font-size:10px;
  font-weight:700;
}

.rsg-audit-context__list dd{
  min-width:0;
  margin:0;
  color:#536159;
  font-size:10px;
  overflow-wrap:anywhere;
}

.rsg-audit-context__list .rsg-audit-context__list{
  margin-top:4px;
}

.rsg-audit-user-agent{
  display:grid;
  gap:4px;
  padding-top:5px;
  border-top:1px solid #edf1eb;
}

.rsg-audit-user-agent span{
  color:#7a857d;
  font-size:9px;
  line-height:1.4;
  overflow-wrap:anywhere;
}

.rsg-audit-history__empty{
  display:grid;
  place-items:center;
  gap:4px;
  min-height:130px;
  padding:20px;
  border:1px dashed #bfd0bb;
  border-radius:14px;
  background:#f9fcf8;
  color:var(--rsg-front-muted);
  text-align:center;
}

.rsg-audit-history__empty-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  margin-bottom:2px;
  border-radius:50%;
  background:#eaf3e6;
  color:#598162;
  font-size:18px;
}

.rsg-audit-history__empty strong{
  color:#47614d;
}

.rsg-audit-history__empty span:last-child{
  font-size:11px;
}

.rsg-audit-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:5px;
  margin-top:15px;
}

.rsg-audit-pagination a,
.rsg-audit-pagination>span{
  display:grid;
  place-items:center;
  min-width:34px;
  height:34px;
  box-sizing:border-box;
  padding:0 8px;
  border:1px solid #d6e1d3;
  border-radius:8px;
  background:#fff;
  color:var(--rsg-front-green-700);
  font-size:11px;
  font-weight:800;
  line-height:1;
  text-decoration:none!important;
}

.rsg-audit-pagination a:hover{
  border-color:#94ad91;
  background:#f1f7ef;
}

.rsg-audit-pagination .is-current{
  border-color:var(--rsg-front-green-700);
  background:var(--rsg-front-green-700);
  color:#fff;
}

.rsg-audit-pagination__dots{
  min-width:22px!important;
  border:0!important;
  background:transparent!important;
  color:#88928b!important;
}

@media(max-width:1180px){
  .rsg-audit-filterbar__fields{
    grid-template-columns:repeat(3,minmax(140px,1fr));
  }
}

@media(max-width:760px){
  .rsg-audit-history__head{
    align-items:flex-start;
  }

  .rsg-audit-history__summary{
    min-width:62px;
  }

  .rsg-audit-filterbar__fields{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .rsg-audit-filter--search{
    grid-column:1/-1;
  }

  .rsg-audit-card__top{
    grid-template-columns:82px minmax(0,1fr);
  }
}

@media(max-width:520px){
  .rsg-audit-history__head{
    flex-direction:column;
  }

  .rsg-audit-history__summary{
    justify-items:start;
  }

  .rsg-audit-filterbar__fields{
    grid-template-columns:1fr;
  }

  .rsg-audit-filter--search{
    grid-column:auto;
  }

  .rsg-audit-filterbar__actions{
    align-items:stretch;
    flex-direction:column;
  }

  .rsg-audit-filterbar__submit,
  .rsg-audit-filterbar__clear{
    width:100%;
  }

  .rsg-audit-card__top{
    grid-template-columns:1fr;
    gap:7px;
  }

  .rsg-audit-card__date{
    display:flex;
    gap:6px;
  }

  .rsg-audit-card__event{
    align-items:flex-start;
    flex-direction:column;
  }

  .rsg-audit-detail-line,
  .rsg-audit-context__list>div{
    grid-template-columns:1fr;
    gap:3px;
  }
}


/* ================================================================
   0.4.07 — Rada — Głosowania Radnego
   ================================================================ */

.rsg-councilor-votes{
  width:100%;
  box-sizing:border-box;
  color:var(--rsg-front-ink);
}

.rsg-councilor-votes__person{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
  padding:14px 16px;
  border:1px solid var(--rsg-front-line);
  border-radius:14px;
  background:#f7faf6;
}

.rsg-councilor-votes__avatar{
  display:block;
  flex:0 0 auto;
  width:58px;
  height:58px;
}

.rsg-councilor-votes__avatar img{
  display:block;
  width:58px;
  height:58px;
  object-fit:cover;
  border-radius:50%;
}

.rsg-councilor-votes__person-main{
  display:grid;
  gap:2px;
  min-width:0;
}

.rsg-councilor-votes__kicker{
  color:var(--rsg-front-green-700);
  font-size:9px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.rsg-councilor-votes__name{
  margin:0;
  color:var(--rsg-front-green-900);
  font-size:21px;
  line-height:1.2;
}

.rsg-councilor-votes__person-meta{
  color:var(--rsg-front-muted);
  font-size:10px;
}

.rsg-councilor-votes__filters{
  display:grid;
  gap:10px;
  margin-bottom:13px;
  padding:12px;
  border:1px solid var(--rsg-front-line);
  border-radius:14px;
  background:#f7faf5;
}

.rsg-councilor-votes__choice-filters{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}

.rsg-councilor-votes__choice-filter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:5px 10px;
  border:1px solid #d7e2d4;
  border-radius:999px;
  background:#fff;
  color:#57665c;
  font-size:10px;
  font-weight:900;
  line-height:1;
  text-decoration:none!important;
  transition:border-color .14s ease,background .14s ease,color .14s ease;
}

.rsg-councilor-votes__choice-filter:hover{
  border-color:#aebfaa;
  background:#f2f7f0;
}

.rsg-councilor-votes__choice-filter.is-active{
  border-color:#417a47;
  background:#417a47;
  color:#fff;
}

.rsg-councilor-votes__choice-filter.is-for.is-active{
  border-color:#397847;
  background:#397847;
}

.rsg-councilor-votes__choice-filter.is-against.is-active{
  border-color:#8f2532;
  background:#8f2532;
}

.rsg-councilor-votes__choice-filter.is-abstain.is-active{
  border-color:#75643e;
  background:#75643e;
}

.rsg-councilor-votes__filter-form{
  display:grid;
  gap:9px;
}

.rsg-councilor-votes__filter-fields{
  display:grid;
  grid-template-columns:repeat(4,minmax(130px,1fr));
  gap:9px;
}

.rsg-councilor-votes__filter-fields label{
  display:grid;
  align-content:end;
  gap:5px;
  min-width:0;
}

.rsg-councilor-votes__filter-fields label>span{
  color:#526157;
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.rsg-councilor-votes__filter-fields input,
.rsg-councilor-votes__filter-fields select{
  width:100%;
  min-width:0;
  min-height:37px;
  box-sizing:border-box;
  padding:6px 8px;
  border:1px solid #cad8c6;
  border-radius:8px;
  background:#fff;
  color:var(--rsg-front-ink);
  font:inherit;
  font-size:11px;
}

.rsg-councilor-votes__resolution-filter{
  grid-column:span 1;
}

.rsg-councilor-votes__filter-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
}

.rsg-councilor-votes__filter-submit,
.rsg-councilor-votes__filter-clear{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:6px 12px;
  border-radius:8px;
  font-size:11px;
  font-weight:800;
  line-height:1.2;
  text-decoration:none!important;
  cursor:pointer;
}

.rsg-councilor-votes__filter-submit{
  border:0;
  background:var(--rsg-front-red-800);
  color:#fff;
}

.rsg-councilor-votes__filter-submit:hover{
  background:var(--rsg-front-red-900);
}

.rsg-councilor-votes__filter-clear{
  border:1px solid #d7e2d4;
  background:#fff;
  color:var(--rsg-front-green-900);
}

.rsg-councilor-votes__list{
  display:grid;
  gap:9px;
}

.rsg-councilor-vote-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:12px 14px;
  border:1px solid var(--rsg-front-line);
  border-radius:14px;
  background:#fff;
  transition:border-color .14s ease,box-shadow .14s ease;
}

.rsg-councilor-vote-card:hover{
  border-color:#b8cab3;
  box-shadow:0 5px 18px rgba(38,72,45,.055);
}

.rsg-councilor-vote-card__content{
  display:grid;
  gap:5px;
  min-width:0;
}

.rsg-councilor-vote-card__title{
  color:#294b32;
  font-size:14px;
  font-weight:800;
  line-height:1.35;
  text-decoration:none!important;
  overflow-wrap:anywhere;
}

a.rsg-councilor-vote-card__title:hover{
  color:#397847;
}

.rsg-councilor-vote-card__meta{
  color:var(--rsg-front-muted);
  font-size:10px;
  line-height:1.35;
}

.rsg-councilor-vote-choice{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:104px;
  min-height:36px;
  padding:6px 10px;
  border-radius:9px;
  font-size:10px;
  white-space:nowrap;
}

.rsg-councilor-vote-choice svg{
  width:16px;
  height:16px;
}

.rsg-councilor-vote-choice--for{
  background:#e8f5e7;
  color:#2e713c;
}

.rsg-councilor-vote-choice--against{
  background:#fff0f2;
  color:#963442;
}

.rsg-councilor-vote-choice--abstain{
  background:#f5f1e6;
  color:#74623a;
}

.rsg-councilor-votes__empty{
  display:grid;
  place-items:center;
  gap:4px;
  min-height:125px;
  padding:20px;
  border:1px dashed #bfd0bb;
  border-radius:14px;
  background:#f9fcf8;
  color:var(--rsg-front-muted);
  text-align:center;
}

.rsg-councilor-votes__empty>span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#eaf3e6;
  color:#598162;
  font-weight:900;
}

.rsg-councilor-votes__empty strong{
  color:#47614d;
}

.rsg-councilor-votes__empty small{
  font-size:10px;
}

.rsg-councilor-votes__pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:5px;
  margin-top:14px;
}

.rsg-councilor-votes__pagination a,
.rsg-councilor-votes__pagination>span{
  display:grid;
  place-items:center;
  min-width:33px;
  height:33px;
  box-sizing:border-box;
  padding:0 8px;
  border:1px solid #d6e1d3;
  border-radius:8px;
  background:#fff;
  color:var(--rsg-front-green-700);
  font-size:10px;
  font-weight:800;
  line-height:1;
  text-decoration:none!important;
}

.rsg-councilor-votes__pagination a:hover{
  border-color:#94ad91;
  background:#f1f7ef;
}

.rsg-councilor-votes__pagination .is-current{
  border-color:#417a47;
  background:#417a47;
  color:#fff;
}

.rsg-councilor-votes__pagination-dots{
  min-width:20px!important;
  border:0!important;
  background:transparent!important;
  color:#879188!important;
}

@media(max-width:900px){
  .rsg-councilor-votes__filter-fields{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:560px){
  .rsg-councilor-votes__person{
    align-items:flex-start;
  }

  .rsg-councilor-votes__filter-fields{
    grid-template-columns:1fr;
  }

  .rsg-councilor-votes__filter-actions{
    align-items:stretch;
    flex-direction:column;
  }

  .rsg-councilor-votes__filter-submit,
  .rsg-councilor-votes__filter-clear{
    width:100%;
  }

  .rsg-councilor-vote-card{
    grid-template-columns:1fr;
    align-items:start;
  }

  .rsg-councilor-vote-choice{
    justify-self:start;
    min-width:0;
  }
}


/* ================================================================
   0.4.11 — Rada — Transmisja / teraz
   ================================================================ */

.rsg-transmission-now{
  position:relative;
  overflow:hidden;
  width:100%;
  box-sizing:border-box;
  border:1px solid var(--rsg-front-line);
  border-radius:18px;
  background:#fff;
}

.rsg-transmission-now__session{
  display:flex;
  align-items:center;
  gap:13px;
}

.rsg-transmission-now__live{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
  min-height:28px;
  padding:5px 9px;
  border-radius:999px;
  background:#8f2532;
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.07em;
}

.rsg-transmission-now__live-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 0 4px rgba(255,255,255,.16);
  animation:rsg-transmission-pulse 1.5s ease-in-out infinite;
}

@keyframes rsg-transmission-pulse{
  0%,100%{
    opacity:.55;
    transform:scale(.85);
  }
  50%{
    opacity:1;
    transform:scale(1);
  }
}

.rsg-transmission-now__session-main{
  display:grid;
  gap:3px;
  min-width:0;
}

.rsg-transmission-now__session-title{
  color:#234f2e;
  font-size:20px;
  font-weight:850;
  line-height:1.25;
  text-decoration:none!important;
  overflow-wrap:anywhere;
}

a.rsg-transmission-now__session-title:hover{
  color:#397847;
}

.rsg-transmission-now__session-meta{
  color:var(--rsg-front-muted);
  font-size:10px;
}

.rsg-transmission-now__flow{
  display:grid;
  margin-top:13px;
}

.rsg-transmission-now__flow-line{
  width:2px;
  height:12px;
  margin-left:20px;
  background:linear-gradient(
    to bottom,
    #c2d6be,
    #e4ece2
  );
}

.rsg-transmission-now__agenda,
.rsg-transmission-now__resolution{
  display:grid;
  gap:7px;
  padding:13px 14px;
  border:1px solid #dce7d9;
  border-radius:13px;
}

.rsg-transmission-now__agenda{
  background:#f3f8f1;
}

.rsg-transmission-now__resolution{
  border-color:#ead7da;
  background:#fff7f8;
}

.rsg-transmission-now__section-label{
  color:#7a887e;
  font-size:9px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.rsg-transmission-now__agenda-parent{
  color:#728177;
  font-size:10px;
  line-height:1.35;
}

.rsg-transmission-now__agenda-main{
  display:flex;
  align-items:flex-start;
  gap:9px;
}

.rsg-transmission-now__agenda-number{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  min-width:28px;
  min-height:28px;
  padding:3px 6px;
  border-radius:8px;
  background:#dfeeda;
  color:#3e7048;
  font-size:10px;
  font-weight:900;
}

.rsg-transmission-now__agenda-title{
  color:#355d3d;
  font-size:14px;
  line-height:1.4;
}

.rsg-transmission-now__resolution-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

.rsg-transmission-now__vote-open{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:4px 7px;
  border-radius:999px;
  background:#f5e5e8;
  color:#8b303c;
  font-size:9px;
  font-weight:900;
}

.rsg-transmission-now__vote-open>span{
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
}

.rsg-transmission-now__resolution-title{
  color:#6f2630;
  font-size:14px;
  font-weight:850;
  line-height:1.4;
  text-decoration:none!important;
  overflow-wrap:anywhere;
}

a.rsg-transmission-now__resolution-title:hover{
  color:#8f2532;
}

.rsg-transmission-now__resolution-meta{
  color:#8b7074;
  font-size:10px;
}

.rsg-transmission-now__waiting{
  display:flex;
  align-items:center;
  gap:8px;
  padding:11px 13px;
  border:1px dashed #c7d8c3;
  border-radius:11px;
  background:#f8fbf7;
  color:#68776c;
  font-size:11px;
}

.rsg-transmission-now__waiting>span:first-child{
  color:#6e9a73;
  font-size:8px;
}

.rsg-transmission-now__empty{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:74px;
  padding:12px;
  border-radius:12px;
  background:#f7faf6;
  color:#68756b;
  font-size:12px;
  text-align:center;
}

.rsg-transmission-now__empty-icon{
  color:#a0aea3;
  font-size:8px;
}

@media(max-width:560px){
  .rsg-transmission-now__session{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }

  .rsg-transmission-now__session-title{
    font-size:17px;
  }

  .rsg-transmission-now__resolution-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .rsg-transmission-now__agenda-main{
    gap:7px;
  }
}

/* ================================================================
   0.4.12 — Rada — Widoczność: twardy fallback dla nested/container
   ================================================================ */
.rsg-visibility-denied{
  display:none!important;
  visibility:hidden!important;
}


/* ================================================================
   0.4.13 — Rada — Sterowanie głosowaniem ONLINE
   ================================================================ */

.rsg-online-control{
  width:100%;
  box-sizing:border-box;
  padding:16px;
  border:1px solid var(--rsg-front-line);
  border-radius:16px;
  background:#fff;
}

.rsg-online-control__top{
  margin-bottom:13px;
}

.rsg-online-control__kicker{
  display:block;
  margin-bottom:3px;
  color:var(--rsg-front-green-700);
  font-size:9px;
  font-weight:900;
  letter-spacing:.09em;
}

.rsg-online-control__heading{
  margin:0;
  color:#254e2e;
  font-size:23px;
  line-height:1.2;
}

.rsg-online-control__session{
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:11px;
  padding:10px 12px;
  border:1px solid #cfe0cb;
  border-radius:11px;
  background:#f5faf3;
}

.rsg-online-control__live{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
  padding:5px 8px;
  border-radius:999px;
  background:#397847;
  color:#fff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.05em;
}

.rsg-online-control__live i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 0 3px rgba(255,255,255,.16);
}

.rsg-online-control__session-main{
  display:grid;
  gap:2px;
  min-width:0;
}

.rsg-online-control__session-main strong{
  color:#31563a;
  font-size:13px;
}

.rsg-online-control__session-main span{
  color:#7b887f;
  font-size:10px;
}

.rsg-online-control__list{
  display:grid;
  gap:10px;
}

.rsg-online-resolution-card{
  overflow:hidden;
  border:1px solid #dce6d9;
  border-radius:13px;
  background:#fff;
  transition:border-color .15s ease,box-shadow .15s ease;
}

.rsg-online-resolution-card.is-online{
  border-color:#7eaa84;
  box-shadow:0 0 0 2px rgba(57,120,71,.06);
}

.rsg-online-resolution-card__head{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:12px 13px;
}

.rsg-online-resolution-card__number{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:9px;
  background:#edf5e9;
  color:#477551;
  font-size:10px;
  font-weight:900;
}

.rsg-online-resolution-card__title-wrap{
  display:grid;
  gap:2px;
  min-width:0;
}

.rsg-online-resolution-card__eyebrow{
  color:#88938b;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}

.rsg-online-resolution-card__title-wrap h3{
  margin:0;
  color:#284b30;
  font-size:13px;
  line-height:1.35;
}

.rsg-online-resolution-card__state{
  color:#77837a;
  font-size:9px;
}

.rsg-online-resolution-card__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:5px;
}

.rsg-online-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-height:32px;
  padding:5px 8px;
  border:1px solid #d5dfd2;
  border-radius:8px;
  background:#fff;
  color:#5f6e63;
  font-size:8px;
  font-weight:900;
  letter-spacing:.02em;
  cursor:pointer;
  transition:.14s ease;
}

.rsg-online-action svg{
  width:15px;
  height:15px;
}

.rsg-online-action:hover:not(:disabled){
  border-color:#a8bfa5;
  background:#f3f8f1;
}

.rsg-online-action:disabled{
  opacity:.36;
  cursor:not-allowed;
}

.rsg-online-action.is-loading{
  opacity:.55;
  pointer-events:none;
}

.rsg-online-action--online.is-active{
  border-color:#397847;
  background:#397847;
  color:#fff;
}

.rsg-online-action--close{
  border-color:#e4c9cd;
  background:#fff6f7;
  color:#8e303d;
}

.rsg-online-action--adopted.is-active,
.rsg-online-action--adopted:hover:not(:disabled){
  border-color:#76a47d;
  background:#e9f5e7;
  color:#2f713c;
}

.rsg-online-action--rejected.is-active,
.rsg-online-action--rejected:hover:not(:disabled){
  border-color:#d7a8af;
  background:#fff0f2;
  color:#943543;
}

.rsg-online-quorum{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:10px 13px;
  border-top:1px solid #e8eee6;
  border-bottom:1px solid #e8eee6;
}

.rsg-online-quorum.is-met{
  background:#f1f8ef;
  color:#356c3e;
}

.rsg-online-quorum.is-missing{
  background:#fff4f5;
  color:#8c3743;
}

.rsg-online-quorum__icon{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:rgba(255,255,255,.75);
}

.rsg-online-quorum__icon svg{
  width:15px;
  height:15px;
}

.rsg-online-quorum>div:nth-child(2){
  display:grid;
  gap:2px;
}

.rsg-online-quorum strong{
  font-size:10px;
  letter-spacing:.04em;
}

.rsg-online-quorum span{
  font-size:9px;
}

.rsg-online-quorum__votes{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.rsg-online-quorum__votes span{
  padding:3px 6px;
  border-radius:6px;
  background:rgba(255,255,255,.66);
}

.rsg-online-voters{
  padding:11px 13px 13px;
  background:#fbfdfb;
}

.rsg-online-voters__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:7px;
  color:#68786c;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
}

.rsg-online-voters__head strong{
  display:grid;
  place-items:center;
  min-width:24px;
  height:24px;
  border-radius:999px;
  background:#eef4ec;
  color:#4c7254;
}

.rsg-online-voters__counts{
  display:flex;
  align-items:center;
  gap:6px;
}

.rsg-online-voters__count{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:24px;
}

.rsg-online-voters__count small{
  color:#879087;
  font-size:7px;
  font-weight:900;
  letter-spacing:.045em;
}

.rsg-online-voters__count--absent{
  padding:3px 7px;
  border-radius:999px;
  background:#d5d9d6;
}

.rsg-online-voters__count--absent small{
  color:#656d67;
}

.rsg-online-voters__count--absent b{
  display:grid;
  place-items:center;
  min-width:18px;
  height:18px;
  border-radius:999px;
  background:#6d756f;
  color:#fff;
  font-size:8px;
  font-weight:900;
}

.rsg-online-voters__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}

.rsg-online-voter{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-height:50px;
  padding:7px 9px;
  border:1px solid transparent;
  border-radius:10px;
  transition:.18s ease;
}

.rsg-online-voter__avatar{
  display:block;
  width:32px;
  height:32px;
  object-fit:cover;
  border-radius:50%;
  filter:saturate(.82);
}

.rsg-online-voter__avatar.is-empty{
  background:#e5e9e5;
}

.rsg-online-voter__identity{
  display:grid;
  gap:1px;
  min-width:0;
}

.rsg-online-voter__identity strong{
  color:#586259;
  font-size:10px;
  line-height:1.2;
}

.rsg-online-voter__identity span{
  color:#8a928c;
  font-size:8px;
}

.rsg-online-voter__status{
  justify-self:end;
  padding:4px 6px;
  border-radius:999px;
  color:#707a72;
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
}

/* Brak głosu — celowo wyszarzony i półprzezroczysty. */
.rsg-online-voter.is-none{
  border-color:#e8ece8;
  background:#f6f7f6;
  opacity:.46;
}

.rsg-online-voter.is-none .rsg-online-voter__avatar{
  filter:grayscale(1);
}

.rsg-online-voter.is-none .rsg-online-voter__status{
  background:#e8ebe8;
  color:#7e8580;
}

.rsg-online-voter.is-for{
  border-color:#cfe4cc;
  background:#eef8ec;
}
.rsg-online-voter.is-for .rsg-online-voter__identity strong,
.rsg-online-voter.is-for .rsg-online-voter__status{
  color:#2f713c;
}
.rsg-online-voter.is-for .rsg-online-voter__status{
  background:#dcefd8;
}

.rsg-online-voter.is-against{
  border-color:#ecd1d5;
  background:#fff3f4;
}
.rsg-online-voter.is-against .rsg-online-voter__identity strong,
.rsg-online-voter.is-against .rsg-online-voter__status{
  color:#963745;
}
.rsg-online-voter.is-against .rsg-online-voter__status{
  background:#f7dfe2;
}

.rsg-online-voter.is-abstain{
  border-color:#e6dfc8;
  background:#faf7ed;
}
.rsg-online-voter.is-abstain .rsg-online-voter__identity strong,
.rsg-online-voter.is-abstain .rsg-online-voter__status{
  color:#79673c;
}
.rsg-online-voter.is-abstain .rsg-online-voter__status{
  background:#eee6cf;
}

.rsg-online-voter.is-absent{
  border-color:#9fa6a1;
  background:#c8ccc9;
  opacity:1;
}
.rsg-online-voter.is-absent .rsg-online-voter__avatar{
  filter:grayscale(1);
  opacity:.68;
}
.rsg-online-voter.is-absent .rsg-online-voter__identity strong{
  color:#4f5651;
}
.rsg-online-voter.is-absent .rsg-online-voter__identity span{
  color:#666e68;
}
.rsg-online-voter.is-absent .rsg-online-voter__status{
  background:#6d756f;
  color:#fff;
}

.rsg-online-control__empty{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:82px;
  padding:14px;
  border:1px dashed #c7d6c3;
  border-radius:12px;
  background:#f8fbf7;
  color:#68756b;
}

.rsg-online-control__empty.is-compact{
  min-height:58px;
}

.rsg-online-control__empty-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#a8b3aa;
}

.rsg-online-control__empty>div{
  display:grid;
  gap:2px;
}

.rsg-online-control__empty strong{
  color:#4d6152;
  font-size:11px;
}

.rsg-online-control__empty span{
  font-size:10px;
}

.rsg-online-control__message{
  margin-top:10px;
  padding:8px 10px;
  border-radius:8px;
  font-size:10px;
  font-weight:700;
}

.rsg-online-control__message.is-success{
  background:#edf7ea;
  color:#367140;
}

.rsg-online-control__message.is-error{
  background:#fff0f2;
  color:#923441;
}

.rsg-transmission-now__vote-open.is-closed{
  background:#efefef;
  color:#6f7771;
}

@media(max-width:900px){
  .rsg-online-resolution-card__head{
    grid-template-columns:34px minmax(0,1fr);
  }

  .rsg-online-resolution-card__actions{
    grid-column:1/-1;
    justify-content:flex-start;
    padding-left:45px;
  }

  .rsg-online-voters__grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:560px){
  .rsg-online-control{
    padding:11px;
  }

  .rsg-online-control__session{
    align-items:flex-start;
    flex-direction:column;
  }

  .rsg-online-resolution-card__head{
    grid-template-columns:1fr;
  }

  .rsg-online-resolution-card__number{
    width:26px;
    height:26px;
  }

  .rsg-online-resolution-card__actions{
    grid-column:auto;
    padding-left:0;
  }

  .rsg-online-action span{
    display:none;
  }

  .rsg-online-action{
    width:34px;
    padding:5px;
  }

  .rsg-online-quorum{
    grid-template-columns:auto minmax(0,1fr);
  }

  .rsg-online-quorum__votes{
    grid-column:1/-1;
  }

  .rsg-online-voter{
    grid-template-columns:30px minmax(0,1fr) auto;
  }

  .rsg-online-voter__avatar{
    width:28px;
    height:28px;
  }
}


/* ================================================================
   0.4.14 — panel ONLINE: pełna lista Uchwał aktywnej Sesji
   ================================================================ */
.rsg-online-control__session-count{
  margin-left:auto;
  flex:0 0 auto;
  padding:5px 8px;
  border:1px solid #d8e4d5;
  border-radius:999px;
  background:#f5f9f3;
  color:#617067;
  font-size:10px;
  white-space:nowrap;
}
.rsg-online-control__session-count strong{
  color:#397847;
}
@media(max-width:640px){
  .rsg-online-control__session-count{
    margin-left:0;
  }
}


/* ================================================================
   0.4.15 — Panel ONLINE: UX zgodny z Sesjami/Uchwałami
   ================================================================ */

/* Ikony sterowania — dokładnie ten sam model UX co lista Uchwał. */
.rsg-online-action{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 40px;
  width:40px;
  min-width:40px;
  height:40px;
  min-height:40px;
  padding:0;
  margin:0;
  border:1px solid transparent;
  border-radius:9px;
  line-height:0;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  transition:
    background-color .15s ease,
    border-color .15s ease,
    color .15s ease,
    box-shadow .15s ease,
    transform .15s ease;
}

.rsg-online-action svg{
  display:block;
  width:18px;
  height:18px;
  margin:0;
}

.rsg-online-action:hover:not(:disabled),
.rsg-online-action:focus:not(:disabled){
  transform:translateY(-1px);
  outline:0;
}

.rsg-online-action.is-loading{
  opacity:.55;
  pointer-events:none;
  cursor:wait;
  transform:none;
}

.rsg-online-action:disabled{
  opacity:.34;
  cursor:not-allowed;
  transform:none;
}

.rsg-online-action.is-active{
  box-shadow:
    inset 0 0 0 2px currentColor,
    0 3px 9px rgba(39,79,48,.08);
}

/* Screen-reader label — na ekranie zostaje nasza ikona, jak w pozostałych listach. */
.rsg-online-action__label{
  position:absolute!important;
  overflow:hidden!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Ta sama paleta co Rada — Uchwały sesji. */
.rsg-online-action--online{
  border-color:#cfe1e9;
  background:#eaf3f7;
  color:#326b82;
}

.rsg-online-action--online:hover:not(:disabled),
.rsg-online-action--online:focus:not(:disabled){
  background:#dcecf2;
}

.rsg-online-action--online.is-active{
  border-color:#b8d8e4;
  background:#e1f0f5;
  color:#245f78;
}

.rsg-online-action--close{
  border-color:#dce2e3;
  background:#f2f4f4;
  color:#59676d;
}

.rsg-online-action--close:hover:not(:disabled),
.rsg-online-action--close:focus:not(:disabled){
  background:#e3e8e9;
}

.rsg-online-action--adopted{
  border-color:#cde4cd;
  background:#eaf6e9;
  color:#2f713d;
}

.rsg-online-action--adopted:hover:not(:disabled),
.rsg-online-action--adopted:focus:not(:disabled),
.rsg-online-action--adopted.is-active{
  background:#d7eed5;
}

.rsg-online-action--rejected{
  border-color:#eccfd3;
  background:#fff1f3;
  color:#963442;
}

.rsg-online-action--rejected:hover:not(:disabled),
.rsg-online-action--rejected:focus:not(:disabled),
.rsg-online-action--rejected.is-active{
  background:#f9dde1;
}

/* Panel nie narzuca już mobilnie własnego paddingu ponad ustawienia Elementora. */
@media(max-width:560px){
  .rsg-online-control{
    padding:initial;
  }

  .rsg-online-action{
    width:36px;
    min-width:36px;
    height:36px;
    min-height:36px;
  }

  .rsg-online-action svg{
    width:17px;
    height:17px;
  }

  .rsg-online-action span{
    display:initial;
  }
}


/* ================================================================
   0.4.16 — Panel ONLINE: optyczne centrowanie ikon akcji
   ================================================================ */

.rsg-online-resolution-card__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}

.rsg-online-action{
  position:relative;
  display:inline-grid!important;
  place-items:center!important;
  align-items:center!important;
  justify-items:center!important;
  vertical-align:middle;
  line-height:1!important;
  text-align:center;
}

.rsg-online-action svg{
  position:relative;
  display:block!important;
  flex:none!important;
  width:18px;
  height:18px;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  inset:auto!important;
  transform:none!important;
  transform-origin:50% 50%;
  overflow:visible;
  vertical-align:middle;
}

/*
 * Ikona transmisji ma optycznie więcej "powietrza" po bokach niż
 * check i X. Delikatne powiększenie wyrównuje wagę wizualną,
 * bez przesuwania środka.
 */
.rsg-online-action--online svg{
  width:19px;
  height:19px;
}

/*
 * Check ma asymetryczny rysunek. Minimalne przesunięcie optyczne
 * daje wizualny środek przy zachowaniu geometrycznego boxa.
 */
.rsg-online-action--adopted svg{
  transform:translate(.35px,-.15px)!important;
}

/*
 * X jest symetryczny — zostaje idealnie w geometrycznym centrum.
 */
.rsg-online-action--rejected svg,
.rsg-online-action--close svg{
  transform:none!important;
}

/*
 * Elementor / motyw czasem dodaje style dla SVG wewnątrz buttonów.
 * Ten blok twardo normalizuje ich box.
 */
.rsg-online-action > svg:first-child:last-of-type{
  position:static!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
}

/*
 * Na mniejszych ekranach proporcje zostają zachowane.
 */
@media(max-width:560px){
  .rsg-online-action svg{
    width:17px!important;
    height:17px!important;
  }

  .rsg-online-action--online svg{
    width:18px!important;
    height:18px!important;
  }
}


/* ================================================================
   0.4.17 — Panel ONLINE: odblokowanie zamkniętego głosowania
   ================================================================ */

/*
 * Otwarta kłódka = powrót do głosowania w TEJ SAMEJ rundzie.
 * Kolory 1:1 z akcją "Uruchom głosowanie" na liście Uchwał.
 */
.rsg-online-action--unlock{
  border-color:#cfe3cb;
  background:#edf6eb;
  color:#2f703d;
}

.rsg-online-action--unlock:hover:not(:disabled),
.rsg-online-action--unlock:focus:not(:disabled){
  background:#dcefd8;
}

/* Ikona kłódki korzysta z tego samego twardego centrowania co pozostałe akcje. */
.rsg-online-action--unlock svg{
  transform:none!important;
}


/* ================================================================
   0.4.18 — Panel ONLINE: paddingi i odstępy wewnętrzne
   ================================================================ */

/* Elementor steruje teraz dokładnie trzema liniami treści Uchwały. */
.rsg-online-resolution-card__title-wrap{
  gap:0!important;
}

.rsg-online-resolution-card__eyebrow,
.rsg-online-resolution-card__title-wrap h3,
.rsg-online-resolution-card__state{
  display:block;
  margin-top:0;
}

/* Padding badge'y jest responsywny i w pełni sterowany z Elementora. */
.rsg-online-control__live,
.rsg-online-control__session-count{
  box-sizing:border-box;
}

.rsg-session-agenda-subitem[data-agenda-level="sub2"]{margin-left:28px;border-left:2px solid currentColor;padding-left:14px}
@media(max-width:600px){.rsg-session-agenda-subitem[data-agenda-level="sub2"]{margin-left:12px;padding-left:8px}}
.rsg-documents-read__list{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.rsg-documents-read__card{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:22px;border:1px solid #dce7d7;border-radius:14px;background:#fbfdfb;color:#294b32}.rsg-documents-read__card strong{flex:1;min-width:120px;overflow-wrap:anywhere}.rsg-documents-read__icon svg{width:32px;height:32px}.rsg-documents-read__actions{display:flex;gap:8px;flex-wrap:wrap}.rsg-documents-read__actions a{display:inline-flex;padding:8px 14px;border:1px solid #315d3b;border-radius:8px;color:#315d3b;text-decoration:none;font-size:14px}.rsg-documents-read__actions a:hover{background:#e9f1e5}.rsg-documents-read__actions a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
