:root{--navy:#07386f;--blue:#0867d7;--turq:#08b99a;--ink:#132238;--muted:#607087;--line:#dde7ef;--surface:#fff;--shadow:0 10px 30px rgba(20,57,91,.075)}
html{color-scheme:light;scroll-behavior:smooth}body{font-size:15px;line-height:1.45;background:radial-gradient(circle at top,#e9fbf7 0,#f3f8fc 35%,#edf3f8 100%);-webkit-font-smoothing:antialiased}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{min-height:44px;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(8,103,215,.25);outline-offset:2px}.phone{background:#f9fbfd}.screen{padding-left:20px;padding-right:20px}.topbar{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px;background:rgba(249,251,253,.92);backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}.topbar h1{font-size:19px;letter-spacing:-.25px}.home-head{padding-top:26px}.home-head h2{font-size:24px;letter-spacing:-.5px}.feature{height:146px;border:1px solid rgba(255,255,255,.65);padding:17px;border-radius:20px;transition:transform .18s ease,box-shadow .18s ease}.feature:active{transform:scale(.98)}.feature strong{font-size:16px;letter-spacing:-.15px}.tip,.list-row,.doctor-card,.profile-card,.record,.appointment-card,.detail-card,.security-banner{border-color:var(--line);box-shadow:var(--shadow)}.list-row{min-height:72px;border-radius:16px}.row-copy strong{font-size:15px}.row-copy small{line-height:1.35}.primary{min-height:48px;border-radius:13px;font-size:15px;box-shadow:0 8px 20px rgba(5,116,183,.17)}.bottom-nav{height:80px;background:rgba(255,255,255,.96);backdrop-filter:blur(18px)}.bottom-nav button{font-size:11px}.bottom-nav button.active:after{content:"";position:absolute;bottom:6px;width:20px;height:3px;border-radius:3px;background:var(--turq)}
.language-toggle{position:relative;z-index:6;width:100%;min-height:48px;margin:4px 0 14px;border:1px solid rgba(8,185,154,.28);border-radius:14px;background:#ecfbf8;color:#075f91;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 6px 16px rgba(8,185,154,.12)}.language-toggle span{letter-spacing:.2px}.language-toggle strong{font-size:12px;color:#07836f;background:#fff;border-radius:999px;padding:5px 9px}.auth-shell .language-toggle,.onboarding-shell .language-toggle{position:absolute;top:max(10px,env(safe-area-inset-top));left:18px;right:18px;width:auto}.auth-screen,.onboarding-screen{padding-top:max(68px,calc(env(safe-area-inset-top) + 58px))!important}
.field input,.field select,.field textarea,.composer input{width:100%;border:1px solid #cedbe7;background:#fff;border-radius:12px;color:var(--ink);font:inherit}.field input,.field select{height:49px;padding:0 13px}.field textarea{min-height:96px;padding:12px 13px;resize:vertical}.field-help{display:block;color:var(--muted);margin:-12px 0 16px;line-height:1.4}.form-error{min-height:20px;color:#b42318;font-size:13px}.modal{max-height:min(88dvh,760px);overflow:auto}.attachment-link{display:inline-flex;align-items:center;gap:6px;margin-top:10px;color:var(--blue);font-weight:700;text-decoration:none}.attachment-link .icon{font-size:18px}.record-view{margin-top:9px;border:0;background:transparent;color:var(--blue);font-weight:700;padding:4px 0;min-height:32px}.emergency-note{margin:18px 2px;padding:12px 14px;border-radius:12px;background:#fff7ed;color:#854d0e;font-size:12px;line-height:1.45}.notification.unread{background:#f1f8ff;border-left:3px solid var(--blue);padding-left:10px}#toast.bad{background:#9b1c1c}#toast.warn{background:#854d0e}
.auth-screen{display:flex;flex-direction:column;justify-content:center;padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom))}.auth-logo{width:142px;height:142px;object-fit:contain;margin:4px auto 10px}.auth-card{background:rgba(255,255,255,.96);border:1px solid rgba(215,229,239,.9);box-shadow:0 20px 55px rgba(18,68,97,.11);border-radius:24px;padding:22px}.auth-card h1{margin:18px 0 6px;font-size:25px;letter-spacing:-.65px}.auth-card>p{margin:0 0 8px;color:var(--muted)}.auth-card .field{margin:16px 0}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:#eef4f8;border-radius:12px}.auth-tabs button{border:0;background:transparent;border-radius:9px;font-weight:700;color:var(--muted)}.auth-tabs button.active{background:#fff;color:var(--blue);box-shadow:0 2px 8px rgba(25,59,91,.1)}.consent{display:flex;align-items:flex-start;gap:10px;margin:18px 0;font-size:13px;color:#47566b}.consent input{width:18px;height:18px;flex:0 0 auto;margin-top:1px}.consent a,.legal-links a{color:var(--blue);font-weight:700}.legal-links{display:flex;justify-content:center;gap:18px;margin:18px 0 5px;font-size:12px}.privacy{line-height:1.4}
.onboarding-screen{display:flex;min-height:100dvh;flex-direction:column;align-items:center;text-align:center;padding-top:max(22px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom))}.onboarding-skip{align-self:flex-end;border:0;background:transparent;color:var(--muted);font-weight:700}.onboarding-logo{width:118px;height:118px;object-fit:contain}.onboarding-visual{width:124px;height:124px;margin:22px auto;display:grid;place-items:center;border-radius:36px;background:linear-gradient(145deg,#e0f4ff,#d9faee);color:var(--blue);box-shadow:var(--shadow)}.onboarding-visual .icon{font-size:58px}.eyebrow{color:var(--turq)!important;font-size:12px!important;font-weight:800;letter-spacing:1.2px}.onboarding-screen h1{font-size:29px;line-height:1.12;letter-spacing:-.8px;margin:6px 0 12px}.onboarding-screen>p:not(.eyebrow){max-width:340px;color:var(--muted);font-size:16px}.onboarding-dots{display:flex;gap:7px;margin:auto 0 4px}.onboarding-dots span{width:7px;height:7px;border-radius:10px;background:#ced9e3}.onboarding-dots span.active{width:24px;background:var(--turq)}.onboarding-screen>small{color:var(--muted);max-width:340px;margin-top:14px}
.legal-page{width:min(100% - 32px,720px);margin:0 auto;padding:max(20px,env(safe-area-inset-top)) 0 60px}.legal-back{display:inline-flex;align-items:center;min-height:44px;color:var(--blue);font-weight:750;text-decoration:none}.legal-logo{display:block;width:128px;height:128px;object-fit:contain;margin:8px auto 6px}.legal-page article{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(22px,5vw,42px);box-shadow:var(--shadow)}.legal-page h1{font-size:clamp(28px,7vw,40px);letter-spacing:-1px;margin:5px 0 18px}.legal-page h2{font-size:18px;margin:28px 0 7px}.legal-page p{color:#42526a;line-height:1.7}.legal-page a{color:var(--blue)}.support-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:#f5fbff;margin:18px 0}.support-card p{margin:8px 0}.support-card small{color:var(--muted);line-height:1.5}.support-card.urgent{background:#fff7ed;border-color:#fed7aa}.support-card.urgent strong,.support-card.urgent p{color:#8a4b08}
@media(max-width:360px){.screen{padding-left:14px;padding-right:14px}.topbar{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.feature{height:138px;padding:14px}.auth-card{padding:18px}.legal-links{gap:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.bottom-nav,.topbar,.portal-switch,.record-delete,.record-view,.primary,.legal-back{display:none!important}.phone{max-width:none;box-shadow:none}.screen{padding:0}}
