.portal{--portal-side:268px;--portal-bar:68px;display:grid;grid-template-columns:var(--portal-side) minmax(0,1fr);min-height:100dvh;background:linear-gradient(90deg,var(--white) 0 var(--portal-side),var(--line) var(--portal-side) calc(var(--portal-side) + 1px),transparent calc(var(--portal-side) + 1px)),radial-gradient(1200px 520px at 85% -120px,#e6efff 0,transparent 70%),linear-gradient(180deg,#f3f7fd,#f6f8fc 60%)}.portal-sidebar{position:-webkit-sticky;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:12px;padding:16px 14px 14px;background:var(--white);border-right:1px solid var(--line);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.portal-brand{display:flex;align-items:center;gap:10px;padding:2px 8px 6px}.portal-brand img{width:38px;height:auto}.portal-brand span{display:grid;line-height:1.1}.portal-brand b{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;color:var(--ink-950)}.portal-brand b em{font-style:normal;color:var(--blue-600)}.portal-brand small{font-size:.6875rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);margin-top:3px}.portal-user{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#f4f8ff,#f2fbf9);border:1px solid #e3ebf8;min-width:0}.portal-user>div{display:grid;min-width:0}.portal-user b{color:var(--ink-950);font-size:var(--text-sm)}.portal-user b,.portal-user small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-user small{color:var(--ink-500);font-size:var(--text-xs)}.portal-avatar{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;overflow:hidden;background:var(--brand-gradient);color:var(--white);font-weight:800;font-size:.9375rem;letter-spacing:.02em;box-shadow:0 4px 12px rgb(26 86 219/.25)}.portal-avatar img{width:100%;height:100%;object-fit:cover}.portal-avatar.is-sm{width:34px;height:34px;font-size:.75rem;box-shadow:none}.portal-nav{display:grid;grid-gap:6px;gap:6px}.portal-nav-group{display:grid;grid-gap:2px;gap:2px}.portal-nav-group+.portal-nav-group{border-top:1px solid var(--line);padding-top:8px;margin-top:4px}.portal-nav a{position:relative;display:flex;align-items:center;gap:12px;min-height:39px;padding:7px 12px;border-radius:12px;color:var(--ink-700);font-size:.9375rem;font-weight:600;transition:background-color var(--dur-fast),color var(--dur-fast),box-shadow var(--dur)}.portal-nav a svg{color:var(--ink-500);flex:none;transition:color var(--dur-fast)}.portal-nav a:hover{background:var(--blue-50);color:var(--blue-700)}.portal-nav a:hover svg{color:var(--blue-600)}.portal-nav a.is-active{background:var(--blue-600);color:var(--white);box-shadow:0 8px 18px rgb(26 86 219/.28)}.portal-nav a.is-active svg{color:var(--white)}.portal-nav a:focus-visible{outline:none;box-shadow:var(--ring)}.portal-badge{margin-left:auto;min-width:22px;height:22px;padding:0 7px;display:inline-grid;place-items:center;border-radius:var(--radius-full);background:var(--blue-600);color:var(--white);font-style:normal;font-size:.75rem;font-weight:800}.portal-nav a.is-active .portal-badge{background:var(--white);color:var(--blue-700)}.portal-sidebar-foot{margin-top:auto;padding-top:8px}.portal-app{display:flex;gap:12px;padding:14px 12px;border-radius:var(--radius-lg);background:linear-gradient(140deg,#eef4ff,#e8f7f5);border:1px solid #dfe9f8}.portal-app>div{display:grid;grid-gap:4px;gap:4px;min-width:0}.portal-app b{font-size:var(--text-sm);color:var(--ink-950)}.portal-app small{font-size:var(--text-xs);color:var(--ink-600);line-height:1.45}.portal-app-stores{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.portal-app-stores img{width:84px;height:auto;border-radius:6px}.portal-app-stores span img{opacity:.85}.portal-app-soon{color:var(--ink-500)!important;font-size:.6875rem!important}.portal-app-phone{position:relative;flex:none;width:38px;height:70px;border-radius:9px;background:linear-gradient(160deg,#1d4ed8,#12b0a8);box-shadow:inset 0 0 0 3px #0f2a6b,0 6px 14px rgb(26 86 219/.25)}.portal-app-phone i{position:absolute;left:9px;right:9px;height:5px;border-radius:3px;background:rgb(255 255 255/.75)}.portal-app-phone i:first-child{top:16px}.portal-app-phone i:nth-child(2){top:27px;right:15px}.portal-app-phone i:nth-child(3){top:38px}.portal-main{min-width:0;display:flex;flex-direction:column}.portal-bar{position:-webkit-sticky;position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:12px;min-height:var(--portal-bar);padding:10px clamp(16px,3vw,36px);background:rgb(246 249 253/.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgb(226 232 242/.7)}.portal-menu-button{display:none}.portal-bar-title{display:grid;min-width:0}.portal-bar-title span{font-weight:750;color:var(--ink-950);font-size:var(--text-md)}.portal-bar-title small{color:var(--ink-500);font-size:var(--text-xs)}.portal-bar-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.portal-switch{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:var(--radius-full);border:1px solid #cfe0ff;background:var(--white);color:var(--blue-700);font-weight:700;font-size:var(--text-sm);transition:background-color var(--dur),border-color var(--dur),box-shadow var(--dur)}.portal-switch:hover{background:var(--blue-50);border-color:var(--blue-500);box-shadow:var(--shadow-sm)}.portal-switch.is-patient{border-color:#bfeee8;color:var(--teal-700)}.portal-switch.is-patient:hover{background:var(--teal-50);border-color:var(--teal-500)}.portal-switch:disabled{opacity:.7;cursor:progress}.portal-switch-error{margin:12px clamp(16px,3vw,36px) 0}.portal-bell,.portal-pop{position:relative}.portal-bell{width:42px;height:42px;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-xs)}.portal-bell:hover{border-color:var(--blue-100);color:var(--blue-600)}.portal-dot{position:absolute;top:9px;right:10px;width:9px;height:9px;border-radius:50%;background:var(--red-600);box-shadow:0 0 0 2px var(--white)}.portal-account{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:4px 12px 4px 5px;border-radius:var(--radius-full);background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-xs);color:var(--ink-900);font-weight:700;font-size:var(--text-sm)}.portal-account:hover{border-color:var(--blue-100)}.portal-account svg{color:var(--ink-500)}.portal-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:60;width:280px;display:grid;grid-gap:2px;gap:2px;padding:8px;border-radius:var(--radius-lg);background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-lg)}.portal-menu.is-bell{width:min(360px,calc(100vw - 32px))}.portal-menu>a,.portal-menu>button{display:flex;align-items:center;gap:12px;width:100%;min-height:42px;padding:8px 10px;border-radius:10px;color:var(--ink-800);font-size:var(--text-sm);font-weight:600;text-align:left}.portal-menu>a:hover,.portal-menu>button:hover{background:var(--canvas);color:var(--ink-950)}.portal-menu>a svg,.portal-menu>button svg{color:var(--ink-500)}.portal-menu .is-danger,.portal-menu .is-danger svg{color:#b91c1c}.portal-menu-user{padding-bottom:6px;margin-bottom:4px;border-bottom:1px solid var(--line)}.portal-menu-user .portal-user{background:none;border:0;padding:6px 4px}.portal-menu-head{display:flex;justify-content:space-between;align-items:center;padding:6px 8px 8px;border-bottom:1px solid var(--line);margin-bottom:4px}.portal-menu-head a{color:var(--blue-700);font-size:var(--text-sm);font-weight:700}.portal-notices{display:grid;grid-gap:2px;gap:2px;max-height:360px;overflow-y:auto}.portal-notices a{display:flex;gap:12px;padding:10px 8px;border-radius:12px}.portal-notices a:hover{background:var(--canvas)}.portal-notices a>span:last-child{display:grid;grid-gap:1px;gap:1px;min-width:0}.portal-notices b{font-size:var(--text-sm);color:var(--ink-950)}.portal-notices a.is-new b:after{content:"";display:inline-block;width:7px;height:7px;margin-left:6px;border-radius:50%;background:var(--blue-600);vertical-align:middle}.portal-notices small{color:var(--ink-600);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-notices time{color:var(--ink-400);font-size:.6875rem;font-weight:650}.portal-notice-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:12px}.portal-notice-icon.is-blue{background:var(--blue-50);color:var(--blue-600)}.portal-notice-icon.is-green{background:var(--green-100);color:var(--green-600)}.portal-notice-icon.is-amber{background:var(--amber-100);color:#b45309}.portal-notice-icon.is-violet{background:#efe9ff;color:#7c3aed}.portal-notice-icon.is-red{background:var(--red-100);color:var(--red-600)}.portal-empty-note{padding:18px 10px;text-align:center;color:var(--ink-500);font-size:var(--text-sm)}.portal-content{flex:1 1;width:100%;max-width:1440px;padding:clamp(18px,2.4vw,30px) clamp(16px,3vw,36px) clamp(40px,6vw,72px)}.portal-content>.acc-main{padding-bottom:0}.portal-drawer{left:0;right:auto;width:min(320px,88vw);gap:14px}.portal-drawer .portal-nav a{min-height:44px}.portal-drawer-switch .portal-switch{width:100%;justify-content:center}.ov{display:grid;grid-gap:18px;gap:18px}.ov-card{background:var(--white);border:1px solid #e5ebf5;border-radius:20px;box-shadow:0 1px 2px rgb(16 28 63/.04),0 8px 24px rgb(16 28 63/.04)}.ov-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.ov-head h1{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.2rem);letter-spacing:-.03em;line-height:1.15}.ov-head p{color:var(--ink-500);margin-top:4px}.ov-wave{display:inline-block;transform-origin:70% 70%;animation:ov-wave 2.4s ease-in-out .6s 1}@keyframes ov-wave{0%,60%,to{transform:rotate(0)}10%,30%{transform:rotate(14deg)}20%,40%{transform:rotate(-8deg)}}.ov-book{min-height:48px;padding-inline:22px;box-shadow:var(--shadow-blue)}.ov-alerts{display:flex;flex-wrap:wrap;gap:10px}.ov-alerts:empty{display:none}.ov-alert{display:inline-flex;align-items:center;gap:10px;flex:1 1 320px;padding:11px 14px;border-radius:14px;font-size:var(--text-sm);transition:transform var(--dur) var(--ease-out),box-shadow var(--dur)}.ov-alert:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.ov-alert span{flex:1 1}.ov-alert.is-amber{background:#fff7e6;color:#92400e;border:1px solid #fde7b0}.ov-alert.is-teal{background:var(--teal-50);color:var(--teal-700);border:1px solid var(--teal-100)}.ov-top{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);grid-gap:18px;gap:18px}.ov-quick{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px;padding:18px 14px;align-items:center}.ov-quick-item{display:grid;justify-items:center;grid-gap:10px;gap:10px;padding:10px 4px;border-radius:16px;text-align:center;transition:background-color var(--dur),transform var(--dur) var(--ease-out)}.ov-quick-item:hover{background:var(--canvas);transform:translateY(-2px)}.ov-quick-item b{font-size:var(--text-sm);font-weight:650;color:var(--ink-900);line-height:1.3}.ov-chip{display:grid;place-items:center;flex:none;width:56px;height:56px;border-radius:16px}.ov-chip.is-blue{background:#e8f0ff;color:#2563eb}.ov-chip.is-violet{background:#f0eaff;color:#7c3aed}.ov-chip.is-green{background:#e3f8ec;color:#16a34a}.ov-chip.is-orange{background:#fff0e3;color:#ea580c}.ov-chip.is-purple{background:#f3e8ff;color:#9333ea}.ov-chip.is-sky{background:#e6f4ff;color:#0284c7}.ov-chip.is-pink{background:#ffe8f1;color:#db2777}.ov-chip.is-teal{background:var(--teal-50);color:var(--teal-700)}.ov-chip.is-amber{background:#fff4dc;color:#b45309}.ov-chip.is-red{background:var(--red-100);color:var(--red-600)}.ov-hero{position:relative;display:flex;align-items:center;min-height:170px;overflow:hidden;border-radius:20px;background:linear-gradient(115deg,#e6efff,#dbe8ff 45%,#cfe2ff);border:1px solid #d6e3fb;isolation:isolate}.ov-hero:before{content:"";position:absolute;width:240px;height:240px;right:-60px;bottom:-120px;border-radius:50%;background:rgb(255 255 255/.45);z-index:-1}.ov-hero-text{position:relative;z-index:1;display:grid;grid-gap:8px;gap:8px;max-width:58%;padding:22px}.ov-hero-text h2{font-size:var(--text-xl);letter-spacing:-.02em;line-height:1.2;color:var(--ink-950)}.ov-hero-text p{color:var(--ink-600);font-size:var(--text-sm)}.ov-hero-text .btn{justify-self:start;margin-top:4px}.ov-hero-photo{position:absolute;right:0;top:0;height:100%;width:50%;object-fit:cover;object-position:45% 18%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 42%);mask-image:linear-gradient(90deg,transparent,#000 42%)}.ov-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.ov-stat{display:flex;align-items:center;gap:14px;padding:16px;transition:transform var(--dur) var(--ease-out),box-shadow var(--dur),border-color var(--dur)}.ov-stat:hover{transform:translateY(-2px);border-color:var(--blue-100);box-shadow:var(--shadow-md)}.ov-stat .ov-chip{width:50px;height:50px;border-radius:14px}.ov-stat-text{display:grid;flex:1 1;min-width:0}.ov-stat-text b{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:var(--ink-950);line-height:1.15}.ov-stat-text small{color:var(--ink-500);font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ov-stat-arrow{color:var(--ink-400);flex:none;transition:transform var(--dur) var(--ease-out)}.ov-stat:hover .ov-stat-arrow{transform:translateX(3px);color:var(--blue-600)}.ov-dots{display:inline-block;width:28px;height:20px;border-radius:6px;background:linear-gradient(90deg,var(--canvas),var(--line),var(--canvas));background-size:200% 100%;animation:acc-shimmer 1.2s infinite}.ov-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(280px,.92fr);grid-gap:18px;gap:18px;align-items:stretch}.ov-panel{display:grid;align-content:start;grid-gap:14px;gap:14px;padding:20px}.ov-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ov-panel-head h2{font-size:var(--text-lg);letter-spacing:-.015em}.ov-empty{display:grid;justify-items:center;grid-gap:6px;gap:6px;padding:22px 16px;border-radius:16px;background:linear-gradient(180deg,#f5f8ff,#f8fafc);text-align:center}.ov-empty b{color:var(--ink-950)}.ov-empty small{color:var(--ink-500);font-size:var(--text-sm);max-width:30ch;margin-bottom:8px}.ov-empty.is-small{padding:18px 14px}.ov-empty-art{display:grid;place-items:center;width:64px;height:64px;margin-bottom:4px;border-radius:20px;background:var(--white);color:var(--blue-600);box-shadow:var(--shadow-sm)}.ov-records{display:grid;grid-gap:8px;gap:8px}.ov-records li{display:flex;align-items:center;gap:6px;padding:8px 8px 8px 10px;border-radius:14px;border:1px solid var(--line);transition:border-color var(--dur),box-shadow var(--dur)}.ov-records li:hover{border-color:var(--blue-100);box-shadow:var(--shadow-sm)}.ov-record{display:flex;align-items:center;gap:12px;flex:1 1;min-width:0}.ov-record>span:last-child{display:grid;min-width:0}.ov-record b{color:var(--ink-950);font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ov-record small{color:var(--ink-500);font-size:var(--text-xs)}.ov-record-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:var(--blue-50);color:var(--blue-600)}.ov-record-dl{width:38px;height:38px;color:var(--blue-600)}.ov-record-dl:hover{background:var(--blue-50)}.ov-visit{display:grid;grid-gap:14px;gap:14px;padding:16px;border-radius:16px;background:linear-gradient(160deg,#f5f8ff,#f7fbfa);border:1px solid #e3ebf8}.ov-visit-top{display:flex;align-items:center;gap:12px}.ov-visit-top>div{display:grid;min-width:0}.ov-visit-top b{color:var(--ink-950)}.ov-visit-top small{color:var(--ink-500);font-size:var(--text-sm)}.ov-visit-avatar{display:grid;place-items:center;flex:none;width:50px;height:50px;border-radius:16px;overflow:hidden;background:var(--white);color:var(--blue-600);box-shadow:var(--shadow-xs)}.ov-visit-avatar img{width:100%;height:100%;object-fit:cover}.ov-visit-when{display:flex;flex-wrap:wrap;gap:8px}.ov-visit-when span{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-full);background:var(--white);border:1px solid var(--line);color:var(--ink-700);font-size:var(--text-sm);font-weight:600}.ov-visit-when svg{color:var(--blue-600)}.ov-visit-actions{display:flex;flex-wrap:wrap;gap:8px}.ov-side{display:grid;grid-gap:18px;gap:18px;align-content:start}.ov-family,.ov-tip{position:relative;display:flex;align-items:center;gap:8px;padding:18px;overflow:hidden}.ov-tip{background:linear-gradient(140deg,#eafaf2,#f2fbf6);border-color:#cdeedc}.ov-tip-text{display:grid;grid-gap:4px;gap:4px;flex:1 1;min-width:0}.ov-tip-label{display:inline-flex;align-items:center;gap:6px;color:var(--green-600);font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.ov-tip h3{font-size:var(--text-md)}.ov-family p,.ov-tip p{color:var(--ink-600);font-size:var(--text-sm);line-height:1.55}.ov-family>div{display:grid;grid-gap:8px;gap:8px;flex:1 1;min-width:0}.ov-family h3{display:flex;align-items:center;gap:8px;font-size:var(--text-md)}.ov-family h3 svg{color:var(--blue-600)}.ov-family .btn{justify-self:start}.ov-art{flex:none;width:96px;height:auto}.ov-services{display:grid;grid-gap:14px;gap:14px;padding:20px}.ov-services-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:12px;gap:12px}.ov-service{display:grid;justify-items:center;grid-gap:4px;gap:4px;padding:18px 10px;border-radius:16px;border:1px solid var(--line);text-align:center;transition:border-color var(--dur),box-shadow var(--dur),transform var(--dur) var(--ease-out)}.ov-service svg{color:var(--blue-600);margin-bottom:4px}.ov-service:nth-child(2) svg{color:#7c3aed}.ov-service:nth-child(3) svg{color:#16a34a}.ov-service:nth-child(4) svg{color:#db2777}.ov-service:nth-child(5) svg{color:#0d8f89}.ov-service b{color:var(--ink-950);font-size:var(--text-sm)}.ov-service small{color:var(--ink-500);font-size:var(--text-xs)}.ov-service:hover{border-color:var(--blue-100);box-shadow:var(--shadow-md);transform:translateY(-2px)}@media (max-width:1360px){.ov-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ov-side{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1180px){.ov-top{grid-template-columns:minmax(0,1fr)}.ov-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1024px){.portal{grid-template-columns:minmax(0,1fr);background:radial-gradient(1200px 520px at 85% -120px,#e6efff 0,transparent 70%),linear-gradient(180deg,#f3f7fd,#f6f8fc 60%)}.portal-sidebar{display:none}.portal-menu-button{display:inline-grid;margin-left:-8px}}@media (max-width:760px){.ov-grid,.ov-side{grid-template-columns:minmax(0,1fr)}.ov-quick{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:4px}.ov-services-row{grid-template-columns:repeat(2,minmax(0,1fr))}.ov-service:last-child{grid-column:1/-1}.portal-switch span{display:none}.portal-switch{width:42px;padding:0;justify-content:center}.portal-account-name{display:none}.portal-account{padding-right:8px}}@media (max-width:520px){.ov-stats{gap:10px}.ov-stat{flex-direction:column;align-items:flex-start;gap:10px;padding:14px}.ov-stat .ov-chip{width:42px;height:42px}.ov-stat-arrow{position:absolute;top:14px;right:12px}.ov-stat{position:relative}.ov-stat-text small{white-space:normal}.ov-book,.ov-head .btn{width:100%}.ov-hero-text{max-width:68%;padding:18px}.ov-hero-photo{width:52%}.ov-chip{width:50px;height:50px}.portal-bar-title small{display:none}}@media (prefers-reduced-motion:reduce){.ov-wave{animation:none}}.pr-approval{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px;padding:16px 18px;border-radius:18px;background:linear-gradient(120deg,#fff7e6,#fffbf2);border:1px solid #fde7b0;color:#92400e}.pr-approval>svg{flex:none}.pr-approval>div{flex:1 1 280px}.pr-approval b{color:#78350f}.pr-approval p{font-size:var(--text-sm);margin-top:2px}.pr-head-actions{display:flex;flex-wrap:wrap;gap:10px}.ov-hero.is-doctor{background:linear-gradient(115deg,#e7f6f3,#dff1fb 55%,#d6e6ff);border-color:#cfe8ea}.pr-hero-label{font-size:var(--text-xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-700)}.pr-avatar{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#dbe8ff,#d5f5f2);color:var(--blue-700);font-weight:800;font-size:.8125rem}.pr-avatar img{width:100%;height:100%;object-fit:cover}.pr-avatar.is-lg{width:52px;height:52px;font-size:1rem}.pr-avatar.is-xl{width:96px;height:96px;font-size:2rem;border-radius:28px;background:var(--brand-gradient);color:var(--white);box-shadow:var(--shadow-blue)}.pr-search{flex:0 1 300px}.pr-visits{display:grid;grid-gap:8px;gap:8px}.pr-visit{display:flex;align-items:center;gap:14px;width:100%;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:var(--white);text-align:left;transition:border-color var(--dur),box-shadow var(--dur),transform var(--dur) var(--ease-out)}.pr-visit:hover{border-color:var(--blue-100);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.pr-visit:focus-visible{outline:none;box-shadow:var(--ring)}.pr-visit-time{display:grid;flex:none;min-width:84px;padding-right:12px;border-right:1px solid var(--line)}.pr-visit-time b{color:var(--ink-950);font-size:var(--text-sm)}.pr-visit-time small{color:var(--ink-500);font-size:var(--text-xs)}.pr-visit-main{display:grid;flex:1 1;min-width:0;grid-gap:1px;gap:1px}.pr-visit-main b{color:var(--ink-950);font-size:var(--text-sm)}.pr-visit-main b,.pr-visit-main small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pr-visit-main small{color:var(--ink-500);font-size:var(--text-xs)}.pr-visit-where{display:inline-flex;align-items:center;gap:5px}.pr-visit.is-compact{padding:10px 12px;gap:10px}.pr-visit.is-compact .pr-visit-time{min-width:70px}.pr-patient-card{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,#f4f8ff,#f2fbf9);border:1px solid #e3ebf8}.pr-patient-card>div{display:grid;grid-gap:2px;gap:2px;flex:1 1;min-width:180px}.pr-patient-card b{color:var(--ink-950);font-size:var(--text-md)}.pr-patient-card small{color:var(--ink-500);font-size:var(--text-sm)}.pr-patient-card .text-link{display:inline-flex;align-items:center;gap:5px;justify-self:start}.pr-patient-actions{display:flex;gap:8px;flex-wrap:wrap}.pr-when-note{display:inline-flex;align-items:center;gap:6px;margin-left:auto;color:var(--ink-500);font-size:var(--text-xs)}.pr-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:8px;gap:8px;margin:6px 0 12px}.pr-choice{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:12px;border:1px solid var(--line-strong);cursor:pointer;font-size:var(--text-sm);font-weight:600;color:var(--ink-800);transition:border-color var(--dur),background-color var(--dur)}.pr-choice input{accent-color:var(--blue-600)}.pr-choice.is-active{border-color:var(--blue-500);background:var(--blue-50);color:var(--blue-700)}.pr-choice span{display:grid}.pr-choice small{color:var(--ink-500);font-weight:500;font-size:var(--text-xs)}.pr-today{display:grid;grid-gap:12px;gap:12px;padding:18px}.pr-patients-mini h3,.pr-today h3{display:flex;align-items:center;gap:8px;font-size:var(--text-md)}.pr-patients-mini h3 svg,.pr-today h3 svg{color:var(--blue-600)}.pr-today dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.pr-today dl div{display:grid;padding:10px 12px;border-radius:12px;background:var(--canvas)}.pr-today dl .is-wide{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.pr-today dt{color:var(--ink-500);font-size:var(--text-xs);font-weight:650}.pr-today dd{color:var(--ink-950);font-weight:800;font-size:var(--text-lg)}.pr-today .is-wide dd{font-size:var(--text-sm)}.pr-patients-mini{display:grid;grid-gap:10px;gap:10px;padding:18px}.pr-patients-mini ul{display:grid;grid-gap:4px;gap:4px}.pr-patients-mini a{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px}.pr-patients-mini a:hover{background:var(--canvas)}.pr-patients-mini a>span:nth-child(2){display:grid;flex:1 1;min-width:0}.pr-patients-mini b{font-size:var(--text-sm);color:var(--ink-950)}.pr-patients-mini small{font-size:var(--text-xs);color:var(--ink-500)}.pr-patients-mini a>svg{color:var(--ink-400)}.pr-clock{display:flex;align-items:center;gap:10px;padding:12px 16px;color:var(--ink-500);font-size:var(--text-sm)}.pr-clock svg{color:var(--blue-600);flex:none}.pr-cal-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.pr-clinics button{display:inline-flex;align-items:center;gap:6px}.pr-week-nav{display:flex;align-items:center;gap:6px}.pr-week-nav b{min-width:170px;text-align:center;font-size:var(--text-sm);color:var(--ink-900)}.pr-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.pr-day{display:grid;grid-template-rows:auto 1fr;min-height:220px;border-radius:16px;border:1px solid var(--line);background:var(--white);overflow:hidden}.pr-day.is-today{border-color:var(--blue-500);box-shadow:0 0 0 3px rgb(47 110 240/.12)}.pr-day-head{display:grid;justify-items:center;padding:8px 4px;background:var(--canvas);border-bottom:1px solid var(--line)}.pr-day.is-today .pr-day-head{background:var(--blue-600);color:var(--white)}.pr-day-head small{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:inherit;opacity:.8}.pr-day-head b{font-size:var(--text-lg)}.pr-day-items{display:grid;align-content:start;grid-gap:6px;gap:6px;padding:8px}.pr-day-free{color:var(--ink-300);font-size:var(--text-xs);text-align:center;padding-top:10px}.pr-cal-item{display:flex;align-items:center;gap:6px;width:100%;padding:7px 8px;border-radius:10px;text-align:left;font-size:var(--text-xs);border-left:3px solid transparent}.pr-cal-item>span{display:grid;min-width:0;flex:1 1}.pr-cal-item b{font-size:var(--text-xs);color:var(--ink-950)}.pr-cal-item small{color:var(--ink-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pr-cal-item.is-visit{background:var(--blue-50);border-left-color:var(--blue-600)}.pr-cal-item.is-done{background:var(--green-100);border-left-color:var(--green-600)}.pr-cal-item.is-cancelled{background:var(--canvas);border-left-color:var(--ink-300);opacity:.75}.pr-cal-item.is-cancelled b{text-decoration:line-through}.pr-cal-item.is-hold{background:#fff7e6;border-left-color:var(--amber-500);color:#92400e}.pr-cal-item.is-blocked{background:repeating-linear-gradient(135deg,#fef2f2,#fef2f2 6px,#fde4e4 0,#fde4e4 12px);border-left-color:var(--red-600);color:#991b1b}button.pr-cal-item:hover{filter:brightness(.97)}.pr-cal-remove{width:26px;height:26px;color:#991b1b}.pr-tz{display:flex;align-items:center;gap:6px}.pr-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.pr-form-row.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}.pr-form-row .field{margin-bottom:0}.pr-narrow{max-width:320px}.pr-block-clinics{display:grid;grid-gap:8px;gap:8px}.pr-block-clinic{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 12px}.pr-block-clinic,.pr-preview{border-radius:12px;border:1px solid var(--line)}.pr-preview{display:grid;grid-gap:6px;gap:6px;padding:12px 14px}.pr-preview ul{display:grid;grid-gap:4px;gap:4px}.pr-preview li{display:flex;align-items:center;gap:6px;color:var(--ink-700);font-size:var(--text-sm)}.pr-patient-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));grid-gap:10px;gap:10px}.pr-patient{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--white);text-align:left;transition:border-color var(--dur),box-shadow var(--dur),transform var(--dur) var(--ease-out)}.pr-patient:hover{border-color:var(--blue-100);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.pr-patient-main{display:grid;flex:1 1;min-width:0}.pr-patient-main b{color:var(--ink-950);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pr-patient-main small,.pr-patient-side small{color:var(--ink-500);font-size:var(--text-xs)}.pr-patient-side{display:grid;justify-items:end;grid-gap:4px;gap:4px}.pr-groups{display:grid;grid-gap:18px;gap:18px}.pr-group{display:grid;grid-gap:10px;gap:10px}.pr-group-head{display:flex;align-items:center;gap:10px}.pr-group-head b{color:var(--ink-950)}.pr-group-head small{color:var(--ink-500);font-size:var(--text-xs)}.pr-record .acc-record-thumb{height:84px}.pr-medicines{display:grid;grid-gap:10px;gap:10px;margin-bottom:8px}.pr-medicine{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) 90px auto;grid-gap:10px;gap:10px;align-items:end;padding:12px;border-radius:14px;background:var(--canvas)}.pr-medicine .field{margin-bottom:0}.pr-sub{font-size:var(--text-sm);margin:6px 0 2px}.pr-practices{display:grid;grid-template-columns:300px minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}.pr-practice-list{display:grid;grid-gap:8px;gap:8px;position:-webkit-sticky;position:sticky;top:calc(var(--portal-bar) + 16px)}.pr-practice{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border-radius:16px;border:1px solid var(--line);background:var(--white);text-align:left;transition:border-color var(--dur),box-shadow var(--dur)}.pr-practice>span:nth-child(2){display:grid;flex:1 1;min-width:0}.pr-practice b{color:var(--ink-950);font-size:var(--text-sm)}.pr-practice small{color:var(--ink-500);font-size:var(--text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pr-practice .ov-chip{width:42px;height:42px;border-radius:12px}.pr-practice.is-active{border-color:var(--blue-500);box-shadow:0 0 0 3px rgb(47 110 240/.12)}.pr-practice .pill{display:inline-flex;align-items:center;gap:4px}.pr-editor{display:grid;grid-gap:18px;gap:18px;min-width:0}.pr-editor .acc-panel-head h2{display:inline-flex;align-items:center;gap:8px}.pr-hours{display:grid;grid-gap:4px;gap:4px}.pr-hour{display:grid;grid-template-columns:170px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center;padding:8px 4px;border-bottom:1px solid var(--line)}.pr-hour:last-child{border-bottom:0}.pr-hour.is-off b{color:var(--ink-500)}.pr-periods{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pr-period{display:inline-flex;align-items:center;gap:6px;padding:4px 4px 4px 10px;border-radius:12px;background:var(--blue-50);border:1px solid var(--blue-100)}.pr-period input{border:0;background:transparent;font:inherit;font-size:var(--text-sm);color:var(--ink-900)}.pr-period .icon-button{width:28px;height:28px}.pr-manage p{display:flex;align-items:center;gap:6px}.pr-facilities{display:grid;grid-gap:6px;gap:6px;max-height:320px;overflow-y:auto}.pr-profile{display:grid;grid-gap:18px;gap:18px}.pr-profile-card{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:24px;background:linear-gradient(120deg,#ffffff 40%,#eef4ff)}.pr-profile-main{display:grid;grid-gap:6px;gap:6px;flex:1 1;min-width:240px}.pr-profile-main h2{font-size:var(--text-2xl);letter-spacing:-.02em}.pr-profile-main>p{color:var(--ink-600)}.pr-profile-tags{display:flex;flex-wrap:wrap;gap:6px}.pr-profile-tags .pill{display:inline-flex;align-items:center;gap:5px}.pr-profile-contact{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--ink-600);font-size:var(--text-sm)}.pr-profile-contact span{display:inline-flex;align-items:center;gap:6px}.pr-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}@media (max-width:1180px){.pr-week{grid-template-columns:repeat(4,minmax(0,1fr))}.pr-practices{grid-template-columns:minmax(0,1fr)}.pr-practice-list{position:static;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width:760px){.pr-week{grid-template-columns:minmax(0,1fr)}.pr-day{min-height:0;grid-template-columns:64px minmax(0,1fr);grid-template-rows:none}.pr-day-head{border-bottom:0;border-right:1px solid var(--line);align-content:center}.pr-form-row,.pr-form-row.is-three,.pr-profile-grid{grid-template-columns:minmax(0,1fr)}.pr-medicine{grid-template-columns:minmax(0,1fr) 80px auto}.pr-medicine .field:first-child{grid-column:1/-1}.pr-hour{grid-template-columns:minmax(0,1fr)}.pr-visit-time{min-width:66px;padding-right:8px}.pr-search{flex:1 1 100%}.pr-when-note{margin-left:0}.pr-week-nav b{min-width:0}}.ov-hero-photo.is-doctor{object-position:50% 30%}.pr-visit-state{font-weight:700}.pr-visit-state.is-pending{color:#b45309!important}.pr-visit-state.is-confirmed{color:var(--green-600)!important}.pr-visit-state.is-completed{color:var(--blue-700)!important}.pr-visit-state.is-cancelled,.pr-visit-state.is-no_show{color:var(--red-600)!important}.pr-record-patient{display:inline-flex;align-items:center;gap:6px;color:var(--ink-800);font-size:var(--text-xs);font-weight:650}.pr-avatar.is-xs{width:20px;height:20px;font-size:.5625rem}.pr-form-row{align-items:start}.portal .acc-panel-head h2{display:inline-flex;align-items:center;gap:8px}.portal .acc-panel-head h2 svg{color:var(--blue-600)}.pr-reminders .chip{cursor:pointer}.pr-reminders .chip:disabled{opacity:.45;cursor:not-allowed}@media (max-width:760px){.portal-drawer-switch .portal-switch{width:100%;padding:0 14px}.portal-drawer-switch .portal-switch span{display:inline}}.pr-clash{display:grid;grid-gap:8px;gap:8px;padding:14px 16px;border-radius:14px;background:var(--red-100);color:#991b1b}.pr-clash p{font-size:var(--text-sm)}.pr-clash ul{display:grid;grid-gap:8px;gap:8px}.pr-clash li{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:12px;background:var(--white)}.pr-clash li>span{display:grid;grid-gap:2px;gap:2px}.pr-clash small{color:var(--ink-600);font-size:var(--text-xs)}.pr-mode{margin-bottom:4px}.pr-slots{margin:4px 0 8px;max-height:260px;overflow-y:auto;padding:2px}.acc-files li.is-current{border-color:var(--blue-500);background:var(--blue-50)}.pr-readonly{align-items:center;font-size:var(--text-sm);color:var(--ink-700)}.pr-steps{display:grid;grid-gap:10px;gap:10px}.pr-steps li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:14px;border:1px solid var(--line)}.pr-steps li>svg{flex:none;color:var(--ink-400);margin-top:1px}.pr-steps li.is-done{border-color:#bbf7d0;background:#f0fdf4}.pr-steps li.is-done>svg{color:var(--green-600)}.pr-steps li>span{display:grid;grid-gap:2px;gap:2px}.pr-steps b{font-size:var(--text-sm);color:var(--ink-950)}.pr-steps small{font-size:var(--text-xs);color:var(--ink-500)}.pr-steps .pr-step-note{color:#b45309;font-weight:650}.pr-label{display:block;font-size:var(--text-sm);font-weight:650;color:var(--ink-800);margin-bottom:8px}.pr-find{margin:8px 0}.pr-pickers{max-height:220px;overflow-y:auto;padding:2px}.pr-pickers .chip{cursor:pointer}.portal-viewing{display:grid;grid-gap:4px;gap:4px;padding:0 4px}.portal-viewing span{font-size:.6875rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-500);padding-left:4px}.portal-viewing select{min-height:40px;padding:8px 32px 8px 12px;border-radius:12px;border:1px solid var(--line-strong);background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235f6b8c' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:var(--text-sm);font-weight:650;color:var(--ink-900)}.acc-record-groups{display:grid;grid-gap:18px;gap:18px}.acc-record-group{display:grid;grid-gap:10px;gap:10px}.acc-record-group h3{font-size:var(--text-md);display:flex;align-items:center;gap:8px}.acc-record-group h3 small{font-size:var(--text-xs);color:var(--ink-500);background:var(--canvas);border-radius:999px;padding:2px 8px}.acc-date{min-height:40px;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);font-size:var(--text-sm)}