/* Global layout and form components. */
*{box-sizing:border-box}
    html,body{margin:0;min-height:100%;background:var(--page);color:var(--atg-black)}
    body{min-height:100vh;min-height:100dvh;font-size:var(--font-body-size);line-height:var(--line-height-base);-webkit-text-size-adjust:100%}
    h1,h2,h3,h4{line-height:var(--line-height-tight)}
    button{font-size:var(--font-button-size)}
    .aircaptain-widget{width:min(100%,760px);margin:0 auto;padding:10px}
    .card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}
    .head{display:flex;gap:10px;align-items:center;padding:12px;background:var(--atg-dark);color:white}
    .head img{height:26px;width:auto;object-fit:contain}.eyebrow{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--atg-yellow);font-weight:900}.head h1{font-size:17px;line-height:1.1;margin:2px 0 0;font-weight:900}
    form{display:grid;gap:9px;padding:10px}.grid{display:grid;grid-template-columns:1fr;gap:8px}.row2{grid-template-columns:1fr 1fr}
    label{display:grid;gap:4px;font-size:var(--font-label-size);font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#3f4a40}
    input,textarea{width:100%;border:1px solid #cfd8cf;border-radius:0;padding:11px 10px;font:inherit;font-size:var(--font-input-size);background:white;color:#111;outline:none}input:focus,textarea:focus{border-color:var(--atg-green);box-shadow:0 0 0 2px rgba(85,123,86,.16)}
    textarea{min-height:72px;resize:none;overflow:hidden;line-height:1.45}
    .address-wrap{position:relative}.suggestions{position:absolute;z-index:20;left:0;right:0;top:100%;background:white;border:1px solid var(--line);box-shadow:var(--shadow);display:none;max-height:190px;overflow:auto}.suggestions.show{display:block}.suggestions button{width:100%;border:0;border-bottom:1px solid #eef1ee;background:white;text-align:left;padding:10px;font:inherit;font-size:13px;color:#1d211d}.suggestions button:last-child{border-bottom:0}.suggestions small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.address-meta{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;border:3px solid #343a34;background:white;font-size:0;color:transparent;padding:0}.address-meta.ok{background:var(--atg-green);border-color:var(--atg-green)}.address-meta.bad{background:#a43b2b;border-color:#a43b2b}

/* Application chrome follows the selected theme. Map controls and annotations stay neutral. */
html[data-theme="dark"],
html[data-theme="dark"] body{background:var(--ui-page);color:var(--ui-text)}
html[data-theme="dark"] .card{background:var(--ui-panel);border-color:var(--ui-border)}
html[data-theme="dark"] label{color:var(--ui-muted)}
html[data-theme="dark"] input,
html[data-theme="dark"] textarea{background:var(--ui-input);color:var(--ui-text);border-color:var(--ui-border)}
html[data-theme="dark"] .fine{color:var(--ui-muted)}
html[data-theme="dark"] .suggestions{background:var(--ui-input);color:var(--ui-text);border-color:var(--ui-border)}
html[data-theme="dark"] .suggestions button{background:var(--ui-input);color:var(--ui-text);border-color:var(--ui-border)}
html[data-theme="dark"] .suggestions button:hover,
html[data-theme="dark"] .suggestions button:focus-visible{background:var(--ui-surface-strong)}
html[data-theme="dark"] .suggestions small{color:var(--ui-muted)}
