.portal-shell{background:radial-gradient(circle at top right,rgba(221,229,220,.58),transparent 34%),var(--warm-white)}.portal-header{box-shadow:0 1px 0 rgba(23,63,53,.03)}.portal-main{width:min(1240px,calc(100% - 32px));padding-top:30px}.portal-hero{padding:6px 2px 2px}.portal-title{font-size:clamp(40px,4.6vw,62px)}.portal-grid{grid-template-columns:252px minmax(0,1fr);gap:22px;align-items:start}.portal-sidebar{position:-webkit-sticky;position:sticky;top:92px;min-height:calc(100vh - 126px);max-height:calc(100vh - 118px);overflow:hidden;border-radius:26px;box-shadow:0 20px 50px rgba(23,63,53,.1)}.portal-nav{overflow-y:auto;overscroll-behavior:contain;padding-right:3px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.24) transparent}.portal-nav::-webkit-scrollbar{width:5px}.portal-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.24);border-radius:999px}.portal-nav button{min-height:43px;transition:background .16s ease,transform .16s ease,color .16s ease}.portal-nav button:hover{background:rgba(255,255,255,.08);transform:translateX(2px)}.portal-nav button.active{box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}.portal-content{gap:18px;min-width:0}.portal-card,.portal-panel,.portal-summary{box-shadow:0 10px 30px rgba(23,63,53,.045)}.portal-summary{padding:26px}.portal-card,.portal-panel{transition:border-color .16s ease,box-shadow .16s ease}.portal-card:hover,.portal-panel:hover{border-color:rgba(23,63,53,.18)}.portal-button{min-height:44px;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.portal-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(23,63,53,.12)}.portal-button:not(:disabled):active{transform:translateY(0)}.portal-field input,.portal-field select,.portal-field textarea{min-height:44px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.portal-field textarea{min-height:96px}.portal-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.portal-record-hero{background:linear-gradient(135deg,var(--sand-soft),rgba(221,229,220,.55))}.portal-record-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-record-stats .portal-stat{font-size:30px}.portal-record-summary{display:grid;grid-gap:0;gap:0}.portal-record-summary>div{padding:11px 0;border-top:1px solid var(--line)}.portal-record-summary>div:first-child{border-top:0;padding-top:0}.portal-record-summary strong{display:block;color:var(--forest);font-size:10px;margin-bottom:4px}.portal-record-summary span{display:block;color:var(--muted);font-size:10px;line-height:1.55;white-space:pre-wrap}.portal-record-summary small{display:block;margin-top:12px;color:var(--muted);font-size:9px}.portal-record-timeline{display:grid;grid-gap:0;gap:0}.portal-record-event{display:grid;grid-template-columns:92px minmax(0,1fr);grid-gap:16px;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.portal-record-event:first-child{border-top:0;padding-top:2px}.portal-record-event>span{font-size:9px;font-weight:800;color:var(--terracotta)}.portal-record-event strong{display:block;font-size:11px;color:var(--forest);margin-bottom:4px}.portal-record-event p{margin:0;font-size:10px;line-height:1.55;color:var(--muted)}.portal-print-footer,.portal-print-report{display:none}@media(max-width:860px){.portal-main{width:min(100% - 24px,760px);padding-top:24px}.portal-grid{grid-template-columns:1fr;gap:14px}.portal-sidebar{position:-webkit-sticky;position:sticky;top:76px;z-index:24;min-height:0;max-height:none;overflow:hidden;padding:10px;border-radius:18px;box-shadow:0 10px 26px rgba(23,63,53,.12)}.portal-side-logo,.portal-side-note{display:none}.portal-nav{display:flex;grid-template-columns:none;gap:6px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;overscroll-behavior-x:contain;touch-action:pan-x;padding:1px 14px 6px 1px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.portal-nav::-webkit-scrollbar{height:3px;width:auto}.portal-nav button{flex:0 0 auto;white-space:nowrap;min-height:38px;padding:9px 12px;scroll-snap-align:start}.portal-nav button:last-child{margin-right:16px}.portal-record-stats,.portal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-summary{padding:20px;border-radius:20px}.portal-summary h2{font-size:32px}.portal-panel{padding:18px;border-radius:19px}}@media(max-width:580px){.portal-header-inner{width:calc(100% - 20px);min-height:64px}.portal-main{width:calc(100% - 20px);padding:20px 0 48px}.portal-title{font-size:clamp(34px,10vw,46px);line-height:.98}.portal-lead{font-size:12px;line-height:1.6}.portal-sidebar{top:68px;padding:8px;border-radius:16px}.portal-nav button{font-size:10px;padding:8px 10px;min-height:36px}.portal-stats{grid-template-columns:1fr}.portal-record-stats{grid-template-columns:1fr 1fr}.portal-record-stats .portal-stat{font-size:25px}.portal-record-event{grid-template-columns:72px minmax(0,1fr);gap:10px}.portal-summary{align-items:flex-start}.portal-summary h2{font-size:29px}.portal-avatar{width:50px;height:50px;font-size:20px;flex:0 0 auto}.portal-card,.portal-panel{padding:16px;border-radius:17px}.portal-panel-head{align-items:flex-start}.portal-panel-head h3{font-size:24px}.portal-chip{font-size:7px;white-space:nowrap}.portal-row{grid-template-columns:58px minmax(0,1fr) auto;gap:9px}.portal-table{min-width:620px}.portal-actions{gap:6px}.portal-button{min-height:41px;padding:0 14px;font-size:10px}}@media(max-width:390px){.portal-header-inner,.portal-main{width:calc(100% - 16px)}.portal-logo{width:148px}.portal-sidebar{top:66px}.portal-summary{gap:10px}.portal-avatar{width:44px;height:44px;font-size:18px}.portal-record-stats{grid-template-columns:1fr}}@media print{@page{size:A4;margin:13mm}body{background:#fff!important;color:#1f2f2a!important}body *{visibility:hidden!important}.portal-record-print-scope,.portal-record-print-scope *{visibility:visible!important}.portal-record-print-scope{position:absolute!important;left:0;top:0;width:100%!important;display:block!important;background:#fff!important}.no-print,.portal-header,.portal-hero,.portal-sidebar{display:none!important}.portal-print-footer,.portal-print-report{display:block!important}.portal-print-header{display:flex!important;align-items:center;justify-content:space-between;gap:18px;padding-bottom:12px;border-bottom:2px solid #173f35;margin-bottom:14px}.portal-print-header img{width:170px;height:auto}.portal-print-header>div{display:grid;grid-gap:4px;gap:4px;text-align:right}.portal-print-header strong{font-size:12px;color:#173f35}.portal-print-header span{font-size:8px;color:#66736f}.portal-print-patient{display:grid;grid-gap:5px;gap:5px;padding:12px;background:#f4f2eb;border-radius:10px;margin-bottom:14px}.portal-print-patient strong{font-size:18px;color:#173f35}.portal-print-patient span{font-size:8px;line-height:1.45;color:#66736f}.portal-record-print-scope .portal-stats,.portal-record-print-scope .portal-two{display:grid!important;grid-template-columns:1fr 1fr!important;grid-gap:9px!important;gap:9px!important}.portal-record-print-scope .portal-stats{grid-template-columns:repeat(4,1fr)!important}.portal-record-print-scope .portal-card,.portal-record-print-scope .portal-panel{box-shadow:none!important;border:1px solid #d7ddd9!important;border-radius:10px!important;padding:11px!important;background:#fff!important;break-inside:avoid;page-break-inside:avoid}.portal-record-print-scope .portal-panel-head h3{font-size:13px!important;line-height:1.2;color:#173f35!important}.portal-record-print-scope .portal-chip{font-size:7px!important}.portal-record-print-scope .portal-stat{font-size:21px!important;color:#173f35!important}.portal-record-print-scope .portal-label{font-size:7px!important}.portal-record-print-scope p,.portal-record-print-scope span{font-size:8px!important;line-height:1.45!important}.portal-record-summary strong{font-size:8px!important}.portal-record-summary>div{padding:7px 0!important}.portal-record-event{grid-template-columns:70px 1fr!important;padding:8px 0!important;gap:9px!important}.portal-record-event p,.portal-record-event strong{font-size:8px!important}.portal-print-footer{margin-top:14px;padding-top:8px;border-top:1px solid #d7ddd9}.portal-print-footer p{margin:2px 0;color:#66736f!important;font-size:7px!important}}