@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_9261b771-module__9gMlNa__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_9261b771-module__9gMlNa__variable{--font-plus-jakarta:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.2qo5md4hn_gum.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.32sris142tqlb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_328e9abe-module__Q65xMG__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_328e9abe-module__Q65xMG__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.1i-sca43-qwng.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.352ti9pm7m6qh.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.0o-3_g79811ob.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.0ngr-xkgqz1kf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.15orukf5wyxb5.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.226pwps5o-gq_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_69b0a650-module__YpXl3W__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_69b0a650-module__YpXl3W__variable{--font-ibm-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.risk-map-panel{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#e8eef3;border-radius:16px;position:relative;overflow:hidden}.risk-map-canvas,.risk-map-skeleton{width:100%;height:min(64vh,620px);min-height:430px;display:block}.risk-map-canvas{z-index:0;font-family:inherit}.risk-map-legend{z-index:500;color:var(--ink-700);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;border:1px solid #fffc;border-radius:12px;gap:.4rem;padding:.7rem .85rem;font-size:.78rem;display:grid;position:absolute;bottom:1rem;left:1rem;box-shadow:0 8px 24px #0f172a29}.risk-map-legend span{align-items:center;gap:.45rem;display:flex}.risk-map-dot{border:2px solid #fff;border-radius:50%;width:.72rem;height:.72rem;box-shadow:0 0 0 1px #0f172a26}.risk-map-dot-red{background:#dc2626}.risk-map-dot-yellow{background:#d97706}.risk-map-dot-green{background:#16a34a}.risk-map-dot-gray{background:#64748b}.risk-map-popup{gap:.4rem;min-width:210px;display:grid}.risk-map-popup strong{color:#301044;font-size:.95rem}.risk-map-popup span{color:#64748b}.risk-map-popup dl{gap:.25rem;margin:.2rem 0 0;display:grid}.risk-map-popup dl div{justify-content:space-between;gap:1rem;display:flex}.risk-map-popup dt{color:#64748b}.risk-map-popup dd{margin:0;font-weight:700}@media (max-width:640px){.risk-map-canvas,.risk-map-skeleton{height:55vh;min-height:360px}.risk-map-legend{grid-template-columns:1fr 1fr;bottom:.7rem;left:.7rem;right:.7rem}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--animate-spin:spin 1s linear infinite;--default-font-family:var(--font-plus-jakarta);--default-mono-font-family:var(--font-mono);--radius-card:var(--radius-card);--radius-control:var(--radius-control);--shadow-card:var(--shadow-card);--shadow-overlay:var(--shadow-overlay)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.animate-spin{animation:var(--animate-spin)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--brand-950:#3b1454;--brand-800:#5e247a;--brand-700:#71308e;--brand-600:#8a3fb0;--brand-200:#e1c6ef;--brand-100:#f3e7f9;--brand-50:#fcf8fe;--gold-600:#b7841a;--gold-100:#f7ebcf;--risk-merah:#d63447;--risk-merah-bg:#fce8ea;--risk-kuning:#8a5b08;--risk-kuning-bg:#fbf1dc;--risk-hijau:#247a47;--risk-hijau-bg:#e7f6ec;--ink-900:#211130;--ink-600:#6b6478;--surface:#fff;--bg-app:#fbf9fd;--border:#e7e1f0;--danger:#b42335;--radius-card:.75rem;--radius-control:.5rem;--shadow-card:0 1px 3px #3b145414, 0 1px 2px #3b14540f;--shadow-overlay:0 8px 24px #3b145429}*{box-sizing:border-box}html{background:var(--bg-app)}body{background:var(--bg-app);color:var(--ink-900);font-family:var(--font-plus-jakarta), sans-serif;margin:0;font-size:.9375rem;line-height:1.6}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}::selection{background:var(--brand-200);color:var(--brand-950)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--brand-600);outline-offset:3px}.display-lg,.display-md{font-family:var(--font-fraunces), serif;letter-spacing:-.025em}.display-lg{font-size:clamp(2.25rem,5vw,2.75rem);font-weight:700;line-height:1.08}.display-md{font-size:1.875rem;font-weight:600;line-height:1.2}.heading-lg{font-size:1.375rem;font-weight:600;line-height:1.35}.heading-sm{font-size:1.125rem;font-weight:600;line-height:1.4}.caption{font-size:.8125rem;font-weight:500}.data{font-family:var(--font-ibm-plex-mono), monospace;font-variant-numeric:tabular-nums}.eyebrow{color:var(--brand-600);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .5rem;font-size:.75rem;font-weight:700}.button{border-radius:var(--radius-control);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;min-height:2.75rem;padding:.625rem 1rem;font-weight:650;transition:background-color .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1);display:inline-flex}.button-primary{background:var(--brand-600);color:#fff}.button-primary:hover{background:var(--brand-700)}.button-secondary{border-color:var(--brand-200);background:var(--surface);color:var(--brand-700)}.button-secondary:hover{background:var(--brand-50)}.button-ghost{color:var(--brand-700);background:0 0}.button-ghost:hover{background:var(--brand-100)}.button-danger{background:var(--danger);color:#fff}.button:disabled{cursor:not-allowed;opacity:.55}.route-placeholder{place-items:center;min-height:100vh;padding:2rem;display:grid}.placeholder-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);width:min(100%,42rem);box-shadow:var(--shadow-card);gap:1.5rem;padding:clamp(1.5rem,4vw,2.5rem);display:grid}.placeholder-mark,.brand-symbol{background:var(--brand-100);width:3rem;height:3rem;color:var(--brand-700);border-radius:999px;place-items:center;display:grid}.placeholder-mark.danger{background:var(--risk-merah-bg);color:var(--risk-merah)}.placeholder-copy,.form-hint{color:var(--ink-600);max-width:36rem;margin:.75rem 0 0}.placeholder-skeleton{gap:.75rem;display:grid}.placeholder-skeleton span,.skeleton-block{background:var(--brand-100);border-radius:999px;height:.75rem;animation:1.5s ease-in-out infinite alternate shimmer;display:block}.placeholder-skeleton span:first-child{width:88%}.placeholder-skeleton span:nth-child(2){width:70%}.placeholder-skeleton span:nth-child(3){width:48%}.skeleton-square{border-radius:var(--radius-control);width:3rem;height:3rem}.login-shell{grid-template-columns:minmax(0,1.1fr) minmax(22rem,.9fr);min-height:100vh;display:grid}.login-intro{background:var(--brand-950);color:#fff;flex-direction:column;justify-content:center;padding:clamp(2rem,7vw,7rem);display:flex}.login-intro .eyebrow{color:var(--brand-200);margin-top:4rem}.login-copy{max-width:38rem;color:var(--brand-200);font-size:1.0625rem}.brand-lockup{align-items:center;gap:.75rem;font-size:1.125rem;font-weight:700;display:flex}.brand-symbol{color:var(--brand-700);background:#fff}.login-panel{background:var(--surface);flex-direction:column;justify-content:center;gap:2rem;padding:clamp(2rem,7vw,6rem);display:flex}.preview-link{color:var(--brand-700);text-underline-offset:.25rem;font-weight:650;text-decoration:underline}.login-message{margin-top:auto}.login-illustration{fill:none;width:min(100%,30rem);stroke:var(--brand-200);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;opacity:.85;margin:auto 0 0}.login-form{gap:1.25rem;display:grid}.field-hint{color:var(--ink-600);font-size:.78rem}.password-control{position:relative}.password-control .control{padding-right:3.25rem}.password-control button,.search-field button{border-radius:var(--radius-control);width:2.75rem;height:2.75rem;color:var(--ink-600);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.password-control svg,.search-field button svg{width:1.15rem}.login-submit{width:100%}.error-summary{border-left:4px solid var(--risk-merah);background:var(--risk-merah-bg);color:#8f1b2b;gap:.2rem;padding:.8rem 1rem;display:grid}.mock-personas{border-top:1px solid var(--border);gap:.35rem;padding-top:1.25rem;display:grid}.mock-personas small{color:var(--ink-600)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--surface);color:var(--brand-800);border-radius:var(--radius-control);box-shadow:var(--shadow-overlay);padding:.75rem 1rem;font-weight:700;position:fixed;top:.5rem;left:.5rem;transform:translateY(-150%)}.skip-link:focus{transform:none}.portal-layout{grid-template-rows:72px minmax(0,1fr);grid-template-columns:264px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s cubic-bezier(.4,0,.2,1);display:grid}.portal-layout.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.portal-sidebar{background:var(--brand-950);color:#fff;flex-direction:column;grid-row:1/-1;height:100vh;padding:1rem .75rem;display:flex;position:sticky;top:0;overflow:hidden}.portal-brand{white-space:nowrap;align-items:center;gap:.75rem;min-height:44px;padding:.5rem .7rem;font-size:1.05rem;font-weight:750;display:flex}.portal-brand svg{color:var(--brand-200);flex:none}.portal-nav{gap:.25rem;margin-top:2rem;display:grid}.portal-nav-link{border-radius:var(--radius-control);color:#e9ddef;white-space:nowrap;align-items:center;gap:.8rem;min-height:44px;padding:.65rem .75rem;display:flex;position:relative}.portal-nav-link:hover{background:#ffffff17}.portal-nav-link.active{background:var(--brand-100);color:var(--brand-950);font-weight:700}.portal-nav-link.active:before{content:"";background:var(--brand-200);border-radius:0 4px 4px 0;width:4px;height:24px;position:absolute;left:-.75rem}.collapse-button{color:#e9ddef;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-top:1px solid #ffffff26;align-items:center;gap:.8rem;min-height:44px;margin-top:auto;padding:1rem .75rem 0;display:flex}.sidebar-collapsed .portal-sidebar{padding-inline:.5rem}.sidebar-collapsed .portal-brand span,.sidebar-collapsed .portal-nav-link span,.sidebar-collapsed .collapse-button span{display:none}.sidebar-collapsed .portal-brand,.sidebar-collapsed .portal-nav-link,.sidebar-collapsed .collapse-button{justify-content:center;padding-inline:.5rem}.sidebar-collapsed .collapse-button svg{transform:rotate(180deg)}.nav-tooltip{z-index:80;background:var(--ink-900);color:#fff;box-shadow:var(--shadow-overlay);border-radius:.35rem;padding:.4rem .6rem;font-size:.8rem}.tooltip-arrow{fill:var(--ink-900)}.portal-topbar{z-index:20;border-bottom:1px solid var(--border);background:#fffffff5;align-items:center;gap:1rem;padding:0 2rem;display:flex;position:sticky;top:0}.topbar-title{min-width:0;margin-right:auto;font-weight:700;display:grid}.topbar-title small{color:var(--ink-600);font-weight:500}.topbar-icon,.mobile-menu-button,.drawer-close{border-radius:var(--radius-control);width:44px;height:44px;color:var(--ink-600);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.topbar-icon:hover,.mobile-menu-button:hover{background:var(--brand-100);color:var(--brand-700)}.topbar-icon svg,.mobile-menu-button svg{width:20px}.mobile-menu-button{display:none}.account-summary{align-items:center;gap:.6rem;display:flex}.account-avatar{background:var(--brand-100);width:34px;height:34px;color:var(--brand-800);border-radius:50%;place-items:center;font-size:.75rem;font-weight:800;display:grid}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:13rem;font-size:.85rem;font-weight:650;overflow:hidden}.role-chip{background:var(--brand-100);color:var(--brand-700);border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700}.logout-button{min-height:44px;color:var(--ink-600);cursor:pointer;background:0 0;border:0;align-items:center;gap:.45rem;display:flex}.logout-button svg{width:18px}.portal-main{width:100%;min-width:0;max-width:1440px;margin-inline:auto;padding:2rem}.breadcrumbs{color:var(--ink-600);text-transform:capitalize;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;font-size:.8rem;display:flex}.breadcrumbs span{gap:.5rem;display:flex}.breadcrumbs a{color:var(--brand-700);text-underline-offset:2px;text-decoration:underline}.drawer-backdrop{z-index:50;background:#2111308c;animation:.18s drawer-fade;position:fixed;inset:0}.mobile-drawer{z-index:60;background:var(--brand-950);color:#fff;width:min(86vw,320px);box-shadow:var(--shadow-overlay);padding:1rem;animation:.18s cubic-bezier(.4,0,.2,1) drawer-in;position:fixed;inset:0 auto 0 0}.drawer-header{justify-content:space-between;align-items:center;display:flex}.drawer-close{color:#fff}.patients-page{gap:1.5rem;display:grid}.page-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:end;gap:1rem;padding-bottom:1.25rem;display:flex}.page-heading h1,.page-heading p{margin-block:0}.page-heading>div>p:last-child{color:var(--ink-600);margin-top:.35rem}.result-count{color:var(--ink-600);white-space:nowrap;font-size:.85rem}.patient-toolbar{align-items:end;gap:1rem;display:flex}.search-field{flex:24rem;position:relative}.search-field>svg{width:18px;color:var(--ink-600);pointer-events:none;position:absolute;top:50%;left:.8rem;transform:translateY(-50%)}.search-field .control{padding-inline:2.5rem 3rem}.filter-field{min-width:12rem}.filter-field label{font-size:.8rem;font-weight:650}.reset-filter{white-space:nowrap}.patient-list{border-top:1px solid var(--border);background:var(--surface)}.patient-row-link{border-bottom:1px solid var(--border);display:block}.patient-row-link:hover{background:var(--brand-50)}.patient-row-link:focus-visible{z-index:1;position:relative}.query-state{border-left:4px solid var(--risk-merah);background:var(--surface);justify-items:start;gap:.75rem;padding:2rem;display:grid}.query-state h2,.query-state p{margin:0}.patients-skeleton{border-top:1px solid var(--border)}.patient-row-skeleton{border-bottom:1px solid var(--border);grid-template-columns:40px minmax(12rem,1.3fr) minmax(12rem,1fr) 8rem;align-items:center;gap:1rem;min-height:76px;padding:.8rem 1rem;display:grid}.patient-row-skeleton>span:nth-child(2){gap:.5rem;display:grid}.patient-row-skeleton i{width:80%}.patient-row-skeleton .short{width:50%}.skeleton-avatar{border-radius:50%;width:32px;height:32px}.pagination{justify-content:flex-end;align-items:center;gap:1rem;display:flex}.pagination svg{width:17px}.detail-page,.dashboard-page,.operations-page,.report-page{gap:1.5rem;display:grid}.patient-hero{border-bottom:1px solid var(--border);align-items:center;gap:1.25rem;padding-bottom:1.25rem;display:flex}.patient-hero h1,.patient-hero p{margin:0}.patient-hero-copy>p:last-child{color:var(--ink-600);margin-top:.35rem}.status-label{background:var(--brand-100);color:var(--brand-700);text-transform:capitalize;border-radius:999px;margin-left:.45rem;padding:.2rem .55rem;font-size:.75rem}.progress-card,.dashboard-panel,.report-section{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);padding:1.25rem}.patient-shortcuts{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.patient-shortcuts a{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.9rem;display:grid}.patient-shortcuts a:hover{border-color:var(--brand-200);background:var(--brand-50)}.patient-shortcuts svg{color:var(--brand-600)}.patient-shortcuts small{color:var(--ink-600);display:block}.clinical-tabs{border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.clinical-tabs button{min-height:44px;color:var(--ink-600);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:.7rem 1rem}.clinical-tabs button[aria-selected=true]{border-color:var(--brand-600);color:var(--brand-800);font-weight:700}.clinical-timeline{gap:1rem;padding-left:1.5rem;display:grid;position:relative}.clinical-timeline:before{content:"";border-left:2px solid var(--brand-200);position:absolute;inset:.5rem auto .5rem .35rem}.timeline-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);padding:1.25rem;position:relative}.timeline-card:before{content:"";border:2px solid var(--brand-600);background:var(--bg-app);border-radius:50%;width:.75rem;height:.75rem;position:absolute;top:1.5rem;left:-1.55rem}.timeline-card>header{justify-content:space-between;gap:1rem;display:flex}.timeline-card time{color:var(--ink-600);font-size:.8rem;display:block}.source-pill,.state-active,.state-paused{border-radius:999px;width:max-content;padding:.2rem .55rem;font-size:.75rem;font-weight:700;display:inline-flex}.source-pill,.state-active{background:var(--brand-100);color:var(--brand-700)}.state-paused{background:var(--gold-100);color:#73500b}.timeline-pills{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.timeline-data,.answer-list,.report-metrics{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;margin:1rem 0 0;display:grid}.timeline-data div,.answer-list div,.report-metrics div{border-left:2px solid var(--brand-200);padding-left:.65rem}.timeline-data dt,.answer-list dt,.report-metrics dt{color:var(--ink-600);text-transform:capitalize;font-size:.75rem}.timeline-data dd,.answer-list dd,.report-metrics dd{font-family:var(--font-ibm-plex-mono),monospace;margin:0;font-weight:650}.clinical-recommendation{border-left:4px solid var(--gold-600);background:var(--gold-100);padding:.75rem 1rem}.panel-error,.empty-inline,.data-warning{border-left:4px solid var(--risk-merah);background:var(--risk-merah-bg);padding:1rem}.panel-error h2,.panel-error p{margin-block:0 .5rem}.empty-inline{border-color:var(--brand-200);background:var(--surface);color:var(--ink-600)}.data-warning{color:#8f1b2b;margin:1rem 0}.detail-skeleton{gap:1rem;display:grid}.skeleton-profile{width:18rem;height:6rem}.skeleton-wide{width:100%;height:7rem}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.stat-grid>a{display:block}.stat-grid>a .stat-card{height:100%}.stat-skeleton{border-radius:var(--radius-card);height:9rem}.dashboard-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:1rem;display:grid}.dashboard-panel>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.dashboard-panel h2,.dashboard-panel p{margin:0}.risk-bar{background:var(--border);border-radius:999px;height:1rem;margin:2rem 0 1.25rem;display:flex;overflow:hidden}.risk-bar i{display:block}.bar-red{background:var(--risk-merah)}.bar-yellow{background:var(--risk-kuning)}.bar-green{background:var(--risk-hijau)}.risk-legend{gap:.7rem;display:grid}.risk-legend div{border-bottom:1px solid var(--border);justify-content:space-between;padding-bottom:.5rem;display:flex}.risk-legend dt{text-transform:capitalize;align-items:center;gap:.5rem;display:flex}.risk-legend dd{font-family:var(--font-ibm-plex-mono),monospace;margin:0}.risk-legend i{border-radius:50%;width:.65rem;height:.65rem}.dot-merah{background:var(--risk-merah)}.dot-kuning{background:var(--risk-kuning)}.dot-hijau{background:var(--risk-hijau)}.attention-panel{padding-bottom:1rem}.attention-panel .patient-row{grid-template-columns:40px minmax(10rem,1fr) auto}.attention-panel .patient-factors{display:none}.text-link{color:var(--brand-700);text-underline-offset:3px;font-weight:700;text-decoration:underline}.attention-panel>.text-link{margin-top:1rem;display:inline-block}.operation-list{gap:.75rem;display:grid}.operation-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem;display:grid}.operation-card>svg,.family-card>svg{color:var(--brand-600)}.operation-card h2,.operation-card time{margin:0;display:block}.operation-card time{color:var(--ink-600)}.notification-table{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);overflow:hidden}.notification-head,.notification-row{border-bottom:1px solid var(--border);grid-template-columns:1.25fr 1fr .8fr 1.25fr;gap:1rem;padding:.8rem 1rem;display:grid}.notification-head{background:var(--brand-50);font-size:.8rem}.notification-row>span{align-items:center;gap:.4rem;display:flex}.notification-row svg{width:17px}.notification-row .sent{color:var(--risk-hijau)}.notification-row .failed{color:var(--risk-merah)}.family-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;display:grid}.family-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);gap:1rem;padding:1.25rem;display:flex}.family-card h2,.family-card p{margin:0}.family-card a{color:var(--brand-700);display:block}.family-card span{background:var(--brand-100);border-radius:999px;margin-top:.7rem;padding:.2rem .6rem;font-size:.75rem;display:inline-block}.report-actions{gap:.5rem;display:flex}.report-summary{grid-template-columns:repeat(4,1fr)}.risk-report-grid,.report-two-column{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.risk-report-grid article{border-left:3px solid var(--brand-200);padding-left:1rem}.risk-report-grid ul{padding-left:1.2rem}.report-two-column{grid-template-columns:repeat(2,1fr)}.map-placeholder{text-align:center;align-content:center;place-items:center;min-height:65vh;display:grid}.map-placeholder svg{fill:none;width:min(100%,25rem);stroke:var(--brand-200);stroke-width:3px}.map-placeholder h1,.map-placeholder p{margin:.25rem}.map-placeholder>p:not(.eyebrow){max-width:35rem;color:var(--ink-600)}.map-placeholder span{background:var(--brand-100);color:var(--brand-700);border-radius:999px;align-items:center;gap:.5rem;margin-top:1rem;padding:.35rem .75rem;display:flex}.admin-patient-row{border-bottom:1px solid var(--border);display:block;position:relative}.admin-patient-row:hover{background:var(--brand-50)}.facility-name{color:var(--ink-600);font-size:.72rem;position:absolute;bottom:.25rem;right:1rem}@keyframes drawer-in{0%{transform:translate(-100%)}}@keyframes drawer-fade{0%{opacity:0}}.control{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);width:100%;min-height:2.75rem;color:var(--ink-900);padding:.625rem .75rem;transition:border-color .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1)}.control:hover{border-color:var(--brand-200)}.control[aria-invalid=true]{border-color:var(--risk-merah);box-shadow:0 0 0 2px var(--risk-merah-bg)}.control:disabled{background:var(--brand-50);color:var(--ink-600);cursor:not-allowed}.textarea{resize:vertical;min-height:7rem}.checkbox{border:1px solid var(--brand-200);background:var(--surface);color:#fff;border-radius:.3rem;flex:none;place-items:center;width:1.25rem;height:1.25rem;display:grid}.checkbox[data-state=checked]{border-color:var(--brand-600);background:var(--brand-600)}.checkbox-label{cursor:pointer;align-items:center;gap:.625rem;display:flex}.badge{white-space:nowrap;border-radius:999px;align-items:center;width:fit-content;min-height:1.75rem;padding:.2rem .625rem;font-size:.8125rem;font-weight:650;display:inline-flex}.badge-brand{background:var(--brand-100);color:var(--brand-700)}.badge-gold{background:var(--gold-100);color:#73500b}.badge-merah{background:var(--risk-merah-bg);color:#a42032}.badge-kuning{background:var(--risk-kuning-bg);color:var(--risk-kuning)}.badge-hijau{background:var(--risk-hijau-bg);color:var(--risk-hijau)}.badge-neutral{border:1px solid var(--border);background:var(--bg-app);color:var(--ink-600)}.avatar-fallback{background:var(--brand-100);width:3rem;height:3rem;color:var(--brand-800);border-radius:999px;place-items:center;font-weight:700;display:grid}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;text-align:left;width:100%}.table th{color:var(--ink-600);font-size:.8125rem;font-weight:650}.table th,.table td{border-bottom:1px solid var(--border);padding:.875rem}.tabs-trigger{color:var(--ink-600);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:.75rem 1rem}.tabs-trigger[data-state=active]{border-color:var(--brand-600);color:var(--brand-700);font-weight:650}.tabs-content{padding:1rem 0}.dialog-overlay{z-index:40;background:#3b14546b;position:fixed;inset:0}.dialog-content{z-index:50;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);width:min(100% - 2rem,31rem);box-shadow:var(--shadow-overlay);gap:1rem;padding:1.5rem;display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.sheet-content{border-radius:0;width:min(90%,25rem);height:100%;top:0;left:auto;right:0;transform:none}.icon-button{border-radius:var(--radius-control);width:2.75rem;height:2.75rem;color:var(--ink-600);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:.75rem;right:.75rem}.icon-button:hover{background:var(--brand-100);color:var(--brand-700)}.popover-content,.menu-content,.select-content{z-index:60;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);box-shadow:var(--shadow-overlay);padding:.5rem}.select-trigger{justify-content:space-between;align-items:center;gap:1rem;min-width:12rem;display:inline-flex}.select-item,.menu-item{cursor:pointer;border-radius:.375rem;outline:none;justify-content:space-between;align-items:center;gap:1rem;min-height:2.5rem;padding:.5rem .75rem;display:flex}.select-item[data-highlighted],.menu-item[data-highlighted]{background:var(--brand-100);color:var(--brand-800)}.playground{width:min(100% - 2rem,75rem);margin:0 auto;padding:4rem 0}.playground>header{margin-bottom:2rem}.playground-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);gap:1rem;margin-top:1rem;padding:1.5rem;display:grid}.playground-card h2,.playground-card p{margin-block:0}.component-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.field{gap:.375rem;display:grid}.field-wide{grid-column:1/-1}.field-error{color:var(--risk-merah);font-size:.8125rem}.command{border:1px solid var(--border);border-radius:var(--radius-control);width:min(100%,20rem);overflow:hidden}.command [cmdk-input]{border:0;border-bottom:1px solid var(--border);outline:none;width:100%;padding:.75rem}.command [cmdk-item],.command [cmdk-empty]{padding:.625rem .75rem}.command [cmdk-item][data-selected=true]{background:var(--brand-100)}.skeleton-demo{width:12rem}.scenario-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;display:grid}@keyframes shimmer{0%{opacity:.45}to{opacity:1}}@media (max-width:767px){.route-placeholder{padding:1rem}.login-shell{grid-template-columns:1fr}.login-intro{min-height:auto;padding:1.5rem}.login-message{margin-top:2.5rem}.login-intro .eyebrow{margin-top:0}.login-illustration{display:none}.login-panel{min-height:auto;padding:2rem 1rem}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.portal-layout,.portal-layout.sidebar-collapsed{padding-top:64px;display:block}.portal-sidebar{display:none}.portal-topbar{gap:.35rem;height:64px;padding:0 .5rem;position:fixed;inset:0 0 auto}.mobile-menu-button{display:grid}.topbar-title small,.account-name,.role-chip,.logout-button span{display:none}.topbar-title{font-size:.82rem}.account-summary{gap:0}.logout-button{justify-content:center;width:44px;padding:0}.portal-main{padding:1rem}.breadcrumbs{margin-bottom:.75rem}.page-heading{flex-direction:column;align-items:start}.patient-toolbar{flex-direction:column;align-items:stretch}.search-field{flex-basis:auto}.filter-field{min-width:0}.reset-filter{width:100%}.patient-list{background:0 0;border:0;gap:.75rem;display:grid}.patient-row-link{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card)}.pagination{flex-wrap:wrap;justify-content:space-between}.pagination span{text-align:center;order:-1;width:100%}.pagination .button{padding-inline:.75rem}.patient-row-skeleton{border:1px solid var(--border);border-radius:var(--radius-card);grid-template-columns:40px 1fr;margin-bottom:.75rem}.patient-row-skeleton>i{grid-column:1/-1}.patient-hero{align-items:flex-start}.patient-shortcuts,.stat-grid,.dashboard-grid,.risk-report-grid,.report-two-column{grid-template-columns:1fr}.patient-shortcuts a{padding:.75rem}.clinical-timeline{padding-left:1.15rem}.timeline-card:before{left:-1.2rem}.timeline-card>header{flex-direction:column}.timeline-pills{justify-content:flex-start}.operation-card{grid-template-columns:auto 1fr}.operation-card .button{grid-column:1/-1}.notification-head{display:none}.notification-row{grid-template-columns:1fr;gap:.45rem;padding:1rem}.report-actions{flex-direction:column;width:100%}.report-actions .button{width:100%}.facility-name{padding:0 1rem .75rem;display:block;position:static}.report-summary{grid-template-columns:1fr}}@media (min-width:768px) and (max-width:1100px){.stat-grid,.report-summary{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media print{.portal-sidebar,.portal-topbar,.breadcrumbs,.report-actions{display:none!important}.portal-layout,.portal-layout.sidebar-collapsed{display:block}.portal-main{max-width:none;padding:0}.report-page{gap:10mm}.report-section,.stat-card{break-inside:avoid;box-shadow:none}.page-heading{break-after:avoid}.report-summary{grid-template-columns:repeat(4,1fr)}@page{size:A4;margin:14mm}}.management-page,.doctor-page{gap:1.5rem;display:grid}.admin-table,.consultation-list{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);display:grid;overflow:hidden}.admin-record{border-bottom:1px solid var(--border);grid-template-columns:minmax(14rem,1.5fr) repeat(3,minmax(8rem,auto));align-items:center;gap:1rem;min-height:72px;padding:.8rem 1rem;display:grid}.admin-record:last-child{border:0}.admin-record small,.consultation-card time{color:var(--ink-600);display:block}.admin-record>div:last-child{gap:.5rem;display:flex}.facility-record{grid-template-columns:minmax(14rem,1.5fr) 8rem 8rem auto}.role-neutral{background:var(--brand-100);width:max-content;color:var(--brand-700);border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.detail-list{gap:.5rem;display:grid}.detail-list div{border-bottom:1px solid var(--border);justify-content:space-between;padding:.5rem 0;display:flex}.detail-list dd{margin:0;font-weight:650}.admin-form{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.admin-form label{text-transform:capitalize;gap:.35rem;display:grid}.admin-form .textarea,.admin-form button{grid-column:1/-1}.dialog-actions,.detail-actions{justify-content:flex-end;gap:.75rem;display:flex}.filter-compact{max-width:18rem}.doctor-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.consultation-card{border-bottom:1px solid var(--border);grid-template-columns:minmax(12rem,1fr) auto auto;align-items:center;gap:1rem;min-height:72px;padding:1rem;display:grid}.consultation-card:hover{background:var(--brand-50)}.status-tabs{border-bottom:1px solid var(--border);display:flex;overflow:auto}.status-tabs button{text-transform:capitalize;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;min-height:44px;padding:.65rem 1rem}.status-tabs button[aria-selected=true]{border-color:var(--brand-600);color:var(--brand-700);font-weight:700}.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.schedule-grid section{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);padding:1rem}.schedule-grid header{text-transform:capitalize;justify-content:space-between;align-items:center;display:flex}.schedule-grid header h2{margin:0}.schedule-grid button{border-radius:var(--radius-control);background:var(--brand-100);min-width:44px;min-height:44px;color:var(--brand-700);cursor:pointer;border:0}.schedule-slot{grid-template-columns:1fr auto 1fr 44px;align-items:center;gap:.4rem;margin-top:.75rem;display:grid}.schedule-slot input{border:1px solid var(--border);border-radius:var(--radius-control);min-width:0;min-height:44px;font-family:var(--font-ibm-plex-mono),monospace;padding:.4rem}.dirty-banner,.waiting-state{border-left:4px solid var(--gold-600);background:var(--gold-100);padding:.8rem 1rem}.disabled-link{pointer-events:none;opacity:.5}.chat-thread{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);flex-direction:column;gap:.75rem;min-height:22rem;max-height:58vh;padding:1rem;display:flex;overflow-y:auto}.chat-bubble{border-radius:var(--radius-card);max-width:min(75%,34rem);padding:.65rem .85rem}.chat-bubble p{margin:0}.chat-bubble time{color:var(--ink-600);margin-top:.25rem;font-size:.68rem;display:block}.chat-bubble.patient{border:1px solid var(--border);background:var(--bg-app);align-self:flex-start}.chat-bubble.doctor{background:var(--brand-100);color:var(--brand-950);align-self:flex-end}.chat-composer{grid-template-columns:1fr auto;align-items:end;gap:.75rem;display:grid}.chat-composer textarea{resize:vertical;min-height:4rem}.select-item,.menu-item{min-height:44px}@media (max-width:767px){.admin-record,.facility-record,.consultation-card{grid-template-columns:1fr;gap:.5rem}.admin-record>div:last-child{flex-wrap:wrap}.admin-form,.doctor-stat-grid,.schedule-grid{grid-template-columns:1fr}.admin-form .textarea,.admin-form button{grid-column:auto}.chat-composer{grid-template-columns:1fr}.chat-composer button{width:100%}.chat-bubble{max-width:90%}}.medical-page,.record-grid,.facility-risk-map{gap:1rem;display:grid}.record-tabs{border-bottom:1px solid var(--border);gap:.4rem;margin-bottom:1.25rem;display:flex;overflow:auto}.record-tabs a{text-transform:capitalize;white-space:nowrap;padding:.75rem 1rem}.record-tabs a.active{border-bottom:3px solid var(--brand-600);font-weight:700}.record-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.record-card,.facility-risk-card,.anc-form{border:1px solid var(--border);border-radius:var(--radius-card);background:#fff;padding:1rem}.record-card header{justify-content:space-between;gap:1rem;display:flex}.record-card time,.record-card small{color:var(--ink-600)}.danger-card{border-left:4px solid var(--risk-merah)}.anc-form{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;display:grid}.anc-form h2{grid-column:1/-1}.anc-form label{gap:.35rem;display:grid}.table-wrap{overflow:auto}.table{border-collapse:collapse;background:#fff;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:.75rem}.notification-list{border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}.notification-row{border-bottom:1px solid var(--border);background:#fff;grid-template-columns:2fr 1fr 2fr;gap:1rem;padding:1rem;display:grid}.notification-row div{display:grid}.facility-risk-card{grid-template-columns:1fr auto;gap:1rem;display:grid}.facility-risk-card dl{gap:1rem;display:flex}.facility-risk-card dl div{text-align:center;display:grid}.facility-risk-card dd{margin:0;font-weight:700}@media (min-width:768px) and (max-width:1024px){.portal-layout{grid-template-columns:72px minmax(0,1fr)}.portal-sidebar{padding-inline:.5rem}.portal-sidebar .portal-brand span,.portal-sidebar .portal-nav-link span,.portal-sidebar .collapse-button span{display:none}.portal-sidebar .portal-brand,.portal-sidebar .portal-nav-link,.portal-sidebar .collapse-button{justify-content:center;padding-inline:.5rem}.portal-main,.portal-topbar{padding-inline:1rem}.account-name{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.placeholder-skeleton span,.skeleton-block{opacity:.7;animation:none}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
.risk-ring{background:var(--brand-50);color:var(--ink-900);border-radius:50%;flex:none;place-items:center;font-size:.68em;font-weight:800;display:inline-grid;position:relative}.risk-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.risk-ring circle{fill:none;stroke-width:3px}.risk-track{stroke:var(--border)}.risk-progress{stroke:currentColor;stroke-linecap:round}.risk-merah{color:var(--risk-merah)}.risk-kuning{color:var(--risk-kuning)}.risk-hijau{color:var(--risk-hijau)}.risk-ring>span{color:var(--ink-900)}.risk-unassessed .risk-progress{stroke:var(--ink-600);stroke-dasharray:3 4}.risk-critical{animation:2.2s ease-in-out infinite riskPulse}.trimester{padding:1.5rem .5rem 2rem}.trimester-legend{color:var(--ink-600);text-align:center;grid-template-columns:repeat(3,1fr);font-size:.75rem;display:grid}.trimester-line{border-top:3px solid var(--brand-100);justify-content:space-between;margin-top:1rem;display:flex;position:relative}.visit-dot{border:2px solid var(--brand-200);width:1.7rem;height:1.7rem;color:var(--ink-600);background:#fff;border-radius:50%;place-items:center;margin-top:-.95rem;font-size:.65rem;font-weight:800;display:grid}.visit-dot.complete{background:var(--brand-600);border-color:var(--brand-600);color:#fff}.week-marker{color:var(--brand-800);white-space:nowrap;font-size:.7rem;position:absolute;top:1.25rem;transform:translate(-50%)}.week-marker:before{content:"";border-left:2px solid var(--gold-600);height:1.1rem;position:absolute;bottom:100%;left:50%}.stat-card{border:1px solid var(--border);box-shadow:var(--shadow-card);background:#fff;border-radius:12px;gap:.2rem;padding:1.25rem;display:grid}.stat-card p,.stat-card span,.stat-card small{color:var(--ink-600);margin:0}.stat-card strong{color:var(--brand-800)}.stat-danger strong{color:var(--risk-merah)}.clinical-chip,.status-pill,.region-badge{border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.75rem;font-weight:650;display:inline-flex}.chip-neutral,.symptom-unassessed,.payment-pending_payment{background:var(--bg-app);color:var(--ink-600);border:1px solid var(--border)}.chip-merah{background:var(--risk-merah-bg);color:#a42032}.chip-kuning{background:var(--risk-kuning-bg);color:var(--risk-kuning)}.chip-hijau,.symptom-assessed,.payment-completed{background:var(--risk-hijau-bg);color:var(--risk-hijau)}.symptom-processing,.payment-ongoing{background:var(--gold-100);color:#73500b}.payment-scheduled,.region-badge{background:var(--brand-100);color:var(--brand-700)}.spin{animation:1s linear infinite spin}.patient-row{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(12rem,1fr) minmax(12rem,1fr) auto;align-items:center;gap:1rem;padding:1rem;display:grid}.patient-main{display:grid}.patient-main span,.patient-checkin{color:var(--ink-600);font-size:.8rem}.patient-factors,.chip-list{flex-wrap:wrap;gap:.4rem;display:flex}.visit-panel{border:1px solid var(--border);box-shadow:var(--shadow-card);background:#fff;border-radius:12px;gap:1.25rem;padding:1.5rem;display:grid}.visit-panel header{align-items:center;gap:1rem;display:flex}.visit-panel h3,.visit-panel p{margin:0}.vitals{grid-template-columns:repeat(4,1fr);gap:.75rem;margin:0;display:grid}.vitals div{border-left:3px solid var(--brand-200);padding-left:.7rem}.vitals dt{color:var(--ink-600);font-size:.75rem}.vitals dd{font-family:var(--font-ibm-plex-mono),monospace;margin:0;font-weight:600}.recommendation{border-left:3px solid var(--risk-merah);background:var(--risk-merah-bg);color:#8f1d2d;gap:.5rem;padding:.8rem;display:flex}.density-compact{gap:.85rem;padding:1rem}.conjunctiva-trigger{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;width:11rem;padding:0;display:grid;overflow:hidden}.conjunctiva-trigger img{object-fit:cover;width:100%;height:6rem}.conjunctiva-trigger span{align-items:center;gap:.4rem;padding:.5rem;display:flex}.medical-disclaimer{max-width:18rem;color:var(--ink-600);display:block}.lightbox{z-index:100;color:#fff;background:#211130e0;place-items:center;padding:2rem;display:grid;position:fixed;inset:0}.lightbox img{border-radius:12px;max-width:min(90vw,50rem);max-height:70vh}.lightbox button{width:3rem;height:3rem;color:var(--ink-900);cursor:pointer;background:#fff;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:1rem;right:1rem}.empty-state{text-align:center;color:var(--ink-600);padding:2rem}.empty-state svg{fill:none;width:10rem;stroke:var(--brand-600);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.empty-state h3{color:var(--ink-900)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes riskPulse{50%{box-shadow:0 0 0 5px var(--risk-merah-bg)}}@media (max-width:767px){.patient-row{grid-template-columns:auto 1fr}.patient-factors,.patient-checkin{grid-column:2}.vitals{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){.risk-critical,.spin{animation:none}}
