:root{--navy:#102742;--navy2:#15365d;--blue:#1e71b8;--gold:#c9a14d;--gold-soft:#f5eddb;--bg:#f3f7fa;--card:#fff;--ink:#172b3f;--muted:#698095;--line:#dfe8ef;--danger:#b42318;--ok:#159174}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select{font:inherit}.hidden{display:none!important}.app-shell{min-height:100vh;display:grid;grid-template-columns:252px 1fr}.sidebar{background:linear-gradient(180deg,#171c31 0%,#132b4d 60%,#0877c7 150%);color:#fff;min-height:100vh;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:25px 17px 16px}.side-brand{display:flex;gap:12px;align-items:center;padding:4px 10px 24px}.brand-mark{font-size:37px;color:var(--gold);line-height:1}.side-brand b{font-family:Georgia,serif;font-size:20px;line-height:.96}.side-brand span{display:block;color:#5cc4ff;letter-spacing:.18em;font-size:11px;margin-top:6px}.side-nav{display:grid;gap:6px}.navbtn{border:0;background:transparent;color:#cfdae9;text-align:left;padding:13px 12px;border-radius:10px;display:flex;align-items:center;gap:11px;font-weight:700;cursor:pointer}.navbtn span{font-size:18px;color:#67c1f4;width:20px;text-align:center}.navbtn.active,.navbtn:hover{background:#ffffff13;color:#fff}.side-bottom{margin-top:auto;border-top:1px solid #ffffff22;padding:17px 10px 0}.connection{font-size:12px;color:#d8edf9;display:flex;align-items:center;gap:7px}.connection i{width:8px;height:8px;background:#3bd2bd;border-radius:50%;box-shadow:0 0 9px #3bd2bd}.nc-signature{margin-top:16px;font-family:Georgia,serif;color:#e7d7a5;font-size:13px;letter-spacing:.04em}.main-content{padding:34px 38px 55px;min-width:0}.panel{display:none;max-width:1080px;margin:0 auto}.panel.active{display:block}.hero{background:linear-gradient(135deg,#17233b,#193b68);border-radius:18px;padding:34px 42px 26px;color:#fff;box-shadow:0 12px 35px #12304c22}.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:800;color:#e9d17f}.eyebrow.dark{color:#57758e}.hero h1,.page-head h2{font-family:Georgia,serif}.hero h1{font-size:40px;margin:7px 0 15px}.hero p{font-size:12px;color:#c9d9e9;margin:10px 0 0}.search-wrap{background:#fff;border-radius:13px;display:grid;grid-template-columns:35px 1fr 38px;align-items:center;padding:3px 7px;color:#2c759e}.search-wrap>span{font-size:24px;text-align:center}.search-wrap input{border:0;outline:0;padding:15px 9px;font-size:16px;width:100%}.search-wrap button{border:0;background:#eef5f8;border-radius:50%;height:34px;width:34px;color:#46677d;font-size:20px;cursor:pointer}.home-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.feature-card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:16px;display:grid;grid-template-columns:40px 1fr 20px;align-items:center;gap:10px;text-align:left;cursor:pointer;box-shadow:0 3px 15px #1738560c}.feature-card>b{display:grid;place-items:center;border-radius:10px;background:#0d87c6;color:#fff;height:40px}.feature-card:nth-child(2)>b{background:#d8c28b;color:#5f512d}.feature-card:nth-child(3)>b{background:#274d72}.feature-card strong{display:block;color:#245e82}.feature-card small{display:block;color:#8698a8;margin-top:5px}.feature-card em{font-size:22px;color:#6d9bbb;font-style:normal}.lab-filters{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0 0}.lab-chip{border:1px solid #cbd9e3;background:#fff;border-radius:999px;padding:6px 11px;color:#3b617a;font-size:12px;cursor:pointer}.lab-chip.active{background:#173a61;color:#fff;border-color:#173a61}.frequent-box{margin-top:13px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:12px}.frequent-box>b{font-size:11px;color:#6b8398;text-transform:uppercase;letter-spacing:.06em}.frequent-box>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.freq-chip{border:1px solid #e1d2a7;background:#fffaf0;color:#765c1d;border-radius:999px;padding:5px 9px;font-size:12px;cursor:pointer}.results{margin-top:17px}.result-section{margin-top:14px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px}.section-title h3{margin:0;font-size:14px;color:#375d76;text-transform:uppercase;letter-spacing:.05em}.section-title span{font-size:11px;background:#e8eff4;border-radius:999px;padding:3px 8px;color:#547084}.association-panel{background:#fffaf0;border:1px solid #ead8a6;border-radius:15px;padding:12px}.drug-list{display:grid;gap:8px}.drug-row{background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px 15px;display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(180px,1fr) minmax(240px,1.5fr) minmax(140px,.8fr) 18px;gap:12px;align-items:center;cursor:pointer}.drug-row:hover{border-color:#7fb6d6;box-shadow:0 4px 14px #16415f12}.drug-row.assoc{background:#fffdf8}.marca{font-weight:850;color:#1b577d}.dci{font-size:12px;color:#687d8f;margin-top:3px}.presentation{font-size:12px;color:#425b6d;line-height:1.4}.lab{font-size:12px;font-weight:750;color:#567084}.arrow{font-size:22px;color:#93a9b7}.combined-badge,.supply-badge{display:inline-block;font-size:9px;letter-spacing:.05em;border-radius:999px;padding:3px 6px;margin-left:5px;background:#f1e5bf;color:#775e1b}.supply-badge{background:#dceef8;color:#216484}.empty-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;color:#647b8e}.page-head{margin:5px 0 20px}.page-head h2{font-size:38px;margin:5px 0 5px;color:#243b55}.page-head p{margin:0;color:#658096}.category-tabs{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:10px;padding:3px;gap:3px}.cat-tab{border:0;background:transparent;padding:9px 13px;border-radius:8px;font-size:12px;font-weight:800;color:#4d6b80;cursor:pointer}.cat-tab.active{background:#1a4d7c;color:#fff}.category-content{margin-top:18px}.category-grid{display:grid;grid-template-columns:260px 1fr;gap:20px}.category-menu{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px}.category-menu button{width:100%;border:0;background:transparent;text-align:left;padding:10px;border-radius:8px;color:#58748a;display:flex;justify-content:space-between;cursor:pointer}.category-menu button.active{background:#e8f4f9;color:#1b5a7e;font-weight:800}.category-items h3{font-family:Georgia,serif;font-size:23px;margin:3px 0 12px}.warning-banner{background:#fff3f2;border:1px solid #f0c4c0;border-radius:12px;padding:12px 14px;color:#8a2a24;margin-bottom:16px}.interaction-inputs{display:grid;gap:8px;max-width:760px}.interaction-row{display:grid;grid-template-columns:30px 1fr 36px;gap:8px;align-items:center}.interaction-num{width:28px;height:28px;border-radius:50%;background:#dfeaf2;display:grid;place-items:center;font-weight:800}.interaction-row input,.ped-grid input,.ped-grid select{width:100%;border:1px solid #cfdce6;border-radius:9px;padding:11px 12px;background:#fff;outline:none}.remove-int{border:0;background:#e9f0f5;border-radius:8px;height:36px;font-size:20px;cursor:pointer}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.btn{border:0;border-radius:9px;padding:10px 14px;font-weight:800;cursor:pointer}.btn.primary{background:#1b6fa6;color:#fff}.btn.secondary{background:#e8eff4;color:#385b73}.resolved-list{display:grid;gap:6px;margin:16px 0}.resolved-list>div{display:grid;grid-template-columns:220px 1fr;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 10px}.interaction{margin:8px 0;padding:12px 14px;background:#fff;border:1px solid var(--line);border-left:4px solid #d1a43c;border-radius:10px}.interaction.high,.interaction.contra{border-left-color:#bd3b32}.pediatric-card,.about-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 4px 20px #193b560b}.ped-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ped-grid .wide{grid-column:span 3}.ped-grid label{display:block;font-size:12px;font-weight:800;color:#526f84;margin-bottom:6px}.age-row{display:grid;grid-template-columns:1fr 100px;gap:7px}.guide-box{margin-top:14px;background:#f0f7fb;border:1px solid #cce3f0;border-radius:12px;padding:13px 15px}.guide-box strong{color:#1a587e}.guide-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:7px;font-size:12px;color:#527287}.manual-conc{margin-top:12px;border:1px solid var(--line);border-radius:10px;padding:8px 11px}.manual-conc summary{cursor:pointer;color:#57758b;font-size:12px}.ped-grid.compact{margin-top:10px}.ped-result{margin-top:14px;border-radius:14px;padding:18px;background:linear-gradient(135deg,#123455,#0d6996);color:#fff}.ped-result .big{font-size:27px;font-weight:900;margin:8px 0}.ped-result .sub{color:#d6eaf5;margin-top:6px}.ped-result .limit{margin-top:10px;padding-top:10px;border-top:1px solid #ffffff33;color:#f0d68f;font-size:12px}.mini-brand{margin-top:24px;font-family:Georgia,serif;color:#a57e2b;font-weight:bold}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px}.modal-backdrop{position:absolute;inset:0;background:#0a1c2dbb;backdrop-filter:blur(2px)}.modal-card{position:relative;background:#fff;width:min(720px,96vw);max-height:88vh;overflow:auto;border-radius:18px;box-shadow:0 30px 70px #0006;padding:25px}.modal-close{position:absolute;right:14px;top:13px;border:0;background:#eaf0f4;border-radius:50%;width:35px;height:35px;font-size:21px;cursor:pointer}.modal-title{font-family:Georgia,serif;font-size:30px;color:#183b57;margin:0 40px 4px 0}.modal-sub{color:#678195}.modal-section{margin-top:18px}.modal-section h4{font-size:11px;color:#698095;text-transform:uppercase;letter-spacing:.07em;margin:0 0 7px}.pres-list{margin:0;padding-left:20px}.pres-list li{margin:6px 0}.components{background:#fff7e7;border:1px solid #e8d0a1;border-radius:11px;padding:10px 12px}.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.related-btn{border:1px solid #dbe5ec;background:#f8fbfd;border-radius:9px;padding:8px 10px;text-align:left;color:#315f7b;cursor:pointer}.supply-detail{background:#f2f8fb;border:1px solid #d8e8f1;border-radius:11px;padding:10px 12px}#toast{position:fixed;right:18px;bottom:18px;background:#132d46;color:#fff;padding:10px 14px;border-radius:9px;display:none;z-index:200}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;min-height:auto;position:sticky;top:0;z-index:50;padding:8px 10px;background:#142d4d}.side-brand{padding:4px 6px 8px}.side-brand b{font-size:16px}.brand-mark{font-size:28px}.side-nav{display:flex;overflow-x:auto;gap:4px}.navbtn{white-space:nowrap;font-size:11px;padding:8px}.navbtn span{font-size:14px}.side-bottom{display:none}.main-content{padding:18px 12px 80px}.hero{padding:22px 16px}.hero h1{font-size:28px}.home-tools{grid-template-columns:1fr}.drug-row{grid-template-columns:1fr 1fr 18px}.drug-row .presentation{grid-column:1/3}.drug-row .lab{grid-column:1/3}.category-grid{grid-template-columns:1fr}.category-menu{display:flex;overflow-x:auto}.category-menu button{width:auto;white-space:nowrap}.ped-grid{grid-template-columns:1fr}.ped-grid .wide{grid-column:auto}.resolved-list>div{grid-template-columns:1fr}.related-grid{grid-template-columns:1fr}.page-head h2{font-size:30px}}

/* v0.9.1: ajustes de usabilidad móvil y PWA */
.sync-status{margin:12px 0;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#f8fbfd;color:#516f84;font-size:13px}
.rule-source{font-size:11px;color:#71869a;margin-top:8px;padding-top:7px;border-top:1px solid #e6edf2}
.interaction-disclaimer{margin-top:12px}
body.modal-open{overflow:hidden}
.modal:not(.hidden){display:grid;place-items:center}
.modal-card{max-height:min(82vh,760px);overflow:auto}
@media(max-width:600px){
  .sidebar{position:static;padding:10px 12px 8px;height:auto}
  .side-brand{padding:2px 5px 6px}
  .side-nav{position:fixed;left:0;right:0;bottom:0;z-index:70;background:#102742;padding:5px 5px calc(5px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);box-shadow:0 -6px 24px #091b2c2e;overflow:visible}
  .navbtn{min-width:0;white-space:normal;display:flex;flex-direction:column;gap:2px;justify-content:center;text-align:center;padding:6px 2px;border-radius:8px;font-size:9.5px;line-height:1.05}
  .navbtn span{width:auto;font-size:17px}
  .main-content{padding:12px 10px calc(86px + env(safe-area-inset-bottom))}
  .hero{border-radius:14px;padding:18px 13px}
  .hero h1{font-size:25px;line-height:1.05}
  .hero p{font-size:11px}
  .search-wrap{grid-template-columns:30px 1fr 36px}
  .search-wrap input{font-size:16px;padding:13px 7px}
  .drug-row{grid-template-columns:minmax(0,1fr) 22px;padding:12px}
  .drug-row>div{min-width:0}
  .drug-row .dci,.drug-row .presentation,.drug-row .lab{grid-column:1/2}
  .drug-row .arrow{grid-column:2;grid-row:1/5;align-self:center}
  .modal{padding:10px}
  .modal-card{width:100%;max-height:88vh;padding:20px 16px}
  .modal-title{font-size:25px}
  .ped-grid.compact{grid-template-columns:1fr}
  .interaction-row{grid-template-columns:28px minmax(0,1fr) 34px}
  .actions{display:grid;grid-template-columns:1fr;gap:8px}
  .actions .btn{width:100%}
  .page-head h2{font-size:27px}
}

/* v0.9.6 · Bolivia-only + ajuste móvil sin desplazamiento horizontal */
html,body{max-width:100%;overflow-x:hidden}.app-shell,.main-content,.panel,.hero,.search-wrap,.results,.drug-list,.category-content{min-width:0;max-width:100%}.drug-row,.drug-row *,.modal-card,.modal-card *{overflow-wrap:anywhere;word-break:normal}.bolivia-only-badge{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;padding:5px 9px;border-radius:999px;background:#eaf7f2;color:#14785f;font-size:10px;font-weight:800;letter-spacing:.06em}.bolivia-provider{background:#f7fbfd;border:1px solid var(--line);border-radius:12px;padding:13px}.provider-address{margin-top:7px;color:var(--muted);font-size:12px;line-height:1.45}.contact-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.contact-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 11px;border:1px solid #bfd2df;border-radius:10px;background:#fff;color:#174d70;text-decoration:none;font-size:12px;font-weight:700}.contact-btn.whatsapp{border-color:#b8dfd1;color:#15775d;background:#f1fbf7}.supply-badge{white-space:nowrap}
@media(max-width:600px){
  html,body{width:100%;overflow-x:hidden}
  .app-shell,.main-content,.panel{width:100%;max-width:100vw;min-width:0}
  .main-content{padding-left:8px;padding-right:8px}
  .hero{width:100%;padding:16px 11px}
  .hero h1{font-size:23px}
  .hero p{line-height:1.35}
  .search-wrap{width:100%}
  .side-nav{grid-template-columns:repeat(5,minmax(0,1fr));width:100vw;max-width:100vw}
  .navbtn{font-size:0!important;min-width:0;overflow:hidden}
  .navbtn span{font-size:17px!important;line-height:1}
  .navbtn::after{font-size:9px;line-height:1.05;font-weight:700;display:block;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .navbtn[data-panel="buscar"]::after{content:"Buscar"}
  .navbtn[data-panel="categorias"]::after{content:"Categorías"}
  .navbtn[data-panel="interacciones"]::after{content:"Interacciones"}
  .navbtn[data-panel="pediatria"]::after{content:"Pediatría"}
  .navbtn[data-panel="sincronizacion"]::after{content:"Datos"}
  .category-tabs,.lab-filters,.frequent-box>div{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .drug-row{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr) 20px;gap:5px 8px;padding:11px 10px}
  .drug-row .marca{font-size:14px;line-height:1.2}.drug-row .dci,.drug-row .presentation,.drug-row .lab{font-size:11px;line-height:1.3}
  .modal{padding:6px}.modal-card{width:calc(100vw - 12px);max-width:calc(100vw - 12px);max-height:92vh;padding:18px 13px;border-radius:14px}.modal-close{top:8px;right:8px}
  .contact-actions{display:grid;grid-template-columns:1fr;width:100%}.contact-btn{width:100%;min-width:0}
  .page-head h2{font-size:25px;line-height:1.05}.page-head p{font-size:12px;line-height:1.4}
  .category-grid,.pediatric-card,.about-card{max-width:100%;overflow:hidden}
}


/* v0.9.8 · proveedores ADA/INSUMED + catálogo Bolivia ampliado + responsive */
.provider-badge{background:#ece7f8!important;color:#5b3b86!important;border-color:#d8ccec!important}.provider-only-badge{background:#f1edfa;color:#5b3b86}.verification-note{margin-top:12px;padding:10px 12px;border-radius:10px;background:#fff8e8;border:1px solid #ead9ad;color:#6f5a28;font-size:11px;line-height:1.45}.regional-contacts{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.regional-contacts>h4{margin:0 0 9px;color:#365f78;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.regional-contact{border:1px solid #dce7ee;border-radius:10px;background:#fff;margin-top:7px;overflow:hidden}.regional-contact summary{cursor:pointer;padding:10px 11px;list-style:none;font-size:12px;color:#234b65}.regional-contact summary::-webkit-details-marker{display:none}.regional-contact[open] summary{background:#f5f9fc}.regional-address{padding:8px 11px 0;color:#6b7f8f;font-size:11px;line-height:1.4}.regional-phone-grid{display:flex;gap:7px;flex-wrap:wrap;padding:9px 11px 11px}.regional-phone{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 9px;border:1px solid #c8d9e3;border-radius:8px;background:#fff;color:#174d70;text-decoration:none;font-size:11px;font-weight:700}.regional-phone.whatsapp{color:#15775d;border-color:#b8dfd1;background:#f1fbf7}.provider-directory-head{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;padding:12px 14px;border-radius:12px;background:#f6f2fc;border:1px solid #ded3ef}.provider-directory-head b{color:#52337b}.provider-directory-head span{font-size:11px;color:#746786;line-height:1.4}
@media(max-width:600px){
  .category-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow:visible!important;width:100%}
  .category-tabs .cat-tab{width:100%;min-width:0;white-space:normal;line-height:1.15;padding:9px 6px}
  .category-menu{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow:visible!important;width:100%}
  .category-menu button{width:100%!important;min-width:0;white-space:normal!important;text-align:left;line-height:1.2}
  .lab-filters{display:flex!important;flex-wrap:wrap!important;overflow:visible!important;width:100%}
  .lab-chip{white-space:normal}
  .regional-phone-grid{display:grid;grid-template-columns:1fr;width:100%}
  .regional-phone{width:100%;min-width:0}
  .regional-contact summary,.regional-address{overflow-wrap:anywhere}
  .provider-directory-head{padding:10px 11px}
}

.source-link{font-weight:700;text-decoration:underline}.verification-note div{margin-top:5px}.verification-note .source-link{word-break:break-word}

.implant-badge{font-weight:800;letter-spacing:.03em}

/* v0.18.0 · matriz ALIF/abordajes y soporte quirúrgico */
.approach-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.approach-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px;box-shadow:0 5px 18px #1027420b}.approach-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:8px}.approach-top b{display:block;font-size:20px;color:#163c57}.approach-top span{display:block;font-size:11px;color:var(--muted);margin-top:2px}.approach-top em{font-style:normal;font-size:9px;font-weight:800;letter-spacing:.04em;border-radius:999px;padding:5px 7px;background:#eef3f6;color:#4d687a}.approach-verde{border-left:4px solid #2f8b68}.approach-verde .approach-top em{background:#e9f7f1;color:#167052}.approach-amarillo{border-left:4px solid #c9992e}.approach-amarillo .approach-top em{background:#fff6df;color:#85651b}.approach-gris{border-left:4px solid #93a5b2}.approach-row{padding:7px 0;display:grid;grid-template-columns:110px 1fr;gap:8px;font-size:11px;line-height:1.4}.approach-row strong{color:#395d74}.approach-row span{color:#596e7d}.approach-card details{margin-top:8px;border-top:1px dashed var(--line);padding-top:8px}.approach-card summary{cursor:pointer;font-size:11px;font-weight:700;color:#3c6179}.approach-card ul{margin:8px 0 0 18px;padding:0;font-size:11px;color:#5b6f7d}.approach-note{margin-top:9px;padding:8px;border-radius:9px;background:#fff8e8;font-size:10px;line-height:1.4;color:#6f5a28}.approach-head{background:#eef6fb;border-color:#cadfea}.approach-head b{color:#214e6b}@media(max-width:600px){.approach-grid{grid-template-columns:1fr}.approach-row{grid-template-columns:1fr;gap:2px}.category-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
