/* Viewport-contained dialogs and notification panels, including long bilingual content. */
dialog{box-sizing:border-box;min-width:0;max-width:calc(100vw - 24px);overflow-wrap:anywhere;overscroll-behavior:contain}
dialog .fields{grid-template-columns:repeat(2,minmax(0,1fr))}dialog :is(form,.fields,label,.row,.actions){min-width:0;max-width:100%}dialog :is(input,select,textarea){box-sizing:border-box;min-width:0;max-width:100%}dialog :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%}dialog :is(.row,.actions){flex-wrap:wrap}dialog button{white-space:normal;overflow-wrap:anywhere;max-width:100%}dialog .wide{grid-column:1/-1}dialog :is(pre,.notice){white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}dialog .tablewrap{max-width:100%;overflow:auto}
.reading-alert-panel{box-sizing:border-box;overflow-wrap:anywhere}.reading-alert-panel .row{flex-wrap:wrap;min-width:0}.reading-alert-panel button{max-width:100%;white-space:normal}.notification-item{min-width:0}
#report-preview{width:min(960px,calc(100vw - 24px));padding:20px;background:var(--surface);color:var(--ink)}.report-preview-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0}.report-preview-toolbar a{border:1px solid var(--border);padding:10px;border-radius:8px}.report-preview-pages{display:grid;gap:16px;min-width:0}.report-preview-pages canvas{display:block;width:100%;height:auto;max-width:100%;background:white;box-shadow:0 2px 8px #0003}
@media(max-width:760px){
 dialog,#modal,#modal.plan-document-dialog,#modal.plan-order-export,#workspace-view-dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:20px 16px;min-width:0}
 dialog .fields,#modal .fields,#modal:has(.correction-values) .fields{grid-template-columns:minmax(0,1fr)}dialog .fields>*{min-width:0;grid-column:1/-1}dialog :is(input,select,textarea){font-size:16px}dialog .actions>*{flex:1 1 120px}dialog .modal-close{right:10px;top:10px}dialog h2{padding-right:30px}
 .reading-alert-panel{position:fixed;left:12px;right:12px;top:72px;width:auto;max-width:calc(100vw - 24px);max-height:calc(100dvh - 96px);padding:16px;z-index:100}.reading-alert-panel .row>button{flex:1 1 90px}.notification-item button{margin-left:0;margin-right:6px}
 #toast{box-sizing:border-box;width:max-content;max-width:calc(100vw - 24px);overflow-wrap:anywhere}
}
/* Appearance uses a details panel rather than a dialog. Anchor it to the phone viewport. */
.appearance-panel{box-sizing:border-box;min-width:0;overflow-wrap:anywhere;overscroll-behavior:contain}.appearance-panel fieldset{min-width:0}.appearance-panel .palette-options{grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-panel button{min-width:0;max-width:100%;white-space:normal}.appearance-panel .mode-options{flex-wrap:wrap}.appearance-panel .appearance-close{display:block;margin:12px 0 0;width:100%}
@media(max-width:760px){.appearance-menu .appearance-panel{position:fixed;inset:auto;top:max(12px,env(safe-area-inset-top));left:12px;right:12px;width:auto;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;padding:18px;z-index:120}.appearance-panel .mode-options button{flex:1 1 70px;min-height:44px}.appearance-panel .palette-options button{min-height:44px}}
