.modal-overlay{z-index:var(--z-modal);background:var(--color-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);place-items:center;padding:24px;animation:.16s modal-overlay-enter;display:grid;position:fixed;inset:0}.modal{background:radial-gradient(circle at 90% 0%, rgba(var(--primary-rgb), .15), transparent 35%), linear-gradient(145deg, var(--color-modal-start), var(--color-modal-end));border:1px solid var(--color-border);width:min(100%,480px);max-height:calc(100vh - 48px);box-shadow:0 30px 100px rgba(var(--shadow-rgb), .48), 0 12px 40px rgba(var(--primary-rgb), .14);animation:modal-enter .2s var(--ease-out);position:relative;overflow-y:auto}.modal__accent{background:linear-gradient(90deg, var(--color-primary-dark), var(--color-primary-hover));width:72px;height:3px;position:absolute;top:0;left:0}.modal__close{z-index:3;cursor:pointer;background:rgba(var(--text-rgb), .045);width:32px;height:32px;color:var(--color-text-muted);transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);place-items:center;font-size:22px;display:grid;position:absolute;top:14px;right:14px}.modal__close:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-text)}.modal__close:disabled{cursor:wait;opacity:.45}@keyframes modal-enter{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modal-overlay-enter{0%{opacity:0}to{opacity:1}}.modal--wide{width:min(100%,640px)}.alert-modal{padding:38px 32px 30px}.alert-modal__code{color:var(--color-primary);font-family:var(--font-display);font-size:10px;font-weight:var(--weight-bold);letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px;display:block}.alert-modal__title{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;padding-right:30px}.alert-modal__message{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:14px;line-height:1.7}.alert-modal__actions{justify-content:flex-end;margin-top:30px;display:flex}.alert-modal__button{cursor:pointer;background:var(--color-primary);min-width:110px;height:42px;color:var(--color-on-primary);font-family:var(--font-display);font-weight:var(--weight-bold);letter-spacing:.1em;text-transform:uppercase;transition:background var(--duration-fast) var(--ease-standard);padding-inline:20px}.alert-modal__button:hover{background:var(--color-primary-hover)}.confirmation-modal{padding:38px 32px 30px}.confirmation-modal__code{color:var(--color-accent);font-family:var(--font-display);font-size:10px;font-weight:var(--weight-bold);letter-spacing:.17em;text-transform:uppercase;margin-bottom:8px;display:block}.confirmation-modal__title{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);text-transform:uppercase;padding-right:30px}.confirmation-modal__message{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:14px;line-height:1.7}.confirmation-modal__actions{justify-content:flex-end;gap:10px;margin-top:30px;display:flex}.confirmation-modal__button{cursor:pointer;min-width:110px;height:42px;font-family:var(--font-display);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);padding-inline:18px}.confirmation-modal__button:disabled{cursor:not-allowed;opacity:.5}.confirmation-modal__button--secondary{background:rgba(var(--text-rgb), .04);border:1px solid var(--color-border);color:var(--color-text-muted)}.confirmation-modal__button--secondary:hover{color:var(--color-text);border-color:var(--color-border-hover)}.confirmation-modal__button--primary{background:var(--color-primary);color:var(--color-on-primary)}.confirmation-modal__button--primary:hover{background:var(--color-primary-hover)}.confirmation-modal__button--danger{background:var(--color-danger);color:#fff}.confirmation-modal__button--danger:hover{background:var(--color-danger-hover)}
