/* Shared dialog shell. Page layout and action endpoints remain owned by their modules. */
.modal.T24Modal{position:fixed;inset:0;z-index:1050;width:100%;max-width:none;height:100%;margin:0;padding:0!important;border:0;border-radius:0;background:transparent;box-shadow:none;overflow-x:hidden;overflow-y:auto;text-align:left;vertical-align:initial}
.modal.T24Modal .modal-dialog{display:flex;align-items:center;min-height:calc(100% - 32px);width:calc(100% - 32px);max-width:760px;margin:16px auto;pointer-events:none}
.modal.T24Modal.T24Modal--small .modal-dialog{max-width:560px}
.modal.T24Modal.T24Modal--wide .modal-dialog{max-width:1120px}
.modal.T24Modal .modal-content{display:flex;flex-direction:column;position:relative;width:100%;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:0;padding:0;border:1px solid #dce5df;border-radius:14px;background:#fff;box-shadow:0 20px 70px rgba(17,43,34,.22);overflow:hidden;pointer-events:auto;color:#264c46}
.modal.T24Modal .modal-header{display:block;flex-shrink:0;position:relative;margin:0;padding:22px 64px 20px 24px;border:0;border-bottom:1px solid #e4ebe6;border-radius:0;background:#fff;color:#264c46}
.modal.T24Modal .modal-header h4,.modal.T24Modal .modal-header h5,.modal.T24Modal .modal-title{margin:0;padding:0;text-align:left;font-size:19px;line-height:28px;font-weight:600;letter-spacing:0;color:#264c46;overflow-wrap:anywhere}
.modal.T24Modal .modal-header .close{position:absolute;top:13px;right:12px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:#647b71;font:400 27px/1 Arial,sans-serif;opacity:1;text-shadow:none;cursor:pointer}
.modal.T24Modal .modal-header .close:hover{background:#edf4ef;color:#234e43}
.modal.T24Modal .modal-body{flex:1 1 auto;min-height:0;margin:0;padding:24px;overflow:auto;overscroll-behavior:contain;font-size:14px;line-height:1.6}
.modal.T24Modal .modal-footer{display:flex;flex-shrink:0;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:10px;margin:0;padding:16px 24px;border-top:1px solid #e4ebe6;background:#fafcfb;text-align:right}
.modal.T24Modal .modal-footer:before,.modal.T24Modal .modal-footer:after{display:none}
.modal.T24Modal .modal-footer:empty{display:none}
.modal.T24Modal .modal-footer h4{margin:0;font:inherit}
.modal.T24Modal .modal-body .container{width:100%;max-width:none;margin:0;padding:0}
.modal.T24Modal .modal-body>.box,.modal.T24Modal .modal-body #ajax-modal-content>.box,.modal.T24Modal .modal-body form>.box{margin:0;border:0;border-radius:0;box-shadow:none;background:transparent}
.modal.T24Modal .modal-body .box-body{padding:0}
.modal.T24Modal:not(#modal-for-cropper) .modal-body img{max-width:100%;height:auto}
.modal.T24Modal .modal-body iframe{max-width:100%;border:0}
.modal.T24Modal .modal-body pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}
.modal.T24Modal .modal-body table{max-width:100%}
.modal.T24Modal .btn,.modal.T24Modal .btn-green,.modal.T24Modal .btn-orange{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-width:0;min-height:44px;height:auto;margin:0;padding:10px 18px;border-radius:7px;font-size:14px;line-height:22px;font-weight:600;text-decoration:none;box-sizing:border-box;cursor:pointer}
.modal.T24Modal .btn-default,.modal.T24Modal .btn-info{border:1px solid #cbdad1;background:#fff;color:#315d50;box-shadow:none}
.modal.T24Modal .btn-primary,.modal.T24Modal .btn-success{border:1px solid #28776a;background:#28776a;color:#fff}
.modal.T24Modal .btn-danger{border:1px solid #b34f41;background:#b34f41;color:#fff}
.modal.T24Modal .form-control,.modal.T24Modal .form-input{max-width:100%;min-height:44px;height:auto;padding:10px 12px;border:1px solid #bdcec4;border-radius:7px;background:#fff;color:#264c46;font-size:14px;line-height:22px;box-sizing:border-box}
.modal.T24Modal select.form-control,.modal.T24Modal input.form-control{height:44px}
.modal.T24Modal textarea{resize:vertical;min-height:112px;max-width:100%}
.modal.T24Modal label{margin-bottom:7px;font-size:13px;line-height:20px;font-weight:600;color:#426358}
.modal.T24Modal .help-block{min-height:20px;margin:5px 0 0;font-size:12px;line-height:18px}
.modal.T24Modal .has-error .help-block{color:#b04435}
.modal.T24Modal .has-error .form-control{border-color:#b34f41}
.modal.T24Modal .select2-container{width:100%!important;max-width:100%}
.modal.T24Modal .select2-selection--single{height:44px!important;min-height:44px;border-color:#bdcec4;border-radius:7px}
.modal.T24Modal .select2-selection--single .select2-selection__rendered{padding:10px 36px 10px 12px;line-height:22px}
.modal.T24Modal .select2-selection--single .select2-selection__arrow{height:42px;right:8px}
.T24ModalForm{position:relative;margin:0}
.T24ModalForm #spinner-after-turn{display:none}
.T24ModalForm--submitting #spinner-after-turn{display:flex;position:absolute;inset:0;align-items:center;justify-content:center;background:rgba(255,255,255,.96);color:#315d50;z-index:2}
.T24ModalForm__fields{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.T24ModalForm__fields .form-group{margin:0}
.T24ModalForm__context{margin:0 0 20px;padding:12px 14px;border-radius:8px;background:#edf4ef;font-size:14px;line-height:22px;overflow-wrap:anywhere}
.T24ModalForm__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid #e4ebe6}
.modal.T24Modal:has(.T24ModalForm) .modal-footer,.modal.T24Modal:has(.T24AudioLevelForm) .modal-footer{display:none}
.modal.T24Modal.T24Modal--ownActions .modal-footer{display:none}
.modal.T24Modal .T24AudioLevelForm__fields{padding:0;gap:12px}
.modal.T24Modal .T24AudioLevelForm__actions{margin-top:18px;padding:18px 0 0}
.modal.T24Modal .Feedback{width:100%;max-width:none;padding:0;margin:0;background:none;box-shadow:none}
.modal.T24Modal .Feedback form{width:100%;max-width:none;margin:0;padding:0;border:0;box-shadow:none}
.modal.T24Modal .Feedback__title{display:none}
.modal.T24Modal .Feedback__mess{margin:16px 0}
.modal.T24Modal .Feedback__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.modal.T24Modal .Feedback__addFiles{max-width:100%;overflow-wrap:anywhere}
.modal.T24Modal .form-validation:empty{display:none}
.T24ModalStatus{display:flex;align-items:center;justify-content:center;gap:12px;min-height:128px;padding:16px;text-align:center;color:#60776c}
.T24ModalStatus[role="alert"]{flex-direction:column;color:#8c4236}
.T24ModalStatus__spinner{width:22px;height:22px;flex:none;border:2px solid #dce9e1;border-top-color:#28776a;border-radius:50%;animation:t24-modal-spin .8s linear infinite}
.modal.T24Modal a:focus-visible,.modal.T24Modal button:focus-visible,.modal.T24Modal input:focus-visible,.modal.T24Modal select:focus-visible,.modal.T24Modal textarea:focus-visible,.modal.T24Modal .select2-selection:focus-visible{outline:2px solid #28776a;outline-offset:3px}
/* Existing confirmation plugin; one compact surface with a safe cancel action. */
body .confirmBox{background:rgba(20,39,31,.48)}
body .confirmBox .confirmBox-container{width:calc(100% - 32px);max-width:480px;max-height:calc(100vh - 32px);padding:24px;border:1px solid #dce5df;border-radius:14px;background:#fff;box-shadow:0 20px 70px rgba(17,43,34,.22);overflow:auto;color:#264c46}
body .confirmBox .confirmBox-middle{position:static;left:auto;width:100%;max-width:none;border:0;border-radius:0;box-shadow:none;text-align:left}
body .confirmBox .confirmBox-title{font-size:19px;line-height:28px;font-weight:600;color:#264c46}
body .confirmBox .confirmBox-content{margin-top:12px;font-size:14px;line-height:23px;color:#60776c}
body .confirmBox .confirmBox-section{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;height:auto;margin-top:24px}
body .confirmBox .confirmBox-section .confirmBoxButton{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:44px;margin:0;padding:10px 16px;border:1px solid #cad9d0;border-radius:7px;background:#fff;color:#315d50;font-size:14px;line-height:22px;font-weight:600}
body .confirmBox .confirmBox-section .btn-danger{border-color:#b34f41;background:#b34f41;color:#fff}
@keyframes t24-modal-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){.modal.T24Modal .modal-dialog{min-height:calc(100% - 24px);width:calc(100% - 24px);margin:12px auto}.modal.T24Modal .modal-content{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);border-radius:12px}.modal.T24Modal .modal-header{padding:18px 56px 16px 18px}.modal.T24Modal .modal-header h4,.modal.T24Modal .modal-header h5,.modal.T24Modal .modal-title{font-size:17px;line-height:25px}.modal.T24Modal .modal-body{padding:18px}.modal.T24Modal .modal-footer{padding:14px 18px}.modal.T24Modal .form-control,.modal.T24Modal .form-input{font-size:16px}.T24ModalForm__actions>*{flex:1}.modal.T24Modal .Feedback__bottom>.btn-orange{width:100%}}
@media(prefers-reduced-motion:reduce){.modal.T24Modal.fade .modal-dialog{transition:none}.T24ModalStatus__spinner{animation:none}}
