/* SASUK PHIMAI · Soft orange & cream · ผู้พัฒนา นายวิษณุ เสาะสาย เจ้าพนักงานธุรการ */
:root{--bs-primary:#0b595b;--bs-primary-rgb:11,89,91;--bs-secondary:#3c5c5d;--bs-secondary-rgb:60,92,93;--bs-body-color:#204546;--bs-body-bg:#cbf3f6;--bs-border-color:#bceaeb;--ink:#204546;--green:#0b595b;--line:#bceaeb;--gov-primary:#0b595b;--gov-bg:#cbf3f6;--gov-text:#204546;--gov-muted:#3c5c5d;--gov-border:#bceaeb;--gov-shadow:0 8px 30px #20454608;color-scheme:light}
body.site-body,body.login-v2{background:#cbf3f6;color:#204546;font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}
body.site-body h1,body.site-body h2,body.site-body h3,body.site-body h4,body.site-body h5{color:#204546;letter-spacing:-.02em}
body.site-body a{color:#0b595b}body.site-body a:hover{color:#104446}
body.site-body .text-secondary,body.site-body .text-muted{color:#3c5c5d!important}
body.site-body .text-primary,body.site-body .text-gov{color:#0b595b!important}
body.site-body .btn{min-height:42px;padding:.65rem 1rem;border-radius:12px;font-size:14px;line-height:1.5}
body.site-body .btn-sm{min-height:36px;padding:.4rem .75rem;font-size:13px}
body.site-body .btn-primary{background:#0b595b;border-color:#0b595b;color:#fff;box-shadow:0 4px 12px #0b595b17}
body.site-body .btn-primary:hover,body.site-body .btn-primary:active{background:#134e50;border-color:#134e50;color:white}
body.site-body .btn-outline-primary{background:#fff;border-color:#578889;color:#115355}
body.site-body .btn-outline-primary:hover{background:#c2e3e5;border-color:#0b595b;color:#104446}
body.site-body .btn-light{background:#cde9e9;border-color:#bceaeb;color:#224344}
body.site-body .btn-outline-danger{color:#a12d3c;border-color:#ddacb4;background:#fff8f8}body.site-body .btn-outline-danger:hover{background:#a12d3c;color:white}
body.site-body :is(a,button,input,select,textarea,summary):focus-visible,body.login-v2 :is(a,button,input,summary):focus-visible{outline:3px solid #2a7e81;outline-offset:3px}
.health-topbar{background:#c3e4e4;color:#244142;border-bottom:1px solid #c7dfe0;font-size:12px}
.status-dot{background:#195557}.health-nav{background:#ffffffed;border-bottom:1px solid #bceaeb;box-shadow:0 5px 22px #21444506;padding:14px 0;backdrop-filter:blur(14px)}
.health-brand strong{color:#204546;font-size:20px}.health-brand small{color:#3c5c5d;font-size:10px;letter-spacing:1.3px}
.health-nav .nav-link{color:#234243;font-size:14px;padding:.65rem .8rem;border-radius:10px}.health-nav .nav-link:hover{background:#cce6e6;color:#0d5759}
.health-nav .dropdown-menu{border-color:#bceaeb;box-shadow:0 12px 36px #20454612}.health-nav .dropdown-item{color:#224344;font-size:14px}.health-nav .dropdown-item:hover{background:#cae5e5;color:#0d5759}
.health-hero{background:radial-gradient(ellipse at 85% 15%,#b9edef 0,transparent 56%),linear-gradient(125deg,#cbe8e8,#cef0f0);color:#204546;padding:64px 0 90px;border-bottom:1px solid #c9dede}
body.site-body .health-hero h1{color:#204546;font-size:clamp(34px,4.1vw,62px);font-weight:500;line-height:1.4}.health-hero h1 span{color:#0b595b}.hero-kicker{color:#254a4c;font-size:12px;letter-spacing:1.3px}.hero-description{color:#375555;font-size:18px;line-height:1.9}.hero-trust{color:#324c4d;font-size:13px}
.health-hero .btn-outline-light{background:white;border-color:#9dc2c4;color:#1d4749}.health-hero .btn-outline-light:hover{background:#cae5e5;border-color:#0b595b;color:#0b595b}
.hero-panel{background:#ffffffd9;border:1px solid #c5e0e2;box-shadow:0 20px 50px #23494a0a;backdrop-filter:blur(8px);border-radius:28px}.hero-panel .small{color:#375555;font-size:11px}.live-pill{background:#c1e4e6;color:#1a4a4c;font-size:12px}.hero-metrics{border-color:#bceaeb}.hero-metrics strong{color:#204546}.hero-metrics small{color:#3c5c5d;font-size:12px}.medical-emblem{background:linear-gradient(135deg,#c1e4e6,#b8edef);border-color:#c7dfe0;box-shadow:0 12px 34px #0b595b12}.medical-emblem i{color:#0b595b}.orbit-ring,.orbit-ring:after{border-color:#6da9aa}.orbit-tag{background:white;color:#204546;border:1px solid #c8dedf;box-shadow:0 6px 20px #21444510}
.quick-access{background:#fff;border-color:#bceaeb;border-radius:22px;box-shadow:0 10px 35px #1f464709}.quick-item strong{font-size:15px;color:#204546}.quick-item small{font-size:12px;color:#3c5c5d}.quick-item:hover{background:#cae7e7}.quick-icon{background:#c6e5e5;color:#0b595b}.quick-arrow{color:#314e4f}
.section-space{padding-block:60px}.section-heading{gap:20px;align-items:center}.section-heading h2{font-size:clamp(24px,2.4vw,32px)}.section-heading p{color:#3c5c5d;font-size:15px}.eyebrow{color:#0b595b;font-size:11px;letter-spacing:1.8px}
.category-pills a{color:#304d4e;border-color:#c9ddde;font-size:13px;background:white}.category-pills a.active{background:#c3e2e4;border-color:#80b2b3;color:#135053;font-weight:700}
.health-news-card{border:1px solid #bceaeb;border-radius:20px;box-shadow:0 5px 20px #22434405}.health-news-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px #1f464710;border-color:#93babc}.health-news-body{padding:22px}.health-news-body h3{font-size:19px;line-height:1.65}.health-news-body h3 a{color:#204546}.health-news-body p{font-size:14px;color:#3c5c5d}.health-news-cover{background:#c3e6e6}.category-label{color:#1e4748;background:#fffffff2;font-size:12px;box-shadow:0 2px 8px #1f46470a}.news-card-footer{font-size:12px;color:#3c5c5d;flex-wrap:wrap;border-color:#c8dfdf}
.cover-placeholder{background:linear-gradient(135deg,#c2e3e6,#bee7e9);color:#264e50}.cover-placeholder span{font-size:11px}
.service-section{background:#c7e9e9;border-color:#c5e1e3}.service-tile{border-color:#c5e1e3;border-radius:18px;box-shadow:0 4px 15px #20454603;color:#204546;font-size:15px}.service-tile:hover{background:#d4eded;border-color:#76aaab}
.staff-banner{background:linear-gradient(115deg,#c3e2e4,#b9ecee);color:#244445;border:1px solid #c6e0e1;box-shadow:0 10px 35px #1f464705}.staff-banner h2{color:#204546!important}.staff-banner .text-white-50{color:#2d4a4b!important}.staff-banner p{font-size:15px}.staff-banner .btn-light{background:white;color:#0b595b;border-color:#8cb4b6}
.health-footer{background:#c8e7e7;color:#2c4b4c;border-top:1px solid #c6e0e1}.health-footer a{color:#254b4d!important;font-size:14px}.health-footer .text-white{color:#204546!important}.health-footer .footer-wordmark{color:#0b595b;font-size:26px}.health-footer .opacity-75{opacity:1!important}.footer-bottom{border-color:#c5e0e2;color:#3c5c5d;font-size:12px}
.page-masthead{background:linear-gradient(120deg,#c8e7e7,#c2eef1);border-bottom:1px solid #bceaeb;padding:42px 0}.page-masthead h1{font-size:clamp(28px,3vw,42px)}.page-masthead p{color:#3c5c5d}
.admin-body .site-main{background:#cbf3f6}.workspace-nav{background:linear-gradient(120deg,#fff,#d1ecec);border-color:#bceaeb;box-shadow:0 5px 20px #20454604}.workspace-nav strong{color:#204546}.admin-card,.stat-card,.admin-sidebar,.search-panel{border:1px solid #bceaeb;border-radius:20px;box-shadow:0 5px 24px #20454604;background:#fff}.stat-card{border-top:3px solid #7cbbbd}.table{font-size:14px;--bs-table-color:#224444;--bs-table-border-color:#c5e0e2}.table th{background:#c8e7e7;color:#284b4c;font-size:13px}.table>:not(caption)>*>*{border-color:#c5e0e2}.table tbody tr:hover td{background:#d1ecec}.form-label{color:#224444;font-size:14px}.form-control,.form-select{color:#204546;background-color:#fff;border-color:#a1c5c7;border-radius:12px;font-size:15px;min-height:44px}.form-control::placeholder{color:#476d6e;opacity:1}.form-control:focus,.form-select:focus{border-color:#2d6b6c;box-shadow:0 0 0 3px #2d6b6c1a;color:#204546}.member-note{font-size:13px;color:#2d4546;background:#cfe3e3;border:1px solid #c7dee0}.badge{font-size:12px;line-height:1.5}.bg-primary-subtle{background:#c2e3e5!important}.bg-success-subtle{background:#c4e4e4!important}.empty-state{background:#d1ecec;color:#3c5c5d;border-color:#93bcbd;font-size:15px}.article-shell{border-color:#bceaeb;box-shadow:0 8px 35px #20454605}.post-content{color:#224444;font-size:17px}.onepage-feed-title a{color:#204546}.onepage-feed-body p{line-height:1.85}
.modal-content{border:1px solid #c6e0e1;box-shadow:0 24px 70px #20454624;color:#204546}.modal-header{background:#cee7e7;border-color:#bceaeb}.modal-backdrop{--bs-backdrop-bg:#204546;--bs-backdrop-opacity:.42}
/* Decorative Three.js backgrounds never intercept controls. */
.site-ambient{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.2}.network-canvas{pointer-events:none}.health-hero .network-canvas{opacity:.25}body.site-body{isolation:isolate}
/* Standalone login keeps the existing form and authentication. */
body.login-v2{background:#cbf3f6}.login-v2 .login-story{background:radial-gradient(at 20% 20%,#c4e1e3,transparent 65%),linear-gradient(135deg,#c8e7e7,#bce9ec);color:#224444;border-right:1px solid #c6e0e1}.login-v2 .office-brand strong{color:#204546;font-weight:500}.login-v2 .office-brand small{color:#3c5c5d;font-size:10px;letter-spacing:1.3px}.login-v2 .office-mark{background:white;border-color:#cadcdd}.login-v2 .story-eyebrow{background:#fff9;color:#214445;border-color:#a0c4c6;font-size:13px}.login-v2 .story-eyebrow>span{background:#195254}.login-v2 .story-main h1{color:#204546}.login-v2 .story-main h1 em,.login-v2 .heading-dot{color:#0b595b}.login-v2 .story-main>p{color:#375555;font-size:17px}.login-v2 .story-note{background:#ffffffb8;border-color:#cadcdd}.login-v2 .story-note strong{color:#224444;font-size:14px}.login-v2 .story-note small{color:#3c5c5d;font-size:12px}.login-v2 .note-icon{background:#c2e3e5;color:#0b595b}.login-v2 .story-footer{color:#3c5c5d;font-size:12px}.login-v2 .story-grid{background-image:linear-gradient(#3e6c6e09 1px,transparent 1px),linear-gradient(90deg,#3e6c6e09 1px,transparent 1px)}.login-v2 .login-workspace{background:#cef0f0}.login-v2 .signin-card{background:white;border:1px solid #bceaeb;border-radius:24px;padding:clamp(22px,3vw,40px);box-shadow:0 12px 45px #21444508}.login-v2 .signin-card h2{color:#204546;font-weight:500}.login-v2 .signin-description{font-size:15px;color:#3c5c5d}.login-v2 .signin-eyebrow{font-size:11px;color:#0b595b}.login-v2 .signin-field label{font-size:14px;color:#224444}.login-v2 .signin-input{border-color:#a1c5c7}.login-v2 .signin-input input{font-size:16px;color:#204546}.login-v2 .signin-input input::placeholder{font-size:14px;color:#476d6e}.login-v2 .signin-input>i,.login-v2 .password-toggle{color:#3c5c5d}.login-v2 .signin-submit{background:#0b595b;border-color:#0b595b;font-size:16px}.login-v2 .signin-submit:hover{background:#134e50}.login-v2 .signin-security{background:#cae7e7;border-color:#c8dedf}.login-v2 .signin-security p,.login-v2 .signin-security strong{color:#2d4445;font-size:12px}.login-v2 .signin-help summary,.login-v2 .signin-help p,.login-v2 .signin-help>a{font-size:13px;color:#2b4546}.login-v2 .back-home{font-size:13px;color:#2f4d4e!important}.login-v2 .workspace-label{font-size:10px;color:#3c5c5d}.login-v2 .workspace-footer{font-size:11px;color:#3c5c5d}.login-v2 .mobile-brand small{font-size:9px;color:#3c5c5d}.login-v2 .network-canvas{opacity:.45}
/* Shared image popup. Native dialog keeps keyboard focus inside. */
.image-popup{padding:0;border:1px solid #c6e0e1;border-radius:22px;width:min(1100px,95vw);max-width:95vw;max-height:94dvh;background:#fff;color:#204546;box-shadow:0 25px 90px #18424355;overflow:auto}.image-popup::backdrop{background:#1c4243b8;backdrop-filter:blur(4px)}.image-popup-header,.image-popup-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:#cfeaea}.image-popup-header h2{font-size:17px!important;margin:0;line-height:1.6;overflow-wrap:anywhere}.image-popup-close{flex-shrink:0}.image-popup-stage{background:#cae7e7;min-height:100px;display:grid;place-items:center}.image-popup-stage img{display:block;width:100%;height:68dvh;object-fit:contain;max-width:100%}.image-popup-footer{flex-wrap:wrap;font-size:13px}.image-popup-error{padding:20px;color:#a12d3c}.image-popup [hidden]{display:none!important}img[data-image-zoom],a[data-image-zoom]{cursor:zoom-in}.image-popup .btn{min-height:40px}
@media(max-width:1199.98px){.health-nav .navbar-collapse{padding-top:16px}.health-nav .navbar-nav{background:#d1ecec;border:1px solid #bceaeb;border-radius:16px;padding:12px;gap:4px}.health-nav .navbar-nav .btn{display:block}.health-brand strong{font-size:18px}.health-brand small{font-size:9px}.sticky-editor{position:static}}
@media(max-width:767.98px){.health-hero{padding:42px 0 65px}.health-hero h1{font-size:36px!important}.hero-description{font-size:16px}.hero-kicker{font-size:10px;letter-spacing:.6px}.hero-panel{padding:20px}.section-space{padding-block:40px}.section-heading{align-items:flex-start;flex-direction:column;gap:16px}.section-heading .btn{max-width:100%;white-space:normal}.health-news-body{padding:18px}.quick-access{padding:12px}.quick-item{gap:9px;padding:8px}.quick-icon{min-width:40px;height:40px;font-size:20px}.quick-item strong{font-size:14px}.quick-item small{font-size:12px}.quick-arrow{display:none}.staff-banner{padding:26px;flex-direction:column;align-items:flex-start}.staff-banner h2{font-size:24px}.workspace-nav{padding:18px}.workspace-nav .btn{min-height:40px}.article-heading,.article-body{padding:24px 20px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-control,.form-select{font-size:16px}.image-popup{border-radius:16px;width:96vw;max-width:96vw}.image-popup-stage img{height:62dvh}.image-popup-header,.image-popup-footer{padding:12px}.image-popup-header h2{font-size:15px!important}.login-v2 .signin-card{padding:24px 20px}.login-v2 .login-workspace{padding-inline:16px}.login-v2 .mobile-brand>span{font-size:15px}.login-v2 .signin-card h2{font-size:30px}.login-v2 .workspace-footer{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body.site-body *,body.login-v2 *{animation:none!important;transition:none!important}}

:root{--theme-primary:#0b595b;--theme-network:#0b595b;}
body .site-scroll-top,body #site-maintenance-notice button{background:var(--theme-primary)!important;border-color:var(--theme-primary)!important;color:#fff!important}body #site-maintenance-notice .maintenance-icon,body .signin-symbol{color:var(--theme-primary)!important;background:#f4f5f7!important}body .footer-bottom .rounded-pill{color:var(--theme-primary)!important;background:#fff!important;border-color:var(--theme-primary)!important}
