@import "https://fonts.googleapis.com/css2?family=Bai+Jamjuree:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Noto+Sans+Thai:wght@300;400;500;600;700&family=Sarabun:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap";:root{--primary-h:235;--primary-s:85%;--primary-l:60%;--primary:hsl(var(--primary-h), var(--primary-s), var(--primary-l));--primary-hover:hsl(var(--primary-h), var(--primary-s), calc(var(--primary-l) - 8%));--primary-glow:hsla(var(--primary-h), var(--primary-s), var(--primary-l), .35);--secondary:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--bg-main:#0b0e14;--bg-sidebar:#111420;--bg-card:#171c2da6;--bg-card-hover:#1c2237d9;--border-color:#ffffff14;--border-focus:hsla(var(--primary-h), var(--primary-s), var(--primary-l), .5);--text-main:#e2e8f0;--text-muted:#94a3b8;--text-inverse:#0f172a;--shadow-sm:0 2px 8px #0003;--shadow-md:0 8px 24px #00000059;--shadow-lg:0 16px 48px #00000080;--font-family:"Bai Jamjuree", "Noto Sans Thai", system-ui, -apple-system, sans-serif;--glass-blur:blur(12px);--border-radius-sm:8px;--border-radius-md:12px;--border-radius-lg:20px}[data-theme=light]{--bg-main:#f8fafc;--bg-sidebar:#fff;--bg-card:#fffc;--bg-card-hover:#fffffff2;--border-color:#0f172a14;--border-focus:hsla(var(--primary-h), var(--primary-s), var(--primary-l), .4);--text-main:#0f172a;--text-muted:#64748b;--text-inverse:#fff;--shadow-sm:0 2px 8px #0000000d;--shadow-md:0 8px 24px #00000014;--shadow-lg:0 16px 48px #0000001f;--glass-blur:blur(8px)}*{box-sizing:border-box;font-family:var(--font-family);margin:0;padding:0;transition:background-color .25s,border-color .25s,color .15s}body{background-color:var(--bg-main);color:var(--text-main);min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;color:var(--text-main);font-weight:600}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.app-container{min-height:100vh;display:flex;position:relative}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-color);box-shadow:var(--shadow-md);border-radius:var(--border-radius-md)}.glass-panel-hover:hover{background:var(--bg-card-hover);border-color:var(--border-focus);box-shadow:0 0 20px var(--primary-glow);transition:all .3s cubic-bezier(.4,0,.2,1);transform:translateY(-2px)}.btn{border-radius:var(--border-radius-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.95rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary), #4f46e5);box-shadow:0 4px 14px var(--primary-glow);color:var(--text-inverse)!important}.btn-primary:hover{filter:brightness(1.1);box-shadow:0 6px 20px var(--primary-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--text-main);border:1px solid var(--border-color);background:#ffffff0d}.btn-secondary:hover{border-color:var(--text-muted);background:#ffffff1a}.btn-danger{background:linear-gradient(135deg, var(--danger), #dc2626);box-shadow:0 4px 12px #ef444440;color:#fff!important}.btn-danger:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 16px #ef444459}.btn-success{background:linear-gradient(135deg, var(--secondary), #059669);box-shadow:0 4px 12px #10b98140;color:#fff!important}.btn-success:hover{filter:brightness(1.1);box-shadow:0 6px 16px #10b98159}.btn-sm{padding:6px 12px;font-size:.85rem}.form-group{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.form-label{color:var(--text-muted);font-size:.9rem;font-weight:500}.form-input,.form-select,.form-textarea{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);width:100%;color:var(--text-main);background:#0003;outline:none;padding:12px 16px;font-size:.95rem;transition:all .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.form-select option{background-color:var(--bg-sidebar);color:var(--text-main)}.badge{text-transform:uppercase;border-radius:9999px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-primary{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d}.badge-success{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.badge-warning{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.badge-danger{color:#f87171;background:#ef444426;border:1px solid #ef44444d}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}.spinner{border:3px solid #ffffff1a;border-top-color:var(--primary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.table-container{border-radius:var(--border-radius-md);border:1px solid var(--border-color);overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%}.custom-table th{text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-color);background:#ffffff05;padding:16px;font-size:.85rem;font-weight:600}.custom-table td{border-bottom:1px solid var(--border-color);padding:16px;font-size:.95rem}.custom-table tbody tr{cursor:pointer;transition:all .2s}.custom-table tbody tr:hover{background:#ffffff08}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;background:#000000b3;padding:40px 0;animation:.2s fadeIn;display:block;position:fixed;inset:0;overflow-y:auto}.modal-content{border-radius:var(--border-radius-lg);border:1px solid var(--border-color);background:var(--bg-sidebar);width:90%;max-width:650px;margin:60px auto;padding:30px;position:relative}.dashboard-split{grid-template-columns:1.2fr .8fr;gap:25px;display:grid}@media (width<=900px){.dashboard-split{grid-template-columns:1fr}}.employee-dashboard{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=768px){.employee-dashboard{grid-template-columns:1fr}}.recent-item-row{border-radius:var(--border-radius-sm);background:#ffffff03;border:1px solid #ffffff05;align-items:center;gap:15px;padding:12px;transition:all .2s;display:flex}.recent-item-row:hover{background:#ffffff08;transform:translate(2px)}.layout-grid{grid-template-columns:.8fr 2.2fr;gap:30px;display:grid}@media (width<=900px){.layout-grid{grid-template-columns:1fr}}.info-grid{grid-template-columns:1fr 1fr;gap:20px 30px;display:grid}@media (width<=600px){.info-grid{grid-template-columns:1fr}}.payslip-grid{grid-template-columns:1.3fr .7fr;gap:20px;display:grid}@media (width<=768px){.payslip-grid{grid-template-columns:1fr}}.form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}@media (width<=600px){.form-grid{grid-template-columns:1fr}}.list-header-row{justify-content:space-between;align-items:center;display:flex}@media (width<=600px){.list-header-row{flex-direction:column;align-items:flex-start;gap:15px}}.login-brand-panel{background:linear-gradient(135deg,#0e1220 0%,#171b30 100%);border-right:1px solid #ffffff0d;flex-direction:column;flex:1;justify-content:space-between;padding:40px;display:flex}@media (width<=768px){.login-brand-panel{display:none}}
