:root{--accent:#e07b1a;--accent-d:#b85f0c;--focus:rgba(224,123,26,.25);--input-border:#e0d2c4;--bg:#fff5ee;--panel:#fff;--text:#2b2b2b;--muted:#6b6b6b;--line:#e8dccf;--tab:#f3e4d6}
@media(prefers-color-scheme:dark){:root.auto{--bg:#1d1a17;--panel:#2a2622;--text:#eee;--muted:#aaa;--line:#443d36;--tab:#35302b}}
*{box-sizing:border-box}
body{margin:0;font-family:"Sarabun","Noto Sans Thai",Tahoma,sans-serif;font-size:16px;line-height:1.6;background:var(--bg);color:var(--text)}
a{color:var(--accent-d);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.site-head{background:#fff;border-bottom:3px solid var(--accent)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{font-weight:700;color:var(--accent);font-size:1.15rem}
.tabs{display:flex;flex-wrap:wrap;gap:2px;margin:28px 0 0;padding:0;list-style:none}
.tabs button{border:0;background:var(--tab);padding:12px 20px;font:inherit;font-weight:600;cursor:pointer;color:var(--text)}
.tabs button[aria-selected=true]{background:var(--panel);color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}
.panel{background:var(--panel);padding:20px 24px;border:1px solid var(--line)}
.panel[hidden]{display:none}
.news-list{list-style:none;margin:0;padding:0}
.news-list li{padding:7px 0;border-bottom:1px dashed var(--line);display:flex;gap:10px;justify-content:space-between}
.news-list li:before{content:"»";color:var(--accent)}
.news-list a{flex:1}
.news-list time{color:var(--muted);font-size:.85rem;white-space:nowrap}
.more{display:inline-block;margin-top:14px;font-weight:700;color:var(--accent)}
.empty{color:var(--muted)}
.new-badge{display:inline-block;margin-left:6px;padding:0 6px;border-radius:3px;background:#d32f2f;color:#fff;font-size:.7rem;font-weight:700;line-height:1.5;vertical-align:middle;animation:new-blink 1.2s steps(2,start) infinite}
.new-badge-img{margin-left:6px;vertical-align:middle;height:1em}
@keyframes new-blink{to{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.new-badge{animation:none}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
h1{font-size:1.6rem;margin:.2em 0 .5em}
.meta{color:var(--muted);font-size:.9rem;margin-bottom:16px}
.article{background:var(--panel);padding:24px;border:1px solid var(--line);margin:24px 0}
.article img{max-width:100%;height:auto}
.article table{max-width:100%;border-collapse:collapse}
.files{margin-top:20px;padding-top:12px;border-top:1px solid var(--line)}
.files img{max-width:100%;margin:8px 0;display:block}
.author{color:var(--muted);margin:-.3em 0 1em}
.file-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.file-btn small{opacity:.8;font-size:.75em;margin-left:4px}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}
.share .btn{padding:6px 14px}
.share .share-fb{background:#1877f2}.share .share-fb:hover{background:#0f5fc7}
.share .share-line{background:#06a447}.share .share-line:hover{background:#058a3c}
.share .share-x{background:#111}.share .share-x:hover{background:#333}
.pager{margin:20px 0;display:flex;gap:6px;flex-wrap:wrap}
.pager a,.pager span{padding:5px 12px;border:1px solid var(--line);background:var(--panel)}
.pager .active{background:var(--accent);color:#fff;border-color:var(--accent)}
footer{color:var(--muted);text-align:center;padding:30px 0;font-size:.85rem}
/* admin */
.admin-nav{background:#3a2a1c;color:#fff}
.admin-nav .wrap{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;min-height:50px;padding-top:8px;padding-bottom:8px}
.admin-nav a,.admin-nav button{color:#fff;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.admin-nav a,.admin-nav button,.admin-nav span,.admin-nav strong{white-space:nowrap}
.admin-nav .user{color:#e8d9cb}
.admin-nav .sp{flex:1}
@media(max-width:640px){.admin-nav .sp{flex-basis:100%;height:0}}
table.t{width:100%;border-collapse:collapse;background:var(--panel)}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.table-wrap table.t{min-width:720px}
.t th,.t td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.t th{background:var(--tab)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:42px;background:var(--accent);color:#fff;border:0;padding:8px 18px;font:inherit;font-weight:600;cursor:pointer;border-radius:8px;transition:background-color .15s}
.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus)}
.btn:hover{background:var(--accent-d);text-decoration:none}
.btn.sec{background:#777}.btn.danger{background:#b3261e}
.btn.sm{min-height:32px;padding:4px 12px;font-size:.9rem}
form.f label{display:block;margin:16px 0 6px;font-weight:600}
form.f label.check{display:flex;align-items:center;gap:8px;font-weight:400}
/* ช่องกรอกข้อมูล: ใช้ทั้งระบบ */
.input,form.f input[type=text],form.f input[type=date],form.f input[type=datetime-local],form.f select,form.f textarea{
  display:block;width:100%;min-height:42px;padding:9px 14px;font:inherit;color:var(--text);background:#fff;
  border:1px solid var(--input-border);border-radius:8px;box-shadow:inset 0 1px 2px rgba(0,0,0,.04);
  transition:border-color .15s,box-shadow .15s}
.input::placeholder,form.f input::placeholder,form.f textarea::placeholder{color:#a0948a}
.input:hover,form.f input:hover,form.f select:hover,form.f textarea:hover{border-color:#cdb9a6}
.input:focus,form.f input:focus,form.f select:focus,form.f textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}
select.input,form.f select{appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23b85f0c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center}
input[type=search].input{padding-left:40px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ccircle cx='7' cy='7' r='5.25' fill='none' stroke='%23a0948a' stroke-width='1.6'/%3E%3Cpath d='M11 11l3.5 3.5' stroke='%23a0948a' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 14px center}
input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}
input[type=file]{font:inherit}
input[type=file]::file-selector-button{font:inherit;margin-right:12px;padding:8px 14px;border:1px solid var(--input-border);border-radius:8px;background:var(--tab);cursor:pointer}
/* แถบค้นหา/กรอง: ช่องกรอกขยายเต็ม ปุ่มชิดขวา, ขึ้นบรรทัดใหม่บนจอแคบ */
.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px}
.toolbar .input{width:auto;flex:1 1 240px}
.toolbar select.input{flex:0 1 260px}
.toolbar .check{display:flex;align-items:center;gap:8px;white-space:nowrap}
.flash{padding:10px 14px;margin:16px 0;border-left:4px solid #2e7d32;background:#e8f5e9;color:#1b5e20}
.err{border-left-color:#b3261e;background:#fdecea;color:#7a1712}
.badge{padding:1px 8px;border-radius:10px;font-size:.8rem;background:var(--tab);white-space:nowrap}
.badge.on{background:#c8e6c9}.badge.off{background:#ffcdd2}
.row{display:flex;gap:16px;flex-wrap:wrap}.row>*{flex:1;min-width:200px}
.login{max-width:420px;margin:80px auto;text-align:center}
/* embed */
body.embed{background:transparent;font-size:15px}
body.embed.dark{background:#222;color:#eee}body.embed.dark a{color:#ffb766}
.embed .news-list li{padding:6px 2px}
