:root{--primary-color: #3b82f6;--primary-hover: #2563eb;--secondary-color: #ec4899;--secondary-hover: #db2777;--bg-color: #f0fdf4;--card-bg: rgba(255, 255, 255, .85);--text-dark: #1e293b;--text-light: #64748b;--border-color: rgba(255, 255, 255, .4);--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, .1);--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--radius: 16px}*{margin:0;padding:0;box-sizing:border-box;font-family:Kanit,sans-serif}body{background:linear-gradient(135deg,#e0c3fc,#8ec5fc);color:var(--text-dark);min-height:100vh;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:85vw;height:85vh;max-width:500px;background-image:url(/logo.jpg);background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.1;z-index:-1;pointer-events:none}h1,h2,h3,h4,h5,h6{font-weight:600;color:var(--text-dark)}.glass-panel{background:var(--card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--glass-shadow);padding:1.5rem;transition:transform .3s ease,box-shadow .3s ease}.glass-panel:hover{transform:translateY(-2px);box-shadow:0 12px 40px #1f268726}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:9999px;font-weight:500;border:none;cursor:pointer;transition:all .2s ease;font-size:1rem}.btn-primary{background-color:var(--primary-color);color:#fff;box-shadow:0 4px 14px #3b82f663}.btn-primary:hover{background-color:var(--primary-hover);transform:scale(1.02);box-shadow:0 6px 20px #3b82f663}.btn-secondary{background-color:var(--secondary-color);color:#fff;box-shadow:0 4px 14px #ec489963}.btn-secondary:hover{background-color:var(--secondary-hover);transform:scale(1.02);box-shadow:0 6px 20px #ec489963}.btn-outline{background-color:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.btn-outline:hover{background-color:var(--primary-color);color:#fff}.input-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.input-group label{font-weight:500;font-size:.9rem;color:var(--text-dark)}.input-field{padding:.75rem 1rem;border-radius:var(--radius);border:1px solid rgba(0,0,0,.1);background:#ffffffe6;font-size:1rem;transition:all .2s}.input-field:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f633}.container{width:100%;max-width:1200px;margin:0 auto;padding:1rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.text-center{text-align:center}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.p-4{padding:1rem}.badge{padding:.25rem .75rem;border-radius:9999px;font-size:.8rem;font-weight:600}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fef3c7;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .4s ease forwards}.table-wrapper{overflow-x:auto;border-radius:var(--radius);border:1px solid rgba(0,0,0,.05)}table{width:100%;border-collapse:collapse;background:#ffffffb3}th,td{padding:1rem;text-align:left;border-bottom:1px solid rgba(0,0,0,.05)}th{background:#ffffffe6;font-weight:600;color:var(--text-dark)}tr:hover{background:#ffffffe6}.app-layout{display:flex;min-height:100vh}.sidebar{width:260px;background:#fff;border-right:1px solid rgba(0,0,0,.05);box-shadow:4px 0 24px #0000000a;padding:2rem 1rem;display:flex;flex-direction:column;gap:1rem;transition:transform .3s ease;z-index:40}.main-content{flex:1;padding:2rem;height:100vh;overflow-y:auto}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--text-light);text-decoration:none;border-radius:12px;transition:all .2s;font-weight:500}.nav-link:hover{background:#3b82f60d;color:var(--primary-color)}.nav-link.active{background:var(--primary-color);color:#fff;box-shadow:0 4px 10px #3b82f64d}.mobile-nav-toggle{display:none}@media (max-width: 768px){.app-layout{flex-direction:column}.sidebar{position:fixed;bottom:0;left:0;right:0;width:100%;height:90px;flex-direction:row;padding:0;border-right:none;border-top:1px solid rgba(0,0,0,.05);box-shadow:0 -4px 20px #00000014;z-index:100;justify-content:space-between}.nav-link{flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:.5rem 0;font-size:.85rem;font-weight:500;flex:1;border-radius:0;white-space:nowrap}.nav-link.active{background:#3b82f60d;color:var(--primary-color);box-shadow:inset 0 3px 0 var(--primary-color)}.sidebar-header{display:none}.main-content{padding:1rem;padding-bottom:110px}}.flex-wrap{flex-wrap:wrap}.grid{display:grid;gap:1rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.flex-1{flex:1 1 0%}.w-full{width:100%}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}.border{border-width:1px;border-style:solid}.font-bold{font-weight:700}.font-medium{font-weight:500}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.bg-green-500{background-color:#22c55e!important}.text-white{color:#fff!important}.border-green-600{border-color:#16a34a!important}.bg-yellow-400{background-color:#facc15!important}.border-yellow-500{border-color:#eab308!important}.bg-orange-400{background-color:#fb923c!important}.border-orange-500{border-color:#f97316!important}.bg-red-500{background-color:#ef4444!important}.border-red-600{border-color:#dc2626!important}.bg-gray-50{background-color:#f9fafb!important}.text-gray-400{color:#9ca3af!important}.border-gray-200{border-color:#e5e7eb!important}.bg-white{background-color:#fff}.text-green-700{color:#15803d}.bg-green-100{background-color:#dcfce7}.text-gray-700{color:#374151}.bg-gray-100{background-color:#f3f4f6}.bg-green-50{background-color:#f0fdf4!important}.border-green-200{border-color:#bbf7d0!important}.shadow-green-100{box-shadow:0 4px 6px -1px #dcfce7cc!important}.bg-red-50{background-color:#fef2f2!important}.border-red-200{border-color:#fecaca!important}.shadow-red-100{box-shadow:0 4px 6px -1px #fee2e2cc!important}.bg-opacity-60{background-color:#fff9}.bg-opacity-80{background-color:#fffc}.hover\:bg-gray-100:hover{background-color:#f3f4f6!important}.hover\:bg-gray-50:hover{background-color:#f9fafb!important}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.ring-2{box-shadow:0 0 0 2px var(--tw-ring-color, currentColor)!important}.ring-green-300{--tw-ring-color: #86efac;box-shadow:0 0 0 2px var(--tw-ring-color)!important}.ring-yellow-300{--tw-ring-color: #fde047;box-shadow:0 0 0 2px var(--tw-ring-color)!important}.ring-orange-300{--tw-ring-color: #fdba74;box-shadow:0 0 0 2px var(--tw-ring-color)!important}.ring-red-300{--tw-ring-color: #fca5a5;box-shadow:0 0 0 2px var(--tw-ring-color)!important}.transform{transform:translate(var(--tw-translate-x, 0),var(--tw-translate-y, 0)) rotate(var(--tw-rotate, 0)) skew(var(--tw-skew-x, 0)) skewY(var(--tw-skew-y, 0)) scaleX(var(--tw-scale-x, 1)) scaleY(var(--tw-scale-y, 1))}.scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:scale(1.05)!important}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translateY(var(--tw-translate-y))!important}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,fill,stroke;transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.focus\:outline-none:focus{outline:none}.focus\:ring-2:focus{box-shadow:0 0 0 2px var(--tw-ring-color, #3b82f6)}.focus\:ring-red-400:focus{--tw-ring-color: #f87171;box-shadow:0 0 0 2px var(--tw-ring-color)}
