:root{
  --bg:#f4f3ef;
  --panel:#ffffff;
  --ink:#16181d;
  --muted:#6b7280;
  --line:#e6e4de;
  --accent:#f97316;
  --accent-d:#ea580c;
  --navy:#1e2a4a;
  --red:#e11d48;
  --amber:#f59e0b;
  --blue:#2563eb;
  --green:#16a34a;
  --shadow:0 8px 30px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--bg);overflow:hidden;
}
button{font-family:inherit;cursor:pointer}

/* ===== Nav ===== */
.nav{height:62px;display:flex;align-items:center;justify-content:flex-start;padding:0 18px;background:var(--panel);border-bottom:1px solid var(--line);position:relative;z-index:1200}
.nav-left{display:flex;align-items:center;gap:26px}
.nav-links{margin-left:26px;margin-right:auto}
.brand{display:flex;align-items:center;gap:10px}
.brand-mark{width:34px;height:34px;border-radius:9px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:800;font-size:18px}
.brand-name{font-weight:800;letter-spacing:.5px;font-size:15px}
.brand-name-thin{font-weight:400;opacity:.55;margin-left:3px}
.nav-links{display:flex;gap:4px}
.nav-link{border:0;background:transparent;color:var(--ink);font-size:14.5px;font-weight:600;padding:8px 12px;border-radius:8px;opacity:.7}
.nav-link:hover{background:#f0eee9;opacity:1}
.nav-link.active{background:#111;color:#fff;opacity:1}
.nav-right{display:flex;align-items:center;gap:10px}
.icon-btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 10px;font-size:15px}
.cta{border:0;background:var(--accent);color:#fff;font-weight:700;font-size:14px;padding:10px 16px;border-radius:10px;box-shadow:0 2px 8px rgba(249,115,22,.35)}
.cta:hover{background:var(--accent-d)}
.cta-ghost{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none}
.cta-ghost:hover{background:#f0eee9}
.mobile-fab{display:none}

/* ===== Layout ===== */
.layout{display:flex;height:calc(100% - 62px)}
.sidebar{width:380px;min-width:380px;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}
.map-wrap{flex:1;position:relative}
#map{position:absolute;inset:0}

.sidebar-head{display:flex;gap:14px;padding:20px 20px 12px}
.bignum{display:flex;flex-direction:column;align-items:flex-start;line-height:.9}
.bignum-value{font-size:54px;font-weight:800;letter-spacing:-2px}
.bignum-arrow{color:var(--accent);font-size:20px;margin-top:-6px}
.kicker{font-size:10px;letter-spacing:1px;color:var(--accent);font-weight:700;margin:0 0 6px}
.bignum-text h1{font-size:19px;line-height:1.25;margin:0;font-weight:700}
.bignum-text h1 em{font-style:italic;color:var(--accent)}
.sub{font-size:12px;color:var(--muted);margin:8px 0 0}

.search-wrap{margin:6px 16px 12px;position:relative}
.search-ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:13px;opacity:.5}
#search{width:100%;border:1px solid var(--line);background:#faf9f6;border-radius:11px;padding:11px 12px 11px 34px;font-size:14px;outline:none}
#search:focus{border-color:#cfcdc6;background:#fff}

.chips{display:flex;flex-wrap:wrap;gap:7px;padding:0 16px 14px;border-bottom:1px solid var(--line)}
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600;color:#333}
.chip .cdot{width:8px;height:8px;border-radius:50%}
.chip .cnt{color:var(--muted);font-weight:600}
.chip.active{background:#111;color:#fff;border-color:#111}
.chip.active .cnt{color:#bbb}

.list{flex:1;overflow-y:auto;padding:6px 8px 16px}
.group-label{display:flex;justify-content:space-between;font-size:10.5px;letter-spacing:1px;color:var(--muted);font-weight:700;padding:14px 10px 6px;text-transform:uppercase}
.item{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:11px;cursor:pointer}
.item:hover{background:#f4f2ec}
.item-ico{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:#fff;font-size:15px;flex:none;font-weight:700;overflow:hidden}
.item-ico img{width:100%;height:100%;object-fit:cover}
.item-body{min-width:0;flex:1}
.item-name{font-size:14px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.item-meta{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;white-space:nowrap}
.badge.sin{background:#fde7ec;color:#b4123f}
.badge.salvo{background:#e3f6ea;color:#0f7a37}
.badge.parcial{background:#fef3e2;color:#b45309}
.badge.severo{background:#ffedd5;color:#c2410c}
.badge.total{background:#fde7e7;color:#b91c1c}
.badge.temblor{background:#ede9fe;color:#6d28d9}
.empty{padding:30px 16px;text-align:center;color:var(--muted);font-size:13px}
.sidebar-foot{font-size:11px;color:var(--muted);line-height:1.5;padding:12px 18px;border-top:1px solid var(--line);background:#faf9f6}
.sidebar-foot strong{color:#444}

/* ===== Markers ===== */
.pin-wrap{position:relative;width:30px;height:30px}
.pin{width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2.5px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.3);display:grid;place-items:center}
.pin span{transform:rotate(45deg);font-size:13px}
.pin-check{position:absolute;top:-5px;right:-5px;width:15px;height:15px;background:#2563eb;border:2px solid #fff;border-radius:50%;color:#fff;font-size:9px;font-weight:900;font-style:normal;display:grid;place-items:center;line-height:1;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.vchk{display:inline-grid;place-items:center;width:15px;height:15px;background:#2563eb;color:#fff;border-radius:50%;font-size:9px;font-weight:900;vertical-align:middle;margin-left:5px;position:relative;top:-1px}

.pick-banner{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:800;background:#111;color:#fff;border-radius:12px;padding:11px 16px;display:none;align-items:center;gap:14px;font-size:13.5px;box-shadow:var(--shadow)}
.pick-banner.show{display:flex}
.pick-banner button{border:0;background:#333;color:#fff;border-radius:8px;padding:6px 11px;font-size:12px}

/* ===== Modal shell ===== */
.modal-overlay{position:fixed;inset:0;background:rgba(20,22,26,.55);z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding:34px 18px;overflow-y:auto}
.modal-overlay[hidden]{display:none}
.modal{background:#fff;width:100%;max-width:460px;border-radius:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.modal-close{position:absolute;top:16px;right:16px;border:0;background:#f1efe9;border-radius:9px;width:34px;height:34px;font-size:15px;z-index:5}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}
.modal-head h2{margin:0;font-size:18px}
.modal-body{padding:18px 20px}
.modal-body .info-body p{font-size:13.5px;line-height:1.6;color:#333}
.modal-body .info-body ul{font-size:13.5px;line-height:1.7;color:#333;padding-left:18px;margin:8px 0}
.guide h4{font-size:14.5px;font-weight:800;color:var(--navy);margin:18px 0 6px}
.guide h4:first-of-type{margin-top:8px}
.guide .lead{font-size:13px;color:var(--accent-d);font-weight:600;margin:0 0 4px}
.guide ul{margin:4px 0 0}
.guide p{margin:4px 0 0}
.crack-box{border-radius:12px;padding:12px 14px;margin:10px 0 0}
.crack-box.danger{background:#fdecec;border:1px solid #f6c6c6}
.crack-box.safe{background:#eaf7ef;border:1px solid #bfe6cd}
.crack-tag{display:inline-block;font-weight:800;font-size:13px;margin-bottom:4px}
.crack-box.danger .crack-tag{color:#b91c1c}
.crack-box.safe .crack-tag{color:#0f7a37}
.crack-box ul{margin:4px 0 0;padding-left:18px}
.crack-urgent{font-weight:600;color:#b91c1c}
.contact-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.contact-row:last-child{border-bottom:0}
.contact-name{font-size:13.5px;font-weight:600}
.contact-num{font-size:14px;font-weight:700;color:var(--accent-d);text-decoration:none}

/* flag bar (Venezuela) */
.flag-bar{height:5px;background:linear-gradient(90deg,#FFCC00 0 33%,#00247D 33% 66%,#CF142B 66% 100%)}
.report-card.theme-dark .flag-bar{display:none}

/* ===== Report form ===== */
#report-content{padding:26px 26px 28px}
.rtitle{margin:0;font-size:27px;font-weight:800;letter-spacing:-.5px;color:var(--navy)}
.rtitle.serif{font-family:Georgia,"Times New Roman",serif;font-weight:700}
.rsub{margin:8px 0 22px;font-size:14px;color:var(--muted);line-height:1.5}
.field-label{display:block;font-size:13px;font-weight:700;color:#2b3340;margin:16px 0 7px}
.field-label .req{color:var(--red)}
.rform input,.rform textarea,.rform select{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;font-size:14.5px;outline:none;background:#fff;font-family:inherit;color:var(--ink)}
.rform textarea{resize:vertical}
.rform input:focus,.rform textarea:focus,.rform select:focus{border-color:var(--navy)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* dropzone */
.dropzone{border:2px dashed #cfd4dc;border-radius:14px;padding:20px;display:flex;align-items:center;gap:16px;cursor:pointer;background:#fafbfc;position:relative;overflow:hidden}
.dropzone:hover{border-color:var(--navy)}
.dz-icon{width:54px;height:54px;border-radius:50%;background:#eef1f8;display:grid;place-items:center;font-size:22px;color:var(--navy);flex:none}
.dz-text{display:flex;flex-direction:column;gap:3px}
.dz-text strong{font-size:15px;color:var(--navy)}
.dz-text span{font-size:12.5px;color:var(--muted)}
.dz-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dropzone.has-photo{padding:0;height:180px;border-style:solid}

/* contact highlight box */
.contact-box{background:#f5f7fb;border:1px solid #e6eaf2;border-radius:14px;padding:14px 16px 16px;margin-top:18px}
.contact-box .field-label{margin-top:0}

/* toggles */
.toggle-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.toggle-row.intensity{grid-template-columns:1fr 1fr}
.tg{display:flex;flex-direction:column;align-items:center;gap:6px;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:14px 8px;font-size:13.5px;font-weight:600;color:#2b3340}
.tg .dot{width:11px;height:11px;border-radius:50%}
.tg.active{border-color:var(--navy);background:#f0f3fa}

.geo-wrap{position:relative}
.geo-list{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);z-index:20;max-height:220px;overflow-y:auto;display:none}
.geo-list.show{display:block}
.geo-item{padding:10px 13px;font-size:13px;cursor:pointer;border-bottom:1px solid #f1efe9;line-height:1.35}
.geo-item:hover{background:#f4f2ec}
.geo-empty{padding:12px 13px;font-size:12.5px;color:var(--muted)}
.geo-manual{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:12.5px;color:var(--accent-d);background:none;border:0;font-weight:600;padding:0}

.loc-note{font-size:12.5px;color:var(--green);font-weight:600;margin-top:8px}
.mini-map{height:200px;margin-top:10px;border:1px solid var(--line);border-radius:14px;overflow:hidden;z-index:0}
.loc-hint{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--accent-d);font-weight:500;margin-top:9px}
.report-card.theme-dark .mini-map{border-color:#262a32}

.submit-btn{width:100%;border:0;background:var(--accent);color:#fff;font-weight:700;font-size:15.5px;padding:15px;border-radius:13px;margin-top:24px}
.submit-btn:hover{background:var(--accent-d)}
.link-back{display:block;width:100%;text-align:center;border:0;background:none;color:var(--muted);font-size:13px;font-weight:600;margin-top:12px;padding:6px}

/* type chooser */
.chooser-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
.choice{display:flex;flex-direction:column;gap:8px;align-items:flex-start;border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:16px;text-align:left}
.choice:hover{border-color:var(--navy);background:#fafbff}
.choice .ci{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-size:19px;color:#fff}
.choice strong{font-size:15px}
.choice span{font-size:12px;color:var(--muted);line-height:1.4}

/* ===== Dark theme (daños) ===== */
.report-card.theme-dark{background:#0e1014;color:#e8eaed}
.report-card.theme-dark .modal-close{background:#1c1f26;color:#e8eaed}
.report-card.theme-dark .rtitle{color:#fff}
.report-card.theme-dark .rsub{color:#9aa0aa}
.report-card.theme-dark .field-label{color:#cbd0d8}
.report-card.theme-dark .rform input,
.report-card.theme-dark .rform textarea,
.report-card.theme-dark .rform select{background:#15181e;border-color:#262a32;color:#e8eaed}
.report-card.theme-dark .rform input:focus,
.report-card.theme-dark .rform textarea:focus{border-color:#ef4444}
.report-card.theme-dark .dropzone{background:#15181e;border-color:#2c313a}
.report-card.theme-dark .dz-icon{background:#22262e;color:#cbd0d8}
.report-card.theme-dark .dz-text strong,.report-card.theme-dark .dz-text span{color:#cbd0d8}
.report-card.theme-dark .tg{background:#15181e;border-color:#262a32;color:#cbd0d8}
.report-card.theme-dark .tg.active{background:#2a1416;border-color:#ef4444;color:#fff}
.report-card.theme-dark .geo-list{background:#15181e;border-color:#262a32}
.report-card.theme-dark .geo-item{border-color:#22262e;color:#d6dae0}
.report-card.theme-dark .geo-item:hover{background:#1d212a}
.report-card.theme-dark .geo-manual{color:#f87171}
.report-card.theme-dark .submit-btn{background:#ef4444}
.report-card.theme-dark .submit-btn:hover{background:#dc2626}
.report-card.theme-dark .link-back{color:#7b818c}

/* ===== Detail modal ===== */
.detail-overlay{align-items:flex-start}
.detail-card{width:100%;max-width:760px;border-radius:18px;overflow:hidden}
.detail-card.theme-dark{background:#0b0c0f;color:#e8eaed}
.detail-card.theme-light{background:#fff;color:var(--ink)}
.detail-back{display:inline-flex;align-items:center;gap:8px;border:0;background:none;font-size:14px;font-weight:600;padding:16px 18px;color:inherit;opacity:.85}
.detail-photo{width:100%;aspect-ratio:16/9;background:#1a1d22;overflow:hidden;border-radius:16px}
.detail-card.theme-light .detail-photo{background:#eee}
.detail-photo img{width:100%;height:100%;object-fit:cover}
.detail-photo.empty{display:grid;place-items:center;color:#6b7280;font-size:13px}
.detail-banner{width:100%;height:96px;border-radius:16px;display:grid;place-items:center}
.detail-banner span{font-size:44px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}
.detail-inner{padding:18px 22px 24px}
.detail-badges{display:flex;gap:10px;margin:18px 0 12px;flex-wrap:wrap}
.dbadge{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;padding:6px 13px;border-radius:999px}
.dbadge .dot{width:9px;height:9px;border-radius:50%}
.dbadge.parcial{background:#3a2e10;color:#f5b942}
.dbadge.severo{background:#3a2410;color:#f59e42}
.dbadge.total{background:#3a1414;color:#f87171}
.dbadge.sin{background:#3a1420;color:#f871a0}
.dbadge.salvo{background:#0f2e1c;color:#5fd99a}
.dbadge.neutral{background:#1c1f26;color:#cbd0d8}
.dbadge.temblor{background:#241a3a;color:#c4b5fd}
.detail-card.theme-light .dbadge.parcial{background:#fef3e2;color:#b45309}
.detail-card.theme-light .dbadge.severo{background:#ffedd5;color:#c2410c}
.detail-card.theme-light .dbadge.total{background:#fde7e7;color:#b91c1c}
.detail-card.theme-light .dbadge.sin{background:#fde7ec;color:#b4123f}
.detail-card.theme-light .dbadge.salvo{background:#e3f6ea;color:#0f7a37}
.detail-card.theme-light .dbadge.neutral{background:#f0eee9;color:#555}
.detail-card.theme-light .dbadge.temblor{background:#ede9fe;color:#6d28d9}
.detail-title{font-size:30px;font-weight:800;margin:0 0 6px;letter-spacing:-.5px}
.detail-addr{font-size:14px;line-height:1.5;opacity:.7;margin:0 0 16px}
.detail-desc{font-size:15px;line-height:1.6;margin:0 0 20px}
.detail-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
.dcard{border:1px solid;border-radius:13px;padding:13px 15px}
.detail-card.theme-dark .dcard{border-color:#23262d;background:#111318}
.detail-card.theme-light .dcard{border-color:var(--line);background:#faf9f6}
.dcard small{display:block;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;opacity:.55;margin-bottom:5px}
.dcard strong{font-size:15px}
.detail-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn-primary{border:0;background:#ef4444;color:#fff;font-weight:700;font-size:14px;padding:13px 18px;border-radius:12px}
.detail-card.theme-light .btn-primary{background:var(--accent)}
.btn-ghost{border:1px solid;background:none;color:inherit;font-weight:700;font-size:14px;padding:13px 18px;border-radius:12px;opacity:.85}
.detail-card.theme-dark .btn-ghost{border-color:#2c313a}
.detail-card.theme-light .btn-ghost{border-color:var(--line)}

/* ===== Share / admin ===== */
.share-label{display:block;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;opacity:.55;margin:4px 0 8px}
.share-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.share-btn{border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:700;font-size:13px;padding:10px 16px;border-radius:10px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.share-btn.wa{background:#25d366;border-color:#25d366;color:#fff}
.share-btn.x{background:#111;border-color:#111;color:#fff}
.share-btn.copy:hover{border-color:var(--accent);color:var(--accent)}
.admin-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;padding:12px;border:1px dashed #c7cdd6;border-radius:12px;background:#f7f9fc}
.admin-btn{border:0;font-weight:700;font-size:13px;padding:10px 16px;border-radius:10px;cursor:pointer}
.admin-btn.verify{background:#2563eb;color:#fff}
.admin-btn.del{background:#fde7e7;color:#b91c1c}
.admin-btn:disabled{opacity:.5;cursor:default}

/* ===== Responsive ===== */
.sidebar.hidden{display:none}
@media(max-width:820px){
  /* --- Nav: row 1 = brand + actions, row 2 = full-width scrollable links --- */
  .nav{height:auto;flex-wrap:wrap;align-items:center;padding:8px 10px 0;gap:8px}
  .nav-left{flex:1;min-width:0;gap:10px;order:0}
  .brand-name{display:none}
  .nav-right{order:1;margin-left:auto;gap:8px}
  .nav-links{order:2;flex-basis:100%;width:100%;margin:0;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 0 6px}
  .nav-links::-webkit-scrollbar{display:none}
  .nav-link{flex:none;white-space:nowrap;padding:8px 12px;font-size:14px}
  .cta{flex:none;padding:9px 13px;font-size:13px}
  .cta-ghost{padding:9px 11px}

  /* --- Map-first layout: search + chips on top, map fills, list toggles --- */
  .layout{flex-direction:column}
  .sidebar{width:100%;min-width:0;flex:none;border-right:0;border-bottom:1px solid var(--line)}
  .sidebar-head,.sidebar-foot{display:none}
  .search-wrap{margin:12px 14px 10px}
  .chips{border-bottom:0;padding:0 14px 12px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .chips::-webkit-scrollbar{display:none}
  .chip{flex:none}
  .list{display:none}
  .map-wrap{flex:1;min-height:0}

  body.view-list .sidebar{flex:1;min-height:0}
  body.view-list .list{display:block;flex:1;overflow-y:auto;padding-bottom:84px}
  body.view-list .map-wrap{display:none}

  .mobile-fab{display:inline-flex;align-items:center;gap:8px;position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:1000;background:#111;color:#fff;border:0;border-radius:999px;padding:13px 24px;font-size:14.5px;font-weight:700;box-shadow:0 6px 20px rgba(0,0,0,.35)}

  /* --- Modals / detail --- */
  .grid2,.detail-cards,.chooser-grid{grid-template-columns:1fr}
  .detail-title{font-size:24px}
  .rtitle{font-size:23px}
  .modal-overlay{padding:14px 10px}
  #report-content{padding:22px 18px 24px}
  .detail-inner{padding:16px 16px 22px}
}
