@import"https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@300;400;500;600;700&display=swap";:root{--app-font-family: "Noto Sans Thai", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--bs-primary: #28a745 !important;--bs-primary-rgb: 40, 167, 69 !important;--bs-success: #28a745 !important;--bs-success-rgb: 40, 167, 69 !important;--bs-warning: #ff8c42 !important;--bs-warning-rgb: 255, 140, 66 !important;--app-bg-color: #f0f2f5;--app-green-gradient: linear-gradient(135deg, #28a745, #34ce57);--app-green-dark-gradient: linear-gradient(135deg, #1e7e34, #28a745);--app-orange-gradient: linear-gradient(135deg, #ff8c42, #ffa366);--app-orange-dark-gradient: linear-gradient(135deg, #e6732e, #ff8c42);--primary-gradient: linear-gradient(135deg, #28a745 0%, #34ce57 100%);--success-gradient: linear-gradient(135deg, #28a745 0%, #34ce57 100%);--orange-gradient: linear-gradient(135deg, #ff8c42 0%, #ffa366 100%);--card-shadow: 0 2px 8px rgba(0, 0, 0, .08);--card-shadow-hover: 0 8px 24px rgba(0, 0, 0, .12);--border-radius: 12px;--border-radius-sm: 8px}body{font-family:var(--app-font-family);background-color:var(--app-bg-color);color:#343a40;background:#f0f2f5;min-height:100vh}body.bg-light{background-color:var(--app-bg-color)!important}.card{border-radius:var(--border-radius)!important;border:none!important;box-shadow:var(--card-shadow)!important;transition:all .3s ease;background:#fff}.card:hover{box-shadow:var(--card-shadow-hover)!important;transform:translateY(-2px)}.card-body{padding:24px}.btn{border-radius:8px;font-weight:500;transition:all .2s ease-in-out}.btn-primary{background:var(--primary-gradient)!important;border:none!important;border-radius:var(--border-radius-sm);padding:8px 20px;font-weight:500;box-shadow:0 4px 12px #28a7454d;transition:all .3s ease;color:#fff!important}.btn-primary:hover,.btn-primary:focus,.btn-primary:active{transform:translateY(-2px);box-shadow:0 6px 20px #28a74566;background:linear-gradient(135deg,#1e7e34,#28a745)!important;color:#fff!important}.btn-warning{background:var(--orange-gradient)!important;border:none!important;border-radius:var(--border-radius-sm);padding:8px 20px;font-weight:500;box-shadow:0 4px 12px #ff8c424d;transition:all .3s ease;color:#fff!important}.btn-warning:hover,.btn-warning:focus,.btn-warning:active{transform:translateY(-2px);box-shadow:0 6px 20px #ff8c4266;background:linear-gradient(135deg,#e6732e,#ff8c42)!important;color:#fff!important}.btn-outline-warning{border:2px solid #ff8c42!important;color:#ff8c42!important;background:transparent!important}.btn-outline-warning:hover,.btn-outline-warning:focus,.btn-outline-warning:active{background:var(--app-orange-gradient)!important;border-color:#ff8c42!important;color:#fff!important;transform:translateY(-2px);box-shadow:0 6px 16px #ff8c424d!important}.btn-success{background:var(--success-gradient)!important;border:none!important;box-shadow:0 4px 12px #28a7454d}.btn-success:hover{transform:translateY(-2px);box-shadow:0 6px 20px #28a74566}.btn-outline-primary{border-color:#28a745!important;color:#28a745!important;border-radius:var(--border-radius-sm);transition:all .3s ease}.btn-outline-primary:hover{background:#28a745!important;color:#fff!important;transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.btn-outline-secondary{border-color:#ced4da;color:#6c757d;border-radius:var(--border-radius-sm);transition:all .3s ease}.btn-outline-secondary:hover{background-color:#515151;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.form-control,.form-select{border-radius:var(--border-radius-sm);border:1.5px solid #e0e0e0;padding:10px 14px;transition:all .3s ease}.form-select,.form-select-sm{padding-right:2.5rem!important}form.d-flex .btn-sm{height:calc(1.8125rem + 2px)!important;min-height:calc(2.6125rem + 2px)!important;padding:.25rem .75rem!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:1.5!important;box-sizing:border-box!important}.form-control:focus,.form-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;transform:translateY(-1px)}aside{background:linear-gradient(180deg,#fff,#f8f9fa)!important;box-shadow:2px 0 12px #0000000d}aside .bg-primary{background:var(--primary-gradient)!important;box-shadow:0 4px 12px #28a7454d}aside .nav-link{border-radius:var(--border-radius-sm);padding:10px 16px;margin-bottom:4px;transition:all .3s ease;border:1px solid transparent}aside .nav-link:hover{background:#28a7451a;border-color:#28a74533;transform:translate(4px)}aside .nav-link.active{background:var(--primary-gradient)!important;color:#fff!important;box-shadow:0 4px 12px #28a7454d;border-color:transparent}.nav-link{border-radius:8px;padding:.75rem 1rem;color:#495057;transition:all .2s ease-in-out}.nav-link.active{background:var(--app-green-gradient)!important;color:#fff!important;box-shadow:0 4px 8px #28a7454d!important}.nav-link.active:hover{background:var(--app-green-dark-gradient)!important}.nav-link:hover:not(.active){background-color:#e9ecef;transform:translate(3px)}.table{border-radius:var(--border-radius);overflow:hidden}.table thead th{background-color:#f1f1f1;border:none;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.5px;color:#0f4306;padding:16px}.table tbody tr{transition:all .2s ease;border-bottom:1px solid #f0f0f0}.table tbody tr:hover{background:linear-gradient(90deg,#667eea0d,#764ba20d);transform:scale(1.01)}.table tbody td{padding:16px;vertical-align:middle}.table thead{background:linear-gradient(90deg,#f8f9fa,#e9ecef);color:#495057}.table th{padding:1rem;font-weight:600;border-bottom:1px solid #dee2e6}.table td{padding:1rem;border-top:1px solid #e9ecef}.table-hover tbody tr:hover{background-color:#f0f2f5;transform:scale(1.005);box-shadow:0 4px 8px #00000008;transition:all .2s ease-in-out}.table .btn-sm{min-width:36px;width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;box-shadow:0 2px 4px #00000014;transition:all .2s ease-in-out}.table .btn-sm svg{margin:0!important}.table .btn-sm:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000001f}.table .btn-sm:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.table .btn-sm.btn-success{background:transparent!important;border:none!important;border-radius:0!important;color:#28a745;padding:4px;box-shadow:none!important}.table .btn-sm.btn-success:hover{background:transparent!important;color:#1e7e34;box-shadow:none!important}.table .btn-sm.btn-success svg{fill:#28a745;width:28px!important;height:28px!important;aspect-ratio:1 / 1}.table .btn-sm.btn-success:hover svg{fill:#1e7e34}.table .btn-sm.btn-outline-secondary:has(svg.bi-toggle-off),.table .btn-sm.btn-outline-secondary:has(svg.bi-toggle-on){background:transparent!important;border:none!important;border-radius:0!important;color:#6c757d;padding:4px;box-shadow:none!important}.table .btn-sm.btn-outline-secondary:has(svg.bi-toggle-off):hover,.table .btn-sm.btn-outline-secondary:has(svg.bi-toggle-on):hover{background:transparent!important;border:none!important;color:#495057;box-shadow:none!important}.table .btn-sm.btn-outline-secondary svg.bi-toggle-off,.table .btn-sm.btn-outline-secondary svg.bi-toggle-on{width:28px!important;height:28px!important;aspect-ratio:1 / 1;display:block}.table .btn-sm.btn-outline-secondary svg.bi-toggle-off{overflow:visible}.table .btn-sm.btn-outline-secondary svg.bi-toggle-off path:last-child{transform:scale(1.1);transform-origin:center}.table .btn-sm.btn-outline-secondary:not(:has(svg.bi-toggle-off)):not(:has(svg.bi-toggle-on)){background:#fff;border:1px solid #6c757d;border-radius:8px;color:#6c757d;padding:0;box-shadow:0 2px 4px #00000014}.table .btn-sm.btn-outline-secondary:not(:has(svg.bi-toggle-off)):not(:has(svg.bi-toggle-on)):hover{background:#6c757d;border-color:#6c757d;color:#fff;box-shadow:0 4px 8px #0000001f}.table .btn-sm.btn-outline-secondary:not(:has(svg.bi-toggle-off)):not(:has(svg.bi-toggle-on)) svg{width:14px!important;height:14px!important}.table .btn-sm.btn-info{background:var(--app-orange-gradient);border:none;color:#fff}.table .btn-sm.btn-info:hover{background:var(--app-orange-dark-gradient)}.table .btn-sm.btn-primary{background:#2b6b37!important;border:none!important;color:#fff!important}.table .btn-sm.btn-primary:hover{background:#235a2d!important;color:#fff!important}.table .btn-sm.btn-outline-primary{background:#fff!important;border:1px solid #0d6efd!important;color:#0d6efd!important}.table .btn-sm.btn-outline-primary:hover{background:#0d6efd!important;color:#fff!important}.table .btn-sm.btn-outline-danger{background:#fff;border:1px solid #dc3545;color:#dc3545}.table .btn-sm.btn-outline-danger:hover{background:#dc3545;color:#fff}.table .btn-sm:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.table .btn-sm:disabled:hover{transform:none!important;box-shadow:0 2px 4px #00000014}.auth-card{border-radius:16px;box-shadow:0 8px 24px #0000001a}.auth-card .card-body{background:#fff}a.link-primary,a[style*="color: #627eea"],a[style*="color: #28a745"]{transition:all .2s ease-in-out;color:#28a745!important}a.link-primary:hover,a[style*="color: #627eea"]:hover,a[style*="color: #28a745"]:hover{color:#1e7e34!important;text-decoration:underline}.alert{border-radius:var(--border-radius-sm);border:none;box-shadow:0 4px 12px #00000014}.alert-success{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724}.alert-danger{background-color:#fff5f5;color:#c53030;border-left:3px solid #fc8181}.form-control:focus{border-color:#34ce57;box-shadow:0 0 0 .25rem #28a74526}.pagination{border-radius:var(--border-radius-sm);gap:6px}.pagination .page-link{border-radius:6px;margin:0;padding:.375rem .625rem;font-size:.875rem;border:1.5px solid #e0e0e0;transition:all .3s ease;color:#0d6efd;border-color:#dee2e6}.pagination .page-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;background-color:#e9ecef;border-color:#0d6efd;color:#0d6efd}.pagination .page-item.active .page-link{background-color:#0d6efd!important;border-color:#0d6efd!important;color:#fff!important;box-shadow:0 4px 12px #0d6efd4d}.pagination .page-item.disabled .page-link{color:#6c757d;background-color:#fff;border-color:#dee2e6;cursor:not-allowed}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}::-webkit-scrollbar-thumb{background:#888;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#555}.switch{--switch-width: 36.8px;--switch-height: 19.2px;--switch-bg: rgb(131, 131, 131);--switch-checked-bg: #69AD76;--switch-offset: calc((var(--switch-height) - var(--circle-diameter)) / 2);--switch-transition: all .2s cubic-bezier(.27, .2, .25, 1.51);--circle-diameter: 14.4px;--circle-bg: #fff;--circle-shadow: 1px 1px 2px rgba(146, 146, 146, .45);--circle-checked-shadow: -1px 1px 2px rgba(163, 163, 163, .45);--circle-transition: var(--switch-transition);--icon-transition: all .2s cubic-bezier(.27, .2, .25, 1.51);--icon-cross-color: var(--switch-bg);--icon-cross-size: 4.8px;--icon-checkmark-color: var(--switch-checked-bg);--icon-checkmark-size: 8px;--effect-width: calc(var(--circle-diameter) / 2);--effect-height: calc(var(--effect-width) / 2 - 1px);--effect-bg: var(--circle-bg);--effect-border-radius: 1px;--effect-transition: all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;margin:0 auto}.switch input{display:none}.switch svg{transition:var(--icon-transition);position:absolute;height:auto}.switch .checkmark{width:var(--icon-checkmark-size);color:var(--icon-checkmark-color);transform:scale(0)}.switch .cross{width:var(--icon-cross-size);color:var(--icon-cross-color)}.switch .slider{box-sizing:border-box;width:var(--switch-width);height:var(--switch-height);background:var(--switch-bg);border-radius:999px;display:flex;align-items:center;position:relative;transition:var(--switch-transition);cursor:pointer}.switch .circle{width:var(--circle-diameter);height:var(--circle-diameter);background:var(--circle-bg);border-radius:inherit;box-shadow:var(--circle-shadow);display:flex;align-items:center;justify-content:center;transition:var(--circle-transition);z-index:1;position:absolute;left:var(--switch-offset)}.switch .slider:before{content:"";position:absolute;width:var(--effect-width);height:var(--effect-height);left:calc(var(--switch-offset) + (var(--effect-width) / 2));background:var(--effect-bg);border-radius:var(--effect-border-radius);transition:var(--effect-transition)}.switch input:checked+.slider{background:var(--switch-checked-bg)}.switch input:checked+.slider .checkmark{transform:scale(1)}.switch input:checked+.slider .cross{transform:scale(0)}.switch input:checked+.slider:before{left:calc(100% - var(--effect-width) - (var(--effect-width) / 2) - var(--switch-offset))}.switch input:checked+.slider .circle{left:calc(100% - var(--circle-diameter) - var(--switch-offset));box-shadow:var(--circle-checked-shadow)}.switch.disabled{opacity:.5;cursor:not-allowed}.switch.disabled .slider{cursor:not-allowed}.filter-bar-wrapper{background:linear-gradient(135deg,#f8f9fa,#fff);padding:20px;border-radius:var(--border-radius);margin-bottom:20px}.badge{border-radius:6px;padding:6px 12px;font-weight:500}.image-upload-section:last-of-type{border-bottom:none!important}h2.h5{font-weight:700;color:#2d3748;letter-spacing:-.5px}.text-center.py-5{padding:60px 20px!important}.text-center.py-5 svg{opacity:.3;margin-bottom:20px}main{background:transparent}.form-label.small{font-weight:600;color:#4a5568;margin-bottom:6px}.lucide-icon{display:inline-block;flex-shrink:0;stroke-width:2;stroke:currentColor;fill:none}.lucide-icon svg{width:100%;height:100%}
