@import "https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap";.password-input{width:100%;position:relative}.password-input>input{width:100%;padding-right:44px}.password-input-toggle{width:32px;height:32px;color:var(--text-muted,#6b7280);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-input-toggle:hover{color:var(--text-primary,#111827)}.login-card .password-input-toggle{color:#4b5563}.forgot-link{cursor:pointer}button.forgot-link{background:0 0;border:0;padding:0;font-weight:700}.fp-backdrop{z-index:10040;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#03211fb3;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.fp-card{background:var(--bg-card);width:min(420px,100%);color:var(--text-primary);border:1px solid var(--border-medium);border-radius:20px;padding:30px 28px 26px;position:relative;box-shadow:0 20px 50px #0006}.fp-card h2{margin:0 0 10px;font-size:21px;font-weight:600}.fp-card form,.fp-step{gap:14px;display:grid}.fp-card label{flex-direction:column;gap:6px;margin:0;display:flex}.fp-card label span{color:var(--text-muted);font-size:13px}.fp-card .form-control{background:var(--bg-input);color:var(--text-primary);border-color:var(--border-medium);border-radius:10px}.fp-text{color:var(--text-muted);margin:0;font-size:14px;line-height:1.55}.fp-otp{letter-spacing:12px;text-align:center;font-size:24px;font-weight:600}.fp-error{color:var(--text-primary);background:#ef44441f;border:1px solid #ef444499;border-radius:10px;margin:0;padding:9px 12px;font-size:13px}.fp-row{justify-content:space-between;gap:10px;display:flex}.fp-link{color:var(--text-primary);background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.fp-link:disabled{color:var(--text-muted);cursor:default;text-decoration:none}.fp-close{width:32px;height:32px;color:var(--text-muted);background:0 0;border:0;border-radius:50%;position:absolute;top:14px;right:14px}.fp-close:hover{background:var(--bg-card-soft);color:var(--text-primary)}.fp-steps{gap:6px;margin-bottom:16px;display:flex}.fp-steps span{background:var(--border-medium);border-radius:4px;width:34px;height:4px}.fp-steps span.done{background:#00dad2}.fp-password{position:relative}.fp-password .form-control{padding-right:44px}.fp-password button{color:var(--text-muted);background:0 0;border:0;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.fp-done{text-align:center;gap:16px;display:grid}.fp-done-icon{color:#03211f;background:#00dad2;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:4px auto 0;font-size:28px;display:flex}.fp-card .login-btn:hover,.fp-card .login-btn:focus,.fp-card .login-btn:active{background:var(--accent-primary);color:#041221;filter:brightness(1.05)}.fp-card .login-btn:disabled{background:var(--accent-primary);color:#041221;opacity:.5}.fp-dev{color:var(--text-primary);background:#fb9d591f;border:1px dashed #fb9d59;border-radius:10px;margin:0;padding:9px 12px;font-size:12px;line-height:1.5}:root{--footer-height:80px;--bg-main:#041221;--bg-card:#0c1d2f;--bg-card-soft:#081a2e;--bg-input:#081a2e;--border-light:#ffffff0f;--border-medium:#ffffff1f;--border-subtle:#ffffff14;--border-strong:#ffffff26;--border-faint:#ffffff0d;--border-soft:#ffffff14;--text-heading:#fff;--text-primary:#fff;--text-muted:#9ca3af;--text-sidebar-muted:#9ca3af;--text-secondary:#acacac;--text-btn-primary:#041221;--accent-primary:#cffa39;--accent-hover:#b7e92f;--accent-secondary:#6015c6;--status-success:#cffa39;--status-warning:#facc15;--status-danger:#ef4444;--status-info:#38bdf8;--link-primary:#cffa39;--shadow-soft:0px 2px 10px #00000059;--shadow-heavy:0 10px 30px #00000059;--row-hover:#cffa3914;--focus-ring:0 0 0 .15rem #cffa3940;--sidebar-hover:#1a2f45;--policy-card-bg:linear-gradient(180deg, var(--bg-card), var(--bg-card-soft));--policy-item-bg:radial-gradient(circle at 1px 1px, #ffffff0d 1px, transparent 1px), linear-gradient(180deg, #102a3a, #0c2232);--policy-border:#cffa3926;--policy-icon-bg:#cffa3933;--policy-tag-bg:var(--bg-card);--policy-action-bg:var(--bg-card-soft);--danger-color:#ff3b30;--accent-soft-1:#f8ffe11f;--accent-soft-2:#cffa392e;--overlay-light-1:#ffffff08;--overlay-light-2:#ffffff03;--accent-hover-bg:#cffa3926;--backtotop-bg:var(--accent-primary);--backtotop-bg-hover:var(--accent-hover);--backtotop-icon:#000;--sidebar-width:300px;--sidebar-collapsed-width:72px;--header-height:80px}body.light-mode{--bg-main:#f7f8fa;--bg-card:#fff;--bg-card-soft:#f1f5f9;--bg-input:#f3f4f6;--border-light:#e5e7eb;--border-medium:#d1d5db;--border-subtle:#e2e8f0;--border-strong:#cddfff;--border-faint:#eef2f7;--border-soft:#e5e7eb;--text-heading:#012970;--text-primary:#111827;--text-muted:#6b7280;--text-sidebar-muted:#4e5565;--text-secondary:#4b5563;--text-btn-primary:#041221;--accent-primary:#cffa39;--accent-hover:#bfe82e;--accent-secondary:#e6d9fb;--status-success:#16a34a;--status-warning:#ca8a04;--status-danger:#dc2626;--status-info:#0284c7;--link-primary:#012970;--shadow-soft:0px 4px 12px #00000014;--shadow-heavy:0px 8px 24px #0000001f;--row-hover:#0129700d;--focus-ring:0 0 0 .15rem #01297040;--sidebar-hover:#fcfbfc;--policy-card-bg:#fff;--policy-item-bg:radial-gradient(circle at 1px 1px, #0f172a0a 1px, transparent 1px), linear-gradient(180deg, #f7fee7, #f7fee7);--policy-border:#e5f0c8;--policy-icon-bg:#ecfccb;--policy-tag-bg:#fff;--policy-action-bg:#fff;--danger-color:#dc2626;--accent-soft-1:#fcfff5;--accent-soft-2:#22c55e2e;--overlay-light-1:#0000000a;--overlay-light-2:#00000005;--accent-hover-bg:#cffa3938;--backtotop-bg:#111827;--backtotop-bg-hover:#1f2937;--backtotop-icon:#fff}html,body{height:100%}body{background:var(--bg-main);color:var(--text-muted);font-family:Poppins,sans-serif}body.light-mode #inputdate::-webkit-calendar-picker-indicator{filter:none}.main{min-height:calc(100vh - 80px - var(--footer-height));padding:20px 180px}.app-layout{min-height:100vh;display:flex}.main-wrapper{margin-left:var(--sidebar-width);flex-direction:column;flex:1;transition:margin-left .3s;display:flex}body.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed-width);height:100%;padding:20px 10px}body.sidebar-collapsed .sidebar-nav span{display:none}body.sidebar-collapsed .sidebar-nav .nav-link{justify-content:center}body.sidebar-collapsed .sidebar-nav .nav-link i{margin-right:0;font-size:18px}body.sidebar-collapsed .main-wrapper{margin-left:var(--sidebar-collapsed-width)}.welcome{margin-left:20px;line-height:1.3}.welcome p{color:var(--text-muted);margin:0;font-size:14px;font-weight:500}.welcome p:first-child{color:var(--text-primary);font-size:16px;font-weight:600}.time i{color:var(--accent-primary);vertical-align:middle;font-size:18px}.time h3{color:var(--text-primary);align-items:center;margin:0;font-size:18px;line-height:1;display:flex}.pe-3{padding-left:10px}.header-nav ul{align-items:center;margin-bottom:0}.header-nav .nav-item{background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-soft);border-radius:10px;align-items:center;height:50px;margin-left:20px;padding:10px;display:flex}.header-nav .nav-link{color:var(--text-muted);align-items:center;padding-top:0;padding-bottom:0;display:flex}.birthday-bell{cursor:pointer;color:var(--text-primary);position:relative}.birthday-count{color:var(--accent-primary);font-weight:700}.birthday-dropdown{background-color:var(--bg-card);border:1px solid var(--border-light);z-index:1000;width:450px;box-shadow:var(--shadow-soft);border-radius:8px;display:none;position:absolute;top:50px;right:0}.birthday-dropdown.show{display:block}.birthday-item{border-bottom:1px solid var(--border-light);color:var(--text-primary);background-color:#0000;padding:10px}.birthday-item:last-child{border-bottom:none}.nav-profile{color:var(--text-muted);line-height:1}.nav-profile:hover{color:var(--accent-primary)}.logo{line-height:1}@media (width>=1200px){.logo{width:280px}}.logo img{max-height:26px;margin-right:6px}.logo span{color:var(--text-primary);font-family:Nunito,sans-serif;font-size:26px;font-weight:700}.header{height:var(--header-height);background-color:var(--bg-card);border-bottom:1px solid var(--border-medium);align-items:center;padding:20px;transition:all .5s;display:flex}.header .toggle-sidebar-btn{cursor:pointer;color:var(--text-muted);padding-left:10px;font-size:32px}.header .toggle-sidebar-btn:hover{color:var(--accent-primary)}.header-nav .nav-icon{color:var(--text-muted);margin-right:25px;font-size:22px;position:relative}.header-nav .nav-icon:hover{color:var(--accent-primary)}.header-nav .profile .dropdown-item{color:var(--text-muted);padding:10px 15px;font-size:14px;transition:all .3s}.header-nav .profile .dropdown-item:hover{background-color:var(--accent-hover-bg);color:var(--accent-primary)}.theme-toggle{border:1px solid var(--border-medium);background:var(--bg-card);width:38px;height:38px;color:var(--text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex}.theme-toggle:hover{background:var(--accent-primary);color:#000}.footer{height:var(--footer-height);border-top:1px solid var(--border-light);text-align:center;padding:16px 0;font-size:14px}.footer .copyright{color:var(--text-muted);margin-bottom:6px}.footer .copyright span{color:var(--text-primary);font-weight:600}.footer .credits{color:var(--text-muted);font-size:13px}.footer .credits a{color:var(--accent-primary);font-weight:500;text-decoration:none;transition:color .3s}.footer .credits a:hover{color:var(--accent-hover);text-decoration:underline}.sidebar-logo{justify-content:space-between;align-items:center;gap:10px;height:60px;margin-bottom:20px;padding:0 4px;display:flex}.sidebar-logo .logo-full{height:36px;display:block}.sidebar-logo .logo-icon{height:32px;display:none}.sidebar-logo .toggle-sidebar-btn{cursor:pointer;color:var(--text-muted);flex-shrink:0;font-size:22px;transition:transform .3s,color .2s}.sidebar-logo .toggle-sidebar-btn:hover{color:var(--accent-primary)}body.sidebar-collapsed .sidebar-logo{flex-direction:column;justify-content:center;gap:12px;height:auto;padding:10px 0}body.sidebar-collapsed .sidebar-logo .logo-full{display:none}body.sidebar-collapsed .sidebar-logo .logo-icon{display:block}body.sidebar-collapsed .sidebar-logo .toggle-sidebar-btn{transform:rotate(180deg)}.sidebar-nav .nav-link.active,.sidebar-nav .nav-link.dashboard-active,.sidebar-nav .nav-link.active:hover,.sidebar-nav .nav-link.dashboard-active:hover{border-radius:20px;font-weight:600;background-color:var(--accent-primary)!important;color:#000!important}.sidebar-nav .nav-link.active i,.sidebar-nav .nav-link.dashboard-active i,.sidebar-nav .nav-link.active:hover i,.sidebar-nav .nav-link.dashboard-active:hover i{color:#000!important}.sidebar{height:100vh;width:var(--sidebar-width);background-color:var(--bg-card);border-right:1px solid var(--border-medium);z-index:1000;padding:20px;transition:width .3s;position:fixed;top:0;left:0;overflow:hidden auto}.sidebar::-webkit-scrollbar{border-radius:2.5px;width:5px}.sidebar::-webkit-scrollbar-thumb{background-color:var(--accent-primary);border-radius:2.5px}@media (width<=1199px){.toggle-sidebar .sidebar{left:0}}.sidebar-nav{margin:0;padding:0;list-style:none}.sidebar-nav .nav-item{margin:10px 0}.sidebar-nav .nav-link{color:var(--text-sidebar-muted);border-radius:20px;align-items:center;padding:10px 15px;font-size:15px;font-weight:600;transition:all .25s;display:flex}.sidebar-nav .nav-link i{color:var(--text-sidebar-muted);margin-right:10px;font-size:16px}.sidebar-nav .nav-link:hover{background-color:var(--sidebar-hover);color:var(--text-primary)!important}.sidebar-nav .nav-link:hover i{color:var(--text-primary)!important}.sidebar-nav .nav-link.collapsed,.sidebar-nav .nav-link.collapsed i{color:var(--text-sidebar-muted)}.sidebar-nav .nav-content{padding:5px 0 0;list-style:none}.sidebar-nav .nav-content a{color:var(--text-sidebar-muted);align-items:center;padding:10px 0 10px 40px;font-size:14px;font-weight:600;transition:color .25s;display:flex}.sidebar-nav .nav-content a:hover,.sidebar-nav .nav-content a.active{color:var(--accent-primary)}.sidebar-nav .nav-content a i{border-radius:50%;margin-right:8px;font-size:6px}.back-to-top{z-index:99999;background:var(--backtotop-bg);visibility:hidden;opacity:0;border-radius:6px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .35s;display:flex;position:fixed;bottom:15px;right:15px}.back-to-top i{color:var(--backtotop-icon);font-size:22px;line-height:0}.back-to-top:hover{background:var(--backtotop-bg-hover)}.back-to-top.active{visibility:visible;opacity:1}.stats-row{margin-bottom:calc(var(--bs-gutter-x) * .5);margin-top:calc(var(--bs-gutter-x) * .5)}.stats-row>[class*=col-]{margin-bottom:20px}.stats-card{background:var(--bg-card);border:1px solid var(--border-light);height:100%;box-shadow:var(--shadow-soft);background-size:16px 16px,cover;border-radius:22px;padding:22px;text-decoration:none;transition:all .3s;display:block;position:relative}.stats-card:hover{border-color:var(--accent-primary);transform:translateY(-3px)}.stats-icon{background-color:var(--accent-hover-bg);width:46px;height:46px;color:var(--accent-primary);border-radius:14px;justify-content:center;align-items:center;margin-bottom:14px;font-size:22px;display:flex}.stats-label{color:var(--text-muted);margin:0;font-size:13px}.stats-value{color:var(--text-primary);margin:6px 0 10px;font-size:24px;font-weight:600}.stats-meta{border:1px solid var(--border-light);color:var(--text-muted);background:var(--bg-soft);border-radius:12px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.stats-meta.negative,.stats-meta.neutral{color:var(--text-muted)}.stats-card.success .stats-icon{color:#22c55e;background:#22c55e2e}.stats-card.danger .stats-icon{color:#ef4444;background:#ef44442e}.stats-card.warning .stats-icon{color:#f59e0b;background:#f59e0b2e}.attendance-card{background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-soft);border-radius:26px;padding:26px}.attendance-header{justify-content:space-between;align-items:center;display:flex}.attendance-header h4{color:var(--text-primary);margin:0;font-size:20px}.attendance-header p{color:var(--text-muted);margin-top:4px;font-size:13px}.attendance-clock{background-color:var(--accent-hover-bg);width:46px;height:46px;color:var(--accent-primary);border-radius:14px;justify-content:center;align-items:center;font-size:20px;display:flex}.attendance-main{grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;display:grid}.attendance-punch{text-align:center;cursor:pointer;border-radius:20px;padding:28px;transition:all .3s}.attendance-punch.punch-in{background:var(--accent-primary);color:#000;width:80%;margin:auto}.attendance-punch.punch-out{color:#fff;background:#ff3b30}.attendance-punch.break-start{color:#03211f;background:#00dad2;width:80%;margin:auto}.attendance-punch.break-active{color:#03211f;background:#fb9d59;width:80%;margin:auto}.attendance-punch:hover{transform:translateY(-2px)}.punch-icon{background:#00000026;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 12px;font-size:22px;display:flex}.attendance-timer{background:linear-gradient(180deg, var(--bg-hover), var(--bg-soft));border:1px solid var(--border-strong);text-align:center;border-radius:20px;width:80%;margin:auto;padding:28px}.attendance-timer p{color:var(--text-muted);font-size:13px}.attendance-timer h2{color:var(--accent-primary);margin-top:10px;font-family:JetBrains Mono,monospace;font-size:32px}.attendance-status{grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;display:grid}.status-pill{background:var(--bg-soft);border:1px solid var(--border-light);color:var(--text-muted);border-radius:14px;align-items:center;gap:10px;width:100%;padding:10px 14px;font-size:13px;display:flex}.status-pill i{color:var(--accent-primary)}.dot{border-radius:50%;width:8px;height:8px}.dot.idle{background:var(--text-muted)}.dot.active{background:var(--accent-primary)}.attendance-divider{background:var(--border-light);height:1px;margin:22px 0}.attendance-summary{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.summary-item{text-align:center}.summary-item h3{color:var(--accent-primary);margin-bottom:4px;font-size:22px}.summary-item p{color:var(--text-muted);font-size:12px}.notice-board{background:var(--bg-card);border:1px solid var(--border-light);border-radius:22px;padding:0!important}.notice-board-body{padding:26px}.notice-board-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.notice-board-title{color:var(--text-primary)!important}.notice-subtitle{color:var(--text-muted);margin:0;font-size:13px}.notice-bell{background:var(--accent-hover-bg);width:44px;height:44px;color:var(--accent-primary);border-radius:14px;justify-content:center;align-items:center;display:flex;position:relative}.notice-dot{border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:6px}.notice-list{flex-direction:column;gap:14px;display:flex}.notice-item{border:1px solid var(--border-light);background:linear-gradient(#ffffff08,#ffffff03);border-radius:18px;gap:14px;padding:16px;display:flex}.notice-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:18px;display:flex}.notice-content h6{color:var(--text-primary);margin:0;font-size:14px;font-weight:500}.notice-content p{color:var(--text-muted);margin:4px 0 6px;font-size:13px;line-height:1.4}.notice-content span{color:var(--text-muted);font-size:11px}.notice-danger .notice-icon{color:#ef4444;background:#ef444426}.notice-info .notice-icon{color:var(--text-muted);background:#9ca3af26}.notice-success{background:linear-gradient(#cffa391f,#cffa390d);border:1px solid #cffa3940}.notice-success .notice-icon{color:var(--accent-primary);background:#cffa3940}.notice-footer{border-top:1px solid var(--border-light);text-align:center;margin-top:18px;padding-top:14px}.notice-footer a{color:var(--text-primary);font-size:14px;font-weight:500}.notice-footer a i{margin-left:6px}.weekly-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:24px;margin-top:30px;padding:24px}.weekly-header{justify-content:space-between;align-items:center;display:flex}.weekly-header h4{color:var(--text-primary);margin:0;font-size:18px;font-weight:500}.weekly-header p{color:var(--text-muted);margin:4px 0 0;font-size:13px}.weekly-action{background:var(--accent-hover-bg);width:44px;height:44px;color:var(--accent-primary);border-radius:14px;justify-content:center;align-items:center;font-size:20px;display:flex}.weekly-stats{grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0;display:grid}.weekly-stat{background:var(--accent-soft-1);border:1px solid var(--border-light);border-radius:18px;padding:18px}.stat-icon{background:var(--accent-hover-bg);width:38px;height:38px;color:var(--accent-primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.weekly-stat p{color:var(--text-muted);margin:10px 0 6px;font-size:13px}.weekly-stat h3{color:var(--accent-primary);margin:0;font-size:18px;font-weight:600}.weekly-chart{background:var(--sidebar-hover);border-radius:20px;margin-top:10px;padding:20px}.chart-area{padding-left:36px;position:relative}.y-axis{flex-direction:column;justify-content:space-between;height:160px;display:flex;position:absolute;bottom:20px;left:0}.y-axis span{color:var(--text-muted);text-align:right;min-width:30px;font-size:11px}.chart-bars{justify-content:space-evenly;align-items:flex-end;height:200px;display:flex;position:relative}.day{flex-direction:column;align-items:center;width:40px;display:flex}.day1{margin-left:20px}.day.muted{opacity:.45}.bar-stack{align-items:flex-end;gap:6px;height:140px;display:flex}.weekly-card .bar-stack .bar{border-top-left-radius:6px;border-top-right-radius:6px;width:30px!important;position:static!important}.weekly-card .bar.target{background:#1f4ac7}.weekly-card .bar.actual{background:var(--accent-primary)}.weekly-divider{border-bottom:1px solid var(--border-medium);margin:30px 0}.day span{color:var(--text-muted);margin-top:10px;font-size:11px}.weekly-legend{color:var(--text-muted);justify-content:center;gap:24px;margin-top:20px;font-size:13px;display:flex}.weekly-legend .dot{background:#1f4ac7;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.weekly-legend .dot.active{background:var(--accent-primary)}.policies-card{background:var(--policy-card-bg);border:1px solid var(--border-light);border-radius:28px;margin-top:30px;padding:26px}.policies-header{justify-content:space-between;align-items:center;display:flex}.policies-header h4{color:var(--text-primary);margin:0;font-size:20px;font-weight:600}.policies-header p{color:var(--text-muted);margin-top:4px;font-size:13px}.policies-header-icon{background:var(--policy-icon-bg);width:46px;height:46px;color:var(--accent-primary);border-radius:14px;justify-content:center;align-items:center;font-size:20px;display:flex}.policies-grid{grid-template-columns:repeat(4,1fr);gap:18px;margin-top:26px;display:grid}.policy-item{background:var(--policy-item-bg);border:1px solid var(--policy-border);background-size:16px 16px,cover;border-radius:22px;flex-direction:column;padding:22px;transition:all .3s;display:flex;position:relative}.policy-item:hover{box-shadow:0 0 0 1px #cffa3940, var(--shadow-heavy)}.policy-tag{color:var(--text-muted);background:var(--policy-tag-bg);border:1px solid var(--border-subtle);border-radius:12px;padding:4px 10px;font-size:11px;position:absolute;top:14px;left:14px}.policy-icon{background:var(--policy-icon-bg);width:48px;height:48px;color:var(--accent-primary);border-radius:14px;justify-content:center;align-items:center;margin-top:42px;font-size:22px;display:flex}.policy-item h5{color:var(--text-primary);margin:26px 0 6px;font-size:15px;font-weight:500}.policy-item p{color:var(--text-muted);flex-grow:1;font-size:13px;line-height:1.5}.policy-divider{border-top:1px solid var(--border-light);margin:16px 0 10px}.policy-footer{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:11px;display:flex}.policy-actions i{cursor:pointer;width:34px;height:34px;color:var(--text-muted);background:var(--policy-action-bg);border:1px solid var(--border-light);border-radius:50%;justify-content:center;align-items:center;margin-left:10px;font-size:16px;transition:all .25s;display:inline-flex}.policy-actions i:hover{background:var(--policy-icon-bg);color:var(--accent-primary);border-color:var(--accent-primary)}.policies-bottom{border-top:1px solid var(--border-light);grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px;padding-top:24px;display:grid}.policy-action-box{background:var(--policy-item-bg);border:1px solid var(--border-light);cursor:pointer;border-radius:18px;align-items:center;gap:14px;padding:18px;transition:all .25s;display:flex}.policy-action-box:hover{border-color:var(--accent-primary)}.action-icon{background:var(--policy-icon-bg);width:44px;height:44px;color:var(--accent-primary);border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:flex}.policy-action-box h6{color:var(--text-primary);margin:0;font-size:14px;font-weight:500}.policy-action-box p{color:var(--text-muted);margin:2px 0 0;font-size:12px}.policy-action-box i.bi-chevron-right{color:var(--text-muted);margin-left:auto}.main .pagetitle h1{color:var(--accent-primary);margin-bottom:15px;font-size:22px;font-weight:600}.main .card{background:var(--bg-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-soft);border-radius:20px;padding:30px}.main .card-body{color:var(--text-muted)}.main .card-body h5{color:var(--text-muted);font-size:16px;font-weight:600}.main .card-body hr{border-color:var(--border-light);margin:10px 0 20px}.main label{color:var(--text-muted);font-size:13px;font-weight:500}.main input.form-control,.main select.form-control,.main textarea.form-control{background:var(--bg-input);border:1px solid var(--border-medium);color:var(--text-primary);height:45px}.main input.form-control::placeholder,.main select.form-control::placeholder,.main textarea.form-control::placeholder{color:var(--text-secondary)}.main textarea.form-control{resize:both!important}.main input:focus,.main select:focus,.main textarea:focus{border-color:var(--accent-primary);box-shadow:var(--focus-ring);outline:none}.main .btn-success,.main .btn-primary{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-btn-primary);border-radius:10px;padding:8px 26px;font-weight:600}.main .btn-success:hover,.main .btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.social-links a{margin:5px 10px}.social-links a i{color:var(--accent-primary)}.main .table{background:var(--bg-card);color:var(--text-muted);margin-bottom:0}.main .table thead th{color:var(--text-heading);background:var(--bg-card);border-bottom:1px solid var(--border-medium);font-size:14px;font-weight:600}.datatable-table>thead>tr>th{vertical-align:top}.main .table tbody tr{background:var(--bg-card);border-bottom:1px solid var(--border-light)}.main .table tbody tr:hover{background:var(--row-hover)}.main .table td{vertical-align:middle;background:var(--bg-card);color:var(--text-secondary);font-size:14px}.main .table td p{margin-bottom:0!important}.main .table-responsive{border-radius:14px;overflow:hidden}.main table.datatable{background:0 0}.main .datatable-input,.main .datatable-selector{background:var(--bg-input)!important;border:1px solid var(--border-medium)!important;color:var(--text-primary)!important;height:45px!important}.main .datatable-input:focus,.main .datatable-selector:focus{border-color:var(--accent-primary);box-shadow:var(--focus-ring)}.datatable-pagination-list-item{margin:0 4px}.datatable-pagination-list-item-link{border-radius:10px;justify-content:center;align-items:center;min-width:34px;height:34px;padding:0 12px;font-size:13px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex;border:1px solid var(--border-light)!important;background:var(--bg-soft)!important;color:var(--text-muted)!important}.datatable-pagination-list-item-link:hover{background:var(--accent-hover-bg)!important;color:var(--accent-primary)!important;border-color:var(--accent-primary)!important}.datatable-pagination-list-item.datatable-active .datatable-pagination-list-item-link{font-weight:600;background:var(--accent-hover-bg)!important;color:var(--accent-primary)!important;border-color:var(--accent-primary)!important}.text-success{color:var(--status-success)!important}.text-warning{color:var(--status-warning)!important}.text-danger{color:var(--status-danger)!important}.text-info{padding:0 10px;color:var(--status-success)!important}.pagetitle{margin-bottom:10px}.pagetitle h1{color:var(--link-primary);margin-bottom:0;font-size:24px;font-weight:600}.dropdown-menu{box-shadow:var(--shadow-soft);background-color:var(--bg-card);border:0;border-radius:4px;padding:10px 0;animation-name:dropdown-animate;animation-duration:.2s;animation-fill-mode:both}.dropdown-menu .dropdown-header,.dropdown-menu .dropdown-footer{text-align:center;color:var(--text-muted);padding:10px 25px;font-size:15px}.dropdown-menu .dropdown-footer a{color:var(--text-primary);text-decoration:underline}.dropdown-menu .dropdown-footer a:hover{text-decoration:none}.dropdown-menu .dropdown-divider{color:var(--border-light);margin:0}.dropdown-menu .dropdown-item{color:var(--text-muted);padding:10px 15px;font-size:14px;transition:all .3s}.dropdown-menu .dropdown-item i{margin-right:10px;font-size:18px;line-height:0}.dropdown-menu .dropdown-item:hover{background-color:var(--bg-hover);color:var(--accent-primary)}@media (width>=768px){.dropdown-menu-arrow:before{content:"";background:var(--bg-card);border-top:1px solid var(--border-light);border-left:1px solid var(--border-light);width:13px;height:13px;position:absolute;top:-7px;right:20px;transform:rotate(45deg)}}@keyframes dropdown-animate{0%{opacity:0}to{opacity:1}}.card{box-shadow:var(--shadow-soft);background-color:var(--bg-card);border:none;border-radius:25px;margin-bottom:30px}.card-header,.card-footer{border-color:var(--border-light);background-color:var(--bg-card);color:var(--text-muted);padding:15px}.card-title{color:var(--text-muted);padding:20px 0 15px;font-family:Poppins,sans-serif;font-size:18px;font-weight:500}.card-title span{color:var(--text-subtle);font-size:14px;font-weight:400}.card-body{padding:0 20px 20px}.card-img-overlay{background-color:#fff9}.alert-heading{color:var(--text-primary);font-family:Poppins,sans-serif;font-size:20px;font-weight:500}.btn-close{background-size:25%}.btn-close:focus{box-shadow:none;outline:0}.breadcrumb{color:var(--text-subtle);font-family:Nunito,sans-serif;font-size:14px;font-weight:600}.breadcrumb a{color:var(--text-subtle);transition:all .3s}.breadcrumb a:hover{color:var(--link-primary)}.breadcrumb .breadcrumb-item:before{color:var(--text-subtle)}.breadcrumb .active{color:var(--link-primary);font-weight:600}.nav-tabs-bordered{border-bottom:2px solid var(--border-light)}.nav-tabs-bordered .nav-link{color:var(--text-muted);border:none;margin-bottom:-2px}.nav-tabs-bordered .nav-link:hover,.nav-tabs-bordered .nav-link:focus{color:var(--link-primary)}.nav-tabs-bordered .nav-link.active{background-color:var(--bg-card);color:var(--link-primary);border-bottom:2px solid var(--link-primary)}.handBook{background:var(--bg-main);color:var(--text-muted)}.handBook iframe{background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-soft);border-radius:16px}.handBook .d-flex{margin-top:12px}.handBook .btn-primary{background-color:var(--accent-primary);border-color:var(--accent-primary);color:#000;border-radius:10px;padding:6px 16px;font-weight:600;transition:all .25s}.handBook .btn-primary i{margin-right:6px}.handBook .btn-primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);color:#000}body.light-mode .handBook iframe{background:var(--bg-card);border-color:var(--border-medium);box-shadow:var(--shadow-soft)}.notice-popup{z-index:9999;background:#0009;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.popup-content{background:#fff;border-radius:10px;width:400px;max-width:90%;padding:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 5px 20px #0000004d}.close-btn{cursor:pointer;font-size:20px;position:absolute;top:10px;right:15px}body.light-mode .stats-icon,body.light-mode .stats-card.success .stats-icon,body.light-mode .stats-card.danger .stats-icon,body.light-mode .notice-success .notice-icon,body.light-mode .policies-header-icon,body.light-mode .attendance-clock,body.light-mode .notice-bell,body.light-mode .weekly-action,body.light-mode .stat-icon,body.light-mode .policy-icon,body.light-mode .action-icon,body.light-mode .policy-actions i{color:#333132;background-color:#cffa39}body.light-mode .summary-item h3,body.light-mode .weekly-stat h3,body.light-mode .attendance-timer h2,body.light-mode .main .pagetitle h1{color:#333132}body.light-mode .stats-meta.negative{color:var(--text-muted);border-color:#fff}body.light-mode .notice-success{border:1px solid var(--border-strong);background:#fff}body.light-mode .weekly-stat{border:1px solid var(--border-light);background:#fff;border-radius:18px;padding:18px}body.light-mode .policy-item,body.light-mode .policy-action-box{background:#fff}body.light-mode .weekly-card .bar.target{background:#041221}body.light-mode .social-links a i{color:#333231}body.light-mode .time i,body.light-mode .birthday-count,body.light-mode .nav-profile:hover,body.light-mode .header .toggle-sidebar-btn:hover,body.light-mode .header-nav .nav-icon:hover,body.light-mode .header-nav .profile .dropdown-item:hover,body.light-mode .footer .credits a,body.light-mode .sidebar-nav .nav-content a:hover,body.light-mode .sidebar-nav .nav-content a.active,body.light-mode .stats-meta.positive,body.light-mode .status-pill i,body.light-mode .notice-bell,body.light-mode .weekly-action,body.light-mode .stat-icon,body.light-mode .policies-header-icon,body.light-mode .policy-icon,body.light-mode .policy-actions i:hover,body.light-mode .action-icon,body.light-mode .datatable-pagination-list-item-link:hover,body.light-mode .datatable-pagination-list-item.datatable-active .datatable-pagination-list-item-link,body.light-mode .dropdown-menu .dropdown-item:hover{color:#333132!important}body.light-mode.theme-toggle{color:#333132;background:#cffa39}.btn-action{background:linear-gradient(180deg, color-mix(in srgb, currentColor 16%, transparent), color-mix(in srgb, currentColor 6%, transparent));border:1px solid;border-radius:10px;align-items:center;gap:4px;width:180px;margin-bottom:6px;padding:6px 16px;font-size:13px;font-style:normal;font-weight:500;text-decoration:none;transition:filter .2s,transform .15s;display:inline-flex}.btn-action i{color:inherit;font-style:normal}.btn-action:hover{filter:brightness(1.15)}.btn-action-warning,.btn-edit{color:var(--accent-primary)!important}.btn-action-success{color:#fff!important;background:#16a34a!important}.btn-action-danger{color:#fff!important;background:var(--status-danger)!important}.btn-action-info{color:var(--status-info)!important}body.light-mode .btn-action-warning,body.light-mode .btn-edit{background:radial-gradient(circle,#7aaa3f,#455d29);border:1px solid #455d29;color:#fff!important}.lb{background:linear-gradient(180deg, color-mix(in srgb, currentColor 16%, transparent), color-mix(in srgb, currentColor 6%, transparent));border:1px solid;border-radius:10px;align-items:center;gap:4px;width:115px;margin-bottom:6px;padding:6px 16px;font-size:13px;font-style:normal;font-weight:500;text-decoration:none;transition:filter .2s,transform .15s;display:inline-flex}.theme-modal{background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-heavy);border-radius:14px}.theme-modal .modal-header{border-bottom:1px solid var(--border-light);padding:16px 20px}.theme-modal .modal-title{color:var(--text-primary);font-size:16px;font-weight:600}.theme-modal .modal-body{color:var(--text-muted);word-break:break-word;padding:20px;font-size:14px;line-height:1.7}.theme-modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:18px;line-height:1;transition:color .2s}.theme-modal-close:hover{color:var(--accent-primary)}.modal-backdrop.show{opacity:.6}.theme-swal-confirm-danger{background-color:var(--status-danger)!important;color:#fff!important;border:none!important;border-radius:12px!important;padding:10px 30px!important;font-weight:600!important;box-shadow:0 0 24px #ef444440!important}.theme-swal-confirm-danger:hover{filter:brightness(1.08)}.theme-swal-cancel{color:var(--text-muted)!important;border:1px solid var(--border-light)!important;background:0 0!important;border-radius:12px!important;margin-right:10px!important;padding:10px 26px!important;font-weight:500!important}.theme-swal-cancel:hover{color:var(--text-primary)!important;border-color:var(--accent-primary)!important}.theme-popup-icon-warning{color:var(--status-warning);background:#facc151f;border:1px solid #facc1540}.theme-swal-popup{border:1px solid var(--border-light);background:var(--bg-card)!important;border-radius:20px!important;padding:36px 30px 30px!important;box-shadow:0 24px 60px #00000073,0 0 0 1px #cffa390d!important}.theme-popup-icon{border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 20px;font-size:30px;display:flex}.theme-popup-icon-success{background:var(--accent-hover-bg);color:var(--accent-primary);border:1px solid #cffa3940}.theme-popup-icon-danger{color:var(--status-danger);background:#ef44441f;border:1px solid #ef444440}.theme-popup-title{color:var(--text-primary);margin:0 0 8px;font-family:Poppins,sans-serif;font-size:19px;font-weight:600}.theme-popup-text{color:var(--text-muted);margin:0;font-size:14px;line-height:1.6}.theme-swal-confirm{background-color:var(--accent-primary)!important;color:#081a0f!important;border:none!important;border-radius:12px!important;margin-top:8px!important;padding:10px 30px!important;font-weight:600!important;box-shadow:0 0 24px #cffa3940!important}.theme-swal-confirm:hover{filter:brightness(1.08)}.swal2-backdrop-show{background:#020a14bf!important}.status{background:linear-gradient(180deg, color-mix(in srgb, currentColor 16%, transparent), color-mix(in srgb, currentColor 6%, transparent));border:1px solid;border-radius:10px;align-items:center;gap:4px;width:100px;margin-bottom:6px;padding:6px 16px;font-size:13px;font-style:normal;font-weight:500;text-decoration:none;transition:filter .2s,transform .15s;display:inline-flex}#inputdate::-webkit-calendar-picker-indicator{filter:invert()}@media (width<=991px){.sidebar{z-index:9999;height:100%;transition:transform .3s;transform:translate(0);box-shadow:2px 0 10px #0000004d}body.sidebar-collapsed .sidebar{transform:translate(-100%)}body:not(.sidebar-collapsed) .sidebar:after{content:"";top:0;left:var(--sidebar-width);width:calc(100vw - var(--sidebar-width));z-index:-1;pointer-events:auto;background:#00000080;height:100vh;position:fixed}.main-wrapper{margin-left:0!important;overflow-x:hidden!important}body.sidebar-collapsed .main-wrapper{margin-left:0!important}.main{min-height:calc(100vh - 60px - var(--footer-height));width:100%;max-width:100vw;padding:15px;overflow-x:hidden!important}.header{height:auto;min-height:60px;padding:15px}.welcome{width:100%;margin-left:10px}.welcome p{font-size:12px}.welcome p:first-child{font-size:14px}.header-nav{margin-left:auto!important}.header-nav .nav-item{height:46px;margin-left:8px;padding:8px}.theme-toggle{width:30px;height:30px}.time h3,.time i{font-size:14px}.birthday-dropdown{width:280px;top:45px;right:-10px}.birthday-item{padding:8px;font-size:12px}.stats-row{margin-bottom:0}.stats-row>[class*=col-]{margin-bottom:15px}#zeropad-col{padding:0!important}.attendance-main{grid-template-columns:1fr 1fr;gap:15px}.attendance-punch.punch-in,.attendance-timer{width:100%}.attendance-status{grid-template-columns:1fr 1fr;gap:10px}.attendance-summary{grid-template-columns:repeat(3,1fr);gap:10px}.summary-item h3{font-size:18px}.summary-item p{font-size:11px}.weekly-stats{grid-template-columns:1fr 1fr 1fr;gap:12px}.weekly-stat{padding:14px}.weekly-chart{-webkit-overflow-scrolling:touch;position:relative;overflow-y:hidden;overflow-x:auto!important}.chart-bars{align-items:flex-end;width:500px;height:160px;padding-right:10px;display:flex}.chart-bars .day:first-of-type{margin-left:20px!important}.bar-stack{flex-shrink:0;height:110px}.day{flex-shrink:0;width:55px;min-width:55px}.day1{margin-left:0}.weekly-card .bar-stack .bar{width:24px!important}.y-axis{background:var(--sidebar-hover);z-index:2;flex-shrink:0;height:140px;padding-right:8px;position:sticky;left:0}.y-axis span{font-size:10px}.weekly-chart::-webkit-scrollbar{height:6px}.weekly-chart::-webkit-scrollbar-track{background:var(--bg-card-soft);border-radius:4px}.weekly-chart::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:4px}.policies-grid{grid-template-columns:repeat(2,1fr);gap:12px}.policies-bottom{grid-template-columns:1fr;gap:12px}.notice-list{flex-direction:row;grid-template-columns:1fr 1fr;display:grid}.notice-board{margin-top:30px}.notice-board-body{padding:18px}.main .row.g-3{margin-left:0!important;margin-right:0!important}.main .row.g-3>[class*=col-]{padding-left:10px!important;padding-right:10px!important}.main input.form-control,.main select.form-control,.main textarea.form-control{height:42px;font-size:14px}.main textarea.form-control{min-height:80px;height:auto!important}.main .card .card-body h5{font-size:14px;margin-bottom:0!important}.main .card-body hr{margin:10px 0}.main label{margin-bottom:5px;font-size:12px}.main .btn{margin-top:10px}.main .card{width:100%;max-width:100%;padding:20px;overflow-x:auto}.main .card-body{-webkit-overflow-scrolling:touch;padding:15px!important;overflow-x:auto!important}.main .table-responsive{-webkit-overflow-scrolling:touch;border-radius:10px;overflow-x:auto!important}.main .table{min-width:100%;font-size:13px;width:max-content!important}.main .table th,.main .table td{white-space:nowrap}.main .table thead th,.main .table tbody td{padding:10px 12px;font-size:14px}.main .table td i{margin:0 4px;font-size:14px}.main .card-body::-webkit-scrollbar{height:8px}.main .card-body::-webkit-scrollbar-track{background:var(--bg-card-soft);border-radius:4px}.main .card-body::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:4px}.main .card-body.scrolled:after{display:none}.datatable-wrapper{overflow-x:visible!important}.datatable-top{gap:10px;margin-bottom:15px;display:flex!important}.datatable-dropdown,.datatable-search{width:100%!important}.datatable-input,.datatable-selector{box-sizing:border-box;width:100%!important;max-width:100%!important}.datatable-bottom{gap:10px;margin-top:15px;flex-direction:column!important;display:flex!important}.datatable-info{text-align:center;font-size:12px}.datatable-pagination{justify-content:center!important}.datatable-pagination-list{flex-wrap:wrap;justify-content:center}.container,.container-fluid{overflow-x:hidden;padding-left:15px!important;padding-right:15px!important}.row{width:100%;margin-left:0!important;margin-right:0!important}.main [class*=col-]{padding-left:10px!important;padding-right:10px!important}.g-3{--bs-gutter-x:1rem!important;--bs-gutter-y:1rem!important}.row.g-3>*{padding-left:calc(var(--bs-gutter-x) * .5)!important;padding-right:calc(var(--bs-gutter-x) * .5)!important}*{max-width:100%}.table,.chart-bars,.datatable-table{max-width:none!important}img{max-width:100%;height:auto}textarea{max-width:100%;resize:vertical!important}.table td{text-overflow:ellipsis;max-width:200px;overflow:hidden}.table.table-compact{width:100%!important}.table.table-compact th,.table.table-compact td{white-space:normal;padding:10px 8px}.table.table-scroll{min-width:100%;width:max-content!important}.table.table-scroll th,.table.table-scroll td{white-space:nowrap;padding:10px 12px}.table.table-minimal th,.table.table-minimal td{padding:6px 4px;font-size:10px}.table th:first-child,.table td:first-child{min-width:50px;max-width:70px}.table th:last-child,.table td:last-child{text-align:center;min-width:80px}.table td[class*=date]{min-width:100px}.table td:has(.badge){min-width:80px}}@media (width<=767px){.welcome{display:none}.header-nav .nav-item{height:42px;margin-left:5px;padding:6px}.header-nav .nav-icon{margin-right:0;font-size:18px}.nav-profile .d-none.d-md-block{display:none!important}.theme-toggle{width:30px;height:30px}.time h3{font-size:12px}.main{padding:10px}.main .pagetitle h1{margin-left:10px;font-size:18px}.stats-card{padding:16px}.stats-icon{width:38px;height:38px;font-size:18px}.stats-label{font-size:14px}.stats-value{margin:4px 0 8px;font-size:24px}.stats-meta{padding:3px 8px;font-size:10px}#zeropad-col{padding:0!important}.attendance-main{grid-template-columns:1fr;gap:12px}.attendance-card{padding:18px}.attendance-header h4{font-size:16px}.attendance-header p{font-size:11px}.attendance-clock{width:38px;height:38px;font-size:16px}.attendance-punch{padding:20px}.punch-icon{width:46px;height:46px;font-size:18px}.attendance-timer{padding:20px}.attendance-timer h2{font-size:24px}.attendance-summary{grid-template-columns:1fr}.weekly-stats{grid-template-columns:1fr;gap:12px}.weekly-card{padding:18px}.weekly-header h4{font-size:16px}.weekly-stat h3{font-size:20px}.weekly-chart{-webkit-overflow-scrolling:touch;position:relative;overflow-y:hidden;overflow-x:auto!important}.weekly-chart::-webkit-scrollbar{height:6px}.weekly-chart::-webkit-scrollbar-track{background:var(--bg-soft);border-radius:10px}.weekly-chart::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:10px}.chart-bars{align-items:flex-end;height:140px;padding-right:10px;display:flex;width:480px!important}.bar-stack{flex-shrink:0;height:100px}.day{flex-shrink:0;width:58px;min-width:58px}.weekly-card .bar-stack .bar{width:26px!important}.day span{margin-top:8px;font-size:11px}.y-axis{background:var(--sidebar-hover);z-index:2;flex-shrink:0;height:120px;position:sticky;left:0}.y-axis span{font-size:9px}.policies-card{padding:18px}.policies-grid{grid-template-columns:1fr 1fr}.policy-item{padding:18px}.policy-tag{padding:3px 8px;font-size:10px}.policy-icon{width:42px;height:42px;margin-top:36px;font-size:18px}.policy-item h5{margin:20px 0 4px;font-size:14px}.policy-item p{font-size:12px}.notice-list{grid-template-columns:1fr 1fr;display:grid}.notice-board{margin-top:30px}.notice-board-body{padding:15px}.notice-board-title{font-size:16px!important}.notice-subtitle{font-size:11px}.notice-bell{width:38px;height:38px}.notice-item{gap:10px;padding:12px}.notice-icon{width:36px;height:36px;font-size:16px}.notice-content h6{font-size:13px}.notice-content p{font-size:12px}.main .card{padding:15px}.main .card-body h5{font-size:14px}.main input.form-control,.main select.form-control,.main textarea.form-control{height:40px;font-size:13px}.main .btn-success,.main .btn-primary{padding:6px 20px;font-size:14px}.main .btn{padding:10px}.nav-tabs,.nav-tabs-bordered{-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto;flex-wrap:nowrap!important}.nav-tabs .nav-item,.nav-tabs-bordered .nav-item{white-space:nowrap;flex-shrink:0}.table-responsive{border-radius:10px}.main .table thead th,.main .table tbody td{padding:8px 10px;font-size:14px}.main .card-body{padding:10px!important}.table[data-columns="1"],.table[data-columns="2"],.table[data-columns="3"]{width:100%!important}.table[data-columns="1"] th,.table[data-columns="1"] td,.table[data-columns="2"] th,.table[data-columns="2"] td,.table[data-columns="3"] th,.table[data-columns="3"] td{white-space:normal}.table[data-columns="4"],.table[data-columns="5"]{width:100%!important}.table[data-columns="4"] th,.table[data-columns="4"] td,.table[data-columns="5"] th,.table[data-columns="5"] td{white-space:normal;padding:8px 6px;font-size:11px}.table[data-columns="6"],.table[data-columns="7"]{min-width:100%;width:max-content!important}.table[data-columns="6"] th,.table[data-columns="6"] td,.table[data-columns="7"] th,.table[data-columns="7"] td{white-space:nowrap;padding:8px;font-size:11px}.table[data-columns="8"],.table[data-columns="9"],.table[data-columns="10"],.table[data-columns="11"],.table[data-columns="12"]{min-width:100%;width:max-content!important}.table[data-columns="8"] th,.table[data-columns="8"] td,.table[data-columns="9"] th,.table[data-columns="9"] td,.table[data-columns="10"] th,.table[data-columns="10"] td,.table[data-columns="11"] th,.table[data-columns="11"] td,.table[data-columns="12"] th,.table[data-columns="12"] td{white-space:nowrap;padding:6px;font-size:10px}.table.hide-secondary-columns th:nth-child(n+6),.table.hide-secondary-columns td:nth-child(n+6){display:none}.table.hide-secondary-columns th:first-child,.table.hide-secondary-columns th:last-child,.table.hide-secondary-columns td:first-child,.table.hide-secondary-columns td:last-child{display:table-cell!important}.column-toggle-btn{background:var(--bg-card);border:1px solid var(--border-light);color:var(--text-primary);border-radius:8px;margin-bottom:10px;padding:6px 12px;font-size:12px;display:inline-block}.column-toggle-btn:hover{background:var(--accent-hover-bg);border-color:var(--accent-primary);color:var(--accent-primary)}.column-toggle-btn i{margin-right:5px}}@media (width<=575px){.welcome{display:none}.header-nav .nav-item{margin-left:4px;padding:5px}.birthday-dropdown{width:calc(100vw - 30px);left:15px;right:15px}.theme-toggle{width:28px;height:28px}.sidebar{height:100%}.notice-board{margin-top:30px}.attendance-main{grid-template-columns:1fr;gap:12px}#zeropad-col{padding:0!important}.attendance-punch.punch-in,.attendance-timer{width:100%}.weekly-stats{grid-template-columns:1fr;gap:12px}.weekly-chart{-webkit-overflow-scrolling:touch;position:relative;overflow-y:hidden;overflow-x:auto!important}.chart-bars{justify-content:space-between;align-items:flex-end;min-width:450px;height:140px;display:flex;width:450px!important}.bar-stack{height:90px}.day{flex-shrink:0;width:45px;min-width:45px}.weekly-card .bar-stack .bar{width:18px!important}.day span{font-size:10px}.y-axis{background:var(--sidebar-hover);z-index:2;flex-shrink:0;padding-right:5px;position:sticky;left:0}.weekly-chart::-webkit-scrollbar{height:5px}.weekly-chart::-webkit-scrollbar-track{background:var(--bg-card-soft);border-radius:4px}.weekly-chart::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:4px}.notice-list{grid-template-columns:1fr;display:grid}.policies-grid{grid-template-columns:1fr}.policies-card{margin-top:0}.policies-bottom{grid-template-columns:repeat(1,1fr)}.policy-actions i{width:30px;height:30px;margin-left:6px;font-size:14px}.nav-tabs,.nav-tabs-bordered{-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto;flex-wrap:nowrap!important}.nav-tabs .nav-item,.nav-tabs-bordered .nav-item{white-space:nowrap;flex-shrink:0}.main .table{font-size:11px}.main .table thead th,.main .table td{white-space:nowrap;padding:8px 5px;font-size:11px}.card-body{overflow-x:auto}.datatable-input,.datatable-selector{height:38px!important;font-size:12px!important}.datatable-pagination-list-item-link{min-width:28px;height:28px;padding:0 8px;font-size:11px}.main .table thead th,.main .table tbody td{padding:6px 8px;font-size:14px}.main .table td i{margin:0 2px;font-size:12px}}.table-scroll-hint{text-align:center;background:var(--accent-hover-bg);border:1px dashed var(--accent-primary);color:var(--text-muted);border-radius:8px;margin-top:10px;padding:8px;font-size:12px;animation:2s infinite pulse-hint}.table-scroll-hint i{color:var(--accent-primary);margin-right:5px}@keyframes pulse-hint{0%,to{opacity:1}50%{opacity:.6}}.card-body.scrolled .table-scroll-hint{display:none}@media (width<=991px) and (orientation:landscape){.main{padding:10px 15px}.header{min-height:50px;padding:10px 15px}}button{font:inherit}.logo-button,.sidebar-nav .nav-link,.birthday-bell,.notice-footer button,.notice-item{text-align:left;background:0 0;border:0}.logo-button{padding:0}.sidebar-nav .nav-link{width:100%}.login-shell{background:var(--bg-main);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--bg-card);width:min(430px,100%);color:var(--text-primary);border:1px solid var(--border-light);border-radius:20px;padding:30px;box-shadow:0 5px 15px #00000059}.login-logo{width:300px;max-width:100%;margin:0 auto 12px;display:block}.login-card h1,.login-card p{text-align:center}.login-card h1{margin:0;font-size:24px}.login-card p{color:var(--text-muted);margin-bottom:24px}.login-card label span{color:var(--text-muted);margin-bottom:6px;display:inline-block}.remember{align-items:center;gap:8px;display:inline-flex}.remember span{margin-bottom:0!important}.forgot-link{color:#6319c7}.login-btn{background:var(--accent-primary);color:#041221;border-radius:10px;font-weight:600}.login-card small{text-align:center;color:var(--text-muted);margin-top:22px;display:block}.table-toolbar{gap:10px;margin-bottom:15px;display:flex}.table-toolbar .form-control{max-width:320px}.main label span{color:var(--text-muted);margin-bottom:6px;font-size:13px;display:inline-block}.main .btn-outline-secondary{color:var(--text-muted);border-color:var(--border-medium);border-radius:10px}.attendance-punch{color:var(--text-primary);border:0}.break-active{background:#cffa39}.notice-item{width:100%}.notice-popup.visible{display:block}.popup-content{color:#111827}.close-btn{border:1px solid var(--status-danger);background:var(--status-danger);color:#fff;border-radius:6px}.policy-actions a{color:inherit}.main iframe{border:0}@media (width<=991px){.sidebar-logo .logo-button{width:100%}}.attendance-punch:disabled{opacity:.55;cursor:not-allowed;transform:none}.status-pill .dot.break{background:#fb9d59}.report-toolbar{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.report-toolbar label{flex-direction:column;min-width:160px;display:flex}.report-toolbar .report-search{flex:220px}.report-toolbar .form-control,.report-toolbar .form-select{background:var(--bg-input);color:var(--text-primary);border-color:var(--border-medium);border-radius:10px}.report-toolbar .report-check{flex-direction:row;align-items:center;gap:8px;min-width:auto;padding-bottom:8px}.report-toolbar .report-check span{margin:0!important}.report-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.report-actions .btn{white-space:nowrap;border-radius:10px}.report-primary{color:#03211f;background:#cffa39;border:0;font-weight:600}.report-primary:hover,.report-primary:focus{color:#03211f;filter:brightness(1.08);background:#cffa39}.bi.spin{animation:.8s linear infinite report-spin;display:inline-block}@keyframes report-spin{to{transform:rotate(360deg)}}.report-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0 10px;display:grid}.report-stat{background:var(--bg-card-soft);border:1px solid var(--border-light);border-radius:16px;padding:16px 18px}.report-stat-icon{color:#03211f;background:#cffa39;border-radius:11px;justify-content:center;align-items:center;width:38px;height:38px;margin-bottom:10px;font-size:18px;display:flex}.report-stat p{color:var(--text-muted);margin:0;font-size:13px}.report-stat h3{color:var(--text-primary);margin:4px 0 2px;font-size:24px;font-weight:600}.report-stat span{color:var(--text-muted);font-size:12px}.report-live-note{color:var(--text-muted);align-items:center;gap:8px;margin:6px 0 12px;font-size:13px;display:flex}.live-dot{background:#cffa39;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #00dad233}.report-person{flex-direction:column;line-height:1.3;display:flex}.report-person small,.report-daily small,.text-muted-soft{color:var(--text-muted)}.report-table tr.is-open td{border-bottom-color:#0000}.report-detail-row>td{background:var(--bg-card-soft)!important;padding:12px 16px 18px!important}.report-daily{margin:0}.report-daily th,.report-daily td{vertical-align:middle;font-size:13px}.report-empty{color:var(--text-muted);margin:0}.report-badge{white-space:nowrap;border:1px solid var(--border-medium);color:var(--text-muted);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-block}.report-badge.live{color:#03211f;background:#cffa39;border-color:#cffa39}.report-badge.warn{color:var(--text-primary);border-color:#fb9d59}.break-chips{flex-wrap:wrap;gap:6px;display:flex}.break-chip{border:1px solid var(--border-medium);color:var(--text-primary);white-space:nowrap;border-radius:8px;padding:3px 9px;font-size:12px}.break-chip.running{border-color:#00dad2}@media (width<=991px){.report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.report-actions{margin-left:0}}@media (width<=575px){.report-stats{grid-template-columns:1fr}.report-toolbar label{min-width:100%}}.report-table th,.report-table td,.report-daily th,.report-daily td{white-space:nowrap}.report-table td:first-child{white-space:normal;min-width:170px}.report-daily td:nth-child(6){white-space:normal;min-width:220px}.sidebar-logo .logo-full.logo-on-light,body.light-mode .sidebar-logo .logo-full.logo-on-dark{display:none}body.light-mode .sidebar-logo .logo-full.logo-on-light{display:block}body.sidebar-collapsed .sidebar-logo .logo-full,body.sidebar-collapsed.light-mode .sidebar-logo .logo-full{display:none}.sidebar-logo .logo-icon{object-fit:contain;width:34px;height:auto}input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body.light-mode input[type=date],body.light-mode input[type=datetime-local],body.light-mode input[type=time],body.light-mode input[type=month],body.light-mode input[type=week]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}input[type=date]::-webkit-calendar-picker-indicator{filter:none;opacity:.9;cursor:pointer}input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:none;opacity:.9;cursor:pointer}input[type=time]::-webkit-calendar-picker-indicator{filter:none;opacity:.9;cursor:pointer}input[type=month]::-webkit-calendar-picker-indicator{filter:none;opacity:.9;cursor:pointer}input[type=week]::-webkit-calendar-picker-indicator{filter:none;opacity:.9;cursor:pointer}#inputdate::-webkit-calendar-picker-indicator{filter:none;opacity:.9;cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=month]::-webkit-calendar-picker-indicator:hover{opacity:1}body.dialog-open{overflow:hidden}.app-dialog-backdrop{z-index:10050;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#03211fad;place-items:center;padding:20px;animation:.15s ease-out dialog-fade;display:grid;position:fixed;inset:0}.app-dialog{background:var(--bg-card);border:1px solid var(--border-medium);width:min(420px,100%);box-shadow:var(--shadow-heavy);text-align:center;border-radius:20px;padding:30px 28px 24px;animation:.18s ease-out dialog-pop;position:relative;overflow:hidden}.app-dialog-icon{border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;font-size:30px;display:flex}.tone-success .app-dialog-icon{color:#06322f;background:#cffa39}.tone-error .app-dialog-icon,.tone-danger .app-dialog-icon{color:var(--status-danger);background:#ef444426}.tone-warning .app-dialog-icon{color:#fb9d59;background:#fb9d592e}.app-dialog h3{color:var(--text-primary);margin:0 0 8px;font-size:20px;font-weight:600}.app-dialog p{color:var(--text-muted);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.55}.app-dialog-actions{justify-content:center;gap:10px;margin-top:24px;display:flex}.app-dialog-btn{cursor:pointer;border:1px solid #0000;border-radius:10px;min-width:110px;padding:10px 18px;font-weight:600;transition:filter .15s,transform .15s}.app-dialog-btn:hover{filter:brightness(1.08)}.app-dialog-btn:active{transform:translateY(1px)}.app-dialog-btn:focus-visible{outline-offset:2px;outline:2px solid #00dad2}.app-dialog-btn.primary{color:#03211f;background:#00dad2}.app-dialog-btn.secondary{color:var(--text-primary);border-color:var(--border-strong);background:0 0}.app-dialog-btn.danger{background:var(--status-danger);color:#fff}.app-dialog-timer{transform-origin:0;background:#00dad2;width:100%;height:3px;animation-name:dialog-timer;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;bottom:0;left:0}@keyframes dialog-fade{0%{opacity:0}}@keyframes dialog-pop{0%{opacity:0;transform:scale(.94)translateY(6px)}}@keyframes dialog-timer{to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.app-dialog-backdrop,.app-dialog{animation:none}}@media (width<=575px){.app-dialog-actions{flex-direction:column-reverse}.app-dialog-btn{width:100%}}.table-toolbar .search-input-wrap{flex:0 320px;position:relative}.table-toolbar .search-input-wrap .form-control{width:100%;max-width:none;padding-right:38px}.search-clear{width:26px;height:26px;color:var(--text-muted);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.search-clear:hover{background:var(--bg-card-soft);color:var(--text-primary)}.search-summary{color:var(--text-muted);margin:-6px 0 12px;font-size:13px}.search-summary strong{color:var(--text-primary);font-weight:600}.search-summary-clear{color:var(--text-muted);background:0 0;border:0;margin-left:10px;padding:0;font-size:13px;text-decoration:underline}.main .form-control.field-locked,.main .form-control.field-locked:focus{cursor:not-allowed;opacity:1;color:var(--text-primary)!important;border:1px dashed var(--border-strong)!important;box-shadow:none!important;background:0 0!important}.field-lock-icon{color:var(--text-muted);margin-left:6px;font-size:11px}.field-hint{color:var(--text-muted);margin-top:5px;font-size:12px;display:block}.field-hint.warn{color:var(--text-primary)}.field-hint.warn:before{content:"";vertical-align:middle;background:#fb9d59;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.btn-view{color:#00dad2!important}body.light-mode .btn-view{background:#00dad2;border-color:#00dad2;color:#03211f!important}.main:has(.profile-page){padding-left:clamp(20px,6vw,180px);padding-right:clamp(20px,6vw,180px)}.profile-page{grid-template-columns:minmax(240px,280px) minmax(0,1fr);align-items:start;gap:22px;display:grid}.profile-page .card{height:auto;margin-bottom:0}.profile-page-side{position:sticky;top:90px}.profile-summary .card-body{text-align:center;flex-direction:column;align-items:center;padding:36px 24px 30px;display:flex}.profile-avatar-wrap{margin-bottom:18px;position:relative}.profile-avatar{color:#fff;letter-spacing:.02em;border:3px solid var(--border-medium);background:#06322f;border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-photo-btn{background:var(--accent-primary);color:#03211f;border:3px solid var(--bg-card);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;margin:0;font-size:15px;position:absolute;bottom:4px;right:2px;display:flex!important}.profile-photo-btn i{color:#03211f}.profile-photo-btn.is-busy{cursor:progress}.profile-name{color:var(--text-primary);margin:0 0 4px;font-size:22px;font-weight:600}.profile-position{color:var(--text-muted);margin:0 0 14px;font-size:15px}.profile-chips{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:18px;display:flex}.profile-chip{border:1px solid var(--border-medium);background:var(--bg-card-soft);color:var(--text-primary);border-radius:999px;align-items:center;gap:7px;padding:4px 12px;font-size:13px;display:inline-flex}.status-dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px}.status-dot.online{background:#00dad2;box-shadow:0 0 0 3px #00dad233}.profile-socials{gap:10px;display:flex}.profile-socials a,.profile-socials span{border:1px solid var(--border-medium);width:36px;height:36px;color:var(--text-primary);background:var(--bg-card-soft);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.profile-socials a:hover{border-color:#00dad2;transform:translateY(-1px)}.profile-socials .is-empty{opacity:.4}.profile-details .card-body{padding:24px 24px 28px}.profile-tabs{flex-wrap:nowrap;gap:4px;margin-bottom:4px}.profile-tabs .nav-link{white-space:nowrap;background:0 0;padding:10px 16px;font-size:15px}.profile-tab-body{padding-top:18px}.profile-section-title{border-bottom:1px solid var(--border-light);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:22px 0 12px;padding-bottom:10px;font-size:12px;font-weight:600}.profile-overview section:first-child .profile-section-title{margin-top:0}.profile-about{color:var(--text-primary);white-space:pre-line;margin:0}.profile-about.is-empty,.profile-info-text strong.is-empty{color:var(--text-muted);font-style:italic;font-weight:400}.profile-tab-body{container-type:inline-size}.profile-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@container (width<=380px){.profile-info-grid{grid-template-columns:1fr}}.profile-info{border:1px solid var(--border-light);background:var(--bg-card-soft);border-radius:12px;align-items:center;gap:12px;min-width:0;padding:12px 14px;display:flex}.profile-info-icon{background:var(--accent-hover-bg);height:38px;color:var(--accent-primary);border-radius:10px;flex:0 0 38px;justify-content:center;align-items:center;font-size:17px;display:flex}body.light-mode .profile-info-icon{background:var(--accent-primary);color:#000}.profile-info-text{flex-direction:column;min-width:0;display:flex}.profile-info-text span{color:var(--text-muted);font-size:12px}.profile-info-text strong{color:var(--text-primary);overflow-wrap:anywhere;font-size:14px;font-weight:600}.profile-note{color:var(--text-muted);margin:0;font-size:13px}.profile-view-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-back{border-radius:10px;margin-bottom:15px}.profile-loading{color:var(--text-muted)}@media (width<=1100px){.profile-page{grid-template-columns:1fr}.profile-page-side{position:static}}@media (width<=767px){.profile-details .card-body{padding:22px 18px}}.pd-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.pd-actions{flex-wrap:wrap;gap:8px;margin-bottom:15px;display:flex}.pd-actions .btn{border-radius:10px}.pd-scroll{padding-bottom:10px;overflow-x:auto}.pd-page{color:#000;background:#fff;border:2px solid #000;width:800px;margin:10px auto;padding:1%;font-family:Poppins,Arial,sans-serif}.pd-header{text-align:center;padding:10px}.pd-header img{width:50%;margin:0 auto 10px;display:block}.pd-header h3,.pd-header h4{color:#000;margin:7px 0;font-size:18px;font-weight:700;line-height:1.35}.pd-table{border-collapse:collapse;color:#000;width:100%;margin:20px 0}.pd-table th,.pd-table td{text-align:left;vertical-align:middle;color:#000;background:#fff;border:1px solid #000;padding:3px 5px;font-size:16px}.pd-table th{color:#fff;background:#82817d;font-weight:700}.pd-table .pd-small{font-size:14px;font-weight:400}.pd-table .pd-half{width:50%}.pd-footer p{text-align:center;color:#000;margin:0 0 6px}.cal-card .card-body{padding:26px 28px}.cal-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:8px;display:flex}.cal-title{color:var(--text-primary);margin:0 0 8px;font-size:18px;font-weight:600}.cal-picker{flex:0 300px}.cal-picker .form-control{background:var(--bg-input);color:var(--text-primary);border-color:var(--border-medium);border-radius:10px}.cal-layout{grid-template-columns:minmax(300px,460px) minmax(240px,1fr);align-items:start;gap:28px;display:grid}.cal-who{color:var(--text-primary);margin:0 0 6px;font-size:14px;font-weight:600}.cal-nav{color:var(--text-primary);justify-content:center;align-items:center;gap:26px;margin:6px 0 14px;font-size:18px;font-weight:600;display:flex}.cal-nav span{text-align:center;min-width:160px}.cal-nav button{border:1px solid var(--border-medium);width:34px;height:34px;color:var(--text-primary);background:0 0;border-radius:50%;justify-content:center;align-items:center;display:flex}.cal-nav button:disabled{opacity:.35;cursor:not-allowed}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px 4px;transition:opacity .15s;display:grid}.cal-grid.is-loading{opacity:.45}.cal-weekday{text-align:center;color:var(--text-muted);padding-bottom:4px;font-size:14px;font-weight:500}.cal-cell{aspect-ratio:1;width:46px;max-width:100%;height:46px;color:var(--text-primary);cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;justify-content:center;justify-self:center;align-items:center;padding:0;font-size:15px;font-weight:500;transition:transform .12s,box-shadow .12s;display:flex;position:relative}.cal-cell:hover{transform:scale(1.06)}.cal-cell.outside{cursor:default;color:var(--text-muted);opacity:.4}.cal-cell.outside:hover{transform:none}.cal-cell.present,.cal-swatch.present{color:#03211f;background:#cffa39}.cal-cell.half,.cal-swatch.half{color:var(--text-primary);background:linear-gradient(135deg,#cffa39 50%,#00dad22e 50%);border-color:#cffa39}.cal-cell.half .cal-day{text-shadow:0 0 6px var(--bg-card)}.cal-cell.leave,.cal-swatch.leave{background:#fb9d5933;border-color:#fb9d59}.cal-cell.absent,.cal-swatch.absent{background:var(--status-danger,#ef4444);border-color:var(--status-danger,#ef4444);color:#fff}.cal-cell.holiday,.cal-swatch.holiday{background:#cffa3924;border-style:dashed;border-color:#cffa39}body.light-mode .cal-cell.holiday,body.light-mode .cal-swatch.holiday{background:#eff5f2;border-color:#06322f}.cal-cell.weekoff,.cal-swatch.weekoff{color:var(--text-muted);background:#06322f;border-color:#eff5f21f}body.light-mode .cal-cell.weekoff,body.light-mode .cal-swatch.weekoff{color:#06322f;background:#eff5f2;border-color:#06322f1f}.cal-cell.today,.cal-swatch.today{box-shadow:0 0 0 3px var(--bg-card), 0 0 0 5px #00dad2}.cal-cell.selected{box-shadow:0 0 0 3px var(--bg-card), 0 0 0 5px var(--text-primary)}.cal-legend{color:var(--text-muted);flex-wrap:wrap;justify-content:center;gap:8px 16px;margin-top:18px;font-size:13px;display:flex}.cal-legend span{align-items:center;gap:6px;display:inline-flex}.cal-swatch{border:2px solid #0000;border-radius:50%;width:12px;height:12px;display:inline-block;position:relative}.cal-swatch.today{background:0 0;width:10px;height:10px;box-shadow:0 0 0 2px #00dad2}.cal-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.cal-summary div{border:1px solid var(--border-light);background:var(--bg-card-soft);text-align:center;border-radius:12px;padding:12px 6px}.cal-summary strong{color:var(--text-primary);font-size:22px;font-weight:600;line-height:1.2;display:block}.cal-summary .cal-summary-wide{grid-column:1/-1;justify-content:center;align-items:baseline;gap:8px;display:flex}.cal-summary-wide strong{display:inline}.cal-summary span{color:var(--text-muted);white-space:nowrap;font-size:12px}.cal-details{border:1px solid var(--border-light);background:var(--bg-card-soft);border-radius:12px;padding:14px 16px}.cal-details-head{color:var(--text-primary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.cal-details dl{gap:6px;margin:12px 0 0;display:grid}.cal-details dl div{justify-content:space-between;gap:10px;font-size:14px;display:flex}.cal-details dt{color:var(--text-muted);font-weight:400}.cal-details dd{color:var(--text-primary);text-align:right;margin:0;font-weight:600}.cal-pill{border:1px solid var(--border-medium);color:var(--text-primary);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.cal-pill.present{color:#03211f;background:#cffa39;border-color:#cffa39}.cal-pill.half{border-color:#cffa39}.cal-pill.leave{border-color:#fb9d59}.cal-pill.absent{background:var(--status-danger,#ef4444);border-color:var(--status-danger,#ef4444);color:#fff}.cal-pill.holiday{border-style:dashed;border-color:#cffa39}.cal-pill.weekoff{color:var(--text-muted)}body.light-mode .cal-pill.holiday{border-color:#06322f}.cal-hint,.cal-error{color:var(--text-muted);margin:10px 0 0;font-size:13px}.cal-empty{text-align:center;padding:30px 0 10px}.cal-error{color:var(--status-danger)}@media (width<=1100px){.cal-layout{grid-template-columns:1fr}.cal-main{width:100%;max-width:480px;margin:0 auto}}@media (width<=480px){.cal-card .card-body{padding:18px 14px}.cal-cell{width:38px;height:38px;font-size:13px}.cal-nav{gap:12px}}.row-actions{flex-wrap:wrap;gap:8px;max-width:380px;display:flex}.row-actions .btn-action{margin:0}.cal-team{margin:4px 0 18px}.cal-team-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:600;display:block}.cal-team-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cal-team-select{background-color:var(--bg-card-soft);min-width:220px;color:var(--text-primary);border:1px solid var(--border-medium);cursor:pointer;border-radius:999px;flex:0 320px;padding:8px 40px 8px 16px;font-size:13px;font-weight:500}.cal-team-select.active{border-color:#00dad2;box-shadow:0 0 0 1px #00dad2}.cal-team-select option{background:var(--bg-card);color:var(--text-primary)}.cal-team-chip{border:1px solid var(--border-medium);background:var(--bg-card-soft);color:var(--text-primary);border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:13px;font-weight:500;transition:border-color .15s;display:inline-flex}.cal-team-chip small{color:var(--text-muted);font-size:11px}.cal-team-chip:hover{border-color:#00dad2}.cal-team-chip.active{color:#03211f;background:#cffa39;border-color:#cffa39}.cal-team-chip.active small{color:#03211f}.lb-card{border:1px solid var(--border-light);background:var(--bg-card);border-radius:16px;margin-bottom:20px;padding:18px 20px}.lb-card.compact{background:var(--bg-card-soft);margin:16px 0 0;padding:14px 16px}.lb-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;margin-bottom:12px;display:flex}.lb-head strong{color:var(--text-primary);font-size:15px}.lb-head span,.lb-note{color:var(--text-muted);font-size:12px}.lb-note{margin:0}.lb-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.lb-grid div{border:1px solid var(--border-light);text-align:center;border-radius:12px;padding:10px 8px}.lb-grid strong{color:var(--text-primary);font-size:20px;font-weight:600;display:block}.lb-grid span{color:var(--text-muted);white-space:nowrap;font-size:12px}.lb-grid .lb-main{background:#cffa39;border-color:#cffa39}.lb-grid .lb-main strong,.lb-grid .lb-main span{color:#03211f}@media (width<=575px){.lb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.emp-picker{flex:0 300px;min-width:220px}.emp-picker .form-control{background:var(--bg-input);color:var(--text-primary);border-color:var(--border-medium);border-radius:10px}.lb-admin-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.lb-admin .lb-card{background:var(--bg-card-soft);margin-bottom:0}.lb-head>div{flex-direction:column;gap:2px;display:flex}.lb-adjust-btn{white-space:nowrap;border-radius:8px}.lb-grid{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.lb-card.compact .lb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lb-adjust{border-top:1px solid var(--border-light);gap:12px;margin-top:14px;padding-top:14px;display:grid}.lb-adjust label{flex-direction:column;gap:6px;margin:0;display:flex}.lb-adjust label span{color:var(--text-muted);font-size:13px}.lb-adjust .form-control{background:var(--bg-input);color:var(--text-primary);border-color:var(--border-medium);border-radius:10px}.lb-modes{flex-wrap:wrap;gap:6px;display:inline-flex}.lb-modes button{border:1px solid var(--border-medium);color:var(--text-primary);background:0 0;border-radius:999px;padding:6px 12px;font-size:13px}.lb-modes button.active{color:#03211f;background:#00dad2;border-color:#00dad2}.lb-adjust-actions{justify-content:flex-end;gap:8px;display:flex}.lb-adjust-actions .btn{border-radius:10px}.lb-history{color:var(--text-muted);margin-top:14px;font-size:13px}.lb-history summary{cursor:pointer;color:var(--text-primary)}.lb-history ul{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.lb-history li{border:1px solid var(--border-light);border-radius:10px;grid-template-columns:auto 1fr;gap:2px 10px;padding:8px 10px;display:grid}.lb-history li strong{text-align:center;min-width:42px;color:var(--text-primary);grid-row:span 2;align-self:center;font-size:14px}.lb-history li strong.minus:before{content:""}.lb-history li span{color:var(--text-primary)}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-top:16px;display:flex}.pager-info{color:var(--text-muted);font-size:13px}.pager-buttons{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pager-buttons button{border:1px solid var(--border-medium);min-width:36px;height:36px;color:var(--text-primary);background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:4px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.pager-buttons button:hover:not(:disabled):not(.active){border-color:#00dad2}.pager-buttons button.active{color:#03211f;background:#cffa39;border-color:#cffa39}.pager-buttons button:disabled{opacity:.4;cursor:not-allowed}.pager-gap{color:var(--text-muted);padding:0 4px}.table-toolbar-row{flex-wrap:wrap;align-items:flex-start;gap:0 16px;display:flex}.table-toolbar-row>.table-toolbar{flex:320px}.table-toolbar-row>.search-summary{flex-basis:100%;order:3}.year-filter{align-items:center;gap:10px;margin:0 0 15px;display:flex!important}.year-filter span{color:var(--text-muted);font-size:13px;margin:0!important}.year-filter .form-select{background-color:var(--bg-input);min-width:140px;color:var(--text-primary);border-color:var(--border-medium);border-radius:10px}.btn-download{color:#cffa39!important}body.light-mode .btn-download{background:#cffa39;border-color:#cffa39;color:#06322f!important}.pd-offscreen{pointer-events:none;z-index:-1;width:840px;position:fixed;top:0;left:-10000px}.bank-view .card-body{padding:26px 28px 30px}.bank-view .profile-section-title:first-child{margin-top:0}.bank-reveal{border:1px solid var(--border-medium);color:var(--text-primary);white-space:nowrap;background:0 0;border-radius:8px;margin-left:auto;padding:4px 10px;font-size:12px}.bank-salary{max-width:560px;margin:0}.bank-salary td{color:var(--text-primary);padding:10px 14px}.bank-salary td:last-child{text-align:right;font-weight:600}.bank-salary tr:first-child td{font-weight:600}.cal-regularize{white-space:nowrap;border-radius:10px}.cal-regularize-day{border-radius:8px;margin-top:12px}.rg-backdrop{z-index:10030;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#03211fb3;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.rg-card{background:var(--bg-card);width:min(520px,100%);color:var(--text-primary);border:1px solid var(--border-medium);border-radius:20px;gap:14px;padding:28px 26px 24px;display:grid;position:relative;box-shadow:0 20px 50px #0006}.rg-card h2{margin:0;font-size:21px;font-weight:600}.rg-card label{flex-direction:column;gap:6px;margin:0;display:flex}.rg-card label span,.rg-label{color:var(--text-muted);margin:0;font-size:13px}.rg-card .form-control{background:var(--bg-input);color:var(--text-primary);border-color:var(--border-medium);border-radius:10px}.rg-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;display:grid}.rg-text{color:var(--text-muted);margin:0;font-size:14px;line-height:1.55}.rg-text strong{color:var(--text-primary)}.rg-small{font-size:12px}.rg-reason{background:var(--bg-card-soft);color:var(--text-primary);white-space:pre-line;border-left:3px solid #00dad2;border-radius:6px;margin:0;padding:10px 14px;font-size:14px}.rg-edited{color:var(--text-primary);border:1px solid #fb9d59;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:11px}.rg-actions{justify-content:flex-end;gap:8px;display:flex}.rg-actions .btn{border-radius:10px}.rg-reject{background:var(--status-danger,#ef4444);border-color:var(--status-danger,#ef4444);color:#fff}.rg-reject:hover{color:#fff;filter:brightness(1.08)}.rg-close{width:32px;height:32px;color:var(--text-muted);background:0 0;border:0;border-radius:50%;position:absolute;top:14px;right:14px}.rg-panel-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.rg-badge{color:#03211f;vertical-align:middle;background:#fb9d59;border-radius:999px;margin-left:10px;padding:2px 10px;font-size:12px;font-weight:600}.rg-tabs{flex-wrap:wrap;gap:6px;display:inline-flex}.rg-tabs button{border:1px solid var(--border-medium);color:var(--text-primary);background:0 0;border-radius:999px;padding:6px 14px;font-size:13px}.rg-tabs button.active{color:#03211f;background:#cffa39;border-color:#cffa39}.rg-table td,.rg-table th{vertical-align:middle;white-space:nowrap}.rg-table .rg-reason-cell{white-space:normal;min-width:180px;max-width:320px}.rg-status{border:1px solid var(--border-medium);color:var(--text-primary);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.rg-status.s0{border-color:#fb9d59}.rg-status.s1{color:#03211f;background:#cffa39;border-color:#cffa39}.rg-status.s2{background:var(--status-danger,#ef4444);border-color:var(--status-danger,#ef4444);color:#fff}.rg-muted{min-width:200px;max-width:300px;color:var(--text-muted);white-space:normal;display:inline-block}@media (width<=520px){.rg-grid{grid-template-columns:1fr}}.field-required{color:var(--status-danger,#ef4444);font-weight:600}.field-password{position:relative}.field-password .form-control{padding-right:44px}.field-password button{color:var(--text-muted);background:0 0;border:0;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.stats-card.is-link{cursor:pointer;position:relative}.stats-card.is-link:focus-visible{outline-offset:3px;outline:2px solid #00dad2}.stats-open{color:var(--text-muted);opacity:0;font-size:14px;transition:opacity .15s;position:absolute;top:16px;right:16px}.stats-card.is-link:hover .stats-open,.stats-card.is-link:focus-visible .stats-open{opacity:1}.lb-probation{color:var(--text-primary);background:#fb9d591f;border:1px solid #fb9d5999;border-radius:10px;margin:0 0 12px;padding:10px 12px;font-size:13px;line-height:1.5}.lb-opening .card-body{gap:10px;display:grid}.lb-opening-form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:start;gap:12px 16px;display:grid}.lb-opening-form label{flex-direction:column;gap:6px;margin:0;display:flex}.lb-opening-form label>span{color:var(--text-muted);font-size:13px}.lb-opening-form .form-control{background:var(--bg-input);color:var(--text-primary);border-color:var(--border-medium);border-radius:10px}.lb-opening-form .emp-picker{flex:none;min-width:0}.lb-opening-reason{grid-column:span 2}.lb-opening-actions{grid-column:1/-1}.lb-opening-actions .btn{border-radius:10px}@media (width<=575px){.lb-opening-reason{grid-column:auto}}.lb-history li{grid-template-columns:auto 1fr auto}.lb-history li strong{grid-row:span 2}.lb-remove{color:var(--text-muted);background:0 0;border:0;border-radius:6px;grid-area:span 2/3;align-self:center;padding:4px 6px}.lb-remove:hover{color:var(--status-danger,#ef4444)}.lb-history li.not-counted{opacity:.55}.profile-password-dots{letter-spacing:3px}.profile-password-meta{color:var(--text-muted);font-size:12px}.profile-password-change{white-space:nowrap;border-radius:8px;margin-left:auto}.profile-password-note{color:var(--text-muted);margin:10px 0 0;font-size:12px}.sidebar-logo .sidebar-toggle{width:36px;height:36px;color:var(--text-muted);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;padding:0;font-size:20px;display:flex}.sidebar-logo .sidebar-toggle:hover{color:var(--accent-primary)}.sidebar .nav-link:focus-visible,.sidebar-toggle:focus-visible,.logo-button:focus-visible,.header-menu-btn:focus-visible{outline-offset:2px;outline:2px solid #00dad2}.main-wrapper,.main,.main .card,.main .card-body{min-width:0}.main-wrapper{max-width:100%}.table-responsive{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overflow-x:auto!important}.header-mobile-brand{display:none}@media (width>=992px) and (width<=1199px){.main{padding:20px 24px}}@media (width>=1200px) and (width<=1499px){.main{padding:20px 48px}}@media (width<=991px){.header-mobile-brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.header-menu-btn{border:1px solid var(--border-medium);background:var(--bg-card-soft,transparent);width:42px;height:42px;color:var(--text-primary);border-radius:12px;justify-content:center;align-items:center;padding:0;font-size:26px;line-height:1;display:flex}.header-menu-btn:active{transform:scale(.96)}.header-monogram{width:30px;height:auto}.header .welcome{min-width:0}.sidebar{width:min(var(--sidebar-width,280px), 86vw)}body:not(.sidebar-collapsed) .sidebar:after{display:none}.sidebar-backdrop{z-index:9998;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#03211f99;animation:.2s ease-out sidebar-backdrop-in;position:fixed;inset:0}body.sidebar-mobile-open{overflow:hidden}body:not(.sidebar-collapsed) .sidebar-logo{flex-direction:row;justify-content:space-between}body:not(.sidebar-collapsed) .sidebar-logo .sidebar-toggle{transform:none}.sidebar .nav-link{min-height:46px}}@media (width<=575px){.header{gap:8px;padding:10px 12px}.header-nav .nav-item{margin-left:4px}.main{padding:12px}.main .pagetitle h1{font-size:22px}.main .card{padding:18px 14px}.main form .btn-success,.main form .btn-outline-secondary{min-height:44px}}@media (width<=380px){.header-nav .time{display:none}.header-nav li:has(.time){display:none}}@keyframes sidebar-backdrop-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.sidebar,.sidebar-backdrop{transition:none!important;animation:none!important}}@media (width<=991px){.main .table-responsive>.table,.main .table-responsive>table{min-width:100%;width:max-content!important}.main .table-responsive>.table th,.main .table-responsive>.table td{text-overflow:clip;white-space:normal;overflow-wrap:break-word;vertical-align:middle;max-width:260px;padding:10px 12px;font-size:13px;overflow:visible}.main .table-responsive>.table th,.main .table-responsive>.table td:first-child{white-space:nowrap}.main .table-responsive>.table td:first-child,.main .table-responsive>.table th:first-child{min-width:48px;max-width:none}.main .table-responsive>.table td:last-child{max-width:none}.main .table-responsive .row-actions{flex-wrap:nowrap;max-width:none}.main .table-responsive .row-actions .btn-action{white-space:nowrap;width:auto;padding:6px 12px}}@media (width<=1100px){.profile-page{grid-template-columns:minmax(0,1fr)}.profile-page>*,.profile-details,.profile-details .card-body,.profile-tab-body{min-width:0}.profile-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;overflow-x:auto}.profile-tabs::-webkit-scrollbar{display:none}}@container (width<=460px){.profile-info-grid{grid-template-columns:1fr}}@media (width<=575px){.profile-summary .card-body{padding:26px 16px 22px}.profile-details .card-body{padding:18px 14px 22px}.profile-tabs{overflow-x:visible}.profile-tabs .nav-item{flex:1 1 0;min-width:0}.profile-tabs .nav-link{white-space:normal;text-align:center;width:100%;height:100%;padding:10px 6px;font-size:13px;line-height:1.3}.profile-section-title{margin-top:18px}.profile-info{flex-wrap:wrap}.profile-info-text{flex:140px}.profile-password-change{margin-left:52px}.profile-view-header{align-items:flex-start}}.scroll-table{min-width:0;position:relative}.scroll-table-bar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.scroll-table-hint{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.scroll-table-buttons{flex-shrink:0;gap:6px;display:flex}.scroll-table-buttons button{border:1px solid var(--border-medium);background:var(--bg-card-soft,transparent);width:36px;height:32px;color:var(--text-primary);border-radius:9px;justify-content:center;align-items:center;display:flex}.scroll-table-buttons button:not(:disabled):hover{color:#00dad2;border-color:#00dad2}.scroll-table-buttons button:disabled{opacity:.35;cursor:default}.scroll-table-buttons button:focus-visible,.scroll-table .table-responsive:focus-visible{outline-offset:2px;outline:2px solid #00dad2}.scroll-table-viewport{position:relative}.scroll-table-viewport:before,.scroll-table-viewport:after{content:"";pointer-events:none;opacity:0;z-index:2;width:36px;transition:opacity .2s;position:absolute;top:0;bottom:12px}.scroll-table-viewport:before{background:linear-gradient(to right, var(--bg-card), transparent);left:0}.scroll-table-viewport:after{background:linear-gradient(to left, var(--bg-card), transparent);right:0}.scroll-table.can-left .scroll-table-viewport:before,.scroll-table.can-right .scroll-table-viewport:after{opacity:1}.scroll-table .table-responsive{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scrollbar-width:auto;scrollbar-color:#00dad2 var(--bg-card-soft,#ffffff0f);overflow-y:hidden;overflow-x:auto!important}.scroll-table.can-left .table-responsive,.scroll-table.can-right .table-responsive{cursor:grab;padding-bottom:4px}.scroll-table .table-responsive.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.scroll-table .table-responsive::-webkit-scrollbar{height:10px}.scroll-table .table-responsive::-webkit-scrollbar-track{background:var(--bg-card-soft,#ffffff0f);border-radius:10px}.scroll-table .table-responsive::-webkit-scrollbar-thumb{border:2px solid var(--bg-card-soft,transparent);background:#00dad2;border-radius:10px}body.light-mode .scroll-table .table-responsive::-webkit-scrollbar-thumb{background:#06322f}body.light-mode .scroll-table .table-responsive{scrollbar-color:#06322f #eff5f2}@media (width>=992px){.scroll-table-hint{visibility:hidden}}@media (prefers-reduced-motion:reduce){.scroll-table-viewport:before,.scroll-table-viewport:after{transition:none}}
