:root{--ink:#243438;--muted:#6e7b7f;--teal:#0b666d;--teal2:#0e7a82;--mint:#ddf3f1;--beige:#b8ada3;--bg:#f7faf9;--line:#dce8e6;--red:#d84d4d;--red2:#f06a5f;--green:#178560;--amber:#c37b21;--shadow:0 18px 50px rgba(16,72,78,.10);--shadow2:0 8px 24px rgba(16,72,78,.08)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:linear-gradient(180deg,#f9fcfb,#f4f8f7 58%,#f7f8fb);color:var(--ink)}button,input,select,textarea{font:inherit}.wrap{width:min(1120px,calc(100% - 28px));margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 0 12px;gap:14px}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brandIcon{width:58px;height:58px;filter:drop-shadow(0 8px 18px rgba(11,102,109,.13));flex:none}.brandCopy strong{display:block;font-size:25px;line-height:1;letter-spacing:.04em;color:var(--teal)}.brandCopy small{display:block;margin-top:5px;color:var(--muted);font-size:12px}.topActions{display:flex;align-items:center;gap:8px}.pill{display:inline-flex;align-items:center;border:1px solid var(--line);background:#ffffffd9;padding:10px 13px;border-radius:999px;font-weight:800}.installBtn{display:none}.btn{border:0;border-radius:16px;padding:14px 18px;font-weight:850;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:.15s ease}.btn:hover{transform:translateY(-1px)}.primary{background:linear-gradient(135deg,var(--teal),var(--teal2));color:#fff;box-shadow:0 10px 22px rgba(11,102,109,.22)}.danger{background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;box-shadow:0 12px 25px rgba(216,77,77,.22)}.light{background:#fff;color:var(--ink);border:1px solid var(--line)}.dark{background:#26383c;color:#fff}.successBtn{background:#e7f7f1;color:#0b6d4f;border:1px solid #bfe4d6}.sm{padding:9px 12px;border-radius:12px;font-size:13px}.block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.card{background:#fffffff2;border:1px solid #dce8e6dd;box-shadow:var(--shadow);border-radius:24px}.auth{width:min(470px,100%);margin:48px auto 0;padding:25px}.auth h1{font-size:34px;letter-spacing:-.045em;margin:0 0 8px}.lead{font-size:16px;line-height:1.55;color:var(--muted);margin:0}.tabs{display:flex;gap:8px;background:#edf5f4;padding:5px;border-radius:14px;margin:18px 0}.tabs button{flex:1;border:0;padding:10px;border-radius:11px;font-weight:800;background:transparent;color:#5e7175}.tabs button.active{background:#fff;color:var(--teal);box-shadow:var(--shadow2)}label{display:block;font-size:13px;font-weight:850;color:#3f5357;margin:14px 0 7px}.field,.select,.textarea{width:100%;border:1px solid #d7e4e2;background:#fff;color:var(--ink);border-radius:16px;padding:14px 15px;outline:none;font-size:16px}.textarea{resize:vertical;min-height:130px;line-height:1.45}.field:focus,.select:focus,.textarea:focus{border-color:#63aeb2;box-shadow:0 0 0 4px rgba(11,102,109,.09)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.msg{display:none;margin-top:12px;padding:11px 13px;border-radius:14px;font-size:13px;font-weight:750}.msg.error{border:1px solid #f1bcbc;background:#fff0f0;color:#a72424}.msg.ok{border:1px solid #b8e2d3;background:#effbf6;color:#12684e}.footer{padding:28px 0 34px;text-align:center;color:#839194;font-size:12px}.dash{display:grid;grid-template-columns:.88fr 1.12fr;gap:18px;padding-top:12px}.panel{padding:22px}.hello{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.hello h1{font-size:30px;letter-spacing:-.045em;margin:0}.hello p{margin:5px 0 0;color:var(--muted)}.sosZone{padding:22px;text-align:center;background:linear-gradient(145deg,#fff,#fff7f6);border:1px solid #f0d8d4;border-radius:22px}.sosButton{width:190px;height:190px;border-radius:50%;border:12px solid #fff;box-shadow:0 18px 45px rgba(216,77,77,.25),0 0 0 1px #f1d8d5;background:linear-gradient(145deg,#e34f4f,#f07163);color:#fff;font-size:29px;font-weight:950;letter-spacing:-.03em;cursor:pointer}.sosButton:active{transform:scale(.98)}.sosButton.active{animation:pulse 1.8s infinite}@keyframes pulse{50%{box-shadow:0 18px 45px rgba(216,77,77,.32),0 0 0 16px rgba(216,77,77,.08)}}.sosHint{font-size:13px;color:var(--muted);margin-top:13px;line-height:1.45}.statusBox{margin-top:14px;border:1px solid var(--line);background:#f8fbfa;border-radius:16px;padding:14px;text-align:left}.statusLine{display:flex;align-items:center;gap:9px;font-weight:850}.dot{width:10px;height:10px;border-radius:50%;background:#9daaad}.dot.live{background:#23a778;box-shadow:0 0 0 6px rgba(35,167,120,.12)}.dot.alert{background:#e35353;box-shadow:0 0 0 6px rgba(227,83,83,.12)}.mini{font-size:12px;color:var(--muted);margin-top:5px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.sectionHead{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.sectionHead h2{margin:0;font-size:23px;letter-spacing:-.035em}.sectionHead p{margin:4px 0 0;color:var(--muted);font-size:13px}.mapCard{overflow:hidden;padding:0}.mapHeader{padding:17px 18px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.mapHeader strong{font-size:18px}.mapMeta{font-size:12px;color:var(--muted)}#map{height:410px;background:#eaf0ef}.mapFooter{padding:12px 16px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.nav button{border:1px solid var(--line);background:#fff;color:#4a5d61;border-radius:13px;padding:10px 12px;font-weight:800}.nav button.active{background:var(--teal);color:#fff;border-color:var(--teal)}.list{display:grid;gap:10px}.item{border:1px solid var(--line);background:#fff;border-radius:17px;padding:14px}.itemTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.item h3{margin:0;font-size:16px}.item p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.badge{display:inline-flex;padding:6px 8px;border-radius:999px;background:#edf7f6;color:var(--teal);font-size:11px;font-weight:900}.badge.red{background:#fff0ef;color:#b93f3f}.badge.amber{background:#fff7e9;color:#9e651c}.itemActions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.empty{border:1px dashed #cadbd8;border-radius:17px;padding:20px;text-align:center;color:var(--muted);background:#fbfdfc}.modalWrap{position:fixed;inset:0;background:rgba(24,42,46,.52);z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding:14px}.modal{width:min(560px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:25px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.modal h2{margin:0 0 7px;font-size:25px;letter-spacing:-.04em}.modal p{color:var(--muted);line-height:1.5}.countdown{text-align:center;font-size:68px;font-weight:950;color:var(--red);margin:16px 0}.alertHero{background:linear-gradient(145deg,#fff0ef,#fff);border:1px solid #f3ceca;border-radius:20px;padding:18px;margin-bottom:12px}.alertHero h2{color:#9b3030}.alertHero .big{font-size:19px;font-weight:900}.infoNote{background:#f2f8f7;border:1px solid var(--line);padding:12px 13px;border-radius:14px;color:#52666a;font-size:13px;line-height:1.45}.profileGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profileBox{background:#f9fbfb;border:1px solid var(--line);border-radius:16px;padding:13px}.profileBox small{display:block;color:var(--muted)}.profileBox strong{display:block;margin-top:4px}.hidden{display:none!important}@media(max-width:880px){.dash{grid-template-columns:1fr}.mapCard{order:-1}#map{height:360px}}@media(max-width:600px){.wrap{width:calc(100% - 20px)}.topbar{padding-top:12px;flex-wrap:wrap}.topActions{width:100%;justify-content:space-between}.brandIcon{width:50px;height:50px}.brandCopy strong{font-size:22px}.grid2,.profileGrid{grid-template-columns:1fr}.auth{margin-top:25px}.panel{padding:16px}.sosButton{width:170px;height:170px;font-size:26px}.hello{align-items:flex-start}.hello h1{font-size:27px}#map{height:330px}.modalWrap{padding:0;align-items:flex-end}.modal{border-radius:25px 25px 0 0}.sectionHead{align-items:flex-start;flex-direction:column}}
.alertMapCard{grid-column:1/-1;overflow:hidden;border-radius:24px}
.alertMapCard .mapHeader{background:#fff;padding:16px 18px 12px}
.alertMapCard #map{height:460px}
.alertMapCard .mapFooter{background:#fff;padding:12px 16px 16px}
.cercaMapPinWrap{background:transparent;border:0}
.cercaMapPin{position:relative;width:34px;height:34px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--teal);border:4px solid #fff;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.cercaMapPin span{position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;left:8px;top:8px}
@media(max-width:880px){.alertMapCard #map{height:390px}}
@media(max-width:600px){.alertMapCard #map{height:340px}.alertMapCard .mapFooter{align-items:flex-start}}

.sosButton{
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
  touch-action:none;
  -webkit-tap-highlight-color:transparent;
}
.sosButton.pressing{transform:scale(.96);box-shadow:0 10px 30px rgba(216,77,77,.28),0 0 0 14px rgba(216,77,77,.08)}
.enterpriseBrand{display:flex;align-items:center;gap:12px;padding:13px 14px;margin-bottom:14px;border:1px solid var(--line);border-radius:18px;background:var(--mint)}
.enterpriseLogo{width:58px;height:58px;flex:0 0 58px;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:var(--shadow2)}
.enterpriseLogo img{width:100%;height:100%;object-fit:contain;padding:5px}
.enterpriseBrandCopy{min-width:0}
.enterpriseBrandCopy strong{display:block;font-size:18px;line-height:1.15;color:var(--teal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.enterpriseBrandCopy span{display:block;margin-top:4px;font-size:12px;font-weight:800;color:var(--teal);opacity:.82}
@media(max-width:600px){.enterpriseBrand{padding:11px 12px}.enterpriseLogo{width:52px;height:52px;flex-basis:52px}.enterpriseBrandCopy strong{font-size:17px}}

.subscriptionCard{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;margin:0 0 16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#fff,#f7fbfa)}
.subscriptionCard.active{background:linear-gradient(145deg,var(--mint),#fff);border-color:rgba(11,102,109,.18)}
.subscriptionCard small{display:block;font-weight:900;color:var(--teal);letter-spacing:.05em}
.subscriptionCard h3{margin:5px 0 3px;font-size:22px;color:var(--ink)}
.subscriptionCard h3 span{font-size:12px;color:var(--muted);font-weight:800}
.subscriptionCard p{margin:0;color:var(--muted);font-size:13px}
.subscriptionWall{text-align:center;padding:24px 16px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#fff,#f8fbfa)}
.subscriptionWall h2{margin:5px 0 8px}
.subscriptionWall p{color:var(--muted)}
.subscriptionLock{font-size:34px}
.subscriptionPrice{font-size:30px;font-weight:950;color:var(--teal);margin:14px 0}
.subscriptionPrice span{font-size:13px;color:var(--muted);font-weight:800}
@media(max-width:600px){.subscriptionCard{align-items:flex-start;flex-direction:column}.subscriptionCard .btn{width:100%}}

.contactRoles{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.contactRole{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:900;border:1px solid var(--line);background:#f7faf9;color:var(--ink)}
.contactRole.call{background:#eef7ff}
.contactRole.sms{background:#f4f1ff}
.contactRole.cerca{background:var(--mint);color:var(--teal)}

.networkAddActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:600px){.networkAddActions{width:100%;justify-content:flex-start}.networkAddActions .btn{flex:1}}

/* Inicio enfocado en SOS */
.dash{grid-template-columns:1fr}
.mainPanel{width:100%}
.sosZone{padding:30px 22px 26px}
.sosButton{width:250px;height:250px;border-width:14px;font-size:36px;box-shadow:0 22px 55px rgba(216,77,77,.32),0 0 0 1px #f1d8d5}
.sosHint{font-size:14px;max-width:430px;margin:17px auto 0}
@media(max-width:600px){
  .sosZone{padding:28px 12px 24px;margin-top:4px}
  .sosButton{width:240px;height:240px;font-size:34px;border-width:14px}
  .sosHint{font-size:14px;padding:0 10px}
}

.shareAppBtn{padding:12px 16px!important;border-radius:14px!important;font-size:15px!important;font-weight:900!important;gap:9px!important;min-height:46px}
.shareIcon{width:20px;height:20px;display:block;flex:none}
@media(max-width:600px){
  .shareAppBtn{padding:13px 18px!important;font-size:16px!important;min-height:50px}
  .shareIcon{width:22px;height:22px}
}
