/* Shared mobile safeguards: independent of area accent. */
:root{--muted:#6b625b}footer{color:#6b625b}
input,select,textarea{font-family:inherit;font-size:16px}h1,h2,.app-card strong{overflow-wrap:anywhere}.topbar nav{flex-wrap:wrap}.apps{grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr))}
dialog{position:fixed;top:calc(var(--viewport-top,0px) + 8px);bottom:auto;margin:0 auto;max-height:calc(var(--viewport-height,100dvh) - 16px);max-width:calc(100% - 16px);overflow:hidden;padding:0}
dialog[open]{display:flex;flex-direction:column}dialog>form{display:flex;flex-direction:column;min-height:0;max-height:calc(var(--viewport-height,100dvh) - 16px);overflow:hidden;padding:0}.dialog-head{flex:none;padding:16px 20px 6px}.dialog-head h2{margin:0}.dialog-body{padding:0 20px;min-height:0;overflow-y:auto;overscroll-behavior:contain}.dialog-actions{flex:none;padding:10px 20px max(14px,env(safe-area-inset-bottom));background:var(--paper,#fffaf6);display:flex;gap:10px;justify-content:space-between}.dialog-actions button{min-height:42px}.dialog-body label{display:block;margin:10px 0}.dialog-body input,.dialog-body textarea,.dialog-body select{max-width:100%}
@media(max-height:500px){.dialog-head{padding-top:8px}.dialog-head h2{font-size:22px}.dialog-actions{padding-top:6px;padding-bottom:8px}}
