
:root{
  --nav:#082338;--bg:#f3f6f9;--card:#fff;--text:#1c2834;--muted:#68798a;
  --line:#d5dfe7;--blue:#0875b8;--blue2:#075f91;--danger:#b42318;--warn:#fff4cc;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
header{background:var(--nav);color:#fff;padding:14px 22px 0;position:sticky;top:0;z-index:1000}
.topline{display:flex;justify-content:space-between;align-items:center;gap:15px}
.brand{display:flex;gap:10px;align-items:center}.logo{font-size:30px}.brand b{font-size:24px}.brand small{display:block;color:#c9d7e3}
.diverbox{display:flex;align-items:center;gap:8px}.diverbox select,.diverbox button{padding:8px 10px;border-radius:9px;border:1px solid #557084;background:#fff;color:#17212b}.diverbox button{cursor:pointer;font-size:18px}
nav{display:flex;gap:7px;margin-top:14px;overflow:auto}.nav{border:0;background:transparent;color:#dbe7ef;padding:11px 13px;border-radius:10px 10px 0 0;font-weight:600;white-space:nowrap}.nav.active{background:var(--bg);color:var(--text)}
main{max-width:1100px;margin:auto;padding:20px}.tab{display:none}.tab.active{display:block}
.notice{background:#e7f3fa;border:1px solid #b9dced;color:#174d6c;border-radius:12px;padding:10px 13px;margin-bottom:16px;font-size:14px}
.testbadge{display:inline-flex;align-items:center;gap:7px;background:var(--warn);border:1px solid #ead36d;border-radius:999px;padding:7px 11px;font-weight:700;font-size:13px;margin-bottom:16px}
.title{margin-bottom:16px}.title h1{margin:0 0 5px}.title p{margin:0;color:var(--muted)}.who{color:var(--blue)}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.card+.card{margin-top:14px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}.wide{grid-column:1/-1}
label{font-size:13px;font-weight:650;color:#344453;display:flex;flex-direction:column;gap:6px}
input,select,textarea{font:inherit;font-size:16px;padding:11px 12px;border:1px solid #cbd7e0;border-radius:10px;background:white;width:100%;color:var(--text)}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(8,117,184,.13);border-color:var(--blue)}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:17px}button,.linkbtn{font:inherit;cursor:pointer;border-radius:10px;padding:10px 14px;text-decoration:none}
.primary{border:1px solid var(--blue);background:var(--blue);color:#fff}.secondary{border:1px solid var(--line);background:white;color:var(--text)}
.row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.search{margin-bottom:13px}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}.metric span{display:block;color:var(--muted);font-size:13px}.metric strong{display:block;font-size:27px;margin-top:5px}
.statgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.widecard{grid-column:1/-1}.card h2{font-size:17px;margin:0 0 12px}
.rank{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e7edf1}.rank:last-child{border:0}
.bars{display:flex;flex-direction:column;gap:9px}.barrow{display:grid;grid-template-columns:120px 1fr 45px;gap:10px;align-items:center}.track{height:10px;border-radius:99px;background:#e8eef3}.fill{height:100%;background:var(--blue);border-radius:99px}
.dive{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;margin-bottom:10px;display:grid;grid-template-columns:1fr auto;gap:14px}.dive h3{margin:0 0 5px}.meta{color:var(--muted);font-size:14px;line-height:1.55}
.pill{display:inline-block;background:#e8f4fb;color:#075f91;border-radius:999px;padding:4px 8px;font-size:12px;margin:6px 5px 0 0}
.tagpill{background:#f1ecff;color:#5d3c92}.tools{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap}.smallbtn{padding:7px 9px;border:1px solid var(--line);background:white}.danger{color:var(--danger)}
.empty{text-align:center;padding:28px;color:var(--muted);background:#fff;border:1px dashed var(--line);border-radius:14px}
dialog{border:0;border-radius:16px;width:min(900px,95vw);padding:0;box-shadow:0 20px 70px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(0,0,0,.35)}dialog form{padding:20px}
.chipbox{min-height:47px;border:1px solid #cbd7e0;border-radius:10px;padding:6px 8px;display:flex;gap:6px;flex-wrap:wrap;align-items:center;background:#fff}
.chipbox:focus-within{outline:3px solid rgba(8,117,184,.13);border-color:var(--blue)}
.chipbox input{border:0;outline:0;box-shadow:none!important;padding:5px;min-width:150px;flex:1}
.chip{display:inline-flex;gap:6px;align-items:center;border-radius:999px;background:#e8f4fb;color:#075f91;padding:5px 9px;font-size:13px}
.chip.tag{background:#f1ecff;color:#5d3c92}.chip button{border:0;background:transparent;padding:0;color:inherit;font-weight:800}
.certs{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.check{display:flex;flex-direction:row;align-items:center;gap:7px;background:#f6f9fb;border:1px solid var(--line);border-radius:10px;padding:9px 12px}.check input{width:auto}
.addcert{display:flex;gap:8px;margin-top:12px}.addcert input{flex:1}.certchips{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.certchip{background:#e8f4fb;color:#075f91;border-radius:999px;padding:5px 9px;font-size:13px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:14px}.carditem{border:1px solid var(--line);border-radius:12px;padding:9px}.carditem img{width:100%;height:120px;object-fit:contain;background:#f5f7f8;border-radius:8px}.carditem a{font-size:13px;word-break:break-all}
.muted{color:var(--muted)}#map{height:520px;border-radius:14px;border:1px solid var(--line);overflow:hidden;background:#dde5eb}.maptools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.maplegend{margin-top:10px;color:var(--muted);font-size:13px}.pending{margin-top:12px}.pending .rank button{padding:5px 8px}
.adminbox{max-width:620px;margin:40px auto}.adminlist{margin-top:14px}.adminrow{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:10px 0}.adminrow code{font-size:12px;word-break:break-all}
.backupbox{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:700px){
 header{padding-left:14px;padding-right:14px}.topline{align-items:flex-start;flex-direction:column}.diverbox{width:100%}.diverbox select{flex:1}
 main{padding:14px}.grid,.statgrid{grid-template-columns:1fr}.wide,.widecard{grid-column:auto}.metrics{grid-template-columns:1fr 1fr}.row{flex-direction:column}.barrow{grid-template-columns:95px 1fr 35px}#map{height:430px}
}

/* TukiDive v1.6 — identidad marina */
header{
  background:
    radial-gradient(ellipse at 18% -30%,rgba(129,232,255,.55) 0%,rgba(64,190,224,.20) 30%,transparent 58%),
    radial-gradient(ellipse at 72% -60%,rgba(96,219,242,.25) 0%,transparent 55%),
    linear-gradient(180deg,#087fa1 0%,#07506f 34%,#07344f 66%,#071f35 100%);
  box-shadow:0 7px 24px rgba(3,37,57,.18);
  overflow:hidden
}
header:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;
  background:
    repeating-radial-gradient(ellipse at 30% -40%,transparent 0 34px,rgba(255,255,255,.18) 36px 38px,transparent 40px 76px);
  transform:scaleX(1.4)
}
header .topline,header nav{position:relative;z-index:1}
.brand .logo{filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}
.brand b{letter-spacing:-.6px;text-shadow:0 2px 5px rgba(0,0,0,.25)}
.tagchoices{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.tagchoice{border:1px solid #c9d9e5;background:#f7fafc;color:#405466;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:650}
.tagchoice:hover{border-color:#1787b8;background:#eef9fd}
.tagchoice.selected{background:#dff4ff;border-color:#1183b5;color:#07577b;box-shadow:inset 0 0 0 1px rgba(17,131,181,.08)}
.fixed-diver{display:flex;align-items:center;gap:8px;font-weight:700;color:#fff;padding:8px 4px}
.locked{max-width:620px;margin:70px auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px;box-shadow:0 12px 40px rgba(7,31,53,.10)}
.locked h1{margin-top:0}
#copyPersonalUrl,#rotatePersonalUrl{white-space:nowrap}

/* ===== TukiDive v1.7 — look & feel marino ===== */
:root{--ocean1:#063a54;--ocean2:#075f78;--aqua:#22b8cf;--foam:#dff8ff}
body{
  background:
    radial-gradient(circle at 10% 20%,rgba(34,184,207,.07),transparent 28%),
    radial-gradient(circle at 90% 70%,rgba(8,117,184,.06),transparent 30%),
    linear-gradient(180deg,#f4fafc 0%,#f3f6f9 34%,#f6f8fa 100%);
}
header{
  min-height:148px;
  background:
    radial-gradient(circle at 12% 22%,rgba(255,255,255,.15) 0 2px,transparent 3px),
    radial-gradient(circle at 22% 64%,rgba(255,255,255,.10) 0 3px,transparent 4px),
    radial-gradient(circle at 70% 34%,rgba(255,255,255,.10) 0 2px,transparent 3px),
    radial-gradient(ellipse at 50% -25%,rgba(141,239,255,.72) 0%,rgba(43,184,207,.28) 30%,transparent 58%),
    linear-gradient(180deg,#0d91aa 0%,#07637f 35%,#07435f 66%,#06283f 100%);
  border-bottom:1px solid rgba(255,255,255,.15)
}
header:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:58px;pointer-events:none;opacity:.24;
  background:
    radial-gradient(ellipse at 10% 100%,#031b2c 0 12%,transparent 13%),
    radial-gradient(ellipse at 28% 110%,#031b2c 0 18%,transparent 19%),
    radial-gradient(ellipse at 53% 120%,#031b2c 0 15%,transparent 16%),
    radial-gradient(ellipse at 79% 105%,#031b2c 0 19%,transparent 20%),
    radial-gradient(ellipse at 96% 115%,#031b2c 0 15%,transparent 16%);
}
.brand .logo{font-size:38px}
.brand b{font-size:29px}
.brand small{font-size:13px;color:#d7f2f8}
nav{margin-top:22px}
.nav{font-size:15px;color:#e5f7fb}
.nav.active{box-shadow:0 -2px 0 rgba(255,255,255,.25)}
.title h1{letter-spacing:-.7px}
.metric,.card,.funmetric{box-shadow:0 5px 18px rgba(8,62,88,.035)}
.distanceMetrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 14px}
.funmetric{background:linear-gradient(145deg,#fff,#f3fbfe);border:1px solid #c9e5ef;border-radius:15px;padding:16px}
.funmetric span{display:block;color:#557080;font-size:13px}
.funmetric strong{display:block;font-size:24px;margin:6px 0 3px;color:#075f78}
.funmetric small{color:var(--muted)}
.funtext{font-size:16px;line-height:1.55;color:#3b5564}
.basepanel{margin-bottom:12px;background:linear-gradient(135deg,#fff,#effaff)}
.basehead{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.basehead h2{margin-bottom:4px}.basehead p{margin:0}
.basecontrols{display:grid;grid-template-columns:minmax(240px,1fr) auto auto auto auto;gap:8px;margin-top:12px}
.mapDistanceStrip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}
.mapDistanceStrip>div{background:#073f5b;color:#fff;padding:12px 14px;border-radius:12px}
.mapDistanceStrip span{display:block;color:#ccecf5;font-size:12px}.mapDistanceStrip strong{display:block;font-size:19px;margin-top:3px}
.mapDistanceStrip small{grid-column:1/-1;color:var(--muted);font-size:11px}
#map{height:560px;border-radius:18px;border:1px solid #b9dce8;box-shadow:0 9px 30px rgba(7,58,84,.08)}
.mapLists{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.mapLists .card{margin-top:0}
.siteActions{display:flex;gap:6px;flex-wrap:wrap}.siteActions button{padding:6px 9px;font-size:12px}
.locationMode{background:#fff5cc!important;border-color:#d5aa22!important;color:#6b5100!important}
.maplegend{padding:8px 10px;border-radius:9px;background:#edf8fc;color:#416070}
.leaflet-container{font-family:inherit}
.leaflet-popup-content-wrapper{border-radius:13px}
@media(max-width:900px){
 .basecontrols{grid-template-columns:1fr 1fr}.basecontrols input{grid-column:1/-1}
 .distanceMetrics,.mapDistanceStrip{grid-template-columns:1fr}
 .mapDistanceStrip small{grid-column:auto}
 .mapLists{grid-template-columns:1fr}
}
@media(max-width:700px){
 header{min-height:auto}.brand b{font-size:25px}.brand .logo{font-size:32px}
 .distanceMetrics{grid-template-columns:1fr}
 #map{height:470px}
}

/* v1.7 look marino + mapa único */
header{background:linear-gradient(180deg,rgba(3,28,47,.82),rgba(4,43,68,.94)),radial-gradient(circle at 18% 15%,#1597b8 0,transparent 32%),radial-gradient(circle at 78% 10%,#0b6b8a 0,transparent 35%),#062b45;box-shadow:0 5px 18px rgba(0,35,55,.18)}
.brand .logo{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.brand b{letter-spacing:.2px}
#map{height:520px;border-radius:18px;border:1px solid var(--line);overflow:hidden;background:#b8dce8}.leaflet-container{background:#b8dce8}.locationMode{outline:5px solid rgba(213,170,34,.35);cursor:crosshair!important}
.basepanel{margin-bottom:14px}.basehead{display:flex;justify-content:space-between;align-items:center;gap:12px}.basecontrols{display:flex;gap:8px;flex-wrap:wrap}.basecontrols input{flex:1;min-width:250px}.mapDistanceStrip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.mapDistanceStrip>div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px}.mapDistanceStrip span,.mapDistanceStrip strong{display:block}.mapDistanceStrip strong{font-size:20px;margin-top:4px}.mapDistanceStrip small{grid-column:1/-1;color:var(--muted)}.mapLists{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.distanceMetrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.funmetric{background:linear-gradient(180deg,#fff,#f3fbff);border:1px solid #cce2ee;border-radius:14px;padding:15px}.funmetric span,.funmetric small,.funmetric strong{display:block}.funmetric strong{font-size:24px;margin:6px 0}.funmetric small{color:var(--muted)}.funtext{font-size:18px;line-height:1.45}.tagchoices{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.tagchoice{padding:7px 10px;border:1px solid #d7c9f2;background:#faf7ff;color:#5d3c92;border-radius:999px}.tagchoice.selected{background:#5d3c92;color:white}.fixed-diver{font-weight:700}
@media(max-width:760px){.mapDistanceStrip,.distanceMetrics,.mapLists{grid-template-columns:1fr}.mapDistanceStrip small{grid-column:auto}#map{height:430px}}

/* v1.8 visual refresh */
body{
  background:
    linear-gradient(rgba(247,251,253,.94),rgba(247,251,253,.98)),
    url("https://images.unsplash.com/photo-1544551763-46a013bb70d5?auto=format&fit=crop&w=2000&q=70") center top / cover fixed;
}
header{
  min-height:155px;
  background:
    linear-gradient(180deg,rgba(3,36,58,.12),rgba(3,31,54,.72)),
    url("https://images.unsplash.com/photo-1546026423-cc4642628d2b?auto=format&fit=crop&w=2000&q=80") center 45% / cover no-repeat;
}
header:before{display:none}
.brand b{font-size:34px}
main{backdrop-filter:blur(1.5px)}
.card,.dive-card,.stats-card,.dialog-card{box-shadow:0 10px 28px rgba(11,64,90,.07)}
.bulkbar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:#eef8fc;border:1px solid #c9e5f1;padding:10px 12px;border-radius:12px;margin:8px 0 14px
}
.dive-select{
  width:20px;height:20px;margin-right:10px;vertical-align:middle;accent-color:#0e83b5
}
.copy-preview{max-height:320px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fafcfd}
.copy-preview .rowitem{padding:8px;border-bottom:1px solid #edf2f5}
.cert-add-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.cert-add-row select,.cert-add-row input{min-width:180px;flex:1}
.stats-mini{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 14px}
.stats-mini .pillstat{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px}
.leaflet-container{background:#b8d9e6}
