/* Dialogs retain normal server pages as the no-JavaScript fallback. */
.dialog-open{overflow:hidden}
.dialog-enhanced [data-dialog-fallback]:not([data-dialog-errors="true"]){display:none}
.action-dialog{padding:0;border:1px solid var(--line);border-radius:18px;width:min(860px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 48px);color:var(--ink);background:#f7f9fc;box-shadow:0 24px 80px #16233a30;overflow:hidden}
.action-dialog[open]{display:flex;flex-direction:column;animation:dialog-enter 160ms ease-out}
.action-dialog::backdrop{background:#16233a66}
.action-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;background:white;border-bottom:1px solid var(--line);flex:none}
.action-dialog-header h2{font-size:17px;margin:0;line-height:1.4;outline:none}
.action-dialog-header button{font-size:24px;min-height:44px;min-width:44px}
.action-dialog-content{padding:24px;overflow:auto;overscroll-behavior:contain;min-height:0;overflow-wrap:anywhere}
.action-dialog-content .dashboard{margin:0;padding:0;max-width:none;min-height:0}
.action-dialog-content [data-dialog-fallback]{display:block}
.action-dialog-content .page-heading{margin:0 0 20px;align-items:flex-start;gap:16px}
.action-dialog-content .page-heading h1{font-size:24px}
.action-dialog-content .two-column,.action-dialog-content .details-grid,.action-dialog-content .route-layout,.action-dialog-content .operation-layout{grid-template-columns:1fr}
.action-dialog-content .page-heading>a[data-dialog-close]{display:none}
.action-dialog-content>section.panel{margin:0}
.action-dialog-content .panel+.panel{margin-top:16px}
.action-dialog-content .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.action-dialog-content input:not([type=checkbox]):not([type=radio]),.action-dialog-content select,.action-dialog-content textarea{max-width:100%;min-width:0;font-size:16px}
.action-dialog-content button,.action-dialog-content .primary,.action-dialog-content .secondary{min-height:44px}
.action-dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:12px 24px;background:white;border-top:1px solid var(--line);flex:none}
.action-dialog-footer span{margin-right:auto;color:var(--muted);font-size:13px}
.action-dialog-footer button{min-height:44px}
.action-dialog-notice{margin:16px 24px 0;padding:12px 16px;border:1px solid #e9c76e;border-radius:10px;background:#fff7db;font-size:14px;line-height:1.5;flex:none}
.action-dialog [hidden],.dialog-page-status[hidden]{display:none}
.dialog-page-status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:12px 20px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);box-shadow:0 6px 24px #16233a20;z-index:20;font-size:14px}
@keyframes dialog-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.action-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:14px}.action-dialog-header{padding:12px 16px}.action-dialog-content{padding:16px}.action-dialog-content .form-grid{grid-template-columns:1fr}.action-dialog-footer{padding:12px 16px max(12px,env(safe-area-inset-bottom))}.action-dialog-notice{margin:12px 16px 0}.dialog-page-status{bottom:calc(76px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.action-dialog[open]{animation:none}}

.dialog-enhanced .dns-layout:not(:has([data-dialog-errors="true"])){grid-template-columns:minmax(0,1fr)}

.action-dialog-content [data-dialog-title-copy]{display:none}
.action-dialog-content .route-client-picker,.action-dialog-content .route-help{margin-bottom:16px;font-size:14px}
.action-dialog-content .client-route-page>.two-column{display:flex;flex-direction:column-reverse;gap:16px}
.action-dialog-content .route-client-picker summary,.action-dialog-content .route-help summary{cursor:pointer;min-height:32px}
@media(min-width:601px){.action-dialog-content .editor-form:has([name="ssh_port"]),.action-dialog-content .editor-form:has([name="pattern"]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.action-dialog-content .editor-form:has([name="ssh_port"])>p,.action-dialog-content .editor-form:has([name="pattern"])>p{margin:0}.action-dialog-content .editor-form>p:has(textarea),.action-dialog-content .editor-form>.errorlist,.action-dialog-content .editor-form>button{grid-column:1/-1}}
