/* Dialog refinements shared by the public request and application forms. */
.demo-dialog{padding:24px 36px 36px;scrollbar-gutter:stable;overscroll-behavior:contain}
.demo-dialog .demo-dialog-close{position:static!important;inset:auto!important;float:none;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:0 0 8px auto;padding:4px;background:var(--soft);color:var(--ink);border:1px solid var(--line);font-size:28px;line-height:1}
.demo-dialog .demo-form-hint{font-size:16px;line-height:1.65;max-width:62ch}
.demo-dialog .demo-form-grid label{font-size:15px;line-height:1.55;min-width:0}
.demo-dialog .demo-form-grid input,.demo-dialog .demo-form-grid select,.demo-dialog .demo-form-grid textarea{font-size:16px;min-width:0;max-width:100%}
.demo-dialog .demo-form-grid select{padding-right:30px}
.demo-dialog .demo-form-grid input:disabled,.demo-dialog .demo-form-grid select:disabled,.demo-dialog .demo-form-grid textarea:disabled{opacity:1;background:#efeee9;color:#626862;-webkit-text-fill-color:#626862;cursor:default}
.demo-dialog .demo-form-grid label>small,.demo-dialog .demo-privacy-note,.demo-dialog .fine-field-error{font-size:14px}
.demo-dialog .fine-field-error{display:block;line-height:1.5}
.demo-dialog .production-form-error{padding:14px 16px;background:#fff0f2;border-left:3px solid var(--red);font-size:15px;line-height:1.65;overflow-wrap:anywhere}
.demo-dialog .demo-upload{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:18px;border:1px dashed #8c938e;background:var(--soft);font-size:16px}
.demo-dialog .demo-upload input[type=file]{width:100%;padding:0;border:0;background:transparent;font-size:14px;line-height:1.6;min-height:48px}
.demo-dialog .demo-upload input[type=file]::file-selector-button{min-height:44px;border:1px solid var(--ink);padding:10px 14px;margin-right:10px;background:var(--paper);color:var(--ink);font:600 15px/1.4 var(--sans);cursor:pointer}
.demo-dialog .demo-upload input[type=file]:focus-visible{outline:2px solid #174d72;outline-offset:3px}
.demo-dialog .demo-upload>span{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.demo-dialog .form-file-name{font-weight:600;color:var(--ink)}
.demo-dialog .form-file-remove{justify-self:start;min-height:44px;background:transparent;padding:8px 0;text-decoration:underline;text-underline-offset:4px;font-size:14px}
.demo-dialog .form-receipt{font-size:14px;line-height:1.65;overflow-wrap:anywhere;border-top:1px solid var(--line);padding-top:16px;margin-top:20px;user-select:all}
.demo-dialog .demo-form-summary{overflow-wrap:anywhere;white-space:pre-line;font-size:14px}
.demo-dialog .demo-form-actions .button,.demo-dialog .demo-next,.demo-dialog .demo-apply-submit{font-size:15px;min-height:48px}
@media(max-width:700px){
 .demo-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:14px 20px 28px}
 .demo-dialog .demo-dialog-close{margin-bottom:10px}
 .demo-dialog .demo-form-grid{gap:18px}
 .demo-dialog .demo-form-grid input,.demo-dialog .demo-form-grid select,.demo-dialog .demo-form-grid textarea{font-size:16px}
 .demo-dialog .demo-form-hint{font-size:16px}
 .demo-dialog .demo-upload{padding:14px}
 .demo-dialog .demo-upload input[type=file]{font-size:16px}
 .demo-dialog .demo-progress{gap:16px;font-size:13px}
}
