.dashboard-item{cursor:default;background:#fff;border-radius:.5rem;transition:all .2s ease-in-out;position:relative;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.dashboard-item:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.dashboard-drag-handle{opacity:.4;z-index:10;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background-color:#fffffff2;border:1px solid #00000026;border-radius:6px;justify-content:center;align-items:center;padding:8px;transition:all .2s ease-in-out;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 1px 3px #0000001a}.dashboard-drag-handle:active{cursor:grabbing}.dashboard-item:hover .dashboard-drag-handle{opacity:1;background-color:#fff;transform:scale(1.05);box-shadow:0 2px 8px #00000026}.dashboard-item-col-span-2{grid-column:span 2}.dashboard-item-col-span-3{grid-column:span 3}@media (max-width:767px){.dashboard-item-col-span-2,.dashboard-item-col-span-3{grid-column:span 1}.dashboard-drag-handle{opacity:.6;padding:12px;top:4px;right:4px}.dashboard-item:hover .dashboard-drag-handle,.dashboard-drag-handle:active{opacity:1}}.dashboard-drag-handle:hover{background-color:#0000000d;box-shadow:0 2px 4px #0000001a}.dashboard-drag-handle svg{color:#6b7280!important;font-size:16px!important}.dashboard-drag-handle:hover svg{color:#374151!important}.dashboard-drag-handle:active,.dashboard-drag-handle.dragging{cursor:grabbing;background-color:#3b82f61a;border-color:#3b82f64d;transform:scale(.95)}.dashboard-drag-handle:focus{outline-offset:2px;outline:2px solid #3b82f680}.dashboard-filter-row{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.dashboard-filter-label{color:#4b5563;margin-bottom:.25rem;font-size:.75rem}.dashboard-date-input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:.375rem;width:120px;min-width:80px;max-width:160px;padding:.25rem 1.75rem .25rem .5rem;font-size:.875rem;transition:width .2s}.dashboard-date-input:focus{border-color:#2563eb;outline:1px solid #2563eb}.dashboard-calendar-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:flex;position:absolute;right:.5rem}.dashboard-calendar-btn:hover{color:#2563eb}.dashboard-btn-today{color:#1d4ed8;background:#dbeafe;border:1px solid #bfdbfe;border-radius:.375rem;margin-left:.5rem;padding:.25rem .5rem;font-size:.875rem;transition:background .2s}.dashboard-btn-today:hover{background:#bae6fd}.dashboard-btn-thismonth{color:#1d4ed8;background:#dbeafe;border:1px solid #bfdbfe;border-radius:.375rem;margin-left:.5rem;padding:.25rem .5rem;font-size:.875rem;transition:background .2s}.dashboard-btn-thismonth:hover{background:#bae6fd}.dashboard-btn-reset{color:#374151;background:#e5e7eb;border:1px solid #e5e7eb;border-radius:.375rem;margin-left:.25rem;padding:.25rem .5rem;font-size:.875rem;transition:background .2s}.dashboard-btn-reset:hover{background:#d1d5db}.dashboard-date-range-sep{margin:0 .25rem}.dashboard-error-msg{color:#dc2626;text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;margin:.5rem 0;padding:.75rem 1rem;font-size:.95rem}.dashboard-info-msg{color:#2563eb;text-align:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:.375rem;margin:.5rem 0;padding:.75rem 1rem;font-size:.95rem}.dashboard-select,.dashboard-input{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:.375rem;width:auto;min-width:80px;max-width:180px;padding:.25rem .5rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.dashboard-select:focus,.dashboard-input:focus{border-color:#2563eb;outline:1px solid #2563eb}.dashboard-select,.dashboard-input{width:auto;min-width:80px;max-width:180px}.dashboard-btn-toggle{background:var(--chart-toggle-bg,#f3f4f6);color:var(--chart-toggle-color,#333);border:1px solid var(--chart-toggle-border,#d1d5db);cursor:pointer;z-index:1;border-radius:0;padding:.15rem .7rem;font-size:.95rem;transition:background .2s,color .2s,border .2s;position:relative;margin:0!important}.dashboard-btn-toggle:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px}.dashboard-btn-toggle:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}.dashboard-btn-toggle+.dashboard-btn-toggle{margin-left:-1px!important}.dashboard-btn-toggle.active{color:#fff;z-index:2;background:#2563eb;border-color:#2563eb;box-shadow:0 2px 8px #2563eb14}.dashboard-btn-toggle-group{gap:0;display:flex}:root{--chart-1:#ff8000;--chart-2:#0080ff;--chart-3:#004080;--chart-4:#d38040;--chart-5:#c48040}.violation-type-chart-container{background:#fff;width:100%;position:relative}.violation-type-chart-container .chart-summary,.violation-type-chart-container .chart-date-range{font-family:TH Sarabun New,Arial,sans-serif}@keyframes status-blink{0%{opacity:1;transform:scale(1)}50%{opacity:.25;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.status-blink{will-change:opacity, transform;animation:1.2s ease-in-out infinite status-blink}[data-for-report=true] .violation-type-chart-container .chart-summary{color:#1d4ed8;margin-top:.5rem;margin-bottom:.5rem;font-size:1.125rem;font-weight:600}[data-for-report=true] .violation-type-chart-container .chart-date-range{color:#4b5563;margin-top:.25rem;margin-bottom:.5rem;font-size:.875rem}[data-for-report=true] .chart-title{text-align:center;color:#1f2937;margin-bottom:1rem;font-family:TH Sarabun New,Arial,sans-serif;font-size:1.25rem;font-weight:700}[data-for-report=true] .violation-type-chart-container{background:#fff;border-radius:.5rem;padding:1rem}[data-for-report=true]{min-width:800px;min-height:500px;padding:20px;--card:#fff!important;--card-foreground:#1f2937!important;--foreground:#1f2937!important;--border:#e2e8f0!important;--muted:#f1f5f9!important;background:#fff!important}[data-for-report=true] svg{background:#fff}[data-for-report=true] .chart-summary{color:#1d4ed8!important;text-align:center!important;margin:.5rem 0!important;font-family:TH Sarabun New,Arial,sans-serif!important;font-size:1.125rem!important;font-weight:600!important}[data-for-report=true] .chart-date-range{color:#4b5563!important;text-align:center!important;margin:.25rem 0 .5rem!important;font-family:TH Sarabun New,Arial,sans-serif!important;font-size:.875rem!important}[data-for-report=true] .legend-container,[data-for-report=true] .legend-item{font-family:TH Sarabun New,Arial,sans-serif!important}.processing-time-chart-container{background:#fff;width:100%;position:relative}.processing-time-chart-container .chart-summary,.processing-time-chart-container .chart-date-range{font-family:TH Sarabun New,Arial,sans-serif}[data-for-report=true] .processing-time-chart-container .chart-summary{color:#059669;margin-top:.5rem;margin-bottom:.5rem;font-size:1.125rem;font-weight:600}[data-for-report=true] .processing-time-chart-container .chart-date-range{color:#4b5563;margin-top:.25rem;margin-bottom:.5rem;font-size:.875rem}[data-for-report=true] .processing-time-chart-container{background:#fff;border-radius:.5rem;padding:1rem}.daily-violation-chart-container,.daily-ai-chart-container{background:#fff;width:100%;position:relative}.daily-violation-chart-container .chart-summary,.daily-violation-chart-container .chart-date-range,.daily-ai-chart-container .chart-summary,.daily-ai-chart-container .chart-date-range{font-family:TH Sarabun New,Arial,sans-serif}.monthly-ai-chart-container{background:#fff;width:100%;position:relative}.monthly-ai-chart-container .chart-summary,.monthly-ai-chart-container .chart-date-range{font-family:TH Sarabun New,Arial,sans-serif}[data-for-report=true] .daily-violation-chart-container .chart-summary,[data-for-report=true] .daily-ai-chart-container .chart-summary,[data-for-report=true] .monthly-ai-chart-container .chart-summary{color:#1d4ed8;margin-top:.5rem;margin-bottom:.5rem;font-size:1.125rem;font-weight:600}[data-for-report=true] .daily-violation-chart-container .chart-date-range,[data-for-report=true] .daily-ai-chart-container .chart-date-range,[data-for-report=true] .monthly-ai-chart-container .chart-date-range{color:#4b5563;margin-top:.25rem;margin-bottom:.5rem;font-size:.875rem}[data-for-report=true] .daily-violation-chart-container,[data-for-report=true] .daily-ai-chart-container,[data-for-report=true] .monthly-ai-chart-container{background:#fff;border-radius:.5rem;padding:1rem}.monthly-violation-chart-container{background:#fff;width:100%;position:relative}.monthly-violation-chart-container .chart-summary,.monthly-violation-chart-container .chart-date-range{font-family:TH Sarabun New,Arial,sans-serif}[data-for-report=true] .monthly-violation-chart-container .chart-summary{color:#1d4ed8;margin-top:.5rem;margin-bottom:.5rem;font-size:1.125rem;font-weight:600}[data-for-report=true] .monthly-violation-chart-container .chart-date-range{color:#4b5563;margin-top:.25rem;margin-bottom:.5rem;font-size:.875rem}[data-for-report=true] .monthly-violation-chart-container{background:#fff;border-radius:.5rem;padding:1rem}[data-for-report=true] .dashboard-filter-row,[data-for-report=true] .flex.justify-between.items-center>.flex.items-center.gap-2,[data-for-report=true] button[title*=รายงาน],[data-for-report=true] button[title*=ขยาย],[data-for-report=true] button[title*=ย่อ],[data-for-report=true] button[aria-label*=ขยาย],[data-for-report=true] button[aria-label*=ย่อ],[data-for-report=true] .report-hide,[data-for-report=true] h3.chart-name,[data-for-report=true] .dashboard-drag-handle{display:none!important}[data-for-report=true] *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}[data-for-report=true] .text-blue-700,[data-for-report=true] .text-green-700,[data-for-report=true] .dark\:text-blue-400,[data-for-report=true] .dark\:text-green-400{color:#1d4ed8!important}[data-for-report=true] .text-gray-800,[data-for-report=true] .dark\:text-zinc-200{color:#4b5563!important}
