:root{--ehr-primary:#0c5da3;--ehr-gold:#f2c65a;--ehr-canvas:#f4f7fb}
.fi-body{background:var(--ehr-canvas)}
@font-face{font-family:"Noto Sans Lao";src:url('/fonts/NotoSansLao.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
.fi-body{font-family:Inter,"Noto Sans Lao",ui-sans-serif,system-ui,sans-serif}

.ehr-resource-hero,.ehr-workspace{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) 204px;align-items:center;gap:12px;overflow:hidden;border:1px solid #89caff52;border-radius:22px;color:#fff;background:radial-gradient(circle at 82% 16%,#62c5ff33,transparent 38%),linear-gradient(120deg,#0b4c87,#0c6bb2 58%,#228fd1);box-shadow:0 8px 26px #163b5c12}
.ehr-resource-hero{min-height:144px;padding:16px 22px}
.ehr-resource-hero__copy,.ehr-workspace__content{position:relative;z-index:2;min-width:0}
.ehr-resource-hero .fi-header{display:block}
.ehr-resource-hero .fi-header>div:last-child{display:none}
.ehr-resource-hero .fi-header-heading{color:#fff;font-size:clamp(22px,2.2vw,28px);line-height:1.3;font-weight:750}
.ehr-resource-hero .fi-header-subheading{max-width:620px;color:#cce9fc;font-size:12px;line-height:1.9;margin-top:5px}
.ehr-resource-hero .fi-breadcrumbs-item-label{color:#cce9fc;font-size:11px}
.ehr-resource-hero .fi-breadcrumbs-item-separator{color:#9bd0ef}
.ehr-resource-hero__actions{margin-top:10px}
.ehr-resource-hero .fi-btn-color-primary{color:#173653;background:linear-gradient(105deg,#fff0b0,#f2c65a);box-shadow:0 6px 16px #002b5930;--tw-ring-color:#ffec98}
.ehr-resource-hero .fi-btn-color-primary .fi-btn-icon{color:#173653}
.ehr-resource-hero .fi-btn:focus-visible{outline:3px solid #8bd7fc;outline-offset:4px}
.ehr-resource-hero__art,.ehr-workspace__art{position:relative;z-index:2;min-width:0;pointer-events:none}
.ehr-resource-hero__art{height:120px}.ehr-resource-hero__art img,.ehr-workspace__art img{display:block;width:100%;height:100%;object-fit:contain;animation:none}
.ehr-workspace{min-height:176px;padding:20px 24px;grid-template-columns:minmax(0,1fr) 248px}
.ehr-workspace h1{max-width:680px;color:#fff;font-size:clamp(24px,2.5vw,32px);line-height:1.3;letter-spacing:-.035em;font-weight:750;overflow-wrap:anywhere}
.ehr-workspace p{margin-top:8px;font-size:13px;color:#cce9fc}
.ehr-workspace__art{height:144px}
:is(.fi-resource-provinces,.fi-resource-districts,.fi-resource-admins) :is(.fi-ta-ctn,.fi-section){border-radius:18px;box-shadow:0 7px 22px #09315208}
:is(.fi-resource-provinces,.fi-resource-districts,.fi-resource-admins) .fi-section-header-heading{color:#174974}
:is(.fi-resource-provinces,.fi-resource-districts,.fi-resource-admins) .fi-ta-header-cell{color:#395c7a}
@media(max-width:760px){.ehr-resource-hero,.ehr-workspace{grid-template-columns:minmax(0,1fr) 116px;gap:10px;min-height:128px;padding:14px 16px;border-radius:18px}.ehr-resource-hero .fi-header-heading,.ehr-workspace h1{font-size:22px;line-height:1.3}.ehr-resource-hero .fi-header-subheading,.ehr-workspace p{font-size:12px}.ehr-resource-hero__art,.ehr-workspace__art{justify-self:end;width:116px;height:88px}.ehr-resource-hero__actions{margin-top:10px}}
@media(max-width:360px){.ehr-resource-hero,.ehr-workspace{grid-template-columns:minmax(0,1fr) 96px;gap:8px;padding:14px}.ehr-resource-hero__art,.ehr-workspace__art{width:96px;height:80px}.ehr-resource-hero .fi-header-heading,.ehr-workspace h1{font-size:20px}}
@media(prefers-reduced-motion:reduce){.ehr-resource-hero__art img,.ehr-workspace__art img{animation:none}}
/* Native Filament theme state owns the dark-mode preference, including system mode. */
html{color-scheme:light}
html.dark{color-scheme:dark;--ehr-canvas:#0b1525}
.dark .ehr-resource-hero,.dark .ehr-workspace{border-color:#4688b755;background:radial-gradient(circle at 82% 16%,#389ac526,transparent 38%),linear-gradient(120deg,#0c3456,#15527f 58%,#1a6895);box-shadow:0 8px 26px #00000012}
.dark :is(.fi-resource-provinces,.fi-resource-districts,.fi-resource-admins) .fi-section-header-heading{color:#deedfa}
.dark :is(.fi-resource-provinces,.fi-resource-districts,.fi-resource-admins) .fi-ta-header-cell{color:#b8cfe1}
.dark :is(.fi-resource-provinces,.fi-resource-districts,.fi-resource-admins) :is(.fi-ta-ctn,.fi-section){box-shadow:0 7px 22px #00000016}

/* Fine blue/gold travelling light stays behind banner text and artwork. */
.ehr-banner-trails{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.ehr-banner-trails path{vector-effect:non-scaling-stroke}
.ehr-banner-trail-track{stroke:#72a2bf;stroke-opacity:.12;stroke-width:.7}
.ehr-banner-trail{stroke:url(#ehr-banner-trail-gradient);stroke-linecap:round;stroke-width:1.2;stroke-dasharray:2 98;animation:ehr-banner-travel 22s linear infinite}
.ehr-banner-trail--glow{stroke-width:5;opacity:.12;animation-name:ehr-banner-travel-glow}
.ehr-banner-trail--second{animation-duration:27s;animation-delay:-11s}
.dark .ehr-banner-trail-track{stroke:#b5d9ed;stroke-opacity:.1}
.dark .ehr-banner-trail{stroke-width:1.1}
.dark .ehr-banner-trail--glow{stroke-width:5}
@keyframes ehr-banner-travel{0%{stroke-dashoffset:100;opacity:0}8%,88%{opacity:.8}100%{stroke-dashoffset:0;opacity:0}}
@keyframes ehr-banner-travel-glow{0%{stroke-dashoffset:100;opacity:0}8%,88%{opacity:.1}100%{stroke-dashoffset:0;opacity:0}}
@media(prefers-reduced-motion:reduce){.ehr-banner-trail{animation:none;stroke-dashoffset:42;opacity:.4}.ehr-banner-trail--glow{opacity:.06}}

/* Reserve the completed greeting's space so typing never changes banner height. */
.ehr-typewriter{display:inline-grid;max-width:100%;font:inherit;letter-spacing:inherit;line-height:inherit}
.ehr-typewriter__reserve,.ehr-typewriter__render{grid-area:1/1;min-width:0;overflow-wrap:anywhere}
.ehr-typewriter__reserve{visibility:hidden}

/* Keep the group at the right; enlarge the SVG while its transparent margins tuck into the banner padding. */
@media(min-width:1280px){
 .ehr-workspace{grid-template-columns:minmax(0,1fr) 320px}
 .ehr-resource-hero{grid-template-columns:minmax(0,1fr) 280px}
 .ehr-workspace__art,.ehr-resource-hero__art{position:relative}
 .ehr-workspace__art img,.ehr-resource-hero__art img{position:absolute;top:50%;left:0;width:100%;height:auto;transform:translateY(calc(-50% + 2px))}
}

/* Shared navy palette: native Filament grays and custom surfaces use one hue family. */
html.dark{--gray-50:244,248,252;--gray-100:231,239,247;--gray-200:202,218,233;--gray-300:168,191,211;--gray-400:123,153,180;--gray-500:89,119,148;--gray-600:61,87,114;--gray-700:40,62,86;--gray-800:24,42,63;--gray-900:15,29,47;--gray-950:8,19,34;--ehr-canvas:#081322;--ehr-surface:#0f1d2f;--ehr-surface-raised:#182a3f;--ehr-border:#2b435c;--ehr-text:#e7eff7;--ehr-muted:#a8bfd3}
html.dark .fi-body{background:var(--ehr-canvas);color:var(--ehr-text)}
html.dark .fi-topbar nav,html.dark .fi-sidebar-header{background:var(--ehr-surface);border-color:var(--ehr-border)}
html.dark :is(.fi-section,.fi-ta-ctn,.fi-dropdown-panel,.fi-modal-window){background:var(--ehr-surface);--tw-ring-color:#2b435c80}
html.dark .fi-input-wrp{background:#0a192b;--tw-ring-color:var(--ehr-border)}
html.dark .fi-input-wrp:focus-within{--tw-ring-color:#62b9ee}
html.dark .ehr-resource-hero,html.dark .ehr-workspace{background:radial-gradient(circle at 82% 16%,#6ac4f222,transparent 38%),linear-gradient(120deg,#153b59,#1b527a 58%,#205f87);border-color:#528ab15c}
html.dark .ehr-workspace p,html.dark .ehr-resource-hero .fi-header-subheading,html.dark .ehr-resource-hero .fi-breadcrumbs-item-label{color:#c4dceb}

/* Source entrance adapted to the requested slower, softer navigation rhythm. */
.fi-page{animation:ehr-page-enter .9s cubic-bezier(.2,.65,.3,1) backwards}
.fi-page.ehr-page-leaving{animation:ehr-page-leave .32s ease-in-out forwards}
@keyframes ehr-page-enter{from{opacity:0;transform:translateY(14px) scale(.995)}to{opacity:1;transform:none}}
@keyframes ehr-page-leave{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-8px) scale(.995)}}
@media(prefers-reduced-motion:reduce){.fi-page,.fi-page.ehr-page-leaving{animation:none!important;opacity:1;transform:none}}

/* Login-family grid watermark fades away before the left-hand copy. */
.ehr-workspace::before,.ehr-resource-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(#c5edff 1px,transparent 1px),linear-gradient(90deg,#c5edff 1px,transparent 1px);background-size:31px 31px;opacity:.19;-webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 48%,#0004 65%,#000 92%);mask-image:linear-gradient(90deg,transparent 0%,transparent 48%,#0004 65%,#000 92%)}
html.dark .ehr-workspace::before,html.dark .ehr-resource-hero::before{opacity:.15}

/* Balanced grid-aligned circuit light, confined to the illustration side. */
.ehr-banner-circuit{opacity:.82;--ehr-circuit-beam:clamp(90px,14vw,180px);position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 48%,#0004 65%,#000 92%);mask-image:linear-gradient(90deg,transparent 0%,transparent 48%,#0004 65%,#000 92%)}
.ehr-banner-circuit__scan{position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,#f0fdff 0 1.5px,#7aefff99 2px,transparent 4px),linear-gradient(#a9f4ff 1px,transparent 1px),linear-gradient(90deg,#a9f4ff 1px,transparent 1px);background-size:31px 31px;filter:drop-shadow(0 0 2px #44dfffaa);-webkit-mask-image:radial-gradient(ellipse closest-side,#000 25%,transparent 100%);mask-image:radial-gradient(ellipse closest-side,#000 25%,transparent 100%);-webkit-mask-size:190px 140px;mask-size:190px 140px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;animation:ehr-circuit-scan 10s ease-in-out -3s infinite}
.ehr-banner-circuit__row{position:absolute;top:62px;left:48%;width:52%;height:2px;background:linear-gradient(90deg,transparent,#38ddff 28%,#b7f8ff 65%,#fff 88%,transparent);background-size:var(--ehr-circuit-beam) 2px;background-repeat:no-repeat;filter:drop-shadow(0 0 2px #59e7ffcc);animation:ehr-circuit-row 8.5s linear -2.5s infinite}
.ehr-banner-circuit__row--second{top:124px;background-image:linear-gradient(90deg,transparent,#62e7ff 28%,#dcfaff 65%,#ffe7ae 88%,transparent);filter:drop-shadow(0 0 2px #9eeeffbb);animation-duration:11s;animation-delay:-7.4s}
.ehr-banner-circuit__row--third{top:93px;background-image:linear-gradient(270deg,transparent,#38ddff 28%,#b7f8ff 65%,#fff 88%,transparent);animation-name:ehr-circuit-row-reverse;animation-duration:13s;animation-delay:-4.8s}
@keyframes ehr-circuit-scan{0%,100%{-webkit-mask-position:58% 0%;mask-position:58% 0%;opacity:.75}25%{-webkit-mask-position:74% 100%;mask-position:74% 100%;opacity:1}50%{-webkit-mask-position:100% 10%;mask-position:100% 10%;opacity:.9}75%{-webkit-mask-position:86% 90%;mask-position:86% 90%;opacity:1}}
@keyframes ehr-circuit-row{from{background-position:calc(-1 * var(--ehr-circuit-beam)) 0;opacity:1}to{background-position:calc(100% + var(--ehr-circuit-beam)) 0;opacity:1}}
@keyframes ehr-circuit-row-reverse{from{background-position:calc(100% + var(--ehr-circuit-beam)) 0;opacity:1}to{background-position:calc(-1 * var(--ehr-circuit-beam)) 0;opacity:1}}
@media(max-width:760px){.ehr-banner-circuit__scan{-webkit-mask-size:124px 100px;mask-size:124px 100px}}
@media(prefers-reduced-motion:reduce){.ehr-banner-circuit{display:none}.ehr-banner-circuit__scan,.ehr-banner-circuit__row{animation:none}}
