.gd-layer { position:fixed; inset:0; bottom:auto; display:grid; place-items:center; padding:18px; z-index:300; background:rgba(14,15,18,.64); backdrop-filter:blur(3px); }
.gd-dialog { width:min(680px,100%); max-height:calc(100% - 2px); display:flex!important; flex-direction:column; min-height:0; margin:0; overflow:hidden; border:1px solid #DDD2AE; border-radius:15px; background:#fff; box-shadow:0 24px 75px rgba(0,0,0,.24); color:#172326; }
.gd-dialog > form { display:flex; flex-direction:column; flex:1 1 auto; min-height:0; overflow:hidden; margin:0; }
.gd-dialog .modal-head,.gd-dialog .erm-modal-head,.gd-head { flex:0 0 auto; display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:19px 22px; border-bottom:1px solid #EBE3CC; }
.gd-dialog header h2 { margin:0; font-size:18px; line-height:1.3; color:#000; }
.gd-dialog header p { margin:5px 0 0; color:#54585F; font-size:12px; line-height:1.5; }
.gd-dialog .modal-body,.gd-dialog .erm-modal-body,.gd-body { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:20px 22px; }
.gd-dialog .modal-foot,.gd-dialog .erm-modal-foot,.gd-foot { flex:0 0 auto; display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:9px; padding:14px 22px; border-top:1px solid #EBE3CC; background:#fff; }
.gd-dialog footer[hidden] { display:none!important; }
.gd-close { width:36px; height:36px; flex:none; border:0; border-radius:8px; background:transparent; color:#54585F; font-size:24px; line-height:1; }
.gd-close:hover { background:#FAF6EA; }
.gd-dialog button:focus-visible { outline:3px solid #DAA520; outline-offset:2px; }
.gd-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-content:start; }
.gd-form-grid > p,.gd-form-grid > label,.gd-form-grid > [data-account-status],.gd-form-grid > .gd-full,.gd-form-grid > .field:has(textarea),.gd-form-grid > .field:has(input[type=email]) { grid-column:1/-1; }
.gd-form-grid > .field { min-width:0; margin:0; }
.gd-dialog .field label { display:block; margin-bottom:6px; font-size:12px; font-weight:600; }
.gd-dialog .field :is(input,select,textarea) { width:100%; min-width:0; min-height:42px; font:inherit; font-size:13px; }
.gd-dialog .field textarea { min-height:90px; resize:vertical; }
.gd-dialog .account-check { margin:8px 0; }
.gd-dialog .account-help { margin:0; grid-column:1/-1; }
.gd-feedback { flex:0 0 auto; margin:12px 22px 0; padding:11px 14px; border:1px solid #D6771F; border-radius:8px; background:#FCE9D6; color:#7A410D; font-size:13px; line-height:1.5; }
.gd-progress { flex-basis:100%; color:#7F5A00; font-size:12px; }
.gd-decision { flex:0 0 auto; max-height:50vh; overflow:auto; padding:18px 22px; border-top:1px solid #DDD2AE; background:#FAF6EA; }
.gd-decision h3 { margin:0 0 8px; font-size:16px; color:#000; }
.gd-decision p,.gd-confirm-copy { margin:0; font-size:13px; line-height:1.65; }
.gd-decision-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px; margin-top:16px; }
.gd-dialog .confirm-copy { flex:1 1 auto; min-height:0; overflow:auto; }
@media(max-width:560px) {
 .gd-layer { padding:8px; }
 .gd-dialog { border-radius:12px; }
 .gd-dialog .modal-head,.gd-dialog .erm-modal-head,.gd-head { padding:16px; }
 .gd-dialog .modal-body,.gd-dialog .erm-modal-body,.gd-body { padding:16px; }
 .gd-dialog .modal-foot,.gd-dialog .erm-modal-foot,.gd-foot { padding:12px 16px; }
 .gd-form-grid { grid-template-columns:minmax(0,1fr); }
 .gd-dialog footer .btn { flex:1; }
 .gd-feedback { margin:10px 16px 0; }
 .gd-decision { padding:16px; }
 .gd-decision-actions .btn { flex:1; }
}

.gd-plan-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.gd-plan-fields > label { display:flex; flex-direction:column; gap:6px; font-size:12px; font-weight:600; min-width:0; }
.gd-plan-fields input,.gd-plan-fields select,.gd-plan-fields textarea { width:100%; min-width:0; padding:11px 12px; border:1px solid #D7DDDC; border-radius:8px; font:inherit; font-size:13px; background:#fff; color:#172326; }
.gd-plan-fields label:has(textarea),.gd-plan-fields > .plan-manager-save { grid-column:1/-1; }
.gd-body > .plan-create-actions,.gd-body > .plan-manager-save { display:none; }
.account-summary .account-details { margin:20px 0 24px; }
.account-summary .account-help { margin:20px 0; }
.account-editor-actions { margin-top:20px; }
.gd-dialog .account-password-grid { display:contents; }
.gd-dialog > form.gd-plan-fields { display:flex; gap:0; }
@media(max-width:560px){.gd-plan-fields { grid-template-columns:minmax(0,1fr); }}

.gd-dialog .gd-body > label:not(.account-check) { display:flex; flex-direction:column; gap:6px; font-size:12px; font-weight:600; }
.gd-dialog form.gd-plan-fields .gd-body > label:not(:has(textarea)) { grid-column:auto; }
.gd-dialog :is(input,select,textarea):focus { border-color:#FFB600; outline:2px solid #FFB600; outline-offset:2px; }
.gd-plan-fields :is(input,select,textarea) { font-weight:400; }
.gd-dialog .modal-foot > .delete-link { margin-right:auto; }
