@import url("https://fonts.googleapis.com/css2?family=Allura&family=Montserrat:wght@400;500;600;700;800&display=swap");
:root{--navy:#0b2a4a;--purple:#5926b7;--teal:#0b6f73;--green:#177545;--blue:#1b5e96;--amber:#885900;--red:#aa2d2d;--line:#ccd7e1;--muted:#6c7985;--page:#eef3f6;--panel:#fff;--ink:#17222c}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--page)}
.admin-master-page{color:var(--ink);font-family:Arial,Helvetica,sans-serif}
.admin-app{font-size:12px;min-height:100vh}
.admin-app button,.admin-app input,.admin-app select,.admin-app textarea{font:inherit}
.admin-app button{cursor:pointer}

/* ===== Header ===== */
.admin-masthead{height:104px;display:grid;grid-template-columns:170px minmax(0,1fr) 170px;align-items:center;padding:8px 14px;background:#fff;border-bottom:1px solid var(--line)}
.admin-brand-mark{display:flex;align-items:center;justify-content:flex-start;min-width:0;height:100%}
.admin-brand-mark img{display:block;width:150px;max-height:72px;object-fit:contain;object-position:left center}
.admin-title-stack{text-align:center;min-width:0;display:grid;justify-items:center;gap:2px}
.admin-page-title{font-family:"Allura",cursive;font-size:31px;line-height:.95;letter-spacing:.045em;color:#000;text-transform:uppercase}
.admin-context{max-width:860px;font-size:12px;font-weight:800;color:#42505c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-draft-line{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;max-width:100%}
.admin-draft-line strong{font-size:15px;line-height:1.15;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.status-pill{padding:4px 7px;border-radius:99px;background:#eaf7ef;color:var(--green);font-size:9px;font-weight:900;flex:0 0 auto}

/* ===== Main three-column shell ===== */
.admin-shell-master{min-height:700px;height:calc(100vh - 104px);display:grid;grid-template-columns:142px 236px minmax(620px,760px);justify-content:start}
.admin-sidebar-master,.admin-records-master,.admin-editor-master{min-width:0;min-height:0}
.admin-sidebar-master{background:#fff;border-right:1px solid var(--line);padding:10px 9px;overflow:auto}
.admin-records-master{background:#f5f7f9;border-right:1px solid var(--line);padding:10px;overflow:auto}
.admin-editor-master{background:#fff;padding:10px 12px;overflow:hidden}

/* ===== Sidebar ===== */
.admin-module-tabs{display:grid;grid-template-columns:1fr;gap:6px}
.admin-module-tabs button{height:33px;border:1.5px solid var(--purple);background:#fff;color:var(--purple);font-weight:900;display:flex;align-items:center;justify-content:space-between;padding:0 10px;transition:.15s ease}
.admin-module-tabs button b{font-size:19px;line-height:1;font-weight:600}
.admin-module-tabs button:hover,.admin-module-tabs button:focus-visible{background:var(--purple);color:#fff;outline:none}
.admin-module-tabs button.is-active{box-shadow:inset 4px 0 0 var(--purple);background:#fff}
.admin-module-tabs button.is-active:hover{background:var(--purple);color:#fff}
.admin-search{display:grid;gap:4px}
.admin-search>span{font-size:9px;font-weight:900;color:#40505d;text-transform:uppercase}
.airport-filter-block{margin-top:12px}
.airport-picker{position:relative}
.airport-picker summary{list-style:none;height:31px;border:1px solid var(--line);background:#fff;padding:0 8px;display:flex;align-items:center;justify-content:space-between;font-weight:900;cursor:pointer}
.airport-picker summary::-webkit-details-marker{display:none}
.airport-picker[open] summary{border-color:var(--purple);box-shadow:0 0 0 1px rgba(89,38,183,.12)}
.airport-picker-caret{font-size:13px;color:var(--purple)}
.airport-picker-menu{position:absolute;z-index:20;left:0;right:0;top:33px;max-height:310px;overflow:auto;border:1px solid var(--purple);background:#fff;box-shadow:0 10px 24px rgba(15,28,42,.16)}
.airport-picker-group>span{display:block;padding:5px 7px 3px;background:#f5f7f9;color:#51455f;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.airport-picker-menu button{width:100%;border:0;border-bottom:1px solid #edf0f3;background:#fff;padding:7px;text-align:left;display:grid;gap:1px}
.airport-picker-menu button:hover,.airport-picker-menu button:focus-visible{background:#f5efff;outline:none}
.airport-picker-menu b{font-size:10px;color:#28135a}
.airport-picker-menu small{font-size:8px;color:var(--muted);line-height:1.15}
.admin-status-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:11px}
.admin-status-tabs button{position:relative;height:39px;padding:4px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;gap:3px;font-weight:900}
.admin-status-tabs button img{display:block;width:23px;height:23px;object-fit:contain}
.admin-status-tabs button span{font-size:8px;color:#56636e}
.admin-status-tabs button:hover,.admin-status-tabs button:focus-visible{border-color:var(--purple);background:#faf7ff;outline:none}
.admin-status-tabs .is-active{border-color:var(--purple);box-shadow:inset 0 -2px 0 var(--purple)}
.admin-import{margin-top:13px;padding-top:10px;border-top:1px solid var(--line);display:grid;gap:5px}
.admin-import h2{font-size:9px;margin:0 0 2px}
.admin-import p{font-size:8px;line-height:1.3;color:var(--muted);margin:4px 0 0}
.portable-action{width:112px;min-height:29px;display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;padding:4px 6px;font-weight:800;font-size:8.5px;line-height:1.05}
.portable-action input{display:none}
.portable-action__icon{display:grid;place-items:center;flex:0 0 17px;width:17px;height:17px;border-radius:50%;background:rgba(255,255,255,.7)}
.portable-export{border-color:#7aa7d6;background:#eaf4ff;color:#123e68}
.portable-import{border-color:#7fb995;background:#edf9f0;color:#18572d}
.portable-publish{border-color:#6ab7b7;background:#e8f8f8;color:#125252}
.portable-backup{border-color:#9d8ac8;background:#f2eefb;color:#44306f}
.portable-reset{border-color:#d59a9a;background:#fff0f0;color:#8e2525}

/* ===== Record column ===== */
.records-search{margin-bottom:9px}
.records-search input{width:100%;height:31px;border:1px solid var(--line);padding:6px 8px;background:#fff}
.admin-records-head{display:flex;justify-content:space-between;align-items:end;gap:6px;margin-bottom:8px}
.admin-records-head h2,.admin-records-head p{margin:0}
.admin-records-head h2{font-size:15px;line-height:1.05}
.admin-records-head p{font-size:8.5px;color:var(--muted);margin-top:2px}
.admin-records-head label{font-size:8px;text-transform:uppercase}
.admin-records-head select{display:block;width:82px;height:29px;border:1px solid var(--line);font-size:8.5px;background:#fff}
.admin-list{display:grid;gap:6px}
.admin-record-card{border:1px solid var(--line);background:#fff;overflow:hidden}
.admin-record-card.is-active{border:2px solid var(--purple)}
.admin-record{display:grid;grid-template-columns:39px minmax(0,1fr) auto 15px;gap:6px;align-items:center;padding:6px;border:0;background:#fff;text-align:left;width:100%}
.admin-record:hover{background:#fbfcfd}
.admin-record img{width:39px;height:34px;object-fit:cover;filter:grayscale(1);background:#eef2f4}
.admin-record-thumb{width:39px;height:34px;display:grid;place-items:center;background:#edf1f4;color:#66727c;font-size:14px;font-weight:900;border:1px solid #d8e0e6}
.admin-record strong{display:block;font-size:10px;line-height:1.15}
.admin-record small{display:block;font-size:7.7px;color:var(--muted);margin-top:2px;line-height:1.2}
.record-order{font-size:15px;color:#abb4bc;font-weight:900}
.record-chevron{font-size:14px;color:var(--purple);font-weight:900;transition:transform .15s ease}
.admin-record-card.is-expanded .record-chevron{transform:rotate(180deg)}
.record-preview{display:none;padding:7px;border-top:1px solid #e1e6ea;background:#fbfcfd}
.admin-record-card.is-expanded .record-preview{display:block}
.record-preview figure{margin:0 0 6px;aspect-ratio:4/3;overflow:hidden;background:#dfe8ed}
.record-preview figure img{display:block;width:100%;height:100%;object-fit:cover;filter:none}
.record-preview h3{margin:0 0 2px;font-size:10px;color:#0b2a4a}
.record-preview .record-preview-meta{margin:0 0 5px;font-size:7.8px;color:#5a6e80;font-weight:700}
.record-preview p{margin:0 0 6px;font-size:8px;line-height:1.35;color:#315570}
.record-preview dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 5px;margin:0;font-size:7.6px;color:#315570}
.record-preview dt{font-weight:900;color:var(--purple)}
.record-preview dd{margin:0;overflow-wrap:anywhere}
.record-preview a{color:#27729b;text-decoration:underline}
.admin-empty{padding:17px 8px;border:1px dashed var(--line);background:#fff;color:var(--muted);font-size:9px;text-align:center}

/* ===== Airport directory cards ===== */
.admin-airport-groups{display:grid;gap:12px}
.admin-airport-group{display:grid;gap:6px}
.admin-airport-group__head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 1px 4px;border-bottom:2px solid var(--purple)}
.admin-airport-group__head strong{font-size:8.5px;letter-spacing:.05em;text-transform:uppercase;color:#3e246d}
.admin-airport-group__head span{font-size:8px;color:var(--muted);font-weight:800}
.admin-airport-card-grid{display:grid;grid-template-columns:1fr;gap:7px}
.admin-airport-card{position:relative;display:block;width:100%;aspect-ratio:1.62/1;padding:0;overflow:hidden;border:1px solid var(--purple);background:#dfe5e9;text-align:left;color:#fff}
.admin-airport-card:hover,.admin-airport-card:focus-visible{border-color:#321270;outline:2px solid rgba(89,38,183,.18);outline-offset:1px}
.admin-airport-card.is-active{border:3px solid #6d31ef;box-shadow:0 0 0 2px rgba(89,38,183,.14)}
.admin-airport-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:none;background:#dfe5e9;transition:transform .25s ease}
.admin-airport-card:hover img{transform:scale(1.035)}
.admin-airport-card::after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.86))}
.admin-airport-card__copy{position:absolute;z-index:2;left:7px;right:7px;bottom:6px;display:grid;gap:1px;min-width:0;text-shadow:0 2px 5px rgba(0,0,0,.75)}
.admin-airport-card__code{font-size:27px;line-height:.86;font-weight:950;letter-spacing:-.055em}
.admin-airport-card__name{max-width:calc(100% - 26px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7.5px;line-height:1.1;font-weight:850}
.admin-airport-card__ref{position:absolute;z-index:3;right:6px;bottom:5px;color:#fff;font-size:11px;line-height:1;font-weight:950;text-shadow:0 2px 6px rgba(0,0,0,.85)}
.admin-airport-card__region{position:absolute;z-index:3;top:5px;left:5px;padding:3px 4px;border:1px solid rgba(255,255,255,.65);background:rgba(4,26,46,.62);color:#fff;font-size:6.5px;line-height:1;font-weight:900;text-transform:uppercase;letter-spacing:.04em}

/* ===== Editor ===== */
.workspace{height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px}
.editor-workspace-grid{min-height:0;display:grid;grid-template-columns:minmax(250px,38%) minmax(0,62%);gap:10px}
.admin-import-workbench{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;overflow:hidden}
.import-box{border:1px solid #8e76c5;background:#f8f4ff;padding:8px;min-width:0}
.import-box h3{font-size:10px;margin:0 0 3px;color:#432078}
.import-box p{font-size:8.5px;color:#66567f;margin:0 0 6px;line-height:1.3}
.import-box textarea{width:100%;height:82px;border:1px solid #c7b5e7;background:#fff;padding:6px 8px;resize:vertical}
.import-actions{display:flex;gap:5px;align-items:center;margin-top:6px;flex-wrap:wrap}
.result-line{display:block;font-size:8px;color:var(--muted);margin-top:5px}
.form-panel,.review-panel{min-height:0;border:1px solid var(--line);background:#fff}
.form-panel{padding:7px 9px;overflow:auto}
.review-panel{padding:7px;overflow:auto;background:#fbfcfd}
.import-review-panel{min-height:0}
.compact-row{display:grid;grid-template-columns:96px 1fr;gap:8px;align-items:start;padding:4px 0;border-bottom:1px solid #edf0f3}
.compact-row>.form-label{padding-top:7px;font-size:9px;font-weight:900;color:#40505d}
.compact-row input,.compact-row select,.compact-row textarea{width:100%;border:1px solid var(--line);padding:6px 8px;background:#fff}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.compact-row textarea{height:52px;resize:vertical}
.category-zone-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(155px,.72fr);gap:6px;align-items:end}
.zone-field{display:grid;gap:2px}
.zone-field>span{font-size:8px;font-weight:900;color:#40505d;text-transform:uppercase}
.advanced-row summary{cursor:pointer;font-weight:900;padding:6px 0;font-size:9px}
.advanced-content{display:grid;grid-template-columns:1.1fr 65px 76px 1.35fr 90px;gap:5px}
.review-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px}
.review-head h3{font-size:10px;margin:0}
.review-head span{font-size:7.8px;color:var(--muted)}
.review-empty{font-size:8.5px;color:var(--muted);font-style:italic;padding:8px;border:1px dashed var(--line)}
.suggestion{display:grid;grid-template-columns:17px 68px 1fr;gap:5px;padding:5px;border-bottom:1px solid #e7ecf0;font-size:8px}
.suggestion.found{background:#f1faf4}
.suggestion.missing{background:#fffaf0}
.review-actions{display:flex;gap:5px;margin-top:7px;flex-wrap:wrap}
.import-report{margin-top:6px;padding:6px;border:1px solid var(--line);font-size:8px}
.link-row{display:grid;grid-template-columns:1fr 1fr auto;gap:5px}
.footer-actions{min-height:39px;display:flex;align-items:center;gap:6px;border-top:1px solid var(--line);padding-top:7px}
.footer-actions small{margin-left:auto;color:var(--muted);font-size:8px}
.admin-save-badge{padding:5px 8px;border-radius:99px;background:#eaf7ef;color:var(--green);font-size:8.5px;font-weight:900;white-space:nowrap}
.btn{height:29px;padding:0 9px;border:1px solid var(--line);border-radius:3px;background:#fff;font-weight:900;font-size:9px}
.btn-save{background:var(--green);border-color:var(--green);color:#fff}
.btn-preview{background:#edf5fc;border-color:#82acd1;color:var(--blue)}
.btn-import{background:#e8f7f7;border-color:#78b7ba;color:var(--teal)}
.btn-danger{background:#fff0f0;border-color:#da9292;color:var(--red)}

/* ===== Image workflow ===== */
.image-manager{display:grid;grid-template-columns:minmax(0,1fr) 142px;gap:7px;align-items:stretch}
.image-drop-zone{min-height:100px;padding:9px;display:flex;flex-direction:column;justify-content:space-between;gap:8px;border:1px dashed #8c78bd;background:#faf7ff;outline:0}
.image-drop-zone.is-dragover{border-style:solid;border-color:var(--purple);box-shadow:inset 0 0 0 1px var(--purple);background:#f3edff}
.image-drop-zone:focus-visible{box-shadow:0 0 0 2px rgba(89,38,183,.18)}
.image-drop-copy{display:grid;gap:3px}
.image-drop-copy strong{color:#432078;font-size:9px}
.image-drop-copy span{color:#6e6283;font-size:8px;line-height:1.3}
.image-drop-actions{display:flex;gap:4px;flex-wrap:wrap}
.image-drop-actions .btn{height:25px;padding:0 6px;font-size:8px}
.image-preview-frame{margin:0;aspect-ratio:4/3;position:relative;overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,#edf1f4,#dfe7ec)}
.image-preview-frame img{width:100%;height:100%;display:none;object-fit:cover}
.image-preview-frame.has-image img{display:block}
.image-preview-frame figcaption{position:absolute;left:0;right:0;bottom:0;padding:4px 5px;display:flex;justify-content:space-between;gap:5px;background:rgba(4,27,48,.82);color:#fff;font-size:7px}
.image-preview-frame figcaption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}
.image-preview-frame figcaption b{flex:0 0 auto}

@media(max-width:1200px){
  .admin-masthead{grid-template-columns:145px minmax(0,1fr) 145px}
  .admin-brand-mark img{width:128px}
  .admin-shell-master{grid-template-columns:132px 220px minmax(560px,700px);justify-content:start}
  .editor-workspace-grid{grid-template-columns:minmax(235px,40%) minmax(0,60%)}
  .compact-row{grid-template-columns:84px 1fr}
  .advanced-content{grid-template-columns:1fr 60px 70px 1.1fr 82px}
  .image-manager{grid-template-columns:1fr}
  .image-preview-frame{max-width:190px}
}
@media(max-width:900px){
  .admin-masthead{height:auto;min-height:118px;grid-template-columns:120px 1fr;padding:8px 10px}
  .admin-masthead-spacer{display:none}
  .admin-page-title{font-size:27px}
  .admin-context{white-space:normal;font-size:10px}
  .admin-draft-line strong{font-size:12px}
  .admin-shell-master{height:auto;grid-template-columns:132px minmax(210px,.42fr) minmax(430px,1fr)}
  .editor-workspace-grid{grid-template-columns:1fr}
  .admin-editor-master{min-height:930px;overflow:visible}
  .workspace{height:auto}
  .admin-import-workbench{overflow:visible}
  .form-panel,.review-panel{overflow:visible}
}


/* ===== 2026-08-11 administrator layout refinement ===== */

.admin-app{min-width:1450px}

/* Header: wordmark left, clean administrator title, current airport + visibility right. */
.admin-masthead{
  height:96px;
  grid-template-columns:220px minmax(360px,1fr) 500px;
  gap:14px;
  padding:8px 18px;
  border-bottom:1px solid #c8d4dd;
}
.admin-brand-mark{
  text-decoration:none;
  align-items:center;
}
.admin-wordmark{
  display:inline-block;
  color:#9a9a9a;
  font-family:"Allura","Segoe Script","Brush Script MT",cursive;
  font-size:38px;
  font-weight:400;
  line-height:1;
  white-space:nowrap;
}
.admin-title-stack{gap:0}
.admin-page-title{
  color:var(--green);
  font-family:"Montserrat",Arial,Helvetica,sans-serif;
  font-size:27px;
  font-weight:600;
  line-height:1;
  letter-spacing:.075em;
}
.admin-header-actions{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
}
.admin-airport-identity{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 88px;
  gap:9px;
  align-items:center;
  padding-left:12px;
  border-left:1px solid var(--line);
}
.admin-airport-identity__copy{
  min-width:0;
  display:grid;
  justify-items:end;
  gap:2px;
  text-align:right;
}
.admin-airport-identity__copy strong{
  color:var(--purple);
  font-family:"Montserrat",Arial,Helvetica,sans-serif;
  font-size:18px;
  font-weight:800;
  line-height:1;
}
.admin-airport-identity__copy span{
  max-width:255px;
  color:#52616e;
  font-size:9px;
  font-weight:700;
  line-height:1.15;
}
.admin-airport-identity img{
  width:88px;
  height:56px;
  display:block;
  object-fit:cover;
  border:1px solid var(--line);
  background:#e7edf1;
}

.visibility-toggle{
  flex:0 0 auto;
  min-width:142px;
  height:43px;
  padding:5px 10px 5px 7px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  border:1px solid #aeb9c2;
  border-radius:4px;
  background:#aeb6bc;
  color:#fff;
  font-family:"Montserrat",Arial,Helvetica,sans-serif;
  font-size:9px;
  font-weight:800;
  letter-spacing:.035em;
  transition:background .15s ease,border-color .15s ease;
}
.visibility-toggle__track{
  position:relative;
  width:42px;
  height:22px;
  flex:0 0 42px;
  border-radius:999px;
  background:rgba(255,255,255,.32);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
}
.visibility-toggle__knob{
  position:absolute;
  top:3px;
  left:3px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.28);
  transition:transform .15s ease;
}
.visibility-toggle.is-published{
  background:var(--green);
  border-color:var(--green);
}
.visibility-toggle.is-published .visibility-toggle__knob{transform:translateX(20px)}
.visibility-toggle.is-hidden{background:#8f989f;border-color:#8f989f}
.visibility-toggle.is-trash{background:#8f989f;border-color:#8f989f;opacity:.7;cursor:not-allowed}
.visibility-toggle:focus-visible{outline:2px solid rgba(89,38,183,.35);outline-offset:2px}

/* Four-column workspace: wider controls, wider list, separate live details, editor fills the rest. */
.admin-shell-master{
  height:calc(100vh - 96px);
  min-height:720px;
  grid-template-columns:178px 306px 286px minmax(680px,1fr);
  justify-content:stretch;
  width:100%;
}
.admin-sidebar-master{padding:10px 11px}
.admin-records-master{padding:10px 11px;background:#f5f7f9}
.admin-detail-master{
  min-width:0;
  min-height:0;
  padding:10px;
  overflow:auto;
  background:#fff;
  border-right:1px solid var(--line);
}
.admin-editor-master{
  min-width:0;
  padding:10px 14px;
  overflow:hidden;
}

/* Split AIRPORTS / + and PLACES / + controls. */
.admin-module-tabs{gap:6px}
.admin-module-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 34px;
  gap:5px;
}
.admin-module-tabs button{
  height:33px;
  border:1.5px solid var(--purple);
  background:#fff;
  color:var(--purple);
  font-weight:900;
  transition:background .12s ease,color .12s ease,border-color .12s ease;
}
.admin-module-main{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:0 9px!important;
}
.admin-module-add{
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  font-size:19px!important;
  line-height:1!important;
  font-weight:600!important;
}
.admin-module-tabs button:hover,.admin-module-tabs button:focus-visible{
  background:var(--purple);
  color:#fff;
  outline:none;
}
.admin-module-main.is-active{
  background:var(--purple)!important;
  color:#fff!important;
  box-shadow:none!important;
}

/* Place list: no layout jump; hover/focus = purple border; selected = purple fill + white copy. */
.admin-list{gap:5px}
.admin-record-card{
  border:2px solid transparent;
  background:#fff;
  box-shadow:inset 0 0 0 1px var(--line);
  overflow:hidden;
}
.admin-record-card:hover,
.admin-record-card:focus-within{
  border-color:var(--purple);
  box-shadow:none;
}
.admin-record-card.is-active{
  border-color:var(--purple);
  box-shadow:none;
}
.admin-record{
  min-height:48px;
  grid-template-columns:43px minmax(0,1fr) auto 16px;
  gap:7px;
  padding:6px;
  transition:background .1s ease,color .1s ease;
}
.admin-record:hover{background:#fff}
.admin-record-card.is-active .admin-record{
  background:var(--purple);
  color:#fff;
}
.admin-record-card.is-active .admin-record strong,
.admin-record-card.is-active .admin-record small,
.admin-record-card.is-active .record-order,
.admin-record-card.is-active .record-chevron{color:#fff}
.admin-record-card.is-active .admin-record img,
.admin-record-card.is-active .admin-record-thumb{border-color:rgba(255,255,255,.65)}
.admin-record img{width:43px;height:36px}
.admin-record-thumb{width:43px;height:36px}
.admin-record strong{font-size:10px}
.admin-record small{font-size:7.9px}
.record-chevron{transform:none!important}

/* Dedicated adjacent place detail column. */
.admin-detail-head{
  min-height:49px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding-bottom:8px;
  margin-bottom:8px;
  border-bottom:1px solid var(--line);
}
.admin-detail-head>div:first-child{min-width:0;display:grid;gap:2px}
.admin-detail-head span{
  color:#56636e;
  font-size:7.5px;
  font-weight:900;
  letter-spacing:.045em;
}
.admin-detail-head strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--purple);
  font-size:12px;
  line-height:1.1;
}
.admin-detail-nav{display:flex;gap:4px}
.admin-detail-nav button{
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border:1px solid var(--purple);
  background:#fff;
  color:var(--purple);
  font-size:17px;
  font-weight:900;
}
.admin-detail-nav button:hover,.admin-detail-nav button:focus-visible{
  background:var(--purple);
  color:#fff;
  outline:none;
}
.admin-detail-nav button:disabled{border-color:#cfd6dc;color:#a7b0b7;background:#f5f7f9;cursor:default}
.admin-detail-panel{display:grid;gap:9px}
.admin-detail-empty{
  padding:18px 10px;
  border:1px dashed var(--line);
  color:var(--muted);
  background:#fbfcfd;
  font-size:9px;
  line-height:1.45;
  text-align:center;
}
.admin-detail-figure{
  margin:0;
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#dfe7ec;
  border:1px solid var(--line);
}
.admin-detail-figure img{display:block;width:100%;height:100%;object-fit:cover}
.admin-detail-copy{display:grid;gap:5px}
.admin-detail-copy h3{margin:0;color:#0b2a4a;font-size:14px;line-height:1.15}
.admin-detail-meta{color:var(--purple);font-size:8.5px;font-weight:850;line-height:1.25}
.admin-detail-description{margin:2px 0 5px;color:#344d61;font-size:9px;line-height:1.45}
.admin-detail-facts{margin:0;display:grid;grid-template-columns:58px minmax(0,1fr);gap:5px 7px;font-size:8.5px;line-height:1.35}
.admin-detail-facts dt{font-weight:900;color:#3f4c57}
.admin-detail-facts dd{margin:0;color:#496276;overflow-wrap:anywhere}
.admin-detail-facts a{color:#27729b;text-decoration:underline}

/* Keep the editor fully functional while letting it use the newly available width. */
.editor-workspace-grid{grid-template-columns:minmax(280px,36%) minmax(0,64%);gap:12px}
.form-panel{padding:8px 10px}
.compact-row{grid-template-columns:98px minmax(0,1fr)}

@media(max-width:1500px){
  .admin-app{min-width:1320px}
  .admin-masthead{grid-template-columns:190px minmax(330px,1fr) 440px}
  .admin-wordmark{font-size:34px}
  .admin-shell-master{grid-template-columns:165px 278px 250px minmax(620px,1fr)}
  .visibility-toggle{min-width:130px}
  .admin-airport-identity{grid-template-columns:minmax(0,1fr) 76px}
  .admin-airport-identity img{width:76px;height:50px}
  .editor-workspace-grid{grid-template-columns:minmax(260px,38%) minmax(0,62%)}
}


/* ===== 2026-08-11 COMPLETE ADMIN WORKSPACE MERGE =====
   Finalizes the requested wider 4-column administration layout while
   preserving every editor/import/export control and all existing IDs. */
.admin-app{min-width:1830px}
.admin-masthead{
  position:relative;
  height:96px;
  grid-template-columns:260px minmax(0,1fr) 590px;
  gap:16px;
  padding:8px 18px;
}
.admin-brand-mark{
  width:240px;
  min-width:0;
  overflow:hidden;
}
.admin-logo-image{
  display:block;
  width:220px;
  height:72px;
  max-width:100%;
  max-height:72px;
  object-fit:contain;
  object-position:left center;
  opacity:.50;
}
/* Keep the administrator title centered on the whole viewport rather than
   centered only in the space left over between the brand and airport card. */
.admin-title-stack{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:max-content;
  max-width:38vw;
  pointer-events:none;
}
.admin-page-title{
  color:var(--green);
  font-family:"Montserrat",Arial,Helvetica,sans-serif;
  font-size:30px;
  font-weight:600;
  line-height:1;
  letter-spacing:.085em;
  text-transform:uppercase;
}
.admin-header-actions{grid-column:3;justify-self:stretch;justify-content:flex-end;gap:16px}
.visibility-toggle{min-width:158px;height:40px;padding:0 12px;gap:10px}
.admin-airport-identity{grid-template-columns:minmax(0,1fr) 102px;min-width:390px}
.admin-airport-identity img{width:102px;height:62px}

/* Requested widths: controls wider, record list wider, live details adjacent,
   and the editor extends across the remaining right side. */
.admin-shell-master{
  height:calc(100vh - 96px);
  min-height:720px;
  width:100%;
  grid-template-columns:210px 360px 360px minmax(900px,1fr);
  justify-content:stretch;
}
.admin-sidebar-master{padding:11px 13px}
.admin-records-master{padding:11px 13px}
.admin-detail-master{padding:11px 12px}
.admin-editor-master{padding:11px 16px}
.portable-action{width:142px}

/* Buttons remain split into AIRPORTS | + and PLACES | +.  The invariant
   border avoids any movement on hover. */
.admin-module-tabs button{border:2px solid transparent;box-shadow:inset 0 0 0 1.5px var(--purple)}
.admin-module-tabs button:hover,
.admin-module-tabs button:focus-visible,
.admin-module-main.is-active{border-color:var(--purple);box-shadow:none}

/* List items never change dimensions. Hover/focus is border-only; the current
   selection is the only record with purple fill and white type. */
.admin-record-card{
  border:2px solid transparent;
  box-shadow:inset 0 0 0 1px var(--line);
  transition:border-color .12s ease;
}
.admin-record-card:hover,
.admin-record-card:focus-within{border-color:var(--purple);box-shadow:none}
.admin-record-card.is-active{border-color:var(--purple);box-shadow:none}
.admin-record-card.is-active .admin-record{background:var(--purple)!important;color:#fff!important}
.admin-record-card.is-active .admin-record strong,
.admin-record-card.is-active .admin-record small,
.admin-record-card.is-active .record-order,
.admin-record-card.is-active .record-chevron{color:#fff!important}

/* Make the adjacent detail view useful at a glance without modifying the
   right-hand editing form. */
.admin-detail-figure{aspect-ratio:4/3}
.admin-detail-copy h3{font-size:15px}
.admin-detail-description,.admin-detail-facts{font-size:9.5px}

/* Editor functionality is unchanged; only give its existing controls more room. */
.editor-workspace-grid{grid-template-columns:minmax(310px,35%) minmax(0,65%);gap:14px}
.compact-row{grid-template-columns:104px minmax(0,1fr)}

@media(max-width:1700px){
  .admin-app{min-width:1580px}
  .admin-masthead{grid-template-columns:235px minmax(0,1fr) 535px}
  .admin-brand-mark{width:215px}
  .admin-logo-image{width:198px}
  .admin-airport-identity{min-width:350px;grid-template-columns:minmax(0,1fr) 92px}
  .admin-airport-identity img{width:92px;height:58px}
  .admin-shell-master{grid-template-columns:190px 325px 315px minmax(750px,1fr)}
  .editor-workspace-grid{grid-template-columns:minmax(285px,37%) minmax(0,63%)}
}


/* ===== 2026-08-13 ADMIN REFINEMENTS ===== */
:root{
  --home-purple:#5522b0;
  --home-sky:#c6ecff;
  --home-dark-blue:#0b2f52;
}

.admin-master-page{font-family:"Montserrat",Arial,Helvetica,sans-serif;background:#f4f6f8;color:#17222c}
.admin-app{min-width:1700px}

.admin-masthead{
  position:relative;
  height:98px;
  grid-template-columns:240px minmax(0,1fr) 620px;
  gap:18px;
  padding:8px 18px;
  background:#fff;
}
.admin-brand-mark{display:flex;align-items:center;justify-content:flex-start;width:240px;min-width:0;text-decoration:none}
.admin-logo-image{display:none!important}
.admin-wordmark--masthead{
  color:#8f8f8f;
  font-family:"Allura","Segoe Script","Brush Script MT",cursive;
  font-size:34px;
  line-height:.92;
  transform:translateY(-2px);
}
.admin-title-stack{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content;max-width:45vw;pointer-events:none}
.admin-page-title{
  color:var(--home-purple);
  font-family:"Montserrat",Arial,Helvetica,sans-serif;
  font-size:28px;
  font-weight:650;
  line-height:.98;
  letter-spacing:-.03em;
  text-transform:uppercase;
}
.admin-header-actions{grid-column:3;justify-self:end;display:flex;align-items:center;justify-content:flex-end;gap:20px;width:100%}
.visibility-toggle{min-width:192px;height:46px;padding:0 16px;justify-content:center}
.admin-airport-identity{
  margin-left:auto;
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 92px;
  gap:10px;
  align-items:center;
  padding-left:0;
  border-left:0;
}
.admin-airport-identity__copy{justify-items:end;text-align:right}
.admin-airport-identity__copy strong{color:var(--home-purple);font-size:16px;font-weight:800}
.admin-airport-identity__copy span{font-size:9px;line-height:1.15;color:#51606d}
.admin-airport-identity img{width:92px;height:54px;border:1px solid var(--line);background:#e7edf1;object-fit:cover}

/* Five visible columns with equal apparent widths: sidebar | records | details | import | form */
.admin-shell-master{
  height:calc(100vh - 98px);
  min-height:720px;
  width:100%;
  grid-template-columns:minmax(230px,1fr) minmax(230px,1fr) minmax(230px,1fr) minmax(460px,2fr);
  justify-content:stretch;
}
.admin-sidebar-master,.admin-records-master,.admin-detail-master,.admin-editor-master{padding:12px 14px}
.admin-sidebar-master,.admin-detail-master,.admin-editor-master{background:#fff}
.admin-records-master{background:#f5f7f9}
.editor-workspace-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}

/* Center text and symbols in the button groups. */
.admin-module-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:8px}
.admin-module-tabs .admin-module-main,
.admin-module-tabs .admin-module-add{
  display:flex!important;align-items:center!important;justify-content:center!important;
  text-align:center;padding:0!important;
}
.admin-module-tabs .admin-module-main{font-size:13px;letter-spacing:.02em}
.admin-module-tabs .admin-module-add{font-size:21px;line-height:1;font-weight:700}
.admin-status-tabs button,.portable-action{justify-content:center;text-align:center}
.portable-action{width:100%;min-height:34px;padding:6px 10px;font-size:11px;gap:8px}
.portable-action__icon{flex:0 0 20px;width:20px;height:20px}
.admin-import p{font-size:10px}
.admin-import h2,.admin-search>span,.records-search>span,.admin-records-head label,.compact-row>.form-label,.zone-field>span,.advanced-row summary,.airport-picker-group>span,.admin-airport-group__head strong,.admin-airport-group__head span{font-family:"Montserrat",Arial,Helvetica,sans-serif}

/* Sidebar airport preview below the picker. */
.admin-sidebar-airport-card{display:grid;gap:6px;margin-top:12px;margin-bottom:12px}
.admin-sidebar-airport-card__ticker{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  min-height:28px;padding:6px 0;color:#286487;font-size:11px;font-weight:500;line-height:1.15;
}
.admin-sidebar-airport-card__pill{
  display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:3px 12px;
  border-radius:999px;border:1px solid rgba(8,41,71,.18);background:var(--home-sky);color:var(--home-dark-blue);
  font-size:11px;font-weight:700;
}
.admin-sidebar-airport-card__ticker-text{color:#286487}
.admin-sidebar-airport-card__image-wrap{
  position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--purple);background:#dfe5e9;
}
.admin-sidebar-airport-card__image-wrap::after{content:"";position:absolute;inset:34% 0 0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.9))}
.admin-sidebar-airport-card__image-wrap img{display:block;width:100%;height:100%;object-fit:cover}
.admin-sidebar-airport-card__overlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:10px;color:#fff;text-shadow:0 2px 5px rgba(0,0,0,.76)}
.admin-sidebar-airport-card__overlay strong{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-56%);
  font-size:clamp(46px,4vw,62px);font-weight:900;letter-spacing:-.05em;line-height:.9;
}
.admin-sidebar-airport-card__overlay span{font-size:11px;font-weight:800;line-height:1.1}

/* Place/airport cards remain consistent. */
.admin-records-head h2{font-size:16px;font-weight:800}
.admin-records-head p{font-size:10px}
.admin-records-head select{width:104px;height:32px;font-size:10px}
.admin-record{grid-template-columns:48px minmax(0,1fr) auto 16px;min-height:54px}
.admin-record img,.admin-record-thumb{width:48px;height:40px}
.admin-record strong{font-size:12px}
.admin-record small{font-size:9px}
.record-order{font-size:14px}

/* Form layout refinements. */
.form-panel{padding:10px 12px}
.compact-row{grid-template-columns:120px minmax(0,1fr);gap:10px;padding:8px 0;align-items:start}
.compact-row>.form-label{padding-top:8px;font-size:11px;font-weight:800;color:#314455}
.compact-row input,.compact-row select,.compact-row textarea{height:34px;padding:7px 10px;border:1px solid var(--line);font-size:12px}
.compact-row textarea{height:74px;resize:vertical}
.stacked-fields{display:grid;grid-template-columns:1fr;gap:8px}
.website-field-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:8px;align-items:start}
.admin-inline-add{height:34px;border:1px solid var(--purple);background:#fff;color:var(--purple);font-size:22px;font-weight:700;line-height:1;display:grid;place-items:center}
.admin-inline-add:hover,.admin-inline-add:focus-visible{background:var(--purple);color:#fff;outline:none}
.link-row{display:none!important}
.category-zone-fields,.grid-2{grid-template-columns:1fr!important}
.image-manager{grid-template-columns:minmax(0,1fr) 146px;gap:10px;align-items:stretch}
.image-drop-zone{min-height:150px}
.image-drop-copy strong{display:block;color:var(--home-purple);font-size:12px;font-weight:800;margin-bottom:6px}
.image-drop-copy span{font-size:11px;color:#6b7984;line-height:1.35}
.image-drop-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-items:stretch}
.image-drop-actions .btn{width:100%;height:32px;padding:0 8px;font-size:11px;display:flex;align-items:center;justify-content:center}
.advanced-row details[open]{padding-bottom:2px}
.advanced-row summary{padding:7px 0;font-size:11px;font-weight:800;list-style:none}
.advanced-row summary::-webkit-details-marker{display:none}
.advanced-content{display:grid;grid-template-columns:1fr;gap:8px}
.advanced-content input,.advanced-content select{width:100%}

.footer-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:10px}
.footer-actions .btn{height:36px;display:flex;align-items:center;justify-content:center}

@media(max-width:1700px){
  .admin-app{min-width:1550px}
  .admin-masthead{grid-template-columns:215px minmax(0,1fr) 540px}
  .admin-wordmark--masthead{font-size:32px}
  .admin-shell-master{grid-template-columns:minmax(210px,1fr) minmax(220px,1fr) minmax(220px,1fr) minmax(420px,2fr)}
}


/* ===== 2026-08-13 ADMIN COMPACT HEADER + WORKSPACE WIDTH UPDATE ===== */
.admin-masthead{
  height:78px;
  grid-template-columns:240px minmax(0,1fr) 240px;
  gap:18px;
  padding:6px 18px;
}
.admin-wordmark--masthead{font-size:34px}
.admin-page-title{font-size:35px}
.admin-header-actions{
  grid-column:3;
  justify-self:stretch;
  justify-content:flex-end;
  gap:0;
  width:100%;
}
.admin-airport-identity{display:none!important}
.visibility-toggle{margin-left:auto}

.admin-shell-master{
  height:calc(100vh - 78px);
  grid-template-columns:minmax(184px,.8fr) minmax(184px,.8fr) minmax(184px,.8fr) minmax(650px,2.6fr);
}
.editor-workspace-grid{
  grid-template-columns:minmax(250px,.8fr) minmax(0,1.8fr);
}
.stacked-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}

.admin-save-badge{
  border:1px solid var(--green);
  background:#fff;
  color:var(--green);
}
.admin-save-badge.is-dirty{
  border-color:var(--green);
  background:#fff;
  color:var(--green);
}
.admin-save-badge.is-saved{
  border-color:var(--green);
  background:var(--green);
  color:#fff;
}


/* ===== 2026-08-13 ADMIN SIDEBAR + PANEL TIGHTENING ===== */
.admin-masthead .admin-brand-mark{
  align-items:center;
}
.admin-wordmark--masthead{
  font-size:44.2px; /* 30% larger than 34px */
  line-height:.92;
  transform:none;
}

/* Panel 1 and visible panel 4 are 10% narrower; panel 5 receives the released width. */
.admin-shell-master{
  grid-template-columns:minmax(166px,.72fr) minmax(184px,.8fr) minmax(184px,.8fr) minmax(720px,2.68fr);
}
.editor-workspace-grid{
  grid-template-columns:minmax(225px,.72fr) minmax(0,1.96fr);
}

/* Half-width content controls in the first panel. */
.admin-module-row{
  grid-template-columns:minmax(0,50%) 34px;
  justify-content:start;
  gap:7px;
}
.airport-filter-block .airport-picker{
  width:50%;
}
.admin-import{
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:6px;
  row-gap:5px;
}
.admin-import h2,
.admin-import p{
  grid-column:1 / -1;
}
.portable-action{
  width:100%;
  min-width:0;
  padding-left:5px;
  padding-right:5px;
  font-size:9px;
}
.portable-action__icon{
  flex-basis:18px;
  width:18px;
  height:18px;
}

/* Remove the descriptive WanderPort line above the selected-airport image. */
.admin-sidebar-airport-card{
  margin-top:12px;
  gap:0;
}
.admin-sidebar-airport-card__ticker{display:none!important;}

/* Smaller source text in Local Smart Paste. */
#localSource{
  font-size:10px;
  line-height:1.2;
}

/* Pull the form controls left by reducing the label column/gap. */
.compact-row{
  grid-template-columns:88px minmax(0,1fr);
  gap:6px;
}

@media(max-width:1700px){
  .admin-wordmark--masthead{font-size:44.2px;}
  .admin-shell-master{
    grid-template-columns:minmax(158px,.72fr) minmax(176px,.8fr) minmax(176px,.8fr) minmax(670px,2.68fr);
  }
  .editor-workspace-grid{
    grid-template-columns:minmax(215px,.72fr) minmax(0,1.96fr);
  }
}

/* ===== 2026-08-13 CORRECTION PASS: requested admin proportions ===== */
/* Logo: 30% larger than the current 44.2px size, vertically centered. */
.admin-masthead .admin-brand-mark{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.admin-wordmark--masthead{
  font-size:57.5px !important;
  line-height:1 !important;
  transform:none !important;
  margin:0 !important;
}

/* Five visible panel proportions: 1 = 18%, 2 = 20%, 3 = 20%, 4 = 18%, 5 = 24%.
   This makes panels 1 and 4 exactly 10% narrower than the 20% baseline and gives
   all released width to panel 5. */
.admin-shell-master{
  grid-template-columns:18% 20% 20% 42% !important;
}
.editor-workspace-grid{
  grid-template-columns:minmax(0,3fr) minmax(0,4fr) !important;
  gap:12px !important;
}

/* AIRPORTS / PLACES and airport selector: main control is exactly half-width. */
.admin-module-row{
  width:100% !important;
  display:grid !important;
  grid-template-columns:50% 34px !important;
  justify-content:start !important;
  gap:7px !important;
}
.admin-module-tabs .admin-module-main{
  width:100% !important;
  min-width:0 !important;
}
.airport-filter-block .airport-picker{
  width:50% !important;
  max-width:50% !important;
}

/* Six portable-data actions = two half-width columns / three rows. */
.admin-import{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  column-gap:7px !important;
  row-gap:6px !important;
  align-items:stretch !important;
}
.admin-import h2,
.admin-import p{
  grid-column:1 / -1 !important;
}
.admin-import .portable-action{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  justify-content:center !important;
}

/* Pull all right-side edit controls further left: halve the previous label-space feel. */
.form-panel .compact-row{
  grid-template-columns:64px minmax(0,1fr) !important;
  column-gap:4px !important;
}
.form-panel .compact-row>.form-label{
  min-width:0 !important;
  white-space:nowrap;
}

@media(max-width:1700px){
  .admin-wordmark--masthead{font-size:57.5px !important;}
  .admin-shell-master{grid-template-columns:18% 20% 20% 42% !important;}
  .editor-workspace-grid{grid-template-columns:minmax(0,3fr) minmax(0,4fr) !important;}
}

/* ===== 2026-08-13 FINAL ADMIN PANEL / ACTION REFINEMENT ===== */
/* Keep the enlarged Aerowander wordmark fully visible inside the masthead. */
.admin-masthead{
  grid-template-columns:360px minmax(0,1fr) 160px !important;
}
.admin-masthead .admin-brand-mark{
  width:max-content !important;
  min-width:0 !important;
  max-width:none !important;
  overflow:visible !important;
  height:100% !important;
  padding:0 4px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}
.admin-wordmark--masthead{
  display:block !important;
  width:max-content !important;
  max-width:none !important;
  overflow:visible !important;
  line-height:1.12 !important;
  padding:.08em 0 .14em !important;
  transform:none !important;
}
.admin-page-title{
  text-transform:none !important;
}

/* Published control: approximately one-half the previous visual width. */
.visibility-toggle{
  width:126px !important;
  min-width:126px !important;
  max-width:126px !important;
  height:42px !important;
  padding:0 8px !important;
  gap:7px !important;
}
.visibility-toggle__track{flex:0 0 38px !important;width:38px !important;}
.visibility-toggle__label{font-size:11px !important;letter-spacing:.015em !important;}

/* Visible panel proportions: narrower panel 1; panel 3 equals panel 4; panel 5 gains the released space. */
.admin-shell-master{
  grid-template-columns:13.5% 20% 15% 51.5% !important;
}
.editor-workspace-grid{
  grid-template-columns:29.126% 70.874% !important;
  gap:12px !important;
}

/* Sidebar status controls: taller/squarer with the icon taking most of the box. */
.admin-status-tabs{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:5px !important;
}
.admin-status-tabs button{
  width:100% !important;
  aspect-ratio:1 / 1 !important;
  height:auto !important;
  min-height:54px !important;
  padding:4px !important;
  gap:2px !important;
  flex-direction:column !important;
}
.admin-status-tabs button img{
  width:72% !important;
  height:72% !important;
  max-width:42px !important;
  max-height:42px !important;
  object-fit:contain !important;
}
.admin-status-tabs button span{font-size:8px !important;line-height:1 !important;}

/* Portable-data controls follow the narrower sidebar, remain two columns / three rows,
   and deliberately wrap labels to two lines. */
.admin-import{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  column-gap:6px !important;
  row-gap:6px !important;
}
.admin-import .portable-action{
  width:100% !important;
  min-width:0 !important;
  min-height:54px !important;
  height:54px !important;
  padding:6px 4px !important;
  gap:4px !important;
  display:grid !important;
  grid-template-columns:22px minmax(0,1fr) !important;
  align-items:center !important;
  justify-items:center !important;
  text-align:center !important;
  line-height:1.05 !important;
}
.admin-import .portable-action>span:last-child{
  display:block !important;
  max-width:55px !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  line-height:1.12 !important;
}
.admin-import .portable-action__icon{
  width:22px !important;
  height:22px !important;
  flex-basis:22px !important;
  font-size:11px !important;
}

/* Last editor panel: pull fields left and reduce its typography by one pixel. */
.form-panel{
  font-size:11px !important;
}
.form-panel .compact-row{
  grid-template-columns:52px minmax(0,1fr) !important;
  column-gap:3px !important;
}
.form-panel .compact-row>.form-label{
  font-size:10px !important;
}
.form-panel .compact-row input,
.form-panel .compact-row select,
.form-panel .compact-row textarea{
  font-size:11px !important;
}
.form-panel .image-drop-copy strong{font-size:11px !important;}
.form-panel .image-drop-copy span{font-size:10px !important;}
.form-panel .image-drop-actions .btn{font-size:10px !important;}
.form-panel .advanced-row summary{font-size:10px !important;}

/* Footer actions. */
.admin-save-badge{display:none !important;}
#previewPlace,
#deletePlace{
  border-color:#0046FF !important;
  background:#0046FF !important;
  color:#fff !important;
}
#previewPlace:hover,#previewPlace:focus-visible,
#deletePlace:hover,#deletePlace:focus-visible{
  border-color:#0038cc !important;
  background:#0038cc !important;
  color:#fff !important;
}
#savePlace.is-complete{
  border-color:var(--green) !important;
  background:var(--green) !important;
  color:#fff !important;
}
#deletePlace.is-complete{
  border-color:#0046FF !important;
  background:#0046FF !important;
  color:#fff !important;
}

@media(max-width:1700px){
  .admin-masthead{grid-template-columns:340px minmax(0,1fr) 150px !important;}
  .admin-shell-master{grid-template-columns:13.5% 20% 15% 51.5% !important;}
  .editor-workspace-grid{grid-template-columns:29.126% 70.874% !important;}
}
/* One-pixel typography reduction for the remaining controls/captions inside panel 5. */
.form-panel .admin-inline-add{font-size:21px !important;}
.form-panel .image-preview-frame figcaption{font-size:6px !important;}
.admin-status-tabs button img{
  width:78% !important;
  height:78% !important;
  max-width:none !important;
  max-height:none !important;
}


/* ===== 2026-08-13 ADMIN BALANCE + LEGIBILITY PASS ===== */
/* Header: larger Administrator title and a little more vertical breathing room. */
.admin-masthead{
  height:96px !important;
  grid-template-columns:360px minmax(0,1fr) 160px !important;
  padding-top:8px !important;
  padding-bottom:8px !important;
}
.admin-page-title{
  font-size:43.75px !important; /* +25% from 35px */
  line-height:1 !important;
}
.admin-shell-master{
  height:calc(100vh - 96px) !important;
}

/* Rebalance the five visible work areas: panel 5 is narrower and the released
   space is returned to the four panels on its left. */
.admin-shell-master{
  grid-template-columns:16% 22% 17% 45% !important;
}
.editor-workspace-grid{
  grid-template-columns:37% 63% !important;
  gap:12px !important;
}

/* General legibility: use one consistent working size for form copy, samples,
   instructions and field contents wherever there is room. */
.admin-app input,
.admin-app select,
.admin-app textarea,
.import-box p,
.result-line,
.review-head span,
.review-empty,
.suggestion,
.import-report,
.admin-detail-empty,
.admin-detail-meta,
.admin-detail-description,
.admin-detail-facts,
.admin-record small,
.admin-records-head p,
.airport-picker-menu small,
.admin-import p,
.footer-actions small,
.form-panel .compact-row>.form-label,
.form-panel .image-drop-copy strong,
.form-panel .image-drop-copy span,
.form-panel .image-drop-actions .btn,
.form-panel .advanced-row summary,
#localSource{
  font-size:11px !important;
}
.admin-app .btn{font-size:11px !important;}
.admin-search>span,
.admin-import h2,
.records-search>span,
.admin-records-head label{
  font-size:10.5px !important;
}
.admin-record strong{font-size:12px !important;}
.admin-records-head h2{font-size:17px !important;}
.admin-detail-head strong{font-size:13px !important;}
.admin-detail-copy h3{font-size:15px !important;}
.admin-module-tabs .admin-module-main{font-size:12px !important;}
.airport-picker summary{font-size:11px !important;}
.portable-action{font-size:10.5px !important;}

/* Panel 5 fields: halve the horizontal field-box width while keeping labels
   aligned and leaving the panel itself available for future controls. */
.form-panel .compact-row>input,
.form-panel .compact-row>select,
.form-panel .compact-row>textarea,
.form-panel .website-field-row,
.form-panel .stacked-fields{
  width:50% !important;
  max-width:50% !important;
  justify-self:start !important;
}
.form-panel .compact-row input,
.form-panel .compact-row select{
  min-height:32px !important;
  height:32px !important;
}
.form-panel .compact-row textarea{
  min-height:58px !important;
  height:58px !important;
}

/* The status is still retained in the form for save/publish logic, but the
   final Published/Hidden/Trash box is no longer shown in Advanced. */
.form-panel #placeStatus{display:none !important;}

/* Place-image workflow: equal-width left/right panels and slimmer action buttons. */
.form-panel .image-manager{
  width:72% !important;
  max-width:72% !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
}
.form-panel .image-drop-zone,
.form-panel .image-preview-frame{
  width:100% !important;
  min-width:0 !important;
}
.form-panel .image-drop-actions{
  display:flex !important;
  flex-wrap:nowrap !important;
  justify-content:flex-start !important;
  gap:7px !important;
}
.form-panel .image-drop-actions .btn{
  width:28% !important;
  min-width:0 !important;
  height:27px !important;
  padding:0 5px !important;
}
.form-panel .image-preview-frame figcaption{font-size:8px !important;}

/* Sidebar status buttons and icons: 20% smaller than the previous pass. */
.admin-status-tabs{justify-items:center !important;}
.admin-status-tabs button{
  width:80% !important;
  min-height:43px !important;
  aspect-ratio:1 / 1 !important;
  padding:3px !important;
}
.admin-status-tabs button img{
  width:62.4% !important;
  height:62.4% !important;
  max-width:none !important;
  max-height:none !important;
}
.admin-status-tabs button span{font-size:9px !important;}

/* Delete remains a destructive red action; the checkmark state stays red too. */
#deletePlace,
#deletePlace.is-complete{
  border-color:var(--red) !important;
  background:var(--red) !important;
  color:#fff !important;
}
#deletePlace:hover,
#deletePlace:focus-visible,
#deletePlace.is-complete:hover,
#deletePlace.is-complete:focus-visible{
  border-color:#8d2020 !important;
  background:#8d2020 !important;
  color:#fff !important;
}

@media(max-width:1700px){
  .admin-masthead{height:96px !important;grid-template-columns:340px minmax(0,1fr) 150px !important;}
  .admin-page-title{font-size:43.75px !important;}
  .admin-shell-master{height:calc(100vh - 96px) !important;grid-template-columns:16% 22% 17% 45% !important;}
  .editor-workspace-grid{grid-template-columns:37% 63% !important;}
}

/* ===== 2026-08-13 PANEL 5 FIELD WIDTH + ADVANCED LAYOUT PASS ===== */
/* Give form labels enough room so Name through Description remain fully visible,
   while shifting the corresponding controls right with consistent padding. */
.form-panel .compact-row{
  grid-template-columns:86px minmax(0,1fr) !important;
  column-gap:10px !important;
}
.form-panel .compact-row>.form-label{
  min-width:0 !important;
  padding-left:2px !important;
  padding-right:4px !important;
  white-space:nowrap !important;
  overflow:visible !important;
}

/* Name through Description: approximately 30% wider than the previous rendered
   controls after the panel-width rebalance. */
.form-panel .compact-row>input,
.form-panel .compact-row>select,
.form-panel .compact-row>textarea,
.form-panel .website-field-row,
.form-panel .stacked-fields{
  width:73% !important;
  max-width:73% !important;
  justify-self:start !important;
}

/* Place image: expand both equal panels together. */
.form-panel .image-manager{
  width:95% !important;
  max-width:95% !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
}
.form-panel .image-drop-zone,
.form-panel .image-preview-frame{
  width:100% !important;
  min-width:0 !important;
}

/* Advanced: Place ID, display order and time share one row; image path spans
   the same total width beneath them. Status remains hidden as requested. */
.form-panel .advanced-row details{
  width:100% !important;
  min-width:0 !important;
}
.form-panel .advanced-content{
  width:73% !important;
  max-width:73% !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
}
.form-panel .advanced-content #placeId{
  grid-column:1 !important;
  grid-row:1 !important;
}
.form-panel .advanced-content #displayOrder{
  grid-column:2 !important;
  grid-row:1 !important;
}
.form-panel .advanced-content #defaultMinutes{
  grid-column:3 !important;
  grid-row:1 !important;
}
.form-panel .advanced-content #image{
  grid-column:1 / -1 !important;
  grid-row:2 !important;
  width:100% !important;
  max-width:100% !important;
}
.form-panel .advanced-content #placeStatus{display:none !important;}

/* Narrow the fifth visible panel and return that width to panel 4. */
.editor-workspace-grid{
  grid-template-columns:44% 56% !important;
  gap:12px !important;
}

@media(max-width:1700px){
  .editor-workspace-grid{grid-template-columns:44% 56% !important;}
  .form-panel .compact-row{grid-template-columns:82px minmax(0,1fr) !important;}
}


/* ===== 2026-08-13 ADMIN COLUMN / STATUS / INLINE ACTION PASS ===== */
/* Reduce panel 2 and panel 4 by 25% from the previous visible proportions,
   and give all released width to panel 5. */
.admin-shell-master{
  grid-template-columns:16% 16.5% 17% 50.5% !important;
}
.editor-workspace-grid{
  grid-template-columns:29.4% 70.6% !important;
  gap:10px !important;
  height:100% !important;
  min-height:0 !important;
}
.workspace{
  grid-template-rows:minmax(0,1fr) !important;
  gap:0 !important;
}
.admin-import-workbench{
  height:100% !important;
  align-self:stretch !important;
}

/* Sidebar primary controls span the same working width as the airport image.
   Symbol-only + buttons retain their compact width. */
.admin-module-row{
  width:100% !important;
  grid-template-columns:minmax(0,1fr) 34px !important;
  gap:7px !important;
}
.admin-module-tabs .admin-module-main{
  width:100% !important;
  max-width:none !important;
  font-size:13px !important;
}
.airport-filter-block .airport-picker{
  width:100% !important;
  max-width:100% !important;
}
.airport-picker summary{
  width:100% !important;
  font-size:12px !important;
}

/* Status counts: larger white numerals in solid status-colored circles. */
.admin-status-tabs button{
  position:relative !important;
  overflow:visible !important;
}
.admin-status-tabs button span{
  position:absolute !important;
  right:4px !important;
  bottom:4px !important;
  width:25px !important;
  height:25px !important;
  min-width:25px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  box-shadow:none !important;
}
.admin-status-tabs button[data-status="published"] span{background:var(--green) !important;}
.admin-status-tabs button[data-status="hidden"] span{background:#7d8790 !important;}
.admin-status-tabs button[data-status="deleted"] span{background:var(--red) !important;}

/* Portable-data actions: larger symbols and larger labels while preserving the
   requested two-column / three-row arrangement. */
.admin-import .portable-action{
  min-height:62px !important;
  height:62px !important;
  grid-template-columns:28px minmax(0,1fr) !important;
  gap:6px !important;
  padding:7px 6px !important;
  font-size:12px !important;
  line-height:1.08 !important;
}
.admin-import .portable-action__icon{
  width:28px !important;
  height:28px !important;
  flex-basis:28px !important;
  font-size:15px !important;
  font-weight:800 !important;
}
.admin-import .portable-action>span:last-child{
  max-width:72px !important;
  font-size:12px !important;
  line-height:1.08 !important;
}

/* Record ordering numbers are intentionally much easier to scan. */
.record-order{
  min-width:31px !important;
  color:#a8b3bd !important;
  font-size:19px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-align:right !important;
}
.record-chevron{font-size:17px !important;}

/* Keep Zone as its own third editor row below Category and remove the pale row
   separators between form labels and controls. */
.form-panel .compact-row{
  border-bottom:0 !important;
}
.form-panel #zone{
  display:block !important;
}

/* Image action buttons: wider and easier to hit. */
.form-panel .image-drop-actions{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  width:100% !important;
}
.form-panel .image-drop-actions .btn{
  width:100% !important;
  min-width:0 !important;
  height:34px !important;
  padding:0 8px !important;
  font-size:11.5px !important;
}

/* Actions now live inside panel 5 directly after Advanced. */
.form-panel .footer-actions--inline{
  min-height:0 !important;
  margin:10px 0 2px 96px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  border-top:0 !important;
}
.form-panel .footer-actions--inline .btn{
  min-width:100px !important;
  height:36px !important;
  padding:0 13px !important;
  font-size:11.5px !important;
}
.form-panel .footer-actions--inline small{display:none !important;}
#deletePlace,
#deletePlace.is-complete{
  border-color:var(--red) !important;
  background:var(--red) !important;
  color:#fff !important;
}
#deletePlace:hover,#deletePlace:focus-visible,
#deletePlace.is-complete:hover,#deletePlace.is-complete:focus-visible{
  border-color:#8d2020 !important;
  background:#8d2020 !important;
  color:#fff !important;
}

@media(max-width:1700px){
  .admin-shell-master{grid-template-columns:16% 16.5% 17% 50.5% !important;}
  .editor-workspace-grid{grid-template-columns:29.4% 70.6% !important;}
}

/* ===== 2026-08-13 ADMIN COMPACT / CONTROL SCALE PASS ===== */
/* Compact the editor vertically: half the prior row spacing. */
.form-panel .compact-row{
  padding:4px 0 !important;
}

/* Record cards: larger order numbers and two clean gray metadata lines. */
.record-order{
  min-width:38px !important;
  font-size:24px !important;
  line-height:1 !important;
  font-weight:900 !important;
  color:#a8b3bd !important;
}
.admin-record small{
  display:grid !important;
  gap:1px !important;
  margin-top:2px !important;
  line-height:1.08 !important;
}
.admin-record .record-meta-line{
  display:block !important;
  color:#82909b !important;
  white-space:normal !important;
}

/* AIRPORTS / PLACES controls and airport selector: about 1.5x taller,
   with a matching square + control and larger type. */
.admin-module-row{
  grid-template-columns:minmax(0,1fr) 50px !important;
  gap:8px !important;
}
.admin-module-tabs button,
.admin-module-tabs .admin-module-main,
.admin-module-tabs .admin-module-add{
  height:50px !important;
  min-height:50px !important;
}
.admin-module-tabs .admin-module-main{
  font-size:15px !important;
  font-weight:800 !important;
}
.admin-module-tabs .admin-module-add{
  width:50px !important;
  min-width:50px !important;
  font-size:28px !important;
  font-weight:700 !important;
}
.airport-picker summary{
  height:48px !important;
  min-height:48px !important;
  padding:0 12px !important;
  font-size:14px !important;
}
.airport-picker-caret{
  font-size:18px !important;
}

/* Portable-data controls stay 2 x 3, with explicit two-line labels. */
.admin-import{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:7px !important;
}
.admin-import h2,
.admin-import p{
  grid-column:1 / -1 !important;
}
.admin-import .portable-action{
  width:100% !important;
  max-width:none !important;
  min-height:72px !important;
  height:72px !important;
  display:grid !important;
  grid-template-columns:40px minmax(0,1fr) !important;
  align-items:center !important;
  justify-items:center !important;
  gap:7px !important;
  padding:7px 9px !important;
  font-size:13.5px !important;
  line-height:1.03 !important;
  font-weight:500 !important;
  transition:border-color .12s ease,color .12s ease,background .12s ease !important;
}
.admin-import .portable-action__icon{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  flex-basis:38px !important;
  display:grid !important;
  place-items:center !important;
  font-size:22px !important;
  font-weight:800 !important;
  line-height:1 !important;
}
.admin-import .portable-action>span:last-child{
  width:100% !important;
  max-width:none !important;
  display:block !important;
  font-size:13.5px !important;
  font-weight:500 !important;
  line-height:1.05 !important;
  text-align:center !important;
}
.admin-import .portable-import,
.admin-import .portable-import>span:last-child{
  font-weight:500 !important;
}
.admin-import .portable-action:hover,
.admin-import .portable-action:focus-visible{
  font-weight:800 !important;
  outline:none !important;
}
.admin-import .portable-action:hover>span:last-child,
.admin-import .portable-action:focus-visible>span:last-child{
  font-weight:800 !important;
}
.admin-import .portable-export:hover,
.admin-import .portable-export:focus-visible{border-color:#357dbf !important;color:#0b3159 !important;}
.admin-import .portable-publish:hover,
.admin-import .portable-publish:focus-visible{border-color:#258f91 !important;color:#0b494a !important;}
.admin-import .portable-import:hover,
.admin-import .portable-import:focus-within{border-color:#4b9963 !important;color:#124d26 !important;}
.admin-import .portable-backup:hover,
.admin-import .portable-backup:focus-visible{border-color:#7459ad !important;color:#38265f !important;}
.admin-import .portable-reset:hover,
.admin-import .portable-reset:focus-visible{border-color:#bd5c5c !important;color:#7b1f1f !important;}


/* ===== 2026-08-13 AIRPORT PUBLISH / DETAIL CLEANUP PASS ===== */
/* Header publish control moved from the page masthead onto airport imagery. */
.admin-header-actions{min-width:0 !important;}

/* Selected-airport and airport-directory publish sliders. */
.admin-sidebar-airport-card__image-wrap{position:relative !important;}
.airport-publish-toggle{
  position:absolute;
  z-index:9;
  top:8px;
  right:8px;
  width:44px;
  height:24px;
  padding:0;
  border:0;
  border-radius:999px;
  background:#8f989f;
  box-shadow:0 1px 4px rgba(8,41,71,.16);
  cursor:pointer;
  transition:background .14s ease, box-shadow .14s ease;
}
.airport-publish-toggle.is-published{background:var(--green) !important;}
.airport-publish-toggle.is-hidden{background:#8f989f !important;}
.airport-publish-toggle:hover,.airport-publish-toggle:focus-visible{box-shadow:0 0 0 2px rgba(89,38,183,.2),0 2px 6px rgba(8,41,71,.18);outline:none;}
.airport-publish-toggle__knob{
  position:absolute;
  top:3px;
  left:3px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.22);
  transition:transform .14s ease;
}
.airport-publish-toggle.is-published .airport-publish-toggle__knob{transform:translateX(20px);}
.admin-airport-card-wrap{position:relative;min-width:0;}
.admin-airport-card-wrap .admin-airport-card{width:100% !important;}
.admin-airport-card-wrap>.airport-publish-toggle{top:8px;right:8px;}

/* Airport directory heading stays simply “Airports”, with one master switch. */
.admin-records-controls{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;}
.airport-all-toggle{
  min-width:92px;
  height:32px;
  padding:4px 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:1px solid #8f989f;
  background:#8f989f;
  color:#fff;
  font:800 9px/1 "Montserrat",Arial,Helvetica,sans-serif;
}
.airport-all-toggle[hidden]{display:none !important;}
.airport-all-toggle.is-published{border-color:var(--green);background:var(--green);}
.airport-all-toggle.is-hidden{border-color:#8f989f;background:#8f989f;}
.airport-all-toggle__track{position:relative;width:34px;height:18px;border-radius:999px;background:rgba(255,255,255,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);}
.airport-all-toggle__knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .14s ease;}
.airport-all-toggle.is-published .airport-all-toggle__knob{transform:translateX(16px);}
.airport-all-toggle__label{white-space:nowrap;}

/* Keep SELECTED PLACE but remove the duplicate place name in the detail header. */
.admin-detail-head strong#detailTitle{display:none !important;}
.admin-detail-meta--stacked{display:grid !important;gap:2px !important;}
.admin-detail-meta--stacked span{display:block !important;}

/* Requested field naming and neutral gray outlines. */
.form-panel .compact-row input,
.form-panel .compact-row select,
.form-panel .compact-row textarea,
.airport-picker summary{border-color:#bfcbd5 !important;box-shadow:none !important;outline:none !important;}
.form-panel .compact-row input:focus,
.form-panel .compact-row select:focus,
.form-panel .compact-row textarea:focus,
.airport-picker[open] summary{border-color:#9eacb8 !important;box-shadow:0 0 0 1px rgba(89,38,183,.08) !important;}
#pastePlaceImage{border-color:#99a8b4 !important;color:#17222c !important;}
#pastePlaceImage:hover,#pastePlaceImage:focus-visible{border-color:#71818e !important;}


/* ===== 2026-08-13 AIRPORT VISIBILITY + DETAIL COMPLETION PASS ===== */
/* Selected-place header: keep only the section label and navigation arrows. */
.admin-detail-head #detailTitle{display:none !important;}
.admin-detail-meta--stacked{display:grid !important;gap:3px !important;}
.admin-detail-meta--stacked span{display:block !important;}

/* Form controls now run to the same right edge as the image manager. */
.form-panel .compact-row>input,
.form-panel .compact-row>select,
.form-panel .compact-row>textarea,
.form-panel .website-field-row,
.form-panel .stacked-fields{
  width:100% !important;
  max-width:100% !important;
}
.form-panel .image-manager{
  width:100% !important;
  max-width:100% !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
}
.form-panel .advanced-content{
  width:100% !important;
  max-width:100% !important;
  grid-template-columns:2fr 1fr 1fr !important;
  gap:8px !important;
}
.form-panel .advanced-content #image{grid-column:1/-1 !important;width:100% !important;max-width:100% !important;}

/* Neutralize any unusually dark control outline. */
.form-panel .compact-row input,
.form-panel .compact-row select,
.form-panel .compact-row textarea,
.form-panel .website-field-row input,
#websiteAddLink,
.airport-picker summary{
  border-color:#c4cfd8 !important;
  box-shadow:none !important;
}
.form-panel .compact-row input:focus,
.form-panel .compact-row select:focus,
.form-panel .compact-row textarea:focus,
#websiteAddLink:focus-visible,
.airport-picker[open] summary{
  border-color:#9eacb8 !important;
  outline:none !important;
  box-shadow:0 0 0 1px rgba(89,38,183,.07) !important;
}

/* Requested darker-neutral borders for Paste and Sample. */
#pastePlaceImage,
#loadLocalSample{
  border-color:#7f909d !important;
  color:#243746 !important;
}
#pastePlaceImage:hover,#pastePlaceImage:focus-visible,
#loadLocalSample:hover,#loadLocalSample:focus-visible{
  border-color:#596b78 !important;
}

/* Import review: Select all, Select none, then Apply selected beneath. */
.review-actions{
  display:grid !important;
  grid-template-columns:max-content max-content !important;
  gap:6px !important;
  align-items:center !important;
  justify-content:start !important;
}
.review-actions[hidden]{display:none !important;}
#selectAll{grid-column:1 !important;grid-row:1 !important;}
#selectNone{grid-column:2 !important;grid-row:1 !important;}
#applySelected{grid-column:1 / -1 !important;grid-row:2 !important;justify-self:start !important;}

/* Airport image has no stray strip; slider is a clean control in the upper-right. */
.admin-sidebar-airport-card__image-wrap{
  position:relative !important;
  padding:0 !important;
  line-height:0 !important;
  background:#dfe5e9 !important;
}
.admin-sidebar-airport-card__image-wrap>img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:cover !important;
}
.airport-publish-toggle{
  -webkit-appearance:none !important;
  appearance:none !important;
  display:block !important;
  overflow:hidden !important;
  top:8px !important;
  right:8px !important;
  left:auto !important;
  border:0 !important;
  outline:0 !important;
}

/* Hidden airports stay readable in Admin but use softer off-white card copy. */
.admin-airport-card-wrap.is-hidden .admin-airport-card img{filter:grayscale(1) brightness(.78) !important;}
.admin-airport-card-wrap.is-hidden .admin-airport-card__copy,
.admin-airport-card-wrap.is-hidden .admin-airport-card__ref,
.admin-airport-card-wrap.is-hidden .admin-airport-card__region{color:#d9dde1 !important;}

/* Two airport-mode controls: view PUBLISH/HIDDEN and bulk ALL/NONE. */
.admin-records-controls{display:flex !important;align-items:flex-end !important;gap:7px !important;flex-wrap:wrap !important;}
.airport-view-toggle,
.airport-all-toggle{
  min-width:88px !important;
  height:32px !important;
  padding:4px 7px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  border:1px solid #8f989f !important;
  background:#8f989f !important;
  color:#fff !important;
  font:800 9px/1 "Montserrat",Arial,Helvetica,sans-serif !important;
}
.airport-view-toggle[hidden],.airport-all-toggle[hidden]{display:none !important;}
.airport-view-toggle.is-published,.airport-all-toggle.is-published{border-color:var(--green) !important;background:var(--green) !important;}
.airport-view-toggle.is-hidden,.airport-all-toggle.is-hidden{border-color:#8f989f !important;background:#8f989f !important;}
.airport-view-toggle__track,.airport-all-toggle__track{
  position:relative !important;
  width:34px !important;
  height:18px !important;
  flex:0 0 34px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.28) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55) !important;
}
.airport-view-toggle__knob,.airport-all-toggle__knob{
  position:absolute !important;
  top:2px !important;
  left:2px !important;
  width:14px !important;
  height:14px !important;
  border-radius:50% !important;
  background:#fff !important;
  transition:transform .14s ease !important;
}
.airport-view-toggle.is-published .airport-view-toggle__knob,
.airport-all-toggle.is-published .airport-all-toggle__knob{transform:translateX(16px) !important;}
.airport-view-toggle__label,.airport-all-toggle__label{white-space:nowrap !important;}

/* Status counts always reflect current airport/place totals. */
.admin-status-tabs button span{
  color:#fff !important;
  font-weight:900 !important;
}

/* ===== 2026-08-14 ADMIN HEADER + BULK VISIBILITY CONTROL PASS ===== */
/* Centered Aerowander administrator identity. The older left-side wordmark is gone. */
.admin-masthead{
  position:relative !important;
  display:grid !important;
  grid-template-columns:1fr 1fr 1fr !important;
  align-items:center !important;
  min-height:96px !important;
  height:96px !important;
  padding:7px 18px !important;
  background:#fff !important;
}
.admin-masthead-spacer{grid-column:1;}
.admin-title-stack{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:max-content !important;
  max-width:none !important;
  pointer-events:auto !important;
}
.admin-center-brand{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:1px !important;
  text-decoration:none !important;
  background:transparent !important;
}
.admin-wordmark--masthead{
  display:block !important;
  margin:0 !important;
  color:#9a9a9a !important;
  font-family:"Allura","Segoe Script","Brush Script MT",cursive !important;
  font-size:50px !important;
  font-weight:400 !important;
  line-height:.78 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  transform:none !important;
}
.admin-page-title{
  display:block !important;
  margin-top:7px !important;
  color:#9a9a9a !important;
  background:transparent !important;
  font-family:"Montserrat",Arial,Helvetica,sans-serif !important;
  font-size:22px !important;
  font-weight:500 !important;
  line-height:1 !important;
  letter-spacing:.055em !important;
  text-transform:uppercase !important;
}
.admin-header-actions{grid-column:3 !important;}
.admin-shell-master{height:calc(100vh - 96px) !important;}

/* Match the editor captions to the silver order-number color and remove bold. */
.form-panel .compact-row>.form-label,
.form-panel .advanced-row>.form-label,
.form-panel .advanced-row summary{
  color:#a8b3bd !important;
  font-weight:500 !important;
}

/* SELECTED AIRPORT / SELECTED PLACE now matches SEARCH RECORDS in scale. */
.admin-detail-head #detailModeLabel{
  font-family:"Montserrat",Arial,Helvetica,sans-serif !important;
  font-size:10.5px !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  letter-spacing:0 !important;
}

/* Airport count summary is intentionally stacked: U.S. / Int'l / Records. */
.admin-records-head #listSummary.is-airport-count-stack{
  display:grid !important;
  gap:1px !important;
  margin-top:3px !important;
  line-height:1.13 !important;
}
.admin-records-head #listSummary.is-airport-count-stack span{display:block !important;}

/* Publish/Hide bulk controls are available in both AIRPORTS and PLACES modes. */
.admin-records-controls{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:flex-end !important;
  gap:10px !important;
}
.admin-bulk-controls{
  display:grid !important;
  gap:4px !important;
  min-width:172px !important;
}
.admin-bulk-row{
  display:grid !important;
  grid-template-columns:minmax(84px,1fr) 40px 46px !important;
  gap:4px !important;
  align-items:center !important;
}
.admin-bulk-label{
  min-height:29px !important;
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  padding:4px 7px !important;
  border:1px solid #8e9aa4 !important;
  background:#8e9aa4 !important;
  color:#fff !important;
  font:800 8.5px/1 "Montserrat",Arial,Helvetica,sans-serif !important;
}
.admin-bulk-row--publish .admin-bulk-label{border-color:var(--green) !important;background:var(--green) !important;}
.admin-bulk-track{
  position:relative !important;
  flex:0 0 31px !important;
  width:31px !important;
  height:16px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.27) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.6) !important;
}
.admin-bulk-knob{
  position:absolute !important;
  top:2px !important;
  left:2px !important;
  width:12px !important;
  height:12px !important;
  border-radius:50% !important;
  background:#fff !important;
  transition:transform .14s ease !important;
}
.admin-bulk-row.is-on .admin-bulk-knob{transform:translateX(15px) !important;}
.admin-bulk-row>button{
  height:29px !important;
  padding:0 5px !important;
  border:1px solid #bcc6ce !important;
  background:#fff !important;
  color:#465560 !important;
  font:700 8px/1 "Montserrat",Arial,Helvetica,sans-serif !important;
  cursor:pointer !important;
}
.admin-bulk-row--publish>button:hover,
.admin-bulk-row--publish>button:focus-visible,
.admin-bulk-row--publish>button.is-active{border-color:var(--green) !important;color:var(--green) !important;background:#f1fbf5 !important;outline:none !important;}
.admin-bulk-row--hide>button:hover,
.admin-bulk-row--hide>button:focus-visible,
.admin-bulk-row--hide>button.is-active{border-color:#68747d !important;color:#36424b !important;background:#eef1f3 !important;outline:none !important;}

/* Places receive the same individual green/gray visibility slider as airports. */
.admin-record-card{position:relative !important;}
.admin-record-card .admin-record{padding-right:58px !important;}
.place-publish-toggle{
  position:absolute !important;
  z-index:6 !important;
  top:50% !important;
  right:8px !important;
  transform:translateY(-50%) !important;
  width:42px !important;
  height:23px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:#8f989f !important;
  box-shadow:0 1px 4px rgba(8,41,71,.15) !important;
  cursor:pointer !important;
}
.place-publish-toggle.is-published{background:var(--green) !important;}
.place-publish-toggle.is-hidden{background:#8f989f !important;}
.place-publish-toggle__knob{
  position:absolute !important;
  top:3px !important;
  left:3px !important;
  width:17px !important;
  height:17px !important;
  border-radius:50% !important;
  background:#fff !important;
  box-shadow:0 1px 3px rgba(0,0,0,.2) !important;
  transition:transform .14s ease !important;
}
.place-publish-toggle.is-published .place-publish-toggle__knob{transform:translateX(19px) !important;}
.place-publish-toggle:hover,.place-publish-toggle:focus-visible{outline:none !important;box-shadow:0 0 0 2px rgba(89,38,183,.18),0 1px 4px rgba(8,41,71,.15) !important;}

@media(max-width:1700px){
  .admin-masthead{height:96px !important;grid-template-columns:1fr 1fr 1fr !important;}
  .admin-wordmark--masthead{font-size:46px !important;}
  .admin-page-title{font-size:20px !important;}
  .admin-shell-master{height:calc(100vh - 96px) !important;}
}
.admin-bulk-controls[hidden]{display:none !important;}

/* =========================================================
   AUGUST 14 2026 — ADMIN ZOOM-SAFE OUTER FRAME
   Keeps the Administrator workspace centered and capped on extra-wide or
   zoomed-out viewports while preserving its internal desktop grid.
========================================================= */
.admin-app{
  width:min(calc(100% - (2 * clamp(12px,2vw,40px))),1840px) !important;
  max-width:1840px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media(max-width:820px){
  .admin-app{width:calc(100% - 40px) !important;}
}

