:root{
    --primary:#0b6fc6;
    --primary-dark:#084c8a;
    --primary-soft:#e8f4ff;
    --sky:#f4fbff;
    --white:#ffffff;
    --text:#1f2937;
    --muted:#6b7280;
    --border:#dbeafe;
}
html,body,button,input,select,textarea,.btn,.form-control,.form-select,.input-group-text,.dropdown-menu,.navbar,.card,.table,.badge,.alert{font-family:'Sarabun','Noto Sans Thai',Tahoma,sans-serif!important}
*{font-family:'Sarabun','Noto Sans Thai',Tahoma,sans-serif}
body{background:linear-gradient(180deg,#f5fbff 0%,#eef7ff 60%,#ffffff 100%);color:var(--text);min-height:100vh;display:flex;flex-direction:column;font-weight:400;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}
.topbar{background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.navbar-brand{color:var(--primary-dark)!important}.navbar-brand small{font-size:.72rem;color:#4b5563}.nav-link{font-weight:500;color:#34495e!important;border-radius:999px;padding:.5rem .8rem!important}.nav-link.active,.nav-link:hover{background:var(--primary-soft);color:var(--primary-dark)!important}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#0b78d0,#8bd3ff);color:#fff;font-weight:700;box-shadow:0 8px 20px rgba(11,111,198,.25)}.brand-mark.large{width:74px;height:74px;border-radius:26px;font-size:1.7rem}.page-title{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.page-title h1{font-weight:700;margin:0;color:#0f3764}.page-title p{margin:0;color:var(--muted)}.card{border:1px solid rgba(191,219,254,.8);box-shadow:0 16px 42px rgba(14,96,164,.08)}.card-header{border-bottom:1px solid rgba(191,219,254,.75)}.btn-primary{background:linear-gradient(135deg,#0b6fc6,#1592e6);border-color:#0b6fc6}.btn-primary:hover{background:linear-gradient(135deg,#084c8a,#0b6fc6);border-color:#084c8a}.btn-outline-primary{border-color:#0b6fc6;color:#0b6fc6}.btn-outline-primary:hover{background:#0b6fc6;border-color:#0b6fc6}.form-control,.form-select,.input-group-text{border-color:#cfe8ff}.form-control:focus,.form-select:focus{border-color:#78c2ff;box-shadow:0 0 0 .25rem rgba(11,111,198,.12)}.hero-wrap{border-radius:34px;overflow:hidden;background:linear-gradient(135deg,#ffffff,#eaf7ff);border:1px solid #dbeafe}.hero-panel{background:radial-gradient(circle at top right,rgba(255,255,255,.35),transparent 30%),linear-gradient(135deg,#07599e,#0b83d8 65%,#42bdf7);color:white;border-radius:30px}.hero-badges span{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);padding:.55rem .8rem;border-radius:999px;font-weight:500}.quick-card{display:block;text-decoration:none;color:inherit;border-radius:22px;background:#fff;border:1px solid #dbeafe;padding:1.2rem;transition:.2s;min-height:150px}.quick-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(11,111,198,.12);border-color:#93cfff}.quick-card i{font-size:2rem;color:#0b6fc6}.login-bg{background:radial-gradient(circle at top left,rgba(11,111,198,.18),transparent 30%),linear-gradient(135deg,#eef8ff,#ffffff)}.login-card{max-width:1040px;border-radius:30px}.login-hero{background:linear-gradient(135deg,#07599e,#0b83d8 60%,#59c8ff)}.stat-card{display:flex;align-items:center;justify-content:space-between;padding:1.2rem;border-radius:24px;background:#fff;border:1px solid #dbeafe;box-shadow:0 14px 30px rgba(11,111,198,.08);text-decoration:none;color:inherit;transition:.2s}.stat-card:hover{transform:translateY(-3px);box-shadow:0 20px 42px rgba(11,111,198,.16)}.stat-card span{display:block;color:var(--muted);font-weight:500}.stat-card strong{font-size:2rem;color:#0f3764}.stat-card i{font-size:2.4rem;color:#0b6fc6}.stat-card.primary{background:linear-gradient(135deg,#fff,#eaf6ff)}.stat-card.warning i{color:#e0a000}.stat-card.success i{color:#16a34a}.stat-card.danger i{color:#dc2626}.table thead th{background:#f0f8ff;color:#315472;font-weight:600;white-space:nowrap}.table td{vertical-align:middle}.detail-list dt{color:#315472}.detail-list dd{margin-bottom:.75rem}.preline{white-space:pre-line}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:11px;top:0;bottom:0;width:2px;background:#cfe8ff}.timeline-item{position:relative;padding-left:36px;margin-bottom:1.25rem}.timeline-dot{position:absolute;left:4px;top:5px;width:16px;height:16px;border-radius:50%;background:#0b6fc6;border:3px solid #eaf6ff}.timeline-content{background:#f8fcff;border:1px solid #dbeafe;border-radius:18px;padding:1rem}.badge{font-weight:500}.footer{background:#fff;border-top:1px solid #dbeafe}.print-only{display:none}.report-heading{display:none}
@media print{html,body,button,input,select,textarea,.table,.badge{font-family:'Sarabun','Noto Sans Thai',Tahoma,sans-serif!important}.navbar,.footer,.no-print,.btn,.alert{display:none!important}body{background:#fff}.container-fluid{padding:0!important}.card{box-shadow:none!important;border:0!important}.card-header{background:#fff!important}.report-heading{display:block;text-align:center;margin-bottom:1rem}.print-only{display:block}.table{font-size:12px}.table thead th{background:#fff!important;color:#000!important;border-bottom:2px solid #000}.badge{border:1px solid #000;color:#000!important;background:#fff!important}.page-title{display:none}}
.brand-logo{width:190px;max-height:54px;object-fit:contain}.brand-title strong{font-size:1rem}.brand-title small{font-size:.7rem;color:#4b5563}.login-logo{max-width:280px;max-height:92px;object-fit:contain;background:rgba(255,255,255,.88);border-radius:18px;padding:.65rem}.home-hero{position:relative;overflow:hidden;border-radius:34px;background:linear-gradient(135deg,#ffffff 0%,#eef8ff 52%,#dff3ff 100%);border:1px solid #dbeafe;box-shadow:0 26px 70px rgba(14,96,164,.12)}.home-hero:before{content:"";position:absolute;right:-90px;top:-120px;width:320px;height:320px;border-radius:50%;background:rgba(11,111,198,.12)}.home-hero:after{content:"";position:absolute;left:40%;bottom:-150px;width:420px;height:220px;border-radius:50%;background:rgba(66,189,247,.16)}.home-copy,.modern-panel{position:relative;z-index:1}.hero-logo-card{display:inline-flex;background:#fff;border:1px solid #dbeafe;border-radius:24px;padding:.85rem 1rem;box-shadow:0 16px 34px rgba(11,111,198,.10)}.hero-logo{max-width:360px;max-height:92px;object-fit:contain}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;background:#e8f4ff;color:#0b579c;border:1px solid #cfe8ff;border-radius:999px;padding:.45rem .8rem;font-weight:600}.modern-panel{min-height:420px;border-radius:30px;background:linear-gradient(160deg,#07599e,#0b83d8 62%,#43c0f6);color:#fff;box-shadow:0 26px 70px rgba(11,111,198,.22)}.floating-icon{width:86px;height:86px;border-radius:28px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;border:1px solid rgba(255,255,255,.22)}.floating-icon i{font-size:2.6rem}.feature-line{display:flex;gap:.8rem;align-items:flex-start;padding:.85rem 0;border-bottom:1px solid rgba(255,255,255,.18)}.feature-line:last-child{border-bottom:0}.feature-line i{font-size:1.25rem;margin-top:.15rem}.feature-line span{font-weight:500}.department-other-wrap.d-none{display:none!important}
@media(max-width:991px){.brand-logo{width:150px}.brand-title small{display:none}.hero-logo{max-width:260px}.modern-panel{min-height:auto}.home-copy{padding-bottom:0!important}}
@media(max-width:575px){.brand-logo{width:120px}.brand-title strong{font-size:.9rem}.hero-logo{max-width:220px}.home-hero{border-radius:24px}.modern-panel{border-radius:24px}}
.site-container{max-width:1280px}
.status-image{max-width:100%;width:260px;max-height:220px;object-fit:cover;border-radius:16px;border:1px solid #dbeafe;box-shadow:0 10px 24px rgba(11,111,198,.12)}
.status-image-link:hover .status-image{transform:translateY(-2px);box-shadow:0 14px 30px rgba(11,111,198,.18)}
.status-image{transition:.2s}
@media(min-width:1400px){.site-container{max-width:1320px}}


/* Font weight refinement: keep V5 layout while making Sarabun easier to read */
h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:-.01em}
.fw-bold{font-weight:600!important}
.fw-semibold{font-weight:500!important}
.btn{font-weight:500;letter-spacing:.01em}
.card-header strong,.card-title{font-weight:600}
.dropdown-item,.form-label{font-weight:400}
.table td{font-weight:400}
.stat-card strong{font-weight:700;letter-spacing:-.02em}

/* V5 report and staff workflow refinements */
.report-document{background:#fff;border:1px solid #dbeafe;border-radius:28px;padding:2rem;box-shadow:0 18px 50px rgba(14,96,164,.10);margin-bottom:2rem}
.report-official-header{display:flex;align-items:center;gap:1.25rem;border-bottom:3px double #cfe8ff;padding-bottom:1.25rem;margin-bottom:1.25rem}
.report-logo{width:210px;max-height:72px;object-fit:contain}
.report-title-block{flex:1;text-align:center;color:#0f3764}.report-title-block h2{font-weight:700;font-size:1.55rem;margin:.35rem 0 .15rem}.report-title-block p{margin:0;color:#4b5563}.report-org{font-weight:700;font-size:1.05rem}.report-unit{font-weight:500;color:#315472}.report-meta-box{display:grid;grid-template-columns:1.3fr .7fr .8fr;gap:.8rem;background:#f7fbff;border:1px solid #dbeafe;border-radius:18px;padding:1rem;margin-bottom:1.2rem}.report-summary-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.8rem;margin-bottom:1.2rem}.report-summary-card{border:1px solid #dbeafe;background:linear-gradient(180deg,#fff,#f5fbff);border-radius:18px;padding:.9rem;text-align:center}.report-summary-card span{display:block;color:#64748b;font-weight:600;font-size:.9rem}.report-summary-card strong{font-size:1.6rem;color:#0b579c}.mini-report-box{border:1px solid #dbeafe;border-radius:18px;background:#fbfdff;padding:1rem;height:100%}.mini-report-box h3,.report-section-title{font-size:1.05rem;font-weight:700;color:#0f3764;margin-bottom:.8rem}.summary-line{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px dashed #dbeafe}.summary-line:last-child{border-bottom:0}.report-table{border:1px solid #cfe8ff}.report-table th,.report-table td{border:1px solid #dbeafe}.report-table thead th{background:#eaf6ff!important;color:#0f3764}.report-note{margin-top:1rem;border-left:4px solid #0b6fc6;background:#f7fbff;padding:.85rem 1rem;border-radius:12px;color:#334155}.report-signatures{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem;margin-top:3rem;text-align:center}.signature-line{border-bottom:1px solid #334155;width:80%;margin:0 auto 1rem}.report-signatures p{margin:0 0 .3rem;color:#475569}
@media(min-width:1200px){.site-container{max-width:1180px}.container-fluid .site-container{max-width:1180px}}
@media(max-width:991px){.report-official-header{flex-direction:column;text-align:center}.report-logo{width:250px}.report-meta-box,.report-summary-grid{grid-template-columns:1fr 1fr}.report-summary-grid{gap:.6rem}.report-signatures{grid-template-columns:1fr;gap:2rem}}
@media(max-width:575px){.report-document{padding:1.2rem}.report-meta-box,.report-summary-grid{grid-template-columns:1fr}.report-logo{width:220px}}
@media print{body{background:#fff!important;color:#000}.site-container{max-width:100%!important;width:100%!important;padding:0!important;margin:0!important}.report-document{box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important;margin:0!important}.report-official-header{border-bottom:3px double #000}.report-logo{width:170px;max-height:62px}.report-title-block,.report-title-block h2,.report-org,.report-unit{color:#000!important}.report-meta-box{grid-template-columns:1fr;border:1px solid #000;background:#fff!important;border-radius:0}.report-summary-grid{grid-template-columns:repeat(6,1fr);gap:.35rem}.report-summary-card{border:1px solid #000!important;border-radius:0!important;background:#fff!important;padding:.45rem}.report-summary-card span{font-size:11px;color:#000!important}.report-summary-card strong{font-size:18px;color:#000!important}.mini-report-box{display:none}.report-section-title{color:#000!important}.report-table{font-size:10.5px}.report-table th,.report-table td{border:1px solid #000!important;padding:.32rem}.report-table thead th{background:#fff!important;color:#000!important}.report-note{border:1px solid #000;border-left:4px solid #000;background:#fff!important;border-radius:0;font-size:11px}.report-signatures{page-break-inside:avoid}.no-print-report-cards{display:none!important}}


/* Final Sarabun enforcement for every UI component and print output */
html,body,button,input,select,textarea,optgroup,.btn,.form-control,.form-select,.input-group-text,.dropdown-menu,.navbar,.card,.table,.badge,.alert,.list-group-item,.modal,.tooltip,.popover{font-family:'Sarabun','Noto Sans Thai',Tahoma,sans-serif!important}
@media print{*{font-family:'Sarabun','Noto Sans Thai',Tahoma,sans-serif!important}}


/* Content width adjustment: expand desktop layout for easier reading */
.site-container{width:100%!important;max-width:min(96vw,1480px)!important}
@media(min-width:1600px){.site-container{max-width:1540px!important}}
@media(min-width:1200px){main.site-container{padding-left:2rem!important;padding-right:2rem!important}.report-document{padding-left:2.25rem;padding-right:2.25rem}}
@media(min-width:1400px){main.site-container{padding-left:2.5rem!important;padding-right:2.5rem!important}}
.report-table th,.report-table td{padding:.55rem .65rem}

/* Multiple assignees and official report print refinement */
select[multiple].form-select{min-height:11rem;padding:.65rem .75rem}
select[multiple].form-select option{padding:.45rem .55rem;border-radius:.35rem;margin:.08rem 0}
.official-report{max-width:1120px;margin-left:auto;margin-right:auto;color:#111827}
.official-memo-title{text-align:center;font-size:2rem;font-weight:700;letter-spacing:.02em;margin-bottom:1rem;color:#111827}
.official-memo-head{font-size:1.02rem;line-height:2;border-bottom:1px solid #d1d5db;padding-bottom:.8rem;margin-bottom:1.2rem}
.official-label{font-weight:700;display:inline-block;min-width:6rem;color:#111827}
.official-row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.official-paragraph{text-indent:2.5rem;line-height:1.9;margin-bottom:1rem;color:#111827}
.official-summary{margin-top:.5rem;margin-bottom:1.3rem}.official-table th,.official-table td{font-size:.92rem}.official-report-meta{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;border:1px solid #dbeafe;background:#f8fcff;border-radius:12px;padding:.8rem 1rem;margin-top:1rem}.official-signatures{grid-template-columns:1fr 1fr}
@media(max-width:767px){.official-row-2,.official-report-meta{grid-template-columns:1fr}.official-memo-title{font-size:1.55rem}.official-label{min-width:5rem}}
@page{size:A4;margin:12mm}
@media print{
  .official-report{max-width:100%!important;color:#000!important;font-size:12px;line-height:1.5}
  .official-memo-title{font-size:22px;margin-bottom:8px;color:#000!important}
  .official-memo-head{font-size:13px;line-height:1.7;border-bottom:1px solid #000;margin-bottom:10px;padding-bottom:6px}
  .official-row-2{grid-template-columns:1fr 1fr}.official-label{min-width:70px;color:#000!important}.official-paragraph{text-indent:32px;line-height:1.7;margin:8px 0}
  .report-summary-grid.official-summary{grid-template-columns:repeat(6,1fr)!important;gap:4px!important;margin-bottom:10px}
  .official-table{font-size:10px!important}.official-table th,.official-table td{padding:4px 5px!important;vertical-align:top!important}.official-table small{font-size:9px!important;color:#000!important}.official-table strong{font-weight:600}
  .official-report-meta{display:grid;grid-template-columns:1fr 1fr;border:1px solid #000;background:#fff!important;border-radius:0;padding:6px 8px;font-size:11px}
  .official-signatures{display:grid;grid-template-columns:1fr 1fr;margin-top:22px}.official-signatures .signature-line{border-bottom:1px dotted #000;width:82%;height:28px}
}

/* Modern formal report refinement: clean report, not memo style */
.modern-formal-report{max-width:1180px;margin-left:auto;margin-right:auto;color:#0f172a;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);border:1px solid #dbeafe;border-radius:26px;overflow:hidden}
.modern-report-header{display:grid;grid-template-columns:210px 1fr 180px;gap:1rem;align-items:center;border-bottom:1px solid #dbeafe;background:linear-gradient(135deg,#eff8ff 0%,#ffffff 62%,#f8fbff 100%);margin:-2rem -2rem 1.4rem;padding:1.35rem 2rem}
.modern-report-logo{max-width:185px;max-height:70px;object-fit:contain}.modern-report-title-wrap{text-align:center}.modern-report-kicker{display:inline-block;background:#dbeafe;color:#1e40af;border-radius:999px;padding:.25rem .85rem;font-weight:600;font-size:.9rem;margin-bottom:.45rem}.modern-report-title-wrap h2{font-size:1.65rem;font-weight:700;color:#0f3764;margin:0 0 .25rem}.modern-report-title-wrap p{color:#475569;margin:0;font-weight:500}.modern-report-datebox{background:#fff;border:1px solid #bfdbfe;border-radius:18px;padding:.8rem;text-align:center;box-shadow:0 10px 24px rgba(37,99,235,.08)}.modern-report-datebox span,.modern-report-meta-grid span,.modern-report-footer-meta span{display:block;color:#64748b;font-size:.86rem;font-weight:600}.modern-report-datebox strong,.modern-report-meta-grid strong,.modern-report-footer-meta strong{display:block;color:#0f3764;font-weight:700;margin-top:.15rem}.modern-report-meta-grid{display:grid;grid-template-columns:1fr 1.35fr .9fr;gap:.75rem;margin-bottom:1.1rem}.modern-report-meta-grid>div,.modern-report-footer-meta>div{border:1px solid #dbeafe;background:#f8fcff;border-radius:16px;padding:.8rem 1rem}.modern-report-intro{background:#ffffff;border-left:5px solid #2563eb;border-top:1px solid #e0f2fe;border-right:1px solid #e0f2fe;border-bottom:1px solid #e0f2fe;border-radius:16px;padding:1rem 1.15rem;line-height:1.8;color:#334155;margin-bottom:1.2rem}.modern-section-title{display:flex;align-items:center;gap:.5rem;color:#0f3764;border-bottom:1px solid #dbeafe;padding-bottom:.55rem;margin-top:1rem}.modern-section-title:before{content:"";width:10px;height:10px;border-radius:99px;background:#2563eb;box-shadow:0 0 0 5px #dbeafe}.modern-summary .report-summary-card{background:linear-gradient(180deg,#ffffff,#f8fcff);border-color:#cfe8ff;box-shadow:0 12px 28px rgba(15,55,100,.06)}.modern-summary .report-summary-card strong{color:#1d4ed8}.modern-mini-box{background:#fff;border-color:#dbeafe;box-shadow:0 12px 28px rgba(15,55,100,.05)}.modern-report-table thead th{background:#eaf6ff!important;color:#0f3764;font-weight:700}.modern-report-table td,.modern-report-table th{vertical-align:top}.modern-report-note{margin-top:1.1rem;border:1px solid #dbeafe;background:#f8fcff;border-radius:16px;padding:.9rem 1.05rem;line-height:1.75;color:#334155}.modern-report-footer-meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem;margin-top:1rem}.modern-signatures{margin-top:2.6rem}
@media(max-width:991px){.modern-report-header{grid-template-columns:1fr;text-align:center}.modern-report-logo-wrap{text-align:center}.modern-report-meta-grid,.modern-report-footer-meta{grid-template-columns:1fr}.modern-report-title-wrap h2{font-size:1.35rem}}
@media print{.modern-formal-report{max-width:100%!important;background:#fff!important;color:#000!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;overflow:visible!important}.modern-report-header{grid-template-columns:150px 1fr 125px!important;background:#fff!important;border-bottom:2px solid #000!important;margin:0 0 8px 0!important;padding:0 0 8px 0!important;gap:8px!important}.modern-report-logo{max-width:145px!important;max-height:55px!important}.modern-report-kicker{background:#fff!important;border:1px solid #000!important;color:#000!important;font-size:10px!important;padding:2px 8px!important}.modern-report-title-wrap h2{font-size:18px!important;color:#000!important;margin:2px 0!important}.modern-report-title-wrap p{font-size:11px!important;color:#000!important}.modern-report-datebox{border:1px solid #000!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;padding:5px!important}.modern-report-datebox span,.modern-report-meta-grid span,.modern-report-footer-meta span{font-size:9.5px!important;color:#000!important}.modern-report-datebox strong,.modern-report-meta-grid strong,.modern-report-footer-meta strong{font-size:10.5px!important;color:#000!important}.modern-report-meta-grid{grid-template-columns:1fr 1.2fr .8fr!important;gap:4px!important;margin-bottom:8px!important}.modern-report-meta-grid>div,.modern-report-footer-meta>div{border:1px solid #000!important;border-radius:0!important;background:#fff!important;padding:4px 6px!important}.modern-report-intro{border:1px solid #000!important;border-left:4px solid #000!important;border-radius:0!important;background:#fff!important;font-size:11px!important;line-height:1.55!important;margin-bottom:8px!important;padding:6px 8px!important}.modern-section-title{font-size:12px!important;border-bottom:1px solid #000!important;color:#000!important;margin:8px 0 6px!important;padding-bottom:3px!important}.modern-section-title:before{display:none!important}.report-summary-grid.modern-summary{grid-template-columns:repeat(6,1fr)!important;gap:4px!important;margin-bottom:8px!important}.report-secondary-summary{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;margin-bottom:8px!important}.modern-mini-box{border:1px solid #000!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;padding:6px!important}.modern-mini-box h3{font-size:11px!important;color:#000!important;margin-bottom:4px!important}.summary-line{font-size:10px!important;padding:2px 0!important;border-bottom:1px dotted #999!important}.modern-report-table{font-size:9.5px!important}.modern-report-table th,.modern-report-table td{padding:3.5px 4px!important;border:1px solid #000!important}.modern-report-table thead th{background:#fff!important;color:#000!important}.modern-report-table small{font-size:8.5px!important;color:#000!important}.modern-report-note{border:1px solid #000!important;border-radius:0!important;background:#fff!important;font-size:10px!important;line-height:1.45!important;padding:5px 7px!important;margin-top:8px!important}.modern-report-footer-meta{grid-template-columns:1fr 1fr 1fr!important;gap:4px!important;margin-top:6px!important}.modern-signatures{display:grid!important;grid-template-columns:1fr 1fr!important;margin-top:18px!important}.modern-signatures .signature-line{border-bottom:1px dotted #000;width:82%;height:26px}}

/* Pagination and table display controls */
.table-toolbar{background:linear-gradient(180deg,#ffffff,#f8fcff)}
.table-page-size{width:auto;min-width:86px;border-radius:999px;font-weight:500;color:#0f3764}
.pagination .page-link{border-color:#cfe8ff;color:#0b6fc6;font-weight:500;border-radius:10px;margin:0 .08rem}
.pagination .page-item.active .page-link{background:#0b6fc6;border-color:#0b6fc6;color:#fff;box-shadow:0 8px 18px rgba(11,111,198,.18)}
.pagination .page-item.disabled .page-link{color:#94a3b8;background:#f8fafc}
@media(max-width:575px){.table-toolbar{padding-left:1rem!important;padding-right:1rem!important}.pagination{justify-content:center;flex-wrap:wrap;gap:.15rem}}
@media print{.table-toolbar{display:none!important}}


/* Report header/logo refinement: keep staff report header identical to admin report and prevent oversized logo */
.admin-report-document .modern-report-header,
.staff-report-document .modern-report-header{
    grid-template-columns:140px minmax(0,1fr) 160px;
    align-items:center;
}
.admin-report-document .modern-report-logo-wrap,
.staff-report-document .modern-report-logo-wrap{
    display:flex;
    align-items:center;
    justify-content:flex-start;
}
.admin-report-document .modern-report-logo,
.staff-report-document .modern-report-logo{
    width:120px!important;
    max-width:120px!important;
    height:auto!important;
    max-height:42px!important;
    object-fit:contain!important;
}
.admin-report-document .modern-report-title-wrap,
.staff-report-document .modern-report-title-wrap{
    min-width:0;
}
@media(max-width:991px){
    .admin-report-document .modern-report-header,
    .staff-report-document .modern-report-header{
        grid-template-columns:1fr;
        text-align:center;
    }
    .admin-report-document .modern-report-logo-wrap,
    .staff-report-document .modern-report-logo-wrap{
        justify-content:center;
    }
    .admin-report-document .modern-report-logo,
    .staff-report-document .modern-report-logo{
        width:110px!important;
        max-width:110px!important;
        max-height:40px!important;
    }
}
@media print{
    .admin-report-document .modern-report-header,
    .staff-report-document .modern-report-header{
        grid-template-columns:95px minmax(0,1fr) 115px!important;
        align-items:center!important;
        gap:6px!important;
    }
    .admin-report-document .modern-report-logo-wrap,
    .staff-report-document .modern-report-logo-wrap{
        justify-content:flex-start!important;
    }
    .admin-report-document .modern-report-logo,
    .staff-report-document .modern-report-logo{
        width:88px!important;
        max-width:88px!important;
        height:auto!important;
        max-height:32px!important;
        object-fit:contain!important;
    }
    .admin-report-document .modern-report-title-wrap,
    .staff-report-document .modern-report-title-wrap{
        text-align:center!important;
    }
    .admin-report-document .modern-report-datebox,
    .staff-report-document .modern-report-datebox{
        min-width:0!important;
    }
}

/* Pagination v2: controls at the bottom of table */
.table-toolbar-bottom{border-bottom:0!important;background:linear-gradient(180deg,#ffffff,#f8fcff);border-radius:0 0 1rem 1rem}
.table-toolbar-bottom .pagination{gap:.18rem}
.table-toolbar-bottom .page-link{min-width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:12px!important}
.table-toolbar-bottom .page-link i{font-size:.95rem;line-height:1}
@media(min-width:1200px){.w-xl-auto{width:auto!important}}

/* Executive report */
.executive-report-page{max-width:1320px;margin-left:auto;margin-right:auto}
.executive-hero{background:linear-gradient(135deg,#ffffff 0%,#eff8ff 58%,#dff3ff 100%);overflow:hidden;position:relative}
.executive-hero:before{content:"";position:absolute;right:-90px;top:-100px;width:280px;height:280px;border-radius:50%;background:rgba(37,99,235,.10)}
.executive-kicker{display:inline-flex;align-items:center;gap:.45rem;background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:.38rem .75rem;font-weight:700;margin-bottom:.65rem}
.executive-hero h2{font-weight:700;color:#0f3764;margin:0}
.executive-rate-box{min-width:160px;background:#fff;border:1px solid #bfdbfe;border-radius:22px;padding:1rem;text-align:center;box-shadow:0 14px 30px rgba(37,99,235,.10)}
.executive-rate-box span{display:block;color:#64748b;font-weight:600}.executive-rate-box strong{display:block;color:#1d4ed8;font-size:2.1rem;line-height:1.1}
.exec-metric-card{height:100%;border-radius:24px;background:#fff;border:1px solid #dbeafe;padding:1.15rem 1.25rem;box-shadow:0 14px 30px rgba(15,55,100,.07)}
.exec-metric-card span{display:block;color:#64748b;font-weight:600}.exec-metric-card strong{display:block;font-size:2rem;color:#0f3764;margin:.15rem 0}.exec-metric-card small{color:#64748b}.exec-metric-card.success strong{color:#16a34a}.exec-metric-card.warning strong{color:#d97706}.exec-metric-card.info strong{color:#0891b2}
.chart-card{height:100%;min-height:250px;background:#fff;border:1px solid #dbeafe;border-radius:20px;padding:.9rem;box-shadow:0 10px 24px rgba(15,55,100,.06)}
.chart-card h3{font-size:.98rem;font-weight:700;color:#0f3764;margin-bottom:.7rem}.chart-card canvas{width:100%!important;min-height:170px!important;max-height:220px!important}.executive-table small{color:#64748b}
@media print{.executive-report-page{max-width:100%!important}.executive-hero,.exec-metric-card,.chart-card{box-shadow:none!important;border:1px solid #000!important;background:#fff!important}.chart-card{break-inside:avoid;min-height:270px}.executive-rate-box{border:1px solid #000!important;box-shadow:none!important}.executive-table{font-size:10px!important}.executive-table th,.executive-table td{border:1px solid #000!important;padding:4px!important}.executive-table thead th{background:#fff!important;color:#000!important}}

/* Upload/Executive public view refinements */
@media(min-width:1400px){.site-container{max-width:1440px}}
@media(min-width:1700px){.site-container{max-width:1540px}.executive-report-page{max-width:1500px}}
.executive-page-title h1{color:#0f3764}
.executive-filter-card{background:linear-gradient(180deg,#ffffff,#f8fcff)}
.executive-filter-card .form-label{font-size:.92rem;color:#315472;font-weight:500}
.executive-filter-card .form-control,.executive-filter-card .form-select{min-height:42px;border-radius:14px}
.executive-filter-card .btn{min-height:42px;border-radius:14px}
.executive-metrics .exec-metric-card{min-height:132px;display:flex;flex-direction:column;justify-content:center}
.executive-chart-grid .chart-card{overflow:hidden}
.executive-chart-grid .chart-card canvas{max-width:100%}
.executive-table{min-width:1040px}
.executive-table th,.executive-table td{padding:.75rem .85rem;vertical-align:top}
.executive-table thead th{position:sticky;top:0;z-index:1}
@media(max-width:991px){.executive-page-title{align-items:flex-start}.executive-rate-box{width:100%;max-width:260px}.chart-card{min-height:235px}.chart-card canvas{min-height:160px!important;max-height:205px!important}.executive-hero .card-body{padding:1.5rem!important}}
@media(max-width:575px){.executive-filter-card .card-body{padding:1rem!important}.exec-metric-card strong{font-size:1.65rem}.chart-card{border-radius:18px;padding:.85rem;min-height:225px}.chart-card h3{font-size:.95rem}.chart-card canvas{min-height:155px!important;max-height:190px!important}.executive-table{font-size:.92rem}.executive-rate-box{max-width:100%}.executive-kicker{font-size:.9rem}.executive-hero h2{font-size:1.35rem}}
@media print{.executive-page-title .badge{display:none!important}.executive-filter-card{display:none!important}}

.upload-resize-status{line-height:1.45}

/* Upload fix v2 + executive chart desktop refinement */
.upload-resize-status.text-success::before{content:"✓ ";font-weight:700}
.upload-resize-status.text-danger::before{content:"! ";font-weight:700}

/* ให้กราฟหน้าผู้บริหารบนคอมพิวเตอร์ดูเป็นการ์ดกะทัดรัดแบบมือถือ ไม่ยืดใหญ่เกินไป */
.executive-chart-grid.row{
    --bs-gutter-x:1rem;
    --bs-gutter-y:1rem;
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(280px,380px));
    justify-content:center;
    align-items:stretch;
}
.executive-chart-grid.row>[class*="col-"]{
    width:100%!important;
    max-width:380px!important;
    padding-left:0!important;
    padding-right:0!important;
}
.executive-chart-grid .chart-card{
    min-height:232px;
    height:100%;
    padding:.9rem .95rem;
    border-radius:22px;
    background:linear-gradient(180deg,#ffffff 0%,#f8fcff 100%);
    box-shadow:0 10px 24px rgba(15,55,100,.07);
}
.executive-chart-grid .chart-card h3{
    font-size:.95rem;
    margin-bottom:.55rem;
    display:flex;
    align-items:center;
    gap:.4rem;
}
.executive-chart-grid .chart-card h3:before{
    content:"";
    width:8px;
    height:8px;
    border-radius:999px;
    background:#2563eb;
    box-shadow:0 0 0 4px rgba(37,99,235,.10);
}
.executive-chart-grid .chart-card canvas{
    min-height:150px!important;
    max-height:178px!important;
}
@media(min-width:1200px){
    .executive-chart-grid.row{grid-template-columns:repeat(3,minmax(300px,380px));}
}
@media(min-width:1600px){
    .executive-chart-grid.row{grid-template-columns:repeat(3,minmax(310px,390px));}
    .executive-chart-grid.row>[class*="col-"]{max-width:390px!important;}
}
@media(max-width:575px){
    .executive-chart-grid.row{grid-template-columns:1fr;}
    .executive-chart-grid.row>[class*="col-"]{max-width:100%!important;}
}

/* Upload fix v3: chunked upload + compact executive charts */
.upload-resize-status.text-warning::before{content:"! ";font-weight:700}
.upload-resize-status.text-muted::before{content:""}
.executive-chart-grid-main.row{
    grid-template-columns:repeat(auto-fit,minmax(280px,390px));
}
.executive-chart-grid-main .chart-card.primary-chart{
    border-color:#bfdbfe;
    box-shadow:0 12px 28px rgba(37,99,235,.085);
}
.executive-chart-grid-extra .chart-card{
    opacity:.98;
}
@media(min-width:1200px){
    .executive-chart-grid-main.row{grid-template-columns:repeat(3,minmax(300px,390px));}
    .executive-chart-grid-extra.row{grid-template-columns:repeat(3,minmax(300px,380px));}
}
@media(min-width:1600px){
    .executive-chart-grid-main.row{grid-template-columns:repeat(3,minmax(310px,405px));}
    .executive-chart-grid-main.row>[class*="col-"]{max-width:405px!important;}
}
@media(max-width:575px){
    .executive-chart-grid-main.row,.executive-chart-grid-extra.row{grid-template-columns:1fr;}
}

/* Executive report v6: clickable summary cards, assignee cards, and compact chart spacing */
.exec-click-card{display:flex!important;flex-direction:column;justify-content:center;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;cursor:pointer}
.exec-click-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(15,55,100,.13);border-color:#93c5fd;color:inherit}
.executive-assignee-panel{background:linear-gradient(180deg,#ffffff 0%,#f8fcff 100%)}
.exec-assignee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.85rem}
.exec-assignee-card{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"icon name count" "icon sub count";align-items:center;gap:.15rem .7rem;text-decoration:none;color:inherit;background:#fff;border:1px solid #dbeafe;border-radius:18px;padding:.85rem .95rem;box-shadow:0 10px 22px rgba(15,55,100,.055);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.exec-assignee-card:hover{transform:translateY(-2px);border-color:#93c5fd;box-shadow:0 16px 32px rgba(37,99,235,.12);color:inherit}
.exec-assignee-icon{grid-area:icon;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:14px;background:#eff6ff;color:#2563eb;font-size:1.2rem}
.exec-assignee-name{grid-area:name;font-weight:700;color:#0f3764;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.exec-assignee-card strong{grid-area:count;color:#1d4ed8;font-size:1.65rem;line-height:1;font-weight:700;text-align:right}
.exec-assignee-card small{grid-area:sub;color:#64748b;font-weight:500}
.executive-chart-grid-main.row{gap:1.15rem!important;margin-left:0!important;margin-right:0!important}
.executive-chart-grid-main .chart-card.primary-chart{min-height:252px;padding:1rem 1.05rem}
.executive-chart-grid-main .chart-card.primary-chart canvas{min-height:168px!important;max-height:198px!important}
.executive-chart-grid-extra.row{gap:1.05rem!important;margin-left:0!important;margin-right:0!important}
.executive-table+.table-toolbar{background:#fbfdff;border-radius:0 0 1rem 1rem}
.modern-formal-report .table-toolbar{background:#fbfdff;border:1px solid #dbeafe;border-radius:0 0 18px 18px;margin-top:0}
@media(min-width:1200px){.exec-assignee-grid{grid-template-columns:repeat(4,minmax(190px,1fr))}.executive-chart-grid-main.row{grid-template-columns:repeat(3,minmax(300px,405px));column-gap:1.35rem!important;row-gap:1.35rem!important}.executive-chart-grid-main.row>[class*="col-"]{max-width:405px!important}.executive-chart-grid-extra.row{column-gap:1.25rem!important;row-gap:1.25rem!important}}
@media(min-width:1500px){.exec-assignee-grid{grid-template-columns:repeat(5,minmax(190px,1fr))}.executive-chart-grid-main.row{grid-template-columns:repeat(3,minmax(320px,430px))}.executive-chart-grid-main.row>[class*="col-"]{max-width:430px!important}}
@media(max-width:575px){.exec-assignee-grid{grid-template-columns:1fr}.exec-assignee-card{grid-template-columns:auto 1fr auto}.exec-assignee-name{white-space:normal}.executive-chart-grid-main .chart-card.primary-chart{min-height:230px}.executive-chart-grid-main .chart-card.primary-chart canvas{min-height:155px!important;max-height:190px!important}}
@media print{.executive-assignee-panel .exec-assignee-card,.exec-click-card{box-shadow:none!important;border:1px solid #000!important;background:#fff!important}}

/* Executive report refinements: cancelled metric and fixed three-chart layout */
.exec-metric-card.muted strong{color:#64748b}
.exec-metric-card.muted{border-color:#e2e8f0;background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)}
.exec-metric-card.muted:hover{border-color:#cbd5e1}
.executive-chart-grid-main.row{row-gap:1.4rem!important;column-gap:1.4rem!important;justify-content:center!important}
@media(min-width:1200px){.executive-chart-grid-main.row{grid-template-columns:repeat(3,minmax(300px,420px))!important}.executive-chart-grid-main.row>[class*="col-"]{max-width:420px!important}}


/* Executive ticket detail popup */
.executive-ticket-link{text-decoration:none;border-bottom:1px dashed rgba(37,99,235,.35)}
.executive-ticket-link:hover{border-bottom-color:#2563eb;text-decoration:none}
.executive-rate-box small{display:block;color:#64748b;font-size:.78rem;margin-top:.25rem;font-weight:500}
.executive-ticket-modal{overflow:hidden}
.executive-ticket-modal .modal-header{background:linear-gradient(135deg,#ffffff 0%,#eff6ff 100%)}
.executive-ticket-modal-title{font-size:1.05rem;font-weight:700;color:#0f3764;background:#f8fcff;border:1px solid #dbeafe;border-radius:18px;padding:.9rem 1rem}
.exec-detail-box{background:linear-gradient(180deg,#ffffff,#f8fcff);border:1px solid #dbeafe;border-radius:18px;padding:.85rem 1rem;height:100%}
.exec-detail-box span,.exec-detail-list span{display:block;color:#64748b;font-size:.88rem;font-weight:600;margin-bottom:.25rem}
.exec-detail-box strong{display:block;color:#1d4ed8;font-size:1rem;font-weight:700}
.exec-detail-list{background:#ffffff;border:1px solid #e2e8f0;border-radius:16px;padding:.85rem 1rem;height:100%}
.exec-detail-list strong,.exec-detail-list p{color:#0f172a;font-weight:600;line-height:1.55}
@media(max-width:575px){.executive-ticket-modal .modal-body{padding:1rem}.executive-ticket-modal-title{font-size:1rem}.exec-detail-box,.exec-detail-list{border-radius:14px;padding:.75rem .85rem}}


/* Executive ticket popup history timeline */
.exec-history-box{background:linear-gradient(180deg,#ffffff,#f8fcff);border:1px solid #dbeafe;border-radius:18px;padding:1rem;margin-top:.25rem}
.exec-history-head{display:flex;align-items:center;gap:.45rem;color:#0f3764;font-weight:700;margin-bottom:.85rem}
.exec-history-list{position:relative;display:flex;flex-direction:column;gap:.8rem}
.exec-history-item{display:grid;grid-template-columns:34px 1fr;gap:.65rem;position:relative}
.exec-history-item:not(:last-child)::before{content:"";position:absolute;left:16px;top:34px;bottom:-.8rem;width:2px;background:#dbeafe;border-radius:999px}
.exec-history-dot{position:relative;z-index:1;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe;box-shadow:0 6px 14px rgba(37,99,235,.10)}
.exec-history-body{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:.75rem .85rem;box-shadow:0 8px 20px rgba(15,55,100,.04)}
.exec-history-top{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;margin-bottom:.35rem}
.exec-history-top strong{font-size:.92rem;color:#1d4ed8;font-weight:700}
.exec-history-top span{font-size:.84rem;color:#64748b;font-weight:600}
.exec-history-status{display:inline-flex;align-items:center;width:auto;background:#ecfeff;color:#0e7490;border:1px solid #a5f3fc;border-radius:999px;padding:.18rem .55rem;font-size:.82rem;font-weight:700;margin-bottom:.45rem}
.exec-history-comment{white-space:pre-line;color:#0f172a;font-weight:500;line-height:1.55}
.exec-history-meta{display:flex;flex-wrap:wrap;gap:.45rem .8rem;margin-top:.55rem;font-size:.82rem;color:#64748b}
.exec-history-meta a{color:#2563eb;text-decoration:none;font-weight:700}
.exec-history-meta a:hover{text-decoration:underline}
.exec-history-image-preview{margin:.7rem 0 .35rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:.55rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.exec-history-image-preview img{display:block;width:100%;max-height:360px;object-fit:contain;border-radius:12px;background:#fff;border:1px solid #eef2f7}
.exec-history-image-caption{display:flex;align-items:center;gap:.35rem;margin-top:.45rem;color:#475569;font-size:.82rem;font-weight:700}
.exec-history-empty{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:.8rem;text-align:center;font-weight:600}
@media(max-width:575px){.exec-history-box{border-radius:14px;padding:.85rem}.exec-history-item{grid-template-columns:28px 1fr;gap:.55rem}.exec-history-dot{width:28px;height:28px;font-size:.85rem}.exec-history-item:not(:last-child)::before{left:13px;top:28px}.exec-history-body{border-radius:14px;padding:.7rem}.exec-history-top{display:block}.exec-history-top span{display:block;margin-top:.15rem}}
