/* SMU School Registration Wizard */
.smur-wizard { max-width:800px; margin:0 auto; font-family:inherit; }

/* Progress */
.smur-progress { display:flex; align-items:center; margin-bottom:40px; }
.smur-progress-step { display:flex; flex-direction:column; align-items:center; gap:6px; }
.smur-progress-dot {
    width:36px; height:36px; border-radius:50%; background:#e2e8f0; color:#94a3b8;
    display:flex; align-items:center; justify-content:center; font-weight:700; font-size:15px;
    transition:all .3s;
}
.smur-step-active .smur-progress-dot { background:#2f6fed; color:#fff; }
.smur-step-done   .smur-progress-dot { background:#22c55e; color:#fff; }
.smur-progress-label { font-size:12px; color:#64748b; white-space:nowrap; }
.smur-step-active .smur-progress-label { color:#2f6fed; font-weight:600; }
.smur-progress-line { flex:1; height:2px; background:#e2e8f0; margin:0 8px; margin-bottom:22px; }

/* Steps */
.smur-step-title { font-size:22px; font-weight:700; margin:0 0 8px; color:#1e293b; }
.smur-step-desc  { color:#64748b; margin-bottom:28px; }
.smur-hidden     { display:none !important; }

/* Form grid */
.smur-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:28px; }
@media(max-width:600px){ .smur-form-grid { grid-template-columns:1fr; } }

.smur-field label { display:block; font-weight:600; font-size:14px; margin-bottom:6px; color:#374151; }
.smur-field input, .smur-field select, .smur-field textarea {
    width:100%; padding:10px 14px; border:1.5px solid #d1d5db; border-radius:12px;
    font-size:14px; outline:none; transition:border-color .2s; box-sizing:border-box;
    background:#fff; color:#1e293b;
}
.smur-field input:focus { border-color:#2f6fed; box-shadow:0 0 0 3px rgba(26,86,219,.1); }
.smur-field input.smur-invalid { border-color:#ef4444; }
.smur-field-hint { font-size:12px; margin-top:5px; color:#64748b; }
.smur-field-hint.ok    { color:#16a34a; }
.smur-field-hint.error { color:#dc2626; }
.smur-field-hint.checking { color:#f59e0b; }
.req { color:#ef4444; }

/* Subdomain */
.smur-subdomain-wrap { display:flex; align-items:stretch; }
.smur-subdomain-wrap input { border-radius:8px 0 0 8px; flex:1; min-width:0; }
.smur-subdomain-suffix {
    background:#f1f5f9; border:1.5px solid #d1d5db; border-left:none;
    padding:10px 12px; border-radius:0 8px 8px 0; font-size:13px; color:#64748b;
    white-space:nowrap; align-items:center; display:flex;
}

/* Features grid */
.smur-features-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:28px; }
@media(max-width:600px){ .smur-features-grid { grid-template-columns:1fr; } }

.smur-feature-card {
    display:flex; align-items:flex-start; gap:12px; padding:16px;
    border:2px solid #e2e8f0; border-radius:12px; cursor:pointer;
    transition:all .2s; position:relative; background:#fff;
}
.smur-feature-card:hover { border-color:#2f6fed; background:#eff6ff; }
.smur-feature-card.smur-selected { border-color:#2f6fed; background:#eff6ff; }
.smur-feature-card input[type=checkbox] { display:none; }
.smur-feat-icon { font-size:22px; flex-shrink:0; }
.smur-feat-body { flex:1; min-width:0; }
.smur-feat-label { font-weight:700; font-size:14px; color:#1e293b; }
.smur-feat-desc  { font-size:12px; color:#64748b; margin-top:3px; line-height:1.4; }
.smur-feat-price { font-weight:700; color:#2f6fed; font-size:13px; white-space:nowrap; flex-shrink:0; }
.smur-feat-check-mark {
    position:absolute; top:10px; right:10px;
    width:20px; height:20px; border-radius:50%; background:#2f6fed; color:#fff;
    display:none; align-items:center; justify-content:center; font-size:12px;
}
.smur-feature-card.smur-selected .smur-feat-check-mark { display:flex; }

/* Review */
.smur-review-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:24px; }
@media(max-width:600px){ .smur-review-grid { grid-template-columns:1fr; } }
.smur-review-card { background:#f8fafc; border:1.5px solid #e2e8f0; border-radius:12px; padding:20px; }
.smur-review-card h3 { margin:0 0 14px; font-size:16px; color:#1e293b; }
.smur-review-table { width:100%; border-collapse:collapse; font-size:13px; }
.smur-review-table td { padding:7px 4px; border-bottom:1px solid #f1f5f9; }
.smur-review-table td:first-child { color:#64748b; width:90px; }
.smur-review-table td:last-child { font-weight:600; color:#1e293b; }
.smur-rv-line { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid #f1f5f9; font-size:14px; }
.smur-total-row { display:flex; justify-content:space-between; padding:14px 0 8px; font-weight:700; font-size:16px; border-top:2px solid #e2e8f0; margin-top:8px; }
.smur-total-amount { color:#2f6fed; }
.smur-renewal-note { font-size:12px; color:#64748b; margin-top:10px; background:#f0f9ff; padding:8px 12px; border-radius:6px; }

/* Terms */
.smur-terms { margin-bottom:20px; font-size:13px; color:#374151; }
.smur-terms input { margin-right:8px; }

/* Buttons */
.smur-step-actions { display:flex; gap:12px; margin-top:8px; }
.smur-btn {
    padding:12px 28px; border-radius:8px; font-size:15px; font-weight:600;
    border:none; cursor:pointer; transition:all .2s; text-decoration:none;
}
.smur-btn-primary { background:#2f6fed; color:#fff; }
.smur-btn-primary:hover { background:#1e40af; }
.smur-btn-primary:disabled { opacity:.6; cursor:not-allowed; }
.smur-btn-outline { background:#fff; color:#374151; border:1.5px solid #d1d5db; }
.smur-btn-outline:hover { border-color:#2f6fed; color:#2f6fed; }
.smur-btn-pay { padding:14px 36px; font-size:16px; }

/* Error */
.smur-error-box { background:#fef2f2; border:1.5px solid #fca5a5; border-radius:8px; padding:14px 18px; color:#dc2626; font-size:14px; margin-bottom:16px; }
