.smysly-donate-btn{
  border:0;
  border-radius:999px;
  padding:10px 16px;
  cursor:pointer;
  font-weight:600;
  background:#151515;
  color:#fff;
  line-height:1;
}
.smysly-donate-btn:disabled{opacity:.45;cursor:not-allowed}
.smysly-donation-modal{display:none;position:fixed;inset:0;z-index:99999;box-sizing:border-box}
.smysly-donation-modal.is-open{display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:16px 12px}
.smysly-donation-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.smysly-donation-modal__box{position:relative;z-index:1;width:min(460px,100%);max-height:calc(100vh - 32px);overflow-y:auto;margin:0 auto;background:#fff;border-radius:18px;padding:24px;box-shadow:0 20px 70px rgba(0,0,0,.25);box-sizing:border-box}
.smysly-donation-modal__close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:28px;cursor:pointer}
.smysly-donation-amounts{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.smysly-donation-amounts button{border:1px solid #ddd;background:#fafafa;border-radius:999px;padding:8px 12px;cursor:pointer}
.smysly-donation-field{display:block;margin:12px 0;font-weight:600}
.smysly-donation-field input,.smysly-donation-field textarea{width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #ddd;border-radius:10px;padding:10px;font:inherit}
.smysly-donation-check{display:flex;gap:8px;align-items:center;margin:10px 0}
.smysly-donation-error{color:#b00020;margin:10px 0;min-height:20px}
.smysly-donation-submit,.smysly-withdrawal-form button{width:100%;border:0;border-radius:12px;background:#151515;color:#fff;padding:12px 16px;font-weight:700;cursor:pointer}
.smysly-donation-submit:disabled{opacity:.6;cursor:wait}
.smysly-donations-dashboard{max-width:900px}
.smysly-donation-balance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}
.smysly-donation-balance div{border:1px solid #eee;border-radius:14px;padding:16px;background:#fff}
.smysly-donation-balance strong{display:block;font-size:22px;margin-bottom:6px}
.smysly-donation-balance span{color:#666}
.smysly-withdrawal-form{border:1px solid #eee;border-radius:14px;padding:18px;margin:20px 0;background:#fff}
.smysly-withdrawal-form label{display:block;margin:12px 0;font-weight:600}
.smysly-withdrawal-form input,.smysly-withdrawal-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #ddd;border-radius:10px;padding:10px}
.smysly-donation-row{display:grid;grid-template-columns:120px 120px 160px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #eee}
.smysly-donation-alert{padding:12px;border-radius:10px;background:#fff2f2;color:#9d0000;margin:12px 0}
.smysly-donation-success{padding:12px;border-radius:10px;background:#f0fff4;color:#137333;margin:12px 0}
@media(max-width:640px){.smysly-donation-modal.is-open{padding:10px}.smysly-donation-modal__box{max-height:calc(100vh - 20px);padding:18px}.smysly-donation-balance{grid-template-columns:1fr}.smysly-donation-row{grid-template-columns:1fr}}

.smysly-um-donations-panel{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #eee;
}
.smysly-um-donations-panel .smysly-donations-dashboard h2{
  margin-top:0;
}
.smysly-withdrawal-history{
  margin-top:10px;
}
.smysly-withdrawal-row{
  grid-template-columns:120px 170px 160px 1fr;
}

/* v5: profile alignment and public author donation button */
.smysly-um-donations-panel{
  width:100%;
  max-width:900px;
  margin:18px auto 0;
  text-align:center;
}
.smysly-um-donations-panel .smysly-donations-dashboard{
  max-width:900px;
  margin:0 auto;
}
.smysly-um-donations-panel .smysly-withdrawal-form{
  text-align:center;
}
.smysly-um-donations-panel .smysly-withdrawal-form label{
  text-align:center;
}
.smysly-donation-row--head{
  font-weight:700;
  color:#333;
  background:#fafafa;
  border-top:1px solid #eee;
}
.smysly-donation-row--head strong,
.smysly-donation-row--head span{
  font-weight:700;
}
.smysly-um-author-donate{
  display:flex;
  justify-content:center;
  margin:12px 0 4px;
}
.smysly-um-author-donate .smysly-donate-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* v6: public donations and payout fields */
.smysly-payout-note{
  margin:8px auto 14px;
  max-width:680px;
  color:#666;
  font-size:14px;
  line-height:1.45;
}
.smysly-withdrawal-row{
  display:grid;
  grid-template-columns:120px 120px 140px 130px 150px;
  gap:10px;
  padding:10px 0;
  border-bottom:1px solid #eee;
  text-align:left;
}
.smysly-withdrawal-row--head{
  font-weight:700;
  color:#333;
  background:#fafafa;
  border-top:1px solid #eee;
}
.smysly-public-donations{
  max-width:760px;
  margin:28px auto;
  padding:20px;
  border:1px solid #eee;
  border-radius:18px;
  background:#fff;
}
.smysly-public-donations h3{
  margin:0 0 14px;
  text-align:center;
}
.smysly-public-donations__list{
  display:grid;
  gap:10px;
}
.smysly-public-donation{
  border:1px solid #f0f0f0;
  border-radius:14px;
  padding:12px 14px;
  background:#fafafa;
}
.smysly-public-donation__main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.smysly-public-donation__main span{
  font-weight:700;
  white-space:nowrap;
}
.smysly-public-donation__message{
  margin-top:8px;
  color:#555;
  font-size:14px;
  line-height:1.45;
}
@media(max-width:640px){
  .smysly-withdrawal-row{
    grid-template-columns:1fr;
  }
  .smysly-public-donations{
    margin:22px 0;
    padding:16px;
  }
  .smysly-public-donation__main{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* v7: production donation module */
.smysly-donation-author-settings{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:14px auto 18px;
  flex-wrap:wrap;
}
.smysly-donation-author-settings label{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:600;
}
.smysly-donation-author-settings button{
  border:0;
  border-radius:999px;
  padding:9px 14px;
  background:#151515;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.smysly-donation-balance--five{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.smysly-withdrawal-row{
  grid-template-columns:120px 120px 140px 130px minmax(120px,1fr) 150px;
}
.smysly-withdrawal-form button:disabled,
.smysly-withdrawal-form input:disabled,
.smysly-withdrawal-form textarea:disabled{
  opacity:.6;
  cursor:not-allowed;
}
.smysly-public-author-donations{
  max-width:760px;
  margin:20px auto 10px;
  padding:20px;
  border:1px solid #eee;
  border-radius:18px;
  background:#fff;
}
.smysly-public-author-donations h3{
  margin:0 0 14px;
  text-align:center;
}
.smysly-public-author-donations__list{
  display:grid;
  gap:10px;
}
.smysly-public-author-donation{
  display:grid;
  grid-template-columns:minmax(120px,1fr) 110px minmax(160px,2fr);
  gap:12px;
  align-items:center;
  border:1px solid #f0f0f0;
  border-radius:14px;
  padding:12px 14px;
  background:#fafafa;
  text-align:left;
}
.smysly-public-author-donation span{
  font-weight:700;
  white-space:nowrap;
}
.smysly-donation-thanks{
  max-width:900px;
  margin:40px auto;
  padding:0 16px;
}
.smysly-donation-thanks__box{
  background:#fff;
  border:1px solid #eee;
  border-radius:22px;
  padding:32px;
  text-align:center;
  box-shadow:0 12px 30px rgba(0,0,0,.04);
}
.smysly-donation-thanks__box .smysly-donation-return-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  margin-top:10px;
  border:0;
  border-radius:999px;
  padding:10px 16px;
  font-weight:600;
  background:#151515;
  color:#fff;
  line-height:1;
}
@media(max-width:900px){
  .smysly-donation-balance--five{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:640px){
  .smysly-donation-balance--five,
  .smysly-withdrawal-row,
  .smysly-public-author-donation{
    grid-template-columns:1fr;
  }
}

/* v10: legal confirmations */
.smysly-donation-legal{
  margin:12px 0 4px;
  padding:12px;
  border:1px solid #eee;
  border-radius:12px;
  background:#fafafa;
}
.smysly-donation-legal-check{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:8px 0;
  font-size:13px;
  line-height:1.4;
  color:#444;
}
.smysly-donation-legal-check input{
  flex:0 0 auto;
  margin-top:2px;
}
.smysly-donation-legal-check a{
  color:inherit;
  text-decoration:underline;
}
.smysly-withdrawal-form .smysly-donation-legal-check{
  text-align:left;
  font-weight:400;
  max-width:680px;
  margin:10px auto;
}


/* v12: legal checkbox layout fixes */
.smysly-donation-legal{
  margin:12px 0 8px;
  padding:12px 14px;
  border:1px solid #eee;
  border-radius:12px;
  background:#fafafa;
}
.smysly-donation-legal-check{
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  gap:10px;
  margin:0;
  font-size:14px;
  line-height:1.5;
  color:#444;
  text-align:left;
  width:100%;
}
.smysly-donation-legal-check input{
  flex:0 0 auto;
  margin:3px 0 0;
}
.smysly-donation-legal-check__text{
  flex:1 1 auto;
  min-width:0;
}
.smysly-donation-legal-check a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:2px;
  word-break:normal;
}
.smysly-withdrawal-form .smysly-donation-legal,
.smysly-withdrawal-form .smysly-donation-legal-check{
  max-width:none;
}
.smysly-withdrawal-form .smysly-donation-legal{
  text-align:left;
}
.smysly-withdrawal-form button{
  display:block;
  width:100%;
  box-sizing:border-box;
  margin-top:14px;
}
@media(max-width:640px){
  .smysly-donation-legal{
    padding:10px 12px;
  }
  .smysly-donation-legal-check{
    font-size:13px;
    gap:8px;
  }
}
