.custom-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(15,23,42,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1050;padding:1rem;animation:fadeIn .2s ease-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.custom-modal-dialog{width:100%;max-width:400px;animation:slideUp .3s ease-out forwards}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.custom-modal-content{background:#ffffff;border-radius:var(--border_radius,16px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);overflow:hidden;display:flex;flex-direction:column}.custom-modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.custom-modal-title{margin:0;font-size:1.25rem;font-weight:600;color:#1a202c}.custom-close{background:transparent;border:none;font-size:1.5rem;color:#a0aec0;cursor:pointer;transition:color .2s ease;padding:0;line-height:1;outline:none}.custom-close:hover{color:#4a5568}.custom-close:focus{outline:none}.custom-modal-body{padding:1.5rem}.ad-subject-title{font-size:1.1rem;color:#2d3748}.custom-btn-group{display:flex;background:#edf2f7;border-radius:8px;padding:.25rem}.custom-toggle-btn{flex:1 1;border:none;background:transparent;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;color:#4a5568;cursor:pointer;transition:all .2s ease;outline:none}.custom-toggle-btn:focus{outline:none}.custom-toggle-btn.active{background:#ffffff;color:var(--color_default,#3182ce);box-shadow:0 1px 3px rgba(0,0,0,.1)}.custom-label{display:block;font-size:.9rem;font-weight:500;color:#4a5568;margin-bottom:.5rem}.custom-input{width:100%;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;color:#2d3748;transition:all .2s ease}.custom-input:focus{outline:none;border-color:var(--color_default,#3182ce);box-shadow:0 0 0 3px var(--color_default__opacity20,rgba(49,130,206,.1))}.custom-price-summary{background:#f7fafc;border-radius:8px;padding:1rem}.summary-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.95rem;color:#4a5568}.summary-row:last-child{margin-bottom:0}.custom-modal-footer{padding:1rem 1.5rem;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:.75rem}.custom-btn{padding:.6rem 1.25rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.custom-btn,.custom-btn:focus{outline:none}.custom-btn-secondary{background:#e2e8f0;color:#4a5568}.custom-btn-secondary:hover{background:#cbd5e0}.custom-btn-primary{background:var(--color_default,#3182ce);color:#ffffff}.custom-btn-primary:hover:not(:disabled){background:var(--color_default__darken,#2b6cb0)}.custom-btn-primary:disabled{opacity:.6;cursor:not-allowed}.dark-mode .custom-modal-content{background:var(--color-surface);border:1px solid var(--color-border)}.dark-mode .custom-modal-footer,.dark-mode .custom-modal-header{border-color:var(--color-border);background:var(--color-surface)}.dark-mode .ad-subject-title,.dark-mode .custom-modal-title{color:var(--color-text-primary)}.dark-mode .custom-btn-group{background:var(--color-bg)}.dark-mode .custom-toggle-btn{color:var(--color-text-secondary)}.dark-mode .custom-toggle-btn.active{background:var(--color-surface);color:var(--color-accent)}.dark-mode .custom-input,.dark-mode .custom-label{color:var(--color-text-primary)}.dark-mode .custom-input{border-color:var(--color-border)}.dark-mode .custom-input,.dark-mode .custom-price-summary{background:var(--color-bg)}.dark-mode .summary-row{color:var(--color-text-secondary)}.dark-mode .summary-row strong{color:var(--color-text-primary)}.dark-mode .custom-btn-secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-primary)}.dark-mode .custom-btn-secondary:hover{background:var(--bg-hover,#2e2e2e)}.dark-mode .text-danger{color:var(--color-danger,#ef4444)!important}.dark-mode .text-success{color:var(--color-success,#22c55e)!important}