:root{--blue:#0880f8;--blue2:#0068d9;--blue-soft:#eaf4ff;--ink:#102a43;--muted:#6b7f93;--bg:#f4f9ff;--card:#fff;--ok:#16a36a;--warn:#c87800;--danger:#d92d20;--line:#dce9f7;--shadow:0 16px 42px rgba(14,84,148,.10)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff 0,#f4f9ff 34%,#eef6ff 100%);min-height:100vh}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh;padding-bottom:94px}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:8px 18px;max-width:1100px;margin:auto}.brand{border:0;background:transparent;display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--ink);padding:0}.brand img{width:54px;height:54px;object-fit:contain}.brand span{text-align:left}.brand strong{display:block;font-size:21px;line-height:1}.brand small{display:block;color:var(--blue);font-size:12px;margin-top:4px}.top-actions{display:flex;align-items:center;gap:10px}.top-actions a{color:var(--blue2);text-decoration:none;font-size:13px;font-weight:800}.verified-pill{font-size:12px;background:#e9fff5;color:#087c50;border:1px solid #b8efd8;padding:7px 10px;border-radius:999px}.content{max-width:1100px;margin:auto;padding:8px 18px 36px}.hero{background:linear-gradient(135deg,#057bea,#0880f8 55%,#56aaff);border-radius:30px;padding:30px;color:#fff;box-shadow:0 18px 46px rgba(8,128,248,.24);position:relative;overflow:hidden}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.12)}.hero:before{width:220px;height:220px;right:-60px;top:-90px}.hero:after{width:120px;height:120px;right:130px;bottom:-90px}.hero h1{font-size:clamp(30px,6vw,54px);line-height:1.02;margin:0 0 12px;max-width:720px}.hero p{margin:0;color:#eaf5ff;max-width:700px;font-size:15px}.hero .row{margin-top:18px}.section-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:26px 2px 12px}.section-title h2{margin:0;font-size:21px}.section-title small{color:var(--muted);text-align:right}.grid{display:grid;gap:12px}.category-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.category{background:var(--card);border:1px solid var(--line);padding:16px;border-radius:19px;text-align:left;cursor:pointer;box-shadow:0 5px 18px rgba(24,95,160,.04);transition:.16s transform,.16s border}.category:hover{transform:translateY(-2px)}.category.active{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,128,248,.11)}.category .emoji{font-size:29px;display:block;margin-bottom:11px}.category strong{display:block}.category small{display:block;color:var(--muted);margin-top:4px;font-size:11px}.panel{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:19px;box-shadow:var(--shadow)}.panel.soft{background:#f9fcff;box-shadow:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:800;color:#2e4b66}.field input,.field select,.field textarea,.select{width:100%;border:1px solid #cbddeb;border-radius:13px;padding:12px 13px;background:#fff;outline:none;color:var(--ink)}.field textarea{min-height:105px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,128,248,.11)}.hint{font-size:11px;color:var(--muted)}.btn{border:0;border-radius:14px;padding:12px 16px;font-weight:850;cursor:pointer;background:#12344d;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}.btn.primary,.btn.accent{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 9px 20px rgba(8,128,248,.19)}.btn.light{background:var(--blue-soft);color:var(--blue2)}.btn.white{background:#fff;color:var(--blue2)}.btn.danger{background:#fff0ef;color:#b42318}.btn.success{background:#e8fff5;color:#087c50}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn.small{padding:8px 10px;border-radius:11px;font-size:12px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.space{justify-content:space-between}.account-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:11px 14px;margin-bottom:14px}.account-strip strong{display:block}.account-strip small{color:var(--muted)}.map-card{position:relative;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#dfefff;box-shadow:var(--shadow)}.map{height:330px;width:100%;z-index:1}.map.compact{height:270px}.map-overlay{position:absolute;z-index:450;left:12px;right:12px;bottom:12px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);padding:10px 12px;border-radius:15px;box-shadow:0 10px 30px rgba(16,42,67,.13);font-size:12px}.pro-card,.job-card,.ledger-row,.verification-card{border:1px solid var(--line);border-radius:18px;padding:14px;background:#fff}.pro-card{display:flex;justify-content:space-between;gap:14px;align-items:center}.avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue2);font-size:19px;font-weight:900;flex:0 0 auto;overflow:hidden;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.big{width:72px;height:72px}.pro-main{display:flex;gap:12px;align-items:center}.pro-main strong{display:block}.meta{font-size:12px;color:var(--muted);margin-top:3px}.rating{font-size:13px;font-weight:850}.status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:850;background:#edf2f7}.status.open{background:#fff6dd;color:#9c6300}.status.accepted,.status.en_route,.status.arrived{background:#eaf4ff;color:#0068d9}.status.completed,.status.approved{background:#e8fff5;color:#087c50}.status.pending{background:#fff6dd;color:#9c6300}.status.rejected,.status.cancelled{background:#fff0ef;color:#b42318}.credit{background:#102f49;color:#fff;padding:10px 13px;border-radius:14px;font-weight:850}.credit b{color:#86c4ff}.notice{border-radius:15px;padding:12px 14px;background:#eef7ff;border:1px solid #b9ddff;color:#145d96;font-size:13px}.notice.warn{background:#fff8e7;border-color:#f6d589;color:#835400}.notice.danger{background:#fff0ef;border-color:#ffc9c4;color:#9f251d}.empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed #bdd2e5;border-radius:18px;background:#fbfdff}.metrics{grid-template-columns:repeat(5,1fr)}.metric{background:#fff;border:1px solid var(--line);border-radius:19px;padding:16px}.metric b{font-size:28px;display:block;color:var(--blue2)}.metric span{font-size:12px;color:var(--muted)}.role-nav{position:fixed;z-index:700;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;padding:6px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:21px;box-shadow:0 16px 42px rgba(16,64,104,.20)}.role-nav button{border:0;background:transparent;padding:11px 17px;border-radius:15px;color:#6b7f93;font-weight:800;cursor:pointer}.role-nav button.active{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff}.role-nav button span{margin-right:4px}.toast{position:fixed;z-index:1200;top:84px;left:50%;transform:translateX(-50%);background:#102f49;color:#fff;padding:12px 16px;border-radius:13px;box-shadow:var(--shadow);max-width:min(92vw,560px);text-align:center}.tiny{font-size:11px;color:var(--muted)}.divider{height:1px;background:var(--line);margin:15px 0}.admin-table{display:grid;gap:8px}.admin-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:9px;margin-top:10px}.photo-thumb{aspect-ratio:4/3;border-radius:13px;overflow:hidden;background:#edf5fc;border:1px solid var(--line)}.photo-thumb img{width:100%;height:100%;object-fit:cover}.file-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.file-chip{background:#eef7ff;border:1px solid #c9e4ff;color:#1268aa;padding:7px 9px;border-radius:10px;font-size:11px;text-decoration:none}.chat{border:1px solid var(--line);border-radius:18px;background:#f8fbfe;overflow:hidden}.chat-messages{height:260px;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.bubble{max-width:82%;padding:9px 11px;border-radius:14px;background:#fff;border:1px solid var(--line);font-size:13px}.bubble.me{align-self:flex-end;background:#e6f3ff;border-color:#b9dcff}.bubble small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.chat-form{display:flex;gap:8px;padding:10px;background:#fff;border-top:1px solid var(--line)}.chat-form input{flex:1;min-width:0;border:1px solid #cbddeb;border-radius:12px;padding:10px 12px}.stars{display:flex;gap:5px}.star-btn{border:0;background:transparent;font-size:29px;cursor:pointer;filter:grayscale(1);opacity:.45;padding:2px}.star-btn.active{filter:none;opacity:1}.modal-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(10,35,55,.55);backdrop-filter:blur(4px);display:grid;place-items:center;padding:18px}.modal-backdrop[hidden]{display:none}.modal-card{position:relative;width:min(760px,100%);max-height:91vh;overflow:auto;background:#fff;border-radius:26px;padding:24px;box-shadow:0 28px 80px rgba(0,40,75,.28)}.modal-close{position:sticky;float:right;top:0;z-index:2;border:0;background:#edf5fc;color:#33556f;width:36px;height:36px;border-radius:50%;font-size:25px;cursor:pointer}.modal-card h2{margin:0 45px 6px 0}.modal-card .subtitle{color:var(--muted);margin:0 0 18px}.step-title{font-size:14px;font-weight:900;color:var(--blue2);margin:18px 0 8px}.verification-card{display:grid;grid-template-columns:auto 1fr;gap:14px}.verification-info{min-width:0}.doc-img{width:150px;max-width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:13px;border:1px solid var(--line);background:#eef6ff}.route-summary{display:flex;gap:18px;flex-wrap:wrap}.route-summary b{color:var(--blue2)}.safety-grid{grid-template-columns:repeat(3,1fr)}.safety{padding:15px;border:1px solid var(--line);border-radius:18px;background:#fff}.safety b{display:block;margin-bottom:4px}.leaflet-control-attribution{font-size:9px!important}.leaflet-popup-content{margin:10px 12px!important}.leaflet-container{font-family:inherit!important}
@media(max-width:760px){.metrics{grid-template-columns:repeat(2,1fr)}.safety-grid{grid-template-columns:1fr}.verification-card{grid-template-columns:1fr}.doc-img{width:100%;max-height:260px}.top-actions .verified-pill{display:none}.map{height:285px}.hero{padding:24px}.admin-row{grid-template-columns:1fr auto}.admin-row .credit-actions{grid-column:1/-1}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(max-width:520px){.content{padding-left:12px;padding-right:12px}.topbar{padding-left:12px;padding-right:12px;height:68px}.brand img{width:46px;height:46px}.brand strong{font-size:18px}.top-actions a{font-size:12px}.hero{border-radius:23px}.hero h1{font-size:34px}.category-grid{grid-template-columns:1fr 1fr}.role-nav{width:calc(100% - 18px);justify-content:space-between}.role-nav button{flex:1;padding:10px 4px;font-size:12px}.role-nav button span{display:block;margin:0 0 2px}.account-strip{align-items:flex-start}.map{height:260px}.modal-card{padding:18px;border-radius:22px}.chat-messages{height:230px}}

/* ===== Juiciosos v0.3 · experiencia mapa-first ===== */
:root{--blue:#0b7ff8;--blue2:#0069df;--blue3:#004fbd;--navy:#082a46;--ice:#f4f9ff;--success:#0ca46f;--soft-shadow:0 18px 50px rgba(6,73,133,.13);--deep-shadow:0 24px 70px rgba(4,54,102,.18)}
body{background:#f5f9fd}.content{max-width:1180px;padding-top:4px}.topbar{max-width:1180px}.topbar:after{content:"";position:absolute;left:0;right:0;top:77px;height:1px;background:linear-gradient(90deg,transparent,#dce9f7,transparent)}.topbar{position:relative}.brand img{filter:drop-shadow(0 4px 7px rgba(8,128,248,.12))}.verified-pill{background:#ecfff8;border-color:#c7f2df;color:#087a55}
.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:950;color:var(--blue2)}.eyebrow.light{color:#d9eeff}.meta-inline{font-size:11px;color:var(--muted)}
.customer-map-stage{position:relative;min-height:720px;border-radius:32px;overflow:hidden;border:1px solid #d6e5f4;background:#dcecff;box-shadow:var(--deep-shadow)}
.map-hero{height:720px!important;min-height:720px}.customer-map-stage .leaflet-control-attribution{background:rgba(255,255,255,.7)!important}.map-top-ui{position:absolute;z-index:450;top:16px;left:16px;right:16px;display:grid;gap:12px;pointer-events:none}.map-top-ui>*{pointer-events:auto}
.location-pill{width:min(520px,100%);display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.96);backdrop-filter:blur(15px);border:1px solid rgba(210,228,244,.95);border-radius:20px;padding:10px 11px 10px 14px;box-shadow:0 14px 38px rgba(7,50,91,.18)}.location-pill>div{min-width:0;flex:1}.location-pill small{display:block;color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.location-pill strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;margin-top:2px}.pin-dot{color:var(--blue);font-size:18px;text-shadow:0 0 0 5px rgba(11,127,248,.12)}.round-action{width:42px;height:42px;border:0;border-radius:14px;background:var(--blue-soft);color:var(--blue2);font-size:22px;font-weight:900;cursor:pointer}
.category-chips{display:flex;gap:8px;overflow:auto;padding:1px 1px 6px;scrollbar-width:none}.category-chips::-webkit-scrollbar{display:none}.category-chip{flex:0 0 auto;border:1px solid rgba(208,226,243,.95);background:rgba(255,255,255,.94);backdrop-filter:blur(14px);color:#264760;padding:9px 12px;border-radius:999px;font-size:12px;font-weight:850;box-shadow:0 8px 22px rgba(7,50,91,.10);cursor:pointer;display:flex;align-items:center;gap:6px}.category-chip span{font-size:16px}.category-chip.active{background:linear-gradient(135deg,var(--blue),var(--blue2));border-color:transparent;color:#fff;box-shadow:0 11px 28px rgba(8,128,248,.28)}
.map-live-pill{position:absolute;z-index:450;left:18px;top:142px;background:rgba(8,42,70,.88);backdrop-filter:blur(12px);color:#fff;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:800;box-shadow:0 12px 25px rgba(0,35,70,.16)}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#38e49d;margin-right:6px;box-shadow:0 0 0 5px rgba(56,228,157,.16);animation:livePulse 1.7s infinite}.live-dot.idle{background:#a9b6c2;box-shadow:none;animation:none}@keyframes livePulse{0%,100%{box-shadow:0 0 0 4px rgba(56,228,157,.13)}50%{box-shadow:0 0 0 9px rgba(56,228,157,0)}}
.request-sheet{position:absolute;z-index:460;left:18px;bottom:18px;width:min(480px,calc(100% - 36px));background:rgba(255,255,255,.97);backdrop-filter:blur(22px);border:1px solid rgba(213,229,244,.96);border-radius:27px;padding:17px 18px 16px;box-shadow:0 28px 70px rgba(7,49,91,.24)}.sheet-handle{display:none;width:46px;height:5px;border-radius:99px;background:#cedbe7;margin:0 auto 12px}.request-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.request-sheet-head h1{font-size:25px;line-height:1.05;margin:4px 0 0}.selected-service{flex:0 0 auto;background:#eef6ff;color:var(--blue2);border:1px solid #d2e8ff;padding:8px 10px;border-radius:13px;font-size:11px;font-weight:850;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.request-form{display:grid;gap:11px}.problem-field textarea{min-height:82px}.request-mini-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:9px}.request-sheet .field label{font-size:11px}.request-sheet .field input,.request-sheet .field select,.request-sheet .field textarea{padding:10px 11px;border-radius:12px}.upload-strip{display:flex;align-items:center;gap:9px;min-height:46px}.photo-upload-btn{display:inline-flex;align-items:center;gap:6px;cursor:pointer;border:1px dashed #9fcaf1;background:#f3f9ff;color:#1267aa;padding:9px 11px;border-radius:12px;font-size:12px;font-weight:850}.photo-upload-btn small{color:#7396b4;font-weight:700}.sr-only{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}.compact-preview{display:flex!important;gap:6px!important;margin:0!important;flex:1}.compact-preview .photo-thumb{width:54px;min-width:54px;aspect-ratio:1;border-radius:10px}.location-details{border-top:1px solid var(--line);padding-top:8px}.location-details summary{cursor:pointer;color:#607b91;font-size:11px;font-weight:800}.location-details[open] summary{margin-bottom:9px}.request-now{width:100%;min-height:48px;font-size:14px;justify-content:space-between;padding-left:17px;padding-right:15px}.request-now span{font-size:20px}.request-legal{font-size:9.5px;line-height:1.35;color:#7b8f9f;text-align:center;margin-top:10px}
.juiciosos-marker-wrap{background:transparent!important;border:0!important}.user-map-pin{width:34px;height:34px;position:relative;display:grid;place-items:center}.user-map-pin i{position:absolute;width:32px;height:32px;border-radius:50%;background:rgba(11,127,248,.16);animation:userRadar 1.8s infinite}.user-map-pin span{width:16px;height:16px;border-radius:50%;background:var(--blue);border:4px solid #fff;box-shadow:0 4px 14px rgba(0,77,162,.35);z-index:2}@keyframes userRadar{0%{transform:scale(.6);opacity:1}100%{transform:scale(2.1);opacity:0}}.pro-map-pin{width:44px;height:44px;border-radius:16px;background:#fff;display:grid;place-items:center;border:2px solid #fff;box-shadow:0 8px 22px rgba(0,48,95,.23);position:relative}.pro-map-pin>span{font-size:21px}.pro-map-pin b{position:absolute;right:-3px;bottom:-2px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:#0bb57a;color:#fff;border:2px solid #fff;font-size:9px}.job-map-pin{width:42px;height:42px;border-radius:14px;background:var(--navy);display:grid;place-items:center;border:2px solid #fff;box-shadow:0 8px 22px rgba(0,48,95,.24)}.job-map-pin span{font-size:19px}.job-map-pin.urgent{background:#ff5a43;animation:urgentBounce 1.7s infinite}@keyframes urgentBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}.map-popup-meta{font-size:10px;color:#6e8193;margin-top:3px}
.pro-carousel{display:flex;gap:11px;overflow:auto;padding:2px 2px 8px;scrollbar-width:none}.pro-carousel::-webkit-scrollbar{display:none}.premium-pro{min-width:300px;box-shadow:0 7px 25px rgba(17,74,126,.07);border-radius:20px}.pro-name-line{display:flex;align-items:center;gap:5px}.verified-check{width:17px;height:17px;border-radius:50%;background:var(--blue);color:#fff;font-size:10px;display:inline-grid;place-items:center;font-weight:900}.trust-row{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:5px}.trust-badge,.rating-badge{font-size:9px;font-weight:900;border-radius:999px;padding:4px 6px}.trust-badge{color:#087a55;background:#e9fff5}.rating-badge{color:#8c6500;background:#fff8db}.pro-distance{text-align:right;display:grid;gap:0}.pro-distance b{font-size:17px;color:var(--navy)}.pro-distance small{font-size:9px;color:var(--muted)}.wide-empty{min-width:100%}
.safety-grid{grid-template-columns:repeat(4,1fr)}.safety.premium{box-shadow:0 8px 25px rgba(15,74,126,.06);padding:18px}.safety.premium>span:first-child{font-size:25px;display:block;margin-bottom:10px}.safety.premium b{font-size:14px}
.live-service-card{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:28px;padding:20px;box-shadow:var(--soft-shadow)}.live-service-card.waiting{border-color:#c5e1fb}.live-service-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.live-service-top h2{margin:3px 0 4px;font-size:24px}.live-service-top p{margin:0;color:#516d83;max-width:720px}.service-stepper{display:grid;grid-template-columns:repeat(5,1fr);margin:18px 0 16px;position:relative}.service-stepper:before{content:"";position:absolute;left:10%;right:10%;top:13px;height:2px;background:#d9e5ef}.service-step{position:relative;z-index:2;display:grid;justify-items:center;gap:5px}.service-step span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#edf3f7;color:#8ba0b1;font-size:10px;font-weight:900;border:3px solid #fff;box-shadow:0 0 0 1px #d9e5ef}.service-step small{font-size:9px;color:#8496a5;font-weight:800;text-align:center}.service-step.done span{background:#dff9ef;color:#087a55;box-shadow:0 0 0 1px #b9ead6}.service-step.current span{background:var(--blue);color:#fff;box-shadow:0 0 0 5px rgba(11,127,248,.12)}.service-step.current small{color:var(--blue2)}
.searching-box{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center;background:linear-gradient(135deg,#f2f8ff,#f9fcff);border:1px solid #d6e9fb;border-radius:21px;padding:17px}.searching-box p{margin:5px 0;color:#567188;font-size:13px}.searching-box small{color:#8195a5}.radar{width:105px;height:105px;position:relative;display:grid;place-items:center;margin:auto}.radar span{position:absolute;border:2px solid rgba(11,127,248,.25);border-radius:50%;animation:radarPulse 2.1s infinite}.radar span:nth-child(1){width:62px;height:62px}.radar span:nth-child(2){width:100px;height:100px;animation-delay:.55s}.radar i{width:48px;height:48px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--blue2));font-style:normal;font-size:23px;box-shadow:0 10px 24px rgba(8,128,248,.27);z-index:2}@keyframes radarPulse{0%{transform:scale(.55);opacity:.9}100%{transform:scale(1.2);opacity:0}}
.assigned-pro,.client-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f9fcff;border:1px solid #dfebf5;padding:13px 14px;border-radius:19px;margin:13px 0}.contact-actions{display:flex;gap:7px;margin-left:auto}.circle-contact{border:0;text-decoration:none;width:40px;height:40px;border-radius:13px;background:#eaf4ff;color:var(--blue2);display:grid;place-items:center;font-size:18px;cursor:pointer}.client-avatar{background:#edf5fb;color:#41657f}.route-card{margin-top:14px;border-radius:22px}.tracking-map{height:340px!important}.tracking-status{position:absolute;left:12px;top:12px;z-index:450;background:rgba(8,42,70,.90);backdrop-filter:blur(12px);color:#fff;border-radius:15px;padding:9px 11px;display:flex;align-items:center;gap:9px;box-shadow:0 10px 28px rgba(0,40,80,.18)}.tracking-status small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#bdd6e9}.tracking-status strong{display:block;font-size:11px;margin-top:1px}.pulse-icon{width:9px;height:9px;border-radius:50%;background:#31e69a;box-shadow:0 0 0 5px rgba(49,230,154,.15);animation:livePulse 1.7s infinite}.eta-row{margin:11px 0}.eta-chip{display:flex;align-items:baseline;gap:7px;background:#f4f9ff;border:1px solid #dceaf6;border-radius:13px;padding:9px 11px}.eta-chip b{font-size:17px}.eta-chip span{font-size:10px;color:var(--muted)}.location-updated{font-size:10px;color:#7b8d9c;margin:-2px 0 14px}.service-footer-note{border-top:1px solid var(--line);padding-top:12px;margin-top:15px;color:#7a8e9f;font-size:10px;text-align:center}.service-photos{grid-template-columns:repeat(3,minmax(90px,160px));justify-content:flex-start}
.chat-head{display:flex;align-items:center;justify-content:space-between;margin:18px 0 8px}.chat-head>div{display:flex;align-items:center;gap:8px}.chat-head>div>span{width:36px;height:36px;border-radius:12px;background:#eaf4ff;display:grid;place-items:center}.chat-head strong,.chat-head small{display:block}.chat-head small{font-size:9px;color:var(--muted);margin-top:2px}.secure-chat{font-size:9px;background:#e9fff5;color:#087a55;padding:5px 7px;border-radius:999px;font-weight:850}.chat{border-radius:19px}.chat-messages{height:250px;background:linear-gradient(180deg,#f7fbff,#f2f7fb);padding:14px}.bubble{box-shadow:0 3px 10px rgba(0,50,90,.04);border-radius:16px}.bubble.me{background:linear-gradient(135deg,#e5f2ff,#dceeff)}.chat-form{padding:8px}.chat-form input{border:0;background:#f1f6fa;padding:11px 13px}.send-chat{width:40px;height:40px;border:0;border-radius:13px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;font-size:17px;cursor:pointer}.chat-empty{margin:auto;color:#7e92a2;font-size:12px}
.pro-hero{border-radius:30px;padding:27px 29px;color:#fff;background:radial-gradient(circle at 85% -10%,#5cb3ff 0,transparent 30%),linear-gradient(135deg,#075fbd,#087ff5 58%,#1389fb);display:flex;align-items:end;justify-content:space-between;gap:20px;box-shadow:0 20px 55px rgba(8,128,248,.22)}.pro-hero h1{margin:4px 0 7px;font-size:clamp(29px,5vw,46px)}.pro-hero p{margin:0;max-width:690px;color:#e7f4ff}.btn.glass{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff}.pro-control{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:13px 15px}.pro-control-left{flex:1;min-width:0}.pro-control-left .select{max-width:600px}.pro-control-right{display:flex;align-items:center;gap:9px}.big-credit{display:grid;gap:0;min-width:105px;text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.big-credit b{display:block;font-size:18px}.availability-toggle{border:0;border-radius:15px;padding:11px 13px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.availability-toggle span{width:9px;height:9px;border-radius:50%}.availability-toggle.on{background:#e5fbf1;color:#087a55}.availability-toggle.on span{background:#14bd7d;box-shadow:0 0 0 4px rgba(20,189,125,.12)}.availability-toggle.off{background:#eef3f7;color:#687f91}.availability-toggle.off span{background:#96a6b3}.availability-toggle:disabled{opacity:.65;cursor:not-allowed}.pro-map-card{border-radius:28px}.pro-jobs-map{height:410px!important}.pro-map-caption{top:auto;bottom:14px;left:14px}.jobs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.premium-job{padding:16px;border-radius:22px;box-shadow:0 7px 25px rgba(17,74,126,.06)}.job-top,.job-actions,.job-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.distance-badge{width:55px;height:55px;border-radius:17px;background:#edf6ff;display:grid;place-items:center;align-content:center;color:var(--blue2)}.distance-badge b{font-size:18px;line-height:1}.distance-badge small{font-size:9px}.job-title-row{justify-content:flex-start;margin:12px 0}.job-emoji{width:45px;height:45px;border-radius:15px;background:#f3f8fc;display:grid;place-items:center;font-size:22px}.job-title-row h3{margin:0 0 3px;font-size:17px}.job-description{color:#415e74;min-height:43px}.job-photos{grid-template-columns:repeat(3,1fr)}.no-photo-note{background:#f7fafc;color:#8a9ba8;border-radius:11px;padding:10px;font-size:10px;text-align:center}.job-actions{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.job-actions>div small,.job-actions>div strong{display:block}.job-actions>div small{font-size:9px;color:var(--muted)}.job-actions>div strong{font-size:12px;color:var(--navy)}
.pro-active-card{margin-top:0}.professional-status-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.status-action{border:1px solid #dce8f3;background:#f7fbfe;color:#385970;border-radius:15px;padding:10px 7px;display:grid;justify-items:center;gap:5px;cursor:pointer}.status-action span{font-size:20px}.status-action b{font-size:10px}.status-action.active{background:#eaf4ff;border-color:#a9d4ff;color:var(--blue2)}.status-action.finish{background:#e8fff5;border-color:#bcefd9;color:#087a55}
@media(max-width:900px){.safety-grid{grid-template-columns:repeat(2,1fr)}.jobs-grid{grid-template-columns:1fr}.pro-hero{align-items:flex-start;flex-direction:column}.customer-map-stage{min-height:770px}.map-hero{height:770px!important;min-height:770px}.request-sheet{width:min(470px,calc(100% - 36px))}.pro-control{align-items:flex-start;flex-direction:column}.pro-control-right{width:100%;justify-content:space-between}}
@media(max-width:620px){.content{padding-left:0;padding-right:0}.topbar{padding-left:13px;padding-right:13px}.customer-map-stage{border-radius:0;border-left:0;border-right:0;min-height:calc(100svh - 145px);box-shadow:none}.map-hero{height:calc(100svh - 145px)!important;min-height:720px}.map-top-ui{top:10px;left:10px;right:10px}.location-pill{border-radius:17px;padding:8px 9px 8px 12px}.category-chips{margin-right:-10px}.category-chip{padding:8px 10px}.map-live-pill{left:10px;top:130px;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.request-sheet{left:8px;bottom:8px;width:calc(100% - 16px);border-radius:25px;padding:12px 13px 13px}.sheet-handle{display:block}.request-sheet-head h1{font-size:21px}.selected-service{font-size:10px;max-width:120px}.request-mini-grid{grid-template-columns:1fr}.problem-field textarea{min-height:68px}.request-sheet .field label{font-size:10px}.request-sheet .field input,.request-sheet .field select,.request-sheet .field textarea{padding:9px 10px}.upload-strip{min-height:38px}.photo-upload-btn{padding:7px 9px}.request-now{min-height:44px}.location-details{display:none}.request-legal{font-size:8.5px}.pro-carousel,.section-title,.safety-grid,.live-service-card,.pro-hero,.pro-control,.pro-map-card,.jobs-grid,#activeJob{margin-left:12px;margin-right:12px}.section-title{margin-top:22px}.premium-pro{min-width:275px}.live-service-card{padding:15px;border-radius:23px}.live-service-top{flex-direction:column;gap:8px}.live-service-top h2{font-size:21px}.searching-box{grid-template-columns:1fr;text-align:center}.radar{width:90px;height:90px}.assigned-pro,.client-card{align-items:flex-start}.tracking-map{height:300px!important}.service-step small{font-size:7.5px}.service-step span{width:26px;height:26px}.safety-grid{grid-template-columns:1fr 1fr;gap:8px}.safety.premium{padding:13px}.safety.premium>span:first-child{font-size:21px}.pro-hero{border-radius:24px;padding:22px}.pro-control-right{flex-wrap:wrap}.big-credit{min-width:92px}.pro-jobs-map{height:340px!important}.premium-job{padding:14px}.professional-status-actions{grid-template-columns:1fr 1fr}.tracking-status{max-width:75%}.eta-chip{flex:1}.role-nav{z-index:900}.topbar:after{top:67px}}
@media(max-width:390px){.request-sheet-head{display:block}.selected-service{display:inline-block;margin-top:7px}.request-sheet{padding-bottom:11px}.problem-field textarea{min-height:62px}.safety-grid{grid-template-columns:1fr}.service-stepper:before{left:8%;right:8%}.service-step small{display:none}.premium-pro{min-width:250px}}

/* ===== JUICIOSOS v0.4 · MAPA MODERNO VECTORIAL ===== */
.map,.map-card{background:#eaf1f5}
.customer-map-stage{isolation:isolate;background:#eaf1f5}
.customer-map-stage:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.12) 0,transparent 18%,transparent 72%,rgba(8,38,63,.05) 100%)}
.leaflet-map-pane .maplibregl-map,.leaflet-map-pane .maplibregl-canvas-container,.leaflet-map-pane .maplibregl-canvas{width:100%!important;height:100%!important}
.leaflet-control-zoom{border:0!important;box-shadow:0 10px 30px rgba(16,52,79,.16)!important;border-radius:16px!important;overflow:hidden;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(14px)}
.leaflet-control-zoom a{width:38px!important;height:38px!important;line-height:36px!important;border:0!important;border-bottom:1px solid rgba(16,52,79,.08)!important;background:rgba(255,255,255,.92)!important;color:#173b55!important;font-weight:700!important}
.leaflet-control-zoom a:last-child{border-bottom:0!important}.leaflet-control-zoom a:hover{background:#edf6ff!important;color:var(--blue)!important}
.leaflet-control-attribution{margin:0 8px 8px 0!important;padding:3px 7px!important;border-radius:8px!important;background:rgba(255,255,255,.74)!important;backdrop-filter:blur(8px);color:#62788b!important;font-size:8px!important}
.leaflet-control-attribution a{color:#476b86!important}
.leaflet-popup-content-wrapper{border-radius:18px!important;border:1px solid rgba(8,128,248,.12);box-shadow:0 16px 42px rgba(19,57,84,.18)!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(14px)}
.leaflet-popup-tip{box-shadow:none!important;background:rgba(255,255,255,.96)!important}.leaflet-popup-content{margin:10px 13px!important}.juiciosos-popup strong{font-size:12px;color:#102f49}.map-popup-meta{font-size:10px;color:#718597;margin-top:3px}
.juiciosos-marker-wrap{background:transparent!important;border:0!important;filter:drop-shadow(0 8px 12px rgba(9,52,91,.16))}
.user-map-pin{width:38px;height:38px;position:relative;display:grid;place-items:center}.user-map-pin i{position:absolute;width:31px;height:31px;border-radius:50%;background:rgba(8,128,248,.16);animation:userRadar 1.9s infinite}.user-map-pin span{width:17px;height:17px;border-radius:50%;background:linear-gradient(145deg,#168fff,#0069da);border:4px solid #fff;box-shadow:0 0 0 1px rgba(8,128,248,.22),0 7px 18px rgba(0,78,164,.28);z-index:2}
.pro-map-pin{width:48px;height:48px;border-radius:17px;background:linear-gradient(145deg,#fff,#f4faff);display:grid;place-items:center;border:1px solid rgba(10,108,212,.10);box-shadow:0 12px 30px rgba(10,64,108,.20);position:relative;transform:translateY(-2px)}.pro-map-pin>span{font-size:22px;line-height:1}.pro-map-pin b{position:absolute;right:-4px;bottom:-3px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#12b981;color:#fff;border:3px solid #fff;font-size:8px;box-shadow:0 4px 10px rgba(18,185,129,.22)}.pro-map-pin i{position:absolute;left:50%;bottom:-7px;width:12px;height:12px;background:#fff;border-right:1px solid rgba(10,108,212,.10);border-bottom:1px solid rgba(10,108,212,.10);transform:translateX(-50%) rotate(45deg);border-radius:2px;z-index:-1}
.job-map-pin{width:46px;height:46px;border-radius:17px;background:linear-gradient(145deg,#173f5d,#102f49);display:grid;place-items:center;border:3px solid #fff;box-shadow:0 12px 28px rgba(7,42,70,.24)}.job-map-pin span{font-size:20px}.job-map-pin.urgent{background:linear-gradient(145deg,#ff6b54,#e93829);animation:urgentBounce 1.65s infinite;box-shadow:0 12px 28px rgba(222,55,41,.28)}
.map-live-pill,.location-pill,.category-chip,.request-sheet,.tracking-status{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.location-pill{background:rgba(255,255,255,.93)!important;border-color:rgba(255,255,255,.82)!important;box-shadow:0 12px 34px rgba(13,59,94,.14)!important}
.category-chip{background:rgba(255,255,255,.91)!important;border-color:rgba(218,231,241,.85)!important;box-shadow:0 9px 24px rgba(13,59,94,.09)}.category-chip.active{background:linear-gradient(135deg,#0d87ff,#006adf)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 12px 26px rgba(8,128,248,.28)!important}
.map-live-pill{background:rgba(16,47,73,.88)!important;color:#fff!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:0 12px 30px rgba(12,48,76,.18)!important}
.route-card{border-color:rgba(8,128,248,.10)!important;box-shadow:0 16px 38px rgba(14,68,108,.12)!important}.tracking-status{background:rgba(12,43,67,.88)!important;border:1px solid rgba(255,255,255,.12)}
@media(max-width:620px){.leaflet-control-attribution{max-width:76%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaflet-control-zoom{margin-right:10px!important;margin-bottom:96px!important}}

/* ==========================================================
   JUICIOSOS v0.5 — MOBILE FIRST / APP-LIKE RESPONSIVE LAYER
   Pensado para Android/iPhone, pantallas angostas y safe areas.
   ========================================================== */
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}
button,.btn,.category,.category-chip,.star-btn,.role-nav button{touch-action:manipulation}
img,video,canvas{max-width:100%}
.maplibregl-map,.leaflet-container{touch-action:pan-x pan-y;outline:none}
.app-shell{min-height:100dvh;padding-bottom:calc(96px + env(safe-area-inset-bottom))}
.topbar{padding-top:max(8px,env(safe-area-inset-top));height:calc(78px + env(safe-area-inset-top))}
.role-nav{bottom:max(10px,env(safe-area-inset-bottom));max-width:680px}
.modal-card{padding-bottom:max(24px,calc(18px + env(safe-area-inset-bottom)))}
input,select,textarea{font-size:16px}

@media(max-width:620px){
  body{background:#f6f9fc}
  .app-shell{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .topbar{
    height:calc(61px + env(safe-area-inset-top));
    padding:env(safe-area-inset-top) 12px 4px;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    position:relative;
    z-index:850;
  }
  .brand{gap:8px;min-width:0}
  .brand img{width:43px;height:43px}
  .brand strong{font-size:17px}
  .brand small{font-size:10px;margin-top:2px}
  .top-actions{gap:5px}
  .top-actions a{padding:9px 7px;border-radius:12px;background:#eef7ff;font-size:10px}

  .content{padding:0 0 calc(98px + env(safe-area-inset-bottom))}
  .customer-map-stage{
    min-height:calc(100dvh - 61px - env(safe-area-inset-top));
    height:calc(100dvh - 61px - env(safe-area-inset-top));
    max-height:none;
  }
  .map-hero{
    height:100%!important;
    min-height:100%!important;
  }
  .map-top-ui{top:10px;left:10px;right:10px}
  .location-pill{min-height:42px;box-shadow:0 9px 28px rgba(19,56,89,.13)}
  .category-chips{scroll-snap-type:x proximity;padding-bottom:4px;scrollbar-width:none}
  .category-chips::-webkit-scrollbar{display:none}
  .category-chip{scroll-snap-align:start;min-height:40px;white-space:nowrap}
  .map-live-pill{top:126px}
  .request-sheet{
    left:8px;
    width:calc(100% - 16px);
    bottom:calc(76px + env(safe-area-inset-bottom));
    max-height:min(55dvh,510px);
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior-y:auto;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
    scrollbar-width:none;
    -ms-overflow-style:none;
    border-radius:27px;
    padding:11px 13px calc(13px + env(safe-area-inset-bottom));
    box-shadow:0 18px 48px rgba(16,55,88,.22);
  }
  .request-sheet::-webkit-scrollbar{width:0;height:0}
  .request-sheet-head{position:sticky;top:-11px;background:rgba(255,255,255,.97);z-index:3;padding-top:11px;padding-bottom:5px}
  .request-sheet-head h1{font-size:20px;line-height:1.08}
  .problem-field textarea{min-height:66px;max-height:115px}
  .request-sheet .field input,.request-sheet .field select,.request-sheet .field textarea{min-height:43px;border-radius:13px}
  .request-now{min-height:48px;border-radius:15px;font-size:14px}
  .photo-upload-btn{min-height:42px}

  .role-nav{
    width:calc(100% - 14px);
    bottom:max(7px,env(safe-area-inset-bottom));
    padding:5px;
    border-radius:21px;
    box-shadow:0 12px 34px rgba(16,55,88,.24);
  }
  .role-nav button{min-height:52px;padding:7px 2px;font-size:11px;line-height:1.05}
  .role-nav button span{font-size:17px}

  .modal-backdrop{
    padding:0;
    align-items:end;
    place-items:end center;
    background:rgba(10,35,55,.48);
  }
  .modal-card{
    width:100%;
    max-width:none;
    max-height:92dvh;
    border-radius:28px 28px 0 0;
    padding:19px 15px calc(20px + env(safe-area-inset-bottom));
  }
  .modal-close{top:0;right:0;width:39px;height:39px}

  .pro-carousel{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
  .pro-carousel::-webkit-scrollbar{display:none}
  .premium-pro{scroll-snap-align:start}
  .pro-hero,.pro-control,.panel,.live-service-card,.pro-map-card,.premium-job{border-radius:22px}
  .pro-jobs-map,.tracking-map{min-height:300px}
  .professional-status-actions .btn{min-height:46px}
  .chat-messages{height:min(42dvh,320px)}
  .chat-form{position:sticky;bottom:0;padding-bottom:max(10px,env(safe-area-inset-bottom))}
  .chat-form input{min-height:44px;font-size:16px}
  .chat-form .btn{min-width:48px;min-height:44px}

  .toast{top:calc(68px + env(safe-area-inset-top));width:calc(100% - 24px);font-size:13px}
  .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .verification-card{padding:12px}
  .admin-row{gap:7px}
  .btn{min-height:44px}
  .btn.small{min-height:38px}
}

@media(max-width:380px){
  .brand small{display:none}
  .top-actions a{font-size:9px;padding:8px 6px}
  .request-sheet{max-height:58dvh}
  .request-sheet-head h1{font-size:18px}
  .selected-service{max-width:108px}
  .role-nav button{font-size:10px}
  .premium-pro{min-width:238px}
}

@media(max-height:700px) and (max-width:620px){
  .request-sheet{max-height:62dvh}
  .map-live-pill{display:none}
  .request-legal{display:none}
  .problem-field textarea{min-height:54px}
}

@media(orientation:landscape) and (max-height:520px){
  .topbar{height:52px;padding-top:0}
  .brand img{width:38px;height:38px}
  .brand small{display:none}
  .customer-map-stage{height:calc(100dvh - 52px);min-height:calc(100dvh - 52px)}
  .request-sheet{left:auto;right:8px;top:8px;bottom:74px;width:min(410px,46vw);max-height:none}
  .role-nav{width:min(520px,70vw)}
}

/* v0.6 - foundation business UI */
.diagnostic-fee-card{display:flex;gap:12px;align-items:flex-start;background:linear-gradient(135deg,#eef7ff,#f8fbff);border:1px solid #cfe8ff;border-radius:18px;padding:13px 14px;margin:8px 0 12px}.diagnostic-fee-card>span{font-size:24px}.diagnostic-fee-card div{display:flex;flex-direction:column;gap:2px}.diagnostic-fee-card small{color:#52708d;font-weight:700}.diagnostic-fee-card strong{font-size:18px;color:#066dd3}.diagnostic-fee-card em{font-size:11px;color:#6f8295;font-style:normal;line-height:1.35}.diagnostic-job-line{margin:10px 0;background:#f4f9ff;border-radius:12px;padding:9px 11px;font-size:12px;color:#46647f}.level-badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:900}.level-badge.bronce{background:#f4ece7;color:#8a5a38}.level-badge.plata{background:#eef2f6;color:#607184}.level-badge.oro{background:#fff5d5;color:#9a6d00}.level-badge.elite{background:#eaf2ff;color:#075bbb}.pro-stats-mini{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.pro-stats-mini span{font-size:11px;background:#f4f7fa;padding:5px 8px;border-radius:9px;color:#5f7181}.credit.big-credit small{display:block;font-size:9px;font-weight:600;color:#6b7d8d}.outcome-confirm{margin-top:14px;border:1px solid #b8ddff;background:#f5faff;border-radius:20px;padding:16px}.outcome-confirm h3{margin:5px 0}.outcome-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.outcome-option{border:1px solid #d7e6f4;background:#fff;border-radius:18px;padding:15px;text-align:left;display:flex;flex-direction:column;gap:5px;cursor:pointer}.outcome-option:hover{border-color:#1689ff;box-shadow:0 8px 24px rgba(22,137,255,.12)}.outcome-option span{font-size:26px}.outcome-option small{color:#6e8092;line-height:1.4}.history-strip{display:flex;gap:10px;overflow:auto;padding:2px 2px 12px}.history-card{min-width:260px;background:#fff;border:1px solid #e7edf4;border-radius:18px;padding:14px;box-shadow:0 8px 25px rgba(25,64,97,.06);display:flex;justify-content:space-between;gap:12px;align-items:center}.history-card>div{display:flex;flex-direction:column;gap:3px}.history-card>div>span{font-size:22px}.history-card small{color:#788b9d;max-width:160px}.status.awaiting_confirmation{background:#fff4ce;color:#8b6500}.status.review{background:#ffe5e5;color:#a32727}
@media(max-width:600px){.outcome-options{grid-template-columns:1fr}.diagnostic-fee-card{border-radius:15px}.history-card{min-width:235px}.pro-stats-mini{overflow:auto;flex-wrap:nowrap}.pro-stats-mini span{white-space:nowrap}}

.contact-privacy{font-size:10px;color:#71869a;max-width:76px;line-height:1.15}


/* ==========================================================
   JUICIOSOS v0.7 — PILOT HOME / FRESH SERVICE PICKER
   ========================================================== */
.map-placeholder{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:7px;background:linear-gradient(145deg,#eaf4fb,#f7fbfe);color:#52718a;text-align:center;padding:24px;z-index:0}.map-placeholder small{max-width:330px;font-size:10px;color:#7890a2}.map-loader{width:28px;height:28px;border:3px solid #c9e5ff;border-top-color:#087ff5;border-radius:50%;animation:mapSpin .85s linear infinite}@keyframes mapSpin{to{transform:rotate(360deg)}}.map-ready>.map-placeholder{display:none}.maplibregl-map,.leaflet-container{z-index:1}.maplibre-custom-marker{width:max-content;height:max-content}.maplibregl-popup-content{border-radius:14px!important;padding:10px 12px!important;box-shadow:0 12px 32px rgba(8,49,79,.18)!important}.maplibregl-popup-tip{border-top-color:#fff!important}.map-raster-fallback:after{content:'Mapa de respaldo';position:absolute;left:9px;bottom:9px;z-index:500;background:rgba(255,255,255,.88);padding:4px 7px;border-radius:9px;font-size:8px;color:#698094;box-shadow:0 4px 16px rgba(16,55,88,.1)}
.service-picker{display:grid;gap:9px}.service-picker-title{display:flex;align-items:end;justify-content:space-between;gap:10px}.service-picker-title strong{display:block;font-size:20px;color:var(--navy);line-height:1.05;margin-top:2px}.more-services-link{border:0;background:#eef7ff;color:#0873dd;padding:8px 10px;border-radius:11px;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}.service-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.service-quick-card{position:relative;min-height:69px;border:1px solid #e1ebf3;background:#fff;border-radius:18px;padding:10px 11px;display:flex;align-items:center;gap:9px;text-align:left;cursor:pointer;box-shadow:0 5px 18px rgba(17,67,104,.055);transition:.18s ease}.service-quick-card:hover{transform:translateY(-1px);border-color:#b9dcff}.service-quick-card.active{border-color:#72b7ff;background:linear-gradient(145deg,#f7fbff,#eaf5ff);box-shadow:0 9px 24px rgba(8,128,248,.13)}.service-icon{width:38px;height:38px;flex:0 0 38px;border-radius:13px;display:grid;place-items:center;background:#f1f7fc;font-size:20px}.service-quick-card.active .service-icon{background:#fff;box-shadow:0 5px 15px rgba(8,128,248,.10)}.service-copy{min-width:0;display:grid;gap:2px}.service-copy b{font-size:12px;color:#163d5b}.service-copy small{font-size:9.5px;color:#72889a;line-height:1.2}.service-check{position:absolute;right:8px;top:7px;width:17px;height:17px;border-radius:50%;display:none;place-items:center;background:#0f83f8;color:#fff;font-size:9px}.service-quick-card.active .service-check{display:grid}.selected-service-row{display:flex;align-items:center;justify-content:space-between;gap:9px;border-top:1px solid #edf2f6;padding-top:9px}.selected-service-label{text-transform:uppercase;letter-spacing:.08em;font-size:8px;font-weight:900;color:#8ba0b1}.selected-service{position:static!important;max-width:none!important;font-size:10px!important;padding:6px 9px!important}.fresh-sheet .request-form{gap:8px}.fresh-sheet .diagnostic-fee-card.compact{padding:9px 11px;margin:1px 0 4px;border-radius:15px}.fresh-sheet .diagnostic-fee-card.compact>span{font-size:19px}.fresh-sheet .diagnostic-fee-card.compact strong{font-size:15px}.fresh-sheet .diagnostic-fee-card.compact em{font-size:9.5px}.grua-box{border:1px solid #d7eaff;background:#f7fbff;border-radius:17px;padding:10px 11px}.grua-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.grua-head>span{width:34px;height:34px;border-radius:11px;background:#e7f3ff;display:grid;place-items:center}.grua-head div{display:grid}.grua-head b{font-size:12px;color:#173f5d}.grua-head small{font-size:9px;color:#748a9c}.service-detail-strip{display:flex;gap:7px;flex-wrap:wrap;margin:7px 0}.service-detail-strip span{background:#edf6ff;color:#1767ad;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800}.services-modal-head h2{margin:5px 0}.more-services-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.more-service-card{border:1px solid #e2ebf3;background:#fff;border-radius:17px;padding:12px;display:flex;align-items:center;gap:9px;text-align:left;cursor:pointer}.more-service-card>span{font-size:23px}.more-service-card>div{display:grid;gap:2px;flex:1}.more-service-card b{font-size:12px;color:#193f5c}.more-service-card small{font-size:9px;color:#7d90a0;line-height:1.25}.more-service-card i{font-style:normal;color:#0c7ef1;font-weight:900}.more-service-card.disabled{opacity:.62;cursor:default;background:#f7f9fb}.more-service-card em{font-style:normal;background:#edf1f4;color:#6f8291;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:900}.coming-title{margin-top:20px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.09em;color:#869aaa}
.map-top-ui{pointer-events:none}.map-top-ui>*{pointer-events:auto}.map-live-pill{top:82px!important}.request-sheet{z-index:20}.map-top-ui{z-index:22}.map-live-pill{z-index:21}.role-nav{z-index:1000}.modal-backdrop{z-index:2000}.toast{z-index:3000}
@media(max-width:620px){.map-live-pill{top:62px!important;left:10px!important;max-width:calc(100% - 20px)}.fresh-sheet{max-height:min(66dvh,610px)!important}.service-picker-title strong{font-size:18px}.service-quick-card{min-height:64px;padding:9px}.service-icon{width:35px;height:35px;flex-basis:35px}.service-copy b{font-size:11.5px}.service-copy small{font-size:9px}.more-services-grid{grid-template-columns:1fr}.fresh-sheet .problem-field textarea{min-height:58px}.fresh-sheet .request-mini-grid{grid-template-columns:1fr 1fr}.fresh-sheet .diagnostic-fee-card.compact em{display:block}.location-details{display:none!important}}
@media(max-width:390px){.service-quick-grid{gap:7px}.service-quick-card{min-height:61px;border-radius:16px;padding:8px}.service-icon{width:32px;height:32px;flex-basis:32px;font-size:18px}.service-copy small{display:none}.fresh-sheet .request-mini-grid{grid-template-columns:1fr}.more-services-link{padding:7px 8px}}


/* ==========================================================
   JUICIOSOS v0.8 — CLEAN MAP / VISIBLE SERVICES
   ========================================================== */
.map-top-ui,.location-pill{display:none!important}
.map-compact-ui{position:absolute;z-index:24;top:14px;right:14px;display:flex;align-items:center;gap:7px;pointer-events:none}
.map-compact-ui>*{pointer-events:auto}
.map-locate-fab{width:46px;height:46px;border:1px solid rgba(210,228,244,.95);border-radius:16px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#087ff5;font-size:23px;font-weight:900;cursor:pointer;box-shadow:0 10px 28px rgba(15,57,88,.17);display:grid;place-items:center}
.map-locate-fab:active{transform:scale(.97)}
.map-radius-badge{height:34px;padding:0 10px;border-radius:999px;background:rgba(255,255,255,.94);border:1px solid rgba(210,228,244,.95);box-shadow:0 8px 22px rgba(15,57,88,.12);display:flex;align-items:center;font-size:10px;font-weight:900;color:#506f87}
.map-live-pill.compact-status{top:16px!important;left:16px!important;max-width:calc(100% - 150px);padding:7px 11px;font-size:10px}
.service-picker-title{align-items:flex-start!important}
.service-picker-title>div{display:grid;gap:2px}
.service-picker-title small{font-size:9.5px;color:#7890a2;font-weight:650}
.more-services-link{display:none!important}
.more-services-button{width:100%;border:1px dashed #acd3f6;background:linear-gradient(145deg,#f8fbff,#eff7ff);color:#1768aa;border-radius:16px;padding:10px 12px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;margin-top:1px}
.more-services-button>span{width:34px;height:34px;border-radius:11px;background:#fff;color:#087ff5;display:grid;place-items:center;font-size:20px;font-weight:500;box-shadow:0 5px 14px rgba(8,128,248,.09)}
.more-services-button>div{display:grid;gap:1px;flex:1;min-width:0}
.more-services-button b{font-size:11.5px;color:#16517e}
.more-services-button small{font-size:9px;color:#7b91a3}
.more-services-button i{font-style:normal;color:#087ff5;font-size:18px;font-weight:900}
.more-services-button:hover{border-color:#65aff1;background:#eef7ff}
.selected-service-row{display:none!important}
.fresh-sheet{scrollbar-width:none}
.fresh-sheet::-webkit-scrollbar{display:none}
@media(max-width:620px){
  .map-compact-ui{top:9px;right:9px}
  .map-locate-fab{width:43px;height:43px;border-radius:15px}
  .map-radius-badge{height:31px;font-size:9px;padding:0 8px}
  .map-live-pill.compact-status{top:10px!important;left:10px!important;max-width:calc(100% - 132px);font-size:9px;padding:6px 9px}
  .service-picker{gap:8px}
  .service-picker-title strong{font-size:17px!important}
  .service-picker-title small{font-size:8.5px}
  .more-services-button{min-height:52px;padding:8px 10px;border-radius:15px}
  .more-services-button>span{width:32px;height:32px}
  .fresh-sheet{max-height:min(64dvh,590px)!important}
}
@media(max-width:390px){
  .map-radius-badge{display:none}
  .map-live-pill.compact-status{max-width:calc(100% - 70px)}
  .service-picker-title small{display:none}
  .more-services-button small{display:none}
}

/* v0.9 — mapa profesional limpio + soporte desde Juiciosos Admin */
.pro-map-toolbar{position:absolute;z-index:30;right:14px;top:14px;display:flex;gap:8px}
.pro-map-statusbar{position:absolute;z-index:29;left:14px;top:14px;max-width:calc(100% - 92px);display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.95);color:#27465e;border:1px solid rgba(210,228,244,.96);border-radius:999px;padding:8px 12px;font-size:11px;font-weight:850;box-shadow:0 10px 26px rgba(15,57,88,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pro-map-statusbar .live-dot{flex:0 0 auto}.pro-map-statusbar span:last-child{overflow:hidden;text-overflow:ellipsis}
.pro-empty-state{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:linear-gradient(145deg,#fff,#f7fbff);border:1px solid #dceaf5;border-radius:22px;padding:18px 20px;box-shadow:0 7px 24px rgba(17,74,126,.05)}
.pro-empty-icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:#eaf5ff;font-size:26px}.pro-empty-state strong{display:block;color:#173a53;font-size:15px}.pro-empty-state p{margin:4px 0 0;color:#6e8496;font-size:11px;line-height:1.45;max-width:620px}
.pro-support-panel{margin-top:14px;padding:14px 16px;background:linear-gradient(145deg,#ffffff,#f5fbff);box-shadow:0 7px 25px rgba(17,74,126,.05)}.pro-support-panel[hidden]{display:none}.support-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.support-panel-head h3{margin:2px 0 0;font-size:16px}.support-unread{font-size:10px;font-weight:850;color:#6c8193;background:#edf4f9;border-radius:999px;padding:6px 9px}.support-unread.has-unread{background:#e6f3ff;color:#087ff5}.support-message-list{display:grid;gap:7px}.support-message{border:1px solid #e0ebf3;border-radius:14px;background:#fff;padding:10px 12px}.support-message.unread{border-color:#afd6ff;background:#f5faff}.support-message>div{display:flex;justify-content:space-between;gap:10px}.support-message b{font-size:11px;color:#087ff5}.support-message small{font-size:9px;color:#8798a5}.support-message p{margin:5px 0 0;font-size:12px;line-height:1.45;color:#314e64}
@media(max-width:620px){.pro-map-toolbar{right:10px;top:10px}.pro-map-statusbar{left:10px;top:10px;max-width:calc(100% - 70px);padding:7px 9px;font-size:9.5px}.pro-empty-state{grid-template-columns:auto 1fr;padding:14px}.pro-empty-state .row{grid-column:1/-1}.pro-support-panel{margin-left:12px;margin-right:12px}.support-message>div{align-items:flex-start;flex-direction:column;gap:2px}}


/* JUICIOSOS v0.11 — mensajería, avisos y UX no invasiva */
.availability-inline{display:flex;align-items:center;gap:7px;margin:8px 0 11px;padding:7px 10px;border-radius:12px;background:#f4f8fb;border:1px solid #e4edf4;color:#60798d;font-size:10px;font-weight:800;max-width:100%}.availability-inline .live-dot{flex:0 0 auto}.availability-inline:has(.live-dot:not(.idle)){background:#effaf6;color:#24755c;border-color:#d7f0e5}.map-live-pill.compact-status{display:none!important}
.support-toggle{width:100%;border:0;background:transparent;padding:0;cursor:pointer;text-align:left}.support-head-actions{display:flex;align-items:center;gap:8px}.support-chevron{width:29px;height:29px;border-radius:50%;background:#edf5fb;color:#496b84;display:grid;place-items:center;font-size:16px}.pro-support-panel.collapsed{padding-bottom:12px}.pro-support-panel.collapsed .support-panel-head{margin-bottom:0}.support-message-actions{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-top:8px;padding-top:7px;border-top:1px solid #eef3f7}.support-message-actions span{font-size:9px;color:#8295a3}.archive-message{border:0;background:#eef6fc;color:#38627f;border-radius:9px;padding:6px 9px;font-size:9px;font-weight:850;cursor:pointer}.archive-message:hover{background:#e3f1fc;color:#087ff5}
.service-chat{margin-top:14px}.chat-shell{border:1px solid #dce8f1;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 7px 23px rgba(18,70,105,.05)}.chat-shell.collapsed{box-shadow:none}.chat-head{width:100%;border:0;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;text-align:left}.chat-toggle{cursor:pointer}.chat-head>div:first-child{display:flex;align-items:center;gap:8px}.chat-head>div:first-child>span{width:35px;height:35px;border-radius:12px;background:#edf6ff;display:grid;place-items:center}.chat-head strong{display:block;font-size:12px;color:#173a54}.chat-head small{display:block;font-size:9px;color:#7e919f;margin-top:2px}.chat-head-right{display:flex;align-items:center;gap:6px}.chat-unread{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ed3e4c;color:#fff;display:grid;place-items:center;font-size:9px;font-weight:900}.secure-chat{font-size:9px;color:#087a55;background:#e9fbf3;padding:5px 7px;border-radius:999px;font-weight:850}.chat-chevron{color:#5c7487;font-size:15px}.chat-body[hidden]{display:none}.chat-ticks{font-weight:900;color:#9aa9b4;margin-left:3px}.chat-ticks.read{color:#1688ff}.send-chat{width:42px;height:42px;border:0;border-radius:12px;background:#087ff5;color:#fff;font-size:18px;cursor:pointer}
@media(max-width:620px){.availability-inline{margin:7px 0 9px;font-size:9.5px}.chat-head{padding:10px}.secure-chat{display:none}.pro-support-panel{border-radius:19px!important}}

.top-alert-btn{width:34px;height:34px;border:1px solid #d9e7f2;border-radius:12px;background:#f5f9fc;color:#557188;display:grid;place-items:center;cursor:pointer}.top-alert-btn.active{background:#e8fff5;border-color:#bcebd7;color:#087a55;box-shadow:0 0 0 3px rgba(20,185,125,.08)}
@media(max-width:620px){.top-alert-btn{width:32px;height:32px;border-radius:11px}.verified-pill{display:none}}


/* v0.12 — panel de solicitud siempre visible + scroll invisible */
.customer-map-stage .request-sheet.fresh-sheet{
  top:18px;
  bottom:18px;
  max-height:none;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-width:none;
  -ms-overflow-style:none;
  scroll-behavior:smooth;
}
.customer-map-stage .request-sheet.fresh-sheet::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
.customer-map-stage .request-sheet.fresh-sheet .request-now{position:sticky;bottom:-1px;z-index:5;box-shadow:0 -8px 22px rgba(255,255,255,.88),0 10px 20px rgba(8,128,248,.15)}
.customer-cancel-box{margin-top:14px;padding:13px 14px;border:1px solid #f1d4d1;background:#fffafa;border-radius:17px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.customer-cancel-box>div{display:grid;gap:4px}.customer-cancel-box b{font-size:12px;color:#7e2f29}.customer-cancel-box small{font-size:10px;line-height:1.4;color:#8a6c69;max-width:560px}.customer-cancel-box .btn{flex:0 0 auto}
@media(max-width:620px){
  .customer-map-stage .request-sheet.fresh-sheet{top:auto;bottom:8px;max-height:min(66dvh,610px)!important}
  .customer-cancel-box{align-items:stretch;flex-direction:column}.customer-cancel-box .btn{width:100%}
}
@media(orientation:landscape) and (max-height:520px){.customer-map-stage .request-sheet.fresh-sheet{top:8px;bottom:74px;max-height:none!important}}

/* v0.13 — confianza visual, calificaciones y fotos optimizadas en chat */
.assigned-pro.identity-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:16px;background:linear-gradient(145deg,#fff,#f4faff);border-color:#cfe4f6;box-shadow:0 10px 30px rgba(18,79,128,.07)}
.assigned-photo{width:86px;height:86px;border-radius:24px;overflow:hidden;position:relative;background:linear-gradient(145deg,#e8f4ff,#d8ecff);display:grid;place-items:center;border:3px solid #fff;box-shadow:0 0 0 1px #cde0ef,0 8px 22px rgba(10,75,130,.12)}
.assigned-photo img{width:100%;height:100%;object-fit:cover}.pro-photo-fallback{font-size:34px}.photo-verified{position:absolute;right:3px;bottom:3px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#14b87a;color:#fff;border:2px solid #fff;font-size:11px;font-weight:950}
.assigned-pro-info{min-width:0}.assigned-pro-info .eyebrow{font-size:8px}.assigned-pro-info .pro-name-line strong{font-size:17px}.assigned-profession{font-size:11px;color:#5d7890;font-weight:750;margin:3px 0 7px}.identity-note{display:block;color:#7b8f9f;font-size:9px;line-height:1.4;margin-top:7px;max-width:430px}
.rating-card{margin-top:16px;padding:17px;border:1px solid #d6e7f5;border-radius:21px;background:linear-gradient(145deg,#fff,#f7fbff);box-shadow:0 9px 28px rgba(17,74,126,.06)}.rating-card.done{display:flex;gap:13px;align-items:flex-start}.rating-head{display:flex;gap:12px;align-items:flex-start}.rating-head h3{margin:2px 0 4px;font-size:18px}.rating-head p,.rating-card.done p{margin:0;color:#728798;font-size:11px;line-height:1.45}.rating-icon{width:43px;height:43px;border-radius:14px;background:#fff7d7;display:grid;place-items:center;font-size:22px;flex:0 0 auto}.rating-card.done strong{display:block;color:#ffad0b;letter-spacing:2px;font-size:20px;margin:3px 0}.rating-stars{justify-content:center;margin:13px 0 3px}.rating-stars .star-btn{font-size:38px;color:#cbd7e0;filter:none;opacity:1;transition:.15s transform,.15s color}.rating-stars .star-btn.active{color:#ffb20e;transform:translateY(-1px)}.rating-label{text-align:center;font-size:11px;font-weight:900;color:#805b00;margin-bottom:12px}.rating-submit{width:100%;margin-top:10px}.modal-rating{max-width:560px;margin:auto}
.history-card{align-items:stretch!important;flex-direction:column!important;min-width:285px}.history-main{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:9px}.history-main>span{font-size:25px}.history-main>div{display:grid;gap:3px}.history-rating{color:#f1a600;font-size:12px;font-weight:900;display:flex;align-items:center;gap:6px;margin-top:5px}.history-rating span{color:#6f8393;font-size:9px;font-weight:650;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-rating.pending{color:#8598a7;font-size:9px;font-weight:750}.history-actions{display:flex!important;flex-direction:row!important;gap:7px;margin-top:auto;padding-top:8px}.history-actions .btn{flex:1}
.chat-form{align-items:center}.chat-attach{width:42px;height:42px;border-radius:12px;background:#edf6ff;color:#087ff5;display:grid;place-items:center;font-size:19px;cursor:pointer;flex:0 0 auto;border:1px solid #d8eaff}.chat-attach:hover{background:#e3f2ff}.chat-media{display:block;width:min(260px,100%);border:0;background:transparent;padding:0;margin:6px 0 7px;text-align:left;cursor:pointer}.chat-media img{display:block;width:100%;max-height:220px;object-fit:cover;border-radius:12px;border:1px solid rgba(0,0,0,.07)}.chat-media span{display:block;font-size:9px;color:#6c8192;margin-top:3px}.bubble.me .chat-media span{text-align:right}.bubble-text{white-space:pre-wrap;overflow-wrap:anywhere}.chat-image-preview{margin:0 10px 8px;padding:8px;background:#f3f9fe;border:1px solid #d7e9f7;border-radius:13px;display:grid;grid-template-columns:54px 1fr auto;gap:9px;align-items:center}.chat-image-preview[hidden]{display:none}.chat-image-preview img{width:54px;height:48px;border-radius:9px;object-fit:cover}.chat-image-preview div{display:grid;gap:2px}.chat-image-preview b{font-size:10px;color:#214a68}.chat-image-preview small{font-size:9px;color:#718798}.chat-image-preview button{width:27px;height:27px;border-radius:50%;border:0;background:#fff;color:#6b8192;font-size:18px;cursor:pointer}.chat-storage-note{padding:0 11px 9px;color:#8a9aa6;font-size:8.5px;text-align:center}.chat-photo-request{margin:0 10px 8px;border:1px dashed #b8d9f5;background:#f6fbff;color:#27688f;padding:8px 10px;border-radius:11px;font-size:9px;font-weight:850;cursor:pointer}.chat-image-view{text-align:center}.chat-image-view img{max-width:100%;max-height:72vh;border-radius:17px;object-fit:contain;background:#edf3f8}.chat-image-view p{font-size:10px;color:#738696}
@media(max-width:620px){.assigned-pro.identity-card{grid-template-columns:auto 1fr;padding:13px}.assigned-photo{width:70px;height:70px;border-radius:20px}.assigned-pro.identity-card .contact-actions{grid-column:1/-1;margin:4px 0 0;width:100%;justify-content:flex-start}.identity-note{font-size:8.5px}.rating-stars .star-btn{font-size:34px}.history-card{min-width:270px}.chat-messages{height:245px}.chat-form{gap:6px;padding:8px}.chat-attach,.send-chat{width:40px;height:40px}.chat-form input{padding:9px 10px}.chat-storage-note{font-size:8px}}

/* v0.14 — modo servicio con un solo mapa + adjuntos de chat más visibles */
#customerDiscovery[hidden],#customerDiscoveryExtras[hidden],#proDiscovery[hidden]{display:none!important}
.single-map-service{max-width:100%;scroll-margin-top:88px}.active-service-focus{scroll-margin-top:88px}.active-service-title{align-items:center}.active-service-title .eyebrow{display:block;margin-bottom:3px}.active-service-title h2{margin:0;font-size:20px}
.service-route-primary{margin-top:14px;border-color:#c9e2f5;box-shadow:0 14px 36px rgba(10,78,132,.12)}.tracking-map-primary{height:430px!important}.active-route-center{position:absolute;z-index:35;right:14px;top:14px;width:42px;height:42px;border:1px solid #d8e8f4;border-radius:14px;background:rgba(255,255,255,.96);color:#087ff5;box-shadow:0 8px 22px rgba(18,70,105,.13);font-size:19px;font-weight:900;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
body.service-tracking-customer #currentWrap,body.service-tracking-professional #activeJob{animation:serviceFocusIn .24s ease-out}@keyframes serviceFocusIn{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}
.chat-attach-guide{margin:0 10px 8px;padding:9px 10px;border:1px solid #d9eaf7;border-radius:13px;background:#f7fbff;display:flex;align-items:center;gap:9px}.chat-attach-guide>span{width:34px;height:34px;border-radius:11px;background:#e7f4ff;display:grid;place-items:center;flex:0 0 auto}.chat-attach-guide b{display:block;font-size:10px;color:#214a68}.chat-attach-guide small{display:block;margin-top:2px;font-size:8.5px;line-height:1.35;color:#748998}.chat-attach-wide{width:auto!important;min-width:122px;padding:0 11px;display:flex!important;align-items:center;justify-content:center;gap:6px}.chat-attach-wide b{font-size:10px;white-space:nowrap}.chat-attach-wide span{font-size:17px}.chat-storage-note{line-height:1.35}
@media(max-width:620px){.single-map-service,.active-service-focus{scroll-margin-top:68px}.tracking-map-primary{height:min(48dvh,390px)!important;min-height:310px}.active-route-center{right:10px;top:10px;width:40px;height:40px;border-radius:13px}.active-service-title{margin-left:0!important;margin-right:0!important}.active-service-title h2{font-size:18px}.chat-attach-guide{padding:8px;margin:0 8px 7px}.chat-attach-guide small{font-size:8px}.chat-attach-wide{min-width:108px!important;padding:0 9px}.chat-attach-wide b{font-size:9px}.chat-form input{min-width:0}}
@media(max-width:390px){.chat-attach-wide{min-width:44px!important;width:44px!important;padding:0}.chat-attach-wide b{display:none}.chat-attach-guide small strong{font-weight:900}}


/* v0.15 — reputación pública, tiempos de historial y cámara/galería */
.rating-badge small{font-size:9px;font-weight:850;opacity:.72}.rating-badge.new-rating{background:#f2f6f9;color:#617689}.history-times{display:grid;gap:3px;margin-top:6px;padding:7px 8px;border-radius:10px;background:#f6faff;border:1px solid #e0edf7}.history-times span{font-size:9px;color:#62798b;line-height:1.35}.history-times b{color:#274963;font-weight:850}.chat-photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0 10px 8px}.chat-photo-action{min-height:48px;border:1px solid #d5e8f7;border-radius:13px;background:#f7fbff;color:#256487;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:7px 10px;cursor:pointer}.chat-photo-action:hover{background:#edf7ff;border-color:#b8dcf8}.chat-photo-action>span{grid-row:1/3;font-size:21px}.chat-photo-action b{font-size:10px;color:#164c70}.chat-photo-action small{font-size:8px;color:#71899b}.chat-photo-action.camera{background:#eef8ff;color:#087ff5}.chat-form{padding-top:8px}.history-rating span{max-width:190px}
@media(max-width:420px){.chat-photo-actions{grid-template-columns:1fr 1fr;padding:0 8px 7px}.chat-photo-action{padding:7px 8px;column-gap:6px}.chat-photo-action>span{font-size:19px}.chat-photo-action b{font-size:9px}.chat-photo-action small{font-size:7.5px}.history-times span{font-size:8.5px}}

/* v0.16 — destino del servicio: dirección escrita o ubicación GPS */
.destination-card{display:grid;gap:10px;padding:12px;border:1px solid #dbe9f4;border-radius:18px;background:linear-gradient(145deg,#fff,#f8fbfe)}
.destination-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.destination-head strong{display:block;margin-top:2px;color:#173d59;font-size:14px}.destination-head small{display:block;margin-top:2px;color:#72889a;font-size:9px;line-height:1.35}.destination-status{flex:0 0 auto;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:900;background:#eaf5ff;color:#087ff5}.destination-status.address{background:#eef8f2;color:#19855b}
.destination-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px}.destination-tab{min-height:56px;border:1px solid #dce8f1;background:#fff;border-radius:14px;padding:8px 9px;display:flex;align-items:center;gap:8px;text-align:left;cursor:pointer}.destination-tab>span{width:34px;height:34px;border-radius:11px;background:#f1f7fb;display:grid;place-items:center;font-size:18px;flex:0 0 auto}.destination-tab div{display:grid;gap:1px}.destination-tab b{font-size:10px;color:#244963}.destination-tab small{font-size:8px;color:#7d90a0}.destination-tab.active{border-color:#82c2ff;background:#f2f8ff;box-shadow:0 5px 17px rgba(8,128,248,.10)}.destination-tab.active>span{background:#fff;color:#087ff5}
.destination-pane[hidden]{display:none!important}.destination-pane{display:grid;gap:8px}.address-lookup-row{display:grid;grid-template-columns:1fr auto;gap:6px}.address-lookup-row .btn{min-width:80px}.field-help{display:block;margin-top:4px;color:#8294a2;font-size:8.5px;line-height:1.35}.optional{font-weight:600;color:#93a2ad;font-size:8px}.resolved-address{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border:1px dashed #bfd9ee;border-radius:12px;background:#f8fbfe;color:#6d8495}.resolved-address>span{width:27px;height:27px;border-radius:9px;background:#eef5fa;display:grid;place-items:center;flex:0 0 auto}.resolved-address div{display:grid;gap:2px}.resolved-address b{font-size:9.5px;color:#496b83}.resolved-address small{font-size:8px;line-height:1.35}.resolved-address.ready{border-style:solid;border-color:#bfe8d5;background:#f2fbf7;color:#16835a}.resolved-address.ready>span{background:#dcf6e9;color:#16835a}.resolved-address.ready b{color:#176d50}
.gps-destination-button{width:100%;border:1px solid #d6e8f7;background:#f5faff;border-radius:14px;padding:10px;display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;text-align:left;cursor:pointer;color:#24516f}.gps-destination-button>span{width:36px;height:36px;border-radius:12px;background:#e5f3ff;display:grid;place-items:center;font-size:19px}.gps-destination-button div{display:grid;gap:2px}.gps-destination-button b{font-size:10.5px}.gps-destination-button small{font-size:8px;color:#74899a}.gps-destination-button i{font-style:normal;color:#087ff5;font-size:19px}
.geocode-results{display:grid;gap:8px;margin-top:14px}.geocode-result{width:100%;border:1px solid #dfeaf2;background:#fff;border-radius:15px;padding:10px 11px;display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;text-align:left;cursor:pointer}.geocode-result:hover{border-color:#a8d4fb;background:#f6fbff}.geocode-result>span{width:36px;height:36px;border-radius:12px;background:#edf7ff;display:grid;place-items:center}.geocode-result div{min-width:0;display:grid;gap:2px}.geocode-result b{font-size:10.5px;color:#1e4967}.geocode-result small{font-size:8.5px;color:#74899a;line-height:1.35}.geocode-result i{font-style:normal;color:#087ff5;font-weight:900}.geocode-credit{margin-top:10px;color:#8c9ba6;font-size:8px;text-align:center}
@media(max-width:620px){.destination-card{padding:10px;border-radius:16px}.destination-head strong{font-size:12.5px}.destination-tabs{grid-template-columns:1fr 1fr}.destination-tab{min-height:52px;padding:7px}.destination-tab>span{width:31px;height:31px;font-size:17px}.destination-tab b{font-size:9.5px}.destination-tab small{font-size:7.5px}.address-lookup-row{grid-template-columns:1fr auto}.address-lookup-row .btn{min-width:72px;padding-left:8px;padding-right:8px}.destination-pane .request-mini-grid{grid-template-columns:1fr!important}.resolved-address small{font-size:7.8px}}
@media(max-width:390px){.destination-tabs{grid-template-columns:1fr}.destination-tab{min-height:48px}.destination-tab small{display:block}.address-lookup-row{grid-template-columns:1fr}.address-lookup-row .btn{width:100%}}
.manual-pin-button{width:100%;border:1px dashed #b8d8f2;background:#f7fbff;color:#2d668f;border-radius:12px;padding:8px 10px;font-size:9px;font-weight:850;cursor:pointer;text-align:center}.manual-pin-button:hover{background:#edf7ff;border-color:#86c2f3}
/* v0.17: una sola vista de mapa durante servicio + reputación y foto robusta */
.assigned-photo{position:relative;overflow:hidden}.assigned-photo .professional-photo-img{width:100%;height:100%;object-fit:cover;display:block}.assigned-photo .pro-photo-fallback{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#eef7ff,#dfeeff);font-size:34px}.assigned-photo .pro-photo-fallback[hidden]{display:none!important}
.rating-professional-mini{display:flex;align-items:center;gap:10px;margin:10px 0 2px;padding:9px 10px;border:1px solid #e0ecf5;border-radius:14px;background:#f8fbfe}.rating-professional-photo{width:48px;height:48px;border-radius:14px;overflow:hidden;background:#edf6ff;flex:0 0 auto}.rating-professional-photo .professional-photo-img{width:100%;height:100%;object-fit:cover;display:block}.rating-professional-photo .pro-photo-fallback{width:100%;height:100%;display:grid;place-items:center;font-size:22px}.rating-professional-photo .pro-photo-fallback[hidden]{display:none!important}.rating-professional-mini>div:last-child{display:grid;gap:4px}.rating-professional-mini>div:last-child>b{font-size:12px;color:#173a54}.rating-professional-mini .trust-row{gap:5px}
body.service-tracking-customer #customerDiscovery,body.service-tracking-customer #customerDiscoveryExtras,body.service-tracking-professional #proDiscovery{display:none!important}


/* v0.20 — chat compacto tipo mensajería + cámara directa */
.chat-attach-guide,.chat-photo-actions{display:none!important}.chat-form-whatsapp{display:grid!important;grid-template-columns:40px 40px minmax(0,1fr) 42px;align-items:center;gap:6px;padding:8px 9px!important;border-top:1px solid #eef3f7;background:#fff}.chat-tool-button{width:40px;height:40px;border:0;border-radius:50%;display:grid;place-items:center;background:#f0f5f8;color:#315f7d;font-size:19px;cursor:pointer;padding:0;line-height:1}.chat-tool-button:hover{background:#e5f2fb;color:#087ff5}.chat-tool-button.camera{font-size:18px}.chat-form-whatsapp>input[type="text"],.chat-form-whatsapp>input:not([type]){min-width:0}.chat-form-whatsapp #chatInput{min-width:0}.chat-form-whatsapp input[id^="chatInput-"]{height:40px;border-radius:20px!important;background:#f5f8fa!important;border:1px solid #e0e9ef!important;padding:0 14px!important}.chat-form-whatsapp .send-chat{width:40px;height:40px;border-radius:50%}.chat-image-preview{margin:8px 9px!important}.chat-storage-note{padding:0 12px 8px!important;font-size:8px!important;color:#91a0aa!important}.camera-capture-overlay{position:fixed;inset:0;z-index:6000;background:rgba(4,20,31,.82);backdrop-filter:blur(8px);display:grid;place-items:center;padding:14px}.camera-capture-sheet{width:min(560px,100%);background:#0b1d29;border-radius:24px;overflow:hidden;box-shadow:0 28px 90px rgba(0,0,0,.45);color:#fff}.camera-capture-head{display:flex;align-items:center;justify-content:space-between;padding:14px 15px;background:#102736}.camera-capture-head>div{display:grid;gap:2px}.camera-capture-head b{font-size:13px}.camera-close{width:34px;height:34px;border:0;border-radius:50%;background:#ffffff18;color:#fff;font-size:24px;cursor:pointer}.camera-stage{position:relative;aspect-ratio:4/3;background:#02090e;display:grid;place-items:center;overflow:hidden}.camera-stage video{width:100%;height:100%;object-fit:cover;display:block}.camera-status{position:absolute;inset:auto 14px 14px;background:#071a27cc;border-radius:12px;padding:8px 10px;font-size:10px;text-align:center}.camera-actions{display:grid;grid-template-columns:1fr 76px 1fr;align-items:center;gap:10px;padding:14px;background:#102736}.camera-actions button{border:0;cursor:pointer}.camera-switch,.camera-cancel{background:#ffffff12;color:#e6f2f8;border-radius:12px!important;padding:10px 11px;font-size:10px;font-weight:800}.camera-shot{width:68px;height:68px;border-radius:50%;justify-self:center;background:#fff;color:#fff;border:6px solid #ffffff55!important;box-shadow:inset 0 0 0 4px #0b1d29;font-size:0}.camera-shot:disabled{opacity:.4}.camera-open{overflow:hidden!important}
@media(max-width:620px){.chat-form-whatsapp{grid-template-columns:38px 38px minmax(0,1fr) 40px;gap:5px;padding:7px 8px!important}.chat-tool-button{width:38px;height:38px}.chat-form-whatsapp .send-chat{width:38px;height:38px}.camera-capture-overlay{padding:0;place-items:end center}.camera-capture-sheet{border-radius:24px 24px 0 0;width:100%}.camera-stage{aspect-ratio:3/4;max-height:70dvh}.camera-actions{grid-template-columns:1fr 72px 1fr}.camera-shot{width:64px;height:64px}}


/* ==========================================================
   JUICIOSOS v0.25 — SCROLL MOVIL NATURAL, SIN BARRAS VISIBLES
   ========================================================== */
html,body,.app-shell,.content,.request-sheet,.modal-card,.chat-messages,.history-strip,.pro-stats-mini,.fresh-sheet{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar,.app-shell::-webkit-scrollbar,.content::-webkit-scrollbar,.request-sheet::-webkit-scrollbar,.modal-card::-webkit-scrollbar,.chat-messages::-webkit-scrollbar,.history-strip::-webkit-scrollbar,.pro-stats-mini::-webkit-scrollbar,.fresh-sheet::-webkit-scrollbar{width:0!important;height:0!important;display:none!important;background:transparent!important}
html,body{overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch}
@media(max-width:620px){
  body{overscroll-behavior-y:auto!important;touch-action:pan-y!important}
  .app-shell,.content{overflow:visible!important}
  .request-sheet,.fresh-sheet,.modal-card,.chat-messages{overscroll-behavior-y:auto!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important}
  .maplibregl-map,.leaflet-container{touch-action:pan-y pinch-zoom!important}
}

/* ==========================================================
   JUICIOSOS v0.21 — CIERRE DE SERVICIO + PRIVACIDAD
   ========================================================== */
.service-finished-modal{text-align:center;max-width:560px;margin:auto;padding:8px 6px}
.finished-check{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:linear-gradient(145deg,#e9fff4,#d8f8e8);border:1px solid #b8efd4;color:#0a9a58;font-size:34px;font-weight:1000;box-shadow:0 12px 34px rgba(10,154,88,.12)}
.service-finished-modal h2{margin:6px 0 10px;font-size:28px;color:#0d2f49}
.service-finished-modal>p{color:#60798e;line-height:1.55}
.finished-rating-summary{display:flex;align-items:center;gap:12px;text-align:left;margin:18px auto;padding:13px 15px;max-width:410px;border:1px solid #d9e9f7;background:#f7fbff;border-radius:18px}
.finished-rating-summary>span{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#fff4ce;font-size:22px}
.finished-rating-summary div{display:grid;gap:2px}.finished-rating-summary b{color:#173d59}.finished-rating-summary small{color:#70869a}
.finished-note{font-size:12px}.service-finished-modal .btn{min-width:240px;margin-top:5px}
.legal-page{max-width:980px;margin:30px auto;padding:0 18px 60px}.legal-hero{padding:24px;border-radius:24px;background:linear-gradient(145deg,#eef7ff,#fff);border:1px solid #d9e9f8;margin-bottom:16px}.legal-hero h1{margin:5px 0 8px;color:#0d304b}.legal-hero p{color:#5f778b;line-height:1.6}.legal-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.legal-nav a{padding:8px 10px;border-radius:999px;background:#fff;border:1px solid #dbe9f5;color:#0877e7;font-size:12px;font-weight:850;text-decoration:none}.legal-section{background:#fff;border:1px solid #e2ebf3;border-radius:20px;padding:20px;margin:12px 0;box-shadow:0 8px 24px rgba(18,64,98,.05)}.legal-section h2{margin-top:0;color:#173d59}.legal-section h3{color:#285d84}.legal-section p,.legal-section li{color:#536e84;line-height:1.65}.legal-callout{border-left:4px solid #087ff5;background:#f3f9ff;padding:12px 14px;border-radius:12px;color:#3f617d}.legal-warning{border-left-color:#f0a100;background:#fff9e8}.privacy-table{display:grid;gap:8px}.privacy-row{display:grid;grid-template-columns:1.05fr 1.6fr 1.6fr;gap:10px;padding:11px;border:1px solid #e8eef4;border-radius:14px}.privacy-row b{color:#173d59}.privacy-row span{color:#60788d;font-size:12px}.privacy-form{display:grid;gap:12px}.privacy-form label{display:grid;gap:5px;font-weight:800;color:#234c6b}.privacy-form input,.privacy-form textarea,.privacy-form select{width:100%;padding:12px;border:1px solid #ccdfef;border-radius:12px;background:#fff}.privacy-form button{justify-self:start}
@media(max-width:650px){.privacy-row{grid-template-columns:1fr}.service-finished-modal h2{font-size:24px}}

/* v0.23 - diagnóstico visible de conectividad Android */
.app-connection-error{max-width:640px;margin:56px auto;text-align:center;padding:30px}.connection-error-icon{width:68px;height:68px;border-radius:22px;display:grid;place-items:center;margin:0 auto 14px;background:#eaf4ff;font-size:31px}.app-connection-error h2{font-size:clamp(24px,5vw,34px);margin:8px 0 10px}.app-connection-error p{color:var(--muted);line-height:1.6}.connection-server{display:grid;gap:5px;text-align:left;background:#f6faff;border:1px solid var(--line);padding:12px 14px;border-radius:14px;margin:18px 0}.connection-server small{color:var(--muted);font-weight:800}.connection-server code{white-space:normal;word-break:break-all;color:var(--blue2);font-weight:800}.connection-help{display:grid;gap:7px;text-align:left;margin-top:20px;padding:15px;border-radius:15px;background:#fff9e8;border:1px solid #ffe2a8;color:#6e5200;font-size:12px}.connection-help b{font-size:13px}.app-connection-error .row{justify-content:center}@media(max-width:650px){.app-connection-error{margin:24px auto;padding:22px 18px}.connection-error-icon{width:58px;height:58px;border-radius:18px}}


/* ==========================================================
   JUICIOSOS v0.26 — SCROLL MOVIL FLUIDO / UNA SOLA SUPERFICIE
   En teléfono eliminamos el scroll anidado del formulario.
   La página completa se desplaza con un solo dedo y las barras
   permanecen invisibles. El mapa sigue siendo informativo sin
   bloquear el gesto vertical del documento.
   ========================================================== */
@media (max-width:620px){
  html,
  body{
    height:auto!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    scroll-behavior:auto!important;
    overscroll-behavior-y:auto!important;
    touch-action:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body{
    position:relative!important;
    width:100%!important;
  }

  .app-shell,
  .content{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    overscroll-behavior:visible!important;
    touch-action:auto!important;
  }

  /* El descubrimiento deja de ser una pantalla cerrada de 100dvh.
     Mapa + solicitud forman parte del documento y se desplazan juntos. */
  .customer-map-stage{
    display:flex!important;
    flex-direction:column!important;
    position:relative!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    isolation:isolate;
    background:#eef6fc!important;
  }

  .customer-map-stage .map-hero{
    position:relative!important;
    order:1;
    flex:0 0 auto!important;
    height:clamp(300px,44dvh,410px)!important;
    min-height:300px!important;
    max-height:410px!important;
  }

  /* El formulario ya NO tiene scroll propio. Así desaparece la sensación
     de tener que arrastrar una barra lateral o acertar sobre un contenedor. */
  .customer-map-stage .request-sheet,
  .customer-map-stage .request-sheet.fresh-sheet{
    order:2;
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:calc(100% - 16px)!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:-24px 8px 14px!important;
    padding:14px 13px calc(16px + env(safe-area-inset-bottom))!important;
    overflow:visible!important;
    overscroll-behavior:auto!important;
    touch-action:auto!important;
    scroll-behavior:auto!important;
    -webkit-overflow-scrolling:auto!important;
    border-radius:25px!important;
    box-shadow:0 16px 42px rgba(16,55,88,.18)!important;
  }

  .customer-map-stage .request-sheet .sheet-handle{
    display:none!important;
  }

  .customer-map-stage .request-sheet-head{
    position:static!important;
    top:auto!important;
  }

  .customer-map-stage .request-sheet .request-now,
  .customer-map-stage .request-sheet.fresh-sheet .request-now{
    position:static!important;
    bottom:auto!important;
    box-shadow:0 9px 20px rgba(8,128,248,.15)!important;
  }

  /* Evita que el mapa robe el gesto vertical. MapLibre cooperativeGestures
     sigue permitiendo la interacción propia del mapa cuando corresponde. */
  .maplibregl-map,
  .maplibregl-canvas-container,
  .maplibregl-canvas,
  .leaflet-container{
    touch-action:pan-y pinch-zoom!important;
    overscroll-behavior:auto!important;
  }

  /* Solo los componentes que necesitan un historial interno conservan
     scroll propio (chat/modal). También sin barra visible. */
  .modal-card,
  .chat-messages{
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
    overscroll-behavior-y:contain!important;
  }

  .fresh-sheet{
    max-height:none!important;
  }
}

@media (max-width:390px){
  .customer-map-stage .map-hero{
    height:clamp(285px,42dvh,360px)!important;
    min-height:285px!important;
  }
  .customer-map-stage .request-sheet,
  .customer-map-stage .request-sheet.fresh-sheet{
    margin-top:-20px!important;
  }
}


/* ==========================================================
   JUICIOSOS v0.27 — MAPA LATAM + PRODUCCIÓN TEMPRANA
   ========================================================== */
/* El selector inferior Cliente/Profesional se elimina del flujo real:
   el rol se resuelve por la cuenta al iniciar sesión. */
.role-nav{display:none!important}
.app-shell{padding-bottom:18px!important}
@media(max-width:620px){.app-shell{padding-bottom:0!important}.content{padding-bottom:24px!important}}

/* Atribución del mapa: permanece accesible por licencia, pero deja de ser
   una franja sobre la interfaz. MapLibre la muestra como botón compacto. */
.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib{margin:8px 0 0 8px!important}
.maplibregl-ctrl-attrib.maplibregl-compact{
  border:1px solid rgba(16,47,73,.10)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 8px 22px rgba(16,47,73,.12)!important;
  backdrop-filter:blur(10px);
  max-width:30px!important;
  min-height:30px!important;
  overflow:visible!important;
}
.maplibregl-ctrl-attrib.maplibregl-compact.maplibregl-compact-show{max-width:min(86vw,460px)!important;padding:6px 32px 6px 8px!important}
.maplibregl-ctrl-attrib.maplibregl-compact:not(.maplibregl-compact-show) .maplibregl-ctrl-attrib-inner{display:none!important}
.maplibregl-ctrl-attrib-button{width:30px!important;height:30px!important;opacity:.82}
.maplibregl-ctrl-attrib-inner{font-size:9px!important;line-height:1.35!important;color:#526b7d!important;white-space:normal!important}
.maplibregl-ctrl-attrib-inner a{color:#2b658e!important}
/* Fallback Leaflet: pequeño y claro, nunca una barra de ancho completo. */
.leaflet-control-attribution{max-width:190px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;background:rgba(255,255,255,.90)!important;border-radius:9px!important;font-size:7.5px!important;padding:3px 6px!important}

/* Alerta fuerte de trabajo para profesional */
.job-alert-backdrop{position:fixed;inset:0;z-index:4200;background:rgba(7,29,47,.48);backdrop-filter:blur(5px);padding:max(82px,calc(env(safe-area-inset-top) + 72px)) 14px 20px;display:flex;align-items:flex-start;justify-content:center}
.job-alert-backdrop[hidden]{display:none}
.job-alert-card{position:relative;width:min(520px,100%);background:#fff;border-radius:26px;padding:22px;box-shadow:0 28px 80px rgba(3,38,70,.34);border:1px solid rgba(8,128,248,.13);animation:jobAlertIn .22s ease-out}
.job-alert-close{position:absolute;right:12px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:#eef6fd;color:#385a72;font-size:24px;cursor:pointer}
.job-alert-pulse{width:62px;height:62px;border-radius:22px;display:grid;place-items:center;background:#eaf5ff;margin-bottom:10px;position:relative}
.job-alert-pulse:before{content:'';position:absolute;inset:-8px;border-radius:28px;border:2px solid rgba(8,128,248,.22);animation:jobPulse 1.45s infinite}
.job-alert-pulse span{font-size:30px}.job-alert-card h2{margin:3px 42px 6px 0;color:#102f49}.job-alert-card p{margin:0 0 13px;color:#5c7487;line-height:1.5}
.job-alert-facts{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 15px}.job-alert-facts span{padding:7px 10px;border-radius:999px;background:#eef7ff;color:#176aa9;font-size:11px;font-weight:800}.job-alert-facts b{font-size:14px}.job-alert-actions{display:grid;grid-template-columns:.85fr 1.15fr;gap:9px}.job-alert-card>small{display:block;margin-top:11px;color:#7890a2;line-height:1.4}
@keyframes jobAlertIn{from{opacity:0;transform:translateY(-16px) scale(.98)}to{opacity:1;transform:none}}@keyframes jobPulse{0%{opacity:.8;transform:scale(.84)}100%{opacity:0;transform:scale(1.18)}}

.gps-required-modal{text-align:center}.gps-required-icon{width:76px;height:76px;border-radius:26px;background:#eaf5ff;display:grid;place-items:center;font-size:38px;margin:2px auto 12px}.gps-required-modal .notice{text-align:left;margin:14px 0}.gps-required-modal .row{justify-content:center}

@media(max-width:620px){
  .job-alert-backdrop{padding-top:max(72px,calc(env(safe-area-inset-top) + 62px));align-items:flex-start}
  .job-alert-card{padding:18px;border-radius:24px}.job-alert-actions{grid-template-columns:1fr}.job-alert-card h2{font-size:22px}
  .maplibregl-ctrl-top-left .maplibregl-ctrl-attrib{margin:7px 0 0 7px!important}
}


/* v0.27.1 — cierre de tracking y confirmación bilateral obligatoria */
.tracking-ended-card{display:flex;align-items:center;gap:12px;margin:14px 0;padding:14px 15px;border-radius:18px;background:#effbf6;border:1px solid #bcebd6;color:#155f46}.tracking-ended-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#d9f7e9;font-size:20px;flex:0 0 auto}.tracking-ended-card div{display:grid;gap:3px}.tracking-ended-card b{font-size:14px}.tracking-ended-card small{color:#55766a;line-height:1.45}.tracking-ended-card.review{background:#fff7e8;border-color:#f0d28b;color:#76520a}.tracking-ended-card.review>span{background:#ffedc2}.tracking-ended-card.review small{color:#826c3c}
.mandatory-outcome-modal{display:grid;gap:14px}.mandatory-outcome-lock{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0b83f8,#0068d9);color:#fff;font-size:28px;box-shadow:0 12px 28px rgba(8,128,248,.22)}.mandatory-outcome-modal h2{margin:0!important;font-size:26px}.mandatory-outcome-modal .subtitle{margin:0!important;line-height:1.55}.mandatory-outcome-summary{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:start;padding:15px;border-radius:18px;border:1px solid #cfe4f7;background:#f7fbff}.mandatory-outcome-summary.agreement{border-color:#bcebd6;background:#f2fcf7}.mandatory-outcome-summary.diagnostic{border-color:#f2d9a2;background:#fffaf0}.mandatory-outcome-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#fff;font-size:24px;box-shadow:0 5px 14px rgba(30,70,100,.08)}.mandatory-outcome-summary h3{margin:3px 0 4px;color:#173d59}.mandatory-outcome-summary p{margin:0;color:#62798d;line-height:1.48;font-size:13px}.mandatory-outcome-question{display:grid;gap:4px;padding:13px 14px;border-radius:15px;background:#eef7ff;color:#174f7c}.mandatory-outcome-question small{color:#66839c}.mandatory-outcome-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mandatory-outcome-actions .btn{min-height:50px}.outcome-dispute-box{padding:14px;border:1px solid #ffd0cc;border-radius:17px;background:#fff7f6}.outcome-dispute-box[hidden]{display:none}.mandatory-outcome-foot{margin:0;text-align:center;color:#75899a;font-size:11px}.outcome-wait-card{max-width:820px;margin:auto}.modal-backdrop:has(.mandatory-outcome-modal){background:rgba(7,28,45,.72);backdrop-filter:blur(8px)}
@media(max-width:600px){.mandatory-outcome-modal h2{font-size:23px}.mandatory-outcome-actions{grid-template-columns:1fr}.mandatory-outcome-summary{grid-template-columns:auto 1fr}.modal-card:has(.mandatory-outcome-modal){width:calc(100% - 12px);max-height:94dvh;padding:20px;border-radius:24px}.tracking-ended-card{align-items:flex-start}}


/* v0.27.2 — temporalidad real: ahora / hoy flexible / programado */
.timing-field{margin-top:2px}.timing-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.timing-choice{border:1px solid #d9e7f3;background:#fff;border-radius:16px;padding:12px;text-align:left;display:flex;gap:9px;align-items:flex-start;color:var(--ink);cursor:pointer;min-height:82px}.timing-choice>span{font-size:22px}.timing-choice b,.timing-choice small{display:block}.timing-choice small{font-size:10px;color:var(--muted);margin-top:3px;line-height:1.35}.timing-choice.active{border-color:var(--blue);background:#f1f8ff;box-shadow:0 0 0 3px rgba(8,128,248,.09)}.scheduled-fields{margin-top:10px;padding:14px;border:1px solid #cfe4f6;border-radius:17px;background:#f8fcff}.schedule-head{display:flex;gap:10px;align-items:center;margin-bottom:11px}.schedule-head>span{font-size:25px}.schedule-head b,.schedule-head small{display:block}.schedule-head small,.schedule-hint{color:var(--muted);font-size:11px;line-height:1.45}.request-mini-grid.three{grid-template-columns:1.15fr .85fr .85fr}.schedule-banner,.reservation-confirmed-card{display:flex;gap:11px;align-items:center;border:1px solid #cfe4f6;background:#f5fbff;border-radius:16px;padding:12px 14px;margin:10px 0}.schedule-banner>span,.reservation-confirmed-card>span{font-size:25px}.schedule-banner b,.schedule-banner small,.reservation-confirmed-card b,.reservation-confirmed-card strong,.reservation-confirmed-card small{display:block}.schedule-banner small,.reservation-confirmed-card small{color:var(--muted);font-size:11px;margin-top:3px}.reservation-confirmed-card strong{color:#0b6fcf;margin-top:2px}.reservation-confirmed-card.today{background:#fffaf0;border-color:#f4ddb0}.scheduled-opportunity{border-style:dashed}.scheduled-reservations{margin-bottom:16px}.compact-title{margin-top:4px}.scheduled-reservation-card{background:linear-gradient(180deg,#fff,#f7fbff)}.schedule-chip{font-size:11px;font-weight:850;background:#eaf4ff;color:#096ebf;padding:7px 9px;border-radius:999px}.reservation-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:12px}.reservation-actions small{color:var(--muted);max-width:60%;line-height:1.4}.status.reserved{background:#eaf4ff;color:#0a6bbd}.eta-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.eta-choice-grid button{border:1px solid #d2e4f4;background:#f8fcff;border-radius:14px;padding:13px;font-weight:850;color:#16425f;cursor:pointer}.eta-choice-grid button:hover{border-color:var(--blue);background:#eef7ff}.pre-route-card .wide{width:100%;margin:12px 0}.scheduled-search .radar{opacity:.72}.job-alert-card.today-flex{border-top:5px solid #f2b13f}.job-alert-card.urgent-now{border-top:5px solid #f04438}
@media(max-width:650px){.timing-choice-grid{grid-template-columns:1fr}.timing-choice{min-height:auto;align-items:center}.request-mini-grid.three{grid-template-columns:1fr 1fr}.request-mini-grid.three .field:first-child{grid-column:1/-1}.reservation-actions{align-items:stretch;flex-direction:column}.reservation-actions small{max-width:none}.eta-choice-grid{grid-template-columns:1fr 1fr}}


/* v0.27.3 — acceso único por identidad y rol */
.access-gateway{max-width:820px;margin:18px auto 70px;text-align:center;background:linear-gradient(180deg,#fff,#f6fbff);border:1px solid #dcebf7;border-radius:32px;padding:32px;box-shadow:0 22px 64px rgba(14,84,148,.11)}.access-brand-mark{width:92px;height:92px;margin:0 auto 10px;border-radius:28px;background:#fff;display:grid;place-items:center;box-shadow:0 12px 34px rgba(8,128,248,.13)}.access-brand-mark img{width:78px;height:78px;object-fit:contain}.access-gateway h1{font-size:clamp(31px,7vw,48px);margin:7px 0 8px;color:#102f49}.access-lead{max-width:620px;margin:0 auto 21px;color:#5c7487;line-height:1.6}.access-main-actions{max-width:650px;margin:auto}.access-main{width:100%;min-height:52px;font-size:16px}.access-register-grid,.role-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.access-role-card,.role-entry-card{border:1px solid #d9e7f3;background:#fff;border-radius:18px;padding:15px;text-align:left;display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;color:#173d59;cursor:pointer;box-shadow:0 5px 16px rgba(20,83,130,.04)}.access-role-card:hover,.role-entry-card:hover{border-color:#83bef1;background:#f8fcff}.access-role-card>span,.role-entry-card>span{width:44px;height:44px;border-radius:14px;background:#eaf5ff;display:grid;place-items:center;font-size:23px}.access-role-card.professional>span,.role-entry-card.professional>span{background:#eef9f5}.access-role-card b,.access-role-card small,.role-entry-card b,.role-entry-card small{display:block}.access-role-card small,.role-entry-card small{color:var(--muted);margin-top:3px;font-size:11px}.access-role-card i,.role-entry-card i{font-style:normal;color:var(--blue);font-size:20px}.access-rule{display:flex;gap:10px;text-align:left;max-width:650px;margin:16px auto 0;padding:13px 15px;border-radius:16px;background:#eef7ff;color:#45677f}.access-rule>span{width:28px;height:28px;flex:0 0 auto;border-radius:50%;background:#d8edff;color:#0873d5;display:grid;place-items:center;font-weight:900}.access-rule p{margin:0;font-size:12px;line-height:1.5}.access-test-card{max-width:650px;margin:18px auto 0;padding:15px;border:1px dashed #aacfeb;border-radius:18px;background:#f8fcff;text-align:left;display:flex;gap:16px;justify-content:space-between;align-items:center}.access-test-card h3{margin:2px 0 4px}.access-test-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.4}.access-test-actions{display:flex;gap:7px;flex:0 0 auto}.session-strip{position:relative}.session-identity,.pro-session-identity{display:flex;align-items:center;gap:10px}.session-avatar{width:42px;height:42px;border-radius:14px;background:#eaf5ff;color:#0871cd;display:grid;place-items:center;font-weight:900;font-size:17px}.session-avatar.pro{background:#e9f8f2;color:#137653}.session-actions{flex-wrap:wrap}.pro-session-identity strong,.pro-session-identity small{display:block}.pro-session-identity small{color:var(--muted);margin-top:3px}.login-help-row{display:flex!important;justify-content:center;gap:16px;flex-wrap:wrap}.text-action{border:0;background:transparent;color:#0875d8;font-weight:800;font-size:12px;cursor:pointer;padding:5px}.role-entry-modal h2{margin:5px 0}.role-entry-grid{margin-top:16px}
@media(max-width:650px){.access-gateway{margin:5px auto 42px;padding:22px 14px;border-radius:26px}.access-brand-mark{width:78px;height:78px;border-radius:23px}.access-brand-mark img{width:66px;height:66px}.access-register-grid,.role-entry-grid{grid-template-columns:1fr}.access-test-card{display:block}.access-test-actions{margin-top:11px;display:grid;grid-template-columns:1fr 1fr}.session-strip{align-items:flex-start}.session-actions{justify-content:flex-end}.pro-hero .row{width:100%}.pro-hero .row .btn{flex:1}.pro-control{gap:12px}}


/* v0.28.1 — verificación profesional con cámara */
.professional-registration{display:grid;gap:2px}.identity-security-note{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid #bfe0fb;background:#f2f9ff;border-radius:18px}.identity-security-note>span{font-size:24px}.identity-security-note b,.identity-security-note small{display:block}.identity-security-note small{color:#587286;line-height:1.5;margin-top:3px}.identity-capture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.identity-capture-card{border:1px solid #d7e6f2;border-radius:18px;padding:12px;background:#fbfdff;display:flex;flex-direction:column;gap:10px}.identity-capture-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.identity-capture-head b{font-size:13px;color:#173d59}.identity-capture-head b small{font-weight:700;color:#7c8e9d}.identity-capture-head span{display:block;font-size:10px;color:#718597;line-height:1.35;margin-top:2px}.identity-capture-state{font-size:9px!important;font-weight:900;color:#996400;background:#fff3d3;border-radius:999px;padding:5px 7px;white-space:nowrap}.identity-capture-state.ready{color:#087c50;background:#e5faef}.identity-capture-preview{aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#eef5fb;border:1px dashed #b8cede;position:relative;display:grid;place-items:center}.identity-capture-preview img{width:100%;height:100%;object-fit:cover}.identity-placeholder{text-align:center;padding:12px;color:#6c8294}.identity-placeholder>span{display:block;font-size:34px;margin-bottom:5px}.identity-placeholder small{font-size:10px;line-height:1.4}.identity-preview-ok{position:absolute;left:7px;right:7px;bottom:7px;padding:7px 9px;border-radius:10px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);box-shadow:0 4px 14px rgba(20,60,90,.12)}.identity-preview-ok b,.identity-preview-ok small{display:block}.identity-preview-ok b{font-size:11px;color:#087c50}.identity-preview-ok small{font-size:9px;color:#61798c;margin-top:2px}.identity-capture-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.identity-capture-actions .btn{font-size:11px;padding:9px}.identity-capture-actions .identity-repeat{grid-column:1/-1}.camera-guide{position:absolute;inset:0;pointer-events:none}.camera-guide.face{display:grid;place-items:center}.camera-guide.face:before{content:"";width:min(55vw,260px);height:min(72vw,340px);max-height:72%;border:3px solid rgba(255,255,255,.9);border-radius:48% 48% 43% 43%;box-shadow:0 0 0 9999px rgba(0,0,0,.18)}.camera-guide.document{display:grid;place-items:center;padding:18px}.camera-guide.document:before{content:"";width:min(82vw,520px);aspect-ratio:1.58;border:3px solid rgba(255,255,255,.95);border-radius:16px;box-shadow:0 0 0 9999px rgba(0,0,0,.17)}.camera-guide.document span{position:absolute;bottom:18px;background:rgba(10,35,55,.75);color:#fff;padding:7px 10px;border-radius:10px;font-size:11px}.camera-stage{position:relative;overflow:hidden}.camera-stage video{width:100%;height:100%;object-fit:cover}
@media(max-width:760px){.identity-capture-grid{grid-template-columns:1fr}.identity-capture-preview{aspect-ratio:16/10}.identity-capture-actions{grid-template-columns:1fr 1fr}.professional-registration .form-grid{grid-template-columns:1fr}.professional-registration .field{grid-column:1/-1}}

/* v0.28.2 · transparencia de portal y registro seguro */
.legal-request-note{margin-top:10px;padding:11px 12px;border-radius:13px;background:#f7fbff;border:1px solid #d9ebfb;color:#4f6a80;font-size:12px;line-height:1.55}
.legal-request-note a{color:#0b72d6;font-weight:700;text-decoration:none}
.intermediary-note strong{font-size:14px}
.professional-registration .row input[type="checkbox"]{flex:0 0 auto;margin-top:3px}

.status.fee_pending{background:#fff6dd;color:#9c6300}.fee-confirm-card strong{font-size:20px}.fee-confirm-card .row{align-items:stretch}.fee-confirm-card .btn{flex:1}


/* ==========================================================
   JUICIOSOS v0.28.5 — RESPONSIVE MOVIL REAL / SIN TEXTO CORTADO
   Capa final de seguridad visual para 320px–tablet.
   No modifica lógica de negocio.
   ========================================================== */
html,body{max-width:100%;overflow-x:hidden!important}
#app,.app-shell,.content,.panel,.notice,.account-strip,.pro-card,.job-card,.verification-card,.live-service-card,.pro-hero,.pro-control,.pro-map-card,.premium-job,.access-gateway,.access-role-card,.role-entry-card,.identity-capture-card,.diagnostic-fee-card,.reservation-confirmed-card,.schedule-banner,.tracking-ended-card{min-width:0;max-width:100%}
.topbar>*,.row>*,.account-strip>*,.pro-card>*,.job-card>*,.verification-card>*,.access-role-card>*,.role-entry-card>*,.identity-capture-head>*,.diagnostic-fee-card>*,.reservation-confirmed-card>*,.schedule-banner>*,.tracking-ended-card>*{min-width:0}
.field input,.field select,.field textarea,input,select,textarea{min-width:0;max-width:100%}
p,small,label,strong,b,span,a,.meta,.hint,.notice,.legal-request-note,.access-lead,.access-rule p,.identity-capture-head span,.schedule-hint,.reservation-actions small{overflow-wrap:anywhere;word-break:normal}
.hero h1,.section-title h2,.access-gateway h1,.modal-card h2{overflow-wrap:anywhere}
img,video,canvas{max-width:100%;height:auto}

@media(max-width:760px){
  .topbar{
    width:100%!important;max-width:100%!important;height:auto!important;min-height:62px;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center!important;
    gap:6px 8px;padding-top:max(6px,env(safe-area-inset-top))!important;padding-bottom:6px!important;
  }
  .topbar:after{top:auto!important;bottom:0!important}
  .brand{min-width:0!important;max-width:100%;overflow:hidden}
  .brand img{flex:0 0 auto}
  .brand span{min-width:0}
  .brand strong,.brand small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .top-actions{min-width:0;max-width:100%;justify-content:flex-end;flex-wrap:wrap;gap:4px!important}
  .top-actions a{white-space:nowrap;flex:0 0 auto}
  .verified-pill{display:none!important}

  .content{width:100%!important;max-width:100%!important;margin:0!important;padding-left:12px!important;padding-right:12px!important}
  .content>.customer-map-stage{margin-left:-12px!important;margin-right:-12px!important;width:calc(100% + 24px)!important;max-width:none!important}
  .hero{padding:22px 18px!important;border-radius:22px!important}
  .hero h1{font-size:clamp(28px,9vw,40px)!important;line-height:1.08!important}
  .hero p{font-size:13px;line-height:1.5}
  .panel{padding:15px!important;border-radius:20px!important}
  .section-title{align-items:flex-start!important;flex-direction:column;gap:5px!important;margin-left:0!important;margin-right:0!important}
  .section-title small{text-align:left!important;max-width:100%}

  .form-grid{grid-template-columns:minmax(0,1fr)!important}
  .field,.field.full{grid-column:1/-1!important;min-width:0}
  .field label.row{display:flex!important;align-items:flex-start!important;flex-wrap:nowrap!important;gap:9px!important;line-height:1.4}
  .field label.row input[type="checkbox"]{flex:0 0 auto!important;margin-top:3px!important}

  .access-gateway{width:100%!important;margin:8px 0 30px!important;padding:20px 14px!important;border-radius:24px!important}
  .access-gateway h1{font-size:clamp(29px,10vw,42px)!important;line-height:1.05}
  .access-lead{font-size:13px;line-height:1.5!important}
  .access-register-grid,.role-entry-grid{grid-template-columns:minmax(0,1fr)!important}
  .access-role-card,.role-entry-card{grid-template-columns:auto minmax(0,1fr) auto!important;width:100%;padding:13px!important}
  .access-role-card b,.role-entry-card b{font-size:13px}
  .access-role-card small,.role-entry-card small{line-height:1.35}
  .access-rule{width:100%;padding:12px!important}
  .access-test-card{width:100%}

  .account-strip{flex-direction:column!important;align-items:stretch!important}
  .account-strip>.row,.session-actions{justify-content:flex-start!important;width:100%}
  .session-identity,.pro-session-identity{max-width:100%}
  .session-identity>div,.pro-session-identity>div{min-width:0}
  .session-identity strong,.session-identity small,.pro-session-identity strong,.pro-session-identity small{overflow-wrap:anywhere}

  .pro-card,.assigned-pro,.client-card{flex-wrap:wrap!important;align-items:flex-start!important}
  .pro-main{min-width:0;max-width:100%}
  .pro-main>div{min-width:0}
  .contact-privacy{max-width:none!important}
  .professional-status-actions{grid-template-columns:minmax(0,1fr)!important}
  .pro-control-right{width:100%!important;justify-content:flex-start!important}

  .identity-capture-grid{grid-template-columns:minmax(0,1fr)!important}
  .identity-capture-head{gap:7px;flex-wrap:wrap}
  .identity-capture-state{white-space:normal!important;text-align:center}
  .identity-capture-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}

  .timing-choice-grid{grid-template-columns:minmax(0,1fr)!important}
  .request-mini-grid,.request-mini-grid.three,.fresh-sheet .request-mini-grid{grid-template-columns:minmax(0,1fr)!important}
  .request-mini-grid.three .field:first-child{grid-column:auto!important}
  .reservation-actions{flex-direction:column!important;align-items:stretch!important}
  .reservation-actions small{max-width:100%!important}
  .eta-choice-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}

  .diagnostic-fee-card,.reservation-confirmed-card,.schedule-banner,.tracking-ended-card{align-items:flex-start!important}
  .diagnostic-fee-card>div,.reservation-confirmed-card>div,.schedule-banner>div,.tracking-ended-card>div{min-width:0;flex:1}
  .fee-confirm-card .row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;width:100%}
  .fee-confirm-card .btn{width:100%;white-space:normal}

  .modal-backdrop{padding:0!important;align-items:end!important}
  .modal-card{width:100%!important;max-width:100%!important;max-height:92dvh!important;border-radius:24px 24px 0 0!important;padding:18px 14px calc(20px + env(safe-area-inset-bottom))!important;overflow-x:hidden!important}
  .modal-card .form-grid{grid-template-columns:minmax(0,1fr)!important}
  .modal-card .row{max-width:100%}

  .job-alert-card{max-width:calc(100vw - 24px)!important;overflow:hidden}
  .job-alert-actions{grid-template-columns:minmax(0,1fr)!important}
  .job-alert-facts span{max-width:100%;white-space:normal}

  .legal-page{padding-left:12px!important;padding-right:12px!important;margin-top:14px!important}
  .legal-section{padding:15px!important}
  .privacy-row{grid-template-columns:minmax(0,1fr)!important}
  .terms-index,.privacy-index{max-width:100%;overflow:hidden}
}

@media(max-width:480px){
  .topbar{grid-template-columns:minmax(0,1fr) auto!important;padding-left:10px!important;padding-right:10px!important}
  .brand img{width:40px!important;height:40px!important}
  .brand strong{font-size:16px!important}
  .brand small{display:none!important}
  .top-actions a{font-size:9px!important;padding:7px 5px!important}
  .top-alert-btn{width:30px!important;height:30px!important}
  .content{padding-left:10px!important;padding-right:10px!important}
  .content>.customer-map-stage{margin-left:-10px!important;margin-right:-10px!important;width:calc(100% + 20px)!important}
  .category-grid,.safety-grid{grid-template-columns:minmax(0,1fr)!important}
  .service-quick-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .more-services-grid{grid-template-columns:minmax(0,1fr)!important}
  .fee-confirm-card .row,.eta-choice-grid{grid-template-columns:minmax(0,1fr)!important}
  .camera-actions{grid-template-columns:minmax(0,1fr) 68px minmax(0,1fr)!important;gap:6px!important}
  .camera-switch,.camera-cancel{padding:9px 6px!important;white-space:normal}
}

@media(max-width:360px){
  .top-actions a{display:none!important}
  .access-gateway{padding:17px 11px!important}
  .access-role-card,.role-entry-card{grid-template-columns:auto minmax(0,1fr)!important}
  .access-role-card i,.role-entry-card i{display:none}
  .service-quick-grid{grid-template-columns:minmax(0,1fr)!important}
  .identity-capture-actions{grid-template-columns:minmax(0,1fr)!important}
  .identity-capture-actions .identity-repeat{grid-column:auto!important}
  .hero h1{font-size:28px!important}
}


/* ==========================================================
   JUICIOSOS v0.28.6 — CAPTURA CENTRADA + LECTURA LEGAL SIN PERDER FORMULARIO
   ========================================================== */
.camera-stage video.camera-mirror{transform:scaleX(-1)}
.camera-guide{position:absolute;inset:0;pointer-events:none;display:grid;place-items:center}
.camera-guide-frame{position:relative;z-index:2;box-shadow:0 0 0 9999px rgba(0,0,0,.20)}
.camera-guide.face .camera-guide-frame{width:min(55vw,260px);height:min(72vw,340px);max-height:72%;border:3px solid rgba(255,255,255,.96);border-radius:48% 48% 43% 43%}
.camera-guide.document{padding:18px}
.camera-guide.document .camera-guide-frame{width:min(82vw,520px);aspect-ratio:1.58;border:3px solid rgba(255,255,255,.98);border-radius:16px}
.camera-guide>span{position:absolute;z-index:3;left:50%;transform:translateX(-50%);bottom:18px;max-width:calc(100% - 28px);background:rgba(10,35,55,.78);color:#fff;padding:7px 10px;border-radius:10px;font-size:11px;text-align:center;line-height:1.35}
.camera-guide.face:before,.camera-guide.document:before{content:none!important}
.identity-capture-preview{background:#f2f6f9!important}
.identity-capture-preview img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;background:#eef4f8}
.identity-capture-card[data-identity-card="selfie"] .identity-capture-preview{aspect-ratio:4/5!important}
.identity-capture-card[data-identity-card="idFront"] .identity-capture-preview,.identity-capture-card[data-identity-card="idBack"] .identity-capture-preview{aspect-ratio:1.58!important}
.registration-legal-overlay{position:fixed;inset:0;z-index:7200;background:rgba(4,20,31,.78);backdrop-filter:blur(7px);display:grid;place-items:center;padding:16px}
.registration-legal-sheet{width:min(920px,100%);height:min(90dvh,860px);background:#fff;border-radius:24px;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;box-shadow:0 30px 100px rgba(0,0,0,.4)}
.registration-legal-sheet header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e3edf5;background:#f9fcff}
.registration-legal-sheet header>div{min-width:0;display:grid;gap:2px}.registration-legal-sheet header b{font-size:14px;color:#173d59}.registration-legal-sheet header small{font-size:10px;color:#718597}
.registration-legal-close{width:38px;height:38px;flex:0 0 auto;border:0;border-radius:50%;background:#edf5fb;color:#315e7e;font-size:24px;cursor:pointer}
.registration-legal-sheet iframe{width:100%;height:100%;border:0;background:#fff}
.registration-legal-sheet footer{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e3edf5;background:#fff}
.registration-legal-sheet footer small{color:#718597;font-size:10px;line-height:1.4;text-align:right}
body.legal-reader-open{overflow:hidden!important}
@media(max-width:620px){
  .registration-legal-overlay{padding:0;place-items:end center}
  .registration-legal-sheet{width:100%;height:96dvh;border-radius:24px 24px 0 0}
  .registration-legal-sheet header{padding:12px}
  .registration-legal-sheet footer{display:grid;grid-template-columns:1fr;padding:10px 12px calc(12px + env(safe-area-inset-bottom))}
  .registration-legal-sheet footer .btn{width:100%}.registration-legal-sheet footer small{text-align:center}
  .camera-guide.face .camera-guide-frame{width:min(64vw,270px);height:min(82vw,350px);max-height:68dvh}
  .camera-guide.document .camera-guide-frame{width:min(88vw,520px)}
}

/* =============================================================
   JUICIOSOS v0.28.7 — EXPEDIENTE + PERMISOS + GPS + RESPONSIVE PRO
   ============================================================= */
.professional-permission-gate{margin-top:14px;padding:15px 16px}.professional-permission-gate.ready{border-color:#bfe8d6;background:#f6fffb}.permission-gate-loading{color:var(--muted);font-size:12px}.permission-gate-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.permission-gate-head h3{margin:3px 0 4px;font-size:18px}.permission-gate-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.45;max-width:700px}.permission-gate-badge{flex:0 0 auto;padding:7px 10px;border-radius:999px;font-size:10px;font-weight:900}.permission-gate-badge.ok{background:#e4f9ee;color:#087956}.permission-gate-badge.pending{background:#fff1d8;color:#8b6100}.permission-gate-items{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.permission-gate-item{border:1px solid #dce7f0;background:#fff;border-radius:15px;padding:11px 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;color:var(--ink);cursor:pointer}.permission-gate-item>span{font-size:22px}.permission-gate-item div{min-width:0}.permission-gate-item b,.permission-gate-item small{display:block}.permission-gate-item small{margin-top:2px;color:var(--muted);font-size:10px;line-height:1.35;overflow-wrap:anywhere}.permission-gate-item i{font-style:normal;font-weight:900}.permission-gate-item.ok{border-color:#cceadb;background:#f7fdfa}.permission-gate-item.pending{border-color:#f0dfb9;background:#fffcf6}.permission-help-backdrop{position:fixed;inset:0;z-index:4200;background:rgba(5,26,43,.7);backdrop-filter:blur(6px);display:grid;place-items:center;padding:16px}.permission-help-modal{position:relative;width:min(560px,100%);max-height:92dvh;overflow:auto;background:#fff;border-radius:26px;padding:24px;box-shadow:0 28px 80px rgba(0,32,60,.35)}.permission-help-close{position:absolute;top:13px;right:13px;width:34px;height:34px;border:0;border-radius:50%;background:#edf4f8;color:#34566f;font-size:22px}.permission-help-icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:#edf7ff;font-size:28px;margin-bottom:10px}.permission-help-modal h2{margin:5px 36px 8px 0}.permission-help-modal p{color:var(--muted);line-height:1.5}.permission-help-steps{display:grid;gap:7px;padding:13px 14px;border-radius:16px;background:#f5f9fc;margin:13px 0;font-size:12px;color:#49657b}.permission-help-steps b{color:var(--navy)}
.pro-jobs-map.map-awaiting-gps{display:grid!important;place-items:center;background:linear-gradient(180deg,#edf6fd,#f9fcff);min-height:340px}.map-gps-required{max-width:330px;padding:22px;text-align:center;display:grid;justify-items:center;gap:7px}.map-gps-required>span{font-size:36px}.map-gps-required b{font-size:16px}.map-gps-required small{color:var(--muted);line-height:1.45}.map-gps-required .btn{margin-top:6px}.pro-verification-row{align-items:center}.verification-note{min-width:0;white-space:normal;overflow-wrap:anywhere}.pro-stats-mini span{min-width:0;overflow-wrap:anywhere}.pro-stats-mini b{white-space:normal}.reward-stat{flex:1 1 230px}
@media(max-width:620px){
 .professional-permission-gate{margin-left:12px;margin-right:12px;padding:13px;border-radius:20px}.permission-gate-head{flex-direction:column}.permission-gate-badge{align-self:flex-start}.permission-gate-items{grid-template-columns:minmax(0,1fr)}
 .permission-help-backdrop{padding:0;align-items:end}.permission-help-modal{width:100%;max-width:none;border-radius:24px 24px 0 0;padding:20px 17px;max-height:94dvh}
 .pro-control{overflow:hidden}.pro-control-left,.pro-control-right,#proStatus{width:100%;max-width:100%}.pro-session-identity{min-width:0}.pro-session-identity>div{min-width:0}
 #proStatus .pro-verification-row{display:grid!important;grid-template-columns:auto auto;justify-content:start;gap:7px 8px;width:100%}.pro-verification-row .verification-note{grid-column:1/-1;width:100%;font-size:10px;line-height:1.35;padding-top:1px}
 .pro-stats-mini{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important;overflow:visible!important;width:100%;max-width:100%}.pro-stats-mini span{white-space:normal!important;width:100%;padding:8px!important;display:grid;gap:2px;align-content:center;min-height:52px}.pro-stats-mini span b{display:block;font-size:12px;line-height:1.25}.pro-stats-mini .reward-stat{grid-column:1/-1;min-height:auto}
 .pro-control-right{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch!important}.big-credit,.availability-toggle{width:100%!important;min-width:0!important;justify-content:center;text-align:center}.availability-toggle{white-space:normal;line-height:1.2}
}
@media(max-width:380px){.pro-stats-mini{grid-template-columns:minmax(0,1fr)!important}.pro-stats-mini .reward-stat{grid-column:auto}.pro-control-right{grid-template-columns:minmax(0,1fr)!important}}

/* v0.28.9 · confirmación de visita y continuidad cliente/profesional */
.visit-fee-customer-modal{display:grid;gap:14px}.visit-fee-found-icon{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;font-size:30px;background:#eef7ff;border:1px solid #cfe6fb}.visit-fee-customer-modal h2{margin:0;font-size:26px;color:#123b59}.visit-fee-customer-modal .subtitle{margin:0;line-height:1.55}.visit-fee-amount{font-size:34px;font-weight:900;letter-spacing:-.03em;color:#075f9e;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#edf8ff,#f7fbff);border:1px solid #cce7fb;text-align:center}.modal-card:has(.visit-fee-customer-modal){max-width:560px}.pending-route-preview{position:relative;overflow:hidden}.pending-route-preview .tracking-map{min-height:280px}.pending-route-preview .tracking-status.waiting{background:rgba(255,255,255,.94)}
@media(max-width:600px){.visit-fee-customer-modal h2{font-size:22px}.visit-fee-amount{font-size:30px}.modal-card:has(.visit-fee-customer-modal){width:calc(100% - 12px);max-height:95dvh;padding:19px;border-radius:24px}.pending-route-preview .tracking-map{min-height:240px}}

/* v0.28.14 · revisión bloqueante + créditos configurables + control profesional */
.dispute-final-check .review-warning-copy{padding:14px;border:1px solid rgba(12,57,91,.12);border-radius:16px;background:#f7fbff;margin:14px 0}.dispute-final-check .review-warning-copy p{margin:6px 0 0;white-space:pre-wrap}.mandatory-outcome-actions.stacked{display:grid;grid-template-columns:1fr;gap:10px}.credit-control-stack{display:grid;gap:8px;min-width:0}.credit-control-stack .btn{width:100%}.credit-price-feature{display:grid;gap:4px;padding:16px;border-radius:18px;background:#f3f8fc;margin:14px 0}.credit-price-feature strong{font-size:1.35rem}.credit-benefit-list{display:grid;gap:10px;margin:16px 0}.credit-benefit-list>div{padding:12px;border-radius:14px;background:#f7fafc}.registration-credit-summary{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:18px;background:#eef8ff;border:1px solid rgba(0,112,220,.12);margin:14px 0 20px}.registration-credit-summary>span{font-size:1.6rem}.registration-credit-summary div{display:grid;gap:4px}.registration-credit-summary strong{font-size:1.05rem}.registration-credit-summary small{line-height:1.45}.blocked-account-card{line-height:1.55}.blocked-account-card.review{border-color:rgba(190,113,0,.22)}
@media(max-width:600px){.pro-control-right{width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.credit-control-stack{width:100%}.registration-credit-summary{margin-inline:0}.credit-price-feature strong{font-size:1.15rem}}

/* v0.28.15 · recargas, moneda automática y política antiabuso de diagnósticos */
.credit-info-modal{display:grid;gap:14px;min-width:0}.credit-price-feature{display:grid;gap:4px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#0b4163,#087ff5);color:#fff}.credit-price-feature small{font-size:11px;opacity:.82}.credit-price-feature strong{font-size:24px;line-height:1.08;overflow-wrap:anywhere}.credit-price-feature em{font-style:normal;font-size:11px;font-weight:800;opacity:.9}.credit-benefit-list{display:grid;gap:8px}.credit-benefit-list>div{padding:10px 12px;border-radius:13px;background:#f5f9fc;font-size:12px;line-height:1.45}.recharge-box{display:grid;gap:12px;padding:14px;border:1px solid #dce8f1;border-radius:18px;background:#fbfdff;min-width:0}.recharge-total{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;background:#eef7ff}.recharge-total small{font-size:10px;color:#668095}.recharge-total strong{font-size:22px;color:#0b4568;text-align:right;overflow-wrap:anywhere}.credit-zero-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 12px;margin-top:9px;padding:11px 12px;border-radius:15px;background:#fff3ef;border:1px solid #ffd1c6;color:#7e3428}.credit-zero-banner b{font-size:12px}.credit-zero-banner span{font-size:10px;line-height:1.4}.credit-zero-banner .btn{grid-column:2;grid-row:1/3}.credit-zero-banner.pending{background:#fff9e8;border-color:#f2dda1;color:#765c1c}.diagnostic-risk{display:grid;gap:4px;margin-top:9px;padding:11px 12px;border-radius:15px;border:1px solid #f0d895;background:#fff9e9;color:#745a1f}.diagnostic-risk b{font-size:12px}.diagnostic-risk span{font-size:10px;line-height:1.45}.diagnostic-risk.critical{background:#fff0e9;border-color:#ffc7b3;color:#8d3a23}.diagnostic-risk.blocked{background:#fff0f0;border-color:#f4bcbc;color:#8a2727}.diagnostic-policy-modal{display:grid;gap:12px}.diagnostic-policy-modal p{margin:0;line-height:1.5}.job-taken-modal{display:grid;gap:12px;text-align:center}.job-taken-icon{font-size:42px}.job-taken-modal .notice{text-align:left}.market-attribution{font-size:9px;color:#7d8d99;line-height:1.35}
@media(max-width:620px){.credit-price-feature strong{font-size:21px}.recharge-total{align-items:flex-start;flex-direction:column}.recharge-total strong{text-align:left}.credit-zero-banner{grid-template-columns:1fr}.credit-zero-banner .btn{grid-column:auto;grid-row:auto;width:100%}.recharge-box .btn.full,.credit-info-modal .btn.full{width:100%}}

/* =============================================================
   JUICIOSOS v0.28.17 — FUNDADORES + REFERIDOS + AVISOS NATIVOS
   ============================================================= */
.founder-badge,.founder-mini{display:inline-flex;align-items:center;gap:4px;border-radius:999px;background:linear-gradient(135deg,#fff6c9,#ffe28a);color:#765300;border:1px solid #e9c95f;font-weight:900;white-space:nowrap}.founder-badge{padding:6px 9px;font-size:9.5px}.founder-mini{padding:3px 6px;font-size:8px;margin-left:4px}.founder-registration-banner,.referral-invite-banner{display:flex;align-items:flex-start;gap:11px;padding:12px 13px;border-radius:16px;margin:10px 0}.founder-registration-banner{background:#fff9df;border:1px solid #ecd886}.referral-invite-banner{background:#edf8ff;border:1px solid #c8e5f7}.founder-registration-banner>span,.referral-invite-banner>span{font-size:25px}.founder-registration-banner div,.referral-invite-banner div{display:grid;gap:3px}.founder-registration-banner b,.referral-invite-banner b{font-size:12px}.founder-registration-banner small,.referral-invite-banner small{color:#657b8c;font-size:10px;line-height:1.45}.referral-card{display:grid;gap:12px;margin-top:14px}.referral-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.referral-card-head h3{margin:3px 0 5px}.referral-card-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.5;max-width:720px}.founder-seal{min-width:86px;padding:11px;border-radius:17px;background:linear-gradient(145deg,#fff8cf,#ffe28b);border:1px solid #e6c75a;display:grid;place-items:center;gap:2px;text-align:center}.founder-seal{font-size:23px}.founder-seal b{font-size:9px;color:#735300}.referral-link-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid #dbe8f1;background:#f8fbfd;border-radius:15px}.referral-link-box code{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:#315b77}.referral-link-box .row{flex-wrap:wrap}.referral-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.referral-stats span{padding:9px 10px;background:#f6f9fb;border-radius:12px;font-size:9.5px;color:#718496;display:grid;gap:2px}.referral-stats b{font-size:15px;color:var(--navy)}
.account-notices-panel{margin-top:14px;padding:0;overflow:hidden}.account-notices-head{width:100%;border:0;background:transparent;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;cursor:pointer;color:var(--ink)}.account-notices-head h3{margin:3px 0 0;font-size:16px}.account-notices-actions{display:flex;align-items:center;gap:10px}.account-notices-panel #accountNoticesBody{border-top:1px solid #e5edf3;padding:10px}.account-notices-list{display:grid;gap:8px}.account-notice{border:1px solid #e0e9ef;background:#fbfdff;border-radius:14px;padding:11px;display:grid;gap:7px}.account-notice.unread{border-color:#9fcdf1;background:#f2f9ff;box-shadow:inset 3px 0 0 #1689ee}.account-notice.review_resolution{border-color:#c9d9f4;background:#f7f9ff}.account-notice.founder{border-color:#e9d37b;background:#fffbed}.account-notice.referral{border-color:#c6ead9;background:#f6fffa}.account-notice-top,.account-notice-footer{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.account-notice-top>div{display:grid;gap:2px}.account-notice-top b{font-size:11px}.account-notice-top small,.account-notice-footer small{font-size:9px;color:#8192a0}.account-notice-top>span{font-size:8px;font-weight:900;color:#0c76c9}.account-notice p{margin:0;white-space:pre-line;font-size:11px;line-height:1.5;color:#466075}.account-notice-footer button{border:0;background:transparent;color:#46728f;font-size:9px;font-weight:900;cursor:pointer}.account-notices-panel.collapsed #accountNoticesBody{display:none}
@media(max-width:680px){.referral-card-head{flex-direction:column}.founder-seal{grid-template-columns:auto auto;min-width:0}.referral-link-box{grid-template-columns:1fr}.referral-link-box code{white-space:normal;overflow-wrap:anywhere}.referral-link-box .btn{flex:1}.referral-stats{grid-template-columns:1fr 1fr}.referral-stats span:last-child{grid-column:1/-1}.account-notices-panel{margin-left:12px;margin-right:12px}.account-notices-head{padding:12px}.account-notice-top,.account-notice-footer{gap:6px}.founder-registration-banner,.referral-invite-banner{margin-left:0;margin-right:0}}

/* v0.28.18 · endurecimiento táctil para WebView Android.
   El JS agrega .juiciosos-native únicamente dentro de la APK. */
html.juiciosos-native button,
html.juiciosos-native a[href],
html.juiciosos-native [role="button"]{
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:rgba(8,128,248,.12);
}
html.juiciosos-native button:not(:disabled),
html.juiciosos-native a[href],
html.juiciosos-native [role="button"]:not([aria-disabled="true"]){pointer-events:auto}


/* v0.28.20 · acceso de cuenta */
.password-input-wrap{position:relative;display:flex;align-items:center;width:100%}
.password-input-wrap input{width:100%;padding-right:52px}
.password-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:12px;background:transparent;display:grid;place-items:center;font-size:20px;cursor:pointer;color:#123b5c}
.password-eye:active{background:#edf6ff}
.password-recovery-link{display:flex;justify-content:flex-end;margin-top:6px}
.email-verification-banner{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:13px 15px;border:1px solid #b9d9f7;border-radius:18px;background:#f2f9ff;color:#0a3554}
.email-verification-banner>span{font-size:24px}
.email-verification-banner>div{display:flex;flex-direction:column;gap:2px;flex:1}
.email-verification-banner b{font-size:14px}.email-verification-banner small{color:#57758e;line-height:1.35}
.customer-gps-required{min-height:310px}
@media(max-width:640px){.email-verification-banner{align-items:flex-start;flex-wrap:wrap}.email-verification-banner .btn{width:100%}}


/* =============================================================
   JUICIOSOS v0.28.23 — PRIORIDAD PROFESIONAL + RUTA SINCRONIZADA
   ============================================================= */
.pro-discovery-priority{margin-top:16px}.professional-priority-title{align-items:flex-end}.professional-priority-title .eyebrow{display:block;margin-bottom:4px}.priority-jobs-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}.priority-job-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 13px;border:1px solid #dce8f1;border-radius:17px;background:#fff;box-shadow:0 8px 22px rgba(15,61,91,.06)}.priority-job-card.urgent{border-color:#b9dcfb;background:linear-gradient(135deg,#f7fcff,#edf7ff)}.priority-job-card.idle,.priority-job-card.empty{grid-template-columns:auto minmax(0,1fr);background:#f8fbfd}.priority-job-card>span,.priority-job-emoji{font-size:24px}.priority-job-copy{min-width:0}.priority-job-copy>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.priority-job-copy b{font-size:12px}.priority-job-copy strong{font-size:11px;color:#0877cd;white-space:nowrap}.priority-job-copy small,.priority-job-card small{display:block;margin-top:3px;color:#6f8494;font-size:9.5px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.priority-map-card{margin-bottom:16px}.priority-map-card .pro-jobs-map{min-height:360px}.tracking-status.preview{background:rgba(255,255,255,.95)}
.customer-arrival-popover{position:fixed;z-index:6800;left:50%;top:max(18px,env(safe-area-inset-top));transform:translateX(-50%);width:min(520px,calc(100% - 24px));display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:15px 17px;border-radius:20px;background:#fff;border:1px solid #b8e5d3;box-shadow:0 22px 60px rgba(6,51,78,.28);animation:arrivalDrop .35s ease both}.customer-arrival-popover.leaving{animation:arrivalLeave .32s ease both}.customer-arrival-icon{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:#e9fbf3;font-size:27px}.customer-arrival-popover h3{margin:2px 0;font-size:18px;color:#0b3e5e}.customer-arrival-popover p{margin:0;color:#657d8e;font-size:11px}.customer-arrival-popover .eyebrow{color:#0a8a61}@keyframes arrivalDrop{from{opacity:0;transform:translate(-50%,-18px) scale(.97)}to{opacity:1;transform:translate(-50%,0) scale(1)}}@keyframes arrivalLeave{to{opacity:0;transform:translate(-50%,-14px) scale(.98)}}
@media(max-width:760px){.priority-jobs-rail{grid-template-columns:1fr}.priority-job-card{padding:11px 12px}.priority-map-card .pro-jobs-map{min-height:300px}.professional-priority-title{align-items:flex-start}.customer-arrival-popover{top:max(10px,env(safe-area-inset-top));padding:12px 13px;border-radius:17px}.customer-arrival-icon{width:44px;height:44px;font-size:23px}.customer-arrival-popover h3{font-size:16px}}


/* ==========================================================
   JUICIOSOS v0.28.24 — RUTA VISIBLE EN MAPA DE RESPALDO
   Leaflet dibuja rutas/círculos en un SVG posicionado y dimensionado
   por el propio motor. Las reglas responsive globales no deben limitar
   ese SVG, porque pueden dejar el recorrido calculado pero invisible.
   ========================================================== */
.leaflet-container .leaflet-overlay-pane svg,
.leaflet-container svg.leaflet-zoom-animated{
  max-width:none!important;
  max-height:none!important;
}
.leaflet-container .leaflet-overlay-pane path{
  vector-effect:non-scaling-stroke;
}


/* ==========================================================
   JUICIOSOS v0.28.25 — RUTA NATIVA ANDROID
   En Capacitor/Android los overlays de ruta se fuerzan a SVG. Esta excepción
   evita además que las reglas responsive globales redimensionen un Canvas de
   Leaflet si el motor llegara a utilizarlo como respaldo.
   ========================================================== */
.leaflet-container canvas.leaflet-zoom-animated,
.leaflet-container .leaflet-overlay-pane canvas{
  max-width:none!important;
}


/* JUICIOSOS v0.28.26 — responsive servicio profesional + seguimiento visual en vivo */
.tracking-map .juiciosos-marker-wrap,.tracking-map .maplibre-custom-marker{transition:transform .8s linear!important;will-change:transform}
.login-remember-field{margin-top:-4px}.login-remember-row{display:flex!important;align-items:flex-start!important;gap:10px;padding:10px 11px;border:1px solid #dceaf4;border-radius:14px;background:#f8fbfe}.login-remember-row>input{width:auto!important;min-width:17px;margin-top:2px}.login-remember-row>span{display:grid;gap:2px}.login-remember-row b{font-size:10px;color:#244b68}.login-remember-row small{font-size:8px;line-height:1.35;color:#7890a2;font-weight:600}
@media(max-width:620px){
  body.service-tracking-professional #activeJob{margin-left:7px!important;margin-right:7px!important;width:calc(100% - 14px)!important;max-width:none!important}
  body.service-tracking-professional #activeJob>.active-service-focus{width:100%!important;max-width:none!important;margin:0!important}
  body.service-tracking-professional #activeJob .live-service-card.pro-active-card{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box}
  body.service-tracking-professional #activeJob .client-card,body.service-tracking-professional #activeJob .live-service-top,body.service-tracking-professional #activeJob .service-route-primary,body.service-tracking-professional #activeJob .professional-status-actions,body.service-tracking-professional #activeJob .service-stepper{width:100%;max-width:100%;box-sizing:border-box}
  body.service-tracking-professional #activeJob .client-card{grid-template-columns:auto minmax(0,1fr) auto}
  body.service-tracking-professional #activeJob .client-card>div:nth-child(2){min-width:0}
  body.service-tracking-professional #activeJob .client-card .meta{white-space:normal;overflow-wrap:anywhere}
}


/* ==========================================================
   JUICIOSOS v0.28.27 — MAPA VISUAL PREMIUM GRATUITO
   Solo capa visual: OpenFreeMap + iconos propios + día/noche.
   No modifica GPS, matching, estados, rutas ni sesión.
   ========================================================== */
.map{background:#eaf2f8}
.map.juiciosos-map-day{background:#eaf2f8}
.map.juiciosos-map-night{background:#071c2c}
.map-free-vector:after{content:'Mapa Juiciosos';position:absolute;left:10px;bottom:9px;z-index:500;background:rgba(255,255,255,.88);padding:4px 8px;border-radius:999px;font-size:8px;font-weight:800;letter-spacing:.03em;color:#52718a;box-shadow:0 5px 18px rgba(16,55,88,.12);pointer-events:none}
.juiciosos-map-night.map-free-vector:after{background:rgba(5,24,39,.82);color:#d4e9f8;border:1px solid rgba(255,255,255,.08)}
.juiciosos-map-night.map-raster-fallback .leaflet-tile-pane{filter:brightness(.52) saturate(.78) contrast(1.12) hue-rotate(168deg)}
.juiciosos-map-day.map-raster-fallback .leaflet-tile-pane{filter:saturate(.88) contrast(.98) brightness(1.04)}
.maplibregl-canvas,.leaflet-map-pane{transition:filter .3s ease}
.route-card,.priority-map-card,.pro-map-card{overflow:hidden}
.route-card:before,.priority-map-card:before,.pro-map-card:before{content:'';position:absolute;inset:0;z-index:4;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),inset 0 -42px 70px rgba(10,55,91,.025)}
.juiciosos-map-night.route-card:before,.juiciosos-map-night.priority-map-card:before{box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),inset 0 -44px 80px rgba(0,0,0,.15)}
.leaflet-control-zoom{border:0!important;box-shadow:0 10px 28px rgba(8,49,79,.17)!important;border-radius:16px!important;overflow:hidden!important;margin-right:12px!important;margin-bottom:12px!important}
.leaflet-control-zoom a{width:40px!important;height:40px!important;line-height:40px!important;border:0!important;background:rgba(255,255,255,.94)!important;color:#0a5ea8!important;font-size:20px!important;font-weight:700!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.leaflet-control-zoom a+a{border-top:1px solid rgba(8,79,130,.08)!important}
.juiciosos-map-night .leaflet-control-zoom a{background:rgba(5,27,44,.92)!important;color:#e4f3ff!important}
.leaflet-control-attribution{background:rgba(255,255,255,.74)!important;border-radius:8px 0 0 0!important;font-size:7px!important;color:#6f8494!important;padding:2px 5px!important}
.juiciosos-map-night .leaflet-control-attribution{background:rgba(5,24,39,.76)!important;color:#a9c2d5!important}
.juiciosos-map-night .leaflet-control-attribution a{color:#b8dbf5!important}

/* Destino tipo app de movilidad */
.destination-map-pin{position:relative;width:40px;height:51px;display:grid;place-items:start center;filter:drop-shadow(0 10px 12px rgba(177,28,49,.24))}
.destination-map-pin:before{content:'';width:37px;height:37px;border-radius:50% 50% 50% 10px;background:linear-gradient(145deg,#ff4f72,#e81745);transform:rotate(-45deg);border:3px solid #fff;box-shadow:0 0 0 1px rgba(189,26,57,.10)}
.destination-map-pin span{position:absolute;top:12px;left:50%;width:10px;height:10px;border-radius:50%;background:#fff;transform:translateX(-50%);z-index:2}
.destination-map-pin i{position:absolute;bottom:0;width:15px;height:5px;border-radius:50%;background:rgba(8,45,75,.18);filter:blur(1px)}

/* Profesional: foto real cuando existe + insignia del oficio + nombre */
.pro-map-marker-shell{width:112px;min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative;pointer-events:auto}
.pro-map-worker-name{max-width:110px;padding:5px 9px;margin-bottom:5px;border-radius:999px;background:rgba(6,36,58,.91);color:#fff;font-size:9px;font-weight:850;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 7px 18px rgba(5,37,62,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.juiciosos-map-night .pro-map-worker-name{background:rgba(242,249,255,.94);color:#0a3554}
.pro-map-pin.premium-worker{width:49px;height:49px;border-radius:17px;background:linear-gradient(145deg,#fff,#edf7ff);display:grid;place-items:center;border:3px solid #fff;box-shadow:0 12px 30px rgba(7,48,82,.24);position:relative;overflow:visible;transform:none}
.pro-map-pin.premium-worker>img{width:100%;height:100%;object-fit:cover;border-radius:14px;display:block}
.pro-map-pin.premium-worker>.pro-map-profession-icon{font-size:23px;line-height:1}
.pro-map-trade-badge{position:absolute;left:-9px;bottom:-6px;width:23px;height:23px;border-radius:8px;background:#fff;display:grid;place-items:center;font-size:13px;border:2px solid #fff;box-shadow:0 5px 14px rgba(5,52,88,.18);z-index:4}
.pro-map-pin.premium-worker>b{right:-6px!important;bottom:-5px!important;width:20px!important;height:20px!important;border:3px solid #fff!important;font-size:9px!important;z-index:5}
.pro-map-pin.premium-worker>i{bottom:-8px!important}

/* Solicitudes: pin oscuro elegante con identidad de oficio */
.job-map-pin{border-radius:16px!important;background:linear-gradient(145deg,#0e4267,#082f4c)!important;border:3px solid rgba(255,255,255,.98)!important;box-shadow:0 12px 26px rgba(4,39,67,.25)!important}
.job-map-pin.urgent{background:linear-gradient(145deg,#ff634e,#e6322c)!important}

/* Ruta y paneles como el prototipo visual */
.tracking-status{border-radius:17px!important;padding:10px 12px!important;background:rgba(6,34,55,.90)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 12px 30px rgba(4,36,62,.20)!important}
.tracking-status small{color:#bcd5e7!important}.tracking-status strong{font-size:11.5px!important}
.juiciosos-map-night~.tracking-status,.route-card:has(.juiciosos-map-night) .tracking-status{background:rgba(4,25,42,.92)!important}
.eta-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important}
.eta-chip{min-height:58px;border-radius:17px!important;background:linear-gradient(145deg,#f9fcff,#edf6ff)!important;border:1px solid #d5e7f5!important;padding:10px 13px!important;box-shadow:0 6px 18px rgba(12,73,116,.05)}
.eta-chip b{font-size:19px!important;color:#0877dd}.eta-chip span{font-size:9px!important;color:#6e8495!important}
.service-route-primary{border-radius:24px!important;border:1px solid rgba(8,128,248,.13)!important;background:#eef6fb!important}
.tracking-map-primary,.tracking-map{border-radius:22px!important}

@media(max-width:620px){
  .pro-map-marker-shell{width:98px;min-height:72px}.pro-map-worker-name{max-width:96px;font-size:8.5px;padding:5px 8px}
  .pro-map-pin.premium-worker{width:46px;height:46px;border-radius:16px}.pro-map-pin.premium-worker>img{border-radius:13px}
  .destination-map-pin{transform:scale(.94);transform-origin:bottom center}
  .leaflet-control-zoom{margin-right:10px!important;margin-bottom:11px!important;border-radius:15px!important}
  .leaflet-control-zoom a{width:38px!important;height:38px!important;line-height:38px!important}
  .map-free-vector:after{left:8px;bottom:8px;font-size:7.5px;padding:4px 7px}
  .eta-chip{min-height:56px;padding:9px 11px!important}.eta-chip b{font-size:18px!important}
}


/* ==========================================================
   JUICIOSOS v0.28.32 — SPLASH BLANCO LIMPIO + MAPA ADMIN ORDENADO
   Solo presentación: splash nativo 1.8 s sobre blanco puro; conserva la lógica cartográfica y operativa.
   ========================================================== */
.juiciosos-brand-splash{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:#fff;opacity:0;transition:opacity .28s ease;overflow:hidden}
.juiciosos-brand-splash[hidden]{display:none!important}
.juiciosos-brand-splash.show{opacity:1}
.juiciosos-brand-splash.leave{opacity:0;pointer-events:none}
.juiciosos-brand-splash-inner{width:min(80vw,360px);display:grid;justify-items:center;transform:scale(.92);opacity:.72;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .42s ease}
.juiciosos-brand-splash.show .juiciosos-brand-splash-inner{transform:scale(1);opacity:1}
.juiciosos-brand-splash.leave .juiciosos-brand-splash-inner{transform:scale(1.035);opacity:.2}
.juiciosos-brand-splash-inner img{display:block;width:100%;height:auto;max-height:58vh;object-fit:contain;filter:none}
.leaflet-control-attribution{font-size:6.8px!important;line-height:1.25!important;padding:2px 5px!important;max-width:58%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;opacity:.88}
.leaflet-control-attribution a{font-weight:700;text-decoration:none!important}
@media(max-width:620px){.juiciosos-brand-splash-inner{width:min(82vw,320px)}.leaflet-control-attribution{font-size:6.4px!important;max-width:55%!important}}
@media(prefers-reduced-motion:reduce){.juiciosos-brand-splash,.juiciosos-brand-splash-inner{transition:none!important}}

/* v0.28.30 · crédito cartográfico discreto: sin marca OpenFreeMap visible */
.juiciosos-map-info-control{position:relative!important;margin:10px!important;background:transparent!important;box-shadow:none!important;z-index:20!important}.juiciosos-map-info-button{width:34px!important;height:34px!important;border:0!important;border-radius:50%!important;background:rgba(255,255,255,.94)!important;color:#355d78!important;font-size:16px!important;font-weight:900!important;box-shadow:0 8px 22px rgba(7,45,75,.18)!important;cursor:pointer!important;display:grid!important;place-items:center!important;padding:0!important}.juiciosos-map-night .juiciosos-map-info-button{background:rgba(7,29,47,.94)!important;color:#d7e9f6!important}.juiciosos-map-info-panel{position:absolute;left:0;top:40px;min-width:166px;padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.97);box-shadow:0 12px 30px rgba(7,45,75,.18);border:1px solid rgba(15,81,127,.10);font-size:8px;color:#536f82;z-index:22}.juiciosos-map-info-panel[hidden]{display:none!important}.juiciosos-map-info-panel b{display:block;color:#173d58;margin-bottom:4px;font-size:8.5px}.juiciosos-map-info-panel a{display:block;color:#3f718f;text-decoration:none;line-height:1.5}.juiciosos-map-night .juiciosos-map-info-panel{background:rgba(7,29,47,.97);border-color:rgba(255,255,255,.09);color:#b5cbd9}.juiciosos-map-night .juiciosos-map-info-panel b{color:#f1f8fd}.juiciosos-map-night .juiciosos-map-info-panel a{color:#b9def7}@media(max-width:620px){.juiciosos-map-info-control{margin:8px!important}.juiciosos-map-info-button{width:32px!important;height:32px!important;font-size:15px!important}}

/* ================================================================
   JUICIOSOS v0.28.35 — AGENDA FLEXIBLE SIN BLOQUEAR + PRIORIDAD MAPA
   ================================================================ */
.reservation-priority{margin:14px 0 18px;padding:14px;border:1px solid #cfe3ff;border-radius:20px;background:linear-gradient(180deg,#f7fbff,#fff);box-shadow:0 10px 28px rgba(18,75,128,.08)}
.reservation-priority[hidden]{display:none!important}
.reservation-priority-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.reservation-priority-head h3{margin:3px 0 4px;font-size:18px;color:#0b2b45}
.reservation-priority-head p{margin:0;color:#5b7285;font-size:13px;line-height:1.45}
.reservation-priority-list{display:grid;gap:10px}
.reservation-priority-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid #dce8f2;border-radius:16px;background:#fff}
.reservation-priority-card.today{border-color:#ffe0a8;background:#fffdf7}
.reservation-priority-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#edf6ff;font-size:21px}
.reservation-priority-card.today .reservation-priority-icon{background:#fff3d7}
.reservation-priority-copy{min-width:0;display:grid;gap:3px}
.reservation-priority-copy>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.reservation-priority-copy b{color:#0b2b45;font-size:14px}
.reservation-priority-copy span{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eaf4ff;color:#1268b3;font-size:11px;font-weight:800}
.reservation-priority-card.today .reservation-priority-copy span{background:#fff0ca;color:#8a5a00}
.reservation-priority-copy small{color:#607689;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reservation-priority-copy em{font-style:normal;color:#2f6e58;font-size:11px;line-height:1.35}
.pro-discovery-priority + .pro-control{margin-top:16px}
@media(max-width:640px){
  .reservation-priority{margin:12px 0 16px;padding:11px;border-radius:17px}
  .reservation-priority-card{grid-template-columns:40px minmax(0,1fr);padding:10px;gap:9px}
  .reservation-priority-card>.btn{grid-column:1/-1;width:100%}
  .reservation-priority-copy>div{display:grid;gap:4px}
  .reservation-priority-copy small{white-space:normal}
}


/* ==========================================================
   JUICIOSOS v0.28.38 — GESTO NATURAL DE MAPA EN MÓVIL
   SOLO interacción táctil: 1 dedo desplaza, 2 dedos hacen pinch zoom.
   La cámara persistente, GPS en tiempo real y ruta progresiva NO cambian.
   ========================================================== */
@media (max-width:620px), (pointer:coarse){
  .maplibregl-map,
  .maplibregl-canvas-container,
  .maplibregl-canvas,
  .leaflet-container{
    touch-action:none!important;
    overscroll-behavior:contain!important;
  }
}

/* v0.28.40 · cuenta editable + foto de perfil + confirmación obligatoria cliente */
.account-avatar-button{position:relative;border:0;padding:0;cursor:pointer;overflow:visible;box-shadow:0 0 0 1px #cfe0ee,0 5px 14px rgba(16,64,104,.08)}
.account-avatar-button img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.account-avatar-button>i{position:absolute;right:-5px;bottom:-5px;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#087ff5;color:#fff;font-style:normal;font-size:9px;border:2px solid #fff;box-shadow:0 2px 7px rgba(10,70,120,.18)}
.account-profile-modal{max-width:720px;margin:auto}.account-profile-modal h2{margin:5px 0}.account-profile-head{display:flex;gap:15px;align-items:center;padding:14px;margin:14px 0 18px;border:1px solid var(--line);border-radius:20px;background:#f8fcff}.account-profile-head>div{min-width:0}.account-profile-head b,.account-profile-head small{display:block}.account-profile-head small{margin:4px 0;color:var(--muted)}
.account-photo-large{position:relative;width:88px;height:88px;border-radius:26px;border:1px solid #cfe0ee;background:#eaf5ff;color:#0871cd;display:grid;place-items:center;font-weight:900;font-size:30px;overflow:hidden;cursor:pointer;flex:0 0 auto}.account-photo-large img{width:100%;height:100%;object-fit:cover}.account-photo-large i{position:absolute;right:5px;bottom:5px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line);font-style:normal;font-size:14px;box-shadow:0 3px 9px rgba(16,64,104,.12)}
.danger-text{color:#b42318!important}.account-locked-data{padding:12px 14px;border:1px solid #d9e8f4;border-radius:15px;background:#f7fbff}.account-locked-data b,.account-locked-data small{display:block}.account-locked-data small{margin-top:4px;color:#607b90;line-height:1.45}
.customer-email-gate{max-width:620px;margin:34px auto 70px;padding:34px;text-align:center;border:1px solid #d5e7f5;border-radius:30px;background:linear-gradient(180deg,#fff,#f5fbff);box-shadow:0 22px 60px rgba(16,74,120,.10)}.customer-email-gate h1{margin:8px 0 10px;font-size:clamp(28px,6vw,42px);color:#102f49}.customer-email-gate p{margin:0 auto;max-width:510px;color:#587489;line-height:1.6}.email-gate-icon{width:78px;height:78px;margin:0 auto 13px;border-radius:24px;background:#eaf5ff;display:grid;place-items:center;font-size:37px}.email-gate-actions{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin:22px 0 14px}.email-gate-help{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;padding:12px 14px;border-radius:14px;background:#fff9e9;color:#73551b;font-size:12px}.email-gate-help span{color:#80672e}
@media(max-width:640px){.account-profile-head{align-items:flex-start}.account-photo-large{width:76px;height:76px;border-radius:22px}.customer-email-gate{margin:18px 0 70px;padding:24px 18px}.email-gate-actions .btn{width:100%}}
.destination-map-pin.profile-destination{width:42px;height:48px;border-radius:18px 18px 22px 22px;background:#fff;padding:3px;box-shadow:0 7px 20px rgba(10,52,86,.24);border:2px solid #fff;overflow:visible}.destination-map-pin.profile-destination img{width:32px;height:32px;border-radius:50%;object-fit:cover;display:block}.destination-map-pin.profile-destination i{position:absolute;left:50%;bottom:-7px;transform:translateX(-50%) rotate(45deg);width:14px;height:14px;background:#087ff5;border:2px solid #fff;border-radius:3px}
.destination-map-pin.profile-destination:before{display:none}.destination-map-pin.profile-destination{place-items:center}

/* v0.28.43 · mapa profesional ampliable sin tocar GPS/ruta */
.active-route-expand{position:absolute;z-index:36;right:14px;top:64px;width:42px;height:42px;border:1px solid #d8e8f4;border-radius:14px;background:rgba(255,255,255,.96);color:#087ff5;box-shadow:0 8px 22px rgba(18,70,105,.13);font-size:19px;font-weight:900;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
body.route-map-fullscreen-open{overflow:hidden!important;overscroll-behavior:none}
#activeJob .pro-active-card.route-fullscreen{position:fixed!important;inset:0!important;z-index:1180!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#eef6fb!important;max-width:none!important;width:100vw!important;height:100dvh!important;overflow:hidden!important;box-shadow:none!important}
#activeJob .pro-active-card.route-fullscreen>*{display:none!important}
#activeJob .pro-active-card.route-fullscreen>.service-route-primary{display:block!important;position:absolute!important;inset:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;width:100%!important;height:100%!important}
#activeJob .pro-active-card.route-fullscreen .tracking-map-primary{display:block!important;width:100%!important;height:100dvh!important;min-height:100dvh!important;border-radius:0!important}
#activeJob .pro-active-card.route-fullscreen>.route-summary{display:flex!important;position:absolute!important;z-index:60!important;left:12px!important;right:12px!important;bottom:118px!important;margin:0!important;padding:8px!important;border-radius:16px!important;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 10px 28px rgba(16,64,104,.16)}
#activeJob .pro-active-card.route-fullscreen>.professional-status-actions{display:grid!important;position:absolute!important;z-index:62!important;left:12px!important;right:12px!important;bottom:max(12px,env(safe-area-inset-bottom))!important;margin:0!important;padding:8px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;border-radius:18px!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 12px 32px rgba(16,64,104,.20)}
#activeJob .pro-active-card.route-fullscreen .tracking-status{display:flex!important;top:max(14px,env(safe-area-inset-top))!important;left:14px!important;right:auto!important;bottom:auto!important;max-width:min(68vw,380px)!important}
#activeJob .pro-active-card.route-fullscreen .active-route-center{top:max(14px,env(safe-area-inset-top))!important;right:14px!important}
#activeJob .pro-active-card.route-fullscreen .active-route-expand{top:calc(max(14px,env(safe-area-inset-top)) + 50px)!important;right:14px!important}
@media(max-width:620px){.active-route-expand{right:10px;top:58px;width:40px;height:40px;border-radius:13px}#activeJob .pro-active-card.route-fullscreen>.route-summary{left:8px!important;right:8px!important;bottom:104px!important}#activeJob .pro-active-card.route-fullscreen>.professional-status-actions{left:8px!important;right:8px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;gap:5px!important;padding:6px!important}#activeJob .pro-active-card.route-fullscreen .status-action{padding:7px 4px!important;min-height:76px!important}#activeJob .pro-active-card.route-fullscreen .status-action span{font-size:18px!important}#activeJob .pro-active-card.route-fullscreen .status-action b{font-size:8px!important;line-height:1.15!important;text-align:center}#activeJob .pro-active-card.route-fullscreen .tracking-status{left:8px!important;top:max(8px,env(safe-area-inset-top))!important;max-width:62vw!important}#activeJob .pro-active-card.route-fullscreen .active-route-center{top:max(8px,env(safe-area-inset-top))!important;right:8px!important}#activeJob .pro-active-card.route-fullscreen .active-route-expand{top:calc(max(8px,env(safe-area-inset-top)) + 48px)!important;right:8px!important}}


/* v0.28.44 · mini mapa flotante Android (Picture-in-Picture) durante "En camino".
   No crea un segundo mapa: reutiliza proRouteMap para preservar GPS, ruta y cámara. */
.active-route-pip{position:absolute;z-index:37;right:114px;top:14px;width:42px;height:42px;border:1px solid #d8e8f4;border-radius:14px;background:rgba(255,255,255,.96);color:#087ff5;box-shadow:0 8px 22px rgba(18,70,105,.13);font-size:18px;font-weight:900;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
body.route-map-pip-open{overflow:hidden!important;background:#eef6fb!important}
#activeJob .pro-active-card.route-pip-view{position:fixed!important;inset:0!important;z-index:2400!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#eef6fb!important;max-width:none!important;width:100vw!important;height:100dvh!important;overflow:hidden!important;box-shadow:none!important}
#activeJob .pro-active-card.route-pip-view>*{display:none!important}
#activeJob .pro-active-card.route-pip-view>.service-route-primary{display:block!important;position:absolute!important;inset:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;width:100%!important;height:100%!important}
#activeJob .pro-active-card.route-pip-view .tracking-map-primary{display:block!important;width:100%!important;height:100dvh!important;min-height:100dvh!important;border-radius:0!important}
#activeJob .pro-active-card.route-pip-view .tracking-status{display:flex!important;left:7px!important;right:7px!important;top:auto!important;bottom:7px!important;max-width:none!important;padding:5px 7px!important;border-radius:10px!important;background:rgba(255,255,255,.90)!important;box-shadow:0 4px 14px rgba(16,64,104,.16)!important}
#activeJob .pro-active-card.route-pip-view .tracking-status small{display:none!important}
#activeJob .pro-active-card.route-pip-view .tracking-status strong{font-size:10px!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#activeJob .pro-active-card.route-pip-view .active-route-center,
#activeJob .pro-active-card.route-pip-view .active-route-expand,
#activeJob .pro-active-card.route-pip-view .active-route-pip{display:none!important}
#activeJob .pro-active-card.route-fullscreen .active-route-pip{top:max(14px,env(safe-area-inset-top))!important;right:118px!important}
@media(max-width:620px){
  .active-route-pip{right:106px;top:10px;width:40px;height:40px;border-radius:13px}
  #activeJob .pro-active-card.route-fullscreen .active-route-pip{top:max(8px,env(safe-area-inset-top))!important;right:108px!important}
}

/* v0.28.46 · Puntos Juiciosos y promociones de aliados */
.rewards-panel{margin-top:18px;padding:18px}.rewards-head{display:flex;justify-content:space-between;gap:18px;align-items:center}.rewards-head h2{margin:3px 0 5px}.rewards-head p{margin:0;color:var(--muted,#64748b)}.points-orb{min-width:88px;height:88px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#fff6c9,#ffe38d);box-shadow:0 10px 30px rgba(137,96,0,.12);border:1px solid rgba(161,120,0,.14)}.points-orb b{font-size:26px}.points-orb span{font-size:12px;font-weight:800}.rewards-empty{margin-top:14px;display:flex;gap:12px;align-items:center;padding:16px;border:1px dashed #d9e1e8;border-radius:16px;background:#fbfcfd}.rewards-empty>span{font-size:28px}.rewards-empty b,.rewards-empty small{display:block}.rewards-empty small{margin-top:4px;color:#64748b;line-height:1.4}.reward-offers{display:grid;gap:12px;margin-top:14px}.reward-offer{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid #e5e9ef;border-radius:16px;background:white}.reward-offer-brand{width:48px;height:48px;border-radius:14px;background:#f6f8fa;display:grid;place-items:center;font-size:24px;overflow:hidden}.reward-offer-brand img{width:100%;height:100%;object-fit:cover}.reward-offer-copy span,.reward-offer-copy small{display:block;color:#64748b}.reward-offer-copy h3{margin:2px 0}.reward-offer-copy>b{display:block;color:#0f6f5c;margin-bottom:3px}.reward-offer-action{text-align:right}.reward-offer-action strong{display:block;margin-bottom:7px}.redemption-token-modal{text-align:center}.redemption-token-modal>p{color:#64748b}.redemption-code{font-size:34px;font-weight:950;letter-spacing:2px;padding:18px;border-radius:16px;background:#101827;color:white;margin:18px 0}.redemption-benefit{display:flex;flex-direction:column;gap:3px}.redemption-benefit span{color:#0f6f5c;font-weight:800}.redemption-benefit small{color:#64748b}.redemption-countdown{margin:14px 0;font-weight:900;color:#b45309}@media(max-width:640px){.rewards-head{align-items:flex-start}.points-orb{min-width:72px;height:72px}.reward-offer{grid-template-columns:auto 1fr}.reward-offer-action{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;text-align:left}.redemption-code{font-size:28px}}


/* v0.28.47 · dirección visible en promociones y canjes */
.reward-offer-address{margin:6px 0 5px;padding:7px 9px;border-radius:10px;background:#f3f8fc;color:#345b75;font-size:10px;font-weight:800;line-height:1.35}
.redemption-location{margin-top:10px;padding:10px 12px;border-radius:12px;background:#f3f8fc;text-align:left;color:#274f69}.redemption-location b,.redemption-location span{display:block}.redemption-location span{margin-top:3px;color:#5d7485;font-weight:700;line-height:1.4}

/* v0.28.48 · promociones plegables + mini ruta PiP más limpia */
.reward-offers-collapsible{margin-top:14px;border:1px solid #e2eaf0;border-radius:16px;background:#fbfdff;overflow:hidden}
.reward-offers-toggle{width:100%;border:0;background:transparent;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:14px 15px;text-align:left;color:var(--navy,#0b2f4a);font:inherit;font-weight:900;cursor:pointer}
.reward-offers-toggle b{min-width:28px;height:28px;border-radius:999px;background:#eaf5ff;color:#087ff5;display:grid;place-items:center;font-size:11px}.reward-offers-toggle i{font-style:normal;font-size:16px}.reward-offers-toggle.open{background:#f3f9fe}.reward-offers-collapsible .reward-offers{margin:0;padding:0 12px 12px}
.reward-offers[hidden]{display:none!important}
#activeJob .pro-active-card.route-pip-view .tracking-status{display:none!important}
#activeJob .pro-active-card.route-pip-view .pro-map-marker-shell{transform:scale(.70);transform-origin:50% 100%}
#activeJob .pro-active-card.route-pip-view .destination-map-pin{transform:scale(.82);transform-origin:50% 100%}
#activeJob .pro-active-card.route-pip-view .juiciosos-map-info-control{display:none!important}


/* v0.28.51 · cliente: GPS automático sin aviso fijo dentro del mapa */
.customer-map-locating{min-height:100%;display:grid;place-items:center;align-content:center;gap:6px;background:linear-gradient(180deg,#f4f9fd,#fbfdff);color:#6b7f90}
.customer-map-locating>span{font-size:26px;animation:juiciososLocatePulse 1.25s ease-in-out infinite}
.customer-map-locating small{font-weight:800;letter-spacing:.01em}
@keyframes juiciososLocatePulse{0%,100%{transform:scale(1);opacity:.65}50%{transform:scale(1.12);opacity:1}}

/* v0.28.54 · orientación visible para valores de visita/diagnóstico */
.diagnostic-fee-guidance{display:grid;gap:7px;margin:10px 0 16px;padding:16px 17px;font-size:14px;line-height:1.45}
.diagnostic-fee-guidance b{font-size:16px;line-height:1.25}
.diagnostic-fee-guidance span{display:block}

/* ======================================================================
   JUICIOSOS v0.28.56 VISUAL LOCAL
   Capa exclusivamente visual. No modifica IDs, endpoints, estados ni lógica.
   Inspiración: app de servicios moderna, cards limpias, azul Juiciosos.
   ====================================================================== */
:root{
  --j56-navy:#082846;
  --j56-blue:#087ff5;
  --j56-blue-deep:#0368df;
  --j56-blue-pale:#edf6ff;
  --j56-sky:#dff0ff;
  --j56-surface:#ffffff;
  --j56-text:#102a43;
  --j56-muted:#6a8094;
  --j56-border:rgba(42,102,151,.12);
  --j56-shadow:0 18px 50px rgba(30,72,112,.10);
  --j56-shadow-soft:0 8px 26px rgba(31,74,112,.08);
}
body{
  background:
    radial-gradient(circle at 4% 0%,rgba(79,160,255,.11),transparent 24rem),
    linear-gradient(180deg,#fbfdff 0%,#f5f9fd 46%,#f1f6fb 100%);
  color:var(--j56-text);
}
.topbar{
  position:sticky;top:0;z-index:690;
  max-width:1180px;height:74px;
  background:rgba(250,253,255,.88);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(27,91,142,.07);
}
.brand img{width:48px;height:48px;filter:drop-shadow(0 8px 14px rgba(4,104,216,.10))}
.brand strong{font-size:23px;letter-spacing:-.5px;color:var(--j56-blue-deep)}
.brand small{font-size:10px;letter-spacing:.03em;color:#7990a4}
.top-alert-btn{box-shadow:0 8px 22px rgba(24,76,116,.10)!important}
.content{max-width:1180px;padding-top:14px}

/* Cabecera de cuenta tipo app */
.session-strip{
  border:0!important;
  border-radius:22px!important;
  padding:11px 14px!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:var(--j56-shadow-soft)!important;
}
.session-avatar{box-shadow:0 0 0 4px #edf6ff,0 8px 22px rgba(7,86,158,.14)!important}
.session-identity strong{font-size:15px;color:var(--j56-navy)}
.session-identity small{font-size:10px}
.session-actions .btn{border-radius:999px!important;padding:8px 12px!important}

/* Home cliente: tarjeta principal dentro del panel de solicitud */
.customer-map-stage{
  border:0!important;border-radius:32px!important;
  box-shadow:0 26px 72px rgba(25,76,118,.14)!important;
  background:#dfeeff!important;
}
.customer-map-stage .map-hero{filter:saturate(.9) contrast(.98)}
.customer-map-stage:after{
  background:linear-gradient(180deg,rgba(236,247,255,.26),transparent 26%,transparent 62%,rgba(5,35,63,.12) 100%)!important;
}
.map-compact-ui{gap:8px!important}
.map-locate-fab,.map-radius-badge{
  border:1px solid rgba(255,255,255,.75)!important;
  box-shadow:0 12px 32px rgba(15,62,99,.17)!important;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
}
.request-sheet.fresh-sheet{
  background:rgba(255,255,255,.965)!important;
  border:1px solid rgba(255,255,255,.82)!important;
  border-radius:30px!important;
  box-shadow:0 30px 72px rgba(7,45,77,.24)!important;
}
.service-picker{
  gap:11px!important;
}
.service-picker-title{
  position:relative;overflow:hidden;
  min-height:126px;padding:20px 98px 18px 18px!important;
  border-radius:23px;
  color:#fff;
  background:
    radial-gradient(circle at 86% 18%,rgba(255,255,255,.28),transparent 4.7rem),
    radial-gradient(circle at 105% 100%,rgba(113,196,255,.42),transparent 9rem),
    linear-gradient(135deg,#087ff5 0%,#096fdc 58%,#0758b9 100%);
  box-shadow:0 17px 36px rgba(4,101,205,.22);
}
.service-picker-title:after{
  content:"🧰";position:absolute;right:18px;bottom:5px;
  width:72px;height:72px;border-radius:24px;
  display:grid;place-items:center;font-size:43px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  transform:rotate(-4deg);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24);
}
.service-picker-title .eyebrow{color:#dceeff!important;font-size:9px!important;letter-spacing:.13em}
.service-picker-title strong{font-size:22px!important;line-height:1.05!important;color:#fff!important;letter-spacing:-.3px}
.service-picker-title small{font-size:10px!important;color:#eaf5ff!important;margin-top:4px!important;max-width:230px}
.service-quick-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}
.service-quick-card{
  min-height:104px!important;padding:11px 7px!important;
  border-radius:20px!important;
  background:#fff!important;border:1px solid rgba(31,89,137,.09)!important;
  box-shadow:0 8px 23px rgba(26,69,106,.08)!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  text-align:center!important;gap:7px!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
.service-quick-card:active{transform:scale(.97)}
.service-quick-card.active{
  border-color:rgba(8,127,245,.55)!important;
  box-shadow:0 0 0 3px rgba(8,127,245,.10),0 12px 28px rgba(4,105,211,.12)!important;
  background:linear-gradient(180deg,#fff,#f3f9ff)!important;
}
.service-icon{
  width:47px!important;height:47px!important;flex:0 0 47px!important;
  border-radius:16px!important;font-size:25px!important;
  background:linear-gradient(145deg,#eef7ff,#fff)!important;
  box-shadow:inset 0 0 0 1px rgba(8,127,245,.08)!important;
}
.service-copy{display:grid!important;gap:2px!important}
.service-copy b{font-size:10.5px!important;line-height:1.1!important;color:var(--j56-navy)!important}
.service-copy small{display:none!important}
.service-check{position:absolute!important;right:6px!important;top:6px!important}
.more-services-button{
  border-radius:18px!important;border:1px solid rgba(8,127,245,.13)!important;
  background:#f5faff!important;box-shadow:none!important;
}
.more-services-button>span{background:#e7f3ff!important;color:var(--j56-blue)!important}
.request-form{gap:10px!important}
.request-form .field input,.request-form .field select,.request-form .field textarea{
  border-color:#dbe8f3!important;background:#fbfdff!important;border-radius:15px!important;
}
.request-form .field input:focus,.request-form .field select:focus,.request-form .field textarea:focus{
  background:#fff!important;border-color:#72b8ff!important;box-shadow:0 0 0 4px rgba(8,127,245,.08)!important;
}
.problem-field textarea{min-height:70px!important}
.destination-card,.timing-card,.diagnostic-fee-card.compact{
  border-radius:18px!important;border-color:#e3edf5!important;box-shadow:none!important;
}
.request-now{
  border-radius:18px!important;min-height:54px!important;font-size:15px!important;
  background:linear-gradient(135deg,#087ff5,#075fd0)!important;
  box-shadow:0 14px 32px rgba(5,103,216,.23)!important;
}
.availability-inline{
  border-radius:999px!important;background:#eef8ff!important;color:#326482!important;
  border:1px solid #d9edfb!important;padding:8px 11px!important;
}

/* Profesionales cercanos / confianza */
.section-title h2{letter-spacing:-.25px;color:var(--j56-navy)}
.premium-pro{
  border:0!important;border-radius:23px!important;
  box-shadow:var(--j56-shadow-soft)!important;
}
.premium-pro .avatar{width:54px;height:54px}
.safety.premium{
  border:0!important;border-radius:21px!important;
  background:#fff!important;box-shadow:var(--j56-shadow-soft)!important;
}
.safety.premium>span:first-child{background:#edf6ff;border-radius:14px;padding:8px}

/* Puntos Juiciosos como bloque de fidelidad premium */
.rewards-panel{
  border:0!important;border-radius:26px!important;
  background:
    radial-gradient(circle at 92% 0%,rgba(255,218,99,.30),transparent 9rem),
    linear-gradient(135deg,#edf7ff,#fff 62%)!important;
  box-shadow:var(--j56-shadow)!important;
}
.points-orb{
  background:linear-gradient(145deg,#fff7d4,#ffd967)!important;
  border:4px solid rgba(255,255,255,.8)!important;
  box-shadow:0 12px 28px rgba(140,103,10,.15)!important;
}
.reward-offers-toggle{
  background:#fff!important;border:1px solid #e3edf5!important;border-radius:16px!important;
  box-shadow:0 7px 22px rgba(29,73,108,.06)!important;
}
.reward-offer{
  border:0!important;border-radius:20px!important;
  box-shadow:0 8px 25px rgba(29,73,108,.08)!important;
}

/* Historial */
.history-card{
  border:0!important;border-radius:22px!important;
  box-shadow:var(--j56-shadow-soft)!important;
}

/* Profesional: dashboard más limpio y comercial, misma lógica */
.pro-hero{
  position:relative;overflow:hidden;
  border-radius:32px!important;padding:29px 30px!important;
  background:
    radial-gradient(circle at 92% 5%,rgba(155,215,255,.46),transparent 10rem),
    radial-gradient(circle at 72% 110%,rgba(255,255,255,.15),transparent 12rem),
    linear-gradient(135deg,#087ff5 0%,#0669da 58%,#064d9d 100%)!important;
  box-shadow:0 24px 58px rgba(5,95,190,.23)!important;
}
.pro-hero:after{
  content:"🔧";position:absolute;right:38px;top:22px;
  width:84px;height:84px;border-radius:28px;
  display:grid;place-items:center;font-size:48px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);
  transform:rotate(8deg);pointer-events:none;
}
.pro-hero>div:first-child{position:relative;z-index:1;padding-right:100px}
.pro-hero h1{letter-spacing:-.8px!important}
.pro-hero .row{position:relative;z-index:1}
.professional-permission-gate,.pro-control,.pro-support-panel,.account-notices-panel,.referral-card{
  border:0!important;border-radius:24px!important;box-shadow:var(--j56-shadow-soft)!important;
}
.priority-job-card{
  border:0!important;border-radius:20px!important;
  box-shadow:0 9px 25px rgba(27,70,105,.08)!important;
}
.priority-job-card.urgent{
  background:linear-gradient(135deg,#eff8ff,#fff)!important;
  box-shadow:0 10px 28px rgba(8,127,245,.12)!important;
}
.priority-map-card,.pro-map-card{
  border:0!important;border-radius:27px!important;box-shadow:var(--j56-shadow)!important;
}
.premium-job{
  border:0!important;border-radius:24px!important;
  box-shadow:0 10px 30px rgba(27,70,105,.09)!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.premium-job:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(27,70,105,.12)!important}
.job-emoji{background:#edf6ff!important;border-radius:16px!important}
.distance-badge{border-radius:18px!important;background:#f0f7ff!important}
.availability-toggle{border-radius:999px!important;padding:11px 16px!important}
.big-credit{border-radius:18px!important}

/* Microanimación puramente visual */
@keyframes j56Rise{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
#customerDiscovery>.customer-map-stage,.rewards-panel,.pro-hero,.pro-discovery-priority{animation:j56Rise .32s ease both}

@media(max-width:700px){
  .topbar{height:66px;padding:7px 12px!important}
  .brand img{width:42px;height:42px}.brand strong{font-size:20px}.brand small{display:none}
  .top-actions a,.verified-pill{display:none!important}
  .content{padding-top:8px!important}
  .session-strip{margin:0 10px 10px!important;border-radius:19px!important}
  .session-actions{gap:6px!important}.session-actions .btn{font-size:10px!important;padding:7px 9px!important}
  .customer-map-stage{border-radius:28px 28px 0 0!important}
  .request-sheet.fresh-sheet{border-radius:28px!important}
  .service-picker-title{min-height:112px;padding:17px 82px 15px 15px!important;border-radius:21px}
  .service-picker-title:after{right:14px;width:62px;height:62px;border-radius:20px;font-size:36px}
  .service-picker-title strong{font-size:20px!important}
  .service-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}
  .service-quick-card{min-height:88px!important;border-radius:17px!important;padding:8px 3px!important}
  .service-icon{width:39px!important;height:39px!important;flex-basis:39px!important;font-size:21px!important;border-radius:14px!important}
  .service-copy b{font-size:9px!important}
  .more-services-button{min-height:46px!important}
  .request-now{min-height:50px!important}
  .pro-hero{margin:0 10px!important;border-radius:27px!important;padding:23px 20px!important}
  .pro-hero>div:first-child{padding-right:70px}.pro-hero:after{right:18px;top:20px;width:62px;height:62px;border-radius:20px;font-size:36px}
  .pro-hero h1{font-size:29px!important;max-width:250px}
  .pro-hero p{font-size:11px!important;line-height:1.5;max-width:94%}
  .rewards-panel{margin-left:10px!important;margin-right:10px!important;border-radius:24px!important}
}
@media(max-width:390px){
  .service-picker-title{min-height:102px}.service-picker-title small{display:block!important;font-size:8.5px!important}
  .service-picker-title strong{font-size:18px!important}
  .service-quick-card{min-height:82px!important}.service-copy b{font-size:8.3px!important}
  .service-icon{width:36px!important;height:36px!important;flex-basis:36px!important;font-size:19px!important}
}


/* ======================================================================
   JUICIOSOS v0.28.58 PRODUCCIÓN
   Limpieza visual + disponibilidad en cabecera + perfil verificado.
   ====================================================================== */
[hidden]{display:none!important}
.topbar{max-width:1180px;margin-left:auto;margin-right:auto}
.top-actions{min-width:0}
.top-availability{
  min-height:42px!important;padding:9px 15px!important;border-radius:999px!important;
  border:1px solid rgba(10,92,150,.12)!important;box-shadow:0 8px 22px rgba(20,72,112,.10)!important;
  white-space:nowrap;font-size:12px;position:relative;z-index:2;
}
.top-availability b{font-size:12px;letter-spacing:.01em}
.top-availability.on{background:#e7fbf2!important;color:#087a55!important;border-color:#b8ead4!important}
.top-availability.off{background:#f1f5f8!important;color:#587183!important;border-color:#dce7ee!important}
.top-availability:not(:disabled){cursor:pointer}
.professional-workspace .topbar{border-bottom-color:rgba(8,128,248,.11)}

/* Acceso: menos texto y más aire */
.access-gateway{padding-bottom:18px!important}
.access-gateway .access-lead{max-width:560px!important;margin-bottom:22px!important}
.access-gateway .access-rule{display:none!important}

/* Banner profesional compacto: la información secundaria vive en Ver más */
.pro-hero{align-items:center!important;padding-top:22px!important;padding-bottom:22px!important;min-height:0!important}
.pro-hero>div:first-child{max-width:760px}
.pro-hero h1{margin-bottom:5px!important}
.pro-hero-summary{font-size:13px!important;line-height:1.45!important}
.hero-more-link{border:0;background:rgba(255,255,255,.16);color:#fff;font-weight:900;border-radius:999px;padding:5px 9px;margin-left:4px;cursor:pointer}
.pro-hero-details{margin-top:9px;padding:9px 11px;border-radius:12px;background:rgba(4,49,95,.20);border:1px solid rgba(255,255,255,.18);font-size:11px;line-height:1.4;color:#eaf5ff}

/* Cuando GPS y alertas ya están listos, no desperdicia una pantalla completa */
.professional-permission-gate.ready{padding:10px 14px!important;border-radius:17px!important;margin-top:10px!important;background:#f4fcf8!important;box-shadow:none!important;border:1px solid #cfeedd!important}
.permission-ready-compact{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}
.permission-ready-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#dff7ea;color:#087a55;font-weight:1000}
.permission-ready-compact b{display:block;color:#164c3a;font-size:12px}
.permission-ready-compact small{display:block;color:#6d8b7e;font-size:9.5px;margin-top:1px}
.permission-ready-compact .text-action{font-size:10px;padding:6px 8px}
.permission-details{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}
.permission-gate-head.compact{margin-bottom:10px!important}
.permission-gate-head.compact h3{margin:2px 0 0!important;font-size:17px!important}

/* Control inferior más limpio: disponibilidad ya está arriba */
.pro-control{padding:12px 14px!important}
.pro-control-right{grid-template-columns:1fr!important;min-width:180px}
.credit-control-stack{width:100%}

/* Perfil verificado visible, útil y sin exponer datos privados */
.verified-profile-link{border:0;background:#edf7ff;color:#0969c8;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:900;cursor:pointer;margin-top:6px;width:max-content;max-width:100%}
.verified-profile-link.compact{padding:4px 8px;font-size:9px;margin-top:5px}
.trust-badge.pending{background:#fff8e5!important;color:#8b6500!important}
.verified-profile-modal{display:grid;gap:14px}
.verified-profile-head{display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center}
.verified-profile-photo{width:82px;height:82px;border-radius:24px;overflow:hidden;background:#edf6ff;position:relative;border:4px solid #fff;box-shadow:0 0 0 1px #d9e9f6,0 12px 28px rgba(23,73,111,.12)}
.verified-profile-photo .professional-photo-img,.verified-profile-photo .pro-photo-fallback{width:100%;height:100%;object-fit:cover;display:grid;place-items:center;font-size:30px}
.verified-profile-photo>span{position:absolute;right:3px;bottom:3px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#0a80f5;color:#fff;border:3px solid #fff;font-weight:1000}
.verified-profile-head h2{margin:2px 0 2px!important;font-size:23px}.verified-profile-head p{margin:0;color:#668096;font-size:12px}
.verified-profile-head .verified-check{font-style:normal;color:#0a80f5}
.verified-profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.verified-profile-stats>div{padding:12px;border-radius:16px;background:#f7fbff;border:1px solid #e1edf6;display:grid;gap:2px}.verified-profile-stats b{font-size:18px;color:#0b3656}.verified-profile-stats small{font-size:9px;color:#718698}
.trust-signal-list{display:grid;gap:8px}.trust-signal{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 11px;border-radius:15px;background:#f8fbfd;border:1px solid #e1ecf4}.trust-signal>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#edf6ff}.trust-signal b{display:block;font-size:11px;color:#173d59}.trust-signal small{display:block;font-size:9px;color:#748798;line-height:1.35;margin-top:2px}.trust-signal i{font-style:normal;color:#13a06b;font-weight:1000}.trust-signal.ok{background:#f4fcf8;border-color:#d6efe2}
.verified-profile-note{display:grid;gap:3px;padding:11px 12px;border-radius:15px;background:#eef7ff;color:#245e89}.verified-profile-note b{font-size:11px}.verified-profile-note span{font-size:9.5px;line-height:1.45}
.verified-identity-card{border-color:#d6e9f7!important;background:linear-gradient(135deg,#fff,#f8fcff)!important}

/* Admin: evidencia de reclamo explícita */
.review-request-evidence{display:grid;gap:10px;margin:12px 0;padding:13px;border:1px solid #d9e8f3;border-radius:16px;background:#f9fcff}
.review-request-evidence h4{margin:0;color:#173d59}.review-request-evidence p{margin:0;color:#597286;font-size:12px;line-height:1.5}
.review-request-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.review-request-photo{border:0;background:#fff;border-radius:12px;padding:0;overflow:hidden;cursor:pointer;border:1px solid #dce9f2}.review-request-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.review-request-photo span{display:block;padding:6px;font-size:9px;color:#47677d}

@media(max-width:700px){
  .topbar{padding-left:10px!important;padding-right:10px!important;gap:7px}
  .top-actions{gap:6px!important}
  .top-availability{min-height:38px!important;padding:7px 10px!important;font-size:10px!important}
  .top-availability b{font-size:10px}.top-alert-btn{width:38px!important;height:38px!important;min-width:38px!important}
  .professional-workspace .brand span{display:none}.professional-workspace .brand img{width:40px!important;height:40px!important}
  .pro-hero{padding:18px 16px!important}.pro-hero>div:first-child{padding-right:66px!important}.pro-hero h1{font-size:25px!important}.pro-hero-summary{font-size:10.5px!important}
  .pro-hero .row{gap:6px!important}.pro-hero .row .btn{padding:8px 10px!important;font-size:10px!important}
  .professional-permission-gate.ready{margin-left:10px!important;margin-right:10px!important}
  .permission-ready-compact small{display:none}.permission-ready-compact b{font-size:11px}
  .permission-details{grid-template-columns:1fr}
  .verified-profile-photo{width:70px;height:70px;border-radius:20px}.verified-profile-head h2{font-size:19px}
}
@media(max-width:390px){
  .top-availability{padding:7px 8px!important}.top-availability b{font-size:9px}.top-availability span{width:8px!important;height:8px!important}
  .professional-workspace .brand{gap:0}.pro-hero-summary{max-width:240px}
}


/* ======================================================================
   JUICIOSOS v0.28.59 PRODUCCIÓN
   Catálogo coherente + profesional en banner + cabecera preservada.
   ====================================================================== */
.top-alert-btn{position:relative;overflow:visible!important}
.top-alert-count{
  position:absolute;right:-5px;top:-6px;z-index:3;
  min-width:18px;height:18px;padding:0 5px;border-radius:999px;
  display:grid;place-items:center;background:#ff3948;color:#fff;
  border:2px solid #fff;box-shadow:0 4px 10px rgba(191,26,43,.25);
  font-size:9px;font-weight:1000;line-height:1;
}
.top-alert-btn.has-count{border-color:#ffd5d9!important}

/* El banner usa una figura humana real, no un icono de caja de herramientas. */
.service-picker-title{
  padding-right:190px!important;
  background:linear-gradient(135deg,#087ff5 0%,#096fdc 58%,#0758b9 100%)!important;
}
.service-picker-title:after{
  content:""!important;
  right:0!important;bottom:0!important;top:0!important;
  width:176px!important;height:auto!important;border-radius:0 23px 23px 0!important;
  background-image:linear-gradient(90deg,rgba(7,103,211,.92) 0%,rgba(7,103,211,.12) 24%,rgba(7,103,211,0) 50%),url('/professional-banner.png')!important;
  background-size:cover!important;background-position:48% 45%!important;background-repeat:no-repeat!important;
  border:0!important;transform:none!important;box-shadow:none!important;
  opacity:1!important;
}
.service-picker-title>div{position:relative;z-index:1}

/* “Ver más” conserva el mismo lenguaje visual de las cuatro categorías principales. */
.services-modal-head.compact{padding-right:38px;margin-bottom:14px}
.services-modal-head.compact h2{margin:4px 0 5px}
.services-modal-head.compact .subtitle{max-width:760px;margin-bottom:0}
.catalog-services-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;
  margin:12px 0 18px;
}
.catalog-service-card{
  min-width:0;min-height:150px;position:relative;
  border:1px solid rgba(31,89,137,.11);border-radius:21px;
  padding:13px 10px 12px;background:#fff;color:var(--j56-navy,#082846);
  box-shadow:0 8px 23px rgba(26,69,106,.07);
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  gap:6px;text-align:center;font:inherit;
}
button.catalog-service-card{cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
button.catalog-service-card:hover{transform:translateY(-2px);border-color:rgba(8,127,245,.38);box-shadow:0 12px 28px rgba(4,105,211,.12)}
button.catalog-service-card:active{transform:scale(.98)}
.catalog-service-icon{
  width:58px;height:58px;flex:0 0 58px;border-radius:18px;
  display:grid;place-items:center;font-size:31px;
  background:linear-gradient(145deg,#eef7ff,#fff);
  box-shadow:inset 0 0 0 1px rgba(8,127,245,.09);
}
.catalog-service-card>b{font-size:12px;line-height:1.15;margin-top:2px}
.catalog-service-card>small{font-size:9px;line-height:1.3;color:#7a8fa1;min-height:23px}
.catalog-service-state{
  margin-top:auto;font-style:normal;font-size:8px;font-weight:950;
  padding:4px 8px;border-radius:999px;line-height:1;
}
.catalog-service-state.available{background:#e5faf1;color:#087a55}
.catalog-service-state.soon{background:#edf2f6;color:#657b8c}
.upcoming-service-card{background:linear-gradient(180deg,#fbfcfd,#f7f9fb);border-color:#e4ebf0;box-shadow:none}
.upcoming-service-card .catalog-service-icon{filter:saturate(.62);opacity:.72}
.upcoming-service-card>b{color:#60798c}
.coming-title{margin-top:4px}

/* En escritorio se conservan explícitamente disponibilidad, campana, legal y verificación. */
@media(min-width:701px){
  .professional-workspace .top-actions>a,.professional-workspace .top-actions>.verified-pill{display:inline-flex!important;align-items:center}
}
@media(max-width:700px){
  .service-picker-title{padding-right:118px!important}
  .service-picker-title:after{width:112px!important;border-radius:0 21px 21px 0!important;background-position:48% 50%!important}
  .catalog-services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .catalog-service-card{min-height:142px;border-radius:18px;padding:11px 8px}
  .catalog-service-icon{width:52px;height:52px;flex-basis:52px;border-radius:16px;font-size:28px}
}
@media(max-width:390px){
  .service-picker-title{padding-right:104px!important}
  .service-picker-title:after{width:98px!important}
  .catalog-service-card{min-height:136px}
}


/* ======================================================================
   JUICIOSOS v0.28.60 PRODUCCIÓN
   Ajuste exclusivamente visual: acceso más limpio + confianza en cards.
   Sin cambios de lógica.
   ====================================================================== */

/* Primera impresión: un solo contenedor visual, sin “cajas dentro de cajas”. */
.access-gateway{
  max-width:780px!important;
  margin:28px auto 72px!important;
  padding:38px 46px 34px!important;
  background:#fff!important;
  border:1px solid #e5eef6!important;
  border-radius:26px!important;
  box-shadow:0 18px 54px rgba(16,69,109,.10)!important;
}
.access-brand-mark{
  width:82px!important;height:82px!important;margin-bottom:8px!important;
  border-radius:22px!important;background:transparent!important;
  box-shadow:none!important;
}
.access-brand-mark img{width:76px!important;height:76px!important}
.access-gateway .eyebrow{font-size:10px!important;letter-spacing:.15em!important}
.access-gateway h1{
  margin:8px 0 8px!important;
  font-size:clamp(34px,5vw,48px)!important;
  letter-spacing:-1px!important;
}
.access-gateway .access-lead{
  margin-bottom:24px!important;
  color:#647b8e!important;
  font-size:14px!important;
  line-height:1.45!important;
}
.access-main-actions{max-width:650px!important}
.access-main{
  min-height:54px!important;
  border-radius:15px!important;
  box-shadow:0 10px 24px rgba(8,112,227,.18)!important;
}
.access-register-grid{
  gap:0!important;
  margin-top:12px!important;
  border:1px solid #e1ebf3!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#fbfdff!important;
}
.access-role-card{
  min-height:82px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:15px 17px!important;
  transition:background .16s ease!important;
}
.access-role-card+ .access-role-card{border-left:1px solid #e1ebf3!important}
.access-role-card:hover{background:#f2f8ff!important}
.access-role-card>span{
  width:42px!important;height:42px!important;
  border-radius:13px!important;
  box-shadow:inset 0 0 0 1px rgba(8,127,245,.06)!important;
}
.access-role-card b{font-size:13px!important;line-height:1.2!important}
.access-role-card small{font-size:10px!important;color:#7890a3!important}
.access-role-card i{font-size:18px!important}

/* Confianza: mismo lenguaje visual de las tarjetas de profesiones. */
.safety-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
}
.safety.premium{
  min-height:162px!important;
  padding:14px 10px!important;
  border:1px solid rgba(31,89,137,.10)!important;
  border-radius:21px!important;
  background:#fff!important;
  box-shadow:0 8px 23px rgba(26,69,106,.07)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:center!important;
  gap:6px!important;
}
.safety.premium>span:first-child{
  width:58px!important;height:58px!important;
  display:grid!important;place-items:center!important;
  margin:0 0 3px!important;padding:0!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#eef7ff,#fff)!important;
  box-shadow:inset 0 0 0 1px rgba(8,127,245,.09)!important;
  font-size:30px!important;
}
.safety.premium b{
  margin:2px 0 0!important;
  font-size:12px!important;
  line-height:1.15!important;
  color:var(--j56-navy,#082846)!important;
}
.safety.premium .meta{
  margin:2px 0 0!important;
  font-size:9.5px!important;
  line-height:1.35!important;
  color:#7a8fa1!important;
  max-width:170px!important;
}

@media(max-width:700px){
  .access-gateway{
    width:calc(100% - 20px)!important;
    margin:8px 10px 42px!important;
    padding:26px 16px 22px!important;
    border-radius:24px!important;
  }
  .access-brand-mark{width:72px!important;height:72px!important}
  .access-brand-mark img{width:66px!important;height:66px!important}
  .access-gateway h1{font-size:clamp(29px,9vw,39px)!important}
  .access-register-grid{grid-template-columns:1fr!important}
  .access-role-card+ .access-role-card{
    border-left:0!important;
    border-top:1px solid #e1ebf3!important;
  }
  .safety-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .safety.premium{min-height:148px!important;padding:12px 8px!important;border-radius:18px!important}
  .safety.premium>span:first-child{width:50px!important;height:50px!important;border-radius:16px!important;font-size:25px!important}
  .safety.premium b{font-size:11px!important}
  .safety.premium .meta{font-size:8.8px!important}
}

@media(max-width:390px){
  .access-gateway{padding-left:13px!important;padding-right:13px!important}
  .safety.premium{min-height:142px!important}
  .safety.premium .meta{font-size:8.3px!important}
}


/* ======================================================================
   JUICIOSOS v0.28.61 PRODUCCIÓN
   Responsive total: nada visible en escritorio se pierde en móvil/APK.
   Capa exclusivamente de presentación; no cambia lógica ni eventos.
   ====================================================================== */

/* Evita desbordamientos laterales accidentales en web y WebView. */
html,body,.app-shell{max-width:100%;overflow-x:clip}
img,video,canvas,svg{max-width:100%}

@media(max-width:760px){
  /* Cabecera responsive completa en dos niveles compactos. */
  .topbar{
    width:100%!important;max-width:100%!important;height:auto!important;min-height:92px!important;
    display:grid!important;grid-template-columns:minmax(104px,auto) minmax(0,1fr)!important;
    align-items:start!important;gap:7px!important;
    padding:max(7px,env(safe-area-inset-top)) 10px 8px!important;
  }
  .brand{
    min-width:0!important;max-width:132px!important;gap:7px!important;
    align-self:start!important;justify-self:start!important;
  }
  .brand img,.professional-workspace .brand img{width:40px!important;height:40px!important;flex:0 0 40px!important}
  .brand span,.professional-workspace .brand span{display:block!important;min-width:0!important;text-align:left!important}
  .brand strong{display:block!important;font-size:15px!important;line-height:1.05!important;white-space:nowrap!important}
  .brand small{display:block!important;font-size:8px!important;line-height:1.15!important;margin-top:3px!important;white-space:nowrap!important}

  .top-actions{
    width:100%!important;min-width:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:
      "availability alert"
      "terms privacy"
      "verified verified"!important;
    gap:5px 7px!important;align-items:center!important;justify-items:end!important;
  }
  #availabilityToggle:not([hidden]){grid-area:availability;display:inline-flex!important;justify-self:end!important;max-width:148px!important}
  #globalAlerts{grid-area:alert;justify-self:end!important}
  .top-actions>a:nth-of-type(1){grid-area:terms}
  .top-actions>a:nth-of-type(2){grid-area:privacy}
  .top-actions>.verified-pill{grid-area:verified}

  /* Nunca ocultar legal, sello de revisión, nombre ni leyenda de marca en móvil. */
  .top-actions a{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    font-size:10px!important;line-height:1.1!important;padding:2px 0!important;white-space:nowrap!important;
  }
  .top-actions>.verified-pill{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    max-width:100%!important;font-size:9px!important;line-height:1.1!important;
    padding:5px 8px!important;white-space:normal!important;text-align:center!important;
  }
  .top-availability{
    min-height:36px!important;padding:6px 9px!important;font-size:9.5px!important;
    max-width:148px!important;white-space:nowrap!important;
  }
  .top-availability b{font-size:9.5px!important;overflow:hidden;text-overflow:ellipsis}
  .top-alert-btn{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
  .top-alert-count{right:-4px!important;top:-5px!important}

  /* No perder información que versiones anteriores ocultaban para ahorrar espacio. */
  .location-details{display:block!important}
  .secure-chat{display:inline-flex!important;align-items:center!important}
  .permission-ready-compact small{display:block!important}
  .service-step small{display:block!important}
  .map-radius-badge{display:flex!important}
  .service-picker-title small{display:block!important}
  .more-services-button small{display:block!important}
  .chat-attach-wide b{display:inline!important}

  /* Estructuras generales: se adaptan sin desaparecer ni salir del viewport. */
  .content{width:100%!important;max-width:100%!important;padding-left:10px!important;padding-right:10px!important}
  .section-title{align-items:flex-start!important;flex-wrap:wrap!important}
  .section-title small{max-width:100%!important;text-align:left!important}
  .form-grid,.modal-card .form-grid{grid-template-columns:minmax(0,1fr)!important}
  .field,.field.full{min-width:0!important;grid-column:1/-1!important}
  .panel,.modal-card,.job-card,.pro-card,.verification-card,.live-service-card{max-width:100%!important}
  .modal-backdrop{padding:10px!important}
  .modal-card{width:100%!important;max-width:100%!important;max-height:calc(100dvh - 20px)!important;padding:18px 14px!important;border-radius:22px!important}
  .modal-card h2{font-size:clamp(20px,6vw,28px)!important}
  .account-strip,.pro-card,.live-service-top{flex-wrap:wrap!important}
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .admin-row{grid-template-columns:minmax(0,1fr)!important}
  .admin-row>*{min-width:0!important}
  .verification-card{grid-template-columns:minmax(0,1fr)!important}
  .doc-img{width:min(100%,320px)!important}
  .chat-form{max-width:100%!important}
  .chat-form input{min-width:0!important;width:100%!important}
  .bubble{max-width:90%!important;overflow-wrap:anywhere!important}
  .notice,.meta,.hint,.tiny,.request-legal{overflow-wrap:anywhere!important}

  /* El catálogo y confianza mantienen todas sus opciones visibles. */
  .catalog-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .safety-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:430px){
  .topbar{grid-template-columns:minmax(92px,108px) minmax(0,1fr)!important;padding-left:8px!important;padding-right:8px!important}
  .brand{max-width:108px!important;gap:5px!important}
  .brand img,.professional-workspace .brand img{width:36px!important;height:36px!important;flex-basis:36px!important}
  .brand strong{font-size:13px!important}.brand small{font-size:7.2px!important}
  .top-actions{gap:4px 6px!important}
  .top-actions a{font-size:9px!important}
  .top-actions>.verified-pill{font-size:8px!important;padding:4px 6px!important}
  .top-availability{min-height:34px!important;padding:5px 7px!important;max-width:126px!important}
  .top-availability b{font-size:8.5px!important}
  .top-alert-btn{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important}
  .content{padding-left:8px!important;padding-right:8px!important}
  .catalog-service-card{min-width:0!important}
}

@media(max-width:360px){
  /* Incluso en pantallas muy estrechas: todo sigue presente, solo más compacto. */
  .topbar{grid-template-columns:82px minmax(0,1fr)!important;gap:4px!important}
  .brand{max-width:82px!important}.brand img,.professional-workspace .brand img{width:31px!important;height:31px!important;flex-basis:31px!important}
  .brand strong{font-size:11.5px!important}.brand small{font-size:6.5px!important}
  .top-actions a{display:inline-flex!important;font-size:8px!important}
  .top-actions>.verified-pill{display:inline-flex!important;font-size:7.2px!important;padding:4px 5px!important}
  .top-availability{max-width:112px!important;padding:5px 6px!important}.top-availability b{font-size:7.8px!important}
  .chat-attach-wide b{display:inline!important;font-size:8px!important}
}

/* En equipos bajos o en horizontal tampoco se ocultan datos visibles del modo normal. */
@media(max-height:700px) and (max-width:620px){
  .map-live-pill{display:block!important}
  .request-legal{display:block!important}
}
@media(orientation:landscape) and (max-height:520px){
  .brand small{display:block!important}
}

/* Último seguro de visibilidad para pantallas extremadamente estrechas. */
@media(max-width:360px){
  .access-role-card i,.role-entry-card i{display:inline!important}
}


/* ============================================================
   JUICIOSOS v0.28.62 PRODUCCIÓN
   Profesionales cerca dentro del mapa + responsive preservado
   ============================================================ */
.customer-map-stage{position:relative}
.nearby-map-panel{position:absolute;z-index:18;top:16px;right:76px;width:min(390px,calc(100% - 180px));max-height:245px;display:flex;flex-direction:column;gap:8px;padding:11px 12px;border:1px solid rgba(205,224,239,.92);border-radius:20px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);box-shadow:0 14px 38px rgba(17,65,102,.14);overflow:hidden}
.nearby-map-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;min-width:0}.nearby-map-head>div{min-width:0}.nearby-map-head .eyebrow{display:block;font-size:8px;letter-spacing:.08em;color:#0877cd;margin-bottom:2px}.nearby-map-head strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nearby-map-head small{font-size:9px;color:#688196;text-align:right;max-width:150px}
.nearby-map-carousel{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:1px 1px 5px;scrollbar-width:thin}.nearby-map-carousel .premium-pro{min-width:245px;max-width:270px;padding:10px 11px;border-radius:16px;box-shadow:none;background:#fff}.nearby-map-carousel .pro-main{gap:8px}.nearby-map-carousel .avatar{width:38px;height:38px;min-width:38px}.nearby-map-carousel .pro-name-line strong{font-size:11px}.nearby-map-carousel .meta{font-size:8.5px}.nearby-map-carousel .trust-row{margin-top:3px}.nearby-map-carousel .verified-profile-link{font-size:8px;margin-top:3px}.nearby-map-carousel .pro-distance b{font-size:11px}.nearby-map-carousel .pro-distance small{font-size:7.5px}.nearby-map-carousel .wide-empty{min-width:100%;padding:10px;font-size:9px}
@media(max-width:900px){.nearby-map-panel{right:64px;width:min(340px,calc(100% - 135px));max-height:230px}.nearby-map-carousel .premium-pro{min-width:230px}}
@media(max-width:620px){.nearby-map-panel{top:74px;left:10px;right:10px;width:auto;max-height:178px;padding:9px 10px;border-radius:17px}.nearby-map-head{align-items:center}.nearby-map-head strong{font-size:11px}.nearby-map-head small{font-size:8px}.nearby-map-carousel .premium-pro{min-width:218px;padding:8px 9px}.nearby-map-carousel .trust-row{display:none}.nearby-map-carousel .verified-profile-link{margin-top:2px}.nearby-map-carousel .avatar{width:34px;height:34px;min-width:34px}}
@media(max-width:390px){.nearby-map-panel{top:80px;left:8px;right:8px}.nearby-map-head .eyebrow{font-size:7px}.nearby-map-head strong{font-size:10.5px}.nearby-map-head small{max-width:110px}.nearby-map-carousel .premium-pro{min-width:205px}}

/* ======================================================================
   JUICIOSOS v0.28.63 PRODUCCIÓN
   Ajuste visual puntual: disponibilidad cercana sin lista larga + acceso plano.
   No altera matching, asignación, login, registro ni lógica de servicio.
   ====================================================================== */

/* Antes de que exista una solicitud aceptada mostramos disponibilidad, no un
   catálogo de personas. Así no se crea la expectativa de escoger a alguien
   distinto del profesional que finalmente acepte el servicio. */
.nearby-map-panel{
  width:min(360px,calc(100% - 180px))!important;
  max-height:none!important;
  gap:7px!important;
}
.nearby-map-summary{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:58px!important;
  padding:9px 10px!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,#f5fbff,#fff)!important;
  border:1px solid #e3eef7!important;
  overflow:hidden!important;
}
.nearby-map-summary-icon{
  width:34px!important;height:34px!important;flex:0 0 34px!important;
  display:grid!important;place-items:center!important;
  border-radius:12px!important;
  background:#eaf5ff!important;color:#0878df!important;
  font-size:17px!important;font-weight:900!important;
}
.nearby-map-summary-icon.active{background:#e8faf3!important;color:#129967!important}
.nearby-map-summary-icon.idle{background:#f2f5f8!important;color:#6e8191!important}
.nearby-map-summary>div{min-width:0!important;text-align:left!important}
.nearby-map-summary strong{display:block!important;font-size:11px!important;line-height:1.15!important;color:#0d2e49!important}
.nearby-map-summary small{display:block!important;margin-top:3px!important;font-size:8.5px!important;line-height:1.35!important;color:#71889a!important}

/* Primera pantalla: una sola composición limpia. Quitamos el efecto visual de
   tarjetas sobre tarjetas sin cambiar los botones ni sus eventos. */
.access-gateway{
  max-width:760px!important;
  margin:34px auto 76px!important;
  padding:42px 44px 36px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.access-brand-mark{margin-bottom:5px!important}
.access-gateway h1{margin-top:6px!important}
.access-main-actions{max-width:620px!important}
.access-main{border-radius:14px!important}
.access-register-label{
  margin:24px 0 8px!important;
  color:#71879a!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
.access-register-grid{
  margin-top:0!important;
  gap:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  background:transparent!important;
}
.access-role-card{
  min-height:72px!important;
  padding:10px 16px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.access-role-card+.access-role-card{border-left:1px solid #dbe7f0!important}
.access-role-card:hover{background:#f3f9ff!important;border-radius:14px!important}
.access-role-card>span{
  width:40px!important;height:40px!important;border-radius:12px!important;
  background:#edf6ff!important;
}
.access-role-card.professional>span{background:#edf9f5!important}
.access-role-card b{font-size:13px!important}
.access-role-card small{font-size:10px!important}

@media(max-width:700px){
  .access-gateway{
    width:100%!important;margin:8px auto 42px!important;
    padding:24px 16px 22px!important;
  }
  .access-register-label{margin-top:20px!important}
  .access-register-grid{grid-template-columns:1fr!important}
  .access-role-card{min-height:66px!important;padding:10px 8px!important}
  .access-role-card+.access-role-card{border-left:0!important;border-top:1px solid #dbe7f0!important}
}
@media(max-width:620px){
  .nearby-map-panel{top:74px!important;left:10px!important;right:10px!important;width:auto!important;max-height:none!important}
  .nearby-map-summary{min-height:52px!important;padding:8px 9px!important}
  .nearby-map-summary-icon{width:30px!important;height:30px!important;flex-basis:30px!important;font-size:15px!important}
  .nearby-map-summary strong{font-size:10px!important}
  .nearby-map-summary small{font-size:7.8px!important}
}

/* ======================================================================
   JUICIOSOS v0.28.64 · SITIO WEB PÚBLICO SOLO NAVEGADOR
   Esta capa no se muestra en Capacitor/APK. La app existente permanece intacta.
   ====================================================================== */
html.web-marketing-active{scroll-behavior:smooth}
body.web-marketing-active{margin:0;background:#f7fbff;color:#102f49;overflow-x:hidden}
.web-landing[hidden],#juiciososAppShell[hidden]{display:none!important}
.web-landing{--web-blue:#087cf0;--web-blue-dark:#0664c7;--web-ink:#0c2c46;--web-muted:#657f94;--web-line:#dce9f4;--web-soft:#eef7ff;min-height:100vh;background:linear-gradient(180deg,#f9fcff 0,#fff 42%,#f5faff 100%);font-family:inherit;color:var(--web-ink)}
.web-site-header{position:sticky;top:0;z-index:70;min-height:78px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;padding:12px clamp(20px,5vw,72px);border-bottom:1px solid rgba(214,230,242,.9);background:rgba(255,255,255,.92);backdrop-filter:blur(18px);box-shadow:0 8px 28px rgba(17,68,108,.05)}
.web-site-brand{display:flex;align-items:center;gap:10px;color:var(--web-ink);text-decoration:none;min-width:max-content}.web-site-brand img{width:50px;height:50px;object-fit:contain}.web-site-brand span{display:grid;gap:1px}.web-site-brand strong{font-size:20px;letter-spacing:-.02em}.web-site-brand small{font-size:10px;color:#6e8496}
.web-site-nav{display:flex;justify-content:center;align-items:center;gap:clamp(12px,2vw,28px);min-width:0}.web-site-nav a{color:#47667e;text-decoration:none;font-weight:800;font-size:12px;white-space:nowrap}.web-site-nav a:hover{color:var(--web-blue)}
.web-login-btn{border:0;border-radius:13px;background:var(--web-blue);color:#fff;padding:12px 18px;font-weight:900;cursor:pointer;box-shadow:0 9px 22px rgba(8,124,240,.22);white-space:nowrap}.web-login-btn:hover{background:var(--web-blue-dark)}
.web-site-main{max-width:1240px;margin:0 auto;padding:0 24px}
.web-hero{min-height:590px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:56px;align-items:center;padding:70px 0 62px}.web-hero-copy{max-width:660px}.web-kicker,.web-section-heading>span,.web-pro-cta>span,.web-final-cta>div>span{display:block;color:var(--web-blue);font-size:10px;font-weight:1000;letter-spacing:.15em;margin-bottom:12px}.web-hero h1{font-size:clamp(44px,5.4vw,70px);line-height:.98;letter-spacing:-.045em;margin:0 0 22px;color:var(--web-ink);max-width:750px}.web-hero-copy>p{font-size:18px;line-height:1.65;color:var(--web-muted);margin:0;max-width:660px}.web-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.web-btn{min-height:48px;border-radius:14px;padding:11px 20px;border:1px solid transparent;font-weight:900;cursor:pointer;font-family:inherit}.web-btn.primary{background:var(--web-blue);color:#fff;box-shadow:0 11px 26px rgba(8,124,240,.2)}.web-btn.secondary{background:#fff;color:var(--web-blue);border-color:#bcdcff}.web-btn.compact{min-height:40px;padding:8px 14px;background:#fff;color:var(--web-blue);border-color:#c9e0f3}.web-btn.white{background:#fff;color:#0869ca}.web-btn.outline-white{background:transparent;border-color:rgba(255,255,255,.58);color:#fff}.web-trust-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.web-trust-chips span{padding:8px 11px;border-radius:999px;background:#f0f8ff;border:1px solid #d8eaf8;font-size:10px;font-weight:800;color:#41647d}
.web-hero-visual{position:relative;min-height:430px;border-radius:34px;overflow:hidden;background:linear-gradient(135deg,#087cf0,#4eb2ff);box-shadow:0 26px 70px rgba(8,93,170,.2)}.web-hero-visual img{width:100%;height:100%;min-height:430px;object-fit:cover;object-position:center;display:block}.web-hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(4,40,78,.28))}.web-hero-floating-card{position:absolute;left:22px;bottom:22px;z-index:2;display:grid;gap:2px;min-width:260px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.93);backdrop-filter:blur(10px);box-shadow:0 12px 30px rgba(7,50,87,.17)}.web-hero-floating-card b{font-size:14px}.web-hero-floating-card small{font-size:9px;color:#678095}
.web-section{padding:78px 0;border-top:1px solid #e7f0f7}.web-section-heading{max-width:720px;margin:0 auto 34px;text-align:center}.web-section-heading h2{font-size:clamp(31px,4vw,46px);line-height:1.08;letter-spacing:-.035em;margin:0 0 12px}.web-section-heading p{margin:0;color:var(--web-muted);font-size:15px;line-height:1.6}.web-section-heading.split{max-width:none;display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:end;text-align:left}.web-section-heading.split>p{text-align:right;max-width:460px;justify-self:end}
.web-flow-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.web-flow-card{background:#fff;border:1px solid var(--web-line);border-radius:26px;padding:28px;box-shadow:0 16px 42px rgba(21,78,121,.07)}.web-flow-card.professional{background:linear-gradient(180deg,#fff,#f4fbf8)}.web-flow-title{display:flex;align-items:center;gap:13px;margin-bottom:22px}.web-flow-title>span{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#eaf5ff;font-size:25px}.web-flow-card.professional .web-flow-title>span{background:#e9f9f2}.web-flow-title small{display:block;color:var(--web-blue);font-weight:900;font-size:9px;letter-spacing:.11em}.web-flow-title h3{font-size:22px;margin:3px 0 0}.web-flow-card ol{counter-reset:webstep;display:grid;gap:16px;margin:0;padding:0;list-style:none}.web-flow-card li{counter-increment:webstep;display:grid;grid-template-columns:30px 1fr;column-gap:10px}.web-flow-card li:before{content:counter(webstep);grid-row:1/3;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eaf5ff;color:#0876d9;font-weight:1000;font-size:10px}.web-flow-card li b{font-size:12px}.web-flow-card li span{font-size:10px;color:#6d8294;line-height:1.45;margin-top:2px}.web-text-cta{margin-top:23px;border:0;background:transparent;color:var(--web-blue);font-weight:900;padding:0;cursor:pointer}
.web-services-section{background:linear-gradient(180deg,transparent,#f5faff 45%,transparent);margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:max(24px,calc((100vw - 1240px)/2 + 24px));padding-right:max(24px,calc((100vw - 1240px)/2 + 24px))}.web-service-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.web-service-grid article{min-height:160px;padding:20px;border:1px solid #ddeaf4;border-radius:22px;background:#fff;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 10px 28px rgba(20,75,115,.055)}.web-service-grid article>span{width:54px;height:54px;border-radius:17px;background:#edf7ff;display:grid;place-items:center;font-size:28px;margin-bottom:auto}.web-service-grid b{font-size:13px;margin-top:14px}.web-service-grid small{font-size:9px;color:#71879a;margin-top:5px;line-height:1.4}.web-service-note{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-top:16px;padding:15px 18px;border:1px dashed #b9d9ef;border-radius:18px;background:#f7fcff}.web-service-note>div{display:grid;gap:3px}.web-service-note b{font-size:12px}.web-service-note span{font-size:9.5px;color:#71879a}
.web-professionals-section{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:28px;align-items:stretch}.web-professional-copy>h2{font-size:clamp(32px,4vw,47px);line-height:1.05;letter-spacing:-.035em;margin:0 0 14px}.web-professional-copy>p{color:var(--web-muted);line-height:1.65;margin:0;max-width:760px}.web-signal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:28px}.web-signal-grid>div{padding:17px 14px;border-radius:18px;border:1px solid #dceaf5;background:#fff}.web-signal-grid span{display:block;font-size:24px;margin-bottom:15px}.web-signal-grid b{display:block;font-size:11px}.web-signal-grid small{display:block;margin-top:5px;font-size:8.5px;line-height:1.45;color:#74899b}.web-pro-cta{border-radius:28px;padding:30px;background:linear-gradient(145deg,#087af0,#075fb9);color:#fff;display:flex;flex-direction:column;justify-content:center;box-shadow:0 18px 48px rgba(8,105,202,.18)}.web-pro-cta>span{color:#bfe0ff}.web-pro-cta h3{font-size:28px;line-height:1.05;margin:0 0 13px}.web-pro-cta p{color:#d8edff;font-size:12px;line-height:1.55;margin:0 0 20px}.web-pro-cta .web-btn{align-self:flex-start;background:#fff;color:#0870d5}
.web-about-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.web-about-grid article{padding:28px 24px;border:1px solid #dce9f3;border-radius:24px;background:#fff}.web-about-grid article>span{width:48px;height:48px;border-radius:15px;background:#eef7ff;display:grid;place-items:center;font-size:24px}.web-about-grid h3{margin:18px 0 9px;font-size:18px}.web-about-grid p{margin:0;color:#6d8396;font-size:11px;line-height:1.65}
.web-faq-section{max-width:960px;margin:0 auto}.web-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.web-faq-grid details{border:1px solid #dce9f3;border-radius:17px;background:#fff;padding:0 17px}.web-faq-grid summary{cursor:pointer;padding:16px 25px 16px 0;font-size:12px;font-weight:900;position:relative;list-style:none}.web-faq-grid summary::-webkit-details-marker{display:none}.web-faq-grid summary:after{content:"+";position:absolute;right:0;top:12px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#edf6ff;color:#0875da}.web-faq-grid details[open] summary:after{content:"−"}.web-faq-grid details p{margin:0;padding:0 0 16px;color:#6a8194;font-size:10px;line-height:1.6}
.web-final-cta{margin:30px 0 76px;padding:34px 38px;border-radius:28px;background:linear-gradient(120deg,#086bd0,#0a8cff);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:0 22px 55px rgba(8,105,202,.2)}.web-final-cta>div>span{color:#cce8ff}.web-final-cta h2{font-size:30px;margin:0 0 7px}.web-final-cta p{margin:0;color:#d9efff}.web-final-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.web-site-footer{border-top:1px solid #dfeaf3;background:#fff;padding:36px max(24px,calc((100vw - 1240px)/2 + 24px)) 24px;display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:start}.web-footer-brand{display:flex;align-items:center;gap:9px}.web-footer-brand img{width:45px;height:45px;object-fit:contain}.web-footer-brand div{display:grid}.web-footer-brand b{font-size:15px}.web-footer-brand small{font-size:9px;color:#788b9c}.web-footer-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;padding-top:10px}.web-footer-links a,.web-footer-legal a{font-size:9px;color:#5e788d;text-decoration:none;font-weight:800}.web-footer-legal{display:grid;gap:8px;text-align:right;padding-top:7px}.web-footer-bottom{grid-column:1/-1;border-top:1px solid #e8f0f6;padding-top:16px;display:flex;justify-content:space-between;align-items:center;color:#8192a1;font-size:9px}.web-footer-bottom button{border:0;background:transparent;color:#0875da;font-weight:900;cursor:pointer}
@media(max-width:1050px){.web-site-header{grid-template-columns:auto 1fr auto;gap:14px;padding-left:20px;padding-right:20px}.web-site-nav{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.web-site-nav::-webkit-scrollbar{display:none}.web-hero{grid-template-columns:1fr .9fr;gap:30px}.web-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.web-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.web-site-header{grid-template-columns:1fr auto;min-height:70px}.web-site-nav{grid-column:1/-1;order:3;border-top:1px solid #e8f0f6;padding-top:8px}.web-site-main{padding:0 16px}.web-hero{grid-template-columns:1fr;padding-top:48px}.web-hero-copy{max-width:none}.web-hero-visual{min-height:360px}.web-hero-visual img{min-height:360px}.web-flow-columns,.web-professionals-section{grid-template-columns:1fr}.web-section-heading.split{grid-template-columns:1fr;text-align:center}.web-section-heading.split>p{text-align:center;justify-self:center}.web-about-grid{grid-template-columns:1fr}.web-site-footer{grid-template-columns:1fr 1fr}.web-footer-links{justify-content:flex-start}.web-footer-legal{text-align:left}.web-footer-bottom{grid-column:1/-1}.web-final-cta{align-items:flex-start;flex-direction:column}.web-final-actions{justify-content:flex-start}}
@media(max-width:580px){.web-site-header{padding:8px 12px;gap:8px}.web-site-brand img{width:38px;height:38px}.web-site-brand strong{font-size:16px}.web-site-brand small{font-size:8px}.web-login-btn{padding:9px 12px;font-size:10px}.web-site-nav{gap:18px}.web-site-nav a{font-size:9.5px}.web-site-main{padding:0 12px}.web-hero{padding:40px 0 46px;gap:28px}.web-hero h1{font-size:clamp(39px,13vw,54px)}.web-hero-copy>p{font-size:14px}.web-hero-actions{display:grid;grid-template-columns:1fr}.web-btn{width:100%}.web-trust-chips{display:grid;grid-template-columns:1fr 1fr}.web-trust-chips span:last-child{grid-column:1/-1}.web-hero-visual{min-height:300px;border-radius:26px}.web-hero-visual img{min-height:300px}.web-hero-floating-card{left:14px;right:14px;bottom:14px;min-width:0}.web-section{padding:58px 0}.web-section-heading{margin-bottom:25px}.web-flow-card{padding:20px 17px;border-radius:21px}.web-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.web-service-grid article{min-height:142px;padding:15px}.web-service-grid article:last-child{grid-column:1/-1;min-height:115px}.web-service-note{align-items:stretch;flex-direction:column}.web-service-note .web-btn{width:100%}.web-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.web-signal-grid>div{padding:14px 11px}.web-pro-cta{padding:24px 20px}.web-faq-grid{grid-template-columns:1fr}.web-final-cta{margin-bottom:54px;padding:27px 21px}.web-final-cta h2{font-size:25px}.web-site-footer{grid-template-columns:1fr;padding-left:16px;padding-right:16px}.web-footer-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.web-footer-bottom{grid-column:1;align-items:flex-start;gap:8px;flex-direction:column}}


/* ============================================================
   JUICIOSOS v0.28.65 · REGRESO PERMANENTE A WEB CORPORATIVA
   Solo navegador. La APK no recibe estos controles.
   ============================================================ */
.web-return-home-button{
  appearance:none;border:1px solid #cfe2f3;background:#f7fbff;color:#0873d7;
  min-height:34px;padding:7px 10px;border-radius:999px;display:inline-flex;align-items:center;
  justify-content:center;gap:5px;font:inherit;font-size:9.5px;font-weight:900;cursor:pointer;
  white-space:nowrap;box-shadow:0 5px 14px rgba(8,105,202,.06)
}
.web-return-home-button:hover{background:#edf7ff;border-color:#acd3ef}
.web-return-home-button span{font-size:13px;line-height:1}
.access-return-web,.modal-return-web{
  appearance:none;border:0;background:transparent;color:#0873d7;font:inherit;font-size:10px;
  font-weight:900;cursor:pointer;padding:5px 0;text-decoration:none
}
.access-return-web{justify-self:start;margin:0 0 6px}
.modal-return-web{display:inline-flex;margin:-2px 0 8px;align-items:center}

@media(max-width:760px){
  .top-actions{
    grid-template-columns:minmax(0,1fr) auto auto!important;
    grid-template-areas:
      "availability availability alert"
      "web terms privacy"
      "verified verified verified"!important;
  }
  #webReturnHome{grid-area:web;justify-self:start!important;min-height:26px!important;padding:4px 6px!important;font-size:8.8px!important;box-shadow:none!important}
  #webReturnHome span{font-size:10px!important}
  .top-actions>a:nth-of-type(1){grid-area:terms!important}
  .top-actions>a:nth-of-type(2){grid-area:privacy!important}
  .top-actions>.verified-pill{grid-area:verified!important}
}
@media(max-width:430px){
  #webReturnHome{font-size:8px!important;padding:3px 5px!important}
  #webReturnHome b{font-size:8px!important}
}
@media(max-width:360px){
  #webReturnHome b{font-size:7.2px!important}
  #webReturnHome span{font-size:9px!important}
}

/* ======================================================================
   JUICIOSOS v0.28.66 · DISPONIBILIDAD FUERA DEL MAPA + BANNER ILUSTRADO
   Ajuste exclusivamente visual; no modifica matching, GPS ni solicitudes.
   ====================================================================== */
.nearby-map-panel.nearby-map-panel-outside{
  position:relative!important;
  z-index:1!important;
  top:auto!important;right:auto!important;left:auto!important;
  width:100%!important;max-width:none!important;max-height:none!important;
  margin:0 0 12px!important;
  padding:12px 14px!important;
  border-radius:20px!important;
  background:#fff!important;
  backdrop-filter:none!important;
  box-shadow:0 10px 30px rgba(17,65,102,.08)!important;
  overflow:visible!important;
}
.nearby-map-panel-outside .nearby-map-head{align-items:center!important}
.nearby-map-panel-outside .nearby-map-summary{margin-top:2px!important}

/* El profesional del banner ahora es ilustrado tipo marketplace, completo y
   sin recortes/desvanecidos sobre manos o cuerpo. */
.service-picker-title:after{
  background-image:url('/professional-banner.png')!important;
  background-size:contain!important;
  background-position:right center!important;
  background-repeat:no-repeat!important;
  width:46%!important;
  opacity:1!important;
}
.service-picker-title{
  padding-right:min(44%,210px)!important;
  overflow:hidden!important;
}

@media(max-width:900px){
  .nearby-map-panel.nearby-map-panel-outside{margin:0 12px 10px!important;width:calc(100% - 24px)!important}
}
@media(max-width:620px){
  .nearby-map-panel.nearby-map-panel-outside{
    margin:0 10px 10px!important;width:calc(100% - 20px)!important;
    padding:10px 11px!important;border-radius:17px!important;
  }
  .nearby-map-panel-outside .nearby-map-head strong{font-size:12px!important}
  .service-picker-title{padding-right:42%!important}
  .service-picker-title:after{width:43%!important;background-size:contain!important;background-position:right bottom!important}
}
@media(max-width:390px){
  .nearby-map-panel.nearby-map-panel-outside{margin-left:8px!important;margin-right:8px!important;width:calc(100% - 16px)!important}
  .service-picker-title{padding-right:40%!important}
  .service-picker-title:after{width:41%!important}
}

/* ======================================================================
   v0.28.67 · Banner profesional + beneficios de aliados para profesionales
   ====================================================================== */
.service-picker-title{
  min-height:156px!important;
  padding-right:43%!important;
  overflow:hidden!important;
}
.service-picker-title:after{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  right:0!important;top:0!important;bottom:0!important;
  width:43%!important;height:auto!important;
  background-image:url('/professional-banner.png?v=02867')!important;
  background-size:cover!important;
  background-position:center top!important;
  background-repeat:no-repeat!important;
  border-radius:0 23px 23px 0!important;
  box-shadow:none!important;
  opacity:1!important;
  pointer-events:none!important;
}
.service-picker-title>div{position:relative;z-index:2!important}

.partner-recruitment-banner{
  display:flex;align-items:flex-start;gap:12px;margin:0 0 14px;padding:12px 14px;
  border:1px solid #bfe6d4;border-radius:16px;background:linear-gradient(135deg,#effcf6,#f8fffb);
  color:#18573d;
}
.partner-recruitment-banner>span{font-size:24px}.partner-recruitment-banner div{display:grid;gap:3px}.partner-recruitment-banner small{line-height:1.4}
.professional-partner-benefits{display:grid;gap:14px}
.professional-benefits-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
.professional-benefits-head h3{margin:3px 0 5px}.professional-benefits-head .meta{max-width:720px;margin:0}
.partner-origin-badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#e8f8ef;color:#176440;font-size:10px;font-weight:900}
.professional-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.professional-benefit-card{display:grid;gap:8px;align-content:start;min-width:0;padding:14px;border:1px solid #dce9f3;border-radius:18px;background:linear-gradient(160deg,#fff,#f6fbff);box-shadow:0 9px 24px rgba(26,67,101,.07)}
.professional-benefit-partner{display:flex;gap:8px;align-items:center}.professional-benefit-partner>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#eaf6ff;font-size:18px}.professional-benefit-partner div{display:grid;min-width:0}.professional-benefit-partner small{font-size:8px;color:#6d8294;font-weight:900;letter-spacing:.08em}.professional-benefit-partner b{font-size:11px;overflow-wrap:anywhere}
.professional-benefit-card h4{margin:2px 0 0;font-size:14px}.professional-benefit-value{font-size:18px;color:#0879e5}.professional-benefit-card>small{font-size:10px;line-height:1.4;color:#667b8e}.professional-benefit-expiry{font-size:9px;font-weight:800;color:#65798b}.professional-benefit-card .btn{margin-top:auto}
.professional-benefit-history{border-top:1px solid #e3ecf3;padding-top:10px}.professional-benefit-history summary{cursor:pointer;font-size:11px;font-weight:900;color:#3b607c}.professional-benefit-history>div{display:flex;justify-content:space-between;gap:10px;padding:8px 2px;border-bottom:1px solid #eef3f6;font-size:10px}.professional-benefit-history>div small{color:#728596}
.professional-token-modal .redemption-benefit{display:grid;gap:5px}.professional-token-modal .redemption-location{margin-top:8px;padding:10px;border-radius:13px;background:#f4f9fd;display:grid;gap:3px}

@media(max-width:900px){
  .professional-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .service-picker-title{min-height:142px!important;padding-right:46%!important}
  .service-picker-title:after{width:46%!important;background-position:54% top!important}
  .professional-benefit-grid{grid-template-columns:1fr}
  .professional-benefits-head{display:grid}
}


/* ======================================================================
   JUICIOSOS v0.28.68 · BANNER FINAL APROBADO
   La composición completa (texto + profesional + branding Juiciosos)
   se usa como una sola pieza visual para evitar cortes, uniones o cajas.
   ====================================================================== */
.service-picker-title{
  position:relative!important;
  min-height:0!important;
  aspect-ratio:1563/670!important;
  padding:0!important;
  border:0!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:#fff url('/professional-banner.png?v=02868fix') center center / cover no-repeat!important;
  box-shadow:none!important;
}
.service-picker-title:after{
  content:none!important;
  display:none!important;
  background:none!important;
}
/* Conservamos el contenido semántico en el DOM sin duplicarlo visualmente. */
.service-picker-title>div{
  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;
}
@media(max-width:620px){
  .service-picker-title{
    aspect-ratio:1563/670!important;
    border-radius:20px!important;
    background-size:100% 100%!important;
  }
}


/* ======================================================================
   v0.28.68 FIX · BANNER APP + HERO WEB SEPARADOS
   - App/APK: conserva la composición completa aprobada sin cortar la gorra.
   - Web corporativa: usa una imagen exclusiva del profesional, sin el texto
     del banner de selección de servicios.
   ====================================================================== */
.service-picker-title{
  background-image:url('/professional-banner.png?v=02868fix')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.web-hero-visual{
  aspect-ratio:1032/800;
  min-height:0!important;
  background:#0b82f4;
}
.web-hero-visual img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center center!important;
}
@media(max-width:900px){
  .web-hero-visual{aspect-ratio:1032/800;min-height:0!important}
  .web-hero-visual img{min-height:0!important;object-position:center top!important}
}
@media(max-width:620px){
  .service-picker-title{background-size:cover!important;background-position:center center!important}
  .web-hero-visual{aspect-ratio:1032/800;min-height:0!important}
}
\n\n/* ==========================================================
   JUICIOSOS v0.28.69 — LOGIN LIMPIO + ORIGEN DE CAPTACIÓN ÚNICO
   Solo presentación del acceso. No modifica mapas, matching ni paneles.
   ========================================================== */
.modal-card:has(.login-clean){width:min(94vw,480px);max-width:480px;padding:28px 30px 30px;border-radius:30px;border:1px solid rgba(15,102,180,.10);background:rgba(255,255,255,.985);box-shadow:0 28px 80px rgba(16,55,88,.24)}
.login-clean{display:grid;gap:20px}
.login-clean-brand{text-align:center;display:grid;justify-items:center;gap:7px;padding:2px 18px 4px}
.login-clean-brand img{width:145px;height:112px;object-fit:contain;display:block}
.login-clean-brand h2{margin:0!important;color:#102f49;font-size:27px!important;letter-spacing:-.02em}
.login-clean-brand p{margin:0;color:#74899a;font-size:13px;line-height:1.45}
.login-clean-form{display:grid!important;grid-template-columns:1fr!important;gap:13px!important}
.login-clean-form .field{grid-column:1/-1!important;margin:0}
.login-clean-field label{font-size:11px;font-weight:850;color:#35566f;margin:0 0 6px 5px}
.login-clean-field input,.login-clean-field .password-input-wrap input{min-height:53px!important;border-radius:18px!important;border:1.5px solid #b9d7ee!important;background:#fff!important;box-shadow:0 2px 0 rgba(8,128,248,.02);padding-left:17px!important;color:#153b57}
.login-clean-field input:focus,.login-clean-field .password-input-wrap input:focus{border-color:#168bf4!important;box-shadow:0 0 0 4px rgba(22,139,244,.10)!important;outline:0}
.login-clean .password-recovery-link{display:flex;justify-content:flex-end;margin-top:6px}
.login-clean .password-recovery-link .text-action{font-size:10px;font-weight:800;color:#207ec8}
.login-remember-clean{padding:8px 10px!important;border:0!important;background:transparent!important;border-radius:12px!important}
.login-remember-clean>span{display:grid;gap:1px}
.login-remember-clean b{font-size:10px!important;color:#385a72!important}
.login-remember-clean small{font-size:8.5px!important;color:#8799a7!important}
.login-clean-submit{width:100%;min-height:54px!important;border-radius:18px!important;font-size:14px!important;box-shadow:0 12px 28px rgba(8,128,248,.24)!important}
.login-clean-register{text-align:center;padding-top:4px;display:grid!important;justify-items:center;gap:5px}
.login-clean-register>span{font-size:11px;color:#7b8e9d}
.login-clean-register-actions{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}
.login-clean-register-actions .text-action{font-size:11px;font-weight:900;color:#087df1}
.login-clean-register-actions>span{color:#a6b4bf}
@media(max-width:620px){.modal-backdrop:has(.login-clean){align-items:center!important;place-items:center!important;padding:14px!important}.modal-card:has(.login-clean){width:min(100%,430px)!important;max-width:430px!important;max-height:calc(100dvh - 28px)!important;border-radius:30px!important;padding:24px 20px calc(24px + env(safe-area-inset-bottom))!important}.login-clean-brand img{width:132px;height:104px}.login-clean-brand h2{font-size:24px!important}.login-clean-field input,.login-clean-field .password-input-wrap input{min-height:52px!important}}
@media(max-height:690px) and (max-width:620px){.modal-card:has(.login-clean){padding-top:18px!important;padding-bottom:18px!important}.login-clean{gap:12px}.login-clean-brand{gap:4px}.login-clean-brand img{width:112px;height:82px}.login-clean-brand h2{font-size:21px!important}.login-clean-brand p{font-size:11px}.login-clean-form{gap:9px!important}.login-clean-field input,.login-clean-field .password-input-wrap input{min-height:47px!important}.login-clean-submit{min-height:49px!important}}


/* ======================================================================
   JUICIOSOS v0.28.70 — AJUSTE VISUAL DE ACCESO / LOGIN
   SOLO PRESENTACIÓN. No cambia autenticación, registro, GPS, créditos,
   aliados, puntos, solicitudes, matching, chat ni ninguna lógica de negocio.
   ====================================================================== */

/* Inicio: el logo usa PNG transparente y la misma escala limpia del login. */
.access-brand-mark{
  width:150px!important;
  height:112px!important;
  margin:0 auto 7px!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:grid!important;
  place-items:center!important;
}
.access-brand-mark img{
  width:145px!important;
  height:110px!important;
  object-fit:contain!important;
  display:block!important;
  margin:0 auto!important;
  background:transparent!important;
}

/* Login: la X sale del flujo para que NO empuje el logo/título a la izquierda. */
.modal-card:has(.login-clean) .modal-close{
  position:absolute!important;
  float:none!important;
  top:18px!important;
  right:18px!important;
  margin:0!important;
}
.login-clean-brand{
  width:100%!important;
  box-sizing:border-box!important;
  padding:2px 48px 4px!important;
  text-align:center!important;
  justify-items:center!important;
  align-items:center!important;
}
.login-clean-brand img{
  display:block!important;
  margin:0 auto!important;
  background:transparent!important;
}
.login-clean-brand h2,
.login-clean-brand p{
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

@media(max-width:620px){
  .access-brand-mark{width:138px!important;height:104px!important;margin-bottom:6px!important}
  .access-brand-mark img{width:134px!important;height:102px!important}
  .modal-card:has(.login-clean) .modal-close{top:16px!important;right:16px!important}
  .login-clean-brand{padding-left:42px!important;padding-right:42px!important}
}
@media(max-width:390px){
  .access-brand-mark{width:128px!important;height:98px!important}
  .access-brand-mark img{width:124px!important;height:96px!important}
  .login-clean-brand{padding-left:38px!important;padding-right:38px!important}
}
\n\n/* v0.28.71 · descarga Android + guía de pasos del profesional */\n.web-app-download-strip{margin-top:18px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px 14px;border:1px solid #d8eafb;border-radius:18px;background:linear-gradient(135deg,#f8fcff,#edf7ff);box-shadow:0 10px 28px rgba(8,112,213,.07)}\n.web-app-download-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#fff;border:1px solid #dbeaf6;font-size:22px;box-shadow:0 6px 18px rgba(27,78,117,.07)}\n.web-app-download-copy{display:grid;gap:3px;min-width:0}.web-app-download-copy b{font-size:12px;color:#123c5e}.web-app-download-copy small{font-size:9px;color:#6c8192;line-height:1.4}.web-btn.app-download{white-space:nowrap}.web-btn.app-download:disabled,.web-final-actions [data-android-download]:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}\n.visit-accepted-guide{display:grid;gap:17px;text-align:left}.visit-accepted-guide-head{text-align:center;display:grid;justify-items:center;gap:7px}.visit-accepted-guide-icon{width:72px;height:72px;border-radius:24px;background:linear-gradient(145deg,#e9fff5,#e7f5ff);display:grid;place-items:center;font-size:38px;box-shadow:0 12px 32px rgba(8,118,207,.12)}.visit-accepted-guide-head h2{margin:2px 0 0;font-size:27px;color:#0e3857;letter-spacing:-.025em}.visit-accepted-guide-head p{margin:0;color:#6e8191;line-height:1.5;max-width:520px}.visit-accepted-fee{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #cde8dc;background:#f2fcf7;border-radius:17px;padding:12px 14px}.visit-accepted-fee span{font-size:10px;color:#668177;font-weight:800}.visit-accepted-fee b{color:#08764e;font-size:15px}.visit-guide-steps{display:grid;gap:9px}.visit-guide-step{display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:center;border:1px solid #e0ebf3;border-radius:16px;padding:11px 12px;background:#fff}.visit-guide-step>span{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:#edf7ff;font-size:20px}.visit-guide-step b{display:block;color:#123d5c;font-size:12px}.visit-guide-step small{display:block;color:#708494;font-size:10px;line-height:1.45;margin-top:2px}.visit-guide-step.important{border-color:#b9ddfa;background:#f5fbff}.visit-guide-actions{display:flex;gap:9px;flex-wrap:wrap}.visit-guide-actions .btn{flex:1;min-width:180px}.visit-guide-foot{margin:0;text-align:center;color:#768b9b;font-size:9.5px;line-height:1.45}\n@media(max-width:620px){.web-app-download-strip{grid-template-columns:auto 1fr}.web-app-download-strip .web-btn{grid-column:1/-1;width:100%}.visit-accepted-guide-head h2{font-size:23px}.visit-guide-actions{display:grid;grid-template-columns:1fr}.visit-guide-actions .btn{min-width:0;width:100%}}\n
/* v0.28.73 · dirección persistente visible durante el servicio */
.service-address-card{display:flex;gap:11px;align-items:flex-start;margin:12px 0;padding:12px 14px;border:1px solid #cfe3f4;border-radius:17px;background:linear-gradient(135deg,#f7fbff,#eef7ff);color:#173d5b}.service-address-card>span{font-size:22px;line-height:1}.service-address-card>div{min-width:0;display:grid;gap:3px}.service-address-card small{font-size:8px;font-weight:900;letter-spacing:.08em;color:#4f7897}.service-address-card b{font-size:12px;line-height:1.4;overflow-wrap:anywhere}.service-address-card em{font-size:9.5px;font-style:normal;color:#6f8494}


/* v0.28.74 · selector de destino tipo Rappi: el mapa se mueve bajo un pin fijo */
.gps-adjust-button:disabled{opacity:.46;cursor:not-allowed}
.destination-picker{display:grid;gap:14px}.destination-picker h2{margin:0!important;color:#123b59}.destination-picker .subtitle{margin:0!important;line-height:1.5}
.destination-picker-map-wrap{position:relative;border-radius:22px;overflow:hidden;border:1px solid #c9def0;background:#eaf3fa;box-shadow:0 14px 38px rgba(18,61,92,.13)}
.destination-picker-map{height:min(52vh,440px)!important;min-height:330px}
.destination-picker-center-pin{position:absolute;left:50%;top:50%;z-index:650;transform:translate(-50%,-100%);pointer-events:none;display:grid;justify-items:center;filter:drop-shadow(0 9px 10px rgba(8,63,112,.28))}
.destination-picker-center-pin span{font-size:46px;line-height:1;transform-origin:50% 100%;animation:destinationPinFloat 1.7s ease-in-out infinite}
.destination-picker-center-pin i{width:14px;height:5px;border-radius:50%;background:rgba(12,47,72,.22);filter:blur(1px);margin-top:2px}
@keyframes destinationPinFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.destination-picker-hint{position:absolute;z-index:660;left:50%;top:18px;transform:translateX(-50%);white-space:nowrap;padding:8px 12px;border-radius:999px;background:rgba(16,47,73,.88);color:#fff;font-size:11px;font-weight:850;box-shadow:0 8px 24px rgba(10,45,72,.18);pointer-events:none}
.destination-picker-recenter{position:absolute;z-index:670;right:14px;bottom:14px;width:46px;height:46px;border:0;border-radius:15px;background:rgba(255,255,255,.96);color:#087ff5;font-size:24px;font-weight:900;box-shadow:0 10px 28px rgba(15,57,88,.19);cursor:pointer}
.destination-picker-address{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:12px 14px;border-radius:16px;background:#f2f8fd;border:1px solid #d3e5f4;color:#254b68}.destination-picker-address>span{font-size:22px}.destination-picker-address b,.destination-picker-address small{display:block}.destination-picker-address small{margin-top:3px;color:#71889a;line-height:1.35}
.destination-picker-actions{display:grid;grid-template-columns:1fr 1.45fr;gap:10px}.destination-picker-actions .btn{min-height:50px}.destination-picker-foot{text-align:center;color:#708697;line-height:1.45}
.modal-card:has(.destination-picker){width:min(760px,96vw);max-width:760px;overflow:hidden}
@media(max-width:620px){.modal-backdrop:has(.destination-picker){padding:0!important;align-items:stretch!important}.modal-card:has(.destination-picker){width:100%!important;max-width:none!important;max-height:100dvh!important;height:100dvh!important;border-radius:0!important;padding:18px 14px calc(16px + env(safe-area-inset-bottom))!important;display:flex;flex-direction:column;overflow:auto}.destination-picker{min-height:0;flex:1}.destination-picker-map{height:52dvh!important;min-height:300px}.destination-picker-actions{grid-template-columns:1fr 1.5fr}.destination-picker-hint{top:12px}.destination-picker-center-pin span{font-size:43px}}

/* v0.28.75 · Centro real de notificaciones de la campana */
.global-notification-center{display:grid;gap:16px}.global-notification-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.global-notification-title h2{margin:3px 0 6px;font-size:25px}.global-notification-title p{margin:0;color:var(--muted);font-size:13px;line-height:1.5;max-width:620px}.global-notification-total{min-width:42px;height:42px;padding:0 11px;border-radius:15px;background:#eaf4ff;color:var(--blue2);display:grid;place-items:center;font-weight:950;font-size:18px}.global-notification-permission{width:100%;border:1px solid #d8e6f1;background:#f7fbff;border-radius:16px;padding:12px 14px;display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;text-align:left;color:var(--ink)}button.global-notification-permission{cursor:pointer}.global-notification-permission>span{width:36px;height:36px;border-radius:12px;background:#eaf4ff;display:grid;place-items:center}.global-notification-permission b,.global-notification-permission small{display:block}.global-notification-permission small{margin-top:2px;color:var(--muted);font-size:11px}.global-notification-permission.ok{background:#f2fff9;border-color:#c9eedc}.global-notification-permission.ok>span{background:#e4faef}.global-notification-permission.ok>i{color:#087c50;font-style:normal;font-weight:900}.global-notification-permission.action>i{font-style:normal;color:var(--blue2);font-size:20px}.global-notification-section{border:1px solid var(--line);border-radius:18px;background:#fbfdff;overflow:hidden}.global-notification-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 15px;border-bottom:1px solid var(--line);background:#fff}.global-notification-section-head h3{margin:2px 0 0;font-size:16px}.global-notification-section-head>span{font-size:11px;font-weight:850;color:var(--blue2);background:#eaf4ff;padding:6px 9px;border-radius:999px}.global-notification-list{display:grid}.global-notification-item{display:grid;grid-template-columns:auto 1fr auto;gap:11px;padding:13px 14px;border-bottom:1px solid #e6eef5;align-items:flex-start;background:#fff}.global-notification-item:last-child{border-bottom:0}.global-notification-item.unread{background:#f2f8ff}.global-notification-icon{width:36px;height:36px;border-radius:12px;background:#eaf4ff;display:grid;place-items:center}.global-notification-copy>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.global-notification-copy>div span{font-size:10px;font-weight:850;color:#087c50}.global-notification-copy p{margin:5px 0 4px;line-height:1.42;font-size:13px}.global-notification-copy small{color:var(--muted);font-size:10px}.global-notification-archive{border:0;background:#eef5fb;color:#42647e;border-radius:10px;padding:7px 9px;font-size:10px;font-weight:800;cursor:pointer}.global-notification-empty{padding:22px;text-align:center;color:var(--muted);font-size:13px}.top-alert-btn{cursor:pointer}.top-alert-btn.active{background:#f5f9fc!important;border-color:#d9e7f2!important;color:#557188!important}.top-alert-btn.has-count{background:#fff7f8!important;border-color:#ffcdd3!important;color:#b4233a!important}
@media(max-width:620px){.global-notification-title h2{font-size:21px}.global-notification-title p{font-size:12px}.global-notification-total{min-width:38px;height:38px;border-radius:13px}.global-notification-item{grid-template-columns:auto 1fr}.global-notification-archive{grid-column:2;justify-self:start}.global-notification-section-head{align-items:flex-start}.global-notification-center{gap:12px}}


/* ===== v0.28.76 · soporte, chat audible y modales centrados ===== */
.modal-card{position:relative}
.modal-close{position:absolute!important;top:12px!important;right:12px!important;z-index:5;margin:0!important}
#modalContent>.eyebrow,#modalContent>h2,#modalContent>.subtitle,
#modalContent>div>.eyebrow,#modalContent>div>h2,#modalContent>div>.subtitle,
#modalContent .global-notification-title>div,#modalContent .support-center-modal>p.subtitle,
#modalContent .support-new-ticket>p.subtitle{text-align:center}
#modalContent .row{justify-content:center}
#modalContent .field,#modalContent .notice,#modalContent .bubble,#modalContent .support-thread-message,#modalContent .support-ticket-card{text-align:left}
.user-support-panel{padding:16px 18px}.user-support-head{display:flex;align-items:center;gap:18px;justify-content:space-between}.user-support-head h3{margin:2px 0 4px}.user-support-head p{margin:0;max-width:760px;color:var(--muted,#64748b);font-size:13px;line-height:1.45}.support-ticket-list{display:grid;gap:10px;margin-top:14px}.support-ticket-card{display:flex;gap:12px;align-items:center;justify-content:space-between;border:1px solid #dbe7f0;background:#f8fbfd;border-radius:16px;padding:13px}.support-ticket-card.unread,.support-ticket-card:not(.closed){border-color:#b8d6ee}.support-ticket-card.closed{opacity:.78}.support-ticket-card h3{margin:2px 0 4px}.support-ticket-card p{margin:0 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:620px}.support-ticket-status{width:max-content;margin:0 auto 12px;border-radius:999px;padding:6px 10px;background:#eaf4ff;color:#0b5a91;font-weight:800;font-size:12px}.support-thread{display:grid;gap:8px;max-height:42vh;overflow:auto;margin:12px 0;padding:4px}.support-thread-message{max-width:88%;border-radius:14px;padding:10px 12px;background:#eef4f8}.support-thread-message.user{margin-left:auto;background:#e4f1ff}.support-thread-message.admin{margin-right:auto;border:1px solid #d8e6ef}.support-thread-message p{margin:4px 0;white-space:pre-wrap}.support-thread-message small{color:#718096}.blocked-account-card #suspensionSupport{margin-top:14px}
@media(max-width:720px){.user-support-head{align-items:stretch;flex-direction:column}.support-ticket-card{align-items:stretch;flex-direction:column}.support-ticket-card .btn{width:100%}.support-thread-message{max-width:96%}.modal-card{margin:auto!important;align-self:center!important;max-height:calc(100dvh - 24px)!important;border-radius:22px!important}}


/* ===== v0.28.77 · conservar los 4 cuadros de confianza siempre visibles ===== */
#customerDiscoveryExtras.during-service{display:block!important;margin-top:6px}
#customerDiscoveryExtras .safety-grid{visibility:visible!important}

/* ===== v0.28.78 · soporte al final, antes de los 4 cuadros de confianza ===== */
.customer-support-bottom{margin-top:14px;margin-bottom:14px}
.customer-support-bottom .user-support-panel{margin:0}
body.service-tracking-customer .customer-support-bottom{display:block!important}


/* ===== v0.28.80 · selector de ubicación siempre desplazable y confirmable ===== */
.modal-backdrop:has(.destination-picker){overflow-y:auto!important;overscroll-behavior-y:contain!important}
.modal-card:has(.destination-picker){
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch!important;
  max-height:calc(100dvh - 28px)!important;
  scrollbar-width:auto!important;
}
.modal-card:has(.destination-picker)::-webkit-scrollbar{display:block!important;width:8px!important}
.modal-card:has(.destination-picker)::-webkit-scrollbar-thumb{background:#c7d9e8;border-radius:999px}
.modal-card:has(.destination-picker)::-webkit-scrollbar-track{background:transparent}
.destination-picker-actions{position:relative;z-index:690}
@media(max-height:820px) and (min-width:621px){
  .destination-picker{gap:11px}
  .destination-picker-map{height:min(42dvh,330px)!important;min-height:230px!important}
  .destination-picker .subtitle{font-size:13px;line-height:1.4}
  .destination-picker-address{padding:10px 12px}
  .destination-picker-actions .btn{min-height:46px}
}
@media(max-width:620px){
  .modal-card:has(.destination-picker){
    overflow-y:auto!important;
    max-height:100dvh!important;
    height:100dvh!important;
    scrollbar-width:none!important;
  }
  .modal-card:has(.destination-picker)::-webkit-scrollbar{display:none!important}
  .destination-picker-map{height:min(48dvh,390px)!important;min-height:250px!important}
  .destination-picker-actions{
    position:sticky;
    bottom:0;
    z-index:700;
    padding:10px 0 calc(4px + env(safe-area-inset-bottom));
    background:linear-gradient(180deg,rgba(255,255,255,0),#fff 24%,#fff 100%);
  }
}

/* v0.28.82: notificaciones visibles exclusivamente desde la campana; sin cambios de layout adicionales. */


/* ===== v0.28.87 · extensiones por profesión, remoto y videollamada ===== */
.remote-service-stage{padding-top:0!important}.remote-service-stage .fresh-sheet{position:relative!important;inset:auto!important;margin:0!important;max-width:none!important;border-radius:24px!important;box-shadow:0 14px 42px rgba(31,78,121,.10)!important}.remote-service-intro{border-color:#d8e9f6}.remote-no-location-card,.remote-service-active-card{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid #dcebf5;border-radius:18px;background:#f8fcff}.remote-no-location-card>span,.remote-service-active-card>span{font-size:28px}.remote-no-location-card div,.remote-service-active-card div{display:grid;gap:4px}.remote-service-active-card .remote-quote-total{margin-top:7px;color:#0e698c}.distance-badge.remote{min-width:72px}.distance-badge.remote b{font-size:18px}.distance-badge.remote small{font-size:9px}.diagnostic-job-line.direct,.direct-quote-note{background:#f2fbf8;border-color:#cdeee3}.chat-contact-guard{font-size:11px;line-height:1.4;padding:8px 10px;background:#f5f9fc;border-radius:10px;color:#557080;margin:6px 0}.chat-service-tools{display:flex;gap:8px;flex-wrap:wrap}.chat-video-call{border:0;border-radius:12px;padding:9px 12px;font-weight:800;background:#eaf5fb;color:#0a5f82;cursor:pointer}.juiciosos-video-overlay{position:fixed;inset:0;z-index:100000;background:rgba(5,16,25,.94);display:grid;place-items:center;padding:12px}.juiciosos-video-sheet{width:min(900px,100%);background:#0d1720;color:#fff;border-radius:22px;overflow:hidden;box-shadow:0 24px 90px #0008}.video-call-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px}.video-call-head b{display:block}.video-call-close{border:0;background:#ffffff17;color:#fff;width:38px;height:38px;border-radius:50%;font-size:24px}.video-call-stage{position:relative;min-height:min(65vh,620px);background:#020609}.video-remote{width:100%;height:min(65vh,620px);object-fit:cover;background:#020609}.video-local{position:absolute;right:14px;bottom:14px;width:min(26vw,190px);aspect-ratio:3/4;object-fit:cover;border-radius:16px;border:2px solid #fff8;background:#111}.video-call-status{position:absolute;left:14px;top:14px;padding:8px 11px;border-radius:999px;background:#000a;font-size:12px}.video-call-status.connected{background:#0b765d}.video-call-controls{display:flex;justify-content:center;gap:10px;padding:14px}.video-call-controls button{border:0;border-radius:999px;padding:11px 16px;font-weight:800}.video-call-end{background:#d92f45!important;color:#fff}.video-call-security{display:block;padding:0 16px 16px;text-align:center;color:#a9bfcc}@media(max-width:620px){.video-call-stage,.video-remote{min-height:64vh;height:64vh}.video-local{width:30vw}.remote-service-stage .fresh-sheet{border-radius:20px!important}}

/* ===== v0.28.89 · registro claro, casillas alineadas y sin regresiones ===== */
.registration-consents{
  gap:10px!important;
  padding:12px;
  border:1px solid #dbe8f4;
  border-radius:18px;
  background:#f8fbff;
}
.registration-consent-note{
  display:grid;
  gap:3px;
  padding:2px 2px 8px;
  color:#163b58;
}
.registration-consent-note b{font-size:14px}
.registration-consent-note span{font-size:12px;color:var(--muted);line-height:1.45}
.registration-consent-row{
  display:flex!important;
  align-items:flex-start!important;
  gap:11px!important;
  width:100%;
  margin:0!important;
  padding:11px 12px;
  border:1px solid #d7e6f2;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  line-height:1.42;
  text-align:left!important;
}
.registration-consent-row input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  flex:0 0 18px!important;
  margin:2px 0 0!important;
  padding:0!important;
  border-radius:3px!important;
  box-shadow:none!important;
  accent-color:var(--blue);
}
.registration-consent-row>span{
  display:grid;
  gap:3px;
  min-width:0;
  flex:1 1 auto;
}
.registration-consent-row b{font-size:13px;color:#173a56}
.registration-consent-row small{font-size:11.5px;color:#667f95;font-weight:600;line-height:1.45}
.registration-consent-row a{color:var(--blue2);font-weight:850}
.registration-consent-row:has(input:checked){border-color:#9fd0fa;background:#f1f8ff}
@media(max-width:620px){
  .registration-consents{padding:9px}
  .registration-consent-row{padding:10px;gap:9px}
  .registration-consent-row b{font-size:12.5px}
  .registration-consent-row small{font-size:11px}
}


/* ===== v0.28.90 · envío profesional robusto y errores visibles ===== */
.registration-submit-error{margin:2px 0 10px;padding:11px 13px;border:1px solid #f3b4b4;border-radius:12px;background:#fff4f4;color:#9a2929;font-size:12.5px;font-weight:800;line-height:1.45}
.registration-invalid{outline:3px solid rgba(224,65,65,.18)!important;outline-offset:3px!important}
.registration-consent-row input.registration-invalid{outline:3px solid rgba(224,65,65,.24)!important}
