/* Shared modal layout for member and staff workflows. */
body:has(#portalDialog[open]){overflow:hidden}
body[data-portal] #portalDialog{box-sizing:border-box;position:fixed;width:min(520px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:calc(100dvh - 32px);margin:auto;padding:26px;border:1px solid #64705c;border-radius:18px;background:#19211f;color:#edf1ed;box-shadow:0 24px 80px #0008;overflow:auto;overscroll-behavior:contain}
#portalDialog::backdrop{background:#050b0bbd;backdrop-filter:blur(4px)}
body[data-portal] #portalDialog>.portal-dialog-close{position:absolute!important;top:12px!important;right:12px!important;float:none!important;display:grid!important;place-items:center;box-sizing:border-box;width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;margin:0!important;border:0!important;border-radius:9px;background:transparent!important;color:#c6cfca;font-size:27px!important;line-height:1;cursor:pointer;z-index:2}
#portalDialog>.portal-dialog-close:hover{background:#ffffff12!important;color:#fff}
#portalDialog>.portal-dialog-close:focus-visible{outline:2px solid #ddc286;outline-offset:2px}
#portalDialog #portalDialogTitle{padding-right:34px;margin:0 0 16px;font-size:21px;line-height:1.4;letter-spacing:-.025em;overflow-wrap:anywhere}
#portalDialog:not(.order-sheet):not(.notice-dialog) p{margin:10px 0;color:#c3cec8;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
#portalDialog:not(.order-sheet) form:not(.seat-member-search){display:grid;gap:14px;margin-top:20px}
#portalDialog:not(.order-sheet) form:not(.seat-member-search)>label{display:grid;gap:7px;margin:0;color:#bcc9c1;font-size:13px;line-height:1.5;font-weight:500}
#portalDialog:not(.order-sheet) form:not(.seat-member-search)>label:has(input[type=checkbox]),#portalDialog:not(.order-sheet) form:not(.seat-member-search)>label:has(input[type=radio]){display:flex;align-items:flex-start;gap:9px;font-size:14px}
#portalDialog form label>input:not([type=checkbox]):not([type=radio]),#portalDialog form label>select,#portalDialog form label>textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin:0;min-height:44px;padding:10px 12px;border:1px solid #415149;border-radius:10px;background:#111c18;color:#edf1ed;font:inherit;font-size:16px;line-height:1.4}
#portalDialog form input[type=checkbox],#portalDialog form input[type=radio]{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0;accent-color:#ddc286}
#portalDialog:not(.order-sheet) form>button{width:100%;min-height:46px;margin:2px 0 0;padding:12px 16px;border-radius:10px;font-size:15px;font-weight:650;line-height:1.4;white-space:normal}
#portalDialog:not(.order-sheet) form>p{margin:0}
#portalDialog:not(.order-sheet) .row{gap:10px}
#portalDialog #portalDialogError:not([hidden]){margin:14px 34px 16px 0;padding:12px;border:1px solid #bf7777;border-radius:10px;background:#522626;color:#ffe1dc;font-size:14px;line-height:1.5}
#portalDialog img,#portalDialog video,#portalDialog canvas{max-width:100%}
@media(max-width:520px){body[data-portal] #portalDialog:not(.order-sheet):not(.notice-dialog){padding:22px 18px;max-height:calc(100dvh - 24px)}#portalDialog #portalDialogTitle{font-size:20px}body[data-portal] #portalDialog>.portal-dialog-close{top:9px!important;right:9px!important}}

#portalDialog .prize-row{display:grid;grid-template-columns:minmax(0,1fr) 105px;gap:12px;padding:12px 0;border-bottom:1px solid #ffffff15}#portalDialog .prize-row label{display:grid;gap:7px;min-width:0;font-size:13px;color:#bcc9c1}#portalDialog .prize-row input{text-align:right}
