.modal-overlay { display: none; position: fixed; inset: 0; background: rgba(8,17,31,.65); z-index: 300; align-items: center; justify-content: center; backdrop-filter: blur(4px); padding: 1rem; }
.modal-overlay.open { display: flex; }
.modal { background: #fff; border-radius: var(--radius-xl); padding: 2.25rem; width: 100%; max-width: 460px; position: relative; max-height: 90svh; overflow-y: auto; }
.modal-close { position: absolute; top: 1rem; right: 1rem; background: var(--gl); border: none; width: 28px; height: 28px; border-radius: 50%; cursor: pointer; font-size: 14px; display: flex; align-items: center; justify-content: center; color: var(--gr); }
.modal-title { font-family: var(--font-display); font-size: 1.35rem; font-weight: 800; margin-bottom: .4rem; }
.modal-sub { font-size: .85rem; color: var(--gr); margin-bottom: 1.75rem; }
.form-row { display: flex; flex-direction: column; gap: 5px; margin-bottom: .9rem; }
.form-row label { font-size: 11px; font-weight: 700; color: var(--ne); text-transform: uppercase; letter-spacing: .4px; }
.form-row input, .form-row select { padding: 10px 13px; border: 1.5px solid var(--gb); border-radius: var(--radius-sm); font-size: 13.5px; font-family: var(--font-body); color: var(--ne); outline: none; transition: .2s; width: 100%; }
.form-row input:focus, .form-row select:focus { border-color: var(--az); box-shadow: 0 0 0 3px rgba(26,86,219,.1); }
.modal-note { font-size: 11px; color: var(--gr); text-align: center; margin-top: .9rem; line-height: 1.5; }
.modal-note a { color: var(--az); }
