@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-color: #0d1117;--bg-secondary: #161b22;--bg-glass: rgba(22, 27, 34, .65);--text-primary: #e6edf3;--text-secondary: #8b949e;--border-color: rgba(255, 255, 255, .1);--border-glass: rgba(255, 255, 255, .05);--accent-blue: #2f81f7;--accent-blue-glow: rgba(47, 129, 247, .4);--badge-green-bg: rgba(46, 160, 67, .15);--badge-green-text: #3fb950;--badge-purple-bg: rgba(130, 80, 223, .15);--badge-purple-text: #a371f7;--badge-orange-bg: rgba(210, 153, 34, .15);--badge-orange-text: #d29922;--badge-red-bg: rgba(248, 81, 73, .15);--badge-red-text: #f85149;--sidebar-bg: #0d1117;--topbar-bg: rgba(13, 17, 23, .8);--card-bg: rgba(22, 27, 34, .65);--input-bg: rgba(13, 17, 23, .8)}[data-theme=ocean]{--bg-color: #0a1628;--bg-secondary: #112240;--bg-glass: rgba(17, 34, 64, .65);--text-primary: #ccd6f6;--text-secondary: #8892b0;--border-color: rgba(100, 255, 218, .1);--border-glass: rgba(100, 255, 218, .05);--accent-blue: #64ffda;--accent-blue-glow: rgba(100, 255, 218, .4);--sidebar-bg: #0a1628;--topbar-bg: rgba(10, 22, 40, .8);--card-bg: rgba(17, 34, 64, .65);--input-bg: rgba(10, 22, 40, .8)}[data-theme=emerald]{--bg-color: #0b1a0f;--bg-secondary: #12291a;--bg-glass: rgba(18, 41, 26, .65);--text-primary: #d1e8d5;--text-secondary: #7fa888;--border-color: rgba(80, 200, 120, .12);--border-glass: rgba(80, 200, 120, .05);--accent-blue: #50c878;--accent-blue-glow: rgba(80, 200, 120, .4);--sidebar-bg: #0b1a0f;--topbar-bg: rgba(11, 26, 15, .8);--card-bg: rgba(18, 41, 26, .65);--input-bg: rgba(11, 26, 15, .8)}[data-theme=purple]{--bg-color: #13091f;--bg-secondary: #1e1233;--bg-glass: rgba(30, 18, 51, .65);--text-primary: #e2d9f3;--text-secondary: #9a8cb5;--border-color: rgba(188, 140, 255, .12);--border-glass: rgba(188, 140, 255, .05);--accent-blue: #bc8cff;--accent-blue-glow: rgba(188, 140, 255, .4);--sidebar-bg: #13091f;--topbar-bg: rgba(19, 9, 31, .8);--card-bg: rgba(30, 18, 51, .65);--input-bg: rgba(19, 9, 31, .8)}[data-theme=sunset]{--bg-color: #1a0f0a;--bg-secondary: #2a1810;--bg-glass: rgba(42, 24, 16, .65);--text-primary: #f0ddd0;--text-secondary: #b08c76;--border-color: rgba(255, 140, 50, .12);--border-glass: rgba(255, 140, 50, .05);--accent-blue: #ff8c32;--accent-blue-glow: rgba(255, 140, 50, .4);--sidebar-bg: #1a0f0a;--topbar-bg: rgba(26, 15, 10, .8);--card-bg: rgba(42, 24, 16, .65);--input-bg: rgba(26, 15, 10, .8)}[data-theme=light]{--bg-color: #f0f2f5;--bg-secondary: #ffffff;--bg-glass: rgba(255, 255, 255, .85);--text-primary: #1f2937;--text-secondary: #6b7280;--border-color: rgba(0, 0, 0, .1);--border-glass: rgba(0, 0, 0, .05);--accent-blue: #2563eb;--accent-blue-glow: rgba(37, 99, 235, .3);--badge-green-bg: rgba(34, 197, 94, .12);--badge-green-text: #16a34a;--badge-purple-bg: rgba(147, 51, 234, .12);--badge-purple-text: #7c3aed;--badge-orange-bg: rgba(245, 158, 11, .12);--badge-orange-text: #d97706;--badge-red-bg: rgba(239, 68, 68, .12);--badge-red-text: #dc2626;--sidebar-bg: #ffffff;--topbar-bg: rgba(255, 255, 255, .9);--card-bg: rgba(255, 255, 255, .85);--input-bg: #f9fafb}[data-theme=light] ::-webkit-scrollbar-thumb{background:#00000026}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#00000040}*{box-sizing:border-box;margin:0;padding:0;transition:background-color .3s ease,border-color .3s ease,color .3s ease}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:10px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:#2f81f766}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-color);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}.app-container{display:flex;height:100vh;overflow:hidden}.sidebar{width:260px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column}.sidebar-logo{padding:1.5rem;font-size:1.25rem;font-weight:700;letter-spacing:-.5px;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid var(--border-color)}.sidebar-nav{padding:1rem 0;flex:1}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;color:var(--text-secondary);text-decoration:none;font-weight:500;transition:all .2s ease}.nav-item:hover{color:var(--text-primary);background:#7f7f7f14}.nav-item.active{color:var(--accent-blue);background:#2f81f714;border-right:3px solid var(--accent-blue)}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(circle at top right,rgba(47,129,247,.03),transparent 400px)}.topbar{height:64px;background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-glass);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;z-index:10}.page-content{flex:1;overflow-y:auto;padding:2rem}.glass-card{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:12px;padding:1.5rem;box-shadow:0 4px 24px #0003;transition:transform .2s ease,box-shadow .2s ease}.glass-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0000004d,0 0 12px var(--accent-blue-glow);border-color:#ffffff1a}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-title{color:var(--text-secondary);font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.table-container{overflow-x:auto;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-secondary)}table{width:100%;border-collapse:collapse}th,td{padding:1rem 1.5rem;text-align:left;border-bottom:1px solid var(--border-color)}th{font-weight:600;color:var(--text-secondary);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;background:#7f7f7f0a}tr:last-child td{border-bottom:none}tr:hover td{background:#7f7f7f0a}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-green{background:var(--badge-green-bg);color:var(--badge-green-text)}.badge-purple{background:var(--badge-purple-bg);color:var(--badge-purple-text)}.badge-orange{background:var(--badge-orange-bg);color:var(--badge-orange-text)}.badge-grey{background:#8b949e26;color:#8b949e}.badge-cyan{background:#56d4dd26;color:#56d4dd}.badge-yellow{background:#d2992226;color:#d29922}.badge-red{background:var(--badge-red-bg);color:var(--badge-red-text)}.badge-blue{background:#2f81f726;color:var(--accent-blue)}.btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn:hover{background:#7f7f7f14;border-color:#7f7f7f33;box-shadow:0 4px 16px #00000026,0 0 8px #7f7f7f0a;transform:translateY(-1px)}.btn-primary{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.btn-primary:hover{background:#1f6feb;border-color:#1f6feb;box-shadow:0 4px 20px var(--accent-blue-glow),0 0 12px var(--accent-blue-glow);transform:translateY(-1px)}.logout-modal-card{transition:transform .2s ease,box-shadow .2s ease}.logout-modal-card:hover{transform:scale(1.02);box-shadow:0 0 0 1px #f8514966,0 12px 40px #000c,0 30px 80px #0009,0 0 80px #f8514940,0 0 120px #f851491f!important}.btn-cancel:hover{background:#7f7f7f1a!important;box-shadow:0 4px 16px #0000001a,0 0 8px #7f7f7f0d!important;transform:translateY(-2px)}.btn-danger:hover{background:linear-gradient(135deg,#f85149,#ff6b6b)!important;box-shadow:0 6px 24px #f8514980,0 0 16px #f851494d!important;transform:translateY(-2px)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-title{font-size:1.5rem;font-weight:600}@keyframes dashFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pieSpinIn{0%{transform:rotate(-90deg) scale(.7);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}@keyframes barShimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes dotPulse{0%,to{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.6;transform:translate(-50%,-50%) scale(1.4)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes bannerGlow{0%,to{box-shadow:0 0 20px #58a6ff0d,inset 0 0 30px #bc8cff08}50%{box-shadow:0 0 30px #58a6ff1a,inset 0 0 40px #bc8cff0f}}@keyframes particleFloat{0%,to{transform:translateY(0) translate(0);opacity:.2}25%{transform:translateY(-15px) translate(8px);opacity:.5}50%{transform:translateY(-25px) translate(-5px);opacity:.3}75%{transform:translateY(-10px) translate(12px);opacity:.4}}@keyframes shootingStar{0%{transform:translate(-100px);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translate(calc(100vw + 100px));opacity:0}}.stat-card-animated{cursor:default;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important}.stat-card-animated:hover{transform:translateY(-4px)!important;box-shadow:0 8px 32px #2f81f74d,0 0 20px #58a6ff26;border-color:#2f81f766}@keyframes shimmerSweep{0%,to{left:-100%}50%{left:100%}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}@keyframes progressGrow{0%{width:0%}}select{color-scheme:dark}select option{background:var(--bg-secondary);color:var(--text-primary);padding:.5rem}select option:hover{background:#3b82f6;color:#fff;text-shadow:0 0 4px rgba(255,255,255,.3)}@keyframes float{0%{transform:translateY(0) translate(0)}to{transform:translateY(-20px) translate(10px)}}@keyframes scanLine{0%{left:-80px}to{left:100%}}@keyframes dotPulse{0%,to{opacity:.3;transform:translateY(-50%) scale(1)}50%{opacity:1;transform:translateY(-50%) scale(1.8)}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pageEnter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes cardSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes tableRowFadeIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.page-enter{animation:pageEnter .35s ease-out}.page-enter .page-header{animation:cardSlideUp .4s ease-out both}.page-enter .glass-card{animation:cardSlideUp .45s ease-out both}.page-enter .glass-card:nth-child(1){animation-delay:.05s}.page-enter .glass-card:nth-child(2){animation-delay:.1s}.page-enter .glass-card:nth-child(3){animation-delay:.15s}.page-enter .glass-card:nth-child(4){animation-delay:.2s}.glass-card{transition:transform .2s ease,box-shadow .2s ease}.page-enter tbody tr{animation:tableRowFadeIn .3s ease-out both}.page-enter tbody tr:nth-child(1){animation-delay:.08s}.page-enter tbody tr:nth-child(2){animation-delay:.12s}.page-enter tbody tr:nth-child(3){animation-delay:.16s}.page-enter tbody tr:nth-child(4){animation-delay:.2s}.page-enter tbody tr:nth-child(5){animation-delay:.24s}.page-enter tbody tr:nth-child(6){animation-delay:.28s}.page-enter tbody tr:nth-child(7){animation-delay:.32s}.page-enter tbody tr:nth-child(8){animation-delay:.36s}.page-enter tbody tr:nth-child(9){animation-delay:.4s}.page-enter tbody tr:nth-child(10){animation-delay:.44s}.page-enter tbody tr:nth-child(n+11){animation-delay:.48s}.reset-card:hover{box-shadow:0 25px 80px #2f81f740,0 0 40px #8250df26,0 20px 60px #0009!important;transform:translateY(-4px);border-color:#2f81f740!important}.sidebar{display:flex;flex-direction:column;height:100vh;overflow:hidden}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:.5rem}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@keyframes pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.6}50%{transform:translate(-50%,-50%) scale(1.5);opacity:.3}}input[type=date],input[type=datetime-local],input[type=time],select{color-scheme:dark!important}input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{opacity:0;position:absolute;right:4px;top:0;bottom:0;width:24px;cursor:pointer;z-index:2}input[type=date],input[type=datetime-local],input[type=time]{position:relative;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;background-size:14px;padding-right:28px!important;-webkit-text-fill-color:var(--text-primary)!important}[data-theme=light] input[type=date],[data-theme=light] input[type=datetime-local],[data-theme=light] input[type=time],[data-theme=light] select{color-scheme:light!important}[data-theme=light] input[type=date],[data-theme=light] input[type=datetime-local],[data-theme=light] input[type=time]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23374151' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");-webkit-text-fill-color:var(--text-primary)!important}[data-lang=th]{font-size:15px}[data-lang=th] .stat-title,[data-lang=th] th{font-size:.8rem;letter-spacing:0}[data-lang=th] .badge{font-size:.7rem;letter-spacing:0}[data-lang=th] .nav-item{font-size:.9rem}[data-lang=th] .btn{font-size:.85rem}[data-lang=th] .page-title{font-size:1.6rem}[data-lang=th] select,[data-lang=th] input,[data-lang=th] textarea{font-size:.85rem!important}[data-lang=th] label{font-size:.85rem}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.projects-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.projects-filter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;align-items:end}.staff-filter-grid{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.staff-filter-grid .staff-search{flex:1 1 220px;max-width:350px}.staff-filter-grid .staff-actions{margin-left:auto}.users-filter-grid{display:grid;grid-template-columns:4fr 1fr 1fr;gap:.75rem}.jobs-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.jobs-filter-grid{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.alljobs-dept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.project-info-grid{display:grid;grid-template-columns:3fr 3fr 2fr 2fr 2fr 2fr;gap:1rem}.table-pagination{display:flex;align-items:center;justify-content:space-between;padding:.65rem .75rem;margin-top:.5rem;font-size:.8rem;color:var(--text-secondary);border-top:1px solid var(--border-color)}.table-pagination-left{display:flex;align-items:center;gap:.5rem}.table-pagination-label{white-space:nowrap}.table-pagination-select{padding:.25rem 1.5rem .25rem .5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.8rem;cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%238b949e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .4rem center;background-size:10px;transition:border-color .2s}.table-pagination-select:focus{border-color:var(--accent-blue)}.table-pagination-right{display:flex;align-items:center;gap:.75rem}.table-pagination-info{white-space:nowrap;font-size:.78rem}.table-pagination-buttons{display:flex;align-items:center;gap:2px}.table-pagination-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:all .2s}.table-pagination-btn:hover:not(:disabled){border-color:var(--accent-blue);color:var(--accent-blue);background:#58a6ff14}.table-pagination-btn:disabled{opacity:.3;cursor:not-allowed}.table-pagination-page{font-size:.78rem;padding:0 .4rem;font-weight:500;white-space:nowrap}.sidebar-toggle,.sidebar-overlay{display:none}@media(max-width:1366px){.sidebar-toggle{display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border-color);border-radius:8px;padding:6px 8px;cursor:pointer;color:var(--text-primary);font-size:1.2rem;margin-right:.5rem}.app-container{display:block;height:100vh;overflow:hidden}.app-container>.sidebar{position:fixed;top:0;left:-280px;z-index:10000;width:260px;height:100vh;transition:left .3s ease;box-shadow:none;display:flex}.app-container>.sidebar.open{left:0;box-shadow:4px 0 30px #00000080}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:9999}.sidebar-overlay.active{display:block}.main-content{width:100%!important;height:100vh;min-width:0;overflow:hidden}.topbar{padding:0 .75rem;height:56px}.page-content{padding:1rem!important;overflow-x:hidden;overflow-y:auto;height:calc(100vh - 56px)}.glass-card{padding:.75rem!important}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-container table{min-width:600px}.user-profile{gap:6px!important}.user-profile>div:last-child>div:first-child{display:none}.stat-grid{grid-template-columns:repeat(2,1fr)!important}.chart-grid{grid-template-columns:1fr!important}.projects-stat-grid{grid-template-columns:repeat(2,1fr)!important;gap:.5rem!important}.projects-filter-grid{grid-template-columns:1fr!important}table th{font-size:.75rem!important;padding:.5rem .4rem!important}table td{font-size:.8rem!important;padding:.5rem .4rem!important}table .badge{font-size:.6rem!important;padding:2px 5px!important}h2,h3{font-size:1rem!important}.uploads-total-size{display:none!important}.staff-filter-grid{display:grid!important;grid-template-columns:1fr 1fr}.staff-filter-grid .staff-search{grid-column:1 / -1;max-width:none}.staff-filter-grid .staff-actions{margin-left:0;justify-content:flex-end}.staff-filter-grid select{width:100%}.users-filter-grid{grid-template-columns:1fr 1fr!important}.users-filter-grid>div:first-child{grid-column:1 / -1}.jobs-stat-grid{grid-template-columns:repeat(2,1fr)!important;gap:.5rem}.jobs-filter-grid{display:grid!important;grid-template-columns:1fr 1fr}.jobs-filter-grid>div:first-child{grid-column:1 / -1}.jobs-filter-grid .jobs-results{grid-column:1 / -1;text-align:center;margin-left:0!important}.alljobs-dept-grid{grid-template-columns:repeat(2,1fr)!important}.project-info-grid{grid-template-columns:1fr 1fr!important}.project-info-grid>div{text-align:left!important}}@media(max-width:480px){.topbar{padding:0 .5rem}.staff-report-count{display:none}.page-content{padding:.75rem!important}.glass-card{padding:.5rem!important;border-radius:8px!important}.stat-grid{grid-template-columns:1fr!important}.projects-stat-grid{grid-template-columns:repeat(2,1fr)!important;gap:.4rem!important;font-size:.75rem}table th{font-size:.7rem!important;padding:.4rem .3rem!important}table td{font-size:.75rem!important;padding:.4rem .3rem!important}h2,h3{font-size:.95rem!important}.alljobs-dept-grid{grid-template-columns:1fr!important}}
