/* RIG RESCUE — MOBILE LOCATION DISPATCH
   No blur, no map SDK and no decorative runtime. The sheet is a compact,
   thumb-first emergency tool with the same near-black / work-light language as
   the site. All controls remain usable at 360px and above. */

/* Three-action emergency dock: call stays dominant, location gets a real
   button, and the current route remains reachable. The class is added only
   after location-dispatch.js has built and bound the accessible dialog. */
@media (max-width:820px){
  .callbar.is-location-ready{
    grid-template-columns:48fr 28fr 24fr;
    transform:none;
  }
  .callbar-locate{
    appearance:none;
    border:0;
    border-left:1px solid rgba(255,176,0,.42);
    background:#101318;
    color:#EDE8DF;
    display:flex;
    min-width:0;
    min-height:58px;
    padding:10px 5px;
    align-items:center;
    justify-content:center;
    gap:6px;
    font-family:var(--mono,"Overpass Mono",ui-monospace,monospace);
    font-size:11px;
    font-weight:600;
    letter-spacing:.07em;
    line-height:1.05;
    text-align:center;
    cursor:pointer;
  }
  .callbar-locate-icon{
    color:var(--amber,#FFB000);
    font-family:var(--body,system-ui,sans-serif);
    font-size:18px;
    line-height:1;
  }
  .callbar-locate:active{background:#161A21}
  .callbar-locate:focus-visible{outline:2px solid var(--amber,#FFB000);outline-offset:-3px}
}

.rr-loc-mount{display:contents}
.rr-loc-layer[hidden]{display:none!important}
.rr-loc-layer{
  --rr-loc-amber:var(--amber,#FFB000);
  --rr-loc-amber-hi:var(--amber-hi,#FFC443);
  --rr-loc-paper:var(--paper,#EDE8DF);
  --rr-loc-dim:var(--dim,#9C978C);
  --rr-loc-hair:rgba(237,232,223,.13);
  position:fixed;
  inset:0;
  z-index:10000;
  color:var(--rr-loc-paper);
  font-family:var(--body,"Overpass",system-ui,sans-serif);
  pointer-events:none;
  isolation:isolate;
}
.rr-loc-layer.is-open{pointer-events:auto}
.rr-loc-scrim{
  appearance:none;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  border-radius:0;
  background:rgba(2,3,5,.78);
  opacity:0;
  transition:opacity .16s linear;
  cursor:default;
}
.rr-loc-layer.is-open .rr-loc-scrim{opacity:1}
.rr-loc-sheet{
  position:absolute;
  left:50%;
  bottom:0;
  width:min(100%,720px);
  max-height:84vh;
  max-height:min(84svh,780px);
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  transform:translate(-50%,102%);
  transition:transform .18s cubic-bezier(.16,1,.3,1);
  border:1px solid rgba(255,176,0,.48);
  border-bottom:0;
  background:#0B0D11;
  box-shadow:0 -16px 60px rgba(0,0,0,.58);
  padding:0 max(18px,env(safe-area-inset-left,0px)) calc(22px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-right,0px));
  scrollbar-color:#5F5C55 #101318;
  scrollbar-width:thin;
  contain:layout paint;
}
.rr-loc-layer.is-open .rr-loc-sheet{transform:translate(-50%,0)}
.rr-loc-sheet::-webkit-scrollbar{width:6px}
.rr-loc-sheet::-webkit-scrollbar-track{background:#101318}
.rr-loc-sheet::-webkit-scrollbar-thumb{background:#5F5C55}

.rr-loc-head{
  position:sticky;
  top:0;
  z-index:3;
  display:grid;
  grid-template-columns:minmax(0,1fr) 48px;
  gap:12px;
  align-items:center;
  min-height:68px;
  margin:0 -1px 22px;
  padding:11px 0 10px;
  border-bottom:1px solid var(--rr-loc-hair);
  background:#0B0D11;
}
.rr-loc-system{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--rr-loc-amber);
  font-family:var(--mono,"Overpass Mono",ui-monospace,monospace);
  font-size:9px;
  font-weight:600;
  letter-spacing:.16em;
  line-height:1.2;
}
.rr-loc-system span,.rr-loc-state span{
  display:inline-block;
  width:8px;
  height:8px;
  flex:0 0 8px;
  background:currentColor;
  box-shadow:0 0 12px rgba(255,176,0,.38);
}
.rr-loc-headline{
  margin-top:4px;
  overflow:hidden;
  color:var(--rr-loc-paper);
  font-family:var(--disp,"Big Shoulders Display","Arial Narrow",sans-serif);
  font-size:18px;
  font-weight:800;
  letter-spacing:.035em;
  line-height:1;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.rr-loc-close{
  appearance:none;
  width:48px;
  height:48px;
  border:1px solid var(--rr-loc-hair);
  border-radius:0;
  background:#101318;
  color:var(--rr-loc-paper);
  font-family:var(--body,system-ui,sans-serif);
  font-size:30px;
  font-weight:300;
  line-height:1;
  cursor:pointer;
}
.rr-loc-close:active{background:#161A21}

.rr-loc-live{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.rr-loc-view{padding:0 0 4px}
.rr-loc-view[hidden]{display:none!important}
.rr-loc-state{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 13px;
  color:var(--rr-loc-dim);
  font-family:var(--mono,"Overpass Mono",ui-monospace,monospace);
  font-size:10px;
  font-weight:600;
  letter-spacing:.17em;
  line-height:1.3;
  text-transform:uppercase;
}
.rr-loc-state.is-ready{color:var(--rr-loc-amber)}
.rr-loc-state.is-working{color:var(--rr-loc-amber-hi)}
.rr-loc-state.is-error{color:#FFB56B}
.rr-loc-title{
  margin:0;
  color:var(--rr-loc-paper);
  font-family:var(--disp,"Big Shoulders Display","Arial Narrow",sans-serif);
  font-size:clamp(38px,11vw,58px);
  font-weight:800;
  letter-spacing:.01em;
  line-height:.87;
  text-transform:uppercase;
}
.rr-loc-copy{
  max-width:58ch;
  margin:18px 0 0;
  color:var(--rr-loc-dim);
  font-size:14px;
  line-height:1.55;
}
.rr-loc-privacy{
  margin-top:18px;
  padding:14px 14px 13px;
  border-left:3px solid var(--rr-loc-amber);
  background:#101318;
  color:var(--rr-loc-dim);
  font-size:12.5px;
  line-height:1.55;
}
.rr-loc-privacy strong{color:var(--rr-loc-paper);font-family:var(--mono,"Overpass Mono",ui-monospace,monospace);font-size:11px;letter-spacing:.08em}

.rr-loc-stack{display:grid;gap:9px;margin-top:22px}
.rr-loc-btn{
  appearance:none;
  display:flex;
  width:100%;
  min-height:52px;
  border:1px solid var(--rr-loc-hair);
  border-radius:0;
  padding:13px 14px;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-family:var(--mono,"Overpass Mono",ui-monospace,monospace);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.085em;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
}
.rr-loc-btn--primary{border-color:var(--rr-loc-amber);background:var(--rr-loc-amber);color:#0B0D11}
.rr-loc-btn--primary:active{background:var(--rr-loc-amber-hi)}
.rr-loc-btn--secondary{border-color:rgba(255,176,0,.48);background:#12161C;color:var(--rr-loc-amber)}
.rr-loc-btn--quiet{background:transparent;color:var(--rr-loc-dim)}
.rr-loc-btn:disabled{border-color:#34363A;background:#25262A;color:#73716B;box-shadow:none;cursor:not-allowed}
.rr-loc-btn.is-sending{cursor:progress}
.rr-loc-lamp{width:9px;height:9px;flex:0 0 9px;background:#0B0D11}
.rr-loc-submit-note{
  margin:-1px 4px 4px;
  color:var(--rr-loc-dim);
  font-size:11px;
  line-height:1.45;
  text-align:center;
}

.rr-loc-scan{
  position:relative;
  height:76px;
  margin:24px 0 8px;
  overflow:hidden;
  border:1px solid var(--rr-loc-hair);
  background:
    linear-gradient(rgba(255,176,0,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,176,0,.07) 1px,transparent 1px),
    #0E1116;
  background-size:20px 20px;
}
.rr-loc-scan::before,.rr-loc-scan::after{content:"";position:absolute;background:rgba(255,176,0,.5)}
.rr-loc-scan::before{left:50%;top:0;bottom:0;width:1px}
.rr-loc-scan::after{top:50%;left:0;right:0;height:1px}
.rr-loc-scan span{
  position:absolute;
  left:50%;top:50%;
  width:12px;height:12px;
  border:2px solid var(--rr-loc-amber);
  transform:translate(-50%,-50%);
  box-shadow:0 0 18px rgba(255,176,0,.5);
  animation:rrLocAcquire 1.2s steps(2,end) infinite;
}
@keyframes rrLocAcquire{50%{opacity:.32}}

.rr-loc-fix{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  gap:1px;
  margin-top:20px;
  border:1px solid rgba(255,176,0,.36);
  background:rgba(255,176,0,.36);
}
.rr-loc-fix>div{min-width:0;padding:12px;background:#0E1116}
.rr-loc-fix span,.rr-loc-form label>span,.rr-loc-coord-inputs label>span{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:var(--rr-loc-dim);
  font-family:var(--mono,"Overpass Mono",ui-monospace,monospace);
  font-size:9px;
  font-weight:600;
  letter-spacing:.15em;
  line-height:1.25;
  text-transform:uppercase;
}
.rr-loc-fix output{
  display:block;
  margin-top:7px;
  overflow-wrap:anywhere;
  color:var(--rr-loc-amber);
  font-family:var(--mono,"Overpass Mono",ui-monospace,monospace);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.02em;
  line-height:1.35;
}
.rr-loc-warning{
  margin-top:12px;
  padding:11px 12px;
  border:1px solid rgba(255,181,107,.42);
  color:#FFC078;
  font-family:var(--mono,"Overpass Mono",ui-monospace,monospace);
  font-size:10px;
  letter-spacing:.04em;
  line-height:1.55;
}
.rr-loc-mapline,.rr-loc-sms-fallback{
  appearance:none;
  display:inline-flex;
  margin-top:12px;
  border:0;
  border-bottom:1px solid rgba(255,176,0,.45);
  border-radius:0;
  background:transparent;
  color:var(--rr-loc-amber);
  font-family:var(--mono,"Overpass Mono",ui-monospace,monospace);
  font-size:10px;
  font-weight:600;
  letter-spacing:.08em;
  line-height:1.4;
  text-decoration:none;
  cursor:pointer;
}

.rr-loc-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.rr-loc-form label,.rr-loc-coord-inputs label{display:grid;min-width:0;gap:7px}
.rr-loc-form .rr-loc-details{grid-column:1/-1}
.rr-loc-form small{font:inherit;color:#6E6A62}
.rr-loc-form select,.rr-loc-form textarea,.rr-loc-coord-inputs input{
  appearance:none;
  width:100%;
  min-width:0;
  min-height:48px;
  border:1px solid rgba(237,232,223,.18);
  border-radius:0;
  background:#0E1116;
  color:var(--rr-loc-paper);
  padding:11px 12px;
  font-family:var(--body,"Overpass",system-ui,sans-serif);
  font-size:16px;
  line-height:1.35;
}
.rr-loc-form select{padding-right:30px;background-image:linear-gradient(45deg,transparent 50%,#FFB000 50%),linear-gradient(135deg,#FFB000 50%,transparent 50%);background-position:calc(100% - 16px) 20px,calc(100% - 11px) 20px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.rr-loc-form textarea{min-height:72px;resize:vertical}
.rr-loc-form select:focus,.rr-loc-form textarea:focus,.rr-loc-coord-inputs input:focus{border-color:var(--rr-loc-amber);outline:2px solid var(--rr-loc-amber);outline-offset:1px}
.rr-loc-coord-inputs input[aria-invalid="true"]{border-color:#FF9E75}
.rr-loc-required{margin-top:10px;color:var(--rr-loc-dim);font-size:11px;line-height:1.45}
.rr-loc-required[hidden]{display:none}

.rr-loc-tools{
  display:grid;
  grid-template-columns:1.2fr .9fr .7fr;
  gap:1px;
  margin-top:14px;
  border:1px solid var(--rr-loc-hair);
  background:var(--rr-loc-hair);
}
.rr-loc-tools button,.rr-loc-tools a{
  appearance:none;
  display:flex;
  min-width:0;
  min-height:48px;
  border:0;
  border-radius:0;
  padding:8px 5px;
  align-items:center;
  justify-content:center;
  background:#101318;
  color:var(--rr-loc-dim);
  font-family:var(--mono,"Overpass Mono",ui-monospace,monospace);
  font-size:9.5px;
  font-weight:600;
  letter-spacing:.06em;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
}
.rr-loc-tools button:active,.rr-loc-tools a:active{background:#181C23;color:var(--rr-loc-paper)}

.rr-loc-coord-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.rr-loc-pad{
  position:relative;
  height:190px;
  margin-top:15px;
  overflow:hidden;
  border:1px solid rgba(255,176,0,.42);
  background:
    linear-gradient(rgba(255,176,0,.075) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,176,0,.075) 1px,transparent 1px),
    #0D1015;
  background-size:24px 24px;
  cursor:crosshair;
  touch-action:none;
  user-select:none;
}
.rr-loc-pad[aria-disabled="true"]{cursor:not-allowed;opacity:.56}
.rr-loc-pad-axis{position:absolute;pointer-events:none;background:rgba(237,232,223,.2)}
.rr-loc-pad-axis--x{left:0;right:0;top:50%;height:1px}
.rr-loc-pad-axis--y{top:0;bottom:0;left:50%;width:1px}
.rr-loc-pad-label{position:absolute;color:#706D66;font-family:var(--mono,"Overpass Mono",ui-monospace,monospace);font-size:9px;letter-spacing:.1em;pointer-events:none}
.rr-loc-pad-label--n{top:7px;left:50%;transform:translateX(-50%)}
.rr-loc-pad-label--s{bottom:7px;left:50%;transform:translateX(-50%)}
.rr-loc-pad-label--w{left:8px;top:50%;transform:translateY(-50%)}
.rr-loc-pad-label--e{right:8px;top:50%;transform:translateY(-50%)}
.rr-loc-pad-marker{
  position:absolute;
  z-index:2;
  width:24px;
  height:24px;
  border:2px solid var(--rr-loc-amber);
  transform:translate(-50%,-50%);
  background:rgba(255,176,0,.14);
  box-shadow:0 0 0 5px rgba(255,176,0,.08),0 0 20px rgba(255,176,0,.35);
  pointer-events:none;
}
.rr-loc-pad-marker::before,.rr-loc-pad-marker::after{content:"";position:absolute;background:var(--rr-loc-amber)}
.rr-loc-pad-marker::before{left:50%;top:-8px;bottom:-8px;width:1px}
.rr-loc-pad-marker::after{top:50%;left:-8px;right:-8px;height:1px}
.rr-loc-pad-scale{margin-top:6px;color:#64615B;font-family:var(--mono,"Overpass Mono",ui-monospace,monospace);font-size:8.5px;letter-spacing:.12em;text-align:right}
.rr-loc-nudge{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin-top:13px}
.rr-loc-nudge button{
  appearance:none;
  min-height:44px;
  border:1px solid var(--rr-loc-hair);
  border-radius:0;
  background:#101318;
  color:var(--rr-loc-dim);
  font-family:var(--mono,"Overpass Mono",ui-monospace,monospace);
  font-size:9px;
  font-weight:600;
  letter-spacing:.04em;
  cursor:pointer;
}
.rr-loc-nudge button:active{border-color:var(--rr-loc-amber);color:var(--rr-loc-amber)}

.rr-loc-layer button:focus-visible,.rr-loc-layer a:focus-visible,.rr-loc-layer select:focus-visible,.rr-loc-layer textarea:focus-visible,.rr-loc-layer input:focus-visible,.rr-loc-pad:focus-visible{
  outline:2px solid var(--rr-loc-amber);
  outline-offset:2px;
}

@media (min-width:821px){
  .rr-loc-sheet{
    left:50%;
    bottom:50%;
    width:min(calc(100% - 40px),650px);
    max-height:min(86vh,780px);
    border-bottom:1px solid rgba(255,176,0,.48);
    transform:translate(-50%,calc(50% + 30px));
    opacity:0;
    transition:transform .18s cubic-bezier(.16,1,.3,1),opacity .14s linear;
    padding-left:28px;
    padding-right:28px;
  }
  .rr-loc-layer.is-open .rr-loc-sheet{transform:translate(-50%,50%);opacity:1}
}

@media (max-width:400px){
  .rr-loc-sheet{max-height:88svh;padding-left:14px;padding-right:14px}
  .rr-loc-head{margin-bottom:18px}
  .rr-loc-headline{font-size:16px}
  .rr-loc-title{font-size:clamp(36px,11vw,46px)}
  .rr-loc-fix{grid-template-columns:1fr}
  .rr-loc-form{grid-template-columns:1fr}
  .rr-loc-form .rr-loc-details{grid-column:auto}
  .rr-loc-coord-inputs{grid-template-columns:1fr}
  .rr-loc-tools button,.rr-loc-tools a{font-size:8.7px}
  .callbar-locate{font-size:10px;letter-spacing:.04em;gap:4px}
  .callbar-locate-icon{font-size:16px}
}

@media (max-width:820px) and (orientation:landscape){
  .rr-loc-sheet{max-height:96vh;max-height:96svh}
  .rr-loc-head{min-height:58px;margin-bottom:15px}
  .rr-loc-title{font-size:38px}
  .rr-loc-pad{height:150px}
}

@media (prefers-reduced-motion:reduce){
  .rr-loc-scrim,.rr-loc-sheet{transition:none!important}
  .rr-loc-scan span{animation:none}
}

@media (forced-colors:active){
  .rr-loc-layer *{box-shadow:none!important}
  .rr-loc-btn--primary{forced-color-adjust:auto}
  .rr-loc-pad-marker{background:CanvasText}
}
