
/* Assembleias - Votação (Frontend) */
.av-wrap{max-width:980px;margin:20px auto;padding:0 16px}
.av-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width: 900px){.av-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 600px){.av-grid{grid-template-columns:1fr}}

.av-card{border:1px solid #e7e7e7;border-radius:14px;background:#fff;padding:16px;box-shadow:0 6px 24px rgba(0,0,0,.04)}
.av-card__title{margin:0 0 10px 0;font-size:18px;line-height:1.2}
.av-card__meta{display:flex;flex-direction:column;gap:6px;color:#555;font-size:13px;margin-bottom:12px}
.av-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 14px;border-radius:12px;text-decoration:none;background:#153f70;color:#fff;font-weight:700;border:0;cursor:pointer}
.av-btn:hover{filter:brightness(.95);color:#fff}
.av-btn--block{width:100%}

.av-empty{border:1px dashed #d6d6d6;border-radius:14px;padding:18px;color:#444;background:#fafafa}

.av-form-card{border:1px solid #e7e7e7;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.05);overflow:hidden}
.av-form-head{padding:18px 18px 0 18px}
.av-form-title{margin:0;font-size:22px;line-height:1.2}
.av-form-desc{margin:8px 0 0 0;color:#555}

.av-form{padding:18px;display:grid;gap:14px}
.av-row{display:grid;gap:12px}
.av-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width: 700px){.av-row-2{grid-template-columns:1fr}}

.av-field label{display:block;font-size:13px;color:#444;margin:0 0 6px 0;font-weight:700}
.av-field input,.av-field select{
  width:100%;
  padding:12px 12px;
  border:1px solid #d8d8d8;
  border-radius:12px;
  background:#fff;
  outline:none;
}
.av-field input:focus,.av-field select:focus{border-color:#153f70;box-shadow:0 0 0 3px rgba(21,63,112,.12)}

.av-sep{border:0;border-top:1px solid #eee;margin:2px 0}

.av-question__title{font-weight:800;font-size:16px;margin-bottom:8px}
.av-votes{display:flex;flex-wrap:wrap;gap:10px}
.av-radio{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #e2e2e2;border-radius:12px;background:#fafafa;cursor:pointer;user-select:none}
.av-radio input{margin:0}
.av-radio:hover{background:#f4f6fb;border-color:#cfd8ea}

.av-privacy{margin:0;color:#666;font-size:12px;text-align:center}

/* Modal */
.av-modal{position:fixed;inset:0;display:none;z-index:99999}
.av-modal.is-open{display:block}
.av-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.av-modal__content{
  position:relative;
  max-width:520px;
  margin:10vh auto 0 auto;
  background:#fff;
  border-radius:16px;
  padding:16px;
  box-shadow:0 18px 60px rgba(0,0,0,.25);
}
.av-modal__title{font-weight:900;font-size:18px;margin-bottom:8px}
.av-modal__body{color:#333;margin-bottom:12px;line-height:1.4}

/* Status boxes */
.av-msg{border-radius:14px;padding:12px 14px;margin:0 0 12px 0;border:1px solid #e7e7e7;background:#fafafa;color:#333}
.av-warn{border-color:#ffe2a8;background:#fff8e8}
.av-err{border-color:#ffc3c3;background:#fff1f1}
