:root {
  --att-bg:     #050709;
  --att-bg2:    #0b1220;
  --att-bg3:    #101d2e;
  --att-border: #1e2a3a;
  --att-accent: #3b82f6;
  --att-green:  #00d4aa;
  --att-amber:  #f59e0b;
  --att-red:    #ef4444;
  --att-text:   #e2e8f0;
  --att-mu:     #64748b;
  --att-mu2:    #94a3b8;
}
.att-app { display:flex; flex-direction:column; width:100%; height:90vh; min-height:600px; background:var(--att-bg); color:var(--att-text); font-family:'Courier New',monospace; font-size:11px; overflow:hidden; border:1px solid var(--att-border); }
.att-toolbar { display:flex; align-items:center; justify-content:space-between; background:var(--att-bg2); border-bottom:1px solid var(--att-border); padding:6px 12px; flex-shrink:0; flex-wrap:wrap; gap:6px; }
.att-tb-left,.att-tb-right { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.att-logo { color:var(--att-accent); font-weight:700; font-size:13px; letter-spacing:1px; }
.att-hud { display:flex; align-items:center; gap:5px; color:var(--att-mu2); font-size:10px; }
.att-hud-dot { width:7px; height:7px; border-radius:50%; background:var(--att-mu); display:inline-block; }
.att-hud-dot.att-blink { background:var(--att-green); animation:att-blink 1.2s infinite; }
@keyframes att-blink { 0%,100%{opacity:1} 50%{opacity:.3} }
.att-clock { color:var(--att-mu2); font-size:10px; }
.att-tb { background:var(--att-bg3); border:1px solid var(--att-border); color:var(--att-mu2); padding:3px 8px; cursor:pointer; font-family:inherit; font-size:10px; letter-spacing:.5px; transition:all .15s; }
.att-tb:hover { border-color:var(--att-accent); color:var(--att-text); }
.att-tb--on { border-color:var(--att-accent); color:var(--att-accent); }
.att-body { display:flex; flex:1; overflow:hidden; }
.att-sidebar { width:200px; min-width:180px; background:var(--att-bg2); border-right:1px solid var(--att-border); overflow-y:auto; flex-shrink:0; padding:6px 0; }
.att-panel { padding:8px 10px; border-bottom:1px solid var(--att-border); }
.att-panel-hdr { color:var(--att-mu2); font-size:9px; letter-spacing:1px; margin-bottom:6px; text-transform:uppercase; }
.att-loc-name { color:var(--att-text); font-size:11px; margin-bottom:2px; }
.att-loc-coords { color:var(--att-mu); font-size:9px; margin-bottom:6px; }
.att-input { width:100%; box-sizing:border-box; background:var(--att-bg3); border:1px solid var(--att-border); color:var(--att-text); font-family:inherit; font-size:10px; padding:4px 6px; outline:none; margin-top:4px; }
.att-input:focus { border-color:var(--att-accent); }
.att-textarea { min-height:60px; resize:vertical; }
.att-btn-row { display:flex; gap:4px; margin-top:6px; }
.att-sm-btn { flex:1; background:var(--att-bg3); border:1px solid var(--att-border); color:var(--att-mu2); font-family:inherit; font-size:9px; padding:3px 4px; cursor:pointer; }
.att-sm-btn:hover { border-color:var(--att-accent); color:var(--att-text); }
.att-sm-btn.att-pickmode--on { border-color:var(--att-amber); color:var(--att-amber); }
.att-pick-hint { color:var(--att-amber); font-size:9px; margin-top:4px; }
.att-radius-row { display:flex; align-items:center; gap:8px; }
.att-radius-row input[type=range] { flex:1; accent-color:var(--att-accent); }
#att-radius-val { color:var(--att-accent); font-size:10px; white-space:nowrap; }
.att-chk-label { display:flex; align-items:center; gap:5px; color:var(--att-mu2); font-size:10px; margin-bottom:3px; cursor:pointer; }
.att-stat { color:var(--att-mu2); font-size:10px; line-height:1.6; }
.att-mltb-row { display:flex; flex-wrap:wrap; gap:3px; }
.att-mltb { background:var(--att-bg3); border:1px solid var(--att-border); color:var(--att-mu); font-family:inherit; font-size:9px; padding:2px 6px; cursor:pointer; }
.att-mltb:hover { border-color:var(--att-accent); }
.att-mltb--on { border-color:var(--att-accent); color:var(--att-accent); }
.att-mapwrap { flex:1; position:relative; overflow:hidden; }
.att-leaflet-map { width:100%; height:100%; }
.att-rightpanel { width:220px; min-width:200px; background:var(--att-bg2); border-left:1px solid var(--att-border); overflow-y:auto; flex-shrink:0; }
.att-aclist { padding:4px 0; }
.att-ac-empty { color:var(--att-mu); font-size:10px; padding:10px; }
.att-accard { border-bottom:1px solid var(--att-border); padding:6px 10px; cursor:pointer; transition:background .1s; }
.att-accard:hover { background:var(--att-bg3); }
.att-accard--selected { background:var(--att-bg3); border-left:2px solid var(--att-accent); }
.att-ac-call { color:var(--att-accent); font-weight:700; font-size:11px; margin-bottom:2px; }
.att-ac-call--ground { color:#475569; }
.att-ac-row { display:flex; justify-content:space-between; color:var(--att-mu2); font-size:9px; margin-bottom:1px; }
.att-ac-val { color:var(--att-text); }
.att-ac-badge { display:inline-block; font-size:8px; padding:1px 4px; margin-top:3px; border:1px solid; }
.att-ac-badge--air { color:var(--att-green); border-color:var(--att-green); }
.att-ac-badge--ground { color:#475569; border-color:#475569; }
.att-modal { position:fixed; inset:0; background:rgba(0,0,0,.75); display:flex; align-items:flex-start; justify-content:center; z-index:9999; overflow-y:auto; padding:20px; }
.att-modal-box { background:var(--att-bg2); border:1px solid var(--att-border); width:100%; max-width:900px; padding:16px; position:relative; }
.att-modal-box--sm { max-width:500px; }
.att-modal-close { position:absolute; top:10px; right:12px; background:none; border:none; color:var(--att-mu2); font-size:16px; cursor:pointer; }
.att-modal-close:hover { color:var(--att-red); }
.att-rpt-hdr { display:flex; align-items:center; gap:12px; padding-bottom:10px; border-bottom:1px solid var(--att-border); margin-bottom:10px; }
.att-rpt-logo { color:var(--att-accent); font-weight:700; font-size:13px; }
.att-rpt-badge { border:1px solid var(--att-accent); color:var(--att-accent); font-size:9px; padding:2px 6px; letter-spacing:1px; }
.att-rpt-meta { color:var(--att-mu2); font-size:10px; line-height:1.7; margin-bottom:10px; }
.att-rpt-canvas { width:100%; height:140px; display:block; background:var(--att-bg); margin-bottom:10px; }
.att-rpt-tbl-wrap { overflow-x:auto; margin-bottom:10px; }
.att-rpt-tbl { width:100%; border-collapse:collapse; font-size:9px; }
.att-rpt-tbl th { background:var(--att-bg3); color:var(--att-mu2); padding:4px 6px; border:1px solid var(--att-border); text-align:left; white-space:nowrap; }
.att-rpt-tbl td { padding:3px 6px; border:1px solid var(--att-border); color:var(--att-text); white-space:nowrap; }
.att-rpt-air { color:var(--att-green); font-weight:700; }
.att-rpt-gnd { color:#475569; }
.att-rpt-footer { display:flex; justify-content:space-between; color:var(--att-mu); font-size:9px; border-top:1px solid var(--att-border); padding-top:6px; margin-bottom:10px; }
.att-rpt-actions { display:flex; gap:8px; }
.att-rpt-btn { background:var(--att-bg3); border:1px solid var(--att-border); color:var(--att-mu2); font-family:inherit; font-size:10px; padding:5px 12px; cursor:pointer; }
.att-rpt-btn:hover { border-color:var(--att-accent); color:var(--att-accent); }
.att-rpt-btn--red { border-color:var(--att-red); color:var(--att-red); margin-top:10px; width:100%; }
.att-rpt-btn--red:hover { background:var(--att-red); color:#fff; }
.att-uap-desc { color:var(--att-mu2); font-size:10px; margin-bottom:12px; }
.att-form-row { margin-bottom:8px; }
.att-form-row label { display:block; color:var(--att-mu2); font-size:9px; margin-bottom:3px; }
.att-sidebar::-webkit-scrollbar,.att-rightpanel::-webkit-scrollbar { width:4px; }
.att-sidebar::-webkit-scrollbar-track,.att-rightpanel::-webkit-scrollbar-track { background:var(--att-bg); }
.att-sidebar::-webkit-scrollbar-thumb,.att-rightpanel::-webkit-scrollbar-thumb { background:var(--att-border); }

/* Force map container to always have height */
#att-mapwrap, .att-mapwrap { min-height: 500px !important; }
.att-leaflet-map { min-height: 500px !important; height: 100% !important; }
.att-app { min-height: 700px !important; }

/* Theme height overrides */
#att-app, .att-app { display:flex !important; flex-direction:column !important; width:100% !important; height:85vh !important; min-height:650px !important; overflow:hidden !important; }
#att-body, .att-body { display:flex !important; flex:1 1 auto !important; overflow:hidden !important; min-height:0 !important; }
#att-mapwrap, .att-mapwrap { flex:1 1 auto !important; position:relative !important; min-height:500px !important; overflow:hidden !important; }
#att-leaflet-map, .att-leaflet-map { position:absolute !important; top:0 !important; left:0 !important; width:100% !important; height:100% !important; min-height:500px !important; }

/* Fix for Drupal admin toolbar / Settings Tray collapsing the block */
body.toolbar-fixed .att-app,
body.toolbar-horizontal .att-app,
body.toolbar-tray-open .att-app { display:flex !important; }
.settings-tray-editable .att-app { display:flex !important; }
[data-drupal-settingstray] .att-app { display:flex !important; }
