/* ============================
   ASSENGE v9 — FRONT-END CSS
   ============================ */
:root{
  --asg-blue:    #0066cc;
  --asg-green:   #28a745;
  --asg-red:     #dc3545;
  --asg-yellow:  #ffc107;
  --asg-grey:    #6c757d;
  --asg-light:   #f4f7fc;
  --asg-border:  #dde3ec;
  --asg-radius:  8px;
  --asg-shadow:  0 4px 16px rgba(0,0,0,.08);
}

/* WRAP */
.asg-wrap{ max-width:1100px; margin:40px auto; padding:0 20px; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }

/* CARD */
.asg-card{ background:#fff; border-radius:var(--asg-radius); box-shadow:var(--asg-shadow); overflow:hidden; }
.asg-form-card{ max-width:760px; margin:0 auto; padding:40px; }
.asg-form-header{ margin-bottom:30px; }
.asg-form-header h2{ margin:0 0 6px; color:var(--asg-blue); font-size:22px; }
.asg-form-header p{ margin:0; color:var(--asg-grey); font-size:14px; }

/* SECTIONS */
.asg-section{ border-bottom:1px solid var(--asg-border); padding-bottom:20px; margin-bottom:24px; }
.asg-section:last-of-type{ border-bottom:none; }
.asg-section h3{ color:var(--asg-blue); font-size:14px; margin:0 0 16px; text-transform:uppercase; letter-spacing:.5px; }
.asg-section h3 small{ font-size:12px; text-transform:none; color:var(--asg-grey); font-weight:400; }

/* FORM ELEMENTS */
.asg-group{ margin-bottom:14px; }
.asg-group label{ display:block; font-size:13px; font-weight:600; margin-bottom:5px; color:#333; }
.asg-group label span{ color:var(--asg-red); }
.asg-group input, .asg-group select, .asg-group textarea{
  width:100%; padding:10px 12px; border:1px solid var(--asg-border);
  border-radius:6px; font-size:14px; box-sizing:border-box; font-family:inherit; background:#fff;
  transition: border-color .2s, box-shadow .2s;
}
.asg-group input:focus, .asg-group select:focus{
  border-color:var(--asg-blue); outline:none;
  box-shadow:0 0 0 3px rgba(0,102,204,.12);
}
.asg-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }

/* BUTTONS */
.asg-btn{ display:inline-block; padding:10px 20px; border-radius:6px; font-size:14px; font-weight:600; cursor:pointer; border:none; transition:all .2s; text-decoration:none; }
.asg-btn-primary{ background:var(--asg-blue); color:#fff; }
.asg-btn-primary:hover{ background:#0052a3; transform:translateY(-1px); box-shadow:0 4px 12px rgba(0,102,204,.3); }
.asg-btn-outline{ background:transparent; color:#fff; border:2px solid #fff; }
.asg-btn-outline:hover{ background:rgba(255,255,255,.15); }
.asg-btn-success{ background:var(--asg-green); color:#fff; cursor:default; }
.asg-btn-disabled{ background:#ccc; color:#666; cursor:not-allowed; }
.asg-btn-full{ width:100%; text-align:center; padding:14px; font-size:15px; margin-top:8px; }

/* ALERTS */
.asg-alert, .asg-msg{ padding:14px 16px; border-radius:6px; font-size:14px; margin-bottom:16px; }
.asg-alert-error, .asg-msg.error{ background:#fde8ea; color:#721c24; border:1px solid #f5c6cb; }
.asg-msg.success{ background:#d4edda; color:#155724; border:1px solid #c3e6cb; }
.asg-note{ font-size:12px; color:var(--asg-grey); text-align:center; margin-top:10px; }
.asg-login-link{ text-align:center; font-size:13px; color:var(--asg-grey); margin-top:20px; }

/* ── DASHBOARD ─────────────────────────── */
.asg-dashboard-header{
  background:linear-gradient(135deg,var(--asg-blue),#004499);
  color:#fff; padding:32px 40px; border-radius:var(--asg-radius);
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:28px; box-shadow:var(--asg-shadow);
}
.asg-dh-info h2{ margin:0 0 4px; font-size:24px; }
.asg-dh-info p{ margin:0; opacity:.85; font-size:14px; }

/* TABS */
.asg-tabs{ display:flex; gap:4px; margin-bottom:24px; border-bottom:2px solid var(--asg-border); }
.asg-tab{ padding:10px 18px; font-size:14px; font-weight:600; background:none; border:none; cursor:pointer; color:var(--asg-grey); border-bottom:3px solid transparent; margin-bottom:-2px; transition:all .2s; }
.asg-tab:hover{ color:var(--asg-blue); }
.asg-tab.active{ color:var(--asg-blue); border-bottom-color:var(--asg-blue); }
.asg-tab-content{ display:none; }
.asg-tab-content.active{ display:block; }
.asg-tab-content h3{ color:var(--asg-blue); margin:0 0 20px; }

/* GRIDS */
.asg-grid{ display:grid; gap:20px; }
.asg-grid-2{ grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); }
.asg-grid-3{ grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); }

/* CONVÊNIO CARD */
.asg-conv-card{ padding:20px; }
.asg-conv-logo{ width:80px; height:80px; object-fit:contain; margin-bottom:10px; }
.asg-conv-card h4{ margin:0 0 6px; font-size:15px; color:#222; }
.asg-conv-desc{ color:var(--asg-grey); font-size:13px; margin:0 0 12px; }
.asg-conv-desconto{ background:var(--asg-light); padding:10px 12px; border-radius:6px; font-size:13px; white-space:pre-line; color:#333; border-left:3px solid var(--asg-green); }
.asg-conv-contato{ font-size:12px; color:var(--asg-grey); margin:8px 0 0; }

/* EVENT/COURSE CARD */
.asg-event-card{ display:flex; flex-direction:column; }
.asg-event-img{ width:100%; height:160px; object-fit:cover; }
.asg-event-body{ padding:20px; flex:1; display:flex; flex-direction:column; gap:8px; }
.asg-event-body h4{ margin:0; font-size:15px; color:#222; }
.asg-event-body p{ margin:0; font-size:13px; color:var(--asg-grey); }
.asg-event-meta{ display:flex; flex-wrap:wrap; gap:8px; font-size:12px; color:var(--asg-grey); }
.asg-event-meta span{ background:var(--asg-light); padding:3px 8px; border-radius:20px; }
.asg-event-body .asg-btn{ margin-top:auto; width:100%; text-align:center; }

/* BADGES */
.asg-badge{ display:inline-block; padding:3px 10px; border-radius:20px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; }
.asg-badge-blue{ background:#dbeafe; color:#1d4ed8; }
.asg-badge-green{ background:#dcfce7; color:#15803d; }

/* DADOS */
.asg-dados-grid{ border:1px solid var(--asg-border); border-radius:var(--asg-radius); overflow:hidden; }
.asg-dado-row{ display:flex; padding:12px 16px; border-bottom:1px solid var(--asg-border); font-size:14px; }
.asg-dado-row:last-child{ border-bottom:none; }
.asg-dado-label{ font-weight:600; width:180px; flex-shrink:0; color:#555; }
.asg-dado-val{ color:#222; }

.asg-empty{ padding:40px; text-align:center; color:var(--asg-grey); border:2px dashed var(--asg-border); border-radius:var(--asg-radius); }

@media(max-width:640px){
  .asg-row, .asg-grid-2, .asg-grid-3{ grid-template-columns:1fr; }
  .asg-dashboard-header{ flex-direction:column; gap:16px; text-align:center; }
  .asg-tabs{ flex-wrap:wrap; }
  .asg-dado-label{ width:130px; }
}

/* ── SELEÇÃO TIPO DE MEMBRO ─────────────────── */
.asg-tipo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.asg-tipo-card {
  cursor: pointer;
  display: block;
}

.asg-tipo-card input[type="radio"] {
  display: none;
}

.asg-tipo-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 28px 20px;
  border: 2px solid var(--asg-border);
  border-radius: 10px;
  background: #fff;
  transition: all .2s;
  gap: 8px;
  cursor: pointer;
}

.asg-tipo-inner:hover {
  border-color: var(--asg-blue);
  background: #f0f7ff;
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0,102,204,.12);
}

.asg-tipo-card.asg-tipo-selected .asg-tipo-inner {
  border-color: var(--asg-blue);
  background: #e8f2ff;
  box-shadow: 0 0 0 3px rgba(0,102,204,.15);
}

.asg-tipo-icon {
  font-size: 40px;
  line-height: 1;
}

.asg-tipo-title {
  font-size: 15px;
  font-weight: 700;
  color: #222;
}

.asg-tipo-desc {
  font-size: 12px;
  color: #777;
  line-height: 1.4;
}

/* Info box para estudante */
.asg-info-estudante {
  background: #fff8e6;
  border-left: 3px solid #ffc107;
  padding: 10px 14px;
  font-size: 13px;
  color: #555;
  border-radius: 0 6px 6px 0;
  margin-top: 8px;
}

/* Campo required asterisk */
.asg-req { color: var(--asg-red); }

/* Botão submit centralizado */
.asg-btn-submit-final {
  display: inline-block;
  width: auto;
  min-width: 280px;
  padding: 14px 32px;
  font-size: 15px;
  border-radius: 50px;
}

@media (max-width: 600px) {
  .asg-tipo-grid { grid-template-columns: 1fr; }
  .asg-btn-submit-final { width: 100%; }
}
