:root{--bg:#071925;--panel:#0e2a3b;--panel2:#12384d;--text:#f4fbff;--muted:#a9c7d6;--line:rgba(255,255,255,.12);--blue:#2eb5ff;--green:#23c283;--yellow:#f5b53f;--red:#ff4d5f;--danger:#ff355d}*{box-sizing:border-box}body{margin:0;font-family:Tahoma,Arial,sans-serif;background:radial-gradient(circle at 30% -10%,#1a5068 0,#071925 45%,#03111a 100%);color:var(--text);direction:rtl}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}button{cursor:pointer}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px 22px;background:rgba(3,17,26,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center}.logo{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#1ca7ec,#64d2ff);display:grid;place-items:center;font-weight:900}.brand h1{font-size:19px;margin:0}.brand p{margin:3px 0 0;color:var(--muted);font-size:12px}.menu-btn{border:1px solid rgba(46,181,255,.35);background:#0b3144;color:#fff;border-radius:14px;padding:12px 16px;font-weight:800}.menu-pop{position:fixed;left:18px;top:82px;z-index:50;width:280px;background:#071925;border:1px solid rgba(46,181,255,.35);border-radius:22px;box-shadow:0 25px 80px rgba(0,0,0,.45);padding:14px;display:none}.menu-pop.open{display:block}.menu-pop a,.menu-pop button{display:block;width:100%;text-align:right;margin:8px 0;padding:14px 16px;border-radius:14px;background:#0b2c3e;border:1px solid var(--line);color:#dff6ff;font-weight:800}.menu-pop .active{background:#0b4c6d;border-color:#2eb5ff}.wrap{max-width:1260px;margin:auto;padding:22px}.hero{display:flex;justify-content:space-between;gap:18px;align-items:end;margin:8px 0 22px}.hero h2{font-size:34px;margin:0 0 8px}.hero p{margin:0;color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:rgba(255,255,255,.06);border-radius:999px;padding:10px 16px;color:#dff6ff}.grid{display:grid;gap:16px}.cards4{grid-template-columns:repeat(4,1fr)}.cols{grid-template-columns:1.05fr 1.65fr}.card{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 18px 40px rgba(0,0,0,.18)}.metric strong{display:block;font-size:33px;letter-spacing:1px}.metric span{color:var(--muted)}.news-item{padding:14px 16px;margin:10px 0;border-radius:16px;background:rgba(46,181,255,.12);border-right:4px solid var(--blue)}.news-item.warn{background:rgba(255,77,95,.12);border-right-color:var(--red)}.news-item b{display:block;margin-bottom:5px}.map-card h3{font-size:26px;margin:0 0 16px}.beach-map{position:relative;overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.18);background:#092235;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);min-height:420px;isolation:isolate}.beach-map:before{content:'';position:absolute;inset:0;background:url('assets/beach-map.png') center/cover no-repeat;filter:saturate(.95) contrast(1.04);z-index:-3}.beach-map:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.2));z-index:-2}.map-3d{transform:perspective(1100px) rotateX(2deg);transform-origin:center;box-shadow:0 30px 70px rgba(0,0,0,.25)}.sector{position:absolute;top:52%;height:18%;border:1px dashed rgba(255,255,255,.35);background:rgba(35,194,131,.18);border-radius:12px;display:flex;align-items:start;justify-content:center;padding-top:8px;color:#fff;text-shadow:0 1px 6px #000;font-weight:900;font-size:12px}.sector.caution{background:rgba(245,181,63,.20)}.sector.danger{background:rgba(255,77,95,.22)}.sector.marina{top:42%;height:23%;background:rgba(255,77,95,.18);border-color:rgba(255,77,95,.8)}.center-line{position:absolute;left:50%;top:0;bottom:0;border-left:3px solid rgba(255,255,255,.9);box-shadow:0 0 12px rgba(255,255,255,.4)}.shore-line{position:absolute;left:0;right:0;top:57%;border-top:3px solid rgba(255,255,255,.88)}.point{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50% 50% 50% 0;rotate:-45deg;display:grid;place-items:center;border:3px solid #fff;box-shadow:0 8px 20px rgba(0,0,0,.35);z-index:3}.point span{rotate:45deg;font-weight:900;font-size:12px}.point.safe{background:var(--green)}.point.caution{background:var(--yellow);color:#0c1a22}.point.danger{background:var(--red)}.point.marina{width:36px;height:36px;background:var(--yellow);color:#081923}.point.selected{outline:4px solid rgba(46,181,255,.65)}.legend{position:absolute;left:18px;bottom:16px;background:rgba(3,17,26,.78);border:1px solid var(--line);border-radius:16px;padding:10px 12px;display:flex;gap:12px;align-items:center;z-index:4}.dot{width:12px;height:12px;border-radius:50%;display:inline-block;margin-left:6px}.safe-bg{background:var(--green)}.caution-bg{background:var(--yellow)}.danger-bg{background:var(--red)}.blue-bg{background:var(--blue)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:11px;border-bottom:1px solid var(--line);text-align:right}.table th{color:#9bd8ff;font-size:13px}.tag{padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.tag.safe{background:rgba(35,194,131,.15);color:#65ffc2}.tag.caution{background:rgba(245,181,63,.16);color:#ffd88a}.tag.danger{background:rgba(255,77,95,.16);color:#ff9aa5}.btn{border:0;border-radius:14px;padding:12px 16px;background:linear-gradient(135deg,#0d8fd3,#31c4ff);color:#fff;font-weight:900}.btn.secondary{background:#14364a;border:1px solid var(--line)}.btn.danger{background:#d93652}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.tab{padding:12px 14px;border:1px solid var(--line);background:#0b2c3e;color:#dff6ff;border-radius:14px;font-weight:800}.tab.active{background:#0b5f89;border-color:#2eb5ff}.page{display:none}.page.active{display:block}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login-box{max-width:430px;width:100%}.field{display:flex;flex-direction:column;gap:7px;margin:10px 0}.field input,.field select,.field textarea{background:#061a27;color:#fff;border:1px solid var(--line);border-radius:13px;padding:12px;outline:none}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.drawer{position:fixed;left:20px;bottom:20px;width:min(420px,calc(100vw - 40px));z-index:40}.hidden{display:none!important}.small{font-size:12px;color:var(--muted)}.mobile-nav{display:none}@media(max-width:900px){.wrap{padding:14px}.cards4,.cols,.form-grid{grid-template-columns:1fr}.hero{display:block}.hero h2{font-size:27px}.topbar{padding:14px}.beach-map{min-height:330px}.point{width:24px;height:24px}.point span{font-size:10px}.sector{font-size:10px}.cards4{grid-template-columns:repeat(2,1fr)}}
/* V2 clean beach map */
.beach-map{background:#091d29;min-height:560px}
.beach-map:before{background:url('assets/beach-map.png') center/100% 100% no-repeat;filter:saturate(1.04) contrast(1.08) brightness(.9)}
.map-3d{transform:none;box-shadow:0 25px 65px rgba(0,0,0,.26)}
.center-line{display:none}.shore-line{display:none}.sector{display:none}
.map-group-label{position:absolute;transform:translate(-50%,-50%);padding:6px 10px;border-radius:999px;background:rgba(1,12,20,.55);border:1px solid rgba(255,255,255,.22);font-weight:900;font-size:12px;color:#fff;text-shadow:0 1px 8px #000;z-index:2;white-space:nowrap}
.danger-zone{position:absolute;height:13%;border:2px dashed rgba(255,77,95,.9);background:rgba(255,77,95,.14);border-radius:14px;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:900;text-shadow:0 1px 7px #000;z-index:1;pointer-events:none}
.point{width:24px;height:24px;border-radius:50%;rotate:0;transform:translate(-50%,-50%);border:3px solid #fff;background:#23c283;box-shadow:0 9px 20px rgba(0,0,0,.45);z-index:5}
.point span{rotate:0;font-size:9px;line-height:1;white-space:nowrap;color:#06202a}
.point.safe span{color:#fff}.point.caution span,.point.danger span{color:#071925}.point.danger span{color:#fff}
.point.marina{width:30px;height:30px;background:#ff4d5f;color:#fff;border-color:#fff}
.public-clean .point span{display:none}.public-clean .point{width:18px;height:18px;border-width:2px}.public-clean .point.marina{width:23px;height:23px}
.admin-map .point:after{content:attr(title);position:absolute;left:50%;top:30px;transform:translateX(-50%);background:rgba(4,18,28,.86);border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:3px 6px;color:#fff;font-size:9px;white-space:nowrap;opacity:0;pointer-events:none;transition:.15s;z-index:8}
.admin-map .point:hover:after,.admin-map .point.selected:after{opacity:1}
.warn-text{color:#ffc1c8;background:rgba(255,77,95,.12);border-right:4px solid #ff4d5f;padding:10px;border-radius:12px}
@media(max-width:900px){.beach-map{min-height:390px}.point{width:18px;height:18px;border-width:2px}.point span{font-size:7px}.point.marina{width:23px;height:23px}.map-group-label{font-size:9px;padding:4px 6px}.danger-zone{font-size:8px}.legend{font-size:11px;gap:7px;left:8px;bottom:8px}}
.ai-box{background:rgba(46,181,255,.08);border:1px solid rgba(46,181,255,.18);border-radius:18px;padding:14px;margin-top:10px}.ai-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.ai-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.ai-kpis span{background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:12px;padding:9px;font-size:12px;color:#dff6ff}.ai-box ul,.rules{margin:10px 0 0;padding-right:22px;line-height:1.9}.rules li{margin:7px 0;color:#dff6ff}@media(max-width:900px){.ai-kpis{grid-template-columns:repeat(2,1fr)}}
/* =========================
   BLUE SENTINEL PUBLIC V2
========================= */

.public-body{
  background:#04141f;
  color:#fff;
}

.public-wrap{
  max-width:1400px;
  margin:auto;
  padding:20px;
}

.public-hero{
  position:relative;
  min-height:420px;
  border-radius:28px;
  overflow:hidden;
  margin-bottom:24px;

  background:
  linear-gradient(
    180deg,
    rgba(0,0,0,.15),
    rgba(0,0,0,.65)
  ),
  url('./assets/beach-cover.jpg');

  background-size:cover;
  background-position:center;
}

.public-hero-overlay{
  padding:70px 50px;
  display:flex;
  flex-direction:column;
  gap:18px;
}

.public-badge{
  width:max-content;
  padding:10px 18px;
  border-radius:999px;

  background:rgba(255,255,255,.12);
  backdrop-filter:blur(14px);
}

.public-hero h2{
  font-size:58px;
  font-weight:800;
  margin:0;
}

.public-hero p{
  font-size:18px;
  color:#d7e7f4;
}

.hero-status-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.hero-status{
  padding:12px 22px;
  border-radius:999px;

  background:#fbbf24;
  color:#000;
  font-weight:700;
}

.hero-shift{
  padding:12px 22px;
  border-radius:999px;

  background:rgba(255,255,255,.1);
  backdrop-filter:blur(12px);
}

.hero-update{
  color:#d7e7f4;
}

/* metrics */

.public-metrics{
  display:grid;
  gap:18px;

  grid-template-columns:
  repeat(auto-fit,minmax(240px,1fr));

  margin-bottom:24px;
}

.public-metric-card{
  background:#0b2232;

  border:1px solid rgba(255,255,255,.08);

  border-radius:24px;

  padding:24px;

  display:flex;
  flex-direction:column;
  gap:8px;
}

.public-metric-card span{
  color:#9ec4d8;
}

.public-metric-card strong{
  font-size:34px;
}

.public-metric-card small{
  color:#7ea1b6;
}

.risk-card{
  background:
  linear-gradient(
    135deg,
    #123349,
    #0b2232
  );
}

/* sections */

.public-section{
  margin-top:24px;
}

.public-section-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:18px;
}

.public-section-head h2{
  margin:0;
}

.map-note{
  color:#9ec4d8;
}

.public-map-shell{
  background:#071b28;
  border-radius:26px;
  padding:20px;
}

.public-premium-map{
  min-height:650px;
}

.public-point-card{
  margin-top:16px;
  background:#0b2232;
  border-radius:20px;
  padding:20px;
}

/* news */

.public-grid-two{
  margin-top:24px;

  display:grid;
  gap:20px;

  grid-template-columns:
  1fr 1fr;
}

.public-panel{
  background:#0b2232;
  border-radius:24px;
  padding:24px;
}

.compact{
  margin-bottom:18px;
}

.public-news-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.public-news-list > *{
  background:#102d40;
  padding:16px;
  border-radius:14px;
}

.public-ai-box{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.public-ai-box > *{
  background:#102d40;
  padding:14px;
  border-radius:14px;
}

.safety-tips{
  margin-top:20px;

  display:grid;
  gap:12px;
}

.safety-tips div{
  background:#123349;
  padding:14px;
  border-radius:12px;
}

/* timeline */

.public-timeline{
  margin-top:24px;
}

.timeline-item{
  display:flex;
  gap:18px;
  align-items:flex-start;

  padding:16px 0;

  border-bottom:1px solid rgba(255,255,255,.08);
}

.timeline-item span{
  min-width:90px;
  font-weight:700;
  color:#39c3f2;
}

.timeline-item.danger span{
  color:#ef4444;
}

.timeline-item p{
  margin:0;
}

/* mobile */

@media(max-width:900px){

  .public-grid-two{
    grid-template-columns:1fr;
  }

  .public-hero{
    min-height:320px;
  }

  .public-hero h2{
    font-size:42px;
  }

  .public-hero-overlay{
    padding:40px 24px;
  }

  .public-premium-map{
    min-height:450px;
  }

}
.powered-by{
  text-align:center;
  padding:18px;
  margin-top:30px;

  color:#8aa9bc;
  font-size:13px;

  border-top:1px solid rgba(255,255,255,.08);
}

.powered-by a{
  color:#39c3f2;
  text-decoration:none;
  font-weight:700;
  letter-spacing:.5px;
}

.powered-by a:hover{
  color:#6fd7ff;
}
#guestFeedback{
  margin-top:32px;
  margin-bottom:40px;
  clear:both;
}

#guestFeedback .public-section-head{
  display:block;
  margin-bottom:22px;
}

.feedback-form{
  display:grid;
  gap:18px;
}

.feedback-form .field{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.feedback-form input,
.feedback-form select,
.feedback-form textarea{
  width:100%;
  box-sizing:border-box;
  background:#061a26;
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  padding:14px 16px;
  font-size:15px;
  outline:none;
}

.feedback-form textarea{
  min-height:130px;
  resize:vertical;
}

.feedback-form input:focus,
.feedback-form select:focus,
.feedback-form textarea:focus{
  border-color:#39c3f2;
  box-shadow:0 0 0 3px rgba(57,195,242,.12);
}

#guestSend{
  width:max-content;
  min-width:180px;
  margin-top:6px;
}

@media(max-width:768px){
  #guestFeedback{
    margin-top:24px;
  }

  #guestSend{
    width:100%;
  }
}.public-hero{
  position:relative;
  overflow:hidden;
  background:#03131d !important;
}

.public-hero-carousel{
  position:absolute;
  inset:0;
  z-index:0;
}

.public-hero-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.05);
  transition:opacity 1s ease, transform 6s ease;
}

.public-hero-slide.active{
  opacity:.55;
  transform:scale(1);
}

.public-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg, rgba(2,10,16,.95), rgba(2,10,16,.45)),
    linear-gradient(180deg, rgba(2,10,16,.25), rgba(2,10,16,.75));
}

.public-hero-overlay{
  position:relative;
  z-index:2;
}
