/* ARA Modern UI Theme */
:root{
  color-scheme:dark;
  --bg:#050b14;--bg2:#081827;--panel:#0c1c2e;--panel2:#102b46;--glass:rgba(13,31,52,.78);
  --text:#f2f8ff;--muted:#a9bdd2;--brand:#42d9ff;--brand2:#7c5cff;--accent:#67f0a4;--warn:#ffd166;--bad:#ff6b6b;--line:#254765;
  --shadow:0 24px 80px rgba(0,0,0,.42);--radius:22px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:
  radial-gradient(circle at 10% -10%,rgba(66,217,255,.22),transparent 34rem),
  radial-gradient(circle at 85% 8%,rgba(124,92,255,.20),transparent 28rem),
  linear-gradient(180deg,var(--bg),#07101d 45%,#050b14);color:var(--text);font:18px/1.58 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;min-height:100vh;}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(66,217,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(66,217,255,.045) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom,black,transparent 75%)}
a{color:var(--brand)}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;color:#000;padding:.6rem 1rem;border-radius:.5rem;z-index:99}.site-header{position:sticky;top:0;z-index:20;background:rgba(5,11,20,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(66,217,255,.18)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1240px;margin:auto;padding:.9rem 1.1rem}.brand{display:flex;gap:.9rem;align-items:center;text-decoration:none;color:var(--text);font-weight:900;line-height:1.1}.brand small{color:var(--muted);font-weight:600}.logo{display:grid;place-items:center;width:3.4rem;height:3.4rem;border:1px solid rgba(66,217,255,.6);border-radius:1.1rem;background:linear-gradient(135deg,#12395d,#0a1626);box-shadow:0 0 30px rgba(66,217,255,.35),inset 0 0 24px rgba(66,217,255,.08)}
.links{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.links a,.footer a{color:var(--text);text-decoration:none}.links a{padding:.45rem .65rem;border-radius:999px;font-weight:700;font-size:.92rem}.links a:hover,.links a:focus{background:rgba(66,217,255,.12);color:var(--brand)}.admin-link{border:1px solid rgba(66,217,255,.32);background:rgba(66,217,255,.07)}.menu{display:none}
main{min-height:68vh}.hero{max-width:1240px;margin:auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:2rem;align-items:center;padding:5.5rem 1.1rem 3rem;position:relative}.hero:after{content:"";position:absolute;left:1rem;right:1rem;bottom:-1.5rem;height:260px;background:url('/assets/graphics/topographic-waves.svg') center/cover no-repeat;opacity:.34;pointer-events:none}.hero h1{font-size:clamp(2.7rem,6.4vw,5.7rem);line-height:.96;letter-spacing:-.06em;margin:.2rem 0 1rem;text-shadow:0 0 45px rgba(66,217,255,.18)}.hero p{font-size:1.16rem;color:#d8e8f8;max-width:72ch}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:950}.hero-visual{position:relative;min-height:520px;border-radius:30px;overflow:hidden;border:1px solid rgba(66,217,255,.18);box-shadow:0 35px 100px rgba(0,0,0,.5),0 0 70px rgba(66,217,255,.1);background:#050b14}.hero-visual img{width:100%;height:100%;min-height:520px;object-fit:cover;display:block;transform:scale(1.02)}.hero-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,11,20,.84));z-index:1;pointer-events:none}.floating{position:absolute;z-index:2;right:1.1rem;bottom:1.1rem;width:min(310px,calc(100% - 2.2rem));backdrop-filter:blur(12px)}.cta{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.6rem}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#03101d!important;border:0;border-radius:14px;padding:.82rem 1.05rem;font-weight:950;text-decoration:none;cursor:pointer;box-shadow:0 12px 30px rgba(66,217,255,.18)}button:hover,.btn:hover{transform:translateY(-1px)}.btn.secondary{background:linear-gradient(135deg,var(--accent),#c4ff6b)}.btn.ghost{background:rgba(255,255,255,.03);color:var(--text)!important;border:1px solid var(--line);box-shadow:none}.btn.small{padding:.48rem .75rem;font-size:.9rem}
.signal-card,.panel,.metric,.status-card{position:relative;background:linear-gradient(180deg,rgba(16,43,70,.92),rgba(8,22,38,.92));border:1px solid rgba(66,217,255,.18);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);overflow:hidden}.signal-card:after,.panel:after,.status-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(66,217,255,.12),transparent 35%,rgba(103,240,164,.05))}.signal-card h2{font-size:5.7rem;line-height:1;margin:.5rem 0 0;letter-spacing:-.07em}.signal-card p{margin:.2rem 0 1rem;color:var(--muted)}.signal-lines{height:9rem;border-radius:18px;background:repeating-linear-gradient(90deg,transparent 0 16px,rgba(66,217,255,.58) 17px 19px),linear-gradient(180deg,#12375b,#07111f);box-shadow:inset 0 0 50px rgba(66,217,255,.18)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:1rem}.cards{max-width:1240px;margin:1rem auto;padding:0 1.1rem}.cards>a{background:linear-gradient(135deg,rgba(16,43,70,.92),rgba(11,25,42,.92));border:1px solid rgba(66,217,255,.18);border-radius:18px;padding:1.15rem;text-decoration:none;color:var(--text);font-weight:950;box-shadow:0 12px 34px rgba(0,0,0,.22)}.cards>a:before{content:"◉";color:var(--accent);margin-right:.5rem}.two{max-width:1240px;margin:1rem auto;padding:0 1.1rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.visual-panel{min-height:320px;display:flex;flex-direction:column;justify-content:flex-end}.visual-panel img{width:100%;max-height:260px;object-fit:contain;margin:-.6rem auto .5rem;filter:drop-shadow(0 22px 35px rgba(0,0,0,.35))}.notice{border-left:4px solid var(--brand);padding-left:1rem;margin:.8rem 0}.pagehead{max-width:1240px;margin:0 auto 1rem;padding:3.4rem 1.1rem 1.3rem;position:relative;overflow:hidden;border-bottom:1px solid rgba(66,217,255,.12)}.pagehead:before{content:"";position:absolute;inset:0;background:url('/assets/graphics/topographic-waves.svg') center/cover no-repeat;opacity:.18;z-index:-1}.pagehead:after{content:"";position:absolute;right:1.1rem;top:2rem;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(66,217,255,.18),transparent 68%);filter:blur(3px);z-index:-1}.pagehead h1{font-size:clamp(2.1rem,5vw,4.3rem);letter-spacing:-.045em;line-height:1;margin:0 0 .6rem}.pagehead p{color:#d4e4f5;max-width:76ch}.prose{max-width:920px;margin:1rem auto;padding:1rem 1.1rem;color:#e5f1ff}.prose p{background:rgba(12,28,46,.55);border:1px solid rgba(66,217,255,.12);border-radius:14px;padding:1rem}
.toolbar,.map-controls{max-width:1240px;margin:1rem auto;padding:0 1.1rem;display:flex;gap:.7rem;flex-wrap:wrap}.toolbar input{min-width:300px;flex:1}input,select,textarea{width:100%;background:#06111f;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:.78rem;font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(66,217,255,.16)}textarea{min-height:8.5rem}label{display:grid;gap:.35rem;margin:.55rem 0;font-weight:750;color:#dbeaff}.table-wrap{max-width:1240px;margin:1rem auto;overflow:auto;padding:0 1.1rem}.data{width:100%;border-collapse:separate;border-spacing:0;background:rgba(12,28,46,.9);border:1px solid rgba(66,217,255,.15);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.data th,.data td{border-bottom:1px solid rgba(66,217,255,.12);padding:.78rem;text-align:left;vertical-align:top}.data th{color:var(--accent);background:#071625;position:sticky;top:0;z-index:1}.data tr:hover td{background:rgba(66,217,255,.055)}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .6rem;font-size:.78rem;font-weight:950;background:#39506a;text-transform:uppercase;letter-spacing:.03em}.pill.active{background:#0a7a52}.pill.offline,.pill.retired{background:#812337}.pill.maintenance,.pill.planned{background:#f2c14e;color:#171000}.pill.degraded{background:#b9671c}.review{margin-left:.4rem;border:1px solid var(--warn);color:var(--warn);border-radius:.45rem;padding:.05rem .32rem;font-size:.72rem;font-weight:900}.status-grid{max-width:1240px;margin:auto;padding:1rem 1.1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.status-card h2{margin-top:0}.status-card small{color:var(--muted);font-size:1rem}#map{height:68vh;min-height:520px;max-width:1240px;margin:1rem auto;border:1px solid rgba(66,217,255,.24);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#081827;color:var(--text);border:1px solid var(--line)}
.footer{max-width:1240px;margin:4rem auto 0;padding:2rem 1.1rem;border-top:1px solid rgba(66,217,255,.16);display:flex;justify-content:space-between;gap:1rem;color:var(--muted)}.footer div:last-child{display:grid;gap:.25rem}.admin-nav{max-width:1240px;margin:1rem auto;padding:1rem;display:flex;gap:.65rem;flex-wrap:wrap;background:rgba(6,16,29,.75);border:1px solid rgba(66,217,255,.18);border-radius:18px}.admin-nav a{color:var(--text);text-decoration:none;background:rgba(255,255,255,.04);padding:.45rem .7rem;border-radius:999px}.admin-nav form,.inline{display:inline}.metric strong{font-size:3.4rem;display:block;line-height:1;color:var(--brand)}.metric span{color:var(--muted);font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.admin-form{max-width:1240px;margin:auto}.login{max-width:540px;margin:4rem auto;padding:1rem}.error{background:#5b1724;border:1px solid var(--bad);padding:.8rem;border-radius:.9rem}.muted{color:var(--muted)}
@media(max-width:880px){body{font-size:16px}.menu{display:inline-flex}.links{display:none;position:absolute;left:1rem;right:1rem;top:5.2rem;background:#07111f;border:1px solid var(--line);border-radius:1rem;padding:1rem}.links.open{display:grid}.hero,.two{grid-template-columns:1fr}.hero{padding-top:3rem}.footer{display:grid}.data{font-size:.9rem}.toolbar input{min-width:100%}}
@media print{.site-header,.toolbar,.footer,.admin-nav,.cta{display:none}body{background:white;color:black}.data,.panel{color:black;background:white;box-shadow:none}}

/* -------- ARA custom map pins + popups -------- */
html,body{overflow-x:hidden;max-width:100vw}
.ara-pin-wrap{background:transparent!important;border:0!important}
.ara-pin{display:inline-flex;align-items:center;gap:.35rem;background:rgba(8,24,39,.92);border:1px solid var(--brand);color:#eaf6ff;padding:.15rem .5rem .15rem .35rem;border-radius:999px;font-weight:900;font-size:.78rem;letter-spacing:.02em;box-shadow:0 6px 18px rgba(0,0,0,.55),0 0 0 2px rgba(66,217,255,.12);white-space:nowrap;transform:translateY(-4px)}
.ara-pin-dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--brand);box-shadow:0 0 8px var(--brand)}
.ara-pin.ara-offline,.ara-pin.ara-retired{border-color:#ff8a9b}.ara-pin.ara-offline .ara-pin-dot,.ara-pin.ara-retired .ara-pin-dot{background:#ff6b6b;box-shadow:0 0 8px #ff6b6b}
.ara-pin.ara-maintenance,.ara-pin.ara-planned{border-color:#ffd166}.ara-pin.ara-maintenance .ara-pin-dot,.ara-pin.ara-planned .ara-pin-dot{background:#ffd166;box-shadow:0 0 8px #ffd166}
.ara-pin.ara-degraded{border-color:#ff9d54}.ara-pin.ara-degraded .ara-pin-dot{background:#ff9d54;box-shadow:0 0 8px #ff9d54}
.leaflet-popup-content-wrapper{background:#081827!important;color:#eaf6ff!important;border:1px solid rgba(66,217,255,.35);border-radius:14px;box-shadow:0 30px 70px rgba(0,0,0,.6)}
.leaflet-popup-tip{background:#081827!important;border:1px solid rgba(66,217,255,.35)}
.leaflet-popup-content{margin:.9rem 1rem}
.rep-popup{font-size:.9rem;min-width:260px}
.rep-popup-head{display:flex;gap:.4rem;align-items:center;margin-bottom:.15rem;font-size:1rem}
.rep-popup-head strong{color:var(--brand);letter-spacing:.02em}
.rep-popup-name{color:var(--muted);margin-bottom:.5rem;font-size:.85rem}
.rep-popup table{width:100%;border-collapse:collapse;margin:.2rem 0 .7rem}
.rep-popup table th{color:var(--accent);text-align:left;padding:.15rem .5rem .15rem 0;font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;vertical-align:top;width:35%}
.rep-popup table td{padding:.15rem 0;color:#eaf6ff;font-size:.85rem}
.leaflet-tooltip{background:#081827;color:#eaf6ff;border:1px solid rgba(66,217,255,.4);font-weight:900;padding:.25rem .5rem;border-radius:8px}
.leaflet-tooltip-top:before{border-top-color:rgba(66,217,255,.4)}
.map-legend{display:flex;gap:.3rem;align-items:center;flex-wrap:wrap;margin-left:auto}
.marker-cluster{background:rgba(66,217,255,.25)!important}
.marker-cluster div{background:rgba(66,217,255,.85)!important;color:#03101d!important;font-weight:900}

/* -------- Mobile refinements -------- */
@media(max-width:880px){
  .hero{padding:2.4rem 1rem 2rem}
  .hero h1{font-size:clamp(2rem,8vw,2.9rem);letter-spacing:-.03em;word-break:break-word}
  .hero p{font-size:1.02rem}
  .hero-visual{min-height:360px}
  .hero-visual img{min-height:360px}
  .signal-card.floating{position:static;width:100%;margin-top:1rem}
  .pagehead{padding:2.2rem 1rem 1rem}
  .pagehead h1{font-size:clamp(1.9rem,7vw,2.6rem)}
  #map{height:60vh;min-height:420px;margin:1rem;border-radius:16px}
  .rep-popup{min-width:220px;font-size:.85rem}
  .footer{grid-template-columns:1fr}
  .cta{gap:.6rem}
  .btn{padding:.72rem .95rem;font-size:.95rem}
}
@media(max-width:480px){
  .brand small{display:none}
  .logo{width:2.6rem;height:2.6rem}
  .hero h1{font-size:clamp(1.7rem,8.5vw,2.2rem)}
  .cards{grid-template-columns:1fr 1fr}
}

/* -------- Mobile navigation and overflow fixes (final tuning) -------- */
@media(max-width:880px){
  .nav{padding:.7rem .9rem;gap:.5rem}
  .brand{gap:.55rem;flex:1;min-width:0;font-size:.95rem}
  .brand span:not(.logo){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .menu{display:inline-flex;flex-shrink:0;padding:.55rem .85rem;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#03101d!important;border-radius:10px;font-weight:900;border:0;box-shadow:0 6px 14px rgba(66,217,255,.25)}
  main{overflow-x:hidden}
  .hero p,.pagehead p,.prose p{max-width:100%;font-size:.98rem}
  .hero h1{max-width:100%;overflow-wrap:anywhere;hyphens:auto}
  .toolbar{padding:0 1rem}
  .table-wrap{padding:0}
  .data{border-radius:0;font-size:.85rem}
  .data th,.data td{padding:.55rem .55rem;white-space:nowrap}
  section.pagehead{padding-left:1rem;padding-right:1rem}
  .map-controls{padding:0 .9rem}
  .map-legend{margin-left:0;order:3;width:100%}
}

/* -------- Emergency mobile nav fix: force menu button visibility -------- */
@media(max-width:880px){
  .site-header{position:sticky;top:0}
  .nav{position:relative;padding-right:5.2rem}
  .brand{max-width:calc(100vw - 6rem)}
  .brand small{display:block;font-size:.72rem;color:var(--muted);white-space:normal}
  .menu{position:absolute!important;right:.9rem;top:50%;transform:translateY(-50%);z-index:5}
  .links{top:4.6rem}
}

/* -------- Real ARA badge logo (replaces text tile) -------- */
img.logo{width:3.4rem;height:3.4rem;object-fit:contain;border:0;background:transparent;box-shadow:0 0 30px rgba(66,217,255,.35);border-radius:0;filter:drop-shadow(0 4px 14px rgba(0,0,0,.5))}
@media(max-width:880px){img.logo{width:2.6rem;height:2.6rem}}
.hero-badge{width:min(420px,88%);height:auto;margin:0 auto;display:block;filter:drop-shadow(0 30px 60px rgba(0,0,0,.55)) drop-shadow(0 0 40px rgba(66,217,255,.15))}
.hero-visual.badge-hero{background:radial-gradient(circle at 50% 45%, rgba(66,217,255,.2), transparent 60%),#050b14;display:flex;align-items:center;justify-content:center;padding:2rem;min-height:520px}
@media(max-width:880px){.hero-visual.badge-hero{min-height:360px;padding:1.2rem}}

/* -------- History page figures + Repeater Journal gallery -------- */
.history-figure{max-width:1040px;margin:1.4rem auto;padding:0 1.1rem}
.history-figure img{width:100%;height:auto;border-radius:18px;border:1px solid rgba(66,217,255,.18);box-shadow:0 24px 60px rgba(0,0,0,.5)}
.history-figure figcaption{color:var(--muted);text-align:center;margin-top:.7rem;font-size:.95rem;font-style:italic}
.history-gallery{max-width:1240px;margin:1rem auto;padding:0 1.1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.2rem}
.history-gallery .history-figure{margin:0;padding:0}
.history-gallery .history-figure img{aspect-ratio:auto}

/* -------- Badge-hero refinement + signal-card placement -------- */
.hero-visual.badge-hero{padding:1.5rem 1.5rem 6rem}
.hero-visual.badge-hero .hero-badge{max-width:min(360px,72%);margin-top:.5rem}
.hero-visual.badge-hero .signal-card.floating{position:absolute;left:1rem;right:1rem;bottom:1rem;width:auto;max-width:none;text-align:center}
.hero-visual.badge-hero .signal-card.floating h2{font-size:4rem;margin:0}
.hero-visual.badge-hero .signal-card.floating p{margin:0 0 .5rem;color:var(--muted)}
.hero-visual.badge-hero .signal-card.floating .pill{margin:.15rem}

/* -------- Desktop nav: keep on one line up to ~1240px -------- */
@media(min-width:881px){
  .nav{padding:.75rem 1.1rem}
  .brand{font-size:.98rem}
  .brand small{font-size:.78rem}
  .links{gap:.15rem}
  .links a{padding:.4rem .55rem;font-size:.88rem}
}

/* -------- Resizable table (public /repeaters) -------- */
.resizable-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}
table.resizable{table-layout:fixed;min-width:1100px;width:max-content}
table.resizable th{position:relative;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
table.resizable td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
table.resizable td:hover{overflow:visible;white-space:normal;background:rgba(255,255,255,.03)}
.col-resize{position:absolute;top:0;right:-3px;bottom:0;width:8px;cursor:col-resize;z-index:2;background:transparent;border-right:2px solid transparent;transition:border-color .12s}
.col-resize:hover{border-right-color:var(--accent,#4dd0e1)}
.hint{font-size:.85em;opacity:.7;margin-left:.4em}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.15);color:inherit}
.btn.ghost:hover{background:rgba(255,255,255,.05)}
@media (max-width: 900px){
  .col-resize{display:none}
  .desktop-only{display:none}
  table.resizable{min-width:900px}
}

/* -------- Photo indicator + hover thumbnail strip (public /repeaters) -------- */
.ara-photo-badge{display:inline-flex;align-items:center;gap:.25rem;margin-left:.4rem;padding:.1rem .45rem;border-radius:999px;background:rgba(66,217,255,.14);border:1px solid rgba(66,217,255,.35);color:var(--brand);font-size:.72rem;font-weight:900;cursor:pointer;vertical-align:middle;position:relative}
.ara-photo-badge:hover,.ara-photo-badge:focus{background:rgba(66,217,255,.24);outline:none}
.ara-photo-badge svg{width:.85em;height:.85em}
.ara-photo-strip{position:absolute;top:100%;left:0;margin-top:.35rem;display:flex;gap:.3rem;background:rgba(8,24,39,.96);border:1px solid rgba(66,217,255,.35);border-radius:10px;padding:.3rem;box-shadow:0 12px 32px rgba(0,0,0,.55);z-index:60;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .15s,transform .15s}
.ara-photo-badge:hover .ara-photo-strip,.ara-photo-badge:focus-within .ara-photo-strip{opacity:1;pointer-events:auto;transform:translateY(0)}
.ara-photo-thumb{padding:0;background:none;border:1px solid rgba(66,217,255,.2);border-radius:6px;overflow:hidden;cursor:pointer;box-shadow:none;transition:border-color .1s;width:56px;height:56px;display:block}
.ara-photo-thumb:hover{border-color:var(--brand);transform:none}
.ara-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}

/* -------- Lightbox (shared by /repeaters and map popup) -------- */
.ara-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(3,7,14,.92);display:none;align-items:center;justify-content:center;padding:2rem}
.ara-lightbox.open{display:flex}
.ara-lb-figure{margin:0;max-width:min(1200px,94vw);max-height:88vh;display:flex;flex-direction:column;align-items:center;gap:.7rem}
.ara-lb-img{max-width:100%;max-height:72vh;border-radius:14px;border:1px solid rgba(66,217,255,.3);box-shadow:0 30px 90px rgba(0,0,0,.65);background:#050b14;object-fit:contain}
.ara-lb-caption{color:var(--text);font-size:.98rem;text-align:center;background:rgba(8,24,39,.85);border:1px solid rgba(66,217,255,.2);padding:.55rem 1rem;border-radius:10px;max-width:80ch}
.ara-lb-counter{color:var(--muted);font-size:.85rem;font-weight:700}
.ara-lb-close,.ara-lb-prev,.ara-lb-next{position:absolute;background:rgba(8,24,39,.85);color:var(--text)!important;border:1px solid rgba(66,217,255,.35);border-radius:999px;width:3rem;height:3rem;font-size:1.6rem;font-weight:900;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.5);display:grid;place-items:center;padding:0}
.ara-lb-close:hover,.ara-lb-prev:hover,.ara-lb-next:hover{background:rgba(66,217,255,.2);border-color:var(--brand);transform:none}
.ara-lb-close{top:1.2rem;right:1.2rem;width:2.6rem;height:2.6rem;font-size:1.1rem}
.ara-lb-prev{left:1.2rem;top:50%;transform:translateY(-50%)}
.ara-lb-next{right:1.2rem;top:50%;transform:translateY(-50%)}
@media(max-width:640px){
  .ara-lightbox{padding:.7rem}
  .ara-lb-close{top:.7rem;right:.7rem}
  .ara-lb-prev{left:.5rem}
  .ara-lb-next{right:.5rem}
  .ara-lb-img{max-height:65vh}
}

/* -------- Map popup: photo button + inline thumb strip -------- */
.rep-popup .rep-popup-photos{margin:.4rem 0 .3rem;display:flex;gap:.35rem;flex-wrap:wrap}
.rep-popup .rep-popup-photos button{padding:0;background:none;border:1px solid rgba(66,217,255,.25);border-radius:6px;overflow:hidden;width:52px;height:52px;cursor:pointer;box-shadow:none}
.rep-popup .rep-popup-photos button:hover{border-color:var(--brand);transform:none}
.rep-popup .rep-popup-photos img{width:100%;height:100%;object-fit:cover;display:block}

/* -------- Facebook link (footer + contact page) -------- */
.fb-link{display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;color:var(--text);padding:.3rem .55rem;border-radius:8px;transition:background .12s}
.fb-link:hover{background:rgba(66,217,255,.12);color:var(--brand)}
.fb-link svg{width:1.15em;height:1.15em;flex-shrink:0}
.fb-cta{display:inline-flex;align-items:center;gap:.55rem;background:#1877f2;color:#fff!important;border:0;border-radius:12px;padding:.75rem 1.05rem;font-weight:900;text-decoration:none;box-shadow:0 12px 28px rgba(24,119,242,.35);margin-top:.6rem}
.fb-cta:hover{background:#166fe0;color:#fff!important;transform:translateY(-1px)}
.fb-cta svg{width:1.3em;height:1.3em}

/* -------- Admin contact submissions viewer -------- */
.contact-list-row{cursor:pointer}
.contact-list-row.resolved td{opacity:.6}
.contact-badge-new{display:inline-block;background:var(--accent);color:#03101d;font-weight:900;font-size:.7rem;padding:.1rem .45rem;border-radius:999px;letter-spacing:.03em;text-transform:uppercase}
.contact-detail{max-width:920px;margin:1rem auto;padding:0 1.1rem}
.contact-detail .panel+.panel{margin-top:1rem}
.contact-message{white-space:pre-wrap;background:rgba(6,17,31,.7);border:1px solid rgba(66,217,255,.15);border-radius:12px;padding:1rem;color:#eaf6ff}
.contact-meta{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;color:var(--muted);font-size:.92rem}
.contact-meta strong{color:var(--accent)}
.contact-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.8rem}
