:root{
  --navy-950:#071a3d;--navy-900:#0a2452;--navy-800:#10366c;--blue-600:#2563eb;--blue-500:#3b82f6;
  --violet:#6d4aff;--surface:#ffffff;--bg:#f4f7fb;--text:#1f2a3d;--muted:#68758a;--line:#e4eaf2;
  --shadow:0 12px 34px rgba(8,31,75,.14);--radius:14px
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:Tahoma,"Noto Sans Thai",Arial,sans-serif;margin:0;background:var(--bg);color:var(--text);font-size:15px;line-height:1.55;overflow-wrap:anywhere}
a{color:#1769aa}img,video{max-width:100%;height:auto}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:22px;height:22px;display:inline-block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}

/* ===== Modern Header / Navigation ===== */
.site-header{position:sticky;top:0;z-index:1000;background:transparent;box-shadow:0 3px 16px rgba(8,31,75,.11)}
.topbar{background:linear-gradient(115deg,var(--navy-950) 0%,#0b2a60 55%,#112e67 100%);color:#fff}
.header-inner{max-width:1440px;margin:0 auto;padding:13px 24px;display:flex;align-items:center;gap:18px}
.topbar-inner{min-height:82px}
.brand{color:#fff;text-decoration:none;display:flex;align-items:center;gap:13px;min-width:0}
.brand-mark{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#2867ff,#7048ff);box-shadow:0 0 0 3px rgba(255,255,255,.08),0 8px 24px rgba(58,77,255,.34);color:#fff;flex:0 0 auto}.brand-mark .icon{width:30px;height:30px;stroke-width:1.7}.brand-mark.small{width:38px;height:38px;border-radius:12px}.brand-mark.small .icon{width:23px;height:23px}
.brand-copy{display:flex;flex-direction:column;min-width:0}.brand-line{display:flex;align-items:center;gap:9px}.brand-title{font-size:22px;font-weight:800;letter-spacing:-.2px;white-space:nowrap}.brand-chip{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:8px;background:linear-gradient(135deg,#7252ff,#8d5cff);font-size:12px;font-weight:800;box-shadow:0 4px 12px rgba(110,72,255,.3)}.brand-subtitle{font-size:13px;color:#cdd9ef;margin-top:3px;white-space:nowrap}
.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.quick-notification{position:relative;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#dfeaff;text-decoration:none;transition:.2s}.quick-notification:hover{background:rgba(255,255,255,.09);color:#fff}.quick-notification .icon{width:24px;height:24px}.user-pill{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;padding:7px 10px;border-radius:13px;transition:.2s}.user-pill:hover{background:rgba(255,255,255,.08)}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#eef4ff,#cfdcff);color:#163a75;border:2px solid #4387ff;box-shadow:0 0 0 3px rgba(67,135,255,.13);flex:0 0 auto}.avatar .icon{width:23px;height:23px}.user-pill-copy{display:flex;flex-direction:column;max-width:210px}.user-pill-copy strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-pill-copy small,.drawer-profile small{color:#b9c9e7;font-size:12px;margin:1px 0 0}
.notification-badge{position:absolute;top:2px;right:0;display:grid;place-items:center;min-width:19px;height:19px;border-radius:10px;background:#ff405d;color:#fff;font-size:10px;font-weight:800;padding:0 5px;box-shadow:0 3px 9px rgba(255,64,93,.35)}
.nav-toggle{display:none;background:transparent;color:#fff;border:0;padding:0;width:42px;height:42px;border-radius:11px;place-items:center;cursor:pointer}.nav-toggle:hover{background:rgba(255,255,255,.09)}
.nav-layer{background:linear-gradient(105deg,#0a2350,#103975);color:#fff}.main-nav{max-width:1440px;margin:0 auto;padding:0 24px;display:flex;align-items:center;min-height:61px;gap:12px}.nav-links{display:flex;align-items:stretch;gap:5px;min-width:0;flex:1;overflow-x:auto;scrollbar-width:none}.nav-links::-webkit-scrollbar{display:none}.nav-item{position:relative;display:flex;align-items:center;gap:8px;color:#e7efff!important;text-decoration:none;padding:0 14px;min-height:61px;border-radius:0;font-weight:600;white-space:nowrap;transition:.18s}.nav-item .icon{width:21px;height:21px}.nav-item:hover{background:rgba(255,255,255,.075);color:#fff!important}.nav-item.is-active{background:linear-gradient(180deg,rgba(56,112,255,.30),rgba(35,92,224,.22));color:#fff!important}.nav-item.is-active:after{content:"";position:absolute;left:11px;right:11px;bottom:0;height:3px;border-radius:4px 4px 0 0;background:#42a5ff;box-shadow:0 -2px 9px rgba(66,165,255,.7)}.nav-item .notification-badge{position:static;margin-left:1px;min-width:20px;height:20px}.nav-section-label{display:none}.drawer-head,.drawer-profile{display:none}.desktop-account-links{display:flex;align-items:center;border-left:1px solid rgba(255,255,255,.13);padding-left:10px;flex:0 0 auto}.desktop-account-links a{display:flex;align-items:center;gap:6px;color:#dce8ff;text-decoration:none;padding:8px 9px;border-radius:9px;white-space:nowrap;font-size:13px}.desktop-account-links a:hover{background:rgba(255,255,255,.08);color:#fff}.desktop-account-links .icon{width:19px;height:19px}.mobile-only{display:none!important}.nav-backdrop{display:none}

.container{width:100%;max-width:1220px;margin:24px auto;padding:0 18px;min-height:calc(100vh - 210px)}
h1,h2,h3{line-height:1.3;margin-top:0}h2{font-size:25px;margin-bottom:16px}h3{font-size:18px}
.card{background:#fff;border-radius:14px;padding:18px;box-shadow:0 3px 14px rgba(18,58,99,.07);margin-bottom:18px;border:1px solid rgba(18,58,99,.055)}.auth-card{max-width:720px;margin:58px auto}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.grid>.card{height:100%}.stat{font-size:30px;font-weight:700}.muted{color:#667}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-group{margin-bottom:14px}label{display:block;font-weight:700;margin-bottom:6px}
input,select,textarea{width:100%;max-width:100%;padding:10px 11px;border:1px solid #ccd4df;border-radius:8px;background:#fff;color:#223;font:inherit;line-height:1.35;min-height:42px}textarea{resize:vertical;min-height:90px}input:focus,select:focus,textarea:focus{border-color:#4285bd;box-shadow:0 0 0 3px rgba(23,105,170,.12);outline:none}input[readonly]{background:#f0f2f5}.check,input[type="checkbox"],input[type="radio"]{width:auto;min-height:0;accent-color:#1769aa}.checkbox-line{display:flex;align-items:flex-start;gap:9px;padding:8px 0;font-weight:400}.checkbox-line input{margin-top:4px;flex:0 0 auto}
button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#1769aa;color:#fff;border:0;border-radius:8px;padding:10px 15px;min-height:42px;text-decoration:none;cursor:pointer;font:inherit;font-weight:600;vertical-align:middle;margin:2px 0}button:hover,.btn:hover{filter:brightness(.96)}.btn-secondary{background:#657384}.btn-success{background:#16834a}.btn-warning{background:#a56a12}.btn-danger{background:#b43838}
.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:9px}.table-wrap:focus{outline:2px solid #1769aa}table{width:100%;border-collapse:collapse;min-width:720px;background:#fff}th,td{padding:10px;border-bottom:1px solid #e5e8ed;text-align:left;vertical-align:top}th{background:#eef3f8;font-weight:700}td input,td select{min-width:95px}.table-wrap table tr:last-child td{border-bottom:0}
.alert{padding:12px 14px;border-radius:8px;background:#fff4d6;margin-bottom:15px}.success{background:#e4f6e9}.alert-info{border-left:4px solid #4b7bec;background:#eef4ff}.badge{display:inline-block;padding:4px 8px;border-radius:12px;background:#e8edf3;font-size:12px;white-space:normal}.badge-green{background:#dff4e7;color:#17663a}.badge-orange{background:#fff0d4;color:#865500}.badge-gray{background:#e8e8e8;color:#666}
footer{text-align:center;padding:22px 15px;color:#667;font-size:13px}.timeline{border-left:3px solid #d6dbe3;margin-left:12px;padding-left:20px}.timeline-item{padding:0 0 18px;position:relative}.timeline-item:before{content:"";width:11px;height:11px;border-radius:50%;background:#586579;position:absolute;left:-27px;top:5px}hr{border:0;border-top:1px solid #e4e7ec;margin:18px 0}small{display:block;margin-top:5px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.notification-list{padding:0;overflow:hidden}.notification-item{display:block;padding:15px 18px;border-bottom:1px solid #e5e8ed;text-decoration:none;color:#223;background:#fff}.notification-item:hover{background:#f6f9fc}.notification-item.unread{background:#eef6ff;border-left:4px solid #1769aa}.notification-title{font-weight:700;margin-bottom:5px}.notification-item small{color:#667;margin-top:6px}ul{padding-left:22px}li{margin-bottom:5px}.card p:last-child{margin-bottom:0}

/* ตารางเลือกประเภทสื่อจะเปลี่ยนเป็นการ์ดบนมือถือ */
@media(max-width:720px){
  .responsive-card-table{min-width:0;border-collapse:separate;border-spacing:0;background:transparent}
  .responsive-card-table>tbody,.responsive-card-table>tbody>tr,.responsive-card-table>tr{display:block;width:100%}
  .responsive-card-table>tbody>tr:first-child,.responsive-card-table>tr:first-child{display:none}
  .responsive-card-table>tbody>tr:not(:first-child),.responsive-card-table>tr:not(:first-child){background:#f8fafc;border:1px solid #e1e7ef;border-radius:10px;padding:10px 12px;margin:0 0 12px}
  .responsive-card-table td{display:grid;grid-template-columns:105px minmax(0,1fr);align-items:center;gap:10px;border:0;padding:7px 0;width:100%}
  .responsive-card-table td:before{content:attr(data-label);font-weight:700;color:#536273;font-size:13px}
  .responsive-card-table td input:not([type="checkbox"]),.responsive-card-table td select{min-width:0;width:100%}
}

@media(max-width:980px){
  .site-header{box-shadow:0 4px 18px rgba(8,31,75,.2)}.topbar-inner{min-height:66px;padding:9px 14px}.nav-toggle{display:grid;order:-1}.brand{gap:9px}.brand-mark{width:42px;height:42px;border-radius:13px}.brand-mark .icon{width:25px;height:25px}.brand-title{font-size:18px}.brand-subtitle{font-size:11px}.brand-chip{height:21px;padding:0 7px;font-size:10px}.user-pill-copy{display:none}.user-pill{padding:2px}.top-actions{gap:3px}.quick-notification{width:40px;height:40px}.avatar{width:38px;height:38px}.topbar{position:relative;z-index:1002}.nav-layer{background:transparent}
  .nav-backdrop{display:block;position:fixed;inset:0;background:rgba(6,15,32,.62);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:.22s;z-index:1000}.nav-backdrop.is-open{opacity:1;visibility:visible}
  .main-nav{position:fixed;top:0;left:0;bottom:0;width:min(340px,88vw);display:block;max-width:none;margin:0;padding:0;background:linear-gradient(180deg,#092456 0%,#0a326d 100%);box-shadow:18px 0 45px rgba(0,0,0,.28);transform:translateX(-105%);transition:transform .25s ease;z-index:1001;overflow-y:auto;overscroll-behavior:contain}.main-nav.is-open{transform:translateX(0)}
  .drawer-head{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;border-bottom:1px solid rgba(255,255,255,.09)}.drawer-brand{display:flex;align-items:center;gap:10px}.drawer-brand>div{display:flex;flex-direction:column}.drawer-brand strong{font-size:15px}.drawer-brand small{font-size:11px;color:#b8cae9;margin:0}.drawer-close{display:grid!important;width:38px;height:38px;min-height:0;padding:0;margin:0;border-radius:10px;background:rgba(255,255,255,.07);color:#fff}.drawer-close .icon{width:21px;height:21px}
  .drawer-profile{display:flex;align-items:center;gap:11px;margin:14px 14px 8px;padding:13px;border-radius:13px;background:linear-gradient(135deg,rgba(56,111,255,.25),rgba(92,64,210,.18));border:1px solid rgba(255,255,255,.08)}.drawer-profile>div{display:flex;flex-direction:column;min-width:0}.drawer-profile strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-profile .avatar{width:43px;height:43px}
  .nav-links{display:block;overflow:visible;padding:5px 12px 18px}.nav-item{min-height:48px;margin:3px 0;padding:0 12px;border-radius:10px}.nav-item.is-active{background:linear-gradient(90deg,#2762e7,#315de0);box-shadow:0 6px 18px rgba(24,76,210,.35)}.nav-item.is-active:after{display:none}.nav-item .notification-badge{position:static;margin-left:auto}.nav-section-label{display:block;color:#829cc6;font-size:11px;font-weight:700;text-transform:uppercase;padding:13px 12px 4px;letter-spacing:.4px}.desktop-account-links{display:none}.mobile-only{display:flex!important}.nav-section-label.mobile-only{display:block!important}.nav-logout{margin-top:4px!important;color:#ffd8de!important}.nav-logout:hover{background:rgba(255,72,101,.1)!important}
  body.nav-open{overflow:hidden}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.container{margin-top:16px;padding:0 14px}.auth-card{margin:28px auto}.page-head{align-items:flex-start}
}

@media(max-width:640px){
  body{font-size:15px}.topbar-inner{padding:8px 10px;gap:8px}.brand-mark{width:38px;height:38px;border-radius:11px}.brand-mark .icon{width:23px;height:23px}.brand-title{font-size:16px}.brand-subtitle{display:none}.brand-chip{font-size:9px;height:19px}.top-actions{margin-left:auto}.quick-notification{width:36px;height:36px}.quick-notification .icon{width:21px;height:21px}.user-pill{display:none}.nav-toggle{width:38px;height:38px}.nav-toggle .icon{width:23px;height:23px}
  .container{padding:0 10px;margin-top:12px}h2{font-size:21px;margin-bottom:12px}h3{font-size:17px}.card{border-radius:11px;padding:14px;margin-bottom:12px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grid .stat{font-size:25px}.form-row{grid-template-columns:1fr;gap:0}.page-head{display:block}.page-head form{margin-top:10px}
  input,select,textarea{font-size:16px;min-height:46px;padding:11px}input[type="checkbox"],input[type="radio"]{min-height:0;transform:scale(1.12);transform-origin:left center}.checkbox-line{min-height:44px;padding:10px 2px}
  button,.btn{min-height:46px;padding:11px 14px}.card>form>button:not(.btn-inline),.auth-card form>button{width:100%;margin-top:4px}.auth-card form>.btn{width:100%;margin-top:8px}
  .table-wrap{margin-left:0;margin-right:0}table:not(.responsive-card-table){min-width:680px}th,td{padding:9px}.notification-item{padding:13px 14px}.timeline{margin-left:7px;padding-left:17px}.timeline-item:before{left:-24px}.card ul{padding-left:19px}
}
@media(max-width:390px){.grid{grid-template-columns:1fr}.brand-title{font-size:15px}.brand-chip{display:none}.card{padding:12px}.container{padding:0 8px}.stat{font-size:24px}.main-nav{width:90vw}}
@media print{.site-header,footer,.btn,button{display:none!important}.container{max-width:none;margin:0;padding:0}.card{box-shadow:none;border:1px solid #ddd;break-inside:avoid}.table-wrap{overflow:visible}table{min-width:0}}

/* ===== v1.7.3 Request UX Fix ===== */
.page-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}.page-heading-row h2{margin-bottom:4px}.filter-action{align-self:flex-end}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.card-title-row h3,.card-title-row p{margin-top:0}.card-title-row p{margin-bottom:0}.btn-sm{padding:8px 12px;font-size:.9rem}.request-no-link,.subject-link{font-weight:700;text-decoration:none}.request-no-link:hover,.subject-link:hover{text-decoration:underline}.request-list-card{overflow:hidden}.request-table{width:100%}.request-table tbody tr{transition:background .15s ease}.request-table tbody tr:hover{background:#f7faff}.empty-state{text-align:center;padding:44px 20px;color:#637083}.empty-state.compact{padding:20px}.empty-state-icon{font-size:42px;margin-bottom:8px}.empty-state h3{margin:4px 0}.success-panel{display:flex;gap:18px;align-items:flex-start;background:linear-gradient(135deg,#ecfdf3,#f4fff8);border:1px solid #b9ebcc;border-radius:18px;padding:20px 22px;margin:0 0 18px;box-shadow:0 8px 24px rgba(17,115,64,.08)}.success-icon{display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:#168a4a;color:white;font-size:28px;font-weight:800}.success-copy h3{margin:0 0 5px;color:#126b3b}.success-copy p{margin:0;color:#355947;line-height:1.65}.success-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.service-grid{align-items:stretch}.service-card{display:flex;flex-direction:column}.service-card p{flex:1}.service-card-icon{font-size:32px;margin-bottom:4px}.recent-requests-card{margin-top:20px}.recent-request-list{display:flex;flex-direction:column}.recent-request-item{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 4px;border-top:1px solid #edf1f7;text-decoration:none;color:inherit;transition:background .15s ease,padding .15s ease}.recent-request-item:first-child{border-top:0}.recent-request-item:hover{background:#f7faff;padding-left:10px;padding-right:10px;border-radius:10px}.recent-request-main{display:flex;flex-direction:column;gap:4px;min-width:0}.recent-request-main strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-request-main span,.recent-request-meta>span:first-child{font-size:.9rem;color:#718096}.recent-request-meta{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.badge.status-submitted{background:#fff4d6;color:#946200}.badge.status-in_progress{background:#e8f2ff;color:#135ca6}.badge.status-completed{background:#e7f8ef;color:#147246}.badge.status-delivered{background:#dff7ed;color:#0d6840}.badge.status-cancelled{background:#fde8e8;color:#a52b2b}.badge.status-draft{background:#eef1f5;color:#5d6877}
@media (max-width:760px){.page-heading-row{align-items:stretch;flex-direction:column}.page-heading-row>.btn{width:100%;text-align:center}.success-panel{padding:16px;gap:12px}.success-icon{flex-basis:40px;width:40px;height:40px;font-size:23px}.success-actions{flex-direction:column}.success-actions .btn{width:100%;text-align:center}.recent-request-item{align-items:flex-start;flex-direction:column;gap:8px}.recent-request-meta{width:100%;justify-content:space-between}.request-table thead{display:none}.request-table,.request-table tbody,.request-table tr,.request-table td{display:block;width:100%}.request-table tr{padding:12px 0;border-bottom:1px solid #e6ebf2}.request-table tr:last-child{border-bottom:0}.request-table td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:10px;padding:6px 2px;border:0!important}.request-table td:before{content:attr(data-label);font-weight:700;color:#617086}.request-table td.row-action{display:block;padding-top:10px}.request-table td.row-action:before{display:none}.request-table td.row-action .btn{width:100%;text-align:center}}

/* ===== v1.8.0 User Account Management ===== */
.btn-danger{background:#b42318!important;color:#fff!important;border-color:#b42318!important}.btn-danger:hover{background:#912018!important}.user-actions{min-width:220px}.user-actions>button{margin:2px}.delete-user-box{margin-top:10px;padding-top:10px;border-top:1px dashed #e5b8b8}.delete-user-box label{display:block;font-size:12px;font-weight:700;color:#8f2424;margin-bottom:5px}.delete-user-box input{margin-bottom:6px;border-color:#e5b8b8}@media(max-width:760px){.user-actions{min-width:0}.delete-user-box .btn-danger{width:100%}}

/* ===== Prasri PR v1.8.1 Executive Dashboard ===== */
.container{max-width:1440px}
.exec-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:2px 0 18px}.exec-page-head h2{font-size:28px;margin:2px 0 3px;color:#172033}.exec-page-head p{margin:0;color:#758196}.exec-eyebrow{display:inline-flex;font-size:12px;font-weight:800;color:#11834f;background:#e9f8f0;border-radius:999px;padding:5px 10px}.exec-fy-filter{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #e5ebf2;box-shadow:0 4px 15px rgba(20,47,76,.06);padding:8px 10px;border-radius:12px}.exec-fy-filter label{margin:0;color:#526071;font-size:13px;white-space:nowrap}.exec-fy-filter select{width:auto;min-width:105px;border:0;background:#f5f8fb;font-weight:800;padding:8px 30px 8px 10px}
.exec-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-bottom:15px}.exec-kpi{display:flex;align-items:center;gap:13px;min-height:116px;background:#fff;border:1px solid #e6ebf2;border-radius:16px;padding:16px;text-decoration:none;color:#1f2937;box-shadow:0 6px 18px rgba(25,54,84,.055);transition:transform .18s ease,box-shadow .18s ease}.exec-kpi:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(25,54,84,.1)}.kpi-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;color:#fff;flex:0 0 auto}.exec-kpi .kpi-icon .icon{width:25px;height:25px}.exec-kpi small{font-weight:800;display:block;margin:0 0 2px;color:#526071}.exec-kpi strong{font-size:31px;line-height:1.05;display:inline-block;margin-right:5px}.exec-kpi span{font-size:12px;color:#7a8797}.exec-kpi.purple .kpi-icon{background:linear-gradient(135deg,#8b5cf6,#6840d5)}.exec-kpi.blue .kpi-icon{background:linear-gradient(135deg,#3498f5,#1474ce)}.exec-kpi.orange .kpi-icon{background:linear-gradient(135deg,#ffad38,#f07c12)}.exec-kpi.green .kpi-icon{background:linear-gradient(135deg,#45b963,#168a40)}.exec-kpi.teal{background:linear-gradient(135deg,#f1fcf6,#fff)}.exec-kpi.teal .kpi-icon{background:linear-gradient(135deg,#31b977,#128b56)}
.exec-admin-alert{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff9e8;border:1px solid #f2dfa0;border-radius:14px;padding:12px 16px;margin-bottom:15px}.exec-admin-alert strong,.exec-admin-alert span{display:block}.exec-admin-alert span{font-size:12px;color:#7c6b37;margin-top:2px}
.exec-chart-grid{display:grid;grid-template-columns:1.05fr 1.3fr;gap:15px;margin-bottom:15px}.exec-chart-grid.lower{grid-template-columns:1fr 1.1fr}.exec-panel{background:#fff;border:1px solid #e5ebf2;border-radius:16px;box-shadow:0 5px 18px rgba(25,54,84,.05);padding:16px;margin:0}.exec-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.exec-panel-head h3{font-size:16px;margin:0 0 2px;color:#263244}.exec-panel-head small{margin:0;color:#8792a0;font-size:12px}.exec-panel-head>a{font-size:12px;font-weight:700;text-decoration:none;color:#0c7b50;background:#edf9f4;padding:6px 9px;border-radius:8px;white-space:nowrap}
.donut-layout{display:grid;grid-template-columns:200px 1fr;align-items:center;gap:18px;min-height:260px}.donut-wrap{display:grid;place-items:center}.exec-donut{width:184px;height:184px;border-radius:50%;display:grid;place-items:center;position:relative}.exec-donut:after{content:"";position:absolute;inset:39px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px #eef2f6}.donut-center{position:relative;z-index:1;text-align:center}.donut-center strong{display:block;font-size:29px;color:#1d2939;line-height:1}.donut-center span{font-size:11px;color:#8190a1}.donut-legend{display:flex;flex-direction:column;gap:8px}.legend-row{display:grid;grid-template-columns:10px minmax(0,1fr) 34px 38px;align-items:center;gap:7px;font-size:12px}.legend-dot{width:9px;height:9px;border-radius:3px}.legend-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#465366}.legend-row strong{text-align:right}.legend-row em{font-style:normal;color:#8a96a5;text-align:right}
.status-chart{height:270px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:16px;padding:18px 16px 3px;border-bottom:1px solid #e5eaf0;background:linear-gradient(to top,rgba(232,238,245,.65) 1px,transparent 1px);background-size:100% 54px}.status-col{height:235px;display:grid;grid-template-rows:25px 1fr 42px;align-items:end;text-align:center}.bar-number{font-weight:800;color:#263244;font-size:13px}.bar-track{height:165px;display:flex;align-items:flex-end;justify-content:center}.bar-fill{width:min(66px,70%);min-height:5px;border-radius:7px 7px 2px 2px;box-shadow:0 4px 12px rgba(0,0,0,.08)}.bar-fill.purple{background:linear-gradient(#9567d8,#7446bc)}.bar-fill.yellow{background:linear-gradient(#f2c84b,#d9a914)}.bar-fill.blue{background:linear-gradient(#4a91e8,#2874c9)}.bar-fill.orange{background:linear-gradient(#ff9f45,#ea7218)}.bar-fill.green{background:linear-gradient(#49b768,#218c41)}.bar-label{font-size:11px;color:#59687a;padding-top:7px;line-height:1.3}
.month-chart{height:255px;display:grid;grid-template-columns:repeat(12,1fr);gap:7px;align-items:end;padding:15px 8px 0;border-bottom:1px solid #e5eaf0}.month-col{height:225px;display:grid;grid-template-rows:23px 1fr 32px;align-items:end;text-align:center}.month-value{font-size:11px;font-weight:800}.month-track{height:160px;display:flex;align-items:flex-end;justify-content:center}.month-fill{width:72%;max-width:32px;min-height:3px;background:linear-gradient(180deg,#55b66c,#238a43);border-radius:6px 6px 2px 2px}.month-label{font-size:10px;color:#647286;padding-top:6px;white-space:nowrap}
.workload-list{display:flex;flex-direction:column;gap:11px;max-height:280px;overflow:auto;padding-right:4px}.workload-row{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:12px;padding-bottom:9px;border-bottom:1px solid #edf1f5}.workload-row:last-child{border-bottom:0}.workload-person{display:flex;align-items:center;gap:9px;min-width:0}.work-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#e0ebff,#d9f4e6);display:grid;place-items:center;font-weight:900;color:#244f8d;flex:0 0 auto}.workload-person strong,.workload-person small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workload-person strong{font-size:12px}.workload-person small{font-size:10px;color:#8994a2;margin:1px 0 0}.workload-bars{display:flex;flex-direction:column;gap:5px}.work-line{display:grid;grid-template-columns:64px 1fr 24px;align-items:center;gap:7px;font-size:10px}.work-line span{color:#6b7888}.work-line b{text-align:right;font-size:11px}.work-track{height:7px;background:#edf1f5;border-radius:8px;overflow:hidden}.work-track i{display:block;height:100%;border-radius:8px}.work-track i.assigned{background:#3f82d7}.work-track i.finished{background:#42a85a}
.exec-bottom-grid{display:grid;grid-template-columns:.72fr 1.55fr;gap:15px;margin-bottom:15px}.urgent-panel{border-color:#f4dddd;background:linear-gradient(180deg,#fff,#fffafa)}.urgent-panel .exec-panel-head h3{color:#c53b3b}.urgent-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.urgent-grid>a{text-decoration:none;color:#263244;text-align:center;background:#fff;border:1px solid #f1e6e6;border-radius:13px;padding:12px 5px}.urgent-grid>a:hover{box-shadow:0 5px 14px rgba(127,54,54,.08)}.urgent-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;margin:0 auto 5px;font-size:18px}.urgent-icon.purple{background:#f0e9ff;color:#8250ca}.urgent-icon.orange{background:#fff0df;color:#e58a17}.urgent-icon.red{background:#ffe7e7;color:#db4141}.urgent-icon.amber{background:#fff4d8;color:#d58c08}.urgent-grid strong{display:block;font-size:23px}.urgent-grid small{font-size:10px;color:#a14747;margin:0}
.exec-latest-table{overflow:hidden}.latest-head,.latest-row{display:grid;grid-template-columns:145px minmax(0,1.65fr) minmax(110px,.7fr) 150px;gap:12px;align-items:center}.latest-head{padding:8px 10px;background:#f7f9fb;color:#6e7b8a;font-size:10px;font-weight:800;border-radius:8px}.latest-row{padding:10px;border-bottom:1px solid #edf1f5;color:#354052;text-decoration:none;font-size:11px}.latest-row:hover{background:#f8fbfd}.latest-no{font-weight:800;color:#245c94}.latest-subject{min-width:0}.latest-subject b,.latest-subject small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.latest-subject b{font-size:11px}.latest-subject small{font-size:9px;color:#909aa7;margin:2px 0 0}.exec-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800;font-style:normal;white-space:nowrap}.exec-status.status-submitted{background:#fff1dd;color:#bd6b0b}.exec-status.status-in_progress{background:#e6f1ff;color:#2673bd}.exec-status.status-completed{background:#f2eaff;color:#7444b4}.exec-status.status-delivered{background:#e5f7eb;color:#258341}.exec-status.status-cancelled{background:#fdeaea;color:#b63e3e}.exec-empty{text-align:center;color:#8a96a5;padding:25px 8px;font-size:12px}
.compact-head{margin-bottom:15px}.user-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.user-latest{margin-top:2px}.latest-head.user,.latest-row.user{grid-template-columns:160px minmax(0,1fr) 160px}
@media(max-width:1180px){.exec-kpi-grid{grid-template-columns:repeat(3,1fr)}.exec-chart-grid,.exec-chart-grid.lower{grid-template-columns:1fr}.exec-bottom-grid{grid-template-columns:1fr}.donut-layout{grid-template-columns:210px 1fr}.status-chart{max-width:760px;margin:0 auto;width:100%}}
@media(max-width:760px){.exec-page-head{align-items:stretch;flex-direction:column}.exec-page-head h2{font-size:23px}.exec-fy-filter{justify-content:space-between}.exec-kpi-grid,.user-kpis{grid-template-columns:repeat(2,1fr);gap:9px}.exec-kpi{min-height:92px;padding:12px;gap:9px}.kpi-icon{width:40px;height:40px}.exec-kpi strong{font-size:25px}.exec-panel{padding:13px;border-radius:13px}.donut-layout{grid-template-columns:1fr;gap:12px}.exec-donut{width:160px;height:160px}.exec-donut:after{inset:34px}.status-chart{gap:8px;padding-left:4px;padding-right:4px}.bar-fill{width:60%}.month-chart{overflow-x:auto;grid-template-columns:repeat(12,44px);justify-content:start;padding-left:4px}.workload-row{grid-template-columns:1fr;gap:7px}.urgent-grid{grid-template-columns:repeat(2,1fr)}.latest-head{display:none}.latest-row,.latest-row.user{grid-template-columns:1fr;gap:5px;padding:11px 3px}.latest-row>span:nth-child(3){color:#758196}.exec-admin-alert{align-items:stretch;flex-direction:column}.exec-admin-alert .btn{text-align:center}.legend-row{grid-template-columns:10px minmax(0,1fr) 30px 34px}}
@media(max-width:390px){.exec-kpi-grid,.user-kpis{grid-template-columns:1fr}.exec-kpi{min-height:78px}.status-chart{height:235px}.status-col{height:205px}.bar-track{height:135px}}
@media print{.exec-fy-filter,.exec-panel-head>a{display:none!important}.exec-kpi,.exec-panel{box-shadow:none}.exec-chart-grid,.exec-chart-grid.lower,.exec-bottom-grid{display:block}.exec-panel{margin-bottom:12px}.workload-list{max-height:none}}
/* v1.8.2 Request Delete & Audit */
.request-row-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.delete-request-warning{border:1px solid #f3b7b7;background:linear-gradient(180deg,#fff8f8,#fff)}.delete-request-warning h3{color:#b42318;margin-top:0}.delete-request-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.delete-request-summary>div,.delete-impact-grid>div{background:#fff;border:1px solid #e7ebf0;border-radius:12px;padding:12px}.delete-request-summary span,.delete-request-summary strong,.delete-impact-grid span,.delete-impact-grid strong,.delete-impact-grid small{display:block}.delete-request-summary span,.delete-impact-grid span{font-size:11px;color:#7a8795;margin-bottom:4px}.delete-request-summary strong{font-size:13px}.delete-impact-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.delete-impact-grid strong{font-size:25px;color:#b42318;line-height:1}.delete-impact-grid small{font-size:10px;color:#8b96a4;margin-top:3px}.danger-confirm-card{border:1px solid #efb1b1}.danger-confirm-card label{display:block;font-weight:800;color:#8f2424;margin-bottom:8px}.danger-confirm-card input{max-width:420px;border-color:#e4a4a4;margin-right:8px}
@media(max-width:760px){.request-row-actions{justify-content:stretch}.request-row-actions .btn{flex:1}.delete-request-summary{grid-template-columns:1fr 1fr}.delete-impact-grid{grid-template-columns:1fr 1fr}.danger-confirm-card input{max-width:none;width:100%;margin:0 0 8px}.danger-confirm-card .btn{width:100%}}


/* ======================================================================
   Prasri PR v1.8.3 - Modern Sidebar Navigation Edition
   Desktop: fixed collapsible sidebar | Mobile: slide-out drawer
   ====================================================================== */
:root{
  --sidebar-width:258px;
  --sidebar-collapsed:78px;
  --topbar-height:78px;
}

@media (min-width:981px){
  body{padding-top:var(--topbar-height);transition:padding-left .22s ease;padding-left:var(--sidebar-width)}
  body.sidebar-collapsed{padding-left:var(--sidebar-collapsed)}
  .site-header{position:fixed;inset:0 0 auto 0;height:var(--topbar-height);box-shadow:0 2px 16px rgba(8,31,75,.16);z-index:1100}
  .topbar{height:var(--topbar-height)}
  .header-inner{max-width:none;padding:10px 22px;min-height:var(--topbar-height)}
  .topbar-inner{min-height:var(--topbar-height)}
  .nav-toggle{display:grid;order:-1;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08)}
  .nav-toggle:hover{background:rgba(255,255,255,.14)}
  .brand-mark{width:46px;height:46px;border-radius:14px}.brand-mark .icon{width:27px;height:27px}
  .brand-title{font-size:21px}.brand-subtitle{font-size:12px}

  .nav-layer{position:fixed;left:0;top:var(--topbar-height);bottom:0;width:var(--sidebar-width);background:linear-gradient(180deg,#0a2758 0%,#0b3268 48%,#09234f 100%);box-shadow:5px 0 22px rgba(8,31,75,.14);transition:width .22s ease;z-index:1050;overflow:visible}
  body.sidebar-collapsed .nav-layer{width:var(--sidebar-collapsed)}
  .main-nav{height:100%;max-width:none;margin:0;padding:14px 12px 12px;display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0;overflow:hidden}
  .drawer-head,.drawer-profile,.nav-backdrop{display:none!important}
  .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:5px;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;padding:2px 0 12px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}
  .nav-links::-webkit-scrollbar{display:block;width:5px}.nav-links::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:10px}
  .nav-item{min-height:48px;padding:0 13px;border-radius:12px;gap:12px;font-size:14px;font-weight:700;flex:0 0 auto;overflow:hidden}
  .nav-item .icon{width:21px;height:21px;min-width:21px}
  .nav-item:hover{background:rgba(255,255,255,.09)}
  .nav-item.is-active{background:linear-gradient(135deg,#1d65d7,#2b7de6);box-shadow:0 7px 18px rgba(12,88,203,.32)}
  .nav-item.is-active:after{display:none}
  .nav-item>span:not(.notification-badge){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .nav-section-label{display:block;padding:17px 12px 6px;color:#8fa8ce;font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;overflow:hidden}
  .desktop-account-links{display:flex;flex-direction:column;align-items:stretch;border:0;border-top:1px solid rgba(255,255,255,.12);padding:10px 0 0;gap:3px;flex:0 0 auto}
  .desktop-account-links a{min-height:42px;padding:0 12px;border-radius:10px;font-size:12px;gap:11px;overflow:hidden}
  .desktop-account-links .icon{width:20px;min-width:20px}

  body.sidebar-collapsed .nav-item{justify-content:center;padding:0;width:52px;margin:0 auto}
  body.sidebar-collapsed .nav-item>span:not(.notification-badge),
  body.sidebar-collapsed .nav-section-label,
  body.sidebar-collapsed .desktop-account-links a{font-size:0;gap:0}
  body.sidebar-collapsed .desktop-account-links a{width:52px;justify-content:center;margin:0 auto;padding:0}
  body.sidebar-collapsed .nav-item .notification-badge{position:absolute;top:5px;right:3px;font-size:9px;min-width:17px;height:17px;padding:0 4px}
  body.sidebar-collapsed .nav-item:hover:before,
  body.sidebar-collapsed .desktop-account-links a:hover:before{content:attr(data-title);position:fixed;left:86px;background:#071a3d;color:#fff;font-size:12px;font-weight:700;padding:7px 10px;border-radius:8px;box-shadow:0 8px 22px rgba(0,0,0,.2);white-space:nowrap;z-index:1500;pointer-events:none}

  .container{max-width:1480px;width:auto;margin:24px auto;padding:0 26px;min-height:calc(100vh - 145px)}
  footer{margin-left:0}
}

/* Tooltip label for collapsed sidebar uses title generated in markup */
@media (min-width:981px){
  body.sidebar-collapsed .brand-copy{display:flex}
}

/* Mobile / tablet drawer */
@media (max-width:980px){
  body{padding-left:0!important}
  .site-header{position:sticky;top:0;height:auto}
  .nav-layer{position:static;width:auto;background:transparent;box-shadow:none}
  .main-nav{position:fixed;left:0;top:0;bottom:0;width:min(310px,86vw);max-width:none;margin:0;padding:0 14px 14px;display:flex;flex-direction:column;align-items:stretch;min-height:100vh;background:linear-gradient(180deg,#081f4b,#0d3269);transform:translateX(-105%);transition:transform .25s ease;z-index:1220;box-shadow:18px 0 45px rgba(5,20,48,.28);overflow:hidden}
  .main-nav.is-open{transform:translateX(0)}
  .drawer-head{display:flex;padding:17px 2px 14px}.drawer-profile{display:flex;margin-bottom:10px}.nav-links{display:flex;flex-direction:column;align-items:stretch;overflow-y:auto;overflow-x:hidden;gap:4px;padding:4px 0 10px}
  .nav-item{min-height:48px;border-radius:11px;padding:0 12px;flex:0 0 auto}.nav-item.is-active{border-radius:11px;background:linear-gradient(135deg,#1d65d7,#2b7de6);box-shadow:0 6px 18px rgba(19,99,220,.32)}.nav-item.is-active:after{display:none}
  .nav-section-label{display:block;padding:15px 12px 5px;color:#8fa8ce;font-size:10px;font-weight:800;letter-spacing:.4px}
  .mobile-only{display:flex!important}.desktop-account-links{display:none!important}
  .nav-backdrop{position:fixed;inset:0;background:rgba(3,12,28,.58);backdrop-filter:blur(2px);z-index:1210;opacity:0;visibility:hidden;transition:.2s}.nav-backdrop.is-open{display:block;opacity:1;visibility:visible}
  .container{margin-top:18px}
}

@media(max-width:560px){
  .brand-title{font-size:18px}.brand-subtitle{font-size:10px}.brand-mark{width:42px;height:42px}.brand-mark .icon{width:25px;height:25px}
  .top-actions{gap:3px}.quick-notification{width:38px;height:38px}.user-pill{padding:4px}.user-pill-copy{display:none}.avatar{width:38px;height:38px}
}

@media print{
  .site-header,.nav-layer,.nav-backdrop{display:none!important}
  body{padding:0!important}.container{max-width:none!important;margin:0!important;padding:0!important}footer{margin:0!important}
}


/* =========================================================
   Prasri PR v1.8.4 - Light Green UI
   Bright hospital-friendly green theme
   ========================================================= */
:root{
  --pr-green-900:#245c49;
  --pr-green-800:#2f6f59;
  --pr-green-700:#3e8068;
  --pr-green-600:#51937a;
  --pr-green-500:#67a98d;
  --pr-green-200:#cfe9dc;
  --pr-green-100:#e8f5ee;
  --pr-green-050:#f5fbf7;
  --pr-text:#24352e;
}

/* Header + sidebar: lighter, less visually heavy */
.app-header,
.topbar,
.main-header,
.header-bar{
  background:linear-gradient(135deg,#3e8068 0%,#67a98d 100%) !important;
}

.sidebar,
.app-sidebar,
.sidebar-nav{
  background:linear-gradient(180deg,#397761 0%,#5b9b82 100%) !important;
  box-shadow:6px 0 24px rgba(36,92,73,.12) !important;
}

/* Menu links */
.sidebar a,
.sidebar .nav-link,
.app-sidebar a,
.sidebar-nav a{
  color:#f8fffb !important;
}

.sidebar a:hover,
.sidebar .nav-link:hover,
.app-sidebar a:hover,
.sidebar-nav a:hover{
  background:rgba(255,255,255,.14) !important;
}

.sidebar a.active,
.sidebar .nav-link.active,
.app-sidebar a.active,
.sidebar-nav a.active{
  background:linear-gradient(135deg,#79bfa1,#9bd2b9) !important;
  color:#163c30 !important;
  box-shadow:0 6px 16px rgba(31,92,70,.18) !important;
}

/* "จัดการระบบ" and other sidebar section headings */
.sidebar-section-title,
.sidebar-section-label,
.sidebar-group-title,
.nav-section-title,
.sidebar .section-title{
  font-size:16px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  color:#e9fff4 !important;
  letter-spacing:.2px !important;
  opacity:1 !important;
  margin:18px 14px 8px !important;
  padding:10px 0 8px !important;
  border-bottom:1px solid rgba(255,255,255,.28) !important;
}

/* Main page: soft light green instead of blue-gray */
body,
.app-main,
.main-content,
.content-wrapper{
  background:#f5fbf7 !important;
  color:var(--pr-text);
}

/* Common UI accents */
.btn-primary,
.button-primary{
  background:#4f9478 !important;
  border-color:#4f9478 !important;
}
.btn-primary:hover,
.button-primary:hover{
  background:#3e8068 !important;
  border-color:#3e8068 !important;
}
a{ color:#2f765c; }
a:hover{ color:#245c49; }

/* Cards keep a clean white surface */
.card,
.stat-card,
.dashboard-card,
.panel{
  border-color:#dcece4 !important;
  box-shadow:0 8px 24px rgba(45,105,81,.08) !important;
}


/* =========================================================
   Prasri PR v1.8.5 - Mint Executive UI
   Full light-green navigation + executive dashboard polish
   ========================================================= */
:root{
 --mint-950:#174c38; --mint-900:#216044; --mint-800:#287252;
 --mint-700:#2f8b61; --mint-600:#39a66f; --mint-500:#4bbb82;
 --mint-300:#a9dfc2; --mint-200:#cdeedc; --mint-100:#e8f8ef;
 --mint-050:#f6fcf8; --ink:#17352a; --muted:#6c7d75;
 --line:#deeee5; --surface:#ffffff;
}

/* Page */
html,body{background:var(--mint-050)!important;color:var(--ink)!important}
.app-main,.main-content,.content-wrapper,.page-content{background:var(--mint-050)!important}

/* Top header */
.app-header,.topbar,.main-header,.header-bar{
 background:linear-gradient(90deg,#f0fbf5 0%,#ffffff 52%,#f0fbf5 100%)!important;
 color:var(--ink)!important;border-bottom:1px solid #dcefe4!important;
 box-shadow:0 2px 12px rgba(33,96,68,.06)!important;
}
.app-header *, .topbar *, .main-header *, .header-bar *{color:var(--ink)}
.brand-title,.brand-name{color:#163f2e!important}
.brand-subtitle{color:#668176!important}

/* Logo + hamburger + top icons */
.brand-icon,.logo-icon,.sidebar-toggle,.menu-toggle,.hamburger-btn{
 background:linear-gradient(135deg,#3cad70,#69c993)!important;
 color:#fff!important;border:1px solid rgba(255,255,255,.7)!important;
 box-shadow:0 5px 14px rgba(47,139,97,.18)!important;
}
.header-icon,.notification-btn,.profile-avatar,.user-avatar{
 background:#e7f7ee!important;color:#2e9364!important;
 border-color:#bfe5d0!important;
}
.header-icon svg,.notification-btn svg,.profile-avatar svg,.user-avatar svg{
 color:#2e9364!important;stroke:#2e9364!important;
}

/* Sidebar - fully light, no navy remains */
.sidebar,.app-sidebar,.sidebar-nav,.side-nav{
 background:linear-gradient(180deg,#fbfffc 0%,#f1faf5 100%)!important;
 border-right:1px solid #dceee4!important;
 box-shadow:4px 0 18px rgba(35,104,74,.05)!important;
}
.sidebar a,.sidebar .nav-link,.app-sidebar a,.sidebar-nav a,.side-nav a{
 color:#314d41!important;font-weight:600!important;
}
.sidebar a svg,.sidebar .nav-link svg,.app-sidebar a svg,.sidebar-nav a svg,.side-nav a svg{
 color:#31a36b!important;stroke:#31a36b!important;
}
.sidebar a:hover,.sidebar .nav-link:hover,.app-sidebar a:hover,.sidebar-nav a:hover,.side-nav a:hover{
 background:#e9f8f0!important;color:#23784f!important;
}
.sidebar a.active,.sidebar .nav-link.active,.app-sidebar a.active,.sidebar-nav a.active,.side-nav a.active{
 background:linear-gradient(90deg,#e0f5e9,#edf9f2)!important;
 color:#238455!important;box-shadow:none!important;
 border-left:4px solid #3cad70!important;
}
.sidebar-section-title,.sidebar-section-label,.sidebar-group-title,.nav-section-title,.sidebar .section-title{
 color:#29935f!important;font-size:16px!important;font-weight:800!important;
 opacity:1!important;border-bottom:1px solid #bfe5d0!important;
 padding-bottom:9px!important;letter-spacing:.1px!important;
}
.sidebar-footer,.sidebar-bottom{border-top:1px solid #d6ebe0!important}

/* Cards */
.card,.stat-card,.dashboard-card,.panel,.executive-card,.summary-card{
 background:#fff!important;border:1px solid var(--line)!important;
 border-radius:16px!important;box-shadow:0 7px 22px rgba(32,100,70,.07)!important;
}
.card:hover,.stat-card:hover{box-shadow:0 10px 28px rgba(32,100,70,.10)!important}

/* Inputs */
input,select,textarea,.form-control,.form-select{
 border-color:#cfe5d8!important;border-radius:10px!important;
}
input:focus,select:focus,textarea:focus,.form-control:focus,.form-select:focus{
 border-color:#5dbb86!important;box-shadow:0 0 0 3px rgba(76,187,130,.12)!important;
}

/* Buttons */
.btn-primary,.button-primary,.btn-success{
 background:linear-gradient(135deg,#36a66e,#55bd84)!important;
 border-color:#36a66e!important;color:#fff!important;
}
.btn-primary:hover,.button-primary:hover,.btn-success:hover{
 background:linear-gradient(135deg,#2e925f,#45aa73)!important;
}

/* Dashboard headings and soft labels */
.page-eyebrow,.dashboard-eyebrow,.section-kicker{color:#2d9a64!important;font-weight:800!important}
.dashboard-title,.page-title,h1,h2,h3{color:#18382c}

/* Tables */
.table thead th,table thead th{background:#eef9f3!important;color:#285642!important;border-color:#dceee4!important}
.table tbody tr:hover,table tbody tr:hover{background:#f5fcf8!important}

/* Status chips */
.badge-success,.status-success{background:#e4f7ec!important;color:#238553!important}
.badge-warning,.status-warning{background:#fff4db!important;color:#a86a00!important}
.badge-danger,.status-danger{background:#ffe9e7!important;color:#c6453d!important}
.badge-info,.status-info{background:#e9f4ff!important;color:#2d74b8!important}

/* Executive dashboard icon discs: coordinated but readable */
.stat-icon,.kpi-icon,.metric-icon{
 background:#e7f7ee!important;color:#2f9b67!important;border:1px solid #c9ead8!important;
}
.stat-icon svg,.kpi-icon svg,.metric-icon svg{stroke:currentColor!important}

/* Keep meaningful status colors for KPI variants */
.stat-card.is-new .stat-icon,.kpi-new .kpi-icon{background:#f0e9ff!important;color:#7d4ce0!important}
.stat-card.is-progress .stat-icon,.kpi-progress .kpi-icon{background:#e7f2ff!important;color:#347fd2!important}
.stat-card.is-review .stat-icon,.kpi-review .kpi-icon{background:#fff1dc!important;color:#e58b18!important}
.stat-card.is-delivery .stat-icon,.kpi-delivery .kpi-icon{background:#ffe9e7!important;color:#d84c45!important}
.stat-card.is-done .stat-icon,.kpi-done .kpi-icon{background:#e5f7ec!important;color:#2e9c61!important}

/* Scrollbar */
.sidebar::-webkit-scrollbar{width:7px}
.sidebar::-webkit-scrollbar-thumb{background:#c5e7d4;border-radius:10px}
.sidebar::-webkit-scrollbar-track{background:transparent}

/* Mobile drawer remains bright */
@media(max-width:991px){
 .sidebar,.app-sidebar,.sidebar-nav,.side-nav{background:#fbfffc!important}
}


/* =========================================================
   Prasri PR v1.8.6 - Exact Mint Sidebar FIX
   Exact selectors used by the real navigation markup
   ========================================================= */
@media (min-width: 901px){
  .nav-layer{
    background:linear-gradient(180deg,#fbfffc 0%,#f1faf5 100%) !important;
    border-right:1px solid #d9eee2 !important;
    box-shadow:5px 0 22px rgba(38,111,77,.07) !important;
    color:#244c3a !important;
  }
  .main-nav,.nav-links{background:transparent !important;}
  .nav-layer .nav-item{
    color:#315343 !important;
    background:transparent !important;
  }
  .nav-layer .nav-item .icon{
    color:#34a56d !important;
    stroke:#34a56d !important;
  }
  .nav-layer .nav-item:hover{
    background:#e8f7ef !important;
    color:#207a4f !important;
  }
  .nav-layer .nav-item.is-active{
    background:linear-gradient(90deg,#daf3e5 0%,#eefaf4 100%) !important;
    color:#218152 !important;
    box-shadow:none !important;
    border-left:4px solid #3eaf73 !important;
  }
  .nav-layer .nav-item.is-active .icon{
    color:#218152 !important;
    stroke:#218152 !important;
  }
  .nav-layer .nav-item.is-active:after{display:none !important;}
  .nav-layer .nav-section-label{
    display:block !important;
    color:#28945e !important;
    font-size:16px !important;
    font-weight:800 !important;
    letter-spacing:.1px !important;
    text-transform:none !important;
    opacity:1 !important;
    padding:18px 12px 9px !important;
    margin-top:4px !important;
    border-bottom:1px solid #bfe4cf !important;
  }
  .nav-layer .desktop-account-links{
    border-top:1px solid #d5ebdf !important;
  }
  .nav-layer .desktop-account-links a{
    color:#315343 !important;
  }
  .nav-layer .desktop-account-links a .icon{
    color:#34a56d !important;
    stroke:#34a56d !important;
  }
  .nav-layer .desktop-account-links a:hover{
    background:#e8f7ef !important;
    color:#207a4f !important;
  }
  body.sidebar-collapsed .nav-item:hover:before,
  body.sidebar-collapsed .desktop-account-links a:hover:before{
    background:#225f43 !important;
    color:#fff !important;
  }
}

/* actual top logo */
.brand-mark,.brand-mark.small{
  background:linear-gradient(145deg,#36a86e,#65c590) !important;
  color:#fff !important;
  box-shadow:0 0 0 3px rgba(53,168,110,.10),
             0 8px 22px rgba(45,147,93,.18) !important;
}

/* actual hamburger button */
.nav-toggle{
  background:#e4f6ec !important;
  color:#278b59 !important;
  border:1px solid #c7e8d5 !important;
}
.nav-toggle .icon{
  color:#278b59 !important;
  stroke:#278b59 !important;
}

/* actual header notification/profile */
.quick-notification{color:#287c54 !important;}
.quick-notification .icon{
  color:#287c54 !important;
  stroke:#287c54 !important;
}
.avatar{
  background:#e5f6ed !important;
  color:#278b59 !important;
  border-color:#bfe4cf !important;
}
.avatar .icon{
  color:#278b59 !important;
  stroke:#278b59 !important;
}

@media (max-width: 900px){
  .main-nav{
    background:linear-gradient(180deg,#fbfffc 0%,#eef9f3 100%) !important;
    color:#244c3a !important;
  }
  .drawer-head,.drawer-profile{
    color:#244c3a !important;
    border-color:#d7ebe0 !important;
  }
  .nav-item{color:#315343 !important;}
  .nav-item .icon{
    color:#34a56d !important;
    stroke:#34a56d !important;
  }
  .nav-item:hover{
    background:#e8f7ef !important;
    color:#207a4f !important;
  }
  .nav-item.is-active{
    background:linear-gradient(90deg,#daf3e5,#edf9f2) !important;
    color:#218152 !important;
    box-shadow:none !important;
  }
  .nav-section-label{
    color:#28945e !important;
    font-size:15px !important;
    text-transform:none !important;
  }
}


/* =========================================================
   Prasri PR v1.8.7 - Dark Green Header + Green Buttons
   ========================================================= */

/* แถบ Header ด้านบน: เขียวเข้มขึ้นตามแบบที่เลือก */
.topbar{
  background:linear-gradient(100deg,#2f8f55 0%,#58a875 44%,#2d8a4d 100%) !important;
  color:#ffffff !important;
  border-bottom:1px solid rgba(24,103,57,.18) !important;
}

/* ให้ตัวอักษร/ไอคอนใน Header อ่านชัด */
.topbar .brand-title,
.topbar .brand-subtitle,
.topbar .user-pill-copy strong,
.topbar .user-pill-copy small{
  color:#ffffff !important;
}
.topbar .brand-subtitle,
.topbar .user-pill-copy small{
  opacity:.90 !important;
}
.topbar .quick-notification,
.topbar .quick-notification .icon{
  color:#ffffff !important;
  stroke:#ffffff !important;
}
.topbar .user-pill{
  color:#ffffff !important;
}
.topbar .avatar{
  background:rgba(255,255,255,.92) !important;
  color:#257a49 !important;
  border-color:rgba(255,255,255,.76) !important;
}
.topbar .avatar .icon{
  color:#257a49 !important;
  stroke:#257a49 !important;
}

/* Logo ให้เข้ากับ Header */
.brand-mark,
.brand-mark.small{
  background:linear-gradient(145deg,#35a665,#72c98e) !important;
  color:#ffffff !important;
  box-shadow:0 0 0 3px rgba(255,255,255,.16),
             0 8px 20px rgba(21,96,52,.24) !important;
}

/* Hamburger บน Header */
.topbar .nav-toggle{
  background:rgba(255,255,255,.14) !important;
  color:#ffffff !important;
  border-color:rgba(255,255,255,.24) !important;
}
.topbar .nav-toggle .icon{
  color:#ffffff !important;
  stroke:#ffffff !important;
}
.topbar .nav-toggle:hover{
  background:rgba(255,255,255,.22) !important;
}

/* ปุ่มหลักทั้งหมด: เขียว */
button,
.btn{
  background:linear-gradient(135deg,#2f9b56 0%,#42ad64 100%) !important;
  border:1px solid #2d914f !important;
  color:#ffffff !important;
  box-shadow:0 4px 10px rgba(38,135,72,.13) !important;
}
button:hover,
.btn:hover{
  background:linear-gradient(135deg,#278548 0%,#379c58 100%) !important;
  border-color:#257d45 !important;
  filter:none !important;
}

/* ปุ่มรอง/เตือน/อันตรายยังคงแยกสีตามความหมาย */
.btn-secondary{
  background:#6f7f77 !important;
  border-color:#65736d !important;
}
.btn-secondary:hover{
  background:#5e6d66 !important;
}
.btn-warning{
  background:#b77a16 !important;
  border-color:#a96f10 !important;
}
.btn-warning:hover{
  background:#9d6710 !important;
}
.btn-danger{
  background:#b93838 !important;
  border-color:#a82f2f !important;
}
.btn-danger:hover{
  background:#9f3030 !important;
}

/* หน้าเลือกบริการ - ปุ่มเปิดแบบฟอร์มให้เต็มและเขียวชัด */
.service-card > .btn{
  background:linear-gradient(135deg,#2f9f52,#3eb05e) !important;
  border-color:#2c944b !important;
  color:#ffffff !important;
  font-weight:700 !important;
}
.service-card > .btn:hover{
  background:linear-gradient(135deg,#288946,#359b51) !important;
}

/* บนมือถือ Header ยังเป็นเขียวเข้ม */
@media(max-width:900px){
  .topbar{
    background:linear-gradient(105deg,#2f8f55 0%,#4da36e 58%,#2a8149 100%) !important;
  }
}


/* =========================================================
   Prasri PR v1.8.9 - Work Progress Tracking
   ========================================================= */
.work-progress-card{border-left:4px solid #35a667!important}
.progress-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.progress-card-head h3{margin:0 0 4px}
.progress-big{font-size:28px;color:#278a55}
.progress-track{height:14px;background:#e7f2eb;border-radius:999px;overflow:hidden;margin:14px 0 8px;border:1px solid #d5e9dd}
.progress-fill{height:100%;background:linear-gradient(90deg,#39a76a,#69c88f);border-radius:999px;transition:width .3s ease}
.progress-current{margin-bottom:14px}
.progress-update-box{background:#f6fcf8;border:1px solid #d9eee2;border-radius:12px;padding:12px 14px;margin:14px 0}
.progress-update-box summary{cursor:pointer;font-weight:800;color:#277d50}
.progress-form{margin-top:14px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.progress-percent-field{max-width:220px}
.progress-history{margin-top:18px}
.progress-history h4{margin:0 0 10px}
.progress-history-item{border:1px solid #dcece3;border-radius:12px;padding:14px;margin-bottom:10px;background:#fff}
.progress-history-top{display:flex;align-items:center;gap:12px}
.progress-percent-badge{min-width:54px;height:38px;border-radius:10px;background:#e5f7ec;color:#238553;font-weight:800;display:flex;align-items:center;justify-content:center}
.progress-history-item p{margin:9px 0 0}
.progress-problem{background:#fff8e8;border-left:3px solid #e5a325;padding:8px 10px;border-radius:6px}
.progress-files{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
.progress-files a{background:#eef8f2;padding:6px 9px;border-radius:8px;text-decoration:none}

.progress-jobs-panel{margin:16px 0}
.dashboard-progress-list{display:flex;flex-direction:column;gap:10px}
.dashboard-progress-row{display:grid;grid-template-columns:minmax(240px,2fr) minmax(180px,1fr) 54px auto;align-items:center;gap:14px;padding:11px 12px;border:1px solid #e1eee6;border-radius:12px;text-decoration:none;color:inherit;background:#fff}
.dashboard-progress-row:hover{background:#f6fcf8}
.dashboard-progress-meta{display:flex;flex-direction:column;min-width:0}
.dashboard-progress-meta strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-progress-meta span{font-size:12px;color:#73847b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-progress-bar{height:10px;background:#e8f1eb;border-radius:99px;overflow:hidden}
.dashboard-progress-bar i{display:block;height:100%;background:linear-gradient(90deg,#3da96c,#78ca98);border-radius:99px}
.dashboard-progress-percent{color:#237e50;text-align:right}
.stale-badge{font-style:normal;font-size:11px;background:#fff0df;color:#b56c16;padding:5px 8px;border-radius:999px;white-space:nowrap}

@media(max-width:900px){
  .form-row{grid-template-columns:1fr}
  .progress-percent-field{max-width:none}
  .dashboard-progress-row{grid-template-columns:1fr 52px}
  .dashboard-progress-meta{grid-column:1/-1}
  .dashboard-progress-bar{grid-column:1/2}
  .stale-badge{grid-column:1/-1;justify-self:start}
}


/* =========================================================
   Prasri PR v1.8.10 - Public/Internal Timeline Privacy
   ========================================================= */
.progress-visibility-box{
  margin:12px 0;
  padding:12px 14px;
  background:#eef9f3;
  border:1px solid #cfe9da;
  border-radius:10px;
}
.progress-visibility-box label{display:flex;align-items:center;gap:8px;color:#216b47}
.progress-visibility-box input[type=checkbox]{width:18px;height:18px;accent-color:#319b61}
.progress-visibility-box small{display:block;margin-top:5px;color:#60766a}
.visibility-public{color:#258354;font-weight:700}
.visibility-internal{color:#a96a18;font-weight:700}
.public-timeline-note{
  margin-top:12px;
  padding:10px 12px;
  background:#f4faf6;
  border-left:3px solid #55aa79;
  color:#62776c;
  font-size:12px;
  border-radius:6px;
}


/* =========================================================
   Prasri PR v1.8.10.2 - Status Chart 5 Columns FIX
   ========================================================= */
.status-chart{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:16px !important;
  padding-left:16px !important;
  padding-right:16px !important;
}
.bar-fill.yellow{
  background:linear-gradient(#f2c84b,#d9a914) !important;
}
@media(max-width:760px){
  .status-chart{
    grid-template-columns:repeat(5,minmax(54px,1fr)) !important;
    overflow-x:auto;
    gap:8px !important;
    padding-left:6px !important;
    padding-right:6px !important;
  }
  .status-col{min-width:54px}
}


/* =========================================================
   Prasri PR v1.9.0 - PWA Mobile App Edition
   ========================================================= */
.pwa-install-btn{
  position:fixed;right:18px;bottom:18px;z-index:1200;
  display:flex;align-items:center;gap:8px;
  border:0;border-radius:999px;padding:11px 16px;
  background:#287a4b;color:#fff;font-weight:800;
  box-shadow:0 8px 24px rgba(28,91,54,.25);cursor:pointer;
}
.pwa-install-btn[hidden]{display:none!important}
.pwa-install-icon{font-size:20px;line-height:1}
.pwa-standalone body{overscroll-behavior-y:contain}
.pwa-standalone .pwa-install-btn{display:none!important}

/* Touch-friendly controls */
@media(max-width:760px){
  body{font-size:15px}
  input,select,textarea,button,.btn{font-size:16px!important}
  input,select,button,.btn{min-height:44px}
  textarea{min-height:96px}
  .card{border-radius:14px}
  .table-responsive,.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .pwa-install-btn{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));padding:10px 14px}
}

/* iPhone safe-area support when launched standalone */
@supports(padding:max(0px)){
  .pwa-standalone body{
    padding-bottom:env(safe-area-inset-bottom);
  }
}

/* Prasri PR v1.9.1 PWA Install Guide */
.pwa-guide-overlay{position:fixed;inset:0;z-index:3000;background:rgba(15,42,27,.55);display:flex;align-items:center;justify-content:center;padding:18px}
.pwa-guide-overlay[hidden]{display:none!important}.pwa-guide-dialog{position:relative;width:min(520px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;padding:26px;text-align:center;box-shadow:0 24px 70px #0004}
.pwa-guide-close{position:absolute;right:12px;top:10px;width:40px;height:40px;border:0;border-radius:50%;font-size:27px;background:#edf5f0;color:#456454}
.pwa-guide-appicon{width:68px;height:68px;margin:0 auto 12px;border-radius:18px;background:#287a4b;color:#fff;display:grid;place-items:center;font-size:24px;font-weight:900}
.pwa-guide-benefits{display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:left;background:#f2faf5;border-radius:13px;padding:12px 14px;margin:14px 0;color:#337052}
.pwa-device-guide{text-align:left;background:#fafcfb;border:1px solid #e1ebe5;border-radius:13px;padding:14px;margin-top:12px}.pwa-device-guide[hidden]{display:none!important}
.pwa-device-guide .btn{width:100%}.pwa-later-btn{display:block;margin:14px auto 5px;border:0;background:transparent;color:#65786c;text-decoration:underline}
.pwa-help-fab{position:fixed;right:18px;bottom:72px;z-index:1150;width:44px;height:44px;display:grid;place-items:center;background:#fff;border:1px solid #d8e9df;border-radius:50%;text-decoration:none;box-shadow:0 5px 18px #0002}
.pwa-standalone .pwa-help-fab{display:none}body.pwa-guide-open{overflow:hidden}
@media(max-width:760px){.pwa-guide-dialog{padding:22px 16px}.pwa-guide-benefits{grid-template-columns:1fr}.pwa-help-fab{right:12px}}

/* Prasri PR v1.9.1.1 PWA Secure Context Check */
.pwa-insecure-notice{background:#fff7e8;border:1px solid #f0cf93;border-radius:14px;padding:16px;margin-top:14px;text-align:left}
.pwa-insecure-notice[hidden]{display:none!important}.pwa-insecure-notice h3{color:#9a5b10;margin:0 0 8px}
.pwa-current-url{background:#fff;border:1px solid #eadcc3;border-radius:10px;padding:10px 12px;margin:10px 0;word-break:break-all}
.pwa-current-url span{display:block;font-size:12px;color:#8a775d}.pwa-current-url code{white-space:normal}
.pwa-insecure-notice .btn{width:100%}.pwa-prompt-unavailable{margin-top:12px;padding:10px 12px;border-radius:10px;background:#eef6ff;border:1px solid #cfe0f4;color:#466079;text-align:left}
.pwa-prompt-unavailable[hidden]{display:none!important}

/* =========================================================
   Prasri PR v1.9.2 - Advanced User Search & Management
   ========================================================= */
.user-search-card{margin-bottom:16px}
.user-search-head,.user-list-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.user-search-head h3,.user-list-heading h3{margin:0 0 4px}
.user-search-count{background:#eaf7ef;color:#287a4b;border:1px solid #cfe9da;border-radius:999px;padding:8px 13px;white-space:nowrap}
.user-search-form{display:grid;grid-template-columns:minmax(280px,2fr) repeat(4,minmax(130px,1fr));gap:12px;align-items:end;margin-top:16px}
.user-search-form label{display:block;font-size:12px;font-weight:700;color:#526b5d;margin-bottom:5px}
.user-search-main input{width:100%}
.user-search-actions{display:flex;gap:8px;align-items:center;grid-column:1/-1}
.user-search-actions .btn,.user-search-actions button{min-width:110px;text-align:center}
.user-filter-summary{margin-top:12px;padding:9px 11px;background:#f4faf6;border-radius:9px;color:#587064;font-size:13px}
.user-empty-state{padding:34px 16px;text-align:center;background:#f8fbf9;border:1px dashed #d3e4da;border-radius:12px;color:#718178}
.user-pagination{display:flex;gap:7px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:18px}
.user-pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 11px;border:1px solid #d6e7dd;border-radius:9px;background:#fff;color:#32664b;text-decoration:none;font-weight:700}
.user-pagination a:hover{background:#edf8f2}
.user-pagination a.active{background:#2f985a;border-color:#2f985a;color:#fff}
@media(max-width:1100px){.user-search-form{grid-template-columns:1fr 1fr 1fr}.user-search-main{grid-column:1/-1}}
@media(max-width:700px){.user-search-head,.user-list-heading{flex-direction:column}.user-search-form{grid-template-columns:1fr}.user-search-main{grid-column:auto}.user-search-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}.user-search-count{align-self:flex-start}}

/* Prasri PR v1.9.3 - Delegated Member Approval */
.delegated-permission-note{border-left:4px solid #3aa66c!important}
.delegated-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;line-height:1.8}
.delegated-grid>div{background:#f7fbf8;border:1px solid #dcebe2;border-radius:12px;padding:14px}
@media(max-width:760px){.delegated-grid{grid-template-columns:1fr}.table-wrap table{min-width:760px}}

/* Prasri PR v1.9.5 Operator Call Log */
.operator-stats,.operator-dash-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.operator-stats.executive{grid-template-columns:repeat(4,1fr)}
.op-stat,.operator-dash-strip>a{background:#fff;border:1px solid #dcebe2;border-radius:15px;padding:16px;text-decoration:none;color:#315b45;box-shadow:0 5px 16px rgba(34,90,55,.06)}
.op-stat b,.operator-dash-strip b{display:block;font-size:27px;color:#287a4b}.op-stat span,.operator-dash-strip span{font-size:13px;color:#718176}
.operator-dash-strip{grid-template-columns:repeat(3,1fr) auto}.operator-dash-strip .op-quick{display:grid;place-items:center;background:#287a4b;color:#fff;font-weight:800}
.op-auto{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 16px}.op-auto span{background:#eef8f2;border-radius:9px;padding:8px 11px}
.op-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.op-wide{grid-column:1/-1}.op-actions{margin-top:15px}.op-actions .btn{min-width:220px}
.op-bars{display:grid;gap:10px}.op-bar-row{display:grid;grid-template-columns:minmax(160px,1fr) 3fr 70px;gap:10px;align-items:center}.op-bar-row>div{height:12px;background:#eaf2ed;border-radius:20px;overflow:hidden}.op-bar-row i{display:block;height:100%;background:#3b9662;border-radius:20px}
@media(max-width:760px){.operator-stats,.operator-stats.executive,.operator-dash-strip{grid-template-columns:1fr 1fr}.operator-dash-strip .op-quick{grid-column:1/-1}.op-grid{grid-template-columns:1fr}.op-wide{grid-column:auto}.op-bar-row{grid-template-columns:120px 1fr 50px}}

/* Prasri PR v1.9.6 Operator Manager */
.operator-manager-check{display:flex;align-items:center;gap:7px;margin-top:10px;padding:8px;background:#eef8f2;border-radius:9px;color:#226947}
.operator-manager-check input{width:18px;height:18px}
.operator-filter{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;align-items:end}.operator-filter .op-search{grid-column:span 2}.op-filter-actions{display:flex;gap:7px;flex-wrap:wrap}
.report-action-row{display:flex;gap:9px;justify-content:flex-end;margin:12px 0}.report-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:900px){.operator-filter{grid-template-columns:1fr 1fr}.operator-filter .op-search{grid-column:1/-1}.report-two-col{grid-template-columns:1fr}}
@media print{.main-nav,.topbar,.report-action-row,.operator-filter,.pwa-install-btn,.pwa-help-fab{display:none!important}.container{max-width:none!important}.card{box-shadow:none!important;break-inside:avoid}}


/* =========================================================
   Prasri PR v1.9.6.1 - Sidebar Operator Menu Layout FIX
   แก้เมนูชนกัน / ข้อความ Operator ถูกตัด
   ========================================================= */
@media (min-width:981px){
  :root{
    --sidebar-width:300px;
  }

  .nav-layer .main-nav{
    padding:14px 14px 12px !important;
  }

  .nav-layer .nav-links{
    gap:2px !important;
    padding:4px 0 14px !important;
  }

  .nav-layer .nav-item{
    min-height:50px !important;
    height:auto !important;
    padding:9px 13px !important;
    line-height:1.35 !important;
    overflow:visible !important;
    flex-shrink:0 !important;
  }

  .nav-layer .nav-item>span:not(.notification-badge){
    display:block !important;
    min-width:0 !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:normal !important;
    word-break:normal !important;
    line-height:1.35 !important;
  }

  .nav-layer .nav-section-label{
    display:block !important;
    min-height:auto !important;
    padding:14px 13px 7px !important;
    margin:10px 0 3px !important;
    border:0 !important;
    border-top:1px solid #d3e9dc !important;
    color:#258a58 !important;
    font-size:13px !important;
    font-weight:800 !important;
    letter-spacing:.25px !important;
    line-height:1.25 !important;
    text-transform:none !important;
    overflow:visible !important;
    white-space:normal !important;
  }

  .nav-layer .nav-section-label:first-of-type{
    margin-top:5px !important;
  }

  body.sidebar-collapsed .nav-item{
    min-height:50px !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  body.sidebar-collapsed .nav-item>span:not(.notification-badge){
    display:none !important;
  }
}

@media (max-width:980px){
  .main-nav{
    width:min(330px,90vw) !important;
  }
  .nav-links{
    gap:2px !important;
    padding:6px 0 14px !important;
  }
  .nav-item{
    min-height:50px !important;
    height:auto !important;
    padding:10px 13px !important;
    line-height:1.35 !important;
    overflow:visible !important;
  }
  .nav-item>span:not(.notification-badge){
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    line-height:1.35 !important;
  }
  .nav-section-label{
    padding:14px 13px 7px !important;
    margin:10px 0 3px !important;
    border:0 !important;
    border-top:1px solid #d3e9dc !important;
    color:#258a58 !important;
    font-size:13px !important;
    font-weight:800 !important;
    line-height:1.25 !important;
  }
}

/* =========================================================
   Prasri PR v1.9.6.2 - Collapsed Sidebar Icon-Only FIX
   โหมดย่อ: ซ่อนข้อความหัวข้อหมวดทั้งหมด เหลือ Icon + separator
   ========================================================= */
@media (min-width:981px){
  body.sidebar-collapsed .nav-layer .nav-section-label{
    display:block !important;
    width:42px !important;
    min-width:42px !important;
    height:1px !important;
    min-height:1px !important;
    max-height:1px !important;
    padding:0 !important;
    margin:10px auto 8px !important;
    border:0 !important;
    border-top:1px solid #d3e9dc !important;
    font-size:0 !important;
    line-height:0 !important;
    letter-spacing:0 !important;
    color:transparent !important;
    white-space:nowrap !important;
    overflow:hidden !important;
  }

  body.sidebar-collapsed .nav-layer .nav-item{
    width:52px !important;
    min-width:52px !important;
    min-height:48px !important;
    margin:2px auto !important;
    padding:0 !important;
    justify-content:center !important;
    gap:0 !important;
    border-radius:12px !important;
    overflow:visible !important;
  }

  body.sidebar-collapsed .nav-layer .nav-item>span:not(.notification-badge){
    display:none !important;
    width:0 !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
    font-size:0 !important;
    line-height:0 !important;
    overflow:hidden !important;
  }

  body.sidebar-collapsed .nav-layer .nav-item .icon{
    width:21px !important;
    height:21px !important;
    margin:0 !important;
    flex:0 0 21px !important;
  }

  body.sidebar-collapsed .nav-layer .nav-item.is-active{
    background:#e7f7ee !important;
    box-shadow:inset 3px 0 0 #35a56c !important;
  }

  body.sidebar-collapsed .nav-layer .nav-item:hover::before,
  body.sidebar-collapsed .desktop-account-links a:hover::before{
    left:88px !important;
    z-index:5000 !important;
  }

  body.sidebar-collapsed .nav-layer .nav-links{
    overflow-y:auto !important;
    overflow-x:visible !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

/* =========================================================
   Prasri PR v1.9.7 - Advanced Request Search & Filter
   ========================================================= */
.request-search-card{padding:18px 20px}
.request-search-head h3{margin:0 0 3px}
.request-search-head p{margin:0 0 15px}
.request-advanced-filter{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;align-items:end}
.request-advanced-filter>div{min-width:0}
.request-advanced-filter label{display:block;margin-bottom:6px;font-weight:700;color:#345d48}
.request-advanced-filter input,.request-advanced-filter select{width:100%}
.request-search-main{grid-column:span 2}
.request-filter-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.request-filter-summary{margin-top:14px;padding:9px 12px;border-radius:10px;background:#eef8f2;color:#47705a;font-size:.92rem}
.request-export-btn{white-space:nowrap}
.request-detail-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.request-table td[data-label="ผู้รับผิดชอบ"]{min-width:150px}
@media(max-width:1100px){.request-advanced-filter{grid-template-columns:repeat(2,minmax(160px,1fr))}.request-search-main{grid-column:1/-1}}
@media(max-width:700px){
 .request-advanced-filter{grid-template-columns:1fr}
 .request-search-main{grid-column:auto}
 .request-filter-actions{grid-column:1/-1}
 .request-filter-actions .btn,.request-filter-actions button{flex:1}
 .request-list-card .card-title-row{align-items:flex-start;flex-direction:column}
 .request-export-btn{width:100%;text-align:center}
 .request-detail-head-actions{width:100%}
}

/* Prasri PR v1.9.8 - Operator Call Search & History */
.operator-history-filter{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:12px;align-items:end}
.operator-history-filter>div{min-width:0}.operator-history-filter label{display:block;margin-bottom:6px;font-weight:700;color:#345d48}
.operator-history-filter input,.operator-history-filter select{width:100%}.op-history-q{grid-column:span 2}
.op-history-actions{display:flex;gap:8px;flex-wrap:wrap}.operator-number-summary{margin-top:14px;background:#eef8f2;color:#3f6e53;padding:10px 13px;border-radius:10px}
.operator-phone{font-size:1.03rem;color:#246f46;white-space:nowrap}.operator-history-table td{vertical-align:top}
@media(max-width:1050px){.operator-history-filter{grid-template-columns:repeat(2,minmax(150px,1fr))}.op-history-q{grid-column:1/-1}}
@media(max-width:700px){.operator-history-filter{grid-template-columns:1fr}.op-history-q{grid-column:auto}.op-history-actions button,.op-history-actions .btn{flex:1}}

/* =========================================================
   Prasri PR v1.9.9 - Media Service Breakdown Report
   ========================================================= */
.media-breakdown-filter{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;align-items:end}
.media-breakdown-filter label{display:block;font-weight:700;color:#345d48;margin-bottom:6px}
.media-breakdown-filter input,.media-breakdown-filter select{width:100%}
.media-filter-actions{display:flex;gap:8px;flex-wrap:wrap}
.media-breakdown-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}
.media-kpi{background:#fff;border:1px solid #dcebe2;border-radius:15px;padding:17px;box-shadow:0 5px 16px rgba(34,90,55,.06)}
.media-kpi span,.media-kpi small{display:block;color:#718176}.media-kpi b{display:block;color:#287a4b;font-size:29px;margin:4px 0}
.media-breakdown-bars{display:grid;gap:12px}.media-breakdown-bar{display:grid;grid-template-columns:minmax(240px,1.2fr) 3fr;gap:14px;align-items:center;text-decoration:none;color:inherit;padding:8px;border-radius:10px}
.media-breakdown-bar:hover{background:#f3faf6}.media-bar-label{display:flex;justify-content:space-between;gap:10px}.media-bar-label span{color:#63776b;white-space:nowrap}
.media-bar-track{height:15px;background:#e9f2ec;border-radius:20px;overflow:hidden}.media-bar-track i{height:100%;display:block;background:linear-gradient(90deg,#55ae78,#287a4b);border-radius:20px;min-width:3px}
.media-drilldown{scroll-margin-top:18px}
@media(max-width:1000px){.media-breakdown-filter{grid-template-columns:repeat(2,minmax(150px,1fr))}.media-breakdown-kpis{grid-template-columns:1fr 1fr}.media-breakdown-bar{grid-template-columns:1fr}.media-bar-label{align-items:flex-start}}
@media(max-width:650px){.media-breakdown-filter,.media-breakdown-kpis{grid-template-columns:1fr}.media-filter-actions button,.media-filter-actions .btn{flex:1}}

/* =========================================================
   Prasri PR v2.0 - Subtask Assignment Workflow
   ========================================================= */
.media-subtasks-card{border-top:4px solid #3b9962}
.subtask-overall{text-align:center;background:#eef8f2;border-radius:12px;padding:9px 15px;min-width:100px}.subtask-overall b{display:block;font-size:24px;color:#287a4b}.subtask-overall span{font-size:12px;color:#64776b}
.subtask-item{border:1px solid #dce9e1;border-radius:14px;padding:15px;margin-top:12px;background:#fff}.subtask-item.status-completed{background:#f4fbf6;border-color:#bfe0ca}.subtask-item.status-waiting_acceptance{border-left:4px solid #e6b83f}.subtask-item.status-in_progress{border-left:4px solid #3b9962}
.subtask-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.subtask-head h4{margin:0 0 4px;color:#275d3e}
.subtask-progress-line{display:grid;grid-template-columns:1fr 55px;align-items:center;gap:10px;margin:12px 0}.subtask-progress-line b{text-align:right;color:#287a4b}
.subtask-meta{display:flex;gap:18px;flex-wrap:wrap;color:#607267;font-size:.92rem;margin-bottom:10px}
.subtask-assign-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;padding-top:10px;border-top:1px dashed #dce8e0}
.subtask-update-box,.subtask-history{margin-top:12px;border:1px solid #dfeae3;border-radius:10px;padding:10px;background:#fbfdfc}.subtask-update-box summary,.subtask-history summary{cursor:pointer;font-weight:800;color:#287a4b}
.subtask-complete-form{display:flex;gap:8px;align-items:center;margin-top:10px}.subtask-complete-form input{flex:1}
.subtask-history-row{padding:9px 2px;border-top:1px solid #edf2ef}.subtask-history-row:first-of-type{margin-top:8px}.subtask-history-row .muted{display:block;font-size:12px}
.subtask-dash-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.subtask-dash-strip a{background:#fff;border:1px solid #dcebe2;border-radius:14px;padding:14px;text-decoration:none;color:#496758}.subtask-dash-strip b{display:block;font-size:25px;color:#287a4b}.subtask-dash-strip span{font-size:13px}
@media(max-width:700px){.subtask-assign-form{grid-template-columns:1fr}.subtask-complete-form{flex-direction:column;align-items:stretch}.subtask-dash-strip{grid-template-columns:1fr}.subtask-head{flex-direction:column}}

/* Prasri PR v2.0.1 - Media Subtask Report Filter */
.media-subtask-filter .media-type-select{grid-column:span 2}
.selected-media-banner{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#eaf7ef;border:1px solid #c9e6d4;border-radius:14px;padding:12px 16px;margin:14px 0}
.selected-media-banner span{display:block;font-size:12px;color:#65806e}
.selected-media-banner strong{display:block;color:#246f46;font-size:18px}
.selected-media-banner a{color:#287a4b;font-weight:800}
.media-subtask-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}
.media-kpi-wait{border-top:3px solid #d9a92d}
.media-kpi-progress{border-top:3px solid #448dc8}
.media-kpi-done{border-top:3px solid #38a169}
.media-breakdown-bar.active{background:#eaf7ef;outline:1px solid #b9ddc5}
.media-subtask-report-table td{vertical-align:top}
.mini-progress{height:8px;min-width:80px;background:#e8f0eb;border-radius:10px;overflow:hidden;margin-bottom:4px}
.mini-progress i{display:block;height:100%;background:#3b9962;border-radius:10px}
@media(max-width:1000px){
  .media-subtask-kpis{grid-template-columns:1fr 1fr}
  .media-subtask-filter .media-type-select{grid-column:1/-1}
}
@media(max-width:650px){
  .media-subtask-kpis{grid-template-columns:1fr}
  .selected-media-banner{align-items:flex-start;flex-direction:column}
}

/* Prasri PR v2.0.2 - Legacy Subtask Compatibility */
.legacy-compat-banner{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#fff8e8;border:1px solid #edd79b;border-left:4px solid #d9a92d;border-radius:12px;padding:13px 16px;margin:14px 0;color:#66562d}
.legacy-compat-badge{white-space:nowrap;background:#f5e8bc;border-radius:999px;padding:6px 10px;font-weight:800;color:#6d591d}
.legacy-note{display:inline-block;margin-top:5px;color:#8a6d1f;background:#fff7df;border-radius:6px;padding:3px 6px}
@media(max-width:700px){.legacy-compat-banner{align-items:flex-start;flex-direction:column}.legacy-compat-badge{white-space:normal}}
/* Prasri PR v2.0.3 - CCTV External Complete Form */
.cctv-certify{margin-top:16px;padding:12px;background:#eef8f2;border:1px solid #d4e9dc;border-radius:10px}.cctv-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:10px 0}.cctv-detail-grid>div{background:#f7fbf8;border:1px solid #e1ece5;border-radius:10px;padding:10px}.cctv-detail-grid span{display:block;font-size:12px;color:#718176}.cctv-detail-grid strong{display:block;margin-top:3px}.cctv-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cctv-review-box,.cctv-provider-box{border:1px solid #dce9e1;border-radius:12px;padding:14px;background:#fbfdfc}.cctv-provider-box{margin-top:14px}.cctv-review-box h4,.cctv-provider-box h4{margin-top:0;color:#2b6544}.cctv-mode-options{display:flex;gap:16px;flex-wrap:wrap;margin:8px 0 12px}.cctv-provider-summary{display:flex;gap:12px;justify-content:space-between;background:#eef8f2;border-radius:9px;padding:9px 11px;margin-bottom:10px}.cctv-related-persons{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.cctv-detail-grid{grid-template-columns:1fr 1fr}.cctv-review-grid{grid-template-columns:1fr}.cctv-related-persons{grid-template-columns:1fr}}
@media(max-width:600px){.cctv-detail-grid{grid-template-columns:1fr}.cctv-mode-options{display:grid;grid-template-columns:1fr}.cctv-provider-summary{flex-direction:column}}

/* Prasri PR v2.0.5 - CCTV Deputy Director Approval */
.cctv-deputy-box{border:1px solid #b9ddc5;background:#f3fbf6}
.cctv-deputy-box h4{color:#216940}
.alert.warning{background:#fff7df;border:1px solid #efd58c;color:#755d20}

/* Prasri PR v2.1 - Conditional Executive Approval */
.executive-approval-card{border-top:4px solid #4b9568}
.executive-choice{display:flex;gap:10px;align-items:flex-start;border:1px solid #dbe8df;border-radius:12px;padding:12px;flex:1;background:#fbfdfc}
.executive-choice input{margin-top:4px}.executive-choice span{display:flex;flex-direction:column}.executive-choice small{color:#718176}
.executive-current-info{background:#f3faf6;border-radius:10px;padding:10px 13px;margin:10px 0}
.executive-wait-card .alert{margin:0}.executive-status-pending{background:#fff0c8!important;color:#7a5b0c!important}.executive-status-approve{background:#dff4e7!important;color:#226b40!important}.executive-status-reject{background:#fde2e2!important;color:#962f2f!important}
.executive-approval-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0}.executive-approval-kpis a{background:#fff;border:1px solid #dcebe2;border-radius:14px;padding:14px;text-decoration:none}.executive-approval-kpis b{display:block;font-size:26px;color:#287a4b}.executive-approval-kpis span{color:#65776b}
@media(max-width:700px){.executive-choice{width:100%}.executive-approval-kpis{grid-template-columns:1fr}}

/* Prasri PR v2.1.1 - Deputy Director Executive Dashboard */
.deputy-approval-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 18px}
.deputy-approval-kpi{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #dce9e1;border-radius:16px;padding:17px 18px;text-decoration:none;color:#365848;box-shadow:0 6px 18px rgba(33,83,55,.06);transition:.18s}
.deputy-approval-kpi:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(33,83,55,.10)}
.deputy-approval-kpi .kpi-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#eef7f1}.deputy-approval-kpi .kpi-icon .icon{width:23px;height:23px}
.deputy-approval-kpi small,.deputy-approval-kpi span{display:block}.deputy-approval-kpi strong{display:block;font-size:30px;line-height:1.1;margin:3px 0}
.deputy-approval-kpi.pending{border-top:4px solid #d9a92d}.deputy-approval-kpi.pending strong{color:#9a7417}
.deputy-approval-kpi.approved{border-top:4px solid #3b9962}.deputy-approval-kpi.approved strong{color:#287a4b}
.deputy-approval-kpi.rejected{border-top:4px solid #cf5b5b}.deputy-approval-kpi.rejected strong{color:#a43e3e}
.deputy-approval-kpi.total{border-top:4px solid #3c8795}.deputy-approval-kpi.total strong{color:#286d78}
@media(max-width:1100px){.deputy-approval-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.deputy-approval-grid{grid-template-columns:1fr}}

/* Prasri PR v2.1.2 - Full Executive Overview + Workload Report */
.workload-filter{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr)) auto;gap:12px;align-items:end}
.workload-filter label{display:block;font-weight:700;color:#345d48;margin-bottom:6px}.workload-filter select{width:100%}.workload-filter-action{display:flex;gap:8px;flex-wrap:wrap}
.workload-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}
.workload-summary-card{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:12px;align-items:center;background:#fff;border:1px solid #dce9e1;border-radius:14px;padding:14px;text-decoration:none;color:#3d604c}
.workload-summary-card:hover,.workload-summary-card.active{background:#f0f9f3;border-color:#a9d5b8}.workload-summary-card span{display:block;font-size:12px;color:#708176}
.workload-summary-num{text-align:center}.workload-summary-num b{font-size:28px;color:#287a4b}.workload-summary-num small{display:block}.workload-detail-table td{vertical-align:top}
@media(max-width:1050px){.workload-filter{grid-template-columns:1fr 1fr}.workload-summary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.workload-filter,.workload-summary-grid{grid-template-columns:1fr}.workload-summary-card{grid-template-columns:1fr}.workload-summary-num{text-align:left}}

/* v2.1.3 Operator Call Edit & Audit Log */
.operator-edit-origin{margin-bottom:14px}.operator-audit-table td{vertical-align:top}.audit-change{padding:7px 0;border-bottom:1px dashed #dce9e1}.audit-change:last-child{border-bottom:0}.audit-old{color:#a14b4b;text-decoration:line-through}.audit-new{color:#287a4b;font-weight:700}

/* v2.1.3.1 Minimal Operator Form */
.op-grid.op-grid-minimal{display:grid;grid-template-columns:minmax(300px,760px);gap:14px;justify-content:start}
.op-grid.op-grid-minimal .op-wide{grid-column:1/-1;width:min(100%,1500px)}
.op-grid.op-grid-minimal textarea{min-height:105px}
@media(max-width:800px){.op-grid.op-grid-minimal{grid-template-columns:1fr}}

/* v2.1.3.2 Staff Complete / Send Workflow Fix */
.subtask-complete-form{margin-top:12px;padding-top:12px;border-top:1px dashed #cfe0d5}
.subtask-complete-form .btn-success{font-weight:800}
.subtask-sent-notice{margin-top:10px}

/* v2.1.3.3 - Staff Action Panel Visibility Fix */
.staff-action-panel{border:2px solid #b9dfc6;background:linear-gradient(180deg,#fbfffc,#f4fbf6)}
.staff-action-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}
.staff-action-head h3{margin:0 0 3px;color:#205f3a}
.staff-primary-action,.staff-subtask-action{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px;border:1px solid #d2e8da;border-radius:12px;background:#fff;margin-top:10px}
.staff-send-action{border-color:#9bd0ae;background:#f5fcf7}
.btn-staff-send{font-size:16px;font-weight:800;padding:11px 18px;white-space:nowrap}
.staff-subtask-info{display:flex;flex-direction:column;gap:5px}
.staff-subtask-action form{margin:0}
.alert.compact{margin:0;padding:8px 10px}
@media(max-width:760px){.staff-primary-action,.staff-subtask-action,.staff-action-head{align-items:stretch;flex-direction:column}.btn-staff-send{width:100%}}

/* Prasri PR v2.1.4 - Staff Shared Monitoring Dashboard */
.staff-monitoring-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#edf8f1;border:1px solid #c7e3d0;border-left:4px solid #3c9560;border-radius:14px;padding:14px 16px;margin:0 0 16px}
.staff-monitoring-banner strong{display:block;color:#21653d;margin-bottom:3px}.staff-monitoring-banner span{display:block;color:#607568;font-size:.92rem}
.staff-monitor-filter{display:grid;grid-template-columns:150px 190px 1fr 1.3fr auto;gap:12px;align-items:end}.staff-monitor-filter label{display:block;font-weight:700;margin-bottom:5px}.staff-monitor-filter select,.staff-monitor-filter input{width:100%}
.staff-monitor-table td{vertical-align:top}
@media(max-width:1000px){.staff-monitor-filter{grid-template-columns:1fr 1fr}.staff-monitor-filter-action{grid-column:1/-1}}
@media(max-width:700px){.staff-monitoring-banner{align-items:flex-start;flex-direction:column}.staff-monitor-filter{grid-template-columns:1fr}}
