:root{--green:#176b3a;--deep:#123d2b;--mint:#a8cfa8;--pale:#f1f7ef;--ink:#20362b;--muted:#617366;--line:#d4e5d1;--white:#fff;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);background:#f8faf6;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;background:var(--green);color:white;border-radius:12px;padding:12px 17px;font-weight:650;min-height:44px}button:hover{filter:brightness(.96)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #87b23f;outline-offset:3px}button:disabled{opacity:.5;cursor:wait}.secondary{background:white;color:var(--green);border:1px solid var(--line)}.danger{background:#a33030}.link{background:transparent;color:var(--green);padding:6px 0;text-align:left}.muted,small{color:var(--muted)}small{font-size:.79rem}.shell{max-width:1320px;margin:auto;padding:0 30px 110px}.top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px}.brand img{width:62px;height:62px;object-fit:contain}.brand strong{font-size:1.28rem;letter-spacing:-.5px}.brand small{display:block}.location{display:flex;align-items:center;gap:9px;text-align:left;max-width:280px}.location strong{display:block}.location span{display:block;font-size:.77rem;color:var(--muted)}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:32px;padding:35px 0 28px;align-items:center}.eyebrow{font-size:.73rem;letter-spacing:2px;font-weight:750;color:var(--green);text-transform:uppercase}.hero h1{font-size:clamp(1.9rem,4vw,3.1rem);line-height:1.13;letter-spacing:-1.5px;margin:10px 0 15px;max-width:620px}.hero p{color:var(--muted);line-height:1.6;margin:0;max-width:540px}.locker{background:linear-gradient(130deg,#174c31,#2d6f47);color:white;border-radius:20px;padding:23px;position:relative;overflow:hidden}.locker:after{content:'✦';position:absolute;right:20px;top:10px;font-size:90px;opacity:.10}.locker .eyebrow,.locker p{color:#d3e8c6}.locker h2{font-size:1.5rem;line-height:1.2;margin:10px 0}.locker button{background:#f1f6e8;color:var(--deep);margin-top:15px}.search{display:flex;align-items:center;border:1.5px solid var(--mint);border-radius:14px;background:#fff;padding:6px;gap:8px;margin-bottom:28px}.search input{border:0;outline:none;flex:1;min-width:0;padding:10px;background:none}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:0 0 30px}.service{border:1px solid var(--mint);border-radius:16px;background:white;color:var(--ink);padding:17px;text-align:left;display:flex;align-items:center;gap:13px;min-height:88px}.service .symbol{background:var(--pale);color:var(--green);font-size:26px;border-radius:12px;width:45px;height:45px;display:grid;place-items:center}.service small{display:block;margin-top:4px;font-size:.72rem}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.sectionhead h2{font-size:1.35rem;margin:0;letter-spacing:-.4px}.categories{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.category{background:white;border:1.3px solid var(--mint);border-radius:15px;padding:10px;color:var(--ink);text-align:left;transition:transform .15s;min-width:0}.category:hover{transform:translateY(-3px);box-shadow:0 8px 18px #163d2510}.category img{display:block;width:100%;aspect-ratio:1.18;object-fit:cover;border-radius:9px;background:#f4f7f0}.category strong{display:block;font-size:.86rem;line-height:1.2;margin:9px 1px 4px}.category small{font-size:.70rem;display:block;line-height:1.3}.section{margin:25px 0}.note{padding:13px 16px;background:var(--pale);border:1px solid var(--line);border-radius:12px;line-height:1.55;font-size:.88rem}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{border:1px solid var(--line);background:white;border-radius:17px;padding:20px;min-width:0}.card h3{margin:0 0 9px}.card p{line-height:1.5}.doctor{display:flex;gap:14px}.avatar{width:74px;height:80px;border-radius:12px;object-fit:cover;background:var(--pale);flex-shrink:0}.doctor .avatar.fallback{display:grid;place-items:center;font-size:25px}.badge{display:inline-block;background:#eaf4e6;color:var(--green);border-radius:6px;padding:4px 7px;font-size:.68rem;font-weight:750}.doctor h3{font-size:1.1rem;margin:6px 0}.doctor p{font-size:.86rem;margin:4px 0}.doctor-footer{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:8px}.empty{padding:40px 20px;text-align:center;background:white;border:1px dashed var(--mint);border-radius:16px}.list{display:grid;gap:12px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center;background:var(--pale);padding:28px;border-radius:20px}.stats strong{display:block;font-size:1.8rem;color:var(--deep)}footer{margin-top:38px;padding:28px 0;border-top:1px solid var(--line)}footer .links{display:flex;flex-wrap:wrap;gap:10px 25px;margin:15px 0}footer .brand{justify-content:center;margin:24px 0 10px}.nav{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);display:flex;justify-content:space-around;background:#fffffff5;backdrop-filter:blur(15px);box-shadow:0 8px 35px #15352220;border:1px solid var(--line);border-radius:18px;padding:7px;width:min(470px,calc(100% - 28px));z-index:10}.nav button{background:none;color:var(--muted);font-size:.73rem;padding:9px 18px;display:grid;gap:4px;justify-items:center;border-radius:12px}.nav button b{font-size:1.1rem}.nav button.active{background:var(--pale);color:var(--green)}.gate{min-height:85vh;max-width:470px;margin:auto;display:flex;flex-direction:column;justify-content:center;gap:16px;padding:28px}.gate h1{font-size:2rem;margin:0}.gate img{width:110px;align-self:center}.gate p{line-height:1.6}.gate input,.gate label{width:100%}label{display:grid;gap:7px;margin:14px 0;font-size:.9rem;font-weight:600}input,select,textarea{width:100%;padding:12px;border:1px solid var(--mint);border-radius:10px;background:white;color:var(--ink)}textarea{min-height:90px}input[type=checkbox]{width:20px;height:20px}.check{display:flex;align-items:flex-start;font-weight:400;line-height:1.5}.error{color:#9c2929;background:#fff0eb;padding:12px;border-radius:9px}.policy{max-width:780px;margin:auto;line-height:1.75}.policy h2{font-size:1.1rem}.policy p{white-space:pre-line}.policy .review{background:#fff5df;padding:12px;border-radius:10px;font-size:.85rem}dialog{border:1px solid var(--mint);border-radius:18px;max-width:min(700px,95vw);width:95vw;max-height:90vh;padding:25px}dialog::backdrop{background:#132f2570}#toast{display:none;position:fixed;top:15px;left:50%;transform:translateX(-50%);background:var(--deep);color:white;border-radius:10px;padding:14px;z-index:100;width:max-content;max-width:90vw}.actions{display:flex;flex-wrap:wrap;gap:9px}.hidden{display:none!important}.spinner{width:30px;height:30px;border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite;margin:30px auto}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1000px){.nav{position:static;transform:none;width:auto;box-shadow:none;background:none;border:0;padding:0}.desktop-nav{display:block}.shell{padding-bottom:30px}.mobile-nav{display:none}}@media(max-width:999px){.desktop-nav{display:none}.hero{gap:18px}.categories{grid-template-columns:repeat(4,minmax(0,1fr))}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.shell{padding:0 16px 105px}.top{padding:11px 0}.brand img{width:46px;height:46px}.brand strong{font-size:1.05rem}.brand small{font-size:.60rem}.location{max-width:155px}.location strong{font-size:.78rem}.location span{font-size:.65rem}.hero{grid-template-columns:1fr;padding:22px 0}.hero h1{font-size:1.9rem;margin:8px 0}.hero p{font-size:.85rem}.locker{padding:18px}.locker h2{font-size:1.27rem}.locker p{font-size:.80rem}.locker button{padding:9px 14px;font-size:.8rem}.services{gap:9px;margin-bottom:23px}.service{padding:12px;min-height:78px;gap:9px;font-size:.82rem}.service .symbol{width:34px;height:36px;font-size:21px}.categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.category{padding:7px;border-radius:12px}.category strong{font-size:.72rem;margin-top:7px}.category small{font-size:.59rem}.category img{aspect-ratio:1.3}.sectionhead h2{font-size:1.17rem}.sectionhead small{font-size:.65rem}.search{margin-bottom:20px}.search button{font-size:.8rem;padding:10px}.grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr);padding:18px}.nav button{padding:8px 13px}.policy{font-size:.92rem}}

[id^="care-group-"]{scroll-margin-top:100px;margin-top:24px}

.video-stage{position:relative;min-height:440px;background:#07140d;border-radius:16px;overflow:hidden;color:white}.remote-video{position:absolute;inset:0;display:grid;place-items:center}.call-video{width:100%;height:100%;object-fit:contain}.local-video{position:absolute;right:14px;bottom:14px;width:120px;height:170px;background:#173526;border:2px solid #8bc59f;border-radius:12px;overflow:hidden;cursor:pointer}.local-video #localCamera{height:100%}.local-video small{position:absolute;bottom:0;left:0;padding:4px;background:#10291acc;color:white}.local-large .local-video{inset:0;width:100%;height:100%;border:0;border-radius:0}.local-large .remote-video{inset:auto 14px 14px auto;width:120px;height:170px;z-index:2;background:#173526;border:2px solid #8bc59f;border-radius:12px;overflow:hidden}

/* Fixed policy reader avoids Android WebView native-dialog focus/scroll layout. */
.omcare-policy-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(19,47,37,.65)}
.omcare-policy-panel{width:min(780px,100%);height:85vh;max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;background:#fff;color:#20362b;border:1px solid #a8cfa8;border-radius:18px;box-shadow:0 18px 60px #10291a55;outline:none}
.omcare-policy-content{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:22px;line-height:1.65}
.omcare-policy-content .policy{display:block;max-width:100%;margin:0;color:#20362b}.omcare-policy-content h1{font-size:1.5rem;margin-top:0}.omcare-policy-content h2{font-size:1.08rem}.omcare-policy-footer{flex:0 0 auto;border-top:1px solid #d4e5d1;padding:12px 18px;background:#fff}.omcare-policy-footer button{width:100%}

.search input[name="pin"]{flex:0 1 170px}
@media(max-width:520px){.search{flex-wrap:wrap}.search input[name="search"]{flex:1 1 100%}.search input[name="pin"]{flex:1 1 120px}}

.report-preview-body{height:65vh;min-height:260px;border:1px solid var(--mint);border-radius:12px;overflow:hidden;background:#f4f7f5}
.report-preview iframe{width:100%;height:100%;border:0;background:white}
.report-image-scroll{height:100%;overflow:auto}.report-image-scroll img{display:block;max-width:100%;height:auto;margin:auto}
.prescription-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1.05rem;line-height:1.7}
.receipt-table{width:100%;border-collapse:collapse}.receipt-table th,.receipt-table td{padding:9px;border-bottom:1px solid #d8e6dc;text-align:left}.receipt-table td{text-align:right}
@media print{body>*:not(#modal){display:none!important}#modal[open]{position:static;display:block;width:100%;max-width:none;max-height:none;height:auto;border:0;padding:0;overflow:visible}#modal::backdrop{display:none}#closeModal,.no-print{display:none!important}.consultation-document{color:#111;background:white}.consultation-document section{break-inside:avoid}}

.report-preview-body{display:flex;flex-direction:column}.report-preview-body>.actions{flex:none;padding:6px}.report-image-scroll{flex:1;min-height:0;height:auto}

/* OMCARE_CATEGORY_FAMILIES_V1 */
.care-families{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.care-family{background:#fff;border:1px solid #d9e7dd;border-radius:20px;overflow:hidden}.care-family[open]{grid-column:1/-1}.care-family summary{padding:22px;cursor:pointer;list-style-position:inside}.care-family summary strong{display:block;color:#176b49;font-size:1.15rem}.care-family summary span,.care-family summary small{display:block;margin-top:8px}.care-family summary span{color:#52675d}.care-family .categories{padding:0 18px 20px}@media(max-width:620px){.care-families{grid-template-columns:1fr}.care-family summary{padding:18px}}

/* OMCARE_CATEGORY_FAMILY_PHOTOS_V1 */
.care-family summary{padding:0;list-style:none}.care-family summary::-webkit-details-marker{display:none}.care-family summary:focus-visible{outline:3px solid #176b49;outline-offset:-3px}.care-family-photo{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center 40%;background:#e7efe9}.care-family summary .care-family-copy{display:block;padding:20px;margin:0}.care-family summary .care-family-copy>strong{font-size:1.15rem}.care-family summary .care-family-copy>span{display:block}.care-family summary .care-photo-note{font-size:.7rem;color:#6e7d74;margin-top:10px}.care-family:hover{border-color:#9bbbaa;box-shadow:0 6px 24px #183d2b0c}@media(max-width:620px){.care-family summary{padding:0}.care-family summary .care-family-copy{padding:18px}}

/* OMCARE_COMPACT_CATEGORY_CARDS_V1 */
.care-families {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.care-family-photo {
  height:110px;
  aspect-ratio:auto;
  object-fit:cover;
}
.care-family summary .care-family-copy {padding:12px;}
.care-family summary .care-family-copy>strong {
  font-size:.92rem;
  line-height:1.35;
}
.care-family summary .care-family-copy>span {display:none;}
.care-family summary .care-family-copy>small {
  font-size:.68rem;
  margin-top:5px;
}
.care-family[open] {grid-column:1/-1;}
.care-family[open] .care-family-photo {display:none;}
.care-family[open] summary .care-family-copy>small {display:none;}
.care-family[open] summary .care-family-copy>strong {font-size:1.05rem;}
@media(max-width:900px) {
  .care-families {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:620px) {
  .care-families {gap:10px;}
  .care-family-photo {height:76px;}
  .care-family summary .care-family-copy {padding:9px;}
  .care-family summary .care-family-copy>strong {font-size:.78rem;}
  .care-family summary .care-family-copy>small {font-size:.62rem;}
}
