/* Phone-first local screens and native dialogs. */
.device-page,.device-dialog,.device-save-entry {font-family:Geist,system-ui,sans-serif;font-size:16px;line-height:1.5;color:var(--text,#182235);overflow-wrap:anywhere}
.device-page {box-sizing:border-box;width:100%;max-width:720px;margin:24px auto;padding:16px;padding-bottom:calc(32px + env(safe-area-inset-bottom))}
.device-page *,.device-dialog *,.device-save-entry * {box-sizing:border-box;min-width:0;max-width:100%}
.device-page h1 {font-size:24px}.device-page h2,.device-dialog h2 {font-size:20px}
.device-page fieldset,.device-card {border:1px solid var(--line,#68758a);border-radius:12px;margin:16px 0;padding:16px;background:var(--surface,#fff)}
.device-page label,.device-dialog label {display:block;font-size:16px;margin-top:16px}
.device-page input,.device-page select,.device-dialog input {display:block;width:100%;min-height:48px;font:inherit;padding:10px;border:1px solid var(--line,#68758a);border-radius:8px;color:inherit;background:var(--surface,#fff)}
.device-page button,.device-page a,.device-dialog button,.device-save-entry button {font:inherit;min-height:48px;white-space:normal;overflow-wrap:anywhere;padding:10px 14px;border:1px solid var(--line,#68758a);border-radius:8px;color:inherit;background:var(--surface,#fff);cursor:pointer}
.device-primary,.device-page .device-primary,.device-dialog button[type=submit] {background:#4f46e5;color:#fff;border-color:#4f46e5;width:100%}
.device-actions {display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.device-card>button {display:block;width:100%;margin-top:10px}
.device-card h2 button {text-align:left;width:100%;font-weight:700}
.device-page button:focus-visible,.device-page a:focus-visible,.device-dialog :focus-visible,.device-save-entry button:focus-visible {outline:3px solid #818cf8;outline-offset:3px}
.device-dialog {box-sizing:border-box;width:calc(100% - 32px);max-width:480px;max-height:calc(100dvh - 32px);border:1px solid var(--line,#68758a);border-radius:16px;padding:20px;overflow-y:auto;background:var(--surface,#fff)}
.device-dialog::backdrop {background:rgba(0,0,0,.5)}
.device-dialog button {margin:8px 4px 0 0}
.device-save-entry {margin:16px 0}.device-save-entry p {margin:8px 0}
#airport-choices {display:grid;gap:8px;margin-top:8px}#airport-choices button {text-align:left}
html[data-theme=dark] .device-page,html[data-theme=dark] .device-dialog,html[data-theme=dark] .device-save-entry {--text:#f1f5f9;--surface:#172033;--line:#94a3b8;color:var(--text)}
html[data-theme=dark]:has(.device-page) {background:#0f172a;color-scheme:dark}
