/* Phase 2 pages (flight requests, permits, activity map). Loaded by those pages only, on top of registry-web.css, in
   the same colours: deep teal #003A45, teal #0F6F7C, gold #C9A227, danger #B42318. Phone first. */

.fld input[type=datetime-local], .fld textarea, .rec textarea {
  display: block; width: 100%; min-height: 48px; padding: 8px 12px; border: 1px solid #9AA7AC; border-radius: 6px;
  background: #fff; color: var(--text); font-size: 16px; font-family: inherit; }
.fld input[type=datetime-local]:focus, .fld textarea:focus, .rec textarea:focus { border-color: var(--teal); outline: 3px solid var(--gold-pale); }

/* maps: the frame, markers, name pills and key are the landing page's (registry-web.css, registry-map-common.js); only the
   heights are set here, and the drone markers and detection dots that only these pages have */
.fly-map, .flights-map { height: 56vh; min-height: 300px; }
.permit-map { height: 240px; margin: 12px 4px 16px; text-align: left; }
.legend { margin-bottom: 16px; }
.swatch-flight { border-color: #E8CF7A; background: rgba(15, 111, 124, .65); }
.swatch-pending { border-color: #C9D2D5; background: rgba(86, 97, 102, .5); }
.swatch-known { border-color: #0B5D2A; background: #0B5D2A; }
.swatch-registered { border-color: #C9A227; background: #C9A227; }
.swatch-unknown { border-color: #B42318; background: #B42318; }
/* a drone is a round deep-teal marker with a gold ring and a drone in it (an aircraft is a bare plane glyph); a waiting request is grey */
.map-pin-drone .pin-dot { background: var(--teal-deep); color: var(--gold-pale); border-color: var(--gold); }
.map-pin-drone .pin-dot svg { width: 17px; height: 17px; }
.map-pin-waiting .pin-dot { background: #566166; color: #fff; border-color: #C9D2D5; }
.map-pin-det .pin-dot { left: -8px; top: -8px; width: 16px; height: 16px; }
.map-pin-det-known .pin-dot { background: #0B5D2A; }
.map-pin-det-registered .pin-dot { background: var(--gold); }
.map-pin-det-unknown .pin-dot { background: var(--danger); }

/* the checks, one by one */
.checks { list-style: none; padding: 0; margin: 12px 0; }
.chk { padding: 10px 12px; margin: 6px 0; border-left: 6px solid var(--line); background: var(--page); }
.chk b { display: inline-block; min-width: 9em; }
.chk small { display: block; color: var(--muted); font-size: 14px; margin-top: 2px; }
.chk-pass { border-left-color: #0B5D2A; }
.chk-pass b { color: #0B5D2A; }
.chk-fail { border-left-color: var(--danger); background: #FFF4F2; }
.chk-fail b { color: var(--danger); }
.chk-coord { border-left-color: var(--gold); background: #FBF0C8; }
.chk-coord b { color: #6B5200; }

/* badges for the request statuses (the registration ones are in registry-web.css) */
.badge-checks-passed, .badge-coordinator-review, .badge-returned-to-pilot { background: #FBF0C8; color: #6B5200; }
.badge-denied, .badge-withdrawn { background: #FBE0DC; color: #8A1A10; }
.badge-flown, .badge-valid { background: #DDF3E4; color: #0B5D2A; }

/* the permit */
.permit { text-align: center; }
.permit .qr { width: 180px; height: 180px; max-width: 60%; image-rendering: pixelated; margin: 8px auto; display: block; }
.permit .facts { text-align: left; }

/* drones and manned aircraft together: a flight with a low aircraft close by is amber, the aircraft has an amber halo */
/* a drone heard by a Remote ID receiver: a quad outline in the glyph's colour, no round marker behind it */
.map-pin-uas .pin-dot { left: -12px; top: -12px; width: 24px; height: 24px; background: transparent; border: 0; box-shadow: none; color: var(--uas, #E8CF7A); }
.map-pin-uas .pin-dot svg { width: 14px; height: 14px; filter: drop-shadow(0 0 1.5px #0A2A33) drop-shadow(0 0 3px #0A2A33); }
.map-pin-uas .pin-dot path { stroke-width: 2.6; }
.map-pin-uas .pin-label { left: 16px; }
.map-pin-uas .pin-label.pin-left { left: auto; right: 16px; }
.map-pin-uas-authorized { --uas: #2BB3C4; }
.map-pin-uas-registered { --uas: #E8CF7A; }
.map-pin-uas-unknown { --uas: #FF5A4F; }
.map-pin-uas .pin-label { border-color: var(--uas); }
.swatch-uas { width: 11px; height: 11px; border-radius: 2px; background: var(--uas); border: 1.5px solid #0A2A33; }
.swatch-uas-authorized { --uas: #2BB3C4; }
.swatch-uas-registered { --uas: #E8CF7A; }
.swatch-uas-unknown { --uas: #FF5A4F; }
.swatch-alert { border-color: #FFB020; background: rgba(255, 176, 32, .55); }
.flight-strip { margin-top: 8px; }
.flight-strip.is-alert { border-color: #FFB020; box-shadow: 0 0 0 3px rgba(255, 176, 32, .35); }
.flight-strip.is-alert [data-live="conflicts"] { color: #8A5300; }
.plane-conflict svg { filter: drop-shadow(0 0 3px #FFB020) drop-shadow(0 0 7px #FFB020); }
.plane-conflict path { stroke: #FFB020; stroke-width: 2; }
.map-pin-alert .pin-dot { border-color: #FFB020; box-shadow: 0 0 0 4px rgba(255, 176, 32, .6), 0 2px 6px rgba(0, 0, 0, .45); }
@media (prefers-reduced-motion: no-preference) {
  .map-pin-alert .pin-dot { animation: fly-alert 1.4s ease-in-out infinite; }
  @keyframes fly-alert { 50% { box-shadow: 0 0 0 9px rgba(255, 176, 32, .15), 0 2px 6px rgba(0, 0, 0, .45); } }
}
/* the forecast line in the flight request form: a coloured dot, one sentence, the model's credit */
.wx-line { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin: 10px 0; padding: 8px 12px; border-left: 4px solid var(--gold); background: var(--page); color: var(--text); }
.wx-line small { color: var(--muted); }
.wx-dot { flex: none; width: 12px; height: 12px; border-radius: 50%; background: var(--muted); align-self: center; }
.wx-line[data-verdict="go"] .wx-dot { background: #0B5D2A; }
.wx-line[data-verdict="caution"] .wx-dot { background: var(--gold); box-shadow: 0 0 0 2px #6B5200; }
.wx-line[data-verdict="no"] .wx-dot { background: var(--danger); }
.wx-line[data-verdict="night"] .wx-dot { background: #1B2A41; }
/* the hold on the pilot's page: gold frame, amber bar */
.hold-banner { background: #FFF8DC; border: 2px solid var(--gold); border-left: 8px solid #FFB020; border-radius: 4px; padding: 12px 14px; margin: 14px 0; color: var(--teal-deep); font-weight: 600; }
.hold-banner p { margin: 0 0 6px; }
.hold-banner p:last-child { margin: 0; }
