/* Advanced Atomic Form Addon v3 — 0d2beb0b */
.aaf-0d2beb0b-wrapper{width:100%}
.aaf-0d2beb0b-form{position:relative;padding:32px;background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.08);transition:opacity .3s}
.aaf-0d2beb0b-submitting{opacity:.65;pointer-events:none}
.aaf-0d2beb0b-fields-row{display:flex;flex-wrap:wrap;gap:20px}
.aaf-0d2beb0b-field-group{display:flex;flex-direction:column;min-width:0}
.aaf-0d2beb0b-label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:#1F2937}
.aaf-0d2beb0b-required{color:#EF4444}

/* Inputs */
.aaf-0d2beb0b-input,.aaf-0d2beb0b-textarea,.aaf-0d2beb0b-select{width:100%;padding:10px 14px;font-size:15px;line-height:1.5;color:#1F2937;background:#F9FAFB;border:1.5px solid #D1D5DB;border-radius:8px;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}
.aaf-0d2beb0b-input:focus,.aaf-0d2beb0b-textarea:focus,.aaf-0d2beb0b-select:focus{border-color:#6366F1;box-shadow:0 0 0 3px rgba(99,102,241,.15)}
.aaf-0d2beb0b-input::placeholder,.aaf-0d2beb0b-textarea::placeholder{color:#9CA3AF}
.aaf-0d2beb0b-input-error{border-color:#EF4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.12)!important}
.aaf-0d2beb0b-input-valid{border-color:#10B981!important;box-shadow:0 0 0 3px rgba(16,185,129,.12)!important}
.aaf-0d2beb0b-textarea{resize:vertical;min-height:100px}
.aaf-0d2beb0b-select{appearance:auto;cursor:pointer}

/* Shake animation */
@keyframes aaf-shake-0d2beb0b{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}
.aaf-0d2beb0b-shake{animation:aaf-shake-0d2beb0b .5s ease}

/* Phone Country Selector */
.aaf-0d2beb0b-phone-wrap{display:flex;align-items:stretch;position:relative}
.aaf-0d2beb0b-country-btn{display:flex;align-items:center;gap:4px;padding:0 10px;background:#F3F4F6;border:1.5px solid #D1D5DB;border-right:none;border-radius:8px 0 0 8px;cursor:pointer;font-size:14px;color:#374151;white-space:nowrap;transition:background .2s}
.aaf-0d2beb0b-country-btn:hover{background:#E5E7EB}
.aaf-0d2beb0b-country-flag{font-size:18px;line-height:1}
.aaf-0d2beb0b-country-dial{font-weight:600;font-size:13px}
.aaf-0d2beb0b-chevron{flex-shrink:0;transition:transform .2s}
.aaf-0d2beb0b-chevron-open{transform:rotate(180deg)}
.aaf-0d2beb0b-phone-wrap .aaf-0d2beb0b-phone-input{border-radius:0 8px 8px 0;flex:1}
.aaf-0d2beb0b-country-dropdown{position:absolute;top:100%;left:0;z-index:1000;width:320px;max-height:280px;background:#fff;border:1.5px solid #D1D5DB;border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.12);margin-top:4px;display:flex;flex-direction:column;overflow:hidden}
.aaf-0d2beb0b-dropdown-hidden{display:none!important}
.aaf-0d2beb0b-country-search-wrap{padding:8px;border-bottom:1px solid #E5E7EB}
.aaf-0d2beb0b-country-search{width:100%;padding:8px 10px;border:1.5px solid #D1D5DB;border-radius:6px;font-size:13px;outline:none;box-sizing:border-box}
.aaf-0d2beb0b-country-search:focus{border-color:#6366F1}
.aaf-0d2beb0b-country-list{overflow-y:auto;flex:1}
.aaf-0d2beb0b-country-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:13px;transition:background .15s}
.aaf-0d2beb0b-country-item:hover{background:#F3F4F6}
.aaf-0d2beb0b-country-active{background:#EEF2FF}
.aaf-0d2beb0b-ci-flag{font-size:18px}
.aaf-0d2beb0b-ci-name{flex:1;color:#1F2937}
.aaf-0d2beb0b-ci-dial{color:#6B7280;font-weight:600;font-size:12px}

/* Password */
.aaf-0d2beb0b-pw-wrap{position:relative;display:flex;align-items:center}
.aaf-0d2beb0b-pw-wrap .aaf-0d2beb0b-input{padding-right:44px}
.aaf-0d2beb0b-pw-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#6B7280;padding:4px;display:flex;align-items:center;transition:color .2s}
.aaf-0d2beb0b-pw-toggle:hover{color:#374151}
.aaf-0d2beb0b-pw-strength{display:flex;align-items:center;gap:8px;margin-top:6px}
.aaf-0d2beb0b-pw-track{flex:1;height:4px;background:#E5E7EB;border-radius:2px;overflow:hidden}
.aaf-0d2beb0b-pw-fill{height:100%;width:0;border-radius:2px;transition:width .3s,background-color .3s}
.aaf-0d2beb0b-pw-text{font-size:12px;font-weight:600;min-width:55px;text-align:right}
.aaf-0d2beb0b-pw-weak .aaf-0d2beb0b-pw-fill{width:33%;background:#EF4444}
.aaf-0d2beb0b-pw-medium .aaf-0d2beb0b-pw-fill{width:66%;background:#F59E0B}
.aaf-0d2beb0b-pw-strong .aaf-0d2beb0b-pw-fill{width:100%;background:#10B981}
.aaf-0d2beb0b-pw-weak .aaf-0d2beb0b-pw-text{color:#EF4444}
.aaf-0d2beb0b-pw-medium .aaf-0d2beb0b-pw-text{color:#F59E0B}
.aaf-0d2beb0b-pw-strong .aaf-0d2beb0b-pw-text{color:#10B981}

/* Star Rating */
.aaf-0d2beb0b-star-rating{display:flex;align-items:center;gap:4px}
.aaf-0d2beb0b-star-rating svg{width:32px;height:32px;fill:#D1D5DB;cursor:pointer;transition:fill .15s,transform .15s}
.aaf-0d2beb0b-star-rating svg:hover,.aaf-0d2beb0b-star-rating svg.aaf-0d2beb0b-star-hover{fill:#FBBF24;transform:scale(1.15)}
.aaf-0d2beb0b-star-rating svg.aaf-0d2beb0b-star-active{fill:#F59E0B}

/* Number Rating */
.aaf-0d2beb0b-number-rating{display:flex;flex-wrap:wrap;gap:4px}
.aaf-0d2beb0b-num-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1.5px solid #D1D5DB;border-radius:8px;background:#fff;font-size:14px;font-weight:600;color:#374151;cursor:pointer;transition:all .15s}
.aaf-0d2beb0b-num-btn:hover{border-color:#6366F1;color:#6366F1;transform:translateY(-1px)}
.aaf-0d2beb0b-num-btn.aaf-0d2beb0b-num-active{background:#6366F1;border-color:#6366F1;color:#fff;transform:scale(1.08)}

/* Emoji Rating */
.aaf-0d2beb0b-emoji-rating{display:flex;gap:6px;align-items:center}
.aaf-0d2beb0b-emoji-btn{font-size:32px;background:none;border:2px solid transparent;border-radius:12px;padding:4px 6px;cursor:pointer;transition:all .2s;opacity:.6;filter:grayscale(40%)}
.aaf-0d2beb0b-emoji-btn:hover{opacity:1;filter:grayscale(0);transform:scale(1.2)}
.aaf-0d2beb0b-emoji-btn.aaf-0d2beb0b-emoji-active{opacity:1;filter:grayscale(0);border-color:#6366F1;background:rgba(99,102,241,.08);transform:scale(1.2)}

/* Range Slider */
.aaf-0d2beb0b-range-wrap{width:100%}
.aaf-0d2beb0b-range{width:100%;height:6px;-webkit-appearance:none;appearance:none;background:#E5E7EB;border-radius:3px;outline:none;cursor:pointer}
.aaf-0d2beb0b-range::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#6366F1;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.15);cursor:pointer;transition:transform .15s}
.aaf-0d2beb0b-range::-webkit-slider-thumb:hover{transform:scale(1.2)}
.aaf-0d2beb0b-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#6366F1;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.15);cursor:pointer}
.aaf-0d2beb0b-range-labels{display:flex;justify-content:space-between;font-size:12px;color:#6B7280;margin-top:4px}
.aaf-0d2beb0b-range-val{font-weight:700;color:#6366F1;font-size:14px}

/* Acceptance */
.aaf-0d2beb0b-acceptance-wrap{display:flex}
.aaf-0d2beb0b-acceptance-label{display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:14px;color:#374151;line-height:1.5}
.aaf-0d2beb0b-acceptance-label input{margin-top:3px;accent-color:#6366F1;width:16px;height:16px;flex-shrink:0}
.aaf-0d2beb0b-acceptance-text a{color:#6366F1;text-decoration:underline}
.aaf-0d2beb0b-char-count{font-size:11px;color:#9CA3AF;text-align:right;margin-top:2px}
.aaf-0d2beb0b-file-input{padding:8px;background:#F9FAFB}
.aaf-0d2beb0b-file-info{font-size:11px;color:#9CA3AF;margin-top:2px}
.aaf-0d2beb0b-option-group{display:flex;flex-wrap:wrap;gap:8px 16px}
.aaf-0d2beb0b-option-label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:14px;color:#374151}
.aaf-0d2beb0b-checkbox,.aaf-0d2beb0b-radio{accent-color:#6366F1;width:16px;height:16px}
.aaf-0d2beb0b-divider{border:none;border-top:1px solid #E5E7EB;margin:8px 0;width:100%}

/* Submit Button */
.aaf-0d2beb0b-submit-wrap{display:flex;justify-content:flex-start;margin-top:8px}
.aaf-0d2beb0b-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;font-size:15px;font-weight:600;color:#fff;background:#6366F1;border:none;border-radius:8px;cursor:pointer;transition:all .25s;position:relative;overflow:hidden}
.aaf-0d2beb0b-btn:hover{background:#4F46E5;transform:translateY(-1px);box-shadow:0 4px 12px rgba(99,102,241,.3)}
.aaf-0d2beb0b-btn:active{transform:translateY(0)}
.aaf-0d2beb0b-btn.aaf-0d2beb0b-loading{pointer-events:none;opacity:.85;background:#818CF8}
.aaf-0d2beb0b-btn-icon{display:flex;align-items:center}
.aaf-0d2beb0b-btn-icon svg{width:18px;height:18px;fill:currentColor}
.aaf-0d2beb0b-btn-icon i{font-size:16px}

/* Button success/error states */
.aaf-0d2beb0b-btn-success{background:#10B981!important;box-shadow:0 4px 16px rgba(16,185,129,.35)!important}
.aaf-0d2beb0b-btn-error{background:#EF4444!important;box-shadow:0 4px 16px rgba(239,68,68,.35)!important}

/* Spinner */
.aaf-0d2beb0b-spinner{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:aaf-spin-0d2beb0b .6s linear infinite}
.aaf-0d2beb0b-loading .aaf-0d2beb0b-spinner{display:inline-block}
@keyframes aaf-spin-0d2beb0b{to{transform:rotate(360deg)}}

/* Step Nav */
.aaf-0d2beb0b-btn-prev{background:#E5E7EB;color:#374151}
.aaf-0d2beb0b-btn-prev:hover{background:#D1D5DB;box-shadow:none}
.aaf-0d2beb0b-step-nav{display:flex;justify-content:space-between;align-items:center;margin-top:16px;gap:12px}

/* Multi-Step */
.aaf-0d2beb0b-step{display:none;animation:aaf-fadeIn-0d2beb0b .35s ease}
.aaf-0d2beb0b-step.aaf-0d2beb0b-step-active{display:block}
@keyframes aaf-fadeIn-0d2beb0b{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}

/* Progress */
.aaf-0d2beb0b-progress{margin-bottom:24px}
.aaf-0d2beb0b-progress-track{width:100%;height:6px;background:#E5E7EB;border-radius:3px;overflow:hidden}
.aaf-0d2beb0b-progress-fill{height:100%;background:#6366F1;border-radius:3px;transition:width .4s;width:0}
.aaf-0d2beb0b-step-labels{display:flex;justify-content:space-between;margin-top:8px;font-size:12px;color:#6B7280}
.aaf-0d2beb0b-step-label-active{color:#6366F1;font-weight:600}
.aaf-0d2beb0b-progress-percent{text-align:center;font-size:13px;font-weight:700;color:#6366F1;margin-top:4px}
.aaf-0d2beb0b-step-indicators{display:flex;justify-content:center;gap:12px;margin-bottom:24px}
.aaf-0d2beb0b-step-dot{width:32px;height:32px;border-radius:50%;border:2px solid #D1D5DB;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#9CA3AF;transition:all .3s}
.aaf-0d2beb0b-step-dot-active{border-color:#6366F1;background:#6366F1;color:#fff}
.aaf-0d2beb0b-step-dot-done{border-color:#10B981;background:#10B981;color:#fff}

/* Validation Messages */
.aaf-0d2beb0b-error{font-size:12px;color:#EF4444;margin-top:4px;min-height:0;transition:all .2s}
.aaf-0d2beb0b-form-messages{margin-top:16px;font-size:14px;font-weight:500}

/* ── Toast Notifications (Atomic + MetForm style) ── */
.aaf-0d2beb0b-toast{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border-radius:10px;position:relative;overflow:hidden;animation:aaf-toastIn-0d2beb0b .4s ease}
.aaf-0d2beb0b-toast-success{background:linear-gradient(135deg,#ECFDF5,#D1FAE5);border:1px solid #6EE7B7}
.aaf-0d2beb0b-toast-error{background:linear-gradient(135deg,#FEF2F2,#FEE2E2);border:1px solid #FCA5A5}
.aaf-0d2beb0b-toast-icon{flex-shrink:0;width:28px;height:28px}
.aaf-0d2beb0b-toast-icon svg{width:28px;height:28px}
.aaf-0d2beb0b-toast-success .aaf-0d2beb0b-toast-icon svg{stroke:#059669}
.aaf-0d2beb0b-toast-error .aaf-0d2beb0b-toast-icon svg{stroke:#DC2626}
.aaf-0d2beb0b-toast-body{flex:1;min-width:0}
.aaf-0d2beb0b-toast-title{font-weight:600;font-size:14px;color:#1F2937;line-height:1.4}
.aaf-0d2beb0b-toast-close{position:absolute;top:10px;right:12px;background:none;border:none;font-size:20px;color:#6B7280;cursor:pointer;line-height:1;padding:0;transition:color .2s}
.aaf-0d2beb0b-toast-close:hover{color:#1F2937}
.aaf-0d2beb0b-toast-progress{position:absolute;bottom:0;left:0;height:3px;background:#10B981;border-radius:0 0 10px 10px;animation:aaf-toastProgress-0d2beb0b 8s linear forwards}
.aaf-0d2beb0b-toast-progress-error{background:#EF4444}
.aaf-0d2beb0b-toast-exit{animation:aaf-toastOut-0d2beb0b .4s ease forwards}

@keyframes aaf-toastIn-0d2beb0b{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes aaf-toastOut-0d2beb0b{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}
@keyframes aaf-toastProgress-0d2beb0b{from{width:100%}to{width:0}}

/* Actions Log (per-action status) */
.aaf-0d2beb0b-actions-log{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px}
.aaf-0d2beb0b-action-item{display:flex;align-items:center;gap:5px;font-size:12px;color:#374151;font-weight:500}
.aaf-0d2beb0b-action-icon{width:16px;height:16px;flex-shrink:0}
.aaf-0d2beb0b-action-ok{stroke:#059669}
.aaf-0d2beb0b-action-fail{stroke:#DC2626}

/* Legacy message classes (backward compat) */
.aaf-0d2beb0b-success-msg{color:#10B981;padding:14px 18px;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.2);border-radius:8px;animation:aaf-fadeIn-0d2beb0b .35s}
.aaf-0d2beb0b-error-msg{color:#EF4444;padding:14px 18px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);border-radius:8px}

/* Conditional */
.aaf-0d2beb0b-cond-hidden{display:none!important}
.aaf-0d2beb0b-hidden-msg{text-align:center;padding:24px;color:#6B7280;font-size:15px}
.aaf-0d2beb0b-lost-pw{margin-top:12px;text-align:center}
.aaf-0d2beb0b-lost-pw a{color:#6366F1;font-size:13px;text-decoration:none}
.aaf-0d2beb0b-lost-pw a:hover{text-decoration:underline}
.aaf-0d2beb0b-inline{flex-direction:row;align-items:center}
.aaf-0d2beb0b-checkbox-label{display:flex;align-items:center;gap:6px;font-size:14px;color:#374151;cursor:pointer}
.aaf-0d2beb0b-form-hidden{display:none}

/* Responsive */
@media(max-width:767px){
.aaf-0d2beb0b-form{padding:20px}
.aaf-0d2beb0b-field-group{flex:0 0 100%!important;min-width:0!important}
.aaf-0d2beb0b-fields-row{gap:14px}
.aaf-0d2beb0b-step-nav{flex-direction:column}
.aaf-0d2beb0b-country-dropdown{width:280px}
}
@media(max-width:480px){
.aaf-0d2beb0b-country-dropdown{width:calc(100vw - 40px)}
.aaf-0d2beb0b-number-rating{gap:3px}
.aaf-0d2beb0b-num-btn{width:30px;height:30px;font-size:12px}
}
