:root{--navy:#09263d;--blue:#0c7faa;--aqua:#55c7cc;--cyan:#e1f5f4;--ink:#173644;--muted:#657b86;--line:#dce8eb;--bg:#f4f8f9;--white:#fff;--green:#14826b;--shadow:0 18px 45px rgba(8,48,67,.1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Roboto,sans-serif;color:var(--ink);background:#fff}button,input,select{font:inherit}.topbar{height:72px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid #edf2f3}.brand{display:flex;align-items:center;gap:10px;color:var(--navy);text-decoration:none;font:700 20px Montserrat}.brand img{width:34px;height:34px;object-fit:contain}.brand b{color:var(--blue)}nav{display:flex;gap:28px;align-items:center}nav a{font-size:14px;text-decoration:none;color:var(--ink)}button{cursor:pointer}.ghost{padding:10px 15px;border:1px solid var(--blue);border-radius:9px;color:var(--blue);background:#fff;font-weight:700}.menu{display:none;border:0;background:transparent;font-size:24px}.hero{min-height:570px;display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden;color:#fff;background:linear-gradient(125deg,#08283f,#0a405a 65%,#0c6a79)}.hero-copy{padding:92px 4vw 82px max(6vw,30px)}.eyebrow{font:800 10px Montserrat;letter-spacing:2.2px;color:#7adbd8}.eyebrow.dark{color:var(--blue)}h1,h2{font-family:Montserrat}h1{margin:14px 0;font-size:clamp(42px,5.4vw,72px);line-height:1.02;letter-spacing:-3px}h1 em{font-style:normal;color:#6bd2d2}.hero-copy>p{font-size:19px;line-height:1.55;color:#cee4e8;max-width:610px}.hero-search{display:grid;grid-template-columns:1.35fr .8fr auto;max-width:780px;margin-top:32px;padding:8px;border-radius:14px;background:#fff;box-shadow:0 18px 45px rgba(0,19,32,.35)}.hero-search label{display:flex;align-items:center;gap:9px;padding:0 12px;color:var(--blue);border-right:1px solid var(--line)}.hero-search input{width:100%;padding:13px 0;border:0;outline:0;color:var(--ink)}.hero-search button,.primary,.join button{border:0;border-radius:9px;background:var(--aqua);color:var(--navy);font-weight:800;padding:0 24px}.quick{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:17px;color:#bad2d7;font-size:12px}.quick button{padding:6px 10px;border:1px solid #ffffff32;border-radius:18px;background:#ffffff0b;color:#e3f0f2}.hero-network{position:relative}.orbit{position:absolute;left:52%;top:50%;transform:translate(-50%,-50%);border:1px solid #83dfe137;border-radius:50%}.o1{width:350px;height:350px}.o2{width:520px;height:520px}.network-logo,.network-node{position:absolute;display:grid;place-items:center;border-radius:50%;box-shadow:0 18px 45px rgba(0,18,30,.35)}.network-logo{left:52%;top:50%;width:112px;height:112px;transform:translate(-50%,-50%);background:#fff}.network-logo img{width:68px}.network-node{width:66px;height:66px;border:5px solid #ffffff26;background:#e8fbfa;color:var(--blue);font:800 14px Montserrat}.n1{left:17%;top:21%}.n2{right:13%;top:27%}.n3{left:15%;bottom:17%}.n4{right:15%;bottom:15%}.directory{padding:78px max(6vw,30px);background:var(--bg)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-head h2{margin:10px 0 8px;font-size:clamp(28px,3vw,40px);letter-spacing:-1.3px}.section-head p{max-width:700px;color:var(--muted);line-height:1.55}.discover-link{padding:11px 15px;border-radius:9px;background:var(--navy);color:#fff;text-decoration:none;font-weight:700;white-space:nowrap}.type-chips{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0}.type-chips button{padding:9px 14px;border:1px solid #bcdfe1;border-radius:20px;background:var(--cyan);color:#176a7a;font-size:12px;font-weight:700}.type-chips button.active{background:var(--blue);color:#fff;border-color:var(--blue)}.directory-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:26px}.filters{position:sticky;top:92px;height:max-content;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff}.filter-title{display:flex;justify-content:space-between;align-items:center}.filter-title button{border:0;background:none;color:var(--blue);font-size:12px}.filters label,.claim-card label{display:block;margin-top:16px;font-size:12px;font-weight:700}.filters select,.claim-card input,.claim-card select{width:100%;margin-top:7px;padding:11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.filters .check{display:flex;gap:8px;align-items:center;font-weight:500}.check input{accent-color:var(--blue)}.primary{width:100%;padding:12px;margin-top:18px;background:var(--blue);color:#fff}.privacy-note{display:grid;gap:5px;margin-top:18px;padding:12px;border-radius:10px;background:var(--cyan);font-size:11px;color:#31717b;line-height:1.45}.result-meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted)}.result-meta strong{color:var(--ink)}.result-meta select{padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.profile-card{display:grid;grid-template-columns:auto 1fr;gap:15px;padding:19px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left;transition:.2s}.profile-card:hover{transform:translateY(-2px);border-color:#84cdd1;box-shadow:var(--shadow)}.avatar{width:62px;height:62px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,#d9f3f1,#b5dfe6);color:var(--blue);font:800 18px Montserrat;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.profile-card h3{margin:1px 0 5px;font:700 16px Montserrat}.profile-card p{margin:5px 0;color:var(--muted);font-size:13px;line-height:1.45}.badge{display:inline-flex;margin-left:5px;padding:3px 7px;border-radius:12px;background:#e4f7ef;color:var(--green);font-size:9px;font-weight:700}.badge.review{background:#fff4d9;color:#936a0b}.tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.tags span{padding:5px 7px;border-radius:6px;background:var(--bg);font-size:10px}.source-label{margin-top:9px;color:var(--blue);font-size:10px;font-weight:700}.empty{padding:60px;text-align:center;border-radius:14px;background:#fff;color:var(--muted)}.join{margin:0 max(4vw,18px) 52px;padding:52px max(5vw,28px);display:flex;justify-content:space-between;align-items:center;gap:30px;border-radius:22px;background:var(--navy);color:#fff}.join h2{margin:10px 0;font-size:34px}.join p{color:#bed4d9}.join button{height:48px;white-space:nowrap}footer{display:flex;gap:24px;align-items:center;padding:34px max(6vw,30px);border-top:1px solid var(--line);color:var(--muted)}footer small{margin-left:auto}.modal{position:fixed;inset:0;z-index:60;display:none;place-items:center;padding:18px;background:#041927bd;backdrop-filter:blur(6px)}.modal.open{display:grid}.close{position:absolute;right:16px;top:14px;z-index:3;width:38px;height:38px;border:0;border-radius:50%;background:#fff;color:var(--muted);font-size:25px;box-shadow:0 5px 20px #09263d24}.profile-workspace{position:relative;width:min(1200px,96vw);height:min(820px,92vh);overflow:hidden;border-radius:19px;background:#fff}.profile-layout{height:100%;display:grid;grid-template-columns:320px minmax(0,1fr)}.profile-sidebar{overflow:auto;padding:0 25px 28px;border-right:1px solid var(--line)}.profile-cover{height:130px;margin:0 -25px;background:linear-gradient(135deg,var(--navy),var(--blue) 65%,var(--aqua))}.profile-big-avatar{width:92px;height:92px;margin-top:-48px;display:grid;place-items:center;border:6px solid #fff;border-radius:22px;background:#fff;color:var(--blue);font:800 22px Montserrat;box-shadow:var(--shadow)}.profile-sidebar h2{margin:18px 0 6px;font-size:24px}.profile-sidebar p{color:var(--muted);line-height:1.55}.profile-main{overflow:auto;padding:38px}.profile-main h2{font-size:32px;margin:8px 0}.profile-actions{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0}.profile-actions button,.profile-actions a{padding:11px 14px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--blue);text-decoration:none;font-weight:700}.profile-actions .main-action{border-color:var(--blue);background:var(--blue);color:#fff}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.info-card{padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.info-card small{color:var(--blue);font-weight:700}.info-card h3{margin:7px 0 8px;font:700 15px Montserrat}.info-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.profile-privacy{margin-top:20px;padding:14px;border-radius:10px;background:var(--cyan);color:#2b6a74;font-size:12px}.claim-card{position:relative;width:min(520px,94vw);padding:32px;border-radius:18px;background:#fff}.claim-card h2{font-size:28px}.claim-card>p{color:var(--muted);line-height:1.5}.success{margin-top:18px;padding:16px;border-radius:10px;background:#e4f7ef;color:var(--green)}
@media(max-width:950px){.hero{grid-template-columns:1fr}.hero-network{display:none}.cards{grid-template-columns:1fr}.profile-layout{grid-template-columns:280px 1fr}}
@media(max-width:700px){.topbar{height:64px;padding:0 18px}.brand{font-size:17px}.brand img{width:30px;height:30px}nav{display:none;position:absolute;left:0;right:0;top:64px;padding:18px;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid var(--line)}nav.open{display:flex}.menu{display:block}.hero{min-height:auto}.hero-copy{padding:64px 18px 54px}h1{font-size:43px;letter-spacing:-2px}.hero-copy>p{font-size:16px}.hero-search{grid-template-columns:1fr}.hero-search label{border-right:0;border-bottom:1px solid var(--line)}.hero-search button{padding:13px}.directory{padding:58px 18px}.section-head{display:block}.discover-link{display:inline-block;margin-top:14px}.directory-layout{grid-template-columns:1fr}.filters{position:static}.join{display:block;padding:38px 22px}.join button{width:100%;margin-top:12px}footer{display:block;text-align:center}footer .brand{justify-content:center}footer small{display:block;margin-top:12px}.modal{padding:0}.profile-workspace{width:100vw;height:100vh;border-radius:0;overflow:auto}.profile-layout{display:block;height:auto}.profile-sidebar{border-right:0;border-bottom:1px solid var(--line)}.profile-main{padding:28px 20px}.info-grid{grid-template-columns:1fr}.close{position:fixed}}


/* Identidad cromatica oficial de Dent-iOS Conecta */
:root{--connect:#18c6a3;--connect-dark:#08a987;--connect-soft:#e8fbf7;--electric:#0b83f6}
.brand b{color:var(--connect-dark)}
.hero{background:radial-gradient(circle at 78% 24%,rgba(24,198,163,.24),transparent 30%),linear-gradient(125deg,#061d50,#07346f 64%,#087ac4)}
.eyebrow{color:#69ead1}.eyebrow.dark{color:var(--connect-dark)}h1 em{color:#51e0c4}
.hero-search button,.join button{background:var(--connect);color:#052b46}.hero-search label{color:var(--electric)}
.ghost{border-color:var(--connect-dark);color:var(--connect-dark)}
.type-chips button{border-color:#a9eadc;background:var(--connect-soft);color:#08765f}.type-chips button.active,.primary{border-color:var(--connect-dark);background:var(--connect-dark);color:#fff}
.check input{accent-color:var(--connect-dark)}.filter-title button,.source-label,.info-card small{color:var(--connect-dark)}
.profile-card:hover{border-color:#67d9c2}.avatar{background:linear-gradient(145deg,#e4fbf7,#b9ecdf);color:var(--connect-dark)}
.profile-cover{background:linear-gradient(135deg,#061d50,var(--electric) 58%,var(--connect))}.profile-actions .main-action{border-color:var(--connect-dark);background:var(--connect-dark)}
.discover-link{background:#7137f2}.privacy-note,.profile-privacy{background:var(--connect-soft);color:#176e60}

/* Ficha de laboratorio y solicitud de servicios — reconstrucción desde main */
.lab-profile-layout{height:100%;display:grid;grid-template-columns:310px minmax(0,1fr)}
.lab-sidebar{overflow:auto;padding:0 24px 28px;border-right:1px solid var(--line)}
.lab-sidebar h2{margin:16px 0 6px;font-size:23px;letter-spacing:-.6px}
.lab-sidebar>p{color:var(--muted);font-size:13px;line-height:1.55}
.lab-contact{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.lab-contact h3{font:700 13px Montserrat}
.lab-contact a,.lab-contact>div{display:grid;gap:3px;margin-top:8px;padding:10px 11px;border:1px solid var(--line);border-radius:9px;color:var(--connect-dark);text-decoration:none;overflow-wrap:anywhere}
.lab-contact small{color:var(--muted);font-size:9px}.lab-contact b{font-size:12px}
.lab-no-contact,.lab-source{padding:11px;border-radius:9px;background:var(--connect-soft);color:#176e60!important;font-size:11px!important}
.lab-source{margin-top:18px}.lab-main{overflow:auto;padding:34px}
.lab-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px}
.lab-header h2{margin:7px 0;font-size:30px}.lab-header p{max-width:650px;margin:0;color:var(--muted)}
.lab-search{display:flex;align-items:center;gap:8px;min-width:260px;padding:0 12px;border:1px solid var(--line);border-radius:10px;color:var(--connect-dark)}
.lab-search input{width:100%;padding:12px 0;border:0;outline:0;color:var(--ink)}
.lab-catalog-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;align-items:start}
.lab-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lab-service-card{display:grid;grid-template-columns:44px minmax(0,1fr) 36px;gap:12px;align-items:start;min-height:145px;padding:16px;border:1px solid var(--line);border-radius:13px;background:#fff}
.lab-service-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:11px;background:var(--connect-soft);color:var(--connect-dark);font-size:19px}
.lab-service-card small,.lab-request-title small,.lab-request-line small{display:block;color:var(--connect-dark);font-size:9px;font-weight:800;letter-spacing:.7px}
.lab-service-card h3{margin:5px 0 7px;font:700 14px Montserrat}.lab-service-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.lab-add{width:34px;height:34px;border:1px solid var(--connect);border-radius:50%;background:#fff;color:var(--connect-dark);font-size:20px}
.lab-add.added{background:var(--connect);color:#053b34}
.lab-request-panel{position:sticky;top:0;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(8,40,63,.08)}
.lab-request-title{display:flex;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--line)}
.lab-request-title h3{margin:5px 0;font:700 18px Montserrat}.lab-request-title>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--connect-soft);color:var(--connect-dark);font-weight:800}
.lab-request-empty{padding:22px 3px;color:var(--muted);font-size:12px;text-align:center}
.lab-request-line{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}
.lab-request-line button{border:0;background:none;color:var(--muted);font-size:19px}
.lab-request-help{margin:15px 0;color:var(--muted);font-size:10px;line-height:1.5}
.lab-request-action{width:100%;padding:12px;border:0;border-radius:9px;background:var(--connect-dark);color:#fff;font-weight:800}
.lab-request-action:disabled{background:#d9e2e6;color:#8798a0}
.lab-request-feedback{padding:10px;border-radius:8px;background:var(--connect-soft);color:#176e60;font-size:11px;line-height:1.45}
.lab-external-catalog{display:block;margin-top:10px;padding:11px;border:1px solid var(--connect-dark);border-radius:9px;color:var(--connect-dark);font-size:12px;font-weight:800;text-align:center;text-decoration:none}
@media(max-width:1100px){.lab-profile-layout{grid-template-columns:270px minmax(0,1fr)}.lab-catalog-layout{grid-template-columns:1fr}.lab-request-panel{position:static}.lab-service-grid{grid-template-columns:1fr}}
@media(max-width:700px){.lab-profile-layout{display:block;height:auto}.lab-sidebar{overflow:visible;border-right:0;border-bottom:1px solid var(--line)}.lab-main{overflow:visible;padding:26px 18px}.lab-header{display:block}.lab-search{min-width:0;margin-top:17px}.lab-service-grid{grid-template-columns:1fr}.lab-service-card{min-height:0}}

.profile-workspace>#profileContent{height:100%}


/* Ecosistema Dent-iOS — accesos desde Conecta */
.ecosystem{padding:78px max(6vw,30px);background:#fff}
.ecosystem-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:30px}
.ecosystem-head h2{margin:10px 0 8px;font-size:clamp(28px,3vw,40px);letter-spacing:-1.3px}
.ecosystem-head p{max-width:760px;margin:0;color:var(--muted);font-size:16px;line-height:1.6}
.ecosystem-home{padding:11px 15px;border:1px solid var(--line);border-radius:9px;color:var(--navy);font-weight:800;text-decoration:none;white-space:nowrap}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.product-card{--product:#2c55d6;--product-soft:#eef2ff;position:relative;min-height:310px;display:flex;flex-direction:column;padding:27px;border:1px solid var(--line);border-top:5px solid var(--product);border-radius:17px;background:linear-gradient(155deg,#fff 56%,var(--product-soft));color:var(--ink);text-decoration:none;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}
.product-card::after{content:"";position:absolute;right:-45px;bottom:-60px;width:170px;height:170px;border:1px solid color-mix(in srgb,var(--product) 22%,transparent);border-radius:50%}
.product-card:hover{transform:translateY(-4px);border-color:var(--product);box-shadow:var(--shadow)}
.product-card.labs{--product:#188754;--product-soft:#eaf7f0}
.product-card.supply{--product:#d67a1f;--product-soft:#fff3e7}
.product-mark{width:46px;height:46px;display:grid;place-items:center;margin-bottom:25px;border-radius:13px;background:var(--product);color:#fff;font:800 20px Montserrat;box-shadow:0 10px 24px color-mix(in srgb,var(--product) 25%,transparent)}
.product-audience{color:var(--product);font:800 9px Montserrat;letter-spacing:1.5px}
.product-card h3{margin:9px 0 11px;font:800 24px Montserrat;letter-spacing:-.6px}
.product-card p{margin:0 0 24px;color:var(--muted);font-size:14px;line-height:1.55}
.product-cta{position:relative;z-index:1;margin-top:auto;color:var(--product);font-weight:800}
.product-cta b{display:inline-block;margin-left:5px;transition:transform .2s}
.product-card:hover .product-cta b{transform:translateX(4px)}
.footer-links{display:flex;align-items:center;gap:20px}
.footer-links a{color:var(--muted);font-size:13px;font-weight:700;text-decoration:none}
.footer-links a:hover{color:var(--connect-dark)}
@media(max-width:900px){.product-grid{grid-template-columns:1fr}.product-card{min-height:250px}}
@media(max-width:700px){.ecosystem{padding:58px 18px}.ecosystem-head{display:block}.ecosystem-home{display:inline-block;margin-top:18px}.product-card{min-height:260px;padding:23px}.footer-links{justify-content:center;flex-wrap:wrap;margin:20px 0}footer small{margin-left:0}}


/* Centros radiológicos — perfiles por empresa y sede */
.radiology-profile-layout{height:100%;display:grid;grid-template-columns:310px minmax(0,1fr)}
.radiology-main{overflow:auto;padding:34px}
.radiology-branch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.radiology-branch{padding:16px;border:1px solid var(--line);border-radius:13px;background:#fff}
.radiology-branch-head{display:flex;align-items:center;gap:10px}.radiology-branch-head small{display:block;color:var(--connect-dark);font-size:9px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}.radiology-branch-head h3{margin:3px 0 0;font:700 15px Montserrat}
.radiology-pin{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--connect-soft);color:var(--connect-dark);font-size:18px}
.radiology-branch>p{min-height:38px;margin:12px 0;color:var(--muted);font-size:12px;line-height:1.5}
.radiology-contact{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:11px;border-top:1px solid var(--line);font-size:11px}.radiology-contact a{color:var(--connect-dark);font-weight:800;text-decoration:none;white-space:nowrap}
.radiology-branch .tags{margin-top:12px}.radiology-branch .tags span{background:var(--connect-soft);color:#176e60}
@media(max-width:1050px){.radiology-profile-layout{grid-template-columns:270px minmax(0,1fr)}.radiology-branch-grid{grid-template-columns:1fr}}
@media(max-width:700px){.radiology-profile-layout{display:block;height:auto}.radiology-main{overflow:visible;padding:26px 18px}.radiology-branch>p{min-height:0}}
