:root{
  --bg:#020617;
  --panel:#0f172a;
  --panel2:#111827;
  --text:#e2e8f0;
  --muted:#94a3b8;
  --border:#1f2937;
  --green:#00A51C;
  --yellow:#F2C300;
  --amber:#E97132;
  --red:#FF1A1A;
  --sky:#60a5fa;
}
*{box-sizing:border-box}
html,body{height:100%;overscroll-behavior:none}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
button,select,input{font:inherit}
button{cursor:pointer}
a{color:inherit}
.hidden{display:none !important}
.topbar{position:sticky;top:0;z-index:20;display:grid;gap:4px;padding:7px 12px 6px;border-bottom:1px solid var(--border);background:rgba(2,6,23,.95);backdrop-filter:blur(8px)}
.brand-block{display:flex;align-items:center;gap:9px;min-width:0;white-space:nowrap}
.brand-logo{display:block;height:27px;width:auto;object-fit:contain}
.brand-small{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.brand-title{font-size:26px;font-weight:700;line-height:1}
.version-line{font-size:11px;color:var(--muted);margin-top:3px}
.nav{display:flex;gap:9px;flex-wrap:nowrap;align-items:center}
.nav button,.btn,.icon-btn{border:1px solid var(--border);background:var(--panel);color:var(--text);padding:9px 13px;border-radius:12px}
.nav button.active,.btn.primary,.icon-btn.active{background:#dc2626;color:#fff}
.icon-btn{min-width:44px;padding:10px 12px}
.container{max-width:1600px;margin:0 auto;padding:24px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:24px;overflow:hidden}
.card-header{padding:24px}.card-body{padding:24px}
.card h2,.card h3,.card h4{margin:0}
.muted{color:var(--muted)}
.disclaimer{max-width:960px;margin:80px auto;padding:0 24px}
.disclaimer-grid{display:grid;gap:20px}
.disclaimer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.version-badge{padding:16px;border-radius:18px;background:rgba(185,28,28,.1);border:1px solid rgba(239,68,68,.2);color:#fca5a5}
.hero-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.info-box{border:1px solid var(--border);background:#0b1220;border-radius:18px;padding:18px}
.controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}
.search-control{position:relative;flex:1 1 240px;min-width:180px;max-width:760px}
.search-control input{width:100%;background:var(--panel);border:1px solid var(--border);border-radius:16px;color:var(--text);padding:12px 14px 12px 40px}
.icon-left{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}
.select-wrap{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:0 12px;flex:0 0 auto}
.select-wrap select{border:none;background:transparent;color:var(--text);padding:12px 0;outline:none}
.toggle{display:flex;gap:8px;background:var(--panel);border:1px solid var(--border);padding:4px;border-radius:16px;flex:0 0 auto}
.toggle button{border:none;background:transparent;color:var(--text);padding:8px 12px;border-radius:12px}
.toggle button.active{background:#1e293b}
.list-cards{display:flex;flex-direction:column;gap:12px}
.airport-card{cursor:pointer}
.airport-card.card-highlight{outline:2px solid rgba(96,165,250,.7);box-shadow:0 0 0 3px rgba(96,165,250,.16)}
.airport-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.airport-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);font-size:13px;color:#111;font-weight:600}
.bg-green{background:rgba(0,165,28,.5);color:#111;border-color:rgba(0,165,28,.45)}
.bg-yellow{background:rgba(242,195,0,.5);color:#111;border-color:rgba(242,195,0,.45)}
.bg-amber{background:rgba(233,113,50,.5);color:#111;border-color:rgba(233,113,50,.45)}
.bg-red{background:rgba(255,26,26,.5);color:#111;border-color:rgba(255,26,26,.45)}
.detail-badge{color:#111 !important;font-weight:600}
.status-pair{display:flex;gap:12px;align-items:center}
.square-status{width:24px;height:24px;border-radius:6px}.circle-status{width:24px;height:24px;border-radius:999px}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:24px;position:relative;background:var(--panel)}
.list-table{min-width:1480px;width:max-content;border-collapse:separate;border-spacing:0;table-layout:fixed}
.list-table col:nth-child(1){width:100px}.list-table col:nth-child(2){width:90px}.list-table col:nth-child(3){width:190px}
.list-table col:nth-child(4){width:76px}.list-table col:nth-child(5){width:86px}.list-table col:nth-child(6){width:76px}.list-table col:nth-child(7){width:86px}
.list-table col:nth-child(8){width:110px}.list-table col:nth-child(9){width:110px}.list-table col:nth-child(10){width:120px}
.list-table col:nth-child(11){width:100px}.list-table col:nth-child(12){width:140px}.list-table col:nth-child(13){width:120px}
.list-table th,.list-table td{padding:12px 14px;text-align:left;border-top:1px solid var(--border);white-space:nowrap;background:var(--panel)}
.list-table thead th{position:sticky;top:0;background:#020617;color:#cbd5e1;z-index:5;border-top:none}
.list-table tbody tr:hover td{background:rgba(30,41,59,.55)}
.list-table tbody tr{cursor:pointer}
.sticky-col{position:sticky;z-index:4;background:var(--panel)!important}
.list-table thead .sticky-col{z-index:7;background:#020617!important}
.sticky-col-1{left:0}.sticky-col-2{left:100px}.sticky-col-3{left:190px}
.sticky-shadow{box-shadow:2px 0 0 var(--border)}
.header-sort-btn{display:flex;align-items:center;gap:6px;width:100%;border:none;background:transparent;color:inherit;padding:0;text-align:left;font-weight:600}
.header-sort-btn:hover{color:#fff}
.row-highlight td{background:rgba(96,165,250,.16)!important}
.row-highlight td.sticky-col{background:rgba(96,165,250,.18)!important}
.tick{font-size:18px;font-weight:700}
.detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.note-box{border:1px solid var(--border);background:#0b1220;border-radius:18px;padding:18px}
.map-page{display:grid;gap:18px}
.map-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.map-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.map-search-form{display:flex;gap:8px;align-items:center;flex-wrap:nowrap}
.map-search-form input{background:var(--panel);border:1px solid var(--border);border-radius:14px;color:var(--text);padding:10px 12px;min-width:180px}
.map-shell{border:1px solid var(--border);border-radius:24px;overflow:hidden;background:#07111f;position:relative}

.map-card-full{overflow:hidden}
.gps-pill{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border-radius:999px;border:1px solid rgba(34,197,94,.3);background:rgba(34,197,94,.1);color:#86efac;font-size:14px}
.marker-shell{display:flex;align-items:center;gap:8px;transform:translate(-10px,-10px)}
.marker-box{width:20px;height:20px;border-radius:4px;border:1px solid rgba(255,255,255,.35);position:relative;flex:0 0 auto}
.marker-dot{position:absolute;left:50%;top:50%;width:11px;height:11px;border-radius:50%;transform:translate(-50%,-50%);border:1px solid #0f172a}
.marker-label{font-size:11px;font-weight:700;line-height:1;text-shadow:0 1px 2px rgba(2,6,23,.9);white-space:nowrap;font-family:Inter,Segoe UI,Arial,sans-serif}
.gps-aircraft{width:30px;height:30px;border-radius:50%;border:1px solid rgba(96,165,250,.45);background:rgba(59,130,246,.15);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px rgba(2,6,23,.35)}
.gps-aircraft svg{width:22px;height:22px;display:block;transform-origin:center center}

/* V2.0.8 aircraft symbol marker - replaces star-like SVG with clear aircraft glyph */
.gps-aircraft .aircraft-symbol{
  display:inline-block;
  font-size:22px;
  line-height:1;
  color:#60a5fa;
  text-shadow:0 0 2px rgba(226,232,240,.8), 0 1px 4px rgba(0,0,0,.65);
  transform-origin:center center;
}
.gps-aircraft .legend-aircraft-symbol{
  transform:rotate(-45deg);
}
.map-aircraft-marker{
  z-index:900;
}
.highlight-pulse{filter:drop-shadow(0 0 6px rgba(96,165,250,.9))}
.modal-backdrop{position:fixed;inset:0;background:rgba(2,6,23,.55);display:flex;align-items:flex-start;justify-content:center;padding:96px 18px 24px;z-index:5000}
.modal-panel{position:relative;z-index:5001;width:min(760px,100%);max-height:calc(100vh - 140px);overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:24px;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.modal-header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border);background:rgba(15,23,42,.96);backdrop-filter:blur(8px);z-index:2}
.modal-body{display:grid;gap:20px;padding:20px}
.legend-list{display:grid;gap:14px}.legend-row{display:flex;gap:12px;align-items:center}
.legend-circle,.legend-square{width:16px;height:16px}.legend-circle{border-radius:999px}.legend-square{border-radius:4px}
.legend-card .row-item{display:flex;align-items:flex-start;gap:12px}.legend-bullet-circle,.legend-bullet-square{width:12px;height:12px;margin-top:8px}.legend-bullet-circle{border-radius:999px}.legend-bullet-square{border-radius:2px}
.quick-table{min-width:0!important;width:100%;table-layout:fixed}.quick-table th,.quick-table td{font-size:13px;white-space:normal;word-break:break-word;padding:10px 12px;border-top:1px solid var(--border)}
.guide-page{overflow:hidden}.guide-section{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:#0b1220;margin-bottom:12px}
.guide-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;border:none;background:#0f172a;color:var(--text);padding:16px 18px;text-align:left;font-weight:600}
.guide-content{display:none;padding:0 18px 18px;color:var(--text)}.guide-content.open{display:block}.guide-content ul{margin:0;padding-left:20px;display:grid;gap:10px;line-height:1.65}
.leaflet-container{background:#07111f}
.leaflet-control-zoom a{background:#0f172a!important;color:#e2e8f0!important;border-color:#1f2937!important}
@media (max-width:1100px){
  .hero-grid,.detail-grid{grid-template-columns:1fr}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .map-shell-full,#leaflet-map{min-height:560px;height:560px}
}
@media (max-width:720px){
  .topbar{padding:14px}.container{padding:16px}.brand-title{font-size:22px}.brand-logo{height:30px}
  .controls{gap:10px}.search-control{flex:1 1 160px}.map-search-form{flex:1 1 100%}.map-search-form input{min-width:0;width:100%}
}


.topbar-main{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:nowrap;}
.topbar-map{padding-bottom:10px;}
.map-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;}
.map-search-form.compact input{min-width:160px;width:220px;max-width:40vw;}
.map-container{padding:8px 12px 12px;}
.map-page-full{height:calc(100vh - 160px);min-height:320px;}
.map-shell-full{height:100%;}
#leaflet-map{width:100%;height:100%;min-height:320px !important;}
body.map-view-active{overflow:hidden;}
body.map-view-active .container{overflow:hidden;}
body.map-view-active .topbar{position:sticky;}

.map-page{display:block;}
.map-header,.map-tools{display:none !important;}

.list-table thead th{top:0;position:sticky;}
.list-table thead .sticky-col{top:0;position:sticky;}
.table-wrap{max-height:calc(100vh - 240px);}

@media (max-width:900px){.topbar{padding:8px 12px 8px}.brand-title{font-size:22px}.brand-logo{height:30px}.map-search-form.compact input{width:180px;max-width:50vw}.nav button,.btn,.icon-btn{padding:8px 11px;border-radius:12px}}
@media (max-width:640px){.topbar-main{display:grid;grid-template-columns:1fr;gap:8px}.nav{gap:8px}.map-toolbar{justify-content:flex-start}.map-search-form.compact{flex:1 1 auto}.map-search-form.compact input{width:100%;max-width:none}}
.compass-symbol{font-size:20px;line-height:1}
.range-label{color:#111;background:rgba(255,255,255,.75);border:1px solid rgba(15,23,42,.2);border-radius:999px;padding:2px 6px;font-size:11px;font-weight:700;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.2)}

/* Phase 2 additions */
.badge-button{border:1px solid var(--border);cursor:pointer;text-align:left}
.badge-button:hover{filter:brightness(1.08);transform:translateY(-1px)}
.marker-category-dot{display:flex;align-items:center;justify-content:center;color:#111;font-size:9px;font-weight:800;line-height:1;text-shadow:none}
.marker-box .marker-category-dot{position:absolute;left:50%;top:50%;width:12px;height:12px;border-radius:50%;transform:translate(-50%,-50%);border:1px solid #0f172a}
.circle-status.marker-category-dot{color:#111;font-size:10px;font-weight:800}
.update-banner,.auth-warning{border:1px solid rgba(96,165,250,.35);background:rgba(96,165,250,.12);border-radius:16px;padding:12px 14px;margin-bottom:14px;color:#dbeafe}
.auth-warning{border-color:rgba(242,195,0,.45);background:rgba(242,195,0,.14);color:#fef9c3}
.auth-warning.amber{border-color:rgba(233,113,50,.55);background:rgba(233,113,50,.18);color:#ffedd5}
.auth-warning.danger{border-color:rgba(255,26,26,.55);background:rgba(255,26,26,.16);color:#fee2e2}
.btn.small{padding:6px 10px;border-radius:10px;margin-left:8px}
.small-modal{width:min(560px,100%)}
.range-label{background:rgba(15,23,42,.9);border:1px solid var(--border);color:#e2e8f0;border-radius:999px;padding:2px 7px;font-size:11px;white-space:nowrap}
.list-table{min-width:1720px}
@media (display-mode: standalone){body{user-select:none;-webkit-user-select:none}.topbar{padding-top:calc(10px + env(safe-area-inset-top))}}

/* Phase 2.0.1 refinements */
.list-page .controls{
  position: sticky;
  top: 82px;
  z-index: 30;
  background: rgba(2,6,23,.96);
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 10px;
  backdrop-filter: blur(8px);
}
.map-view-active .list-page .controls{top:0}
.marker-category-dot{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#111;
  font-size:9px;
  line-height:1;
  font-weight:800;
}
.status-pair .square-status{
  position:relative;
  width:30px;
  height:30px;
  border-radius:7px;
  border:1px solid rgba(255,255,255,.35);
}
.status-pair .circle-status{
  position:absolute;
  left:50%;
  top:50%;
  width:18px;
  height:18px;
  transform:translate(-50%,-50%);
  border:1px solid rgba(15,23,42,.9);
}
.ordered-card-badges .badge-button{
  min-width: 128px;
  justify-content: center;
}
.list-table{
  min-width: 2040px;
}


/* Phase 2.0.3 refinements */
.bg-grey{background:rgba(128,128,128,.5);color:#111;border-color:rgba(128,128,128,.45)}
.gps-pill{border:none;cursor:pointer;font-weight:700}
.gps-live{border:1px solid rgba(0,165,28,.45);background:rgba(0,165,28,.18);color:#bbf7d0}
.gps-waiting,.gps-delayed{border:1px solid rgba(233,113,50,.55);background:rgba(233,113,50,.18);color:#ffedd5}
.gps-denied,.gps-unavailable{border:1px solid rgba(255,26,26,.55);background:rgba(255,26,26,.18);color:#fee2e2}

:root{--sticky-icao:80px;--sticky-iata:72px;--sticky-country:210px;--sticky-total:362px}
.list-table{border-collapse:separate;border-spacing:0;min-width:2140px}
.list-table col:nth-child(1){width:var(--sticky-icao)}
.list-table col:nth-child(2){width:var(--sticky-iata)}
.list-table col:nth-child(3){width:var(--sticky-country)}
.list-table th,.list-table td{background-clip:padding-box}
.sticky-col{background:#0f172a!important;z-index:20!important;background-clip:padding-box!important}
.list-table thead .sticky-col{background:#020617!important;z-index:40!important}
.sticky-col-1{left:0!important;width:var(--sticky-icao)!important;min-width:var(--sticky-icao)!important;max-width:var(--sticky-icao)!important}
.sticky-col-2{left:var(--sticky-icao)!important;width:var(--sticky-iata)!important;min-width:var(--sticky-iata)!important;max-width:var(--sticky-iata)!important}
.sticky-col-3{left:calc(var(--sticky-icao) + var(--sticky-iata))!important;width:var(--sticky-country)!important;min-width:var(--sticky-country)!important;max-width:var(--sticky-country)!important;box-shadow:8px 0 10px rgba(2,6,23,.95), 2px 0 0 var(--border)!important}
.sticky-shadow{box-shadow:none}
.table-wrap::before{content:"";position:sticky;left:0;display:block;width:var(--sticky-total);height:0;z-index:35;pointer-events:none;background:#0f172a}
.list-table tbody tr:hover td.sticky-col{background:#111827!important}
.row-highlight td.sticky-col{background:rgba(96,165,250,.28)!important}
@media (max-width:900px){:root{--sticky-icao:92px;--sticky-iata:78px;--sticky-country:170px;--sticky-total:340px}.list-table col:nth-child(3){width:var(--sticky-country)}}

/* V2.0.5 refinements */
html,body{min-height:100%;height:100%;overscroll-behavior:none;}
body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);}
@media (display-mode: standalone){
  body{overflow:hidden;background:#020617;}
  .topbar{padding-top:calc(10px + env(safe-area-inset-top));}
  .container{padding-bottom:calc(18px + env(safe-area-inset-bottom));}
  .map-page-full{height:calc(100vh - 138px - env(safe-area-inset-top) - env(safe-area-inset-bottom));}
}
.list-table{isolation:isolate;}
.list-table tbody tr.row-highlight td:not(.sticky-col){position:relative;z-index:1;background:rgba(96,165,250,.16)!important;}
.list-table tbody tr.row-highlight td.sticky-col{position:sticky!important;z-index:80!important;background:#213b60!important;background-clip:padding-box!important;}
.list-table tbody tr.row-highlight td.sticky-col-3{box-shadow:10px 0 12px rgba(2,6,23,.98), 2px 0 0 var(--border)!important;}
.list-table thead th.sticky-col{z-index:100!important;}


/* V2.0.7 offline map fallback background */
.leaflet-container { background: #111111; }
.leaflet-tile-container img[src=''] { display: none; }

/* =========================
   OFFLINE CACHE STATUS
========================= */

.offline-cache-status {
  position: fixed;
  left: 12px;
  bottom: 12px;
  z-index: 9999;
  padding: 8px 12px;
  border-radius: 10px;
  background: rgba(20, 20, 20, 0.88);
  color: #ffffff;
  font-size: 13px;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

.offline-cache-status.hidden {
  display: none;
}

.offline-cache-status.ready {
  background: rgba(0, 120, 60, 0.9);
}

.offline-cache-status.error {
  background: rgba(180, 0, 0, 0.9);
}


/* V2.0.8 trial map control and marker refinements */
.map-search-form.compact input{width:128px;min-width:128px}
.icon-btn{min-width:42px;min-height:42px;font-size:22px;display:inline-flex;align-items:center;justify-content:center}
.icon-btn.active{border-color:rgba(96,165,250,.75);background:rgba(37,99,235,.25);color:#bfdbfe}
.range-icon{position:relative;width:24px;height:24px;border:2px solid currentColor;border-radius:50%;display:inline-block;box-sizing:border-box}
.range-icon::before{content:"";position:absolute;inset:5px;border:2px solid currentColor;border-radius:50%}
.range-icon::after{content:"";position:absolute;left:50%;top:3px;width:0;height:18px;border-left:2px solid currentColor;transform:translateX(-50%)}
.range-icon span::before{content:"";position:absolute;left:3px;top:50%;width:18px;border-top:2px solid currentColor;transform:translateY(-50%)}
.legend-range-icon{color:#cbd5e1;flex:0 0 auto}
.marker-box{width:22px!important;height:22px!important;border-radius:4px}
.marker-box .marker-category-dot,.marker-dot{width:18px!important;height:18px!important;font-size:14px!important;line-height:18px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-weight:800!important;color:#020617!important}
.legend-circle.marker-category-dot{width:22px!important;height:22px!important;font-size:14px!important;line-height:22px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-weight:800!important;color:#020617!important}
.map-center-crosshair{position:relative;width:26px;height:26px;border-radius:50%;opacity:.95;pointer-events:none}
.map-center-crosshair::before,.map-center-crosshair::after{content:"";position:absolute;background:#e2e8f0;box-shadow:0 0 4px rgba(2,6,23,.9)}
.map-center-crosshair::before{left:50%;top:2px;width:2px;height:22px;transform:translateX(-50%)}
.map-center-crosshair::after{left:2px;top:50%;width:22px;height:2px;transform:translateY(-50%)}
.range-label{background:rgba(15,23,42,.78);border:1px solid rgba(203,213,225,.42);border-radius:999px;color:#e2e8f0;font-size:11px;font-weight:800;padding:2px 6px;text-align:center;white-space:nowrap;box-shadow:0 2px 8px rgba(2,6,23,.45)}
.gps-pill{min-height:42px;padding:8px 13px}
.gps-static{border:1px solid rgba(233,113,50,.55);background:rgba(233,113,50,.18);color:#ffedd5}

/* V2.0.8 badge readability improvement */
.badge,
.detail-badge,
.badge-button {
  color: #fff !important;
  font-weight: 600;
}



/* AeroSafe V3 ABF / Operational Knowledge Viewer */
.flight-context-card{margin-bottom:20px}
.flight-context-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px}
.flight-context-grid label{display:grid;gap:6px;font-size:12px;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.flight-context-grid input,.flight-context-grid select,.briefing-toolbar input{width:100%;box-sizing:border-box;border:1px solid #334155;background:#020617;color:#e2e8f0;border-radius:10px;padding:10px 12px;font-size:15px}
.flight-context-grid select{appearance:auto}
.detail-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ad-briefing-btn.available{background:#00A51C;border-color:#00A51C;color:#fff;font-weight:700}
.ad-briefing-btn.unavailable{opacity:.45;cursor:not-allowed}
.briefing-page{display:grid;gap:14px}
.briefing-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;position:sticky;top:0;z-index:40}
.briefing-header h2{margin:0 0 6px 0}
.briefing-context{margin-top:8px;color:#bfdbfe;font-weight:600}
.close-briefing{font-size:22px;line-height:1;min-width:42px}
.briefing-toolbar{display:flex;gap:10px;align-items:center;position:sticky;top:94px;z-index:35;background:#020617;padding:8px 0;flex-wrap:wrap}
.briefing-toolbar input{flex:1;min-width:220px}
.briefing-layout{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}
.briefing-toc{position:sticky;top:152px;max-height:calc(100vh - 170px);overflow:visible;border:1px solid #1e293b;border-radius:14px;background:#0f172a;min-width:250px;max-width:310px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.briefing-toc.closed{min-width:auto;width:32px;border-radius:12px;overflow:visible}
.briefing-toc-inner{max-height:calc(100vh - 170px);overflow:auto}
.briefing-toc-edge{position:absolute;right:-15px;top:14px;width:30px;height:54px;display:flex;align-items:center;justify-content:center;border:1px solid #334155!important;background:#0f172a!important;color:#e2e8f0!important;border-radius:0 12px 12px 0!important;font-size:28px!important;font-weight:800;z-index:2}
.briefing-toc.closed .briefing-toc-edge{left:0;right:auto;top:0;width:32px;height:100%;border-radius:12px!important;background:#0f172a!important}
.briefing-toc-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid #1e293b;color:#e2e8f0}
.briefing-toc-tree{display:grid;padding:8px;gap:4px}
.briefing-toc-tree button{background:transparent;border:0;color:#cbd5e1;text-align:left;padding:7px 8px;border-radius:8px;cursor:pointer}
.briefing-toc-tree button:hover{background:#1e293b;color:#fff}
.toc-section{font-weight:800;color:#fff!important;margin-top:4px}
.toc-level-2{padding-left:18px!important;font-size:13px}
.toc-level-3{padding-left:30px!important;font-size:12px;color:#94a3b8!important}
.briefing-xref{border:1px solid #334155;background:#0b1220;color:#bfdbfe;border-radius:10px;padding:8px 10px;margin:6px 0;text-align:left}
.briefing-content{min-width:0}
.briefing-section{scroll-margin-top:160px;margin-bottom:28px}
.briefing-section h2{border-bottom:1px solid #334155;padding-bottom:8px;margin-top:0;color:#fff}
.briefing-heading{scroll-margin-top:160px;color:#dbeafe;margin-top:22px}
.briefing-heading.h3{color:#bfdbfe}
.briefing-number{display:inline-block;margin-right:8px;color:#94a3b8}
.briefing-paragraph{line-height:1.55;color:#e2e8f0}
.briefing-bullet{display:grid;grid-template-columns:22px 1fr;gap:8px;margin:8px 0;line-height:1.5;color:#e2e8f0}
.briefing-bullet span{color:#60a5fa;font-weight:800}
.briefing-table-wrap{overflow:auto;margin:14px 0;border:1px solid #334155;border-radius:12px}
.briefing-table-wrap table{width:100%;border-collapse:collapse;background:#020617}
.briefing-table-wrap th,.briefing-table-wrap td{border:1px solid #334155;padding:8px 10px;text-align:left;vertical-align:top}
.briefing-table-wrap th{background:#1e293b;color:#fff}
.briefing-callout{border-radius:12px;padding:12px 14px;margin:12px 0;border-left:6px solid #60a5fa;background:#0f172a;display:grid;gap:6px}
.briefing-callout.note{border-left-color:#60a5fa;background:#0b1220}
.briefing-callout.caution{border-left-color:#F2C300;background:#201a05}
.briefing-callout.warning{border-left-color:#FF1A1A;background:#220b0b}
.briefing-callout strong{letter-spacing:.06em}
.briefing-image{margin:16px 0;border:1px solid #334155;border-radius:12px;padding:10px;background:#020617}
.briefing-image img{max-width:100%;height:auto;display:block;margin:auto;border-radius:8px}
.briefing-image figcaption{margin-top:8px;color:#94a3b8;text-align:center;font-size:13px}
@media(max-width:900px){.flight-context-grid{grid-template-columns:1fr 1fr}.briefing-layout{grid-template-columns:1fr}.briefing-toc{position:relative;top:auto;max-height:300px;max-width:none}.briefing-toolbar{top:80px}.briefing-header{position:relative}.briefing-toc.closed{width:auto}.briefing-toc.closed .briefing-toc-tree{display:none}}
@media(max-width:620px){.flight-context-grid{grid-template-columns:1fr}.briefing-toolbar{position:relative;top:auto}}

.briefing-image.missing-image {
  border: 1px dashed rgba(255,255,255,.35);
  padding: 12px;
  border-radius: 10px;
}
.missing-image-note {
  padding: 12px;
  border-radius: 8px;
  background: rgba(255, 193, 7, .14);
  border: 1px solid rgba(255, 193, 7, .35);
  font-size: .92rem;
}
/* V3.1.2 flight context layout */
.flight-context-row-one{grid-template-columns:repeat(3,minmax(180px,1fr));margin-bottom:12px}
.flight-context-row-two{grid-template-columns:repeat(2,minmax(180px,1fr))}
@media(max-width:900px){.flight-context-row-one,.flight-context-row-two{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.flight-context-row-one,.flight-context-row-two{grid-template-columns:1fr}}

/* AeroSafe V3.2 additions */
.flight-context-primary-row{grid-template-columns:repeat(4,minmax(150px,1fr));margin-bottom:14px}
.flight-context-route-row{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(360px,2.2fr);gap:12px}
.flight-context-route-row label,.routing-field{display:grid;gap:6px;font-size:12px;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.flight-context-route-row select,.routing-field textarea{width:100%;box-sizing:border-box;border:1px solid #334155;background:#020617;color:#e2e8f0;border-radius:10px;padding:10px 12px;font-size:15px;text-transform:none;letter-spacing:normal;font-weight:400;resize:vertical}
.home-messages{display:grid;gap:12px;margin-bottom:20px}.system-message{border:1px solid;border-radius:14px;padding:14px 16px}.system-message-title{font-weight:800;letter-spacing:.05em;margin-bottom:8px}.system-message-item+.system-message-item{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.13)}
.system-message.emergency,.system-message.warning{border-color:#ef4444;background:rgba(127,29,29,.34)}.system-message.caution{border-color:#f59e0b;background:rgba(120,53,15,.34)}.system-message.note{border-color:#3b82f6;background:rgba(30,64,175,.25)}.system-message.release{border-color:#22c55e;background:rgba(20,83,45,.3)}.system-message.banner{border-color:#64748b;background:rgba(51,65,85,.35)}
.documents-page{max-width:1100px;margin:0 auto}.document-library-tree{display:grid;gap:8px}.doc-type{border:1px solid #1e293b;border-radius:12px;overflow:hidden}.doc-tree-toggle,.doc-entry{display:block;width:100%;text-align:left;border:0;color:#e2e8f0;background:#0f172a;padding:12px 14px;cursor:pointer}.doc-tree-toggle{font-weight:700}.doc-entry{padding-left:38px;background:#020617;border-top:1px solid #1e293b}.doc-entry:hover,.doc-tree-toggle:hover{background:#1e293b}
.document-kicker{color:#94a3b8;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.briefing-layout{align-items:stretch}.briefing-toc{position:sticky;top:152px;height:calc(100vh - 170px);max-height:none;overflow:hidden;border-radius:12px;min-width:260px;max-width:320px}.briefing-toc.closed{width:28px;min-width:28px}.briefing-toc-edge{position:relative;right:auto;top:auto;width:100%;height:42px;border:0!important;border-bottom:1px solid #334155!important;border-radius:0!important;background:#111827!important}.briefing-toc.closed .briefing-toc-edge{height:100%;width:28px;writing-mode:vertical-rl;border:0!important;border-radius:0!important}.briefing-toc-inner{height:calc(100% - 42px);max-height:none}.briefing-toc-tree button.current{background:#dc2626;color:#fff}.briefing-toc-tree button.ancestor{border:1px solid #dc2626}
.dataset-progress{margin-bottom:16px}.progress-heading{font-weight:700;margin-bottom:8px}.progress-heading.secondary{margin-top:14px}.progress-track{height:12px;background:#1e293b;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:#3b82f6;transition:width .2s ease}.progress-fill.install{background:#22c55e}.progress-meta{display:flex;justify-content:space-between;gap:12px;margin-top:6px;color:#94a3b8;font-size:13px}
@media(max-width:1000px){.flight-context-primary-row{grid-template-columns:1fr 1fr}.flight-context-route-row{grid-template-columns:1fr}.briefing-toc{position:relative;top:auto;height:auto;max-width:none}.briefing-toc.closed{height:42px;width:100%;min-width:100%}.briefing-toc.closed .briefing-toc-edge{height:42px;width:100%;writing-mode:horizontal-tb}}
@media(max-width:620px){.flight-context-primary-row{grid-template-columns:1fr}}

.doc-node{border-top:1px solid #1e293b}.doc-section-tree{display:grid;background:#020617}.doc-section-tree button{border:0;border-top:1px solid #172033;background:#020617;color:#cbd5e1;text-align:left;padding:9px 14px 9px 58px;cursor:pointer}.doc-section-tree button:hover{background:#1e293b;color:#fff}.doc-loading{padding:10px 58px}


/* AeroSafe V3.2.1 document workspace and navigation fixes */
:root{--topbar-height:92px;--document-toolbar-height:104px}
.nav{position:relative;z-index:120;pointer-events:auto}.nav button{pointer-events:auto;position:relative;z-index:121}
.quick-launch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.home-actions{margin-top:16px}
.document-container{max-width:none;padding:12px 16px 16px;overflow:hidden}
.document-page-shell{height:calc(100vh - var(--topbar-height) - 28px);display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:420px}
.document-toolbar{position:sticky;top:var(--topbar-height);z-index:50;background:#020617;border:1px solid #1e293b;border-radius:12px;padding:9px 12px;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.document-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.document-toolbar-row.second{margin-top:8px}.document-title-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px}.document-context-compact{white-space:nowrap;color:#bfdbfe;font-weight:600;font-size:13px}.document-toolbar input{flex:1;min-width:200px;border:1px solid #334155;background:#020617;color:#e2e8f0;border-radius:9px;padding:8px 10px}
.document-workspace,.documents-empty-layout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;min-height:0;height:100%}
.briefing-toc,.library-tree-panel{position:relative!important;top:auto!important;height:100%!important;max-height:none!important;min-height:0;overflow:hidden;border:1px solid #1e293b;border-radius:10px;background:#0f172a;min-width:260px;width:300px;max-width:46vw;resize:horizontal}
.briefing-toc.closed,.library-tree-panel.closed{min-width:30px!important;width:30px!important;max-width:30px!important;resize:none;border-radius:8px}
.briefing-toc-edge{position:relative!important;left:auto!important;right:auto!important;top:auto!important;width:100%!important;height:36px!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;padding:0 9px!important;border:0!important;border-bottom:1px solid #334155!important;border-radius:0!important;background:#111827!important;font-size:26px!important;line-height:1!important;writing-mode:horizontal-tb!important}
.briefing-toc.closed .briefing-toc-edge,.library-tree-panel.closed .briefing-toc-edge{height:100%!important;width:30px!important;align-items:flex-start!important;justify-content:center!important;padding-top:7px!important;border:0!important;writing-mode:horizontal-tb!important}
.briefing-toc-inner,.library-tree-scroll{height:calc(100% - 36px);max-height:none!important;overflow:auto;min-width:240px}.briefing-toc-head{position:sticky;top:0;background:#0f172a;z-index:2}
.briefing-content.document-content-scroll{height:100%;min-height:0;overflow:auto;margin:0}.briefing-section{scroll-margin-top:14px}.briefing-heading{scroll-margin-top:14px}
.briefing-toc-tree button.current,.doc-section-tree button.current{background:#dc2626!important;color:#fff!important}.briefing-toc-tree button.ancestor,.doc-section-tree button.ancestor{border:1px solid #dc2626!important;background:transparent!important}
.library-tree-panel .doc-type{border:0;border-radius:0}.library-tree-panel .doc-tree-toggle{padding:10px 11px}.library-tree-panel .doc-entry{padding:9px 12px 9px 27px}.library-tree-panel .doc-entry.active{background:#1e3a5f}.doc-section-tree{display:grid;padding:5px 7px 8px 28px;gap:3px}.doc-section-tree button{border:0;background:transparent;color:#cbd5e1;text-align:left;padding:6px 8px;border-radius:7px;cursor:pointer}.doc-section-tree button:hover{background:#1e293b}
.documents-placeholder{height:100%;display:flex;align-items:center;justify-content:center}.documents-empty-layout{height:calc(100vh - var(--topbar-height) - 40px)}
.missing-image-message{display:none;padding:18px;text-align:center;color:#fca5a5}.briefing-image.missing-image .missing-image-message{display:block}.briefing-image.missing-image figcaption{display:none}
@media(max-width:900px){.document-page-shell{height:auto;min-height:calc(100vh - var(--topbar-height) - 20px)}.document-workspace,.documents-empty-layout{grid-template-columns:1fr;height:auto}.briefing-toc,.library-tree-panel{width:100%;max-width:none;height:260px!important;resize:vertical}.briefing-toc.closed,.library-tree-panel.closed{height:38px!important;width:100%!important;max-width:none!important}.briefing-toc.closed .briefing-toc-edge,.library-tree-panel.closed .briefing-toc-edge{height:38px!important;width:100%!important;align-items:center!important;justify-content:flex-end!important;padding:0 9px!important}.briefing-content.document-content-scroll{height:60vh}.document-toolbar-row{flex-wrap:wrap}.document-context-compact{white-space:normal}.document-toolbar input{order:3;flex-basis:100%}}


/* AeroSafe V3.2.2 reliability and home layout corrections */
.home-dashboard-top{display:grid;grid-template-columns:minmax(0,2.35fr) minmax(280px,.85fr);gap:20px;align-items:start;margin-bottom:20px}
.home-context-column{min-width:0}.home-context-column .flight-context-card{margin:0}
.home-quick-column{margin:0;position:sticky;top:calc(var(--topbar-height) + 14px);align-self:start;z-index:5}
.home-quick-column .quick-launch-grid{display:grid;grid-template-columns:1fr;gap:10px}
.home-quick-column .btn{width:100%;min-height:46px}
.home-messages{margin-top:0}

/* Remove vertical void before the document toolbar and keep the workspace directly under the app header. */
.document-container{padding-top:8px!important;margin-top:0!important}
.document-page-shell{height:calc(100vh - var(--topbar-height) - 20px)!important;margin:0!important;align-content:stretch}
.document-toolbar{position:relative!important;top:auto!important;margin:0!important}
.documents-module,.document-page-shell{padding-top:0!important}

@media(max-width:1100px){
  .home-dashboard-top{grid-template-columns:minmax(0,1fr) 300px;gap:14px}
}
@media(max-width:850px){
  .home-dashboard-top{grid-template-columns:1fr}
  .home-quick-column{position:relative;top:auto}
  .home-quick-column .quick-launch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){.home-quick-column .quick-launch-grid{grid-template-columns:1fr}}

/* V3.2.3 Home dashboard correction */
.home-dashboard-top{display:grid;grid-template-columns:minmax(0,2.35fr) minmax(300px,.85fr);gap:20px;align-items:start;margin-bottom:20px}
.home-context-column{min-width:0;display:grid;gap:16px}
.home-context-column .flight-context-card{margin:0}
.home-context-column .home-messages{width:100%;margin:0;display:grid;gap:12px}
.home-context-column .home-messages>*{width:100%;box-sizing:border-box}
.home-quick-column{position:sticky;top:calc(var(--topbar-height,88px) + 18px);align-self:start;margin:0;max-height:calc(100vh - var(--topbar-height,88px) - 36px);overflow:hidden}
.home-quick-column .card-body{overflow:auto;max-height:calc(100vh - var(--topbar-height,88px) - 120px)}
@media(max-width:900px){.home-dashboard-top{grid-template-columns:1fr}.home-quick-column{position:static;max-height:none}.home-quick-column .card-body{max-height:none;overflow:visible}}


/* AeroSafe V3.2.4 targeted fixes */
.home-quick-column{
  overflow:visible!important;
  max-height:none!important;
}
.home-quick-column .card-body{
  overflow:visible!important;
  max-height:none!important;
}
.document-search-highlight{
  background:#fde047;
  color:#111827;
  border-radius:3px;
  padding:0 .08em;
  box-shadow:0 0 0 1px rgba(253,224,71,.25);
}


/* AeroSafe V3.2.5 document opening and scoped search */
.document-search-box{position:relative;display:flex;flex:1;min-width:220px}
.document-search-box input{width:100%;padding-right:42px!important}
.document-search-clear{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;border-radius:9px;background:#1e293b;color:#e2e8f0;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center}
.document-search-clear:hover{background:#334155;color:#fff}
.document-tree-head{gap:8px}.document-search-count{font-size:11px;color:#94a3b8;font-weight:600;white-space:nowrap}
.document-search-scope-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:7px;border-bottom:1px solid #1e293b;background:#0b1220}
.document-search-scope-actions button{border:1px solid #334155;background:#0f172a;color:#cbd5e1;border-radius:8px;padding:6px 8px;font-size:12px}
.doc-entry-row{display:grid;grid-template-columns:24px 28px minmax(0,1fr);align-items:center;border-top:1px solid #1e293b;background:#020617}
.doc-entry-row.active{background:#1e3a5f}
.document-search-checkbox{width:16px;height:16px;margin:0 0 0 7px;accent-color:#dc2626;cursor:pointer}
.doc-disclosure{border:0;background:transparent;color:#cbd5e1;padding:7px 2px;cursor:pointer}
.doc-entry-row .doc-entry{border:0!important;border-top:0!important;padding:9px 10px!important;background:transparent!important;white-space:normal}
.doc-entry-row .doc-entry:hover{background:rgba(30,41,59,.7)!important}
.document-search-results{display:grid;gap:14px}.document-search-results-head{font-weight:700;color:#cbd5e1;padding:2px 2px 8px}
.document-search-result-group{display:grid;gap:8px}.document-search-result-group h3{margin:8px 0 2px;color:#fff}
.document-search-result{display:grid;gap:5px;width:100%;text-align:left;border:1px solid #334155;background:#0b1220;color:#e2e8f0;border-radius:12px;padding:12px 14px}
.document-search-result:hover{background:#1e293b;border-color:#60a5fa}.document-search-result span{color:#cbd5e1;line-height:1.45}
@media(max-width:900px){.document-search-box{order:3;flex-basis:100%}}


/* AeroSafe V4.0.0 controlled document and revision interface */
.documents-mode-tabs{display:flex;gap:8px;margin:0 0 8px;padding:0 2px}.documents-mode-tabs button{border:1px solid var(--border);background:var(--panel);color:var(--text);padding:9px 14px;border-radius:9px;font-weight:700}.documents-mode-tabs button.active{background:#1e3a5f;border-color:#60a5fa}
.document-control-header{position:sticky;top:0;z-index:8;display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:13px 15px;border:1px solid #334155;border-radius:10px;background:rgba(15,23,42,.98);box-shadow:0 8px 18px rgba(0,0,0,.22)}
.document-control-title{min-width:0}.document-control-title h2{margin:3px 0 0;font-size:20px;line-height:1.25}.document-control-publication{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.document-control-metadata{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.document-control-metadata span{display:inline-flex;gap:5px;padding:6px 9px;border:1px solid #334155;border-radius:999px;background:#020617;font-size:12px;white-space:nowrap}.document-control-metadata strong{color:#93c5fd}
.content-revision-meta{margin:4px 0 10px;padding-left:9px;border-left:2px solid #475569;color:#94a3b8;font-size:11px}.controlled-content-item{position:relative}.reference-notice{padding:9px 12px;border:1px solid #f59e0b;border-radius:8px;background:rgba(245,158,11,.12);color:#fde68a}
.reference-target-highlight{animation:aerosafe-reference-pulse 2.2s ease-out}@keyframes aerosafe-reference-pulse{0%,35%{outline:3px solid #60a5fa;outline-offset:4px;background:rgba(96,165,250,.18)}100%{outline-color:transparent;background:transparent}}
.briefing-xref.inline{display:block;margin:6px 0 4px}
.doc-entry{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:2px}.doc-entry small{font-size:10px;color:#94a3b8;font-weight:400}
.ad-briefing-access{display:grid;justify-items:end;gap:5px}.ad-briefing-meta{font-size:11px;color:#cbd5e1;white-space:nowrap}
.revision-register{min-height:calc(100vh - var(--topbar-height) - 78px)}.revision-register .card-header{display:flex;justify-content:space-between;align-items:center}.revision-register .card-header h2{margin:0 0 4px}.revision-register-controls{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,.4fr);gap:10px;margin-bottom:12px}.revision-register-controls input,.revision-register-controls select{width:100%;padding:10px 12px;border:1px solid #334155;border-radius:8px;background:#020617;color:var(--text)}.revision-register-summary{margin:4px 0 12px;color:var(--muted);font-size:12px}.revision-register-table-wrap{overflow:auto;border:1px solid #334155;border-radius:9px}.revision-register-table{width:100%;border-collapse:collapse;min-width:980px}.revision-register-table th,.revision-register-table td{padding:10px 11px;border-bottom:1px solid #1f2937;text-align:left;vertical-align:top}.revision-register-table th{position:sticky;top:0;background:#111827;color:#cbd5e1;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.revision-register-table tr:hover td{background:rgba(30,58,95,.35)}.revision-register-table td button{border:0;background:transparent;color:#93c5fd;text-align:left;padding:0;cursor:pointer;font-weight:700}
@media(max-width:900px){.document-control-header{position:relative;flex-direction:column}.document-control-metadata{justify-content:flex-start}.revision-register-controls{grid-template-columns:1fr}.ad-briefing-access{justify-items:start}.ad-briefing-meta{white-space:normal}}


/* AeroSafe V4.0.0 compact document/header patch */
.update-banner.dismissible{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px}
.update-banner-close{flex:0 0 auto;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:#cbd5e1;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center}
.update-banner-close:hover{background:#1e293b;color:#fff}
.document-toolbar{padding:7px 9px!important}
.document-toolbar-row.primary-controls{justify-content:space-between;gap:10px;margin-bottom:7px}
.document-toolbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.documents-mode-tabs.inline{margin:0;padding:0;flex:0 0 auto}
.documents-mode-tabs.inline button{padding:8px 12px}
.document-control-header{position:relative;top:auto;align-items:center;gap:12px;padding:8px 11px;box-shadow:none}
.document-control-title h2{margin:0;font-size:18px;line-height:1.2}
.document-control-publication{display:none}
.document-control-metadata{margin-left:auto;justify-content:flex-end}
.document-control-metadata span{border:0;background:transparent;padding:0;color:#cbd5e1;font-size:13px;font-weight:600}
.document-toolbar-row.second{margin-top:7px}
@media(max-width:1100px){.topbar-main{flex-wrap:wrap}.nav{flex-wrap:wrap}.document-toolbar-row.primary-controls{flex-wrap:wrap}.document-toolbar-actions{margin-left:0}}
@media(max-width:900px){.brand-logo{height:24px}.brand-title{font-size:23px}.document-control-header{flex-direction:row}.document-control-metadata{justify-content:flex-end}.document-toolbar-actions{width:100%;flex-wrap:wrap}.documents-mode-tabs.inline{width:100%}}


/* AeroSafe V4.1.0 linked documents, touch abbreviations and change bars */
.doc-type-group{border-top:1px solid #1e293b;background:#070d1a}
.doc-type-toggle{display:block;width:100%;border:0;background:#0b1220;color:#bfdbfe;text-align:left;padding:9px 12px 9px 25px;font-weight:700;cursor:pointer}
.doc-type-toggle:hover{background:#172033;color:#fff}
.notice-documents .doc-entry-row{padding-left:14px}
.linked-document-frame{position:relative;margin:22px 0 18px;padding:20px 12px 10px;border:1px solid rgba(96,165,250,.7);border-radius:11px;background:rgba(30,58,95,.13);box-shadow:inset 0 0 0 1px rgba(96,165,250,.08)}
.linked-document-frame-labels{position:absolute;left:10px;right:10px;top:-15px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;z-index:3}
.linked-document-tag{max-width:100%;border:1px solid #60a5fa;border-radius:999px;background:#0f2745;color:#dbeafe;padding:5px 10px;font-weight:700;font-size:12px;white-space:normal;text-align:left;box-shadow:0 3px 10px rgba(0,0,0,.35)}
.linked-document-tag:hover,.linked-document-tag:focus{background:#1d4f7f;color:#fff;outline:2px solid rgba(147,197,253,.45);outline-offset:1px}
.linked-document-frame-content{min-width:0}
.controlled-content-item.has-change-bar{border-left:4px solid #ef4444;padding-left:10px;margin-left:0}
.change-bar-meta{margin:-3px 0 9px;color:#fca5a5;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.fodb-definition-link{color:#bfdbfe!important;text-decoration:underline dotted #60a5fa 2px;text-underline-offset:3px;cursor:pointer;border-radius:3px;padding:1px 2px;touch-action:manipulation}
.fodb-definition-link:hover,.fodb-definition-link:focus{background:rgba(96,165,250,.18);outline:2px solid rgba(96,165,250,.35)}
.fodb-xref-link{color:#93c5fd!important;text-decoration:underline;text-underline-offset:3px;cursor:pointer;border-radius:3px;touch-action:manipulation}
.fodb-xref-link:hover,.fodb-xref-link:focus{background:rgba(96,165,250,.16);outline:2px solid rgba(96,165,250,.3)}
.abbreviation-note-backdrop{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(2,6,23,.5);backdrop-filter:blur(2px)}
.abbreviation-note{position:relative;width:min(440px,calc(100vw - 32px));display:grid;gap:8px;padding:20px 48px 20px 20px;border:1px solid #60a5fa;border-radius:16px;background:#0f172a;color:#e2e8f0;box-shadow:0 24px 60px rgba(0,0,0,.55)}
.abbreviation-note strong{font-size:18px;color:#bfdbfe}.abbreviation-note div{line-height:1.5}
.abbreviation-note-close{position:absolute;right:10px;top:9px;width:32px;height:32px;border:0;border-radius:9px;background:#1e293b;color:#fff;font-size:23px;line-height:1}
.revision-change-section{margin-top:22px}.revision-change-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:0 0 9px}.revision-change-heading h3{margin:0}.revision-change-heading span{color:#94a3b8;font-size:12px}
.revision-change-table td:nth-child(3){min-width:360px}.revision-no-changes{margin-top:20px}
@media(max-width:900px){.linked-document-frame{padding-left:9px;padding-right:9px}.linked-document-frame-labels{position:relative;left:auto;right:auto;top:auto;margin:-34px 0 12px}.revision-change-heading{align-items:flex-start;flex-direction:column}}


/* AeroSafe V4.1.2 progress, resizable tree, hierarchical navigation and revision workflow */
.dataset-progress{position:relative}.dataset-progress-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.dataset-progress-top h3{margin:0 0 4px}.dataset-progress-close{width:34px;height:34px;border:0;border-radius:9px;background:#1e293b;color:#fff;font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center}.dataset-progress-close:hover{background:#334155}.dataset-progress-phase+.dataset-progress-phase{margin-top:18px}.dataset-progress-phase .progress-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px}.dataset-progress-phase .progress-heading strong{font-size:13px;color:#dbeafe;text-align:right}.dataset-progress-phase.install .progress-heading strong{color:#bbf7d0}.dataset-progress .progress-meta{min-height:18px}.dataset-progress-error{display:grid;gap:8px;margin-top:18px;padding:13px;border:1px solid rgba(239,68,68,.5);border-radius:10px;background:rgba(127,29,29,.22);color:#fecaca}.dataset-progress-error .btn{justify-self:start}.dataset-progress.has-error .progress-track{opacity:.6}
.document-workspace.document-split{grid-template-columns:var(--document-tree-width,300px) 11px minmax(0,1fr);gap:0}.document-workspace.document-split.tree-collapsed{grid-template-columns:30px minmax(0,1fr);gap:10px}.documents-empty-layout-shell{height:calc(100vh - var(--topbar-height) - 86px)}.documents-empty-layout-shell .document-split{height:100%}.document-tree-resizer{position:relative;height:100%;min-height:0;cursor:col-resize;touch-action:none;display:flex;align-items:center;justify-content:center}.document-tree-resizer::before{content:"";width:1px;height:100%;background:#334155}.document-tree-resizer span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:7px;height:64px;border:1px solid #475569;border-radius:999px;background:#0f172a;box-shadow:0 4px 14px rgba(0,0,0,.32)}.document-tree-resizer:hover span,.document-tree-resizer:active span{background:#1e3a5f;border-color:#60a5fa}.resizing-document-tree{cursor:col-resize!important;user-select:none!important}.briefing-toc,.library-tree-panel{width:var(--document-tree-width,300px)!important;min-width:0!important;max-width:none!important;resize:none!important}.briefing-toc.closed,.library-tree-panel.closed{width:30px!important;min-width:30px!important;max-width:30px!important}
.document-context-row{align-items:center!important}.document-toolbar-navigation{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto;min-width:0}.document-search-toggle{width:42px;height:38px;padding:8px!important;display:inline-flex;align-items:center;justify-content:center}.document-search-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.document-search-toggle.active{background:#1e3a5f;border-color:#60a5fa;color:#dbeafe}.document-toolbar-navigation .document-search-box{flex:0 1 420px;width:min(420px,35vw)}.document-toolbar-navigation .document-search-box input{min-width:180px;width:100%}.document-toolbar-navigation>[data-action="document-back"]{margin-left:2px}
.publication-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;background:#0f172a}.publication-row:has(.publication-search-checkbox){grid-template-columns:28px minmax(0,1fr)}.publication-search-checkbox{width:16px;height:16px;margin-left:8px;accent-color:#dc2626}.publication-row .publication-toggle{border:0!important}.document-search-scope-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border-bottom:1px solid #1e293b;background:#0b1220;color:#94a3b8;font-size:11px}.document-search-scope-summary div{display:flex;gap:5px}.document-search-scope-summary button,.tree-collapse-all{border:1px solid #334155;background:#0f172a;color:#cbd5e1;border-radius:7px;padding:5px 7px;font-size:11px}.tree-collapse-all{margin-left:auto}.doc-entry-row.no-search-checkbox{grid-template-columns:28px minmax(0,1fr)}.doc-section-tree.hierarchical{padding:5px 6px 8px 28px;gap:0}.doc-section-node{display:grid}.doc-section-row{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;border-radius:7px}.doc-section-row.current{background:#dc2626}.doc-section-row.ancestor{outline:1px solid #dc2626}.doc-section-disclosure{border:0;background:transparent;color:#94a3b8;padding:7px 2px;line-height:1}.doc-section-spacer{width:22px}.doc-section-link{border:0!important;background:transparent!important;color:#cbd5e1!important;text-align:left;padding:6px 7px!important;border-radius:7px;line-height:1.35}.doc-section-row.current .doc-section-link{color:#fff!important;font-weight:700}.doc-section-children{padding-left:13px;border-left:1px solid #1e293b;margin-left:10px}
.revision-register-overview{margin-bottom:14px;color:#94a3b8;font-size:12px}.revision-accordion{border:1px solid #334155;border-radius:11px;overflow:hidden;background:#0b1220}.revision-accordion+.revision-accordion{margin-top:12px}.revision-accordion-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;border:0;background:#111827;color:#e2e8f0;padding:13px 15px;text-align:left;font-weight:800}.revision-accordion-toggle:hover{background:#172033}.revision-accordion-toggle strong{min-width:34px;text-align:center;padding:3px 8px;border-radius:999px;background:#1e293b;color:#bfdbfe}.revision-accordion-body{padding:13px}.revision-change-table{min-width:1280px}.revision-change-table td:nth-child(3){min-width:360px}.completion-cell{display:grid;gap:5px;min-width:145px}.completion-cell small{font-size:10px;color:#fbbf24}.completion-badge{display:inline-flex;width:max-content;padding:4px 8px;border-radius:999px;border:1px solid #475569;background:#1e293b;color:#cbd5e1;font-size:11px;font-weight:800}.completion-badge.in-progress{border-color:#f59e0b;background:rgba(245,158,11,.16);color:#fde68a}.completion-badge.reviewed{border-color:#3b82f6;background:rgba(59,130,246,.16);color:#bfdbfe}.completion-badge.acknowledged-pending-sync{border-color:#22c55e;background:rgba(34,197,94,.16);color:#bbf7d0}.completion-acknowledge{width:max-content;border:1px solid #22c55e;border-radius:7px;background:rgba(34,197,94,.12);color:#bbf7d0;padding:5px 8px;font-size:11px;font-weight:800}
@media(max-width:900px){.document-workspace.document-split,.document-workspace.document-split.tree-collapsed{grid-template-columns:1fr;gap:10px}.document-tree-resizer{display:none}.briefing-toc,.library-tree-panel{width:100%!important}.document-toolbar-navigation{width:100%;margin-left:0;flex-wrap:wrap}.document-toolbar-navigation .document-search-box{order:5;flex:1 1 100%;width:100%}.dataset-progress-phase .progress-heading{align-items:flex-start;flex-direction:column;gap:4px}.dataset-progress-phase .progress-heading strong{text-align:left}.documents-empty-layout-shell{height:auto}.revision-accordion-body{padding:9px}}


/* AeroSafe V4.1.2 UAT Corrective Build 1 */
.revision-accordion-toggle{color:#fbbf24}
.revision-accordion-toggle:hover{color:#fde68a}
.revision-accordion.open .revision-accordion-toggle{background:rgba(245,158,11,.10);color:#fde68a}
.revision-return-highlight td{background:rgba(245,158,11,.20)!important;animation:aerosafe-revision-return 2.6s ease-out}
.revision-return-highlight td:first-child{box-shadow:inset 4px 0 0 #f59e0b}
@keyframes aerosafe-revision-return{0%,35%{background:rgba(245,158,11,.38)}100%{background:rgba(245,158,11,.20)}}


/* AeroSafe V4.1.2 UAT Corrective Build 2 — unified update panel */
.aerosafe-update-progress .aerosafe-update-readiness{margin:0 0 17px;padding:11px 13px;border-radius:10px;border:1px solid rgba(242,195,0,.45);background:rgba(242,195,0,.12);color:#fef3c7;font-weight:650;line-height:1.45}
.aerosafe-update-progress .aerosafe-update-readiness.ready{border-color:rgba(34,197,94,.5);background:rgba(34,197,94,.12);color:#bbf7d0}
.aerosafe-update-progress .dataset-progress-phase.waiting .progress-track{opacity:.62}
.aerosafe-update-progress .dataset-progress-phase.app-install,.aerosafe-update-progress .dataset-progress-phase.dataset-install{padding-top:2px}
.aerosafe-update-progress .dataset-progress-phase+.dataset-progress-phase{padding-top:15px;border-top:1px solid rgba(51,65,85,.55)}
.aerosafe-update-progress .dataset-progress-phase.dataset-download{margin-top:22px;border-top:2px solid rgba(96,165,250,.38);padding-top:19px}


/* AeroSafe V4.1.2 UAT Corrective Build 3 — Back and source/result return */
.document-toolbar-navigation .btn:disabled{opacity:.42;cursor:not-allowed;background:#0b1220;color:#64748b}
.search-result-return-highlight{border-color:#f59e0b!important;background:rgba(245,158,11,.20)!important;box-shadow:inset 4px 0 0 #f59e0b;animation:aerosafe-search-return 3s ease-out}
.source-link-return-highlight{outline:3px solid #f59e0b!important;outline-offset:4px!important;background:rgba(245,158,11,.22)!important;animation:aerosafe-source-return 3s ease-out}
@keyframes aerosafe-search-return{0%,35%{background:rgba(245,158,11,.38)}100%{background:rgba(245,158,11,.20)}}
@keyframes aerosafe-source-return{0%,35%{outline-color:#fbbf24;background:rgba(245,158,11,.38)}100%{outline-color:#f59e0b;background:rgba(245,158,11,.22)}}
.revision-change-table tr[data-review-scope="document"] td{background:rgba(59,130,246,.055)}
.revision-change-table tr[data-review-scope="document"] td:first-child{box-shadow:inset 3px 0 0 #60a5fa}


/* AeroSafe V4.1.2 UAT Corrective Build 4 — flight interaction and lifecycle views */
#leaflet-map,.leaflet-container{touch-action:none!important}
.list-cards{touch-action:pan-y;-webkit-overflow-scrolling:touch}
.table-wrap,.document-content-scroll,.library-tree-scroll,.revision-register-table-wrap{touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}
.airport-card{position:relative;touch-action:pan-y}
.airport-card::after{content:"›";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:28px;font-weight:300;color:#64748b;pointer-events:none}
.airport-card .card-body{padding-right:48px}
.list-table tbody tr{touch-action:pan-x pan-y}
.document-context-compact{white-space:normal!important;line-height:1.4}
.revision-accordion-toolbar{display:flex;align-items:stretch;justify-content:space-between;gap:12px;background:#111827}
.revision-accordion-toolbar .revision-accordion-title{flex:1;width:auto;justify-content:flex-start}
.revision-change-view-buttons{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:7px 10px 7px 0;flex-wrap:wrap}
.revision-change-view-buttons button{display:inline-flex;align-items:center;gap:6px;border:1px solid #475569;border-radius:999px;background:#0f172a;color:#cbd5e1;padding:7px 10px;font-size:12px;font-weight:750;white-space:nowrap}
.revision-change-view-buttons button strong{display:inline-flex;min-width:24px;justify-content:center;padding:2px 6px;border-radius:999px;background:#1e293b;color:#bfdbfe;font-size:11px}
.revision-change-view-buttons button:hover{border-color:#f59e0b;color:#fde68a}
.revision-change-view-buttons button.active{border-color:#f59e0b;background:rgba(245,158,11,.17);color:#fde68a;box-shadow:inset 0 0 0 1px rgba(245,158,11,.15)}
.revision-change-view-buttons button.active strong{background:#f59e0b;color:#111827}
.revision-history-note{margin:0 0 12px;padding:10px 12px;border:1px solid #475569;border-radius:9px;background:rgba(51,65,85,.28);color:#cbd5e1;font-size:12px;line-height:1.45}
.revision-history-row td{color:#94a3b8;background:rgba(15,23,42,.55)}
.revision-history-content{color:#cbd5e1}
@media(max-width:900px){
  .revision-accordion-toolbar{flex-direction:column;gap:0}
  .revision-change-view-buttons{justify-content:flex-start;padding:0 12px 11px}
  .revision-accordion-toolbar .revision-accordion-title{width:100%}
}


/* AeroSafe V4.1.2 UAT Corrective Build 5 — document tree selection cleanup */
.doc-section-tree.hierarchical .doc-section-row{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.doc-section-tree.hierarchical .doc-section-link{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.doc-section-tree.hierarchical .doc-section-row.current{
  background:#dc2626!important;
  outline:0!important;
  box-shadow:none!important;
}
.doc-section-tree.hierarchical .doc-section-row.ancestor{
  background:transparent!important;
  outline:1px solid #dc2626!important;
  outline-offset:-1px;
  box-shadow:none!important;
}
.doc-section-tree.hierarchical .doc-section-link.current,
.doc-section-tree.hierarchical .doc-section-link.ancestor{
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
.doc-section-tree.hierarchical .doc-section-row.current .doc-section-link{
  color:#fff!important;
  font-weight:700;
}
.revision-changed-contents .revision-accordion-title strong{
  display:none!important;
}


/* ==========================================================================
   AeroSafe V4.1.2 UAT Corrective Build 8 — corrected startup image and spinner alignment
   ========================================================================== */
.startup-screen{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 50% 40%,rgba(30,64,175,.18),transparent 42%),linear-gradient(180deg,#020617 0%,#020b1d 100%);opacity:1;visibility:visible;transition:opacity .45s ease,visibility .45s ease;overflow:hidden}
.startup-screen::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(96,165,250,.04) 50%,transparent 100%);pointer-events:none}
.startup-screen-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.startup-art-wrap{position:relative;width:min(1120px,calc(94vh * 1476 / 1066),100%);aspect-ratio:1476/1066}
.startup-screen-art{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 45px rgba(2,6,23,.4))}
.startup-spinner-slot{position:absolute;left:50%;top:93%;width:clamp(34px,4.6%,54px);aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center}
.startup-spinner{width:100%;height:100%;border-radius:50%;border:3px solid rgba(96,165,250,.28);border-top-color:#38bdf8;border-right-color:#60a5fa;box-shadow:0 0 14px rgba(56,189,248,.62);animation:aerosafe-startup-spin .85s linear infinite}
.startup-screen.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
@keyframes aerosafe-startup-spin{to{transform:rotate(360deg)}}
@media (max-width:900px){.startup-screen{padding:16px}.startup-art-wrap{width:min(100%,calc(90vh * 1476 / 1066))}.startup-spinner{border-width:2px}}
@media (prefers-reduced-motion:reduce){.startup-spinner{animation-duration:1.8s}}

/* ========================================================================== 
   AeroSafe V4.1.2 UAT Corrective Build 13 — expired warning colour hotfix
   ========================================================================== */
.document-control-metadata .document-expired-header-warning{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:0;
  padding:5px 9px;
  border:1px solid rgba(255,76,91,.78);
  border-radius:7px;
  background:rgba(127,29,29,.28);
  color:#ff5a67 !important;
  font-weight:850;
  font-size:.86rem;
  letter-spacing:.025em;
  line-height:1.25;
  text-transform:uppercase;
  box-shadow:0 0 0 1px rgba(255,76,91,.08),0 0 12px rgba(255,76,91,.10);
}
.document-control-metadata .document-expired-header-warning span,
.document-control-metadata .document-expired-header-warning strong{
  color:#ff5a67 !important;
  border:0;
  background:transparent;
  padding:0;
}
.document-control-metadata .document-expired-header-warning span{
  flex:0 0 auto;
  font-size:1rem;
  line-height:1;
}
.expired-document-modal{
  z-index:10050;
  background:rgba(0,6,18,.82);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.expired-document-panel{
  width:min(560px,calc(100vw - 32px));
  max-width:560px;
  border:2px solid rgba(255,76,91,.88);
  box-shadow:0 22px 70px rgba(0,0,0,.55),0 0 24px rgba(255,76,91,.18);
}
.expired-document-modal-header{
  border-bottom:1px solid rgba(255,90,103,.35);
}
.expired-document-heading{
  display:flex;
  align-items:center;
  gap:12px;
  color:#ff6b76;
}
.expired-document-heading h3{margin:0;color:#ff6b76;}
.expired-document-icon{font-size:1.55rem;line-height:1;}
.expired-document-panel .modal-body p{
  margin:0;
  font-size:1rem;
  line-height:1.55;
}
.expired-document-modal-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:22px;
}
@media (max-width:640px){
  .document-expired-header-warning{font-size:.78rem;}
  .expired-document-panel{width:calc(100vw - 22px);}
}


/* ========================================================================== 
   AeroSafe V4.1.2 Release Candidate 2 — iPad UAT corrective styles
   ========================================================================== */
@media (display-mode:standalone){
  body.aerosafe-natural-scroll{
    height:auto!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    touch-action:auto;
  }
  body.aerosafe-natural-scroll #app,
  body.aerosafe-natural-scroll .container{
    min-height:100%;
    overflow:visible;
    touch-action:auto;
  }
}
body.aerosafe-natural-scroll .home-dashboard-top,
body.aerosafe-natural-scroll .list-page,
body.aerosafe-natural-scroll .guide-page,
body.aerosafe-natural-scroll .detail-grid{
  touch-action:auto;
}

/* Keep the search/filter panel beneath the complete top bar and make it fully
   opaque so airport cards never show through while scrolling. */
.list-page{position:relative;isolation:isolate;touch-action:auto}
.list-page .controls{
  top:calc(var(--topbar-height,82px) + 8px)!important;
  z-index:60!important;
  background:#020617!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  box-shadow:0 9px 22px rgba(2,6,23,.96),0 0 0 1px rgba(51,65,85,.32);
}
.list-cards{touch-action:pan-y;contain:layout style}
.airport-card{
  touch-action:pan-y;
  content-visibility:auto;
  contain:layout paint style;
  contain-intrinsic-size:auto 215px;
}
.airport-card .badge-button{touch-action:manipulation}

/* The activation phase is visually and functionally locked until download is complete. */
.aerosafe-update-progress .dataset-progress-phase.phase-locked{opacity:.62}
.aerosafe-update-progress .dataset-progress-phase.phase-locked .progress-track{background:#111827}
.aerosafe-update-progress .dataset-progress-phase.phase-locked .progress-fill{width:0!important;transition:none}
.aerosafe-update-progress .dataset-progress-phase.phase-locked .progress-heading strong,
.aerosafe-update-progress .dataset-progress-phase.phase-locked .progress-meta{color:#94a3b8}

/* Changed Contents becomes a responsive record layout on iPad rather than a
   horizontally overflowing desktop table. */
@media (max-width:1100px), (pointer:coarse) and (max-width:1400px){
  .revision-changed-contents .revision-register-table-wrap{
    overflow-x:hidden!important;
    overflow-y:visible!important;
    border:0;
    background:transparent;
  }
  .revision-change-table{
    display:block;
    width:100%!important;
    min-width:0!important;
    border-collapse:separate;
  }
  .revision-change-table thead{display:none}
  .revision-change-table tbody{display:grid;gap:12px}
  .revision-change-table tr{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:0;
    overflow:hidden;
    border:1px solid #334155;
    border-radius:11px;
    background:#0f172a;
  }
  .revision-change-table td{
    display:grid;
    grid-template-columns:minmax(105px,34%) minmax(0,1fr);
    align-items:start;
    gap:10px;
    min-width:0!important;
    padding:10px 12px!important;
    border:0!important;
    border-bottom:1px solid #1f2937!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
    background:transparent!important;
  }
  .revision-change-table td:nth-child(1)::before{content:'Publication'}
  .revision-change-table td:nth-child(2)::before{content:'Chapter / Section'}
  .revision-change-table td:nth-child(3)::before{content:'Changed Content'}
  .revision-change-table td:nth-child(4)::before{content:'Revision'}
  .revision-change-table td:nth-child(5)::before{content:'Effective Date'}
  .revision-change-table td:nth-child(6)::before{content:'Requirement'}
  .revision-change-table td:nth-child(7)::before{content:'Completion'}
  .revision-change-table td::before{
    color:#94a3b8;
    font-size:10px;
    font-weight:800;
    letter-spacing:.045em;
    text-transform:uppercase;
  }
  .revision-change-table td:nth-child(3),
  .revision-change-table td:nth-child(6),
  .revision-change-table td:nth-child(7){grid-column:1/-1}
  .revision-change-table td:last-child{border-bottom:0!important}
  .revision-change-table td button{
    width:100%;
    min-width:0;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .revision-change-table .completion-cell{min-width:0;width:100%}
}
@media (max-width:700px){
  .revision-change-table tr{grid-template-columns:1fr}
  .revision-change-table td,
  .revision-change-table td:nth-child(3),
  .revision-change-table td:nth-child(6),
  .revision-change-table td:nth-child(7){grid-column:1}
  .revision-change-table td{grid-template-columns:100px minmax(0,1fr)}
  .revision-change-table td:last-child{border-bottom:0!important}
}


/* ==========================================================================
   AeroSafe V4.1.2.4 — iPad Documents, Revision Register and Airport List
   corrective layout
   ========================================================================== */

/* The mode selector is independent from the opened-document title/heading bar
   and remains available in both Publications and Revision Register modes. */
.documents-mode-tabs-shell{
  position:sticky;
  top:var(--topbar-height,92px);
  z-index:85;
  display:block;
  margin:0 0 8px;
  padding:6px 2px 8px;
  background:#020617;
  box-shadow:0 6px 12px rgba(2,6,23,.72);
}
.documents-mode-tabs-shell .documents-mode-tabs{margin:0!important;padding:0!important}
.documents-mode-tabs-shell .documents-mode-tabs button{position:relative;z-index:1}
.documents-mode-tabs-shell + .document-page-shell.documents-module{
  height:calc(100vh - var(--topbar-height) - 72px)!important;
}
.documents-mode-tabs-shell + .documents-empty-layout-shell{
  height:calc(100vh - var(--topbar-height) - 118px)!important;
}

/* The Revision Register is a vertically scrollable document page on managed
   iPads.  Table wrappers no longer capture the vertical gesture. */
body.aerosafe-natural-scroll .revision-register{
  min-height:0!important;
  overflow:visible!important;
  touch-action:pan-y!important;
}
body.aerosafe-natural-scroll .revision-register .card-body,
body.aerosafe-natural-scroll .revision-accordion-body{
  overflow:visible!important;
  touch-action:pan-y!important;
}
.revision-change-table-wrap{
  overflow-x:hidden!important;
  overflow-y:visible!important;
  touch-action:pan-y!important;
  -webkit-overflow-scrolling:touch;
}

/* Changed Contents is deliberately kept as a real seven-column table on iPad.
   The Changed Contents column receives the largest share and wraps normally. */
.revision-changed-contents .revision-register-table-wrap{
  border:1px solid #334155!important;
  border-radius:9px!important;
  background:#0b1220!important;
}
.revision-change-table{
  display:table!important;
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
  font-size:11px;
}
.revision-change-table col.col-publication{width:15%}
.revision-change-table col.col-section{width:10%}
.revision-change-table col.col-change{width:30%}
.revision-change-table col.col-revision{width:8%}
.revision-change-table col.col-revdate{width:10%}
.revision-change-table col.col-requirement{width:13%}
.revision-change-table col.col-completion{width:14%}
.revision-change-table thead{display:table-header-group!important}
.revision-change-table tbody{display:table-row-group!important}
.revision-change-table tr{display:table-row!important;background:transparent!important;border:0!important}
.revision-change-table th,
.revision-change-table td{
  display:table-cell!important;
  grid-column:auto!important;
  min-width:0!important;
  width:auto!important;
  padding:8px 7px!important;
  border:0!important;
  border-bottom:1px solid #1f2937!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  vertical-align:top!important;
}
.revision-change-table td::before{display:none!important;content:none!important}
.revision-change-table td:nth-child(3){min-width:0!important}
.revision-change-table td:nth-child(3) button,
.revision-change-table .revision-history-content{
  display:block;
  width:100%;
  min-width:0;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  line-height:1.35;
}
.revision-change-table .completion-cell{min-width:0!important;width:100%!important;gap:4px}
.revision-change-table .completion-badge,
.revision-change-table .completion-acknowledge{max-width:100%;white-space:normal;font-size:10px;padding:4px 6px}
.revision-change-table .completion-cell small{font-size:9px;line-height:1.25}
@media(max-width:1100px), (pointer:coarse) and (max-width:1400px){
  .revision-change-table{display:table!important;width:100%!important;min-width:0!important}
  .revision-change-table thead{display:table-header-group!important}
  .revision-change-table tbody{display:table-row-group!important}
  .revision-change-table tr{display:table-row!important}
  .revision-change-table td{display:table-cell!important;grid-template-columns:none!important;grid-column:auto!important}
  .revision-change-table td::before{display:none!important;content:none!important}
}
@media(max-width:900px){
  .revision-change-table{font-size:10.5px}
  .revision-change-table th,.revision-change-table td{padding:7px 5px!important}
  .revision-change-table col.col-publication{width:14%}
  .revision-change-table col.col-section{width:10%}
  .revision-change-table col.col-change{width:31%}
  .revision-change-table col.col-revision{width:8%}
  .revision-change-table col.col-revdate{width:10%}
  .revision-change-table col.col-requirement{width:13%}
  .revision-change-table col.col-completion{width:14%}
}

/* Force the Airport List search/filter panel into its own composited opaque
   layer above the cards.  This prevents iPad/WebKit card paint-through. */
.list-page .controls{
  z-index:120!important;
  background-color:#020617!important;
  background-image:none!important;
  opacity:1!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
  will-change:transform;
  isolation:isolate;
}
.list-page .controls::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  border-radius:inherit;
  background:#020617;
  pointer-events:none;
}
.list-page .search-control input,
.list-page .select-wrap,
.list-page .toggle{background:#0f172a!important;opacity:1!important}
.list-cards{position:relative;z-index:1}

@media(max-width:900px){
  .documents-mode-tabs-shell{top:var(--topbar-height,92px);padding-top:4px}
  .documents-mode-tabs-shell + .document-page-shell.documents-module{height:auto!important;min-height:calc(100vh - var(--topbar-height) - 76px)!important}
  .documents-mode-tabs-shell + .documents-empty-layout-shell{height:auto!important;min-height:calc(100vh - var(--topbar-height) - 76px)!important}
}


/* ==========================================================================
   AeroSafe V4.1.2.6 RECOVERY HOTFIX

   Recovery basis:
   - JavaScript behaviour is restored to the last known-good V4.1.2.4 baseline.
   - The V4.1.2.5 JavaScript layout override is intentionally NOT carried over.
   - Requested Documents and Airport List corrections are implemented here
     using CSS only so startup/data-loading behaviour remains unchanged.
   ========================================================================== */

/* ---------- Documents: remove unused gap below main header ---------- */
.document-container{
  padding-top:0!important;
}
.documents-mode-tabs-shell{
  position:relative!important;
  top:auto!important;
  z-index:85!important;
  display:block!important;
  margin:0 0 4px!important;
  padding:4px 2px!important;
  min-height:48px;
  background:#020617!important;
  box-shadow:none!important;
}

/* The document page becomes the positioning context for the existing
   Show/Hide Revision Details button. No JS/handler change is required. */
.documents-mode-tabs-shell + .document-page-shell.documents-module{
  position:relative!important;
  height:calc(100dvh - var(--topbar-height) - 54px)!important;
  min-height:360px!important;
  margin:0!important;
  gap:6px!important;
}

/* Move the existing toolbar primary-control row upward into the same visual
   line as Publications / Revision Register. The actual button remains the
   existing application button with the existing click handler. */
.documents-mode-tabs-shell + .document-page-shell.documents-module
.document-toolbar-row.primary-controls{
  position:absolute!important;
  top:-52px!important;
  right:2px!important;
  left:auto!important;
  z-index:96!important;
  width:auto!important;
  min-height:44px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  pointer-events:none;
}
.documents-mode-tabs-shell + .document-page-shell.documents-module
.document-toolbar-row.primary-controls .document-toolbar-actions{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  align-items:center!important;
  justify-content:flex-end!important;
  width:auto!important;
  margin:0!important;
  gap:8px!important;
  pointer-events:auto;
}
.documents-mode-tabs-shell + .document-page-shell.documents-module
.document-toolbar-row.primary-controls [data-action="toggle-revision-details"]{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  z-index:97!important;
  white-space:nowrap!important;
}

/* The primary row has been visually lifted into the tabs line, so prevent it
   from consuming another full row inside the document toolbar. */
.documents-mode-tabs-shell + .document-page-shell.documents-module
.document-toolbar{
  padding-top:5px!important;
  margin-top:0!important;
}
.documents-mode-tabs-shell + .document-page-shell.documents-module
.document-toolbar-row.primary-controls{
  height:0!important;
  min-height:0!important;
  overflow:visible!important;
}

/* Keep the mode buttons on the left, compact and stable. */
.documents-mode-tabs-shell .documents-mode-tabs.inline{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  gap:8px!important;
}
.documents-mode-tabs-shell .documents-mode-tabs.inline button{
  white-space:nowrap!important;
  padding:8px 12px!important;
}

/* Revision Register begins directly under the compact mode row. */
.documents-mode-tabs-shell + .revision-register{
  margin-top:0!important;
}

/* ---------- Airport List: eliminate card paint-through ---------- */
.list-page{
  position:relative!important;
  isolation:isolate!important;
  background:#020617!important;
  padding-top:0!important;
}
.list-page .controls{
  position:sticky!important;
  top:var(--topbar-height,82px)!important;
  z-index:220!important;
  margin-top:0!important;
  margin-bottom:16px!important;
  background:#020617!important;
  background-color:#020617!important;
  background-image:none!important;
  opacity:1!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  isolation:isolate!important;
  transform:translateZ(0)!important;
  -webkit-transform:translateZ(0)!important;
  box-shadow:
    0 -32px 0 32px #020617,
    0 10px 22px rgba(2,6,23,.98),
    0 0 0 1px rgba(51,65,85,.38)!important;
}
.list-page .controls::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:-40px!important;
  height:40px!important;
  z-index:-1!important;
  background:#020617!important;
  pointer-events:none!important;
}
.list-page .search-control input,
.list-page .select-wrap,
.list-page .toggle{
  background:#0f172a!important;
  opacity:1!important;
}
.list-cards{
  position:relative!important;
  z-index:1!important;
}

/* Ensure the sticky application header itself is fully opaque while the list
   is scrolling, preventing compositing artefacts on iPad/Chrome. */
.topbar{
  background:#020617!important;
}

/* ---------- Responsive safeguards ---------- */
@media(max-width:1100px){
  .documents-mode-tabs-shell + .document-page-shell.documents-module
  .document-toolbar-row.primary-controls{
    top:-50px!important;
    right:2px!important;
  }
}
@media(max-width:900px){
  .document-container{padding-top:0!important}
  .documents-mode-tabs-shell{
    min-height:46px!important;
    padding:3px 2px!important;
  }
  .documents-mode-tabs-shell + .document-page-shell.documents-module{
    height:auto!important;
    min-height:calc(100dvh - var(--topbar-height) - 52px)!important;
  }
  .documents-mode-tabs-shell + .document-page-shell.documents-module
  .document-toolbar-row.primary-controls{
    top:-49px!important;
    right:2px!important;
    width:auto!important;
  }
  .documents-mode-tabs-shell + .document-page-shell.documents-module
  .document-toolbar-actions{
    width:auto!important;
    flex-wrap:nowrap!important;
  }
  .documents-mode-tabs-shell + .document-page-shell.documents-module
  [data-action="toggle-revision-details"]{
    padding:8px 10px!important;
  }
}


/* ==========================================================================
   AeroSafe V4.1.2.7 — post-UAT layout corrections
   ========================================================================== */

/* Main application header is always the highest sticky application layer and
   remains below the iPad safe-area/status bar. */
.topbar{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:env(safe-area-inset-top,0px)!important;
  z-index:1000!important;
  background:#020617!important;
  background-image:none!important;
  opacity:1!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
  isolation:isolate;
}
@media (display-mode:standalone){
  .topbar{
    padding-top:8px!important;
  }
}

/* ---------- Airport List: header + full search/filter row remain visible ---------- */
.list-page{position:relative!important;isolation:isolate!important;background:#020617!important}
.list-page .controls{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:calc(env(safe-area-inset-top,0px) + var(--topbar-height,82px))!important;
  z-index:900!important;
  margin-top:0!important;
  background:#020617!important;
  background-image:none!important;
  opacity:1!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  box-shadow:
    0 -18px 0 18px #020617,
    0 10px 22px rgba(2,6,23,.98),
    0 0 0 1px rgba(51,65,85,.38)!important;
  -webkit-transform:translateZ(0)!important;
  transform:translateZ(0)!important;
}
.list-page .controls::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:-24px!important;
  height:24px!important;
  z-index:-1!important;
  background:#020617!important;
  border-radius:0!important;
  pointer-events:none!important;
}
.list-page .search-control input,
.list-page .select-wrap,
.list-page .toggle{
  background:#0f172a!important;
  opacity:1!important;
}
.list-cards{position:relative!important;z-index:1!important}

/* ---------- Documents: one coordinated two-level sticky header ---------- */
.document-container{
  padding-top:0!important;
  margin-top:0!important;
  overflow:visible!important;
}

.documents-command-bar{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:calc(env(safe-area-inset-top,0px) + var(--topbar-height,92px))!important;
  z-index:900!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:48px!important;
  margin:0 0 6px!important;
  padding:4px 2px 6px!important;
  background:#020617!important;
  box-shadow:0 7px 14px rgba(2,6,23,.88)!important;
  isolation:isolate;
}

.documents-command-tabs{
  min-width:0;
  display:flex;
  align-items:center;
}
.documents-command-tabs .documents-mode-tabs.inline{
  width:auto!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
}
.documents-command-tabs .documents-mode-tabs.inline button{
  white-space:nowrap!important;
  padding:8px 12px!important;
}

.documents-command-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  margin-left:auto!important;
  min-width:0;
}
.documents-revision-details-toggle{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  white-space:nowrap!important;
}
.documents-revision-details-toggle.active{
  border-color:#60a5fa!important;
  background:#1e3a5f!important;
  color:#dbeafe!important;
}

/* Neutralise the V4.1.2.6 recovery positioning rules. The old shell is no
   longer generated by V4.1.2.7, but this protects update-transition renders. */
.documents-mode-tabs-shell{
  position:relative!important;
  top:auto!important;
  z-index:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  box-shadow:none!important;
}
.documents-mode-tabs-shell + .document-page-shell.documents-module
.document-toolbar-row.primary-controls{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  left:auto!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}

/* Recover maximum reader height below the compact command bar. */
.documents-command-bar + .document-page-shell.documents-module{
  height:calc(100dvh - var(--topbar-height,92px) - env(safe-area-inset-top,0px) - 56px)!important;
  min-height:360px!important;
  margin:0!important;
  gap:6px!important;
}
.documents-command-bar + .documents-empty-layout-shell{
  height:calc(100dvh - var(--topbar-height,92px) - env(safe-area-inset-top,0px) - 56px)!important;
  min-height:360px!important;
}
.documents-command-bar + .revision-register{
  margin-top:0!important;
}

/* Tree auto-selection is allowed to scroll only its own pane. */
.library-tree-scroll,
.briefing-toc-inner{
  overscroll-behavior:contain!important;
  scroll-behavior:auto;
}

/* Revision Register: dataset version is an identifier and should not wrap. */
.revision-register-table:not(.revision-change-table) th:last-child,
.revision-register-table:not(.revision-change-table) td:last-child{
  white-space:nowrap!important;
  min-width:108px;
}

@media(max-width:900px){
  .documents-command-bar{
    min-height:46px!important;
    gap:8px!important;
    padding:3px 2px 5px!important;
  }
  .documents-command-tabs .documents-mode-tabs.inline button,
  .documents-revision-details-toggle{
    padding:8px 10px!important;
  }
  .documents-command-bar + .document-page-shell.documents-module,
  .documents-command-bar + .documents-empty-layout-shell{
    height:auto!important;
    min-height:calc(100dvh - var(--topbar-height,92px) - env(safe-area-inset-top,0px) - 54px)!important;
  }
}
@media(max-width:620px){
  .documents-command-bar{
    flex-wrap:wrap!important;
  }
  .documents-command-actions{
    margin-left:auto!important;
  }
}


/* ==========================================================================
   AeroSafe V4.1.2.8 — fixed application chrome with contained content scrolling
   ========================================================================== */

/* On Airport List and Documents the page itself never scrolls. This eliminates
   content physically moving above/behind the main MK AeroSafe header. */
body.aerosafe-contained-scroll,
body.aerosafe-natural-scroll.aerosafe-contained-scroll{
  height:100dvh!important;
  min-height:100dvh!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  -webkit-overflow-scrolling:auto!important;
}

body.aerosafe-contained-scroll #app{
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
}

body.aerosafe-contained-scroll .topbar{
  position:relative!important;
  top:auto!important;
  z-index:1000!important;
  flex:0 0 auto!important;
  -webkit-transform:none!important;
  transform:none!important;
}

body.aerosafe-contained-scroll .container{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:8px 20px 10px!important;
  margin:0 auto!important;
}

/* ---------------- Airport List ---------------- */
.aerosafe-contained-scroll .list-page.aerosafe-contained-page{
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
  background:#020617!important;
}

.aerosafe-contained-scroll .list-page .controls{
  position:relative!important;
  top:auto!important;
  z-index:5!important;
  margin:0!important;
  flex:0 0 auto!important;
  background:#020617!important;
  box-shadow:0 0 0 1px rgba(51,65,85,.38)!important;
  -webkit-transform:none!important;
  transform:none!important;
}
.aerosafe-contained-scroll .list-page .controls::before{
  display:none!important;
  content:none!important;
}

.aerosafe-contained-scroll .list-content-scroll{
  min-height:0!important;
  margin-top:12px!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
}

.aerosafe-contained-scroll .list-content-scroll.airport-cards-scroll{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  padding:0 0 calc(12px + env(safe-area-inset-bottom,0px))!important;
}

.aerosafe-contained-scroll .list-content-scroll.airport-table-scroll{
  overflow:hidden!important;
}

.aerosafe-contained-scroll .airport-table-scroll .table-wrap{
  height:100%!important;
  max-height:none!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
}

/* ---------------- Documents / Revision Register ---------------- */
.aerosafe-contained-scroll .document-container{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:8px 20px 10px!important;
}

.documents-fixed-frame{
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
  background:#020617!important;
}

.documents-fixed-frame .documents-command-bar{
  position:relative!important;
  top:auto!important;
  z-index:10!important;
  min-height:48px!important;
  margin:0!important;
  padding:4px 2px 6px!important;
  background:#020617!important;
  box-shadow:0 1px 0 rgba(51,65,85,.42)!important;
}

.documents-content-window{
  min-height:0!important;
  overflow:hidden!important;
  padding-top:6px!important;
}

.documents-content-window.revision-register-window{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
  padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;
}

.documents-content-window.document-reader-window{
  overflow:hidden!important;
}

.documents-content-window .document-page-shell.documents-module,
.documents-content-window .documents-empty-layout-shell{
  height:100%!important;
  min-height:0!important;
  margin:0!important;
}

.documents-content-window .revision-register{
  min-height:0!important;
  margin:0!important;
}

/* The Revision Register's own inner tables may still scroll horizontally, but
   vertical movement belongs to the content window above. */
.documents-content-window.revision-register-window .revision-register-table-wrap{
  max-height:none!important;
}

/* The existing tree and document reader keep their own independent scrolling. */
.documents-content-window .document-workspace,
.documents-content-window .document-workspace.document-split{
  min-height:0!important;
  height:100%!important;
}
.documents-content-window .library-tree-scroll,
.documents-content-window .briefing-toc-inner,
.documents-content-window .document-content-scroll{
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
}

/* Neutralise older sticky rules that are unnecessary inside contained pages. */
.aerosafe-contained-scroll .documents-mode-tabs-shell,
.aerosafe-contained-scroll .documents-command-bar{
  position:relative!important;
  top:auto!important;
}

/* Revision dataset identifiers remain intact on one line. */
.revision-register-table:not(.revision-change-table) th:last-child,
.revision-register-table:not(.revision-change-table) td:last-child{
  white-space:nowrap!important;
  min-width:118px!important;
}

/* User-facing control label remains compact. */
.home-quick-column [data-action="check-update"]{
  white-space:normal;
}

@media(max-width:900px){
  body.aerosafe-contained-scroll .container,
  .aerosafe-contained-scroll .document-container{
    padding:6px 12px 8px!important;
  }

  .documents-fixed-frame .documents-command-bar{
    min-height:46px!important;
  }

  .documents-content-window .document-page-shell.documents-module{
    height:100%!important;
    min-height:0!important;
  }
}


/* ==========================================================================
   AeroSafe V4.1.2.10 — targeted contained pages and tree hierarchy refinement
   ========================================================================== */

/* Home, Aerodrome Detail, Legend and User Guide now use the same philosophy
   as the accepted Airport List/Documents implementation: application chrome
   stays outside the scrolling content. These rules are intentionally scoped
   only to the four reported affected views. */
body.aerosafe-simple-contained-scroll,
body.aerosafe-natural-scroll.aerosafe-simple-contained-scroll{
  height:100dvh!important;
  min-height:100dvh!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  -webkit-overflow-scrolling:auto!important;
}

body.aerosafe-simple-contained-scroll #app{
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
}

body.aerosafe-simple-contained-scroll .topbar{
  position:relative!important;
  top:auto!important;
  z-index:1000!important;
  -webkit-transform:none!important;
  transform:none!important;
}

body.aerosafe-simple-contained-scroll .container{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  padding-top:10px!important;
  padding-bottom:10px!important;
}

/* Home: entire dashboard is the content scroller below the fixed header. */
body.aerosafe-home-contained .home-dashboard-top{
  height:100%!important;
  min-height:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
  padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;
}

/* Aerodrome Detail: scroll only the detail content below the main header. */
body.aerosafe-detail-contained .detail-grid{
  height:100%!important;
  min-height:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
  padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;
}

/* Legend and User Guide: page cards scroll internally below the header. */
body.aerosafe-legend-contained .guide-page,
body.aerosafe-guide-contained .guide-page{
  height:100%!important;
  min-height:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
  padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;
}

/* ---------- Publication tree hierarchy ---------- */

/* A document is a child of its Publication: indent the complete document row,
   including its disclosure icon, rather than letting the icon sit to the left
   of the publication level. */
.library-tree-panel .doc-tree-children > .doc-node > .doc-entry-row.no-search-checkbox{
  padding-left:18px!important;
}

/* One disclosure glyph is used in both collapsed and expanded states.
   Expansion rotates the SAME icon 90 degrees clockwise. */
.doc-disclosure,
.doc-section-disclosure{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:#94a3b8!important;
  width:22px!important;
  min-width:22px!important;
  height:30px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  border-radius:0!important;
}

.doc-disclosure:hover,
.doc-disclosure:focus,
.doc-disclosure:active,
.doc-section-disclosure:hover,
.doc-section-disclosure:focus,
.doc-section-disclosure:active{
  background:transparent!important;
  box-shadow:none!important;
  outline:none!important;
}

.tree-disclosure-icon{
  display:inline-block!important;
  transform:rotate(0deg);
  transform-origin:50% 50%;
  transition:transform .12s ease;
  font-size:15px;
  line-height:1;
  color:inherit;
  pointer-events:none;
}

.doc-disclosure.is-expanded .tree-disclosure-icon,
.doc-section-disclosure.is-expanded .tree-disclosure-icon{
  transform:rotate(90deg);
}

/* Keep the disclosure cell aligned with the heading text and avoid the
   rectangular button appearance seen on expanded chapter rows. */
.doc-section-row{
  align-items:start!important;
}
.doc-section-row .doc-section-disclosure,
.doc-section-row .doc-section-spacer{
  margin-top:1px!important;
}
.doc-section-spacer{
  width:22px!important;
  min-width:22px!important;
}

/* Consistent hierarchy: document -> root chapter -> child headings. */
.doc-section-tree.hierarchical{
  padding-left:42px!important;
}
.doc-section-children{
  padding-left:15px!important;
  margin-left:10px!important;
}

@media(max-width:900px){
  body.aerosafe-simple-contained-scroll .container{
    padding:8px 12px!important;
  }
}


/* ==========================================================================
   AeroSafe V4.1.2.11 — Aerodrome Detail dedicated scrolling
   ========================================================================== */

/* V4.1.2.10 already keeps the main header outside the contained Detail page.
   V4.1.2.11 gives Aerodrome Detail one dedicated vertical scroller so long
   Remarks/Notes can always be reached on iPad. */
body.aerosafe-detail-contained .detail-view-frame{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}

body.aerosafe-detail-contained .detail-view-scroll{
  height:100%!important;
  min-height:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
  padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))!important;
}

/* Remove nested Detail scrolling introduced by V4.1.2.10. The wrapper above
   is now the single owner of vertical scrolling. */
body.aerosafe-detail-contained .detail-view-scroll > .detail-grid{
  height:auto!important;
  min-height:min-content!important;
  overflow:visible!important;
  touch-action:auto!important;
}

/* Chapter text remains visually a navigation label, but where a disclosure
   arrow exists both controls now intentionally share expand/collapse action. */
.doc-section-row:has(.doc-section-disclosure) .doc-section-link{
  cursor:pointer!important;
}


/* ==========================================================================
   AeroSafe V4.1.2.12 — tree disclosure and Map toolbar visual consistency
   ========================================================================== */

/* Publication / document-type tree rows retain their row backgrounds, while
   the disclosure glyph itself is plain and transparent at every hierarchy. */
.tree-line-toggle{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  width:100%!important;
  text-align:left!important;
}
.tree-line-toggle .tree-disclosure-icon{
  flex:0 0 22px!important;
  width:22px!important;
  height:22px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:rotate(0deg);
  transform-origin:50% 50%;
  transition:transform .12s ease;
}
.tree-line-toggle.is-expanded .tree-disclosure-icon{
  transform:rotate(90deg);
}
.tree-toggle-label{min-width:0}

/* All document/section disclosure controls use the same transparent hit area. */
.library-tree-panel .doc-disclosure,
.library-tree-panel .doc-section-disclosure{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
  border-radius:0!important;
}
.library-tree-panel .doc-disclosure:hover,
.library-tree-panel .doc-disclosure:focus,
.library-tree-panel .doc-disclosure:active,
.library-tree-panel .doc-section-disclosure:hover,
.library-tree-panel .doc-section-disclosure:focus,
.library-tree-panel .doc-section-disclosure:active{
  background:transparent!important;
  box-shadow:none!important;
}

/* Equal Map toolbar button boxes and glyph line boxes on iPad. */
.map-toolbar .map-toolbar-icon{
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  overflow:hidden!important;
}
.map-toolbar .map-toolbar-glyph{
  display:inline-flex!important;
  width:26px!important;
  height:26px!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  font-family:Arial,"Segoe UI Symbol",sans-serif!important;
  font-size:22px!important;
  font-style:normal!important;
}
.map-toolbar .aircraft-glyph{font-size:23px!important}
.map-toolbar .info-glyph{font-size:22px!important}
.map-toolbar .range-icon{
  width:24px!important;
  height:24px!important;
  flex:0 0 24px!important;
}


/* ==========================================================================
   AeroSafe V4.1.2.15 — consistent search clear controls
   ========================================================================== */

.aerosafe-search-shell{
  position:relative;
  display:block;
  min-width:0;
  width:100%;
}

.aerosafe-search-shell > input,
.document-search-box > input{
  padding-right:42px!important;
}

.aerosafe-search-clear,
.document-search-clear.aerosafe-search-clear{
  position:absolute!important;
  right:6px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:4!important;
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:8px!important;
  background:#1e293b!important;
  color:#e2e8f0!important;
  font-size:21px!important;
  font-weight:500!important;
  line-height:1!important;
  box-shadow:none!important;
  touch-action:manipulation!important;
}

.aerosafe-search-clear:hover,
.aerosafe-search-clear:focus,
.aerosafe-search-clear:active{
  background:#334155!important;
  color:#fff!important;
  outline:1px solid rgba(96,165,250,.55)!important;
}

.aerosafe-search-clear.hidden{
  display:none!important;
}

/* Airport search already has a left search glyph; the wrapper must fill the
   existing search-control and preserve its layout. */
.search-control .aerosafe-airport-search-shell{
  flex:1 1 auto;
}

/* Map ICAO/IATA: widen slightly so a code/value and × fit comfortably while
   keeping Center and the map toolbar compact. */
.map-search-form.compact .aerosafe-map-search-shell{
  width:180px!important;
  min-width:180px!important;
  max-width:180px!important;
  flex:0 0 180px!important;
}
.map-search-form.compact .aerosafe-map-search-shell > input{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  padding-right:40px!important;
}

/* Revision Register controls use CSS grid. The wrapper occupies exactly the
   same grid cell previously occupied by the input. */
.revision-register-controls > .aerosafe-search-shell{
  width:100%;
}
.revision-register-controls > .aerosafe-search-shell > input{
  width:100%;
}

/* Preserve the existing Documents search geometry. */
.document-search-box{
  position:relative;
}

@media(max-width:900px){
  .map-search-form.compact .aerosafe-map-search-shell{
    width:170px!important;
    min-width:170px!important;
    max-width:170px!important;
    flex-basis:170px!important;
  }
}


/* ==========================================================================
   AeroSafe V4.1.2.16 — Legend/User Guide search
   ========================================================================== */

.page-content-search{
  width:100%;
  margin:0 0 14px;
}

.page-content-search-shell{
  display:block!important;
  width:100%!important;
  max-width:760px!important;
}

.page-content-search-shell .icon-left{
  z-index:2;
}

.page-content-search-shell > input{
  width:100%!important;
  min-width:0!important;
  border:1px solid #334155!important;
  background:#020617!important;
  color:#e2e8f0!important;
  border-radius:12px!important;
  padding:11px 42px 11px 40px!important;
  outline:none!important;
}

.page-content-search-shell > input:focus{
  border-color:#60a5fa!important;
  box-shadow:0 0 0 2px rgba(96,165,250,.18)!important;
}

.page-search-filtered-out{
  display:none!important;
}

.page-search-empty{
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid #334155;
  border-radius:10px;
  background:#0b1220;
  color:#94a3b8;
}

/* During User Guide search, matching chapters are shown expanded temporarily.
   Clearing the search returns to the user's normal +/- chapter state. */
.guide-search-root.guide-search-active
.guide-section:not(.page-search-filtered-out)
.guide-content{
  display:block!important;
}

/* Legend has no enclosing card header, so give its new search the same compact
   top spacing as the User Guide search. */
.legend-search-root > .page-content-search{
  margin-top:0;
}

/* Preserve comfortable spacing on iPad. */
@media(max-width:900px){
  .page-content-search-shell{
    max-width:none!important;
  }
}


/* ==========================================================================
   AeroSafe V4.1.2.17 — Personal Notes DEV1 (Parallel Test only)
   ========================================================================== */

.personal-note-eligible{
  position:relative;
  -webkit-touch-callout:none;
}

.personal-note-longpress-active{
  outline:2px solid rgba(96,165,250,.85);
  outline-offset:3px;
  border-radius:8px;
  background:rgba(96,165,250,.08);
}

.controlled-content-item.has-personal-note{
  padding-right:42px;
}

.personal-note-indicator{
  position:absolute;
  right:4px;
  top:6px;
  z-index:7;
  width:32px;
  height:32px;
  min-width:32px;
  min-height:32px;
  padding:6px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #475569;
  border-radius:9px;
  background:#0f172a;
  color:#cbd5e1;
  box-shadow:0 3px 10px rgba(0,0,0,.30);
  touch-action:manipulation;
}

.personal-note-indicator svg,
.personal-note-importance-icon svg,
.personal-note-context-action svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.personal-note-normal > .personal-note-indicator{
  border-color:#64748b;
  color:#cbd5e1;
}

.personal-note-important > .personal-note-indicator{
  border-color:#f59e0b;
  color:#fbbf24;
  background:rgba(120,53,15,.42);
}

.personal-note-very-important > .personal-note-indicator{
  border-color:#ef4444;
  color:#fca5a5;
  background:rgba(127,29,29,.45);
}

.personal-note-context-menu{
  position:fixed;
  z-index:12050;
  min-width:170px;
  padding:6px;
  border:1px solid #475569;
  border-radius:12px;
  background:#111827;
  box-shadow:0 18px 45px rgba(0,0,0,.55);
}

.personal-note-context-action{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  border:0;
  border-radius:9px;
  padding:10px 12px;
  background:transparent;
  color:#e2e8f0;
  text-align:left;
  font-weight:750;
}

.personal-note-context-action:hover,
.personal-note-context-action:focus{
  background:#1e293b;
  color:#fff;
}

.personal-note-add-symbol{
  width:19px;
  text-align:center;
  font-size:22px;
  line-height:1;
  color:#93c5fd;
}

.personal-note-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:12000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(2,6,23,.72);
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px);
}

.personal-note-modal{
  width:min(700px,calc(100vw - 28px));
  max-height:calc(100vh - 44px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #475569;
  border-radius:18px;
  background:#0f172a;
  color:#e2e8f0;
  box-shadow:0 28px 75px rgba(0,0,0,.62);
}

.personal-note-modal-header,
.personal-note-view-toolbar{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:15px 17px;
  border-bottom:1px solid #334155;
  background:#111827;
}

.personal-note-modal-header h3{
  margin:2px 0 0;
  font-size:20px;
}

.personal-note-kicker{
  color:#93c5fd;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.personal-note-modal-close{
  width:34px;
  height:34px;
  border:0;
  border-radius:9px;
  background:#1e293b;
  color:#e2e8f0;
  font-size:24px;
  line-height:1;
}

.personal-note-modal-body{
  flex:1 1 auto;
  overflow:auto;
  display:grid;
  gap:16px;
  padding:17px;
  -webkit-overflow-scrolling:touch;
}

.personal-note-anchor-card{
  display:grid;
  gap:6px;
  padding:12px 13px;
  border:1px solid #334155;
  border-radius:11px;
  background:#0b1220;
}

.personal-note-anchor-card strong{
  color:#bfdbfe;
}

.personal-note-anchor-card div{
  color:#cbd5e1;
  font-size:13px;
  line-height:1.45;
}

.personal-note-importance-fieldset{
  margin:0;
  padding:0;
  border:0;
}

.personal-note-importance-fieldset legend,
.personal-note-text-label{
  display:grid;
  gap:7px;
  color:#cbd5e1;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.personal-note-importance-fieldset legend{
  margin-bottom:8px;
}

.personal-note-importance-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}

.personal-note-importance-option{
  position:relative;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:9px;
  min-width:0;
  padding:11px;
  border:1px solid #334155;
  border-radius:11px;
  background:#0b1220;
  cursor:pointer;
}

.personal-note-importance-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.personal-note-importance-option:has(input:checked){
  border-color:#60a5fa;
  box-shadow:0 0 0 2px rgba(96,165,250,.15);
}

.personal-note-importance-option.important:has(input:checked){
  border-color:#f59e0b;
  box-shadow:0 0 0 2px rgba(245,158,11,.14);
}

.personal-note-importance-option.very-important:has(input:checked){
  border-color:#ef4444;
  box-shadow:0 0 0 2px rgba(239,68,68,.14);
}

.personal-note-importance-icon{
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #475569;
  border-radius:8px;
  color:#cbd5e1;
  font-weight:900;
}

.personal-note-importance-option.important .personal-note-importance-icon{
  border-color:#f59e0b;
  color:#fbbf24;
}

.personal-note-importance-option.very-important .personal-note-importance-icon{
  border-color:#ef4444;
  color:#fca5a5;
}

.personal-note-importance-symbol{
  font-weight:950;
  letter-spacing:-.05em;
}

.personal-note-importance-option strong{
  display:block;
  color:#e2e8f0;
  font-size:13px;
  text-transform:none;
  letter-spacing:normal;
}

.personal-note-importance-option small{
  display:block;
  margin-top:2px;
  color:#94a3b8;
  font-size:10px;
  font-weight:500;
  text-transform:none;
  letter-spacing:normal;
}

.personal-note-text-label textarea{
  width:100%;
  min-height:150px;
  resize:vertical;
  border:1px solid #334155;
  border-radius:11px;
  padding:12px 13px;
  background:#020617;
  color:#e2e8f0;
  font:inherit;
  font-size:15px;
  line-height:1.5;
  text-transform:none;
  letter-spacing:normal;
  font-weight:400;
}

.personal-note-text-label textarea:focus{
  border-color:#60a5fa;
  outline:2px solid rgba(96,165,250,.16);
}

.personal-note-text-label textarea.personal-note-input-error{
  border-color:#ef4444;
}

.personal-note-dev1-info{
  padding:10px 12px;
  border:1px solid rgba(96,165,250,.26);
  border-radius:10px;
  background:rgba(30,64,175,.12);
  color:#bfdbfe;
  font-size:11px;
  line-height:1.45;
}

.personal-note-modal-actions{
  flex:0 0 auto;
  display:flex;
  justify-content:flex-end;
  gap:9px;
  padding:13px 17px;
  border-top:1px solid #334155;
  background:#111827;
}

.personal-note-view-toolbar{
  padding:12px 14px;
}

.personal-note-view-importance,
.personal-note-view-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.personal-note-view-importance{
  color:#cbd5e1;
}

.personal-note-viewer.important .personal-note-view-importance{
  color:#fbbf24;
}

.personal-note-viewer.very-important .personal-note-view-importance{
  color:#fca5a5;
}

.personal-note-icon-action{
  width:36px;
  height:36px;
  min-width:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #475569;
  border-radius:9px;
  background:#0f172a;
  color:#e2e8f0;
  font-size:19px;
  font-weight:850;
}

.personal-note-icon-action.danger{
  border-color:rgba(239,68,68,.55);
  color:#fca5a5;
}

.personal-note-icon-action.done{
  border-color:rgba(34,197,94,.55);
  color:#bbf7d0;
}

.personal-note-full-text{
  min-height:120px;
  padding:15px;
  border:1px solid #334155;
  border-radius:11px;
  background:#020617;
  color:#e2e8f0;
  font-size:15px;
  line-height:1.6;
  white-space:normal;
  overflow-wrap:anywhere;
}

.personal-note-timestamps{
  color:#64748b;
  font-size:10px;
}

@media(max-width:700px){
  .personal-note-modal-backdrop{
    padding:10px;
  }

  .personal-note-modal{
    width:calc(100vw - 20px);
    max-height:calc(100vh - 20px);
  }

  .personal-note-importance-grid{
    grid-template-columns:1fr;
  }

  .controlled-content-item.has-personal-note{
    padding-right:38px;
  }

  .personal-note-indicator{
    right:2px;
    width:30px;
    height:30px;
    min-width:30px;
    min-height:30px;
  }
}


/* ==========================================================================
   AeroSafe V4.1.2.18 — Personal Notes DEV2
   ========================================================================== */

/* Section/document heading annotation support */
.personal-note-section-heading{
  position:relative;
  -webkit-touch-callout:none;
}

.personal-note-section-heading.has-personal-note{
  padding-right:44px!important;
}

.personal-note-section-heading > .personal-note-indicator{
  top:50%;
  transform:translateY(-50%);
  right:2px;
}

/* My Notes */
.my-notes-window{
  overflow:auto!important;
  -webkit-overflow-scrolling:touch;
}

.my-notes-card{
  min-height:100%;
}

.my-notes-card .card-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.my-notes-status-key{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  color:#94a3b8;
  font-size:11px;
}

.my-notes-status-key span{
  display:flex;
  align-items:center;
  gap:5px;
}

.status-play,
.status-warning{
  font-size:17px;
}

.status-play.current{
  color:#60a5fa;
}

.status-play.revised,
.status-warning{
  color:#fbbf24;
}

.my-notes-table-wrap{
  width:100%;
  overflow:auto;
  border:1px solid #334155;
  border-radius:12px;
}

.my-notes-table{
  width:100%;
  min-width:820px;
  border-collapse:collapse;
  table-layout:fixed;
}

.my-notes-table th,
.my-notes-table td{
  padding:11px 12px;
  border-bottom:1px solid #263244;
  vertical-align:middle;
  text-align:left;
}

.my-notes-table th{
  position:sticky;
  top:0;
  z-index:2;
  background:#111827;
  color:#cbd5e1;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.045em;
}

.my-notes-table th:nth-child(1){width:160px;}
.my-notes-table th:nth-child(2){width:190px;}
.my-notes-table th:nth-child(3){width:220px;}
.my-notes-table th:nth-child(4){width:auto;}
.my-notes-table th:nth-child(5){width:76px;text-align:center;}

.my-notes-table td:last-child{
  text-align:center;
}

.my-notes-table tbody tr:last-child td{
  border-bottom:0;
}

.my-notes-table tbody tr:hover{
  background:rgba(30,41,59,.45);
}

.my-notes-importance{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:12px;
  font-weight:700;
}

.my-notes-importance .personal-note-importance-icon{
  flex:0 0 28px;
}

.my-notes-importance.important{
  color:#fbbf24;
}

.my-notes-importance.very-important{
  color:#fca5a5;
}

.my-notes-preview{
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  color:#dbeafe;
  text-align:left;
  line-height:1.45;
  cursor:pointer;
}

.my-notes-preview:hover,
.my-notes-preview:focus{
  color:#fff;
  text-decoration:underline;
}

.my-notes-goto{
  width:38px;
  height:34px;
  min-width:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #334155;
  border-radius:9px;
  background:#0f172a;
  font-size:18px;
  font-weight:900;
  line-height:1;
  touch-action:manipulation;
}

.my-notes-goto.current{
  color:#60a5fa;
  border-color:rgba(96,165,250,.45);
}

.my-notes-goto.revised,
.my-notes-goto.orphaned{
  color:#fbbf24;
  border-color:rgba(245,158,11,.55);
  background:rgba(120,53,15,.20);
}

.my-notes-goto:hover,
.my-notes-goto:focus{
  outline:2px solid rgba(96,165,250,.18);
}

.personal-note-source-status{
  display:grid;
  gap:4px;
  padding:11px 12px;
  border-radius:10px;
  font-size:12px;
  line-height:1.4;
}

.personal-note-source-status.revised{
  border:1px solid rgba(245,158,11,.55);
  background:rgba(120,53,15,.20);
  color:#fde68a;
}

.personal-note-source-status.orphaned{
  border:1px solid rgba(245,158,11,.55);
  background:rgba(120,53,15,.20);
  color:#fde68a;
}

.personal-note-source-status span{
  color:#d6d3d1;
}

.personal-note-goto-highlight{
  outline:3px solid rgba(96,165,250,.95)!important;
  outline-offset:4px!important;
  border-radius:8px!important;
  animation:personal-note-goto-pulse .7s ease-in-out 2;
}

@keyframes personal-note-goto-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(96,165,250,.10);}
  50%{box-shadow:0 0 0 7px rgba(96,165,250,.18);}
}

/* Reattach mode */
.personal-note-reattach-banner{
  position:fixed;
  left:50%;
  top:92px;
  transform:translateX(-50%);
  z-index:11900;
  width:min(760px,calc(100vw - 28px));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:11px 13px;
  border:1px solid rgba(245,158,11,.72);
  border-radius:12px;
  background:#422006;
  color:#fef3c7;
  box-shadow:0 14px 40px rgba(0,0,0,.45);
}

.personal-note-reattach-banner > div{
  display:grid;
  gap:2px;
}

.personal-note-reattach-banner strong{
  font-size:13px;
}

.personal-note-reattach-banner span{
  color:#fde68a;
  font-size:11px;
}

body.personal-note-reattach-mode .personal-note-eligible{
  cursor:crosshair;
}

body.personal-note-reattach-mode .personal-note-eligible:hover{
  outline:2px dashed rgba(245,158,11,.75);
  outline-offset:3px;
}

@media(max-width:800px){
  .my-notes-card .card-header{
    align-items:flex-start;
  }

  .personal-note-reattach-banner{
    top:78px;
    align-items:flex-start;
  }

  .my-notes-table{
    min-width:760px;
  }
}


/* ==========================================================================
   AeroSafe V4.1.2.19 — Personal Notes DEV3
   ========================================================================== */

/* Match Important / Very Important icon colour to the corresponding text.
   Normal remains neutral. */
.my-notes-importance.important .personal-note-importance-icon{
  color:#fbbf24!important;
  border-color:#fbbf24!important;
}
.my-notes-importance.very-important .personal-note-importance-icon{
  color:#fca5a5!important;
  border-color:#fca5a5!important;
}

.my-notes-tools{
  position:relative;
  z-index:5;
  display:grid;
  grid-template-columns:minmax(260px,1fr) 180px 220px;
  gap:10px;
  align-items:center;
  margin:0 0 14px;
}

.my-notes-search-shell{
  display:block!important;
  width:100%!important;
}
.my-notes-search-shell > input{
  width:100%!important;
  min-width:0!important;
  padding-right:42px!important;
}

.my-notes-filter-select,
.my-notes-filter-button{
  width:100%;
  min-height:42px;
  border:1px solid #334155;
  border-radius:11px;
  background:#0b1220;
  color:#e2e8f0;
  font-size:13px;
}

.my-notes-filter-select{
  padding:0 34px 0 11px;
}

.my-notes-filter-button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:0 11px;
  text-align:left;
}

.my-notes-filter-button:hover,
.my-notes-filter-button:focus,
.my-notes-filter-select:focus{
  border-color:#60a5fa;
  outline:2px solid rgba(96,165,250,.16);
}

.my-notes-filter-chevron{
  color:#94a3b8;
  font-size:12px;
}

.my-notes-publication-filter{
  position:relative;
  min-width:0;
}

.my-notes-publication-menu{
  position:absolute;
  top:calc(100% + 5px);
  right:0;
  z-index:40;
  width:min(340px,80vw);
  max-height:330px;
  overflow:hidden;
  border:1px solid #475569;
  border-radius:12px;
  background:#111827;
  box-shadow:0 18px 48px rgba(0,0,0,.55);
}
.my-notes-publication-menu.hidden{
  display:none!important;
}

.my-notes-publication-option-list{
  max-height:270px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  padding:4px 0;
}

.my-notes-publication-option{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:38px;
  padding:7px 11px;
  color:#e2e8f0;
  font-size:12px;
  cursor:pointer;
}

.my-notes-publication-option.all{
  border-bottom:1px solid #334155;
  font-weight:800;
}

.my-notes-publication-option:hover{
  background:#1e293b;
}

.my-notes-publication-option input{
  width:17px;
  height:17px;
  accent-color:auto;
}

.my-notes-sort-button{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  text-transform:inherit;
  letter-spacing:inherit;
  text-align:left;
}

.my-notes-sort-button:hover,
.my-notes-sort-button:focus{
  color:#fff;
  outline:none;
}

.my-notes-sort-indicator{
  flex:0 0 auto;
  color:#64748b;
  font-size:11px;
}
.my-notes-sort-indicator.active{
  color:#93c5fd;
}
.my-notes-sort-indicator.default{
  color:#cbd5e1;
}

.my-notes-no-results td{
  padding:24px 14px!important;
  color:#94a3b8;
  text-align:center!important;
}

@media(max-width:980px){
  .my-notes-tools{
    grid-template-columns:minmax(240px,1fr) 170px 200px;
  }
}
@media(max-width:760px){
  .my-notes-tools{
    grid-template-columns:1fr;
  }
  .my-notes-publication-menu{
    left:0;
    right:auto;
    width:min(420px,calc(100vw - 44px));
  }
}


/* ==========================================================================
   AeroSafe V4.1.2.20 — My Notes search visual alignment
   Parallel Test only.

   Match the dark Document Revisions search treatment and align the search
   control height with the adjacent Importance and Publication filters.
   ========================================================================== */

.my-notes-search-shell{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
}

.my-notes-search-shell > input{
  box-sizing:border-box!important;
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  margin:0!important;
  padding:0 42px 0 42px!important;
  border:1px solid #334155!important;
  border-radius:11px!important;
  background:#020617!important;
  color:#e2e8f0!important;
  font-size:13px!important;
  line-height:40px!important;
  box-shadow:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}

.my-notes-search-shell > input::placeholder{
  color:#64748b!important;
  opacity:1!important;
}

.my-notes-search-shell > input:focus{
  border-color:#475569!important;
  outline:none!important;
  box-shadow:none!important;
  background:#020617!important;
  color:#fff!important;
}

.my-notes-search-shell > .icon-left{
  position:absolute!important;
  left:13px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:3!important;
  color:#64748b!important;
  pointer-events:none!important;
  line-height:1!important;
}

.my-notes-search-shell > .aerosafe-search-clear{
  right:6px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
}

/* Keep all three My Notes controls visually aligned. */
.my-notes-filter-select,
.my-notes-filter-button{
  box-sizing:border-box!important;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  margin:0!important;
}


/* ==========================================================================
   AeroSafe V4.1.2.21 — Personal Notes DEV3.2
   ========================================================================== */

/* Status-aware GoTo on the source card in the full Note popup */
.personal-note-anchor-card.personal-note-anchor-card-with-goto{
  grid-template-columns:minmax(0,1fr) 44px!important;
  column-gap:12px!important;
  align-items:center!important;
}

.personal-note-anchor-card-with-goto > strong{
  grid-column:1!important;
  grid-row:1!important;
}

.personal-note-anchor-card-with-goto > div{
  grid-column:1!important;
  grid-row:2!important;
}

.personal-note-card-goto{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  align-self:center!important;
  justify-self:end!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  border-radius:10px!important;
  border:1px solid #334155!important;
  background:#0f172a!important;
  font-size:19px!important;
  font-weight:900!important;
  line-height:1!important;
  touch-action:manipulation!important;
}

.personal-note-card-goto.current{
  color:#60a5fa!important;
  border-color:rgba(96,165,250,.55)!important;
}

.personal-note-card-goto.revised,
.personal-note-card-goto.orphaned{
  color:#fbbf24!important;
  border-color:rgba(245,158,11,.60)!important;
  background:rgba(120,53,15,.20)!important;
}

.personal-note-card-goto:hover,
.personal-note-card-goto:focus{
  outline:2px solid rgba(96,165,250,.20)!important;
}

/* My Notes return highlight */
.my-note-return-highlight td{
  background:rgba(59,130,246,.15)!important;
  box-shadow:
    inset 0 2px 0 rgba(96,165,250,.85),
    inset 0 -2px 0 rgba(96,165,250,.85)!important;
}

.my-note-return-highlight td:first-child{
  box-shadow:
    inset 2px 0 0 rgba(96,165,250,.85),
    inset 0 2px 0 rgba(96,165,250,.85),
    inset 0 -2px 0 rgba(96,165,250,.85)!important;
}

.my-note-return-highlight td:last-child{
  box-shadow:
    inset -2px 0 0 rgba(96,165,250,.85),
    inset 0 2px 0 rgba(96,165,250,.85),
    inset 0 -2px 0 rgba(96,165,250,.85)!important;
}

/* Documents chapter subsections in User Guide */
.guide-subsection{
  padding:2px 0 12px;
}

.guide-subsection + .guide-subsection{
  margin-top:10px;
  padding-top:14px;
  border-top:1px solid #263244;
}

.guide-subsection h4{
  margin:0 0 8px;
  color:#bfdbfe;
  font-size:14px;
  font-weight:800;
}

.guide-subsection ul{
  margin-top:0;
  margin-bottom:0;
}

/* ==========================================================================
   AeroSafe V4.1.2.23 — Search / Airport selector / iPad icon corrections
   ========================================================================== */

/* Transparent interaction shield shown only while an Airport List native
   selector is open. It sits above the page but below the active select wrapper. */
.aerosafe-airport-select-shield{
  position:fixed;
  inset:0;
  z-index:14990;
  background:transparent;
  touch-action:none;
  cursor:default;
}
.aerosafe-airport-select-shield.hidden{
  display:none!important;
}

/* Airport List controls already form a stacking context. While a native
   selector is open, disable every other control and elevate only the active
   select wrapper above the shield. */
body.aerosafe-airport-native-select-open .list-page .controls{
  z-index:15000!important;
  pointer-events:none!important;
}
body.aerosafe-airport-native-select-open .list-page .controls .select-wrap{
  pointer-events:none!important;
}
body.aerosafe-airport-native-select-open .list-page .controls .select-wrap.aerosafe-airport-select-active{
  position:relative!important;
  z-index:15010!important;
  pointer-events:auto!important;
}

/* Reuse the established document-search yellow treatment for the new
   User Guide / Legend / Revision Register / My Notes highlights. */
.aerosafe-v41223-search-highlight{
  background:#fde047!important;
  color:#111827!important;
  border-radius:3px;
  padding:0 .08em;
  box-shadow:0 0 0 1px rgba(253,224,71,.25);
}

/* Force the play symbol to render as text rather than the iOS blue play-button
   emoji. Colour is then controlled by the existing current/revised classes. */
.status-play,
.my-notes-goto,
.personal-note-card-goto{
  font-variant-emoji:text;
  font-family:Arial,Helvetica,sans-serif!important;
}
.status-play.current,
.my-notes-goto.current,
.personal-note-card-goto.current{
  color:#60a5fa!important;
}
.status-play.revised,
.my-notes-goto.revised,
.personal-note-card-goto.revised{
  color:#fbbf24!important;
}

/* ==========================================================================
   AeroSafe V4.1.2.24 — Airport custom popovers and note-action positioning
   ========================================================================== */

/* V4.1.2.23 native selector shield is no longer used because the native
   Airport List selects have been replaced by AeroSafe-owned popovers. */
.aerosafe-airport-select-shield{
  display:none!important;
}

/* Airport List custom selector triggers */
.airport-custom-selector-wrap{
  position:relative;
  flex:0 0 auto;
}
.airport-custom-selector-trigger{
  min-height:46px;
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--border);
  border-radius:16px;
  background:var(--panel);
  color:var(--text);
  padding:0 12px;
  white-space:nowrap;
}
.airport-custom-selector-trigger:hover,
.airport-custom-selector-trigger:focus{
  border-color:#475569;
  background:#111827;
  outline:none;
}
.airport-custom-selector-trigger[aria-expanded="true"]{
  border-color:#60a5fa;
  box-shadow:0 0 0 2px rgba(96,165,250,.18);
}
.airport-custom-selector-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:18px;
}
.airport-custom-selector-value{
  min-width:54px;
  text-align:left;
}
.airport-custom-selector-chevron{
  color:#94a3b8;
  font-size:12px;
}

/* Body-level backdrop deliberately covers all of AeroSafe, including the
   top navigation. It remains present through the complete outside-tap gesture. */
.airport-custom-popover-backdrop{
  position:fixed;
  inset:0;
  z-index:16000;
  background:rgba(2,6,23,.08);
  touch-action:none;
  -webkit-tap-highlight-color:transparent;
}
.airport-custom-popover{
  position:fixed;
  z-index:16010;
  min-width:180px;
  max-width:min(320px,calc(100vw - 20px));
  display:grid;
  gap:4px;
  padding:7px;
  border:1px solid #475569;
  border-radius:14px;
  background:#0f172a;
  color:#e2e8f0;
  box-shadow:0 20px 50px rgba(0,0,0,.58);
}
.airport-custom-popover-option{
  width:100%;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:#e2e8f0;
  padding:9px 12px;
  text-align:left;
  font-weight:650;
}
.airport-custom-popover-option:hover,
.airport-custom-popover-option:focus{
  background:#1e293b;
  border-color:#334155;
  outline:none;
}
.airport-custom-popover-option.selected{
  background:rgba(37,99,235,.18);
  border-color:#60a5fa;
  color:#dbeafe;
}
.airport-custom-popover-check{
  color:#60a5fa;
  font-weight:900;
}

/* Do not allow the page under an open AeroSafe selector menu to react to
   accidental keyboard/touch focus changes. */
body.aerosafe-airport-popover-open{
  overscroll-behavior:none;
}

/* Personal Notes: the existing context menu remains fixed-positioned but its
   left/top are now chosen from the actual selected line / press point. */
.personal-note-context-menu{
  max-width:min(240px,calc(100vw - 20px));
}
.personal-note-context-menu-add-note{
  border-color:#f59e0b!important;
  background:#2a1b05!important;
  box-shadow:
    0 18px 45px rgba(0,0,0,.58),
    0 0 0 1px rgba(245,158,11,.18),
    0 0 18px rgba(245,158,11,.18);
}
.personal-note-context-menu-add-note .personal-note-context-action{
  background:rgba(245,158,11,.12);
  color:#fde68a;
  font-weight:850;
}
.personal-note-context-menu-add-note .personal-note-context-action:hover,
.personal-note-context-menu-add-note .personal-note-context-action:focus{
  background:rgba(245,158,11,.22);
  color:#fff7d6;
}
.personal-note-context-menu-add-note .personal-note-add-symbol{
  color:#fbbf24!important;
  font-size:24px;
  font-weight:900;
}

/* ==========================================================================\n   AeroSafe V4.1.2.26 — Notes server-sync + Revision compliance states\n   ========================================================================== */
.completion-mark-read{
  width:max-content;
  border:1px solid #3b82f6;
  border-radius:7px;
  background:rgba(59,130,246,.12);
  color:#bfdbfe;
  padding:5px 8px;
  font-size:11px;
  font-weight:800;
}
.completion-mark-read:hover{background:rgba(59,130,246,.20)}
.completion-sync-confirmed{color:#86efac!important}
.completion-action-needed{color:#bfdbfe!important}
.completion-sync-pending{color:#fbbf24!important}
.completion-badge.read{
  border-color:#3b82f6;
  background:rgba(59,130,246,.16);
  color:#bfdbfe;
}
.completion-badge.completed{
  border-color:#22c55e;
  background:rgba(34,197,94,.16);
  color:#bbf7d0;
}
.completion-badge.acknowledged{
  border-color:#22c55e;
  background:rgba(34,197,94,.12);
  color:#bbf7d0;
}
.revision-change-table .completion-mark-read{
  max-width:100%;
  white-space:normal;
  font-size:10px;
  padding:4px 6px;
}
.personal-note-server-sync{
  display:inline;
  font-weight:700;
}
.personal-note-server-sync.synced{color:#86efac}
.personal-note-server-sync.pending-server-sync{color:#fbbf24}
.personal-note-server-sync.conflict{color:#fca5a5}

/* AeroSafe V4.1.2.27 — server authoritative read-status UI */
.read-compliance-strip{display:flex;flex-direction:column;gap:7px;margin:8px 0 2px;padding:9px 11px;border:1px solid rgba(148,163,184,.35);border-radius:10px;background:rgba(15,23,42,.42)}
.read-compliance-item{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.read-compliance-main,.read-compliance-actions,.read-model-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.read-scope-label{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#cbd5e1}
.read-status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:3px 9px;border-radius:999px;font-size:.76rem;font-weight:700;border:1px solid rgba(148,163,184,.45)}
.read-status-badge.read-pending{background:rgba(234,179,8,.13);color:#fde68a;border-color:rgba(234,179,8,.45)}
.read-status-badge.read-viewed{background:rgba(59,130,246,.14);color:#bfdbfe;border-color:rgba(96,165,250,.48)}
.read-status-badge.read-read{background:rgba(34,197,94,.14);color:#bbf7d0;border-color:rgba(74,222,128,.5)}
.read-overdue-label{font-size:.72rem;font-weight:800;color:#fecaca;background:rgba(220,38,38,.16);border:1px solid rgba(248,113,113,.45);padding:2px 7px;border-radius:999px}
.read-sync-note,.read-sync-confirmed,.read-action-note{display:block;font-size:.72rem}
.read-sync-note{color:#fde68a}.read-sync-confirmed{color:#bbf7d0}.read-action-note{color:#cbd5e1}
.read-mark-button{white-space:nowrap}
.read-model-panel{margin-bottom:12px}
.read-model-list{display:flex;flex-direction:column;gap:8px}
.read-model-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(148,163,184,.18)}
.read-model-row:last-child{border-bottom:0}
.read-model-description{display:flex;flex-direction:column;gap:3px;min-width:0}.read-model-description strong{overflow-wrap:anywhere}.read-model-description small{color:#94a3b8}
.server-read-completion{min-width:132px}
@media(max-width:760px){.read-model-row{align-items:flex-start;flex-direction:column}.read-model-row-actions{width:100%}.read-compliance-item{align-items:flex-start}}


/* ==========================================================================
   AeroSafe V4.1.2.27 UAT2 — compact reader chrome
   ========================================================================== */

/* The only persistent reader controls are the command bar and the compact
   context/search/navigation row. The old primary document-action row is
   deliberately suppressed because those actions now belong to the command bar. */
.document-toolbar-row.primary-controls{
  display:none!important;
}

/* UAT2 removes the normal document title/revision strip. An expired-document
   exception remains visible through .document-exception-strip. */
.document-exception-strip{
  margin:0 0 5px!important;
}
.document-exception-strip .document-expired-header-warning{
  margin:0!important;
}

/* Recover vertical reader area. */
.document-toolbar{
  padding:5px 8px!important;
  border-radius:9px!important;
}
.document-toolbar-row.second,
.document-toolbar-row.second.document-context-row{
  margin-top:0!important;
  min-height:36px!important;
}
.document-context-compact{
  font-size:12px!important;
}
.document-search-toggle{
  width:38px!important;
  height:34px!important;
  padding:6px!important;
}
.document-toolbar-navigation .btn{
  min-height:34px!important;
  padding:6px 10px!important;
}

/* All contextual actions now share the right side of the Document Command Bar. */
.documents-command-actions{
  gap:7px!important;
  flex-wrap:nowrap!important;
}
.documents-command-actions .btn{
  white-space:nowrap!important;
  min-height:34px!important;
  padding:6px 10px!important;
}
.documents-read-state{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0;
}
.documents-read-state .read-action-note,
.documents-read-state .read-sync-note{
  display:inline!important;
  white-space:nowrap!important;
  font-size:.70rem!important;
}
.documents-read-state .read-status-badge{
  min-width:58px!important;
  padding:2px 8px!important;
  font-size:.72rem!important;
}
.documents-read-state .read-overdue-label{
  padding:2px 6px!important;
}

/* READ remains the internal/server CSS state but its user-facing register
   label is Completed. */
.read-status-badge.read-read{
  min-width:82px;
}

/* The UAT1 full-width read strip is no longer generated in the document view. */
.read-compliance-strip{
  display:none!important;
}

/* Standalone document origin uses the same command bar without adding a new
   vertical toolbar layer. */
.uat2-standalone-document{
  min-height:0;
}
.uat2-standalone-document>.documents-command-bar{
  margin-bottom:6px!important;
}

@media(max-width:1100px){
  .documents-command-bar{
    gap:8px!important;
  }
  .documents-command-tabs .documents-mode-tabs.inline{
    gap:5px!important;
  }
  .documents-command-tabs .documents-mode-tabs.inline button{
    padding:7px 9px!important;
  }
  .documents-command-actions{
    gap:5px!important;
  }
  .documents-command-actions .btn{
    padding:6px 8px!important;
  }
  .documents-read-state .read-action-note{
    max-width:150px;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}
@media(max-width:760px){
  .documents-command-bar{
    flex-wrap:wrap!important;
  }
  .documents-command-actions{
    width:100%!important;
    justify-content:flex-end!important;
    flex-wrap:wrap!important;
  }
}


/* ==========================================================================
   AeroSafe V4.1.2.27 UAT3 — cumulative post-UAT2 UI corrections
   ========================================================================== */

/* Changed Contents header colour spans the complete header row, including
   the Outstanding / Completed / History controls, matching Document Revisions. */
.revision-changed-contents .revision-accordion-toolbar{
  background:rgba(245,158,11,.10)!important;
  gap:0!important;
}
.revision-changed-contents .revision-accordion-toolbar .revision-accordion-title{
  background:transparent!important;
}
.revision-changed-contents .revision-change-view-buttons{
  background:transparent!important;
  padding-left:10px!important;
}

/* Semantic counter colours. Active view receives a focus ring without
   replacing the meaning of the semantic colour. */
.revision-change-view-buttons button.semantic-ok{
  border-color:#22c55e!important;
  background:rgba(34,197,94,.14)!important;
  color:#bbf7d0!important;
}
.revision-change-view-buttons button.semantic-ok strong{
  background:#166534!important;
  color:#dcfce7!important;
}
.revision-change-view-buttons button.semantic-attention{
  border-color:#f59e0b!important;
  background:rgba(245,158,11,.16)!important;
  color:#fde68a!important;
}
.revision-change-view-buttons button.semantic-attention strong{
  background:#92400e!important;
  color:#fef3c7!important;
}
.revision-change-view-buttons button.semantic-danger{
  border-color:#ef4444!important;
  background:rgba(239,68,68,.16)!important;
  color:#fecaca!important;
}
.revision-change-view-buttons button.semantic-danger strong{
  background:#991b1b!important;
  color:#fee2e2!important;
}
.revision-change-view-buttons button.semantic-neutral{
  border-color:#475569!important;
  background:#0f172a!important;
  color:#cbd5e1!important;
}
.revision-change-view-buttons button.semantic-neutral strong{
  background:#1e293b!important;
  color:#bfdbfe!important;
}
.revision-change-view-buttons button.active{
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.18),0 0 0 1px rgba(255,255,255,.10)!important;
}

/* Use a visible arrow in the Contents header while open. The edge control is
   reserved for the collapsed state, preventing two competing arrows. */
.briefing-toc.open > .briefing-toc-edge{
  display:none!important;
}
.briefing-toc-collapse-inline{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:30px!important;
  height:28px!important;
  padding:0!important;
  margin-left:auto!important;
  border:1px solid #334155!important;
  border-radius:7px!important;
  background:#0b1220!important;
  color:#e2e8f0!important;
  font-size:22px!important;
  line-height:1!important;
  cursor:pointer!important;
}
.briefing-toc-collapse-inline:hover{
  border-color:#60a5fa!important;
  background:#1e3a5f!important;
}


/* ==========================================================================
   AeroSafe V4.1.2.27 UAT4 — search-result grouping refinements
   ========================================================================== */

.collapsible-search-group{
  border:1px solid #334155;
  border-radius:10px;
  background:#0b1220;
  overflow:hidden;
  margin:10px 0;
}
.collapsible-search-group>summary{
  list-style:none;
}
.collapsible-search-group>summary::-webkit-details-marker{
  display:none;
}
.document-search-result-group-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  padding:11px 13px;
  background:#111c30;
  color:#e2e8f0;
  font-weight:700;
}
.document-search-result-group-summary::before{
  content:'▶';
  font-size:.75rem;
  color:#93c5fd;
  transition:transform .15s ease;
}
.collapsible-search-group[open]>.document-search-result-group-summary::before{
  transform:rotate(90deg);
}
.document-search-result-group-summary span{
  flex:1 1 auto;
}
.document-search-result-group-summary strong{
  min-width:26px;
  text-align:center;
  border-radius:999px;
  padding:2px 7px;
  background:#1e3a5f;
  color:#dbeafe;
}
.document-search-result-group-items{
  display:grid;
  gap:7px;
  padding:9px;
}

/* Detail-origin local search no longer needs publication selection UI. */
.document-origin-detail-local-search .publication-search-checkbox,
.document-origin-detail-local-search .document-search-scope-summary{
  display:none!important;
}


/* ==========================================================================
   AeroSafe V4.1.2.28 — Read Status accordion and compact result groups
   ========================================================================== */

.read-status-accordion{
  margin:0 0 12px;
}
.read-status-accordion.has-attention{
  border-color:#f59e0b;
}
.read-status-accordion-toggle{
  gap:14px;
}
.read-status-accordion-summary{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  margin-left:auto;
  flex-wrap:wrap;
}
.read-status-summary-pill{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:3px 8px;
  border:1px solid #475569;
  border-radius:999px;
  background:#0f172a;
  color:#cbd5e1;
  font-size:.72rem;
  font-weight:700;
  white-space:nowrap;
}
.read-status-summary-pill strong{
  min-width:18px;
  text-align:center;
}
.read-status-summary-pill.pending.has-value,
.read-status-summary-pill.viewed.has-value{
  border-color:#f59e0b;
  background:rgba(245,158,11,.14);
  color:#fde68a;
}
.read-status-summary-pill.completed{
  border-color:#22c55e;
  background:rgba(34,197,94,.12);
  color:#bbf7d0;
}
.read-status-accordion-body{
  padding:10px 13px;
}
.read-status-error{
  margin-bottom:8px;
}

/* Search document groups begin collapsed; the existing summary arrow indicates
   whether a group has been expanded. */
.collapsible-search-group:not([open]) .document-search-result-group-items{
  display:none;
}

@media(max-width:760px){
  .read-status-accordion-toggle{
    align-items:flex-start;
    flex-direction:column;
  }
  .read-status-accordion-summary{
    margin-left:0;
    justify-content:flex-start;
  }
}
