:root{--bg: #f4f6f9;--card: #ffffff;--text: #101828;--text-muted: #5b6b82;--primary: #15355c;--primary-hover: #1f4c82;--border: #e4e8ef;--danger: #c1293d;--danger-hover: #a11f30;--accent: #c08a2e;--accent-division: var(--primary);--accent-work: #0e7c74;--accent-department: #b9791c;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 1px rgba(16, 24, 40, .04);--shadow-md: 0 8px 20px -6px rgba(16, 24, 40, .12), 0 2px 6px rgba(16, 24, 40, .06);--shadow-lg: 0 24px 48px -12px rgba(16, 24, 40, .22);font-family:Sarabun,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{letter-spacing:-.01em}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.layout{max-width:960px;margin:0 auto;padding:1.75rem 1.5rem 3rem}.layout--wide{max-width:1200px}.header{position:sticky;top:0;z-index:50;background:var(--card);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);padding:.75rem 1.5rem}.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.75rem;min-width:0}.brand__mark{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex-shrink:0;border-radius:var(--radius-sm);background:linear-gradient(145deg,var(--primary) 0%,var(--primary-hover) 100%);box-shadow:var(--shadow-sm);color:var(--accent)}.brand__mark svg{width:22px;height:22px}.brand__text{display:flex;flex-direction:column;min-width:0;line-height:1.25}.brand__title{font-size:1.05rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand__subtitle{font-size:.78rem;color:var(--text-muted);font-weight:500;letter-spacing:.01em}.pill-nav{display:flex;gap:.25rem;background:#1018280b;padding:.25rem;border-radius:999px;flex-wrap:wrap}.pill-nav--surface{background:var(--card);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.pill-nav__link{padding:.5rem 1.1rem;border-radius:999px;font-size:.9rem;font-weight:500;color:var(--text-muted);transition:background .18s ease,color .18s ease;white-space:nowrap}.pill-nav__link:hover{color:var(--text);background:#1018280f;text-decoration:none}.pill-nav__link.active{background:var(--card);color:var(--primary);box-shadow:var(--shadow-sm);font-weight:600}.pill-nav--surface .pill-nav__link.active{background:#15355c14}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.15rem;border-radius:var(--radius-sm);border:none;font:inherit;font-weight:600;font-size:.92rem;cursor:pointer;background:var(--primary);color:#fff;box-shadow:var(--shadow-sm);transition:background .18s ease,box-shadow .18s ease,transform .06s ease}.btn:hover{background:var(--primary-hover);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(1px)}.btn--outline{background:transparent;color:var(--primary);border:1px solid var(--border);box-shadow:none}.btn--outline:hover{background:#15355c0f;border-color:var(--primary);box-shadow:none}.btn--danger{background:var(--danger)}.btn--danger:hover{background:var(--danger-hover)}.btn--sm{padding:.4rem .8rem;font-size:.85rem}.card{background:var(--card);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:1.5rem;margin-bottom:1.25rem}.card h2{margin:0 0 1rem;font-size:1.1rem;font-weight:700}.form-group{margin-bottom:1.1rem}.form-group label{display:block;margin-bottom:.4rem;font-weight:600;color:var(--text-muted);font-size:.85rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.6rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;background:var(--card);color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.form-group textarea{resize:vertical;min-height:80px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #15355c1f}.staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.25rem}.staff-card{text-align:center;padding:1.25rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}button.staff-card{font:inherit;text-align:center;width:100%;cursor:pointer}.staff-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#15355c2e}.staff-card__photo{width:112px;height:140px;margin:0 auto .75rem;border-radius:var(--radius-sm);background:var(--bg);object-fit:cover;object-position:center 32%;box-shadow:var(--shadow-sm)}.staff-card__name{font-weight:700;margin:0 0 .3rem;font-size:.98rem}.staff-card__role{display:inline-block;font-size:.78rem;font-weight:600;color:var(--primary);background:#15355c14;padding:.2rem .65rem;border-radius:999px;margin:0}.staff-card__phone{font-size:.82rem;color:var(--text-muted);margin:.4rem 0 0}.staff-card__duties-wrap{margin-top:.65rem;text-align:left;padding-top:.65rem;border-top:1px solid var(--border)}.staff-card__duties-label{display:block;font-size:.78rem;color:var(--text-muted);margin-bottom:.25rem}.staff-card__duties{font-size:.85rem;color:var(--text);margin:0;white-space:pre-wrap}.unit-list{display:flex;flex-direction:column;gap:.5rem}.unit-list a{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.1rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-weight:500;transition:border-color .15s ease,background .15s ease,transform .15s ease}.unit-list a:hover{border-color:var(--primary);background:#15355c0a;text-decoration:none;transform:translate(2px)}.division-title{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .6rem}.admin-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.table-wrap{overflow-x:auto;border-radius:var(--radius-sm)}table{width:100%;border-collapse:collapse}th,td{padding:.7rem .85rem;text-align:left;border-bottom:1px solid var(--border)}th{font-weight:700;color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;background:#10182805}tbody tr:hover{background:#10182805}.order-buttons{display:inline-flex;gap:.25rem}.error-msg{color:var(--danger);font-size:.9rem;margin-top:.5rem}.text-muted{color:var(--text-muted)}.page-title{margin:0 0 1.75rem;font-size:1.65rem;font-weight:800;letter-spacing:-.015em}.section-title{display:flex;align-items:center;gap:.6rem;margin:0 0 1.1rem;font-size:1.05rem;font-weight:700;color:var(--text)}.section-title:before{content:"";display:inline-block;width:4px;height:1.1rem;border-radius:3px;background:var(--accent);flex-shrink:0}.executive-section{margin-bottom:2.25rem}.executive-link{display:block;color:inherit;text-decoration:none}.executive-link:hover{text-decoration:none}.executive-cover{border-radius:var(--radius-md);overflow:hidden;margin-bottom:.75rem;background:var(--bg);box-shadow:var(--shadow-sm)}.executive-cover img{width:100%;height:auto;display:block}.executive-hint{margin:0;font-size:.9rem;color:var(--text-muted)}.division-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}.division-card,.unit-card{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1.1rem 1.25rem;text-decoration:none;color:var(--text);background:var(--card);border:1px solid var(--border);border-top:3px solid var(--accent-division);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.division-card:hover,.unit-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);background:var(--card);text-decoration:none}.division-card__name,.unit-card__name{font-weight:600}.division-card__arrow,.unit-card__arrow{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;background:#15355c14;color:var(--accent-division);transition:transform .18s ease,background .18s ease}.division-card:hover .division-card__arrow{transform:translate(3px);background:#15355c24}.unit-card--work{border-top-color:var(--accent-work)}.unit-card--work .unit-card__arrow{background:#0e7c741a;color:var(--accent-work)}.unit-card--work:hover .unit-card__arrow{background:#0e7c742e;transform:translate(3px)}.unit-card--department{border-top-color:var(--accent-department)}.unit-card--department .unit-card__arrow{background:#b9791c1a;color:var(--accent-department)}.unit-card--department:hover .unit-card__arrow{background:#b9791c2e;transform:translate(3px)}.divisions-section,.units-by-division{margin-bottom:2.25rem}.division-group{margin-bottom:1.5rem}.unit-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}.unit-cover{max-width:900px;margin:0 auto 1.5rem}.executive-leader-row{margin-bottom:1.75rem}.staff-card--leader{min-width:280px;cursor:pointer}.staff-card--leader .staff-card__photo{width:160px;height:200px;border-radius:var(--radius-md);object-fit:cover;object-position:center 32%}.executive-grid{max-width:1100px}.executive-grid--rest{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.staff-card--exec{cursor:pointer}.staff-card--exec .staff-card__photo{width:130px;height:162px;border-radius:var(--radius-sm);object-fit:cover;object-position:center 32%}.person-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1018288c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:overlay-fade-in .15s ease}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.person-detail-modal{position:relative;max-width:380px;width:100%;padding:1.75rem;text-align:center;box-shadow:var(--shadow-lg);border:none}.person-detail-close{position:absolute;top:.6rem;right:.6rem;width:2rem;height:2rem;border:none;background:#1018280d;font-size:1.4rem;line-height:1;cursor:pointer;border-radius:999px;color:var(--text-muted);transition:background .15s ease,color .15s ease}.person-detail-close:hover{color:var(--text);background:#1018281a}.person-detail-photo{width:220px;height:275px;border-radius:var(--radius-md);object-fit:cover;object-position:center 32%;margin:0 auto 1.1rem;display:block;box-shadow:var(--shadow-sm)}.person-detail-name{margin:0 0 .3rem;font-size:1.2rem;font-weight:700}.person-detail-role{display:inline-block;color:var(--primary);background:#15355c14;padding:.25rem .75rem;border-radius:999px;font-weight:600;margin:0 0 .9rem;font-size:.85rem}.person-detail-email,.person-detail-phone{margin:.3rem 0;font-size:.95rem}.person-detail-email a{color:var(--primary);text-decoration:none}.person-detail-email a:hover{text-decoration:underline}.deputy-section{margin-bottom:1.75rem}.deputy-block{display:flex;gap:1.5rem;flex-wrap:wrap}.deputy-photo{width:168px;height:210px;object-fit:cover;border-radius:var(--radius-md);flex-shrink:0;box-shadow:var(--shadow-sm)}.deputy-info{flex:1;min-width:200px}.deputy-name{font-size:1.2rem;font-weight:700;margin:0 0 .3rem}.deputy-role{display:inline-block;color:var(--primary);background:#15355c14;padding:.2rem .7rem;border-radius:999px;font-size:.85rem;font-weight:600;margin:0 0 .6rem}.deputy-phone{margin:0 0 .75rem;font-size:.95rem;color:var(--text-muted)}.duties-block{margin-top:1rem}.duties-block h4{margin:0 0 .5rem;font-size:.9rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.duties-text{white-space:pre-wrap;font-size:.92rem;line-height:1.7}.unit-duties{margin-bottom:1.5rem}.unit-duties__list{margin:0;padding-left:1.5rem}.unit-duties__list li{margin-bottom:.6rem;padding-left:.25rem;line-height:1.7}.unit-duties__text p{margin:0 0 .75rem;line-height:1.7;white-space:pre-wrap}.unit-division-badge{display:inline-block;margin:-.75rem 0 1.1rem;font-size:.82rem;font-weight:600;color:var(--primary);background:#15355c14;padding:.25rem .75rem;border-radius:999px}.unit-empty-state{padding:2rem 1.5rem;text-align:center}.unit-empty-state__message{font-size:1.1rem;font-weight:700;margin:0;color:var(--text)}.unit-empty-state__sub{margin:.5rem 0 0;font-size:.95rem;color:var(--text-muted)}.unit-empty-hint{margin:1rem 0 0;font-size:.9rem}.unit-empty-hint a{color:var(--primary);text-decoration:none}.unit-empty-hint a:hover{text-decoration:underline}.child-units{margin-top:1rem}.departments-section{margin-bottom:2.25rem}.department-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.5rem}.department-program{display:flex;flex-direction:column;gap:1.5rem}.program-block{overflow:hidden;padding:0}.program-block__title{margin:0 0 1.1rem;padding:.9rem 1.25rem;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:#fff;font-size:1.1rem;font-weight:700;border-radius:var(--radius-md) var(--radius-md) 0 0}.program-block__body{display:grid;grid-template-columns:1fr 1.5fr;gap:1.5rem;padding:0 1.25rem 1.25rem}@media (max-width: 768px){.program-block__body{grid-template-columns:1fr}}.program-block__image{border-radius:var(--radius-sm);overflow:hidden;background:var(--bg);box-shadow:var(--shadow-sm)}.program-block__image img{width:100%;height:auto;display:block;object-fit:cover}.program-block__text{min-width:0}.program-block__admission{margin:0 0 1rem;padding:0 0 .75rem;font-size:.95rem;color:var(--text-muted);border-bottom:1px solid var(--border)}.program-block__section{margin-bottom:1rem}.program-block__section h4{margin:0 0 .4rem;font-size:.9rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.program-block__content{font-size:.92rem;line-height:1.7;white-space:pre-wrap}.program-block__content ul{margin:.25rem 0 0 1rem;padding:0}@media (max-width: 640px){.layout{padding:1.25rem 1rem 2.5rem}.header{padding:.65rem 1rem}.brand__subtitle{display:none}.pill-nav__link{padding:.45rem .85rem;font-size:.85rem}.division-cards,.unit-cards{grid-template-columns:1fr}.staff-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.executive-grid--rest{grid-template-columns:1fr}.staff-card--leader{min-width:auto}.page-title{font-size:1.35rem}}
