body.modal-open{overflow:hidden}body.modal-open .main-content{overflow:hidden!important}.modal-overlay{padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));box-sizing:border-box;z-index:var(--z-modal);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.modal{overscroll-behavior:contain;border-radius:var(--radius);box-sizing:border-box;background:#111827;flex-direction:column;width:500px;max-width:100%;max-height:100%;padding:20px;display:flex;position:relative;overflow-y:auto;box-shadow:0 30px 80px #000000b3}:is(.modal:has(.modal-header),.modal:has(.modal-body)){padding:0;overflow:hidden}.modal-header{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 12px;display:flex}.modal-header .modal-title,.modal-title{margin:0;font-size:18px;line-height:1.3}.modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:16px 20px;overflow-y:auto}.modal-footer{padding:12px 20px;padding-bottom:max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#111827;flex:none;justify-content:flex-end;gap:10px;display:flex}.modal-header .modal-close{position:static}.modal input,.modal textarea,.modal select{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text);background:0 0;font-size:14px}.modal input:focus,.modal textarea:focus,.modal select:focus{border-color:var(--primary);outline:none}.row{gap:10px;display:flex}.row input{flex:1}.textarea{border:1px solid var(--border);resize:vertical;border-radius:10px;width:100%;min-height:120px;padding:12px}.select{border:1px solid var(--border);color:#fff;background:#111827;border-radius:10px;width:100%;padding:10px}.checkbox-row{flex-wrap:wrap;gap:12px;display:flex}.checkbox{align-items:center;gap:8px;display:flex}.images-wrap{flex-wrap:wrap;gap:8px;display:flex}.image-preview{width:80px;position:relative}.image-preview img{border-radius:8px;width:100%}.remove-image{color:#fff;cursor:pointer;background:#b00020;border:none;border-radius:50%;width:22px;height:22px;position:absolute;top:6px;right:6px}.modal-actions{justify-content:flex-end;margin-top:10px;display:flex}.modal-close{color:#fff;cursor:pointer;background:0 0;border:none;position:absolute;top:12px;right:12px}.preview-image{border-radius:12px;width:100%;margin-bottom:10px}@media (width<=700px){.modal-overlay{padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));align-items:stretch}.modal,.modal-content,.task-modal,.announcement-modal,.channel-modal,.payment-modal{box-sizing:border-box;border-radius:var(--radius-lg)!important;width:100%!important;max-width:100%!important;max-height:100%!important;margin:0!important}.modal input,.modal textarea,.modal select,.modal-content input,.modal-content textarea,.modal-content select{font-size:16px!important}.row{flex-direction:column}.birthday-actions,.payment-admin-actions{z-index:var(--z-base);padding:10px 0 max(10px, env(safe-area-inset-bottom));background:var(--card);flex-wrap:wrap;position:sticky;bottom:0}.modal:not(:has(.modal-footer)) .modal-actions{z-index:var(--z-base);padding:10px 0 max(10px, env(safe-area-inset-bottom));background:var(--card);flex-wrap:wrap;position:sticky;bottom:0}.modal-actions,.modal-footer{flex-wrap:wrap}.modal-actions button,.modal-footer button,.birthday-actions button{min-height:42px}}
