/* PHIMAI HEALTH | ผู้พัฒนาระบบ : นายวิษณุ เสาะสาย | ตำแหน่ง : เจ้าพนักงานธุรการ */
/* Shared tokens: public website, unit websites, account and administration. */
:root{color-scheme:light;--ds-bg:#f4f7fa;--ds-surface:#fff;--ds-soft:#edf5f4;--ds-ink:#18313d;--ds-muted:#536a76;--ds-line:#dce5e9;--ds-brand:#087b80;--ds-brand-hover:#066268;--ds-accent:#2766a8;--ds-danger:#b52e43;--ds-shadow:0 8px 30px #18313d08;--ds-radius:16px;--bs-primary:#087b80;--bs-primary-rgb:8,123,128;--bs-secondary:#2766a8;--bs-secondary-rgb:39,102,168;--bs-body-color:var(--ds-ink);--bs-body-bg:var(--ds-bg);--bs-border-color:var(--ds-line)}
html[data-theme=dark]{color-scheme:dark;--ds-bg:#101d27;--ds-surface:#192b37;--ds-soft:#203944;--ds-ink:#e6f0f3;--ds-muted:#afc2cc;--ds-line:#36505f;--ds-brand:#57cbd0;--ds-brand-hover:#7cdee2;--ds-accent:#8ebcf3;--ds-danger:#ff8e9d;--ds-shadow:0 8px 30px #0002;--bs-primary:#57cbd0;--bs-primary-rgb:87,203,208;--bs-secondary:#8ebcf3;--bs-secondary-rgb:142,188,243}
html{scroll-padding-top:100px}body,body.homepage{background:var(--ds-bg);color:var(--ds-ink);font-size:16px;line-height:1.8}body{--font-heading:var(--font-ui,'Kanit','Sarabun',sans-serif)}h1,h2,h3,h4,h5,h6{color:var(--ds-ink);overflow-wrap:anywhere}h1,.h1{font-size:clamp(1.7rem,2.5vw,2.3rem)}h2,.h2{font-size:clamp(1.4rem,2vw,1.85rem)}h3,.h3{font-size:1.5rem}p{overflow-wrap:anywhere}a{color:var(--ds-brand);text-underline-offset:4px}a:hover{color:var(--ds-brand-hover)}.text-muted,.muted{color:var(--ds-muted)!important}.text-dark,.text-body{color:var(--ds-ink)!important}.text-primary{color:var(--ds-brand)!important}.text-secondary{color:var(--ds-accent)!important}.bg-white,.bg-light{background-color:var(--ds-surface)!important}.bg-primary{background-color:var(--ds-brand)!important}.bg-secondary{background-color:var(--ds-accent)!important}.border,.border-bottom,.border-top,.border-primary{border-color:var(--ds-line)!important}
.card{background:var(--ds-surface);color:var(--ds-ink);border:1px solid var(--ds-line);border-radius:var(--ds-radius);box-shadow:var(--ds-shadow);overflow:hidden}.card-body{padding:24px}.btn{border-radius:10px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;font-weight:500;line-height:1.5;box-shadow:none;white-space:normal;transition:background .15s,border-color .15s}.btn-sm{min-height:36px;padding:6px 11px}.btn-primary,.btn-outline-primary:hover{background:var(--ds-brand);border-color:var(--ds-brand);color:#fff}.btn-primary:hover,.btn-primary:focus{background:var(--ds-brand-hover);border-color:var(--ds-brand-hover);color:#fff}.btn-outline-primary{border-color:var(--ds-brand);color:var(--ds-brand);background:transparent}.btn-light{background:var(--ds-soft);border-color:var(--ds-line);color:var(--ds-ink)}.btn-light:hover{background:var(--ds-line);color:var(--ds-ink)}.btn-outline-danger{color:var(--ds-danger);border-color:var(--ds-danger)}.btn-danger,.btn-outline-danger:hover{background:#ad293f;border-color:#ad293f;color:white}html[data-theme=dark] .btn-primary,html[data-theme=dark] .btn-outline-primary:hover{color:#062a30}.form-label,label{font-weight:500;margin-bottom:8px;color:var(--ds-ink)}.form-control,.form-select{min-height:46px;border:1px solid var(--ds-line);border-radius:10px;background-color:var(--ds-surface);color:var(--ds-ink);padding:10px 13px;box-shadow:none}.form-control::placeholder{color:var(--ds-muted);opacity:1}.form-control:focus,.form-select:focus{color:var(--ds-ink);background:var(--ds-surface);border-color:var(--ds-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--ds-brand) 18%,transparent)}textarea.form-control{min-height:110px;resize:vertical}.form-control:disabled,.form-select:disabled{background:var(--ds-soft)}input[type=file]::file-selector-button{background:var(--ds-soft);color:var(--ds-ink)}.table{color:var(--ds-ink);--bs-table-color:var(--ds-ink);--bs-table-bg:var(--ds-surface);--bs-table-border-color:var(--ds-line);--bs-table-striped-bg:var(--ds-soft);margin:0}.table th{background:var(--ds-soft);color:var(--ds-muted);font-size:14px;font-weight:600;padding:15px 18px;white-space:nowrap}.table td{padding:16px 18px;border-color:var(--ds-line);vertical-align:middle;max-width:520px;overflow-wrap:anywhere}.table tbody tr:hover{background:var(--ds-soft)}.table-responsive{border-radius:14px;border:1px solid var(--ds-line);overflow:auto}.badge{border-radius:7px;padding:6px 9px;font-weight:500}.alert{border-radius:12px;padding:16px 20px;line-height:1.8}.alert-success{background:#e4f4ed;border:1px solid #afd9c6;color:#17533b}.alert-danger{background:#ffedf0;border:1px solid #f0bfca;color:#8f2439}.alert-warning{background:#fff5dc;border:1px solid #e9d59e;color:#735310}.alert-info{background:#e8f3fd;border:1px solid #bed8ef;color:#23567e}html[data-theme=dark] .alert{filter:brightness(.85)}.modal-content,.popover-panel{background:var(--ds-surface);color:var(--ds-ink);border:1px solid var(--ds-line);border-radius:16px}.modal-header,.modal-footer{border-color:var(--ds-line)}html[data-theme=dark] .btn-close{filter:invert(1)}:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--ds-accent);outline-offset:3px}summary{cursor:pointer}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}details>summary::after{content:'⌄';margin-left:8px}.nav-group>summary::after{float:right}.nav-group[open]>summary::after{content:'⌃'}
#systemSidebar{background:#102f3d;border-right:1px solid #244754}.side-link{min-height:46px;font-family:var(--font-ui);font-size:15px;padding:11px 13px;margin:4px 0;color:#d6e8ec!important}.side-link.is-active{background:#1e5663!important;color:white!important;box-shadow:inset 3px 0 #66d1cf}.side-link:hover{background:#1a4552}.nav-group>summary{font-size:12px;font-weight:500;color:#a5c3ce!important;padding:10px 12px}.shell-header{min-height:82px;background:var(--ds-surface);border-color:var(--ds-line);backdrop-filter:none;gap:12px}.header-title{color:var(--ds-ink);font-family:var(--font-ui)}.shell-main>main{max-width:1600px;margin:auto;padding:28px 32px!important}.shell-main>main>nav[aria-label=breadcrumb]{font-size:13px;color:var(--ds-muted);margin-bottom:24px!important}.shell-main>main>nav a{text-decoration:none}.header-search{width:220px}.nav-popover>summary{min-height:44px}.popover-panel{box-shadow:0 16px 50px #0002}.mobile-bottom{background:var(--ds-surface);border-color:var(--ds-line)}.mobile-bottom a{padding:4px;font-weight:500}.nav-badge{background:#ad293f;color:#fff}.footer{border-color:var(--ds-line);color:var(--ds-muted);font-size:14px;background:transparent}.theme-picker{width:104px;min-width:80px;font-size:13px;padding:8px;min-height:42px}.ds-skip{position:fixed;top:8px;left:8px;transform:translateY(-150%);background:var(--ds-surface);color:var(--ds-ink);padding:12px;z-index:2000}.ds-skip:focus{transform:none}.ds-eyebrow{font-family:var(--font-ui);font-size:12px;letter-spacing:.06em;color:var(--ds-brand);font-weight:600}.ds-dialog{width:min(480px,calc(100vw - 32px));padding:0;border:1px solid var(--ds-line);border-radius:20px;background:var(--ds-surface);color:var(--ds-ink);box-shadow:0 28px 90px #0004}.ds-dialog::backdrop{background:#081b2b99;backdrop-filter:blur(3px)}.ds-dialog-body{padding:28px}.ds-dialog h2{font-size:1.45rem;margin:12px 0}.ds-dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}.ds-password{position:relative}.ds-password input{padding-right:70px}.ds-password-toggle{position:absolute;right:8px;top:6px;min-height:34px;border:0;border-radius:7px;background:var(--ds-soft);color:var(--ds-brand);padding:4px 10px;font-size:13px}.login-shell{max-width:490px;margin:40px auto 60px;padding:36px!important;border-top:4px solid var(--ds-brand)}.login-shell h1{font-family:var(--font-ui);font-weight:600;font-size:1.9rem}.login-shell form{margin-top:18px}.login-shell .badge{background:var(--ds-soft)!important;color:var(--ds-brand)!important}.unit-hero{background:var(--ds-soft);border:1px solid var(--ds-line);padding:28px;border-radius:20px}.unit-hero h1{font-family:var(--font-ui);font-weight:600}.unit-banner{border-radius:12px}.unit-post-image{height:220px}.counter{font-family:var(--font-ui);font-weight:600;color:var(--ds-brand)}.prose{max-width:80ch}.article-image{object-fit:contain;background:var(--ds-soft)}
/* Public homepage retains its sections, settings and image behavior. */
body.homepage .topbar{background:#102f3d!important}body.homepage .navbar,body.homepage .navbar.bg-light{background:var(--ds-surface)!important}body.homepage .navbar .navbar-nav .nav-link{color:var(--ds-ink)}body.homepage .navbar-brand .display-6{color:var(--ds-brand)!important}body.homepage .navbar-brand .text-secondary{color:var(--ds-accent)!important}body.homepage .navbar .dropdown-menu{background:var(--ds-surface);border:1px solid var(--ds-line)}body.homepage .dropdown-item{color:var(--ds-ink)}body.homepage .dropdown-item:hover{background:var(--ds-soft)}body.homepage .hero-header{min-height:560px}body.homepage .hero-header h1{font-size:clamp(2rem,4.3vw,4rem);max-width:950px;line-height:1.5}body.homepage .hero-kicker.h1{color:#cfefeb!important}body.homepage .section-heading h2{color:var(--ds-ink)}body.homepage .bg-light{background:var(--ds-soft)!important}body.homepage .service-item,body.homepage .program-item,body.homepage .event-item,body.homepage .blog-item,body.homepage .team-item,body.homepage .testimonial-item{background:var(--ds-surface)!important;color:var(--ds-ink);border-color:var(--ds-line)!important;border-radius:16px;overflow:hidden;box-shadow:var(--ds-shadow)}body.homepage .footer{background:#102f3d!important;color:#d5e5ed}body.homepage .footer p,body.homepage .footer .text-dark,body.homepage .footer h2,body.homepage .footer h3,body.homepage .footer a{color:#d5e5ed!important}body.homepage .footer .bg-light{background:#1b4352!important}body.homepage .copyright{background:#0c2631!important}body.homepage .photo-open{box-shadow:0 0 0 14px #087b8026}body.homepage .back-to-top{min-width:44px}body.homepage .navbar .theme-picker{margin:8px}html[data-theme=dark] body.homepage .text-white{color:#fff!important}body.homepage .btn-border-radius{border-radius:12px}body.homepage .title-border-radius{border-radius:8px}
@media(max-width:1100px){.header-search{width:160px}.header-title{font-size:14px}}@media(max-width:767px){.shell-header{padding:10px!important;flex-wrap:wrap}.header-title{flex:1;min-width:130px}.shell-header .theme-picker{width:85px;margin-left:auto}.shell-main>main{padding:22px 16px!important}.shell-main{padding-bottom:80px}.unit-hero{padding:18px;gap:18px}.login-shell{margin:20px auto;padding:24px!important}.card.p-4{padding:20px!important}.table{min-width:640px}.ds-dialog-body{padding:22px}.header-search{display:none}.shell-header .nav-popover{position:static}.shell-header .popover-panel{top:100%;right:12px}.unit-hero .btn{margin-top:5px}.d-flex.justify-content-between{gap:12px;flex-wrap:wrap}body.homepage .hero-header{min-height:540px}body.homepage .navbar-brand .display-6{font-size:1.6rem}body.homepage .navbar>.btn{font-size:12px;padding:8px}.mobile-bottom a{min-height:40px;display:flex;align-items:center}.ds-password-toggle{min-width:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.h1,.h2,.h3,.h4,.h5,.h6{color:var(--ds-ink)}#sidebarCollapse,#drawerClose{background:transparent;border:0;color:#d6e8ec;min-height:44px}#sidebarCollapse:hover,#drawerClose:hover{background:#1a4552}.btn-secondary{background:var(--ds-accent);border-color:var(--ds-accent);color:white}.btn-secondary:hover{background:#245d97;border-color:#245d97;color:white}html[data-theme=dark] .btn-secondary{color:#122b43}body.homepage .testimonial-carousel{overflow:hidden;min-width:0}body.homepage .testimonial-item .ms-3{min-width:0;overflow-wrap:anywhere}body.homepage .navbar{gap:6px}body.homepage .theme-picker{flex:0 0 100px}@media(max-width:575px){body.homepage .navbar-brand{order:-2;margin-right:auto}body.homepage .navbar-toggler{order:-1}body.homepage .theme-picker{margin:0!important}body.homepage .navbar-collapse{flex-basis:100%}body.homepage .navbar>.btn{margin-right:0!important}}
@media(max-width:575px){.shell-header .header-title{display:none}.shell-header{flex-wrap:nowrap}.shell-header .theme-picker{width:85px;min-width:75px}.shell-header .nav-popover>summary{max-width:110px;font-size:12px}.shell-header .nav-popover>summary[aria-label]{padding:8px;min-width:44px}.shell-header{gap:8px}}
html[data-theme=dark] .bg-primary{background-color:#155c64!important}html[data-theme=dark] .bg-secondary{background-color:#214d78!important}html[data-theme=dark] .badge.bg-light{color:var(--ds-ink)!important}
