/* saraban/assets/sb-theme.css — หน้าตาใหม่ระบบสารบรรณ (2026-10-22)
 * ใช้กับทุกหน้าผ่าน w_layout_nav.php (เมนูข้าง + แถบบน) · ปรับเฉพาะหน้าตา ไม่แตะการทำงาน
 * โทน: น้ำเงินราชการ + ส้มปุ่มสำคัญ · ฟอนต์ Sarabun */
:root{
  --sb-navy:#0b2e6b; --sb-blue:#1a56c4; --sb-blue2:#2f6fe0; --sb-sky:#e8f0fd; --sb-bg:#f2f5fa;
  --sb-ink:#1e293b; --sb-mute:#64748b; --sb-line:#dbe3ef; --sb-orange:#f08c00; --sb-green:#16a34a; --sb-red:#dc2626;
  --sb-side:250px; --sb-top:60px; --sb-r:12px; --sb-shadow:0 1px 2px rgba(15,23,42,.06),0 4px 14px rgba(15,23,42,.06);
}
html body{font-family:'Sarabun',Tahoma,sans-serif !important;font-size:16px;color:var(--sb-ink);background:var(--sb-bg) !important;
  padding:calc(var(--sb-top) + 18px) 24px 32px calc(var(--sb-side) + 24px);margin:0;line-height:1.55}
body > br:first-of-type{display:none}

/* ---------- เมนูข้าง ---------- */
.sb-side{position:fixed;left:0;top:0;bottom:0;width:var(--sb-side);z-index:40;display:flex;flex-direction:column;
  background:linear-gradient(180deg,var(--sb-navy),#123f8f 60%,var(--sb-blue));color:#fff;box-shadow:2px 0 12px rgba(11,46,107,.18)}
.sb-brand{display:flex;gap:10px;align-items:center;padding:16px 18px 14px;border-bottom:1px solid rgba(255,255,255,.12);color:#fff !important}
.sb-brand .sb-logo{width:40px;height:40px;border-radius:10px;background:var(--sb-orange);display:grid;place-items:center;flex-shrink:0}
.sb-brand .sb-logo .material-icons{font-size:24px;color:#fff}
.sb-brand b{display:block;font-size:17px;line-height:1.2}
.sb-brand small{display:block;font-size:12px;opacity:.75;line-height:1.3}
.sb-nav{flex:1;overflow-y:auto;padding:10px 10px 16px}
.sb-nav .sb-sec{font-size:12px;letter-spacing:.4px;text-transform:uppercase;opacity:.6;padding:14px 10px 6px}
.sb-nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;margin:2px 0;border-radius:9px;color:#e6edfb !important;font-size:15.5px;transition:background .15s}
.sb-nav a .material-icons{font-size:20px;opacity:.9}
.sb-nav a:hover{background:rgba(255,255,255,.12)}
.sb-nav a.on{background:#fff;color:var(--sb-navy) !important;font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.sb-nav a.on .material-icons{color:var(--sb-orange);opacity:1}
.sb-foot{padding:12px 14px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;opacity:.8}

/* ---------- แถบบน ---------- */
.sb-top{position:fixed;top:0;left:var(--sb-side);right:0;height:var(--sb-top);z-index:35;display:flex;align-items:center;gap:12px;
  padding:0 22px;background:#fff;border-bottom:1px solid var(--sb-line);box-shadow:0 1px 6px rgba(15,23,42,.05)}
.sb-top .sb-title{flex:1;min-width:0;font-size:18px;font-weight:600;color:var(--sb-navy);margin-right:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:99px;background:var(--sb-sky);color:var(--sb-navy);font-size:14px;white-space:nowrap}
.sb-chip .material-icons{font-size:18px}
.sb-btn-search{white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:99px;background:var(--sb-orange);color:#fff !important;font-weight:600;font-size:14.5px;cursor:pointer;border:0}
.sb-btn-search:hover{filter:brightness(1.07)}
.sb-btn-out{white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:99px;color:var(--sb-red) !important;font-size:14px;border:1px solid #f3c4c4}
.sb-btn-out:hover{background:#fef2f2}
.sb-top .material-icons,.sb-side .material-icons{vertical-align:middle}
/* 2026-10-22 ลิงก์ในเมนูข้าง/แถบบนไม่ขีดเส้นใต้ทุกหน้า (บางหน้าไม่มี a{text-decoration:none} ของตัวเอง) */
.sb-side a,.sb-side a:hover,.sb-side a:visited,.sb-top a,.sb-top a:hover,.sb-top a:visited{text-decoration:none !important}

/* ---------- เนื้อหา: กล่อง ตาราง ปุ่ม ฟอร์ม (ปรับคลาส w3 เดิมภายในระบบสารบรรณเท่านั้น) ---------- */
a{color:var(--sb-blue)}
:is(.w3-blue,.w3-indigo,.w3-green,.w3-red,.w3-orange,.w3-amber,.w3-ios-blue,.w3-tag,.w3-btn,.w3-button) a,a:is(.w3-blue,.w3-indigo,.w3-green,.w3-red,.w3-orange,.w3-tag,.w3-btn,.w3-button){color:inherit !important}
.w3-card,.w3-card-2,.w3-card-4,.w3-white.w3-container,.w3-panel{border-radius:var(--sb-r) !important;box-shadow:var(--sb-shadow) !important}
.w3-container.w3-white,.w3-white.w3-padding{border:1px solid var(--sb-line)}
.w3-tag{border-radius:99px !important}
span.w3-tag.w3-xlarge.w3-right{float:none !important;display:inline-flex !important;margin:0 0 14px !important;font-size:22px !important;font-weight:600;
  background:none !important;color:var(--sb-navy) !important;padding:0 !important}
.w3-btn,.w3-button{border-radius:9px !important;font-family:inherit !important;font-weight:500;transition:filter .15s,box-shadow .15s}
.w3-btn:hover,.w3-button:hover{box-shadow:0 3px 10px rgba(15,23,42,.15) !important;filter:brightness(1.05)}
.w3-btn .material-icons,.w3-button .material-icons{vertical-align:middle;font-size:20px !important}
.w3-green,.w3-hover-green:hover{background:var(--sb-green) !important;color:#fff !important}
.w3-red,.w3-hover-red:hover{background:var(--sb-red) !important;color:#fff !important}
.w3-orange,.w3-amber{background:var(--sb-orange) !important;color:#fff !important}
.w3-indigo,.w3-blue,.w3-ios-blue,.w3-hover-blue:hover{background:var(--sb-blue) !important;color:#fff !important}
.w3-light-blue,.w3-pale-blue{background:var(--sb-sky) !important;color:var(--sb-navy) !important}
input[type=text],input[type=password],input[type=date],input[type=email],input[type=number],input[type=search],select,textarea,.w3-input,.w3-select{
  font-family:inherit !important;font-size:16px;border:1px solid #c7d2e3 !important;border-radius:9px !important;padding:8px 12px;background:#fff;
  transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--sb-blue2) !important;box-shadow:0 0 0 3px rgba(47,111,224,.18)}
input[type=file]{font-family:inherit;font-size:15px}
input[type=submit],input[type=button],button{font-family:inherit !important}

/* ตารางทะเบียน */
table.w3-table,table.w3-table-all,.sb-tbl{background:#fff;border-radius:var(--sb-r);overflow:hidden;box-shadow:var(--sb-shadow);border-collapse:separate !important;border-spacing:0}
table.w3-table th,table.w3-table-all th,table.w3-table tr:first-child td.w3-indigo,table.w3-table thead td{
  background:var(--sb-navy) !important;color:#fff !important;font-weight:600;position:sticky;top:var(--sb-top);z-index:2}
table.w3-table td,table.w3-table th,table.w3-table-all td,table.w3-table-all th{padding:10px 12px !important;border-bottom:1px solid #edf1f7;vertical-align:top}
table.w3-table tr:nth-child(even) td,table.w3-table-all tr:nth-child(even) td{background:#f8fafd}
table.w3-table tr:hover td,table.w3-table-all tr:hover td{background:#eef4ff}
.w3-bar.w3-border,.w3-pagination{border-radius:9px}

/* modal (ค้นหา ฯลฯ) */
.w3-modal{z-index:60 !important;background:rgba(15,23,42,.45) !important}
.w3-modal-content{border-radius:16px !important;overflow:hidden}
.w3-modal-content header{border-radius:0 !important;background:var(--sb-navy) !important;color:#fff !important}

/* หน้าแรก: ปุ่มทะเบียนเป็นการ์ด */
.sb-home .w3-button.w3-block,.sb-home a > .w3-button{background:#fff !important;color:var(--sb-navy) !important;border:1px solid var(--sb-line);text-align:left;
  padding:22px 20px !important;font-size:19px;font-weight:600;box-shadow:var(--sb-shadow) !important}
.sb-home .w3-button.w3-block:hover{border-color:var(--sb-blue2);transform:translateY(-1px)}

/* หน้าแรก (dashboard): การ์ดทะเบียน */
a > .w3-panel.w3-indigo{background:#fff !important;color:var(--sb-navy) !important;border:1px solid var(--sb-line);border-left:6px solid var(--sb-blue);
  padding:6px 18px !important;margin:10px 0 !important;transition:transform .15s,box-shadow .15s,border-color .15s}
a > .w3-panel.w3-indigo:hover{transform:translateY(-2px);border-left-color:var(--sb-orange);box-shadow:0 8px 22px rgba(15,23,42,.12) !important}
a > .w3-panel.w3-indigo .material-icons{color:var(--sb-blue) !important;vertical-align:middle;margin-right:6px}
a > .w3-panel.w3-indigo p.w3-xlarge{font-size:21px !important;font-weight:600;margin:12px 0}
.w3-row.w3-padding.w3-xlarge{font-size:24px !important;font-weight:600;color:var(--sb-navy);padding:0 16px 4px !important}
.w3-panel.w3-blue{background:#fff !important;color:var(--sb-ink) !important;border:1px solid var(--sb-line);border-left:6px solid var(--sb-orange);padding:12px 18px !important;line-height:1.8}

/* หน้าเข้าสู่ระบบ (ยังไม่ login: ไม่มีเมนูข้าง) */
body.sb-guest{padding:96px 24px 40px !important;min-height:100vh;box-sizing:border-box;background:linear-gradient(135deg,var(--sb-navy),var(--sb-blue) 60%,#4b8bf0) fixed !important}
body.sb-guest > *{max-width:980px;margin-left:auto !important;margin-right:auto !important}
body.sb-guest .w3-top{max-width:none}
body.sb-guest .w3-top .w3-bar{background:rgba(255,255,255,.1) !important;backdrop-filter:blur(6px);color:#fff;font-size:15px;padding:14px 24px !important;border-bottom:1px solid rgba(255,255,255,.18)}
body.sb-guest .w3-row.w3-margin{background:#fff;border-radius:18px 18px 0 0;padding:26px 28px 10px;margin-top:0 !important;margin-bottom:0 !important;box-shadow:0 20px 50px rgba(0,0,0,.18)}
body.sb-guest .w3-row.w3-margin img{border-radius:14px}
body.sb-guest .w3-row.w3-margin span[style*="24px"]{color:var(--sb-navy)}
body.sb-guest > .w3-container[align=left]{background:#fff;padding:6px 28px 24px !important;border-radius:0 0 18px 18px;box-shadow:0 20px 50px rgba(0,0,0,.18);margin-bottom:22px}
body.sb-guest > .w3-container[align=left]::before{content:"เลือกผู้ใช้เพื่อเข้าสู่ระบบ";display:block;color:var(--sb-mute);font-size:15px;margin:4px 0 12px}
body.sb-guest > .w3-container[align=left] > button.w3-button{background:var(--sb-sky) !important;color:var(--sb-navy) !important;border:1px solid #c9dafa;
  margin:0 8px 10px 0;padding:12px 22px !important;font-size:18px !important;font-weight:600;box-shadow:none !important;border-radius:12px !important}
body.sb-guest > .w3-container[align=left] > button.w3-button:hover{background:var(--sb-blue) !important;color:#fff !important}
body.sb-guest .w3-row > .w3-half .w3-panel.w3-indigo{background:rgba(255,255,255,.12) !important;color:#fff !important;border:1px solid rgba(255,255,255,.2);box-shadow:none !important}
body.sb-guest .w3-row > .w3-half .w3-panel.w3-indigo p{font-size:18px !important;margin:12px 0}
body.sb-guest .w3-row > .w3-half .w3-panel.w3-indigo .material-icons{font-size:22px !important;vertical-align:middle}
body.sb-guest .w3-panel.w3-blue{background:rgba(255,255,255,.95) !important;font-size:14px;border-left-color:var(--sb-orange)}
body.sb-guest .w3-modal-content footer{background:var(--sb-sky) !important;color:var(--sb-navy) !important}

@media print{.sb-side,.sb-top{display:none !important} html body{padding:0 !important;background:#fff !important}}

/* ฟอร์มเพิ่ม/แก้ไข: วางบนการ์ดขาว */
body > form,body > .w3-container > form:not(.w3-container),body > div > form[name=form1]:not(.w3-container){background:#fff;border:1px solid var(--sb-line);border-radius:var(--sb-r);box-shadow:var(--sb-shadow);padding:18px 22px;margin-top:10px}
form table td{padding:5px 8px;vertical-align:middle}

/* 2026-10-22 ปุ่มย่อเมนูข้าง: ย่อ = เหลือไอคอน 72px (จำค่าในเบราว์เซอร์ localStorage sbSideMini) */
.sb-side,.sb-top,html body{transition:width .25s ease,left .25s ease,padding-left .25s ease}
.sb-collapse{display:flex;align-items:center;gap:8px;margin:0 10px 8px;padding:8px 12px;border:1px solid rgba(255,255,255,.25);border-radius:9px;
  background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:14px;cursor:pointer}
.sb-collapse:hover{background:rgba(255,255,255,.18)}
.sb-collapse .material-icons{transition:transform .25s}
html.sb-mini{--sb-side:72px}
html.sb-mini .sb-brand{justify-content:center;padding:16px 0 14px}
html.sb-mini .sb-brand > span:last-child,html.sb-mini .sb-nav .sb-sec,html.sb-mini .sb-collapse span,html.sb-mini .sb-foot{display:none}
html.sb-mini .sb-nav a{justify-content:center;padding:11px 0;font-size:0;gap:0}
html.sb-mini .sb-nav a .material-icons{font-size:23px}
html.sb-mini .sb-nav .sb-sec + a{margin-top:10px}
html.sb-mini .sb-collapse{justify-content:center;padding:8px 0}
html.sb-mini .sb-collapse .material-icons{transform:rotate(180deg)}
@media (prefers-reduced-motion:reduce){.sb-side,.sb-top,html body{transition:none}}

/* ===== 2026-10-22 แบบ ก+: ระบบตัวอักษร + โครงหน้า (ใช้ร่วมทุกหน้าที่จัดโครงใหม่) =====
 * ขนาด: หัวหน้า 26 · หัวกล่อง 18 · เนื้อหา 16 · ป้าย/ข้อความรอง 14 · ระยะ 4/8/12/16/24 */
.sb-page{max-width:1180px;display:grid;gap:16px;animation:sbFade .35s ease-out}
.sb-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:2px}
.sb-back{display:inline-flex;align-items:center;gap:4px;font-size:14px;color:var(--sb-mute) !important;text-decoration:none !important;margin-bottom:6px}
.sb-back:hover{color:var(--sb-blue) !important}
.sb-back .material-icons{font-size:18px}
.sb-h1{margin:0;font-size:26px;font-weight:600;color:var(--sb-navy);line-height:1.3;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sb-badge{display:inline-flex;align-items:center;padding:4px 14px;border-radius:99px;background:var(--sb-sky);color:var(--sb-blue);font-size:16px;font-weight:600}
.sb-sub{display:flex;align-items:center;gap:6px;color:var(--sb-mute);font-size:15px;margin-top:4px}
.sb-sub .material-icons{font-size:18px}
.sb-actions{display:flex;gap:8px;flex-wrap:wrap}
.sb-actions .w3-btn{display:inline-flex;align-items:center;gap:4px;padding:8px 18px}
.sb-btn-ghost-red{background:#fff !important;color:var(--sb-red) !important;border:1px solid #f3c4c4 !important}
.sb-btn-ghost-red:hover{background:#fef2f2 !important}
.sb-card{background:#fff;border:1px solid var(--sb-line);border-radius:14px;box-shadow:var(--sb-shadow);padding:20px 22px}
.sb-h2{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:18px;font-weight:600;color:var(--sb-navy)}
.sb-h2 .material-icons{color:var(--sb-orange);font-size:22px}
.sb-label{font-size:13px;letter-spacing:.3px;color:var(--sb-mute);text-transform:uppercase;margin-bottom:4px}
.sb-subject{border-left:6px solid var(--sb-blue)}
.sb-subject-t{font-size:22px;font-weight:600;color:var(--sb-ink);line-height:1.5}
.sb-route{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;color:var(--sb-mute);font-size:15px}
.sb-route span{background:#f1f5fb;border-radius:8px;padding:4px 10px;color:var(--sb-ink)}
.sb-route .material-icons{font-size:18px;color:var(--sb-orange)}
.sb-grid2{display:grid;grid-template-columns:3fr 2fr;gap:16px;align-items:start}
.sb-dl{display:grid;grid-template-columns:130px 1fr;margin:0;font-size:16px}
.sb-dl dt{color:var(--sb-mute);font-size:14px;padding:10px 0;border-bottom:1px solid #eef2f7}
.sb-dl dd{margin:0;padding:9px 0;border-bottom:1px solid #eef2f7;color:var(--sb-ink);line-height:1.6;word-break:break-word}
.sb-dl dt:last-of-type,.sb-dl dd:last-of-type{border-bottom:0}
.sb-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 12px;border-radius:99px;background:var(--sb-sky);color:var(--sb-navy);font-size:14px}
.sb-chip .material-icons{font-size:16px}
.sb-files{display:grid;gap:8px}
.sb-file{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--sb-line);border-radius:10px;color:var(--sb-ink) !important;text-decoration:none !important;transition:background .15s,border-color .15s}
.sb-file:hover{background:#f5f8ff;border-color:#b9cdf5}
.sb-file .material-icons{color:#dc2626}
.sb-file span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.sb-file em{font-style:normal;font-size:13px;color:var(--sb-blue);font-weight:600;white-space:nowrap}
.sb-empty{color:var(--sb-mute);font-size:15px;padding:8px 0}
@keyframes sbFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:1000px){.sb-grid2{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.sb-page{animation:none}}

/* ===== 2026-10-22 แบบ ก+: ฟอร์มเพิ่ม/แก้ไข/ตั้งค่า (ตารางป้าย|ช่องกรอก เดิม · ไม่แตะชื่อช่อง) ===== */
form:not(.sb-nosty) table{border-collapse:separate !important;border-spacing:0 10px !important;width:100%;max-width:1000px}
form:not(.sb-nosty) table td{padding:0 !important;vertical-align:middle}
form:not(.sb-nosty) table tr > td:first-child:not(:only-child){width:170px;padding:0 18px 0 0 !important;color:var(--sb-mute);font-size:15px;font-weight:500;
  text-align:right;white-space:nowrap;vertical-align:top;padding-top:10px !important}
form:not(.sb-nosty) table td .w3-input,form:not(.sb-nosty) table td textarea{width:100% !important;max-width:none;box-sizing:border-box}
form:not(.sb-nosty) table td select{padding:7px 10px;margin-right:6px;min-width:70px}
form:not(.sb-nosty) table td input[size="4"]{width:90px !important}
form:not(.sb-nosty) .w3-xxlarge{font-size:28px !important;font-weight:600;color:var(--sb-navy);max-width:260px}
form:not(.sb-nosty) input[type=submit],form:not(.sb-nosty) button[type=submit]{padding:11px 26px !important;font-size:17px !important;border-radius:10px !important;margin-top:8px}
form:not(.sb-nosty) input[type=radio],form:not(.sb-nosty) input[type=checkbox]{width:18px;height:18px;vertical-align:middle;accent-color:var(--sb-blue);margin:0 4px 0 10px}
.w3-card:has(> form),.w3-card:has(form#form1){padding:6px 24px 20px !important;border:1px solid var(--sb-line)}
.w3-card:has(form#form1) > header,.w3-card:has(form#form1) > .w3-container:first-child:not(:has(form)){background:none !important;color:var(--sb-navy) !important;
  font-size:20px;font-weight:600;padding:14px 0 6px !important;border-bottom:1px solid var(--sb-line);margin-bottom:6px}

/* ===== 2026-10-22 แบบ ก+: หน้าตั้งค่า (เมนูย่อยซ้าย w3-quarter + กล่องขวา) ===== */
.w3-row > .w3-quarter > a > .w3-container.w3-border{background:#fff !important;border:1px solid var(--sb-line) !important;border-radius:11px !important;
  margin:0 0 8px !important;padding:11px 14px !important;color:var(--sb-navy);transition:background .15s,border-color .15s,transform .15s;box-shadow:none !important}
.w3-row > .w3-quarter > a > .w3-container.w3-border:hover{background:#f5f8ff !important;border-color:#b9cdf5 !important;transform:translateX(3px)}
.w3-row > .w3-quarter > a > .w3-container.w3-border .material-icons{vertical-align:middle;margin-right:4px;color:var(--sb-blue) !important}
.w3-row > .w3-quarter > a > .w3-container.w3-grey,.w3-row > .w3-quarter > a > .w3-container.w3-dark-grey{background:var(--sb-navy) !important;color:#fff !important;border-color:var(--sb-navy) !important}
.w3-row > .w3-quarter > a > .w3-container:is(.w3-grey,.w3-dark-grey) .material-icons{color:#fff !important}
.w3-row > :is(.w3-threequarter,.w3-rest) .w3-panel.w3-indigo,.w3-row > :is(.w3-threequarter,.w3-rest) .w3-indigo.w3-container{background:#fff !important;color:var(--sb-ink) !important;
  border:1px solid var(--sb-line);border-left:6px solid var(--sb-blue);box-shadow:var(--sb-shadow) !important}
.w3-row > :is(.w3-threequarter,.w3-rest) .w3-indigo .material-icons{color:var(--sb-blue) !important;vertical-align:middle}
.w3-row > :is(.w3-threequarter,.w3-rest) .w3-panel.w3-light-grey,.w3-row > :is(.w3-threequarter,.w3-rest) .w3-light-grey.w3-container{background:#f8fafd !important;border:1px solid var(--sb-line);border-radius:11px}
.w3-row > .w3-quarter .w3-container.w3-border{background:#fff !important;border:1px solid var(--sb-line) !important;border-radius:11px !important;margin:0 0 8px !important;padding:11px 14px !important;color:var(--sb-navy) !important;box-shadow:none !important}
.w3-row > .w3-quarter > :not(a) > .w3-container.w3-border,.w3-row > .w3-quarter > .w3-container.w3-border{opacity:.55}
.w3-row > .w3-threequarter > a > .w3-container.w3-border{background:#fff !important;color:var(--sb-ink) !important;border:1px solid var(--sb-line) !important;border-left:6px solid var(--sb-blue) !important;
  border-radius:12px !important;margin:0 0 12px !important;padding:14px 18px !important;box-shadow:var(--sb-shadow) !important;transition:transform .15s,box-shadow .15s,border-color .15s}
.w3-row > .w3-threequarter > a > .w3-container.w3-border:hover{transform:translateY(-2px);border-left-color:var(--sb-orange) !important;box-shadow:0 8px 22px rgba(15,23,42,.12) !important}
.w3-row > .w3-threequarter > a > .w3-container.w3-border b{color:var(--sb-navy);font-size:17px}
.w3-row > .w3-threequarter > a > .w3-container.w3-border .material-icons{color:var(--sb-blue) !important;vertical-align:middle;margin-right:4px}
.w3-row > .w3-threequarter > a > .w3-container.w3-light-grey{border-left-color:#cbd5e1 !important;opacity:.75}

/* ===== 2026-10-22 แบบ ก+: หน้ารายการทะเบียน (โครง w3-row เดิม · ไม่แตะ SQL/ลิงก์) ===== */
/* แถบเครื่องมือ: ชื่อหน้า + ปุ่ม · ซ่อนปุ่ม "กลับเมนูหลัก" (มีเมนูข้างแล้ว) */
body > a[href="/index/saraban/"] > .w3-button{display:none !important}
body > span.w3-tag.w3-xlarge:first-of-type{display:flex !important;font-size:26px !important;margin:0 0 14px !important}
body > a > button.w3-btn,body > a > .w3-btn{margin:0 6px 14px 0 !important;padding:9px 18px !important;display:inline-flex;align-items:center;gap:6px;box-shadow:none !important}
body > a > button.w3-pale-blue{background:#fff !important;color:var(--sb-navy) !important;border:1px solid var(--sb-line) !important}
/* หัวตาราง */
.w3-row.w3-border-bottom.w3-indigo,.w3-row.w3-border.w3-indigo{background:var(--sb-navy) !important;color:#fff !important;border:0 !important;border-radius:12px 12px 0 0;
  padding:12px 10px;font-size:14px;font-weight:600;letter-spacing:.2px;position:sticky;top:var(--sb-top);z-index:3;box-shadow:0 2px 6px rgba(11,46,107,.15)}
.w3-row.w3-border-bottom.w3-indigo > .w3-col{line-height:1.35}
/* แถวรายการ */
a:has(> .w3-row.w3-border-bottom.w3-white){display:block;color:inherit !important;text-decoration:none !important}
.w3-row.w3-border-bottom.w3-hover-blue.w3-white{background:#fff !important;color:var(--sb-ink) !important;border:0 !important;border-bottom:1px solid #edf1f7 !important;
  border-left:1px solid var(--sb-line) !important;border-right:1px solid var(--sb-line) !important;padding:14px 10px;font-size:15px;line-height:1.6;transition:background .12s}
a:nth-of-type(even) > .w3-row.w3-border-bottom.w3-hover-blue.w3-white{background:#fafcff !important}
.w3-row.w3-border-bottom.w3-hover-blue.w3-white:hover{background:#eef4ff !important;color:var(--sb-ink) !important;box-shadow:inset 4px 0 0 var(--sb-orange)}
/* เลขทะเบียน = ป้ายสีน้ำเงิน */
.w3-row.w3-white > .w3-col.m1.w3-xlarge{font-size:16px !important;display:flex;justify-content:center;padding-top:2px}
.w3-row.w3-white > .w3-col.m1.w3-xlarge > b{display:inline-block;min-width:58px;text-align:center;padding:4px 10px;border-radius:10px;background:var(--sb-sky);color:var(--sb-blue);font-weight:700}
/* ลงวันที่ + จาก/ถึง = ข้อความรอง · เรื่อง = ข้อความหลัก */
.w3-row.w3-white > .w3-col.m1:not(.w3-xlarge){color:var(--sb-mute);font-size:14px;text-align:center}
.w3-row.w3-white > .w3-col.m2.w3-margin-left{font-size:14px;color:var(--sb-mute);margin-left:8px !important}
.w3-row.w3-white > .w3-col.m2.w3-margin-left b{font-weight:500;color:#94a3b8}
.w3-row.w3-white > .w3-col.m5,.w3-row.w3-white > .w3-col.m6{color:var(--sb-ink);font-weight:500;font-size:15.5px;margin-left:8px !important}
.w3-row.w3-white > .w3-col.m2.w3-center{font-size:14px;color:var(--sb-mute)}
.w3-row.w3-white > .w3-col.m2.w3-center .w3-tag{display:inline-block;margin-top:4px;background:var(--sb-sky) !important;color:var(--sb-navy) !important;font-size:12.5px;padding:2px 10px}
/* แถบเลขหน้า */
.w3-bar.w3-border.w3-round.w3-padding{background:#fff;border:1px solid var(--sb-line) !important;border-top:0 !important;border-radius:0 0 12px 12px !important;
  padding:14px 16px !important;color:var(--sb-mute);font-size:14px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;box-shadow:var(--sb-shadow)}
.w3-bar.w3-border.w3-round.w3-padding a.w3-tag{background:#fff !important;color:var(--sb-navy) !important;border:1px solid var(--sb-line);border-radius:8px !important;
  min-width:34px;padding:5px 8px !important;text-align:center;font-size:14px !important;font-weight:500;transition:background .12s}
.w3-bar.w3-border.w3-round.w3-padding a.w3-tag:hover{background:var(--sb-sky) !important}
.w3-bar.w3-border.w3-round.w3-padding a.w3-tag.sb-cur{background:var(--sb-blue) !important;color:#fff !important;border-color:var(--sb-blue)}

/* 2026-10-22 ปุ่มเมนูแบบเลื่อนลง (รายงานประจำปี) */
details.sb-dd{display:inline-block;position:relative;margin:0 6px 14px 0;vertical-align:top}
details.sb-dd > summary{list-style:none;display:inline-flex !important;align-items:center;gap:6px;padding:9px 18px !important;background:#fff !important;color:var(--sb-navy) !important;
  border:1px solid var(--sb-line) !important;cursor:pointer}
details.sb-dd > summary::-webkit-details-marker{display:none}
details.sb-dd[open] > summary{border-color:var(--sb-blue) !important;box-shadow:0 0 0 3px rgba(47,111,224,.15) !important}
.sb-dd-menu{position:absolute;left:0;top:calc(100% + 6px);z-index:20;min-width:220px;background:#fff;border:1px solid var(--sb-line);border-radius:12px;
  box-shadow:0 14px 34px rgba(15,23,42,.16);padding:6px;animation:sbFade .15s ease-out}
.sb-dd-menu a{display:flex;justify-content:space-between;gap:16px;padding:9px 12px;border-radius:8px;color:var(--sb-navy) !important;text-decoration:none !important}
.sb-dd-menu a:hover{background:var(--sb-sky)}
.sb-dd-menu a span{color:var(--sb-mute);font-size:14px}

/* 2026-10-22 ปุ่มขนาดตัวอักษร (แถบบนขวา) · ขยายเฉพาะเนื้อหา ไม่ขยายเมนูข้าง/แถบบน */
:root{--sb-fz:1}
body > :not(.sb-side):not(.sb-top):not(script):not(style):not(link):not(.w3-modal):not(.sb-pv){zoom:var(--sb-fz)}
.sb-fz{display:inline-flex;border:1px solid var(--sb-line);border-radius:99px;overflow:hidden;flex-shrink:0}
.sb-fz button{border:0;background:#fff;color:var(--sb-navy);font:inherit;font-size:14px;font-weight:600;padding:6px 11px;cursor:pointer}
.sb-fz button + button{border-left:1px solid var(--sb-line)}
.sb-fz button:hover{background:var(--sb-sky)}
.sb-fz #sbFzVal{font-weight:500;font-size:13px;color:var(--sb-mute);min-width:52px}

/* 2026-10-22 แถบเลขหน้ากระชับ */
.w3-bar.w3-border.w3-round.w3-padding .sb-pg-info{margin-right:auto;color:var(--sb-mute)}
.w3-bar.w3-border.w3-round.w3-padding .sb-pg-dots{color:var(--sb-mute);padding:0 2px}
.w3-bar.w3-border.w3-round.w3-padding a.w3-tag.sb-pg-nav{padding:5px 12px !important}

/* 2026-10-22 หน้ารายละเอียด 2 ส่วน: รายละเอียด | ตัวอย่างเอกสาร */
.sb-detail2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:18px;align-items:start}
.sb-detail2 .sb-detail-main{max-width:none}
.sb-detail2 .sb-grid2{grid-template-columns:minmax(0,1fr)}
.sb-dpv{position:sticky;top:calc(var(--sb-top) + 14px);padding:0 !important;overflow:hidden;display:flex;flex-direction:column;height:calc(100vh - var(--sb-top) - 40px)}
.sb-dpv-h{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid #edf1f7;font-weight:600;color:var(--sb-navy)}
.sb-dpv-h .material-icons{color:var(--sb-orange)}
.sb-dpv-h span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;color:var(--sb-mute);font-size:14px}
.sb-dpv-h a .material-icons{color:var(--sb-blue)}
.sb-dpv-b{flex:1;background:#525659;display:flex;overflow:auto}
.sb-dpv-b iframe{width:100%;height:100%;border:0;background:#fff}
.sb-dpv-b img{max-width:100%;height:auto;margin:0 auto;background:#fff;align-self:flex-start}
.sb-dpv-empty{margin:auto;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:#cbd5e1;padding:24px;line-height:1.6}
.sb-dpv-empty .material-icons{font-size:54px;color:#94a3b8}.sb-dpv-empty b{color:#e2e8f0;font-size:17px}
.sb-file.on{border-color:var(--sb-blue);background:var(--sb-sky)}
@media (max-width:1150px){.sb-detail2{grid-template-columns:minmax(0,1fr)}.sb-dpv{position:static;height:70vh}}

/* 2026-10-22 หน้าเพิ่ม/แก้ไข: เอาปุ่ม "กลับเมนูทะเบียน…" และป้ายเหลือง "บันทึกเพื่อเลือกไฟล์…" ออก (มีเมนูข้างแล้ว · ให้ฟอร์มเต็มพื้นที่) */
body > a[href^="../w_show_book_"]:has(> .w3-button),body > span.w3-button.w3-yellow{display:none !important}

/* 2026-10-22 ฟอร์มกระชับ: ช่องสูงเท่ากัน · เลขทะเบียนขนาดปกติ · ป้ายแคบชิดซ้าย · ตัดแถวว่าง */
form#form1 table{border-spacing:0 7px !important;max-width:none !important}
form#form1 table tr > td:first-child:not(:only-child){width:96px !important;padding:0 12px 0 0 !important;padding-top:9px !important;font-size:14.5px !important;text-align:left !important}
form#form1 table tr:not(:has(input,select,textarea)){display:none}
form#form1 :is(input[type=text],input[type=number],input[type=date],select,.w3-input):not([type=submit]){height:40px !important;min-height:40px;padding:6px 12px !important;font-size:15.5px !important;
  border:1px solid #c7d2e3 !important;border-radius:9px !important;box-sizing:border-box;line-height:1.4}
form#form1 textarea{min-height:84px !important;padding:8px 12px !important;font-size:15.5px !important;border:1px solid #c7d2e3 !important;border-radius:9px !important;box-sizing:border-box;line-height:1.6}
form#form1 .w3-xxlarge{font-size:15.5px !important;font-weight:600 !important;max-width:200px !important;color:var(--sb-navy)}
form#form1 table table{border-spacing:0 !important}
form#form1 table table td{padding:0 8px 0 0 !important;width:auto !important}
.w3-card:has(form#form1){padding:4px 18px 16px !important}
form#form1 input[type=submit]{margin-top:4px !important}

/* 2026-10-22 หน้าก่อนเข้าสู่ระบบ: แดชบอร์ดสถิติแทนแผงทะเบียนเดิม · ทางเข้าผู้ดูแล 2 มุมล่างซ่อน (มองไม่เห็นแต่กดได้) */
body.sb-guest > .w3-row:has(> .w3-half > .w3-panel.w3-indigo),body.sb-guest .w3-row:has(> .w3-half .w3-panel.w3-indigo){display:none !important}
body.sb-guest a.w3-display-bottomright,body.sb-guest a.w3-display-bottomleft{opacity:0 !important;z-index:9999 !important;display:block !important;width:44px;height:44px;padding:0 !important;background:transparent !important;border:0 !important;box-shadow:none !important;position:fixed !important}
body.sb-guest a.w3-display-bottomright{right:0 !important;bottom:0 !important;left:auto !important}body.sb-guest a.w3-display-bottomleft{left:0 !important;bottom:0 !important}
body.sb-guest .sbd{margin:22px auto 18px}
body.sb-guest .sbd .sbd-c{background:#fff}
body.sb-guest .sbd-h small{color:#64748b}
/* 2026-10-22 หน้าเข้าสู่ระบบ: เอาแถบบนสุด + ป้าย "(เข้าระบบก่อนใช้งาน)" ออก (กดไม่ได้) ให้แดชบอร์ดมีพื้นที่ */
body.sb-guest > .w3-top{display:none !important}
body.sb-guest{padding-top:28px !important}
body.sb-guest .w3-row.w3-margin .w3-tag.w3-orange{display:none !important}

/* 2026-10-22 เตือนโควตาแพ็กเกจ */
.sb-pkg-warn{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 14px;padding:10px 14px;border-radius:10px;background:#fff7e6;border:1px solid #f5c26b;color:#7a4b00}
.sb-pkg-warn.full{background:#fef2f2;border-color:#f3a5a5;color:#991b1b}
.sb-pkg-warn .material-icons{font-size:20px}
.sb-pkg-warn span{opacity:.85}

/* 2026-10-23 หน้าเข้าสู่ระบบใหม่ */
.sbl-login{background:#fff;border-radius:0 0 18px 18px;padding:6px 28px 26px;box-shadow:0 20px 50px rgba(0,0,0,.18);margin-bottom:22px}
.sbl-login-h,.sbl-box-h{display:flex;align-items:center;gap:14px;margin:6px 0 16px}
.sbl-login-h b,.sbl-box-h b{display:block;font-size:20px;color:var(--sb-navy)}
.sbl-login-h small,.sbl-box-h small{display:block;color:var(--sb-mute);font-size:14px}
.sbl-login-ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--sb-blue),var(--sb-navy));color:#fff;box-shadow:0 8px 18px -6px var(--sb-blue);flex-shrink:0}
.sbl-users{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.sbl-user{display:flex;align-items:center;gap:10px;padding:14px 16px;border:2px solid var(--sb-line);border-radius:14px;background:#fff;font:inherit;font-size:17px;font-weight:600;color:var(--sb-navy);cursor:pointer;text-align:left;
  opacity:0;transform:translateY(10px);animation:sblUserIn .45s cubic-bezier(.2,.8,.3,1) forwards;transition:border-color .15s,box-shadow .15s,transform .15s}
.sbl-user .material-icons{color:var(--sb-blue);font-size:26px}
.sbl-user span{flex:1}
.sbl-user .sbl-go{font-size:20px;color:#cbd5e1;transition:transform .15s,color .15s}
.sbl-user:hover{border-color:var(--sb-blue);box-shadow:0 10px 24px -10px rgba(26,86,196,.5);transform:translateY(-2px)}
.sbl-user:hover .sbl-go{color:#f08c00;transform:translateX(4px)}
@keyframes sblUserIn{to{opacity:1;transform:none}}
.sbl-none{color:var(--sb-mute)}
.sbl-corner{position:fixed;bottom:0;width:44px;height:44px;z-index:50;opacity:0}
.sbl-corner.l{left:0}.sbl-corner.r{right:0}
.sbl-modal{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:16px;background:rgba(11,46,107,.55);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
.sbl-modal.on{opacity:1;visibility:visible}
.sbl-box{position:relative;background:#fff;border-radius:20px;padding:24px 28px 20px;width:min(440px,100%);box-shadow:0 30px 70px rgba(0,0,0,.3);transform:translateY(18px) scale(.97);transition:transform .28s cubic-bezier(.2,.9,.3,1.2)}
.sbl-modal.on .sbl-box{transform:none}
.sbl-x{position:absolute;right:12px;top:10px;border:0;background:none;font-size:26px;color:#94a3b8;cursor:pointer;line-height:1}
.sbl-officer{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.sbl-officer label{cursor:pointer}
.sbl-officer input{position:absolute;opacity:0}
.sbl-officer span{display:inline-block;padding:7px 14px;border:2px solid var(--sb-line);border-radius:99px;font-weight:500;color:var(--sb-navy);transition:all .15s}
.sbl-officer input:checked+span{background:var(--sb-blue);border-color:var(--sb-blue);color:#fff}
.sbl-officer input:focus-visible+span{outline:3px solid #f5c26b}
.sbl-lb{display:block;font-size:14px;color:var(--sb-mute);margin:12px 0 5px}
.sbl-pass{display:flex;border:2px solid var(--sb-line);border-radius:12px;overflow:hidden;transition:border-color .15s}
.sbl-pass:focus-within,.sbl-cap-in:focus{border-color:var(--sb-blue)}
.sbl-pass input{flex:1;border:0;padding:11px 14px;font:inherit;font-size:17px;outline:0;min-width:0}
.sbl-pass button,.sbl-cap button{border:0;background:#f1f5fb;color:var(--sb-blue);padding:0 14px;cursor:pointer}
.sbl-cap{display:flex;gap:8px;align-items:stretch}
.sbl-cap img{border-radius:10px;border:1px solid var(--sb-line);background:#eef4ff;flex-shrink:0}
.sbl-cap button{border-radius:10px}
.sbl-cap-in{width:100%;box-sizing:border-box;margin-top:8px;border:2px solid var(--sb-line);border-radius:12px;padding:10px 14px;font:inherit;font-size:20px;letter-spacing:4px;outline:0}
.sbl-submit{width:100%;margin-top:16px;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:0;border-radius:12px;background:linear-gradient(90deg,var(--sb-blue),var(--sb-navy));color:#fff;font:inherit;font-size:17px;font-weight:600;cursor:pointer;box-shadow:0 10px 22px -10px var(--sb-blue);transition:transform .15s,filter .15s}
.sbl-submit:hover{filter:brightness(1.1);transform:translateY(-1px)}
.sbl-submit.busy{pointer-events:none;filter:saturate(.7)}
.sbl-submit.busy .material-icons{animation:sblSpin 1s linear infinite}
@keyframes sblSpin{to{transform:rotate(360deg)}}
.sbl-note{display:flex;align-items:center;gap:6px;justify-content:center;color:var(--sb-mute);font-size:13px;margin:12px 0 0}
.sbl-note .material-icons{font-size:16px;color:#16a34a}
body.sb-guest .w3-row.w3-margin{border-radius:18px 18px 0 0}

/* 2026-10-23 รายชื่อผู้ใช้เป็นแถบข้างซ้าย เรียงลงเป็นแถบยาว (user สั่ง) */
body.sb-guest{padding-left:304px !important}
body.sb-guest .w3-row.w3-margin{border-radius:18px !important;margin-bottom:22px !important}
.sbl-login{position:fixed;left:0;top:0;bottom:0;width:280px;z-index:40;margin:0;border-radius:0 22px 22px 0;padding:26px 18px;box-sizing:border-box;overflow-y:auto;
  box-shadow:12px 0 40px rgba(0,0,0,.18);animation:sblSideIn .5s cubic-bezier(.2,.8,.3,1) both}
@keyframes sblSideIn{from{transform:translateX(-100%)}to{transform:none}}
.sbl-login .sbl-login-h{flex-direction:column;align-items:flex-start;gap:10px;margin:0 4px 18px;padding-bottom:16px;border-bottom:1px solid var(--sb-line)}
.sbl-login .sbl-users{grid-template-columns:1fr;gap:10px}
.sbl-login .sbl-user{width:100%;padding:13px 14px;font-size:16px;border-radius:12px}
.sbl-login .sbl-user span{white-space:normal;line-height:1.4}

/* 2026-10-23 หน้าก่อนเข้าสู่ระบบ: กราฟเตี้ยลง (user สั่ง) */
body.sb-guest .sbd-chart{height:210px !important}
body.sb-guest .sbd-r2 .sbd-c:last-child .sbd-chart{height:170px !important}

/* 2026-10-23 ช่องเรื่องสูง ~8 บรรทัด ไม่ต้องเลื่อน (user สั่ง) */
form#form1 textarea#name{min-height:228px !important;line-height:1.6 !important;resize:vertical}
