.custom-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:99999;background-color:#0f172a66;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.25s cubic-bezier(.16,1,.3,1) forwards modal-fade-in;display:flex;position:fixed;top:0;left:0}.custom-modal-box{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:var(--radius-md);flex-direction:column;gap:1.25rem;width:90%;max-width:440px;padding:1.75rem;animation:.3s cubic-bezier(.34,1.56,.64,1) forwards modal-scale-in;display:flex;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.custom-modal-header{align-items:center;gap:.75rem;display:flex}.custom-modal-icon-wrapper{border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.custom-modal-icon.alert{color:var(--amber);background-color:var(--amber-glow);border-radius:50%;padding:8px}.custom-modal-icon.confirm{color:var(--teal);background-color:var(--teal-glow);border-radius:50%;padding:8px}.custom-modal-header h3{color:var(--text-main);font-size:1.2rem;font-weight:700;font-family:var(--font-display);margin:0}.custom-modal-body p{color:var(--text-muted);margin:0;font-size:.95rem;line-height:1.6}.custom-modal-footer{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.custom-modal-btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);padding:.6rem 1.5rem;font-size:.9rem;font-weight:600}.custom-modal-btn.cancel{border:1px solid var(--border-light);color:var(--text-muted);background-color:#0000}.custom-modal-btn.cancel:hover{background-color:#0f172a0a}.custom-modal-btn.ok{background:var(--grad-primary);color:#fff;border:none}.custom-modal-btn.ok:hover{background:var(--grad-primary-hover);transform:translateY(-1px)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-scale-in{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}:root{--bg-base-hue:220;--bg-base-saturation:15%;--bg-deep:#f8fafc;--bg-card:#fff;--bg-card-hover:#fff;--bg-panel:#fff;--bg-popover:#fff;--bg-input:#fff;--teal-hue:243;--teal:HSL(var(--teal-hue), 76%, 54%);--teal-glow:#4f46e514;--teal-hover:HSL(var(--teal-hue), 76%, 46%);--purple-hue:239;--purple:HSL(var(--purple-hue), 84%, 66%);--purple-glow:#6366f114;--purple-hover:HSL(var(--purple-hue), 84%, 58%);--rose-hue:350;--rose:HSL(var(--rose-hue), 89%, 60%);--rose-glow:#f43f5e14;--rose-hover:HSL(var(--rose-hue), 89%, 52%);--emerald-hue:142;--emerald:HSL(var(--emerald-hue), 72%, 40%);--emerald-glow:#10b98114;--amber-hue:38;--amber:HSL(var(--amber-hue), 92%, 50%);--amber-glow:#f59e0b14;--text-main:#0f172a;--text-muted:#475569;--text-dim:#64748b;--border-light:#0f172a14;--border-glow:#4f46e540;--border-purple-glow:#6366f140;--grad-primary:linear-gradient(135deg, var(--purple) 0%, var(--teal) 100%);--grad-primary-hover:linear-gradient(135deg, var(--purple-hover) 0%, var(--teal-hover) 100%);--grad-card:linear-gradient(135deg, #fff 0%, #f8fafc 100%);--grad-glow:linear-gradient(135deg, var(--purple-glow) 0%, var(--teal-glow) 100%);--font-display:"Outfit", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--sidebar-width:260px;--header-height:70px;--glass-blur:blur(12px);--glass-shadow:0 4px 6px -1px #0f172a0d, 0 2px 4px -2px #0f172a0d, 0 0 0 1px #0f172a0d;--shadow-neon-teal:0 0 0 3px #4f46e526;--shadow-neon-purple:0 4px 12px #4f46e51f;--shadow-neon-rose:0 4px 12px #f43f5e1f;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--transition-fast:.2s cubic-bezier(.16, 1, .3, 1);--transition-normal:.3s cubic-bezier(.16, 1, .3, 1);--transition-slow:.5s cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-deep);color:var(--text-main);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-main);font-weight:600}a{color:var(--teal);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--teal-hover)}button{font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;outline:none}input,select,textarea{font-family:var(--font-sans);color:var(--text-main);background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);transition:all var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);padding:.75rem 1rem;font-size:.95rem}input:hover,select:hover,textarea:hover{border-color:var(--text-dim)}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:var(--shadow-neon-teal);outline:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);transition:background var(--transition-fast) ease;background:#0f172a1a}::-webkit-scrollbar-thumb:hover{background:#0f172a40}.glass-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--glass-shadow);transition:transform var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal), background-color var(--transition-normal);width:100%;min-width:0;max-width:100%;padding:1.5rem}.glass-card:hover{border-color:var(--border-glow);background:var(--bg-card-hover);transform:translateY(-4px);box-shadow:0 12px 24px -10px #4f46e526,0 4px 12px -5px #0000000d,0 0 0 1px #4f46e51a}.glass-panel{-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-light);box-shadow:var(--glass-shadow);background:#ffffffd9}.app-layout{width:100%;min-height:100vh;display:flex;overflow-x:hidden}.app-sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);border-right:1px solid var(--border-light);z-index:100;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0}.app-main{min-width:0;max-width:100%;padding:2rem;padding-left:calc(var(--sidebar-width) + 2rem);flex-direction:column;flex-grow:1;min-height:100vh;margin-left:0;display:flex}.app-header{height:var(--header-height);justify-content:space-between;align-items:center;margin-bottom:2rem;padding:0 1rem;display:flex}.page-container{animation:fadeIn var(--transition-slow);flex-direction:column;gap:2rem;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%{box-shadow:0 0 0 0 HSLA(var(--teal-hue), 90%, 48%, .4)}70%{box-shadow:0 0 0 15px HSLA(var(--teal-hue), 90%, 48%, 0)}to{box-shadow:0 0 0 0 HSLA(var(--teal-hue), 90%, 48%, 0)}}@keyframes pulse-glow-purple{0%{box-shadow:0 0 0 0 HSLA(var(--purple-hue), 90%, 63%, .4)}70%{box-shadow:0 0 0 15px HSLA(var(--purple-hue), 90%, 63%, 0)}to{box-shadow:0 0 0 0 HSLA(var(--purple-hue), 90%, 63%, 0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.sidebar-logo{font-family:var(--font-display);background:var(--grad-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;align-items:center;gap:.5rem;padding:2rem 1.5rem;font-size:1.5rem;font-weight:800;display:flex}.sidebar-nav{flex-direction:column;flex-grow:1;gap:.5rem;padding:0 1rem;display:flex}.nav-link{color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);align-items:center;gap:.75rem;padding:.85rem 1rem;font-weight:500;display:flex}.nav-link:hover{color:var(--teal);background:#4f46e50d}.nav-link.active{color:#fff;background:var(--grad-primary);box-shadow:var(--shadow-neon-purple)}.sidebar-user{border-top:1px solid var(--border-light);background:#0f172a05;flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}.user-profile{align-items:center;gap:.75rem;display:flex}.user-avatar{border-radius:var(--radius-full);background:var(--grad-primary);color:#fff;width:40px;height:40px;font-weight:700;font-family:var(--font-display);justify-content:center;align-items:center;display:flex}.user-info{flex-direction:column;display:flex}.user-name{font-size:.95rem;font-weight:600}.user-role{color:var(--text-muted);font-size:.8rem}.logout-btn{border-radius:var(--radius-sm);color:var(--rose);transition:all var(--transition-fast);background:#f43f5e0d;border:1px solid #f43f5e33;justify-content:center;align-items:center;gap:.5rem;padding:.6rem;font-size:.9rem;font-weight:600;display:flex}.logout-btn:hover{background:var(--rose);color:#fff;box-shadow:var(--shadow-neon-rose)}.sidebar-user-actions{flex-direction:column;gap:.5rem;width:100%;display:flex}.password-change-btn{border-radius:var(--radius-sm);color:var(--teal);transition:all var(--transition-fast);background:#4f46e50d;border:1px solid #4f46e533;justify-content:center;align-items:center;gap:.5rem;padding:.6rem;font-size:.9rem;font-weight:600;display:flex}.password-change-btn:hover{background:var(--teal);color:#fff;box-shadow:var(--shadow-neon-teal)}.close-btn{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;display:flex}.close-btn:hover{color:var(--text-main);background:#0f172a0d}.gradient-btn{background:var(--grad-primary);color:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-neon-purple);transition:all var(--transition-fast);align-items:center;gap:.5rem;padding:.8rem 1.5rem;font-weight:600;display:inline-flex}.gradient-btn:hover{background:var(--grad-primary-hover);box-shadow:0 0 20px HSLA(var(--purple-hue), 90%, 63%, .4), 0 0 20px HSLA(var(--teal-hue), 90%, 48%, .4);transform:translateY(-2px)}.gradient-btn:active{transform:translateY(0)}.secondary-btn{border:1px solid var(--border-light);color:var(--text-main);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:#fff;align-items:center;gap:.5rem;padding:.8rem 1.5rem;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #0000000d}.secondary-btn:hover{border-color:var(--text-dim);background:#0f172a08;transform:translateY(-1px)}.badge{border-radius:var(--radius-full);align-items:center;padding:.25rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.badge.master{color:#6366f1;background:#6366f126;border:1px solid #6366f14d}.badge.admin{color:var(--purple);background:#a855f726;border:1px solid #a855f74d}.badge.employee{color:var(--teal);background:#14b8a626;border:1px solid #14b8a64d}.badge.success{color:var(--emerald);background:#10b98126;border:1px solid #10b9814d}.badge.warning{color:var(--amber);background:#f59e0b26;border:1px solid #f59e0b4d}.badge.danger{color:var(--rose);background:#f43f5e26;border:1px solid #f43f5e4d}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;animation:fadeIn var(--transition-fast);background:#0f172a66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:var(--radius-lg);width:90%;max-width:550px;max-height:90vh;animation:modalScale var(--transition-normal);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a,0 0 0 1px #0000000d}.modal-content form{flex-direction:column;flex:1;display:flex;overflow:hidden}@keyframes modalScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{border-bottom:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-body{flex-direction:column;flex:1;gap:1.25rem;padding:1.5rem;display:flex;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-light);flex-shrink:0;justify-content:flex-end;gap:.75rem;padding:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}table{border-collapse:collapse;width:100%}table tr{transition:background-color var(--transition-fast) ease}table tbody tr:hover{background-color:#4f46e505!important}table th,table td{transition:background-color var(--transition-fast) ease, border-color var(--transition-fast) ease}@media (width<=768px){.app-layout{flex-direction:column}.app-sidebar{width:60px;min-width:60px}.app-sidebar .sidebar-logo span,.app-sidebar .nav-link span,.app-sidebar .sidebar-user{display:none}.app-main{max-width:100%;margin-left:0;padding:1rem 1rem 1rem calc(60px + 1rem)}.form-row{grid-template-columns:1fr}}input[type=date],input[type=month]{font-family:var(--font-sans);color:var(--text-main);background-color:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast) ease, border-color var(--transition-fast) ease, box-shadow var(--transition-fast) ease;outline:none;padding:.75rem 2.5rem .75rem 1rem;font-size:.95rem;position:relative;box-shadow:0 1px 2px #0f172a0d}input[type=date]:hover,input[type=month]:hover{border-color:var(--text-dim);background-color:#0f172a03}input[type=date]:focus,input[type=month]:focus{border-color:var(--teal);background-color:#fff;box-shadow:0 0 0 3px #4f46e526}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.8;width:1.15rem;height:1.15rem;transition:opacity var(--transition-fast) ease, transform var(--transition-fast) ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%234f46e5' 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-position:50%;background-repeat:no-repeat;background-size:contain;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}input[type=month]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.8;width:1.15rem;height:1.15rem;transition:opacity var(--transition-fast) ease, transform var(--transition-fast) ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%234f46e5' 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-position:50%;background-repeat:no-repeat;background-size:contain;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1;transform:translateY(-50%)scale(1.1)}input[type=month]::-webkit-calendar-picker-indicator:hover{opacity:1;transform:translateY(-50%)scale(1.1)}.custom-datepicker-popover{-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-light);border-radius:var(--radius-md);z-index:500;transition:transform var(--transition-normal) ease, opacity var(--transition-normal) ease, box-shadow var(--transition-normal) ease;animation:fadeIn var(--transition-fast) ease-out;background:#fffffffa;padding:1.25rem;box-shadow:0 10px 30px -5px #4f46e51f,0 8px 20px -6px #0f172a14,0 0 0 1px #4f46e50d}.custom-datepicker-popover:hover{box-shadow:0 15px 35px -5px #4f46e52e,0 10px 25px -6px #0f172a1a,0 0 0 1px #4f46e514}.custom-calendar-grid{grid-template-columns:repeat(7,1fr);gap:.35rem;margin-top:1rem;display:grid}.custom-calendar-day,.custom-calendar-month-item{aspect-ratio:1;border-radius:var(--radius-sm);color:var(--text-main);cursor:pointer;transition:all var(--transition-fast) ease;background:0 0;justify-content:center;align-items:center;font-size:.875rem;font-weight:500;display:flex}.custom-calendar-day:hover,.custom-calendar-month-item:hover{background:var(--teal-glow);color:var(--teal);transform:scale(1.1)}.custom-calendar-day.active,.custom-calendar-month-item.active{background:var(--grad-primary);color:#fff;box-shadow:var(--shadow-neon-purple);font-weight:600}.custom-calendar-day.active:hover,.custom-calendar-month-item.active:hover{background:var(--grad-primary-hover);color:#fff;transform:scale(1.05)}.custom-calendar-day.muted{color:var(--text-dim);opacity:.5}.custom-calendar-day.muted:hover{color:var(--text-dim);background:#0f172a05;transform:none}@media (width<=768px){.admin-console-header{flex-direction:column;align-items:stretch!important;gap:.75rem!important}.admin-salary-controls{flex-direction:row!important;align-items:center!important;gap:.5rem!important;width:100%!important;display:flex!important}.date-picker-wrapper{width:100%}.month-picker{flex:1!important;min-width:0!important;max-width:none!important}.admin-salary-controls .generate-btn{white-space:nowrap;flex:1!important;justify-content:center!important;min-width:0!important;max-width:none!important;padding:.75rem .4rem!important;font-size:.82rem!important}.custom-monthpicker-input-btn{padding:.75rem .4rem!important;font-size:.82rem!important}.date-picker-wrapper input,.month-picker input{box-sizing:border-box;width:100%}.records-table th,.records-table td,.approvals-table th,.approvals-table td,.payroll-table th,.payroll-table td{white-space:nowrap}.time-cell{min-width:100px}td:has(input[type=date]){min-width:100px}td:has(input[type=month]){min-width:100px}td:has(.badge){min-width:100px}.table-responsive,.records-table-wrapper{-webkit-overflow-scrolling:touch;border:1px solid var(--border-light);width:100%;margin-bottom:1rem;overflow-x:auto}}.login-page{background-color:var(--bg-deep);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex;position:relative;overflow:hidden}.login-glow-1{background:radial-gradient(circle, var(--purple-glow) 0%, transparent 70%);filter:blur(40px);border-radius:50%;width:400px;height:400px;animation:8s ease-in-out infinite float;position:absolute;top:-100px;left:-100px}.login-glow-2{background:radial-gradient(circle, var(--teal-glow) 0%, transparent 70%);filter:blur(40px);border-radius:50%;width:500px;height:500px;animation:10s ease-in-out infinite alternate float;position:absolute;bottom:-150px;right:-150px}.login-card{border-radius:var(--radius-lg);z-index:10;border:1px solid var(--border-light);width:100%;max-width:450px;box-shadow:var(--glass-shadow);flex-direction:column;gap:1.75rem;padding:2.5rem;display:flex}.login-logo{font-family:var(--font-display);background:var(--grad-primary);-webkit-text-fill-color:transparent;text-align:center;-webkit-background-clip:text;margin-bottom:.25rem;font-size:2.2rem;font-weight:800}.login-subtitle{color:var(--text-muted);text-align:center;font-size:.9rem;font-weight:500}.login-error{color:var(--rose);border-radius:var(--radius-sm);text-align:center;background:#f43f5e1f;border:1px solid #f43f5e4d;padding:.8rem;font-size:.85rem;font-weight:500}.login-form{flex-direction:column;gap:1.25rem;display:flex}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon input{width:100%;padding-left:2.75rem}.input-icon{color:var(--text-dim);pointer-events:none;position:absolute;left:1rem}.login-btn{justify-content:center;width:100%;margin-top:.5rem;padding:.9rem;font-size:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-footer{border-top:1px solid var(--border-light);color:var(--text-dim);flex-direction:column;gap:.35rem;padding-top:1.25rem;font-size:.8rem;line-height:1.4;display:flex}.dashboard-hero{border-left:5px solid var(--purple);background:linear-gradient(135deg,#6366f10a 0%,#14b8a60a 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:2rem;display:flex}.hero-content h1{color:var(--text-main);margin-bottom:.25rem;font-size:2rem}.hero-content p{color:var(--text-muted);margin-bottom:1rem;font-weight:500}.time-display{font-family:var(--font-display);color:var(--teal);flex-direction:column;font-size:2.2rem;font-weight:700;line-height:1.1;display:flex}.date-sub{color:var(--text-muted);text-shadow:none;font-size:.95rem;font-family:var(--font-sans);margin-top:.25rem;font-weight:400}.hero-status-widget{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.widget-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.status-badge-lg{border-radius:var(--radius-md);gap:.5rem;padding:.6rem 1.2rem;font-size:1.1rem}.toast-message{border-radius:var(--radius-md);animation:fadeIn var(--transition-fast);box-shadow:var(--glass-shadow);align-items:center;gap:.75rem;padding:1rem 1.5rem;font-weight:600;display:flex}.toast-message.success{color:var(--emerald);background:#10b9811f;border:1px solid #10b9814d}.toast-message.error{color:var(--rose);background:#f43f5e1f;border:1px solid #f43f5e4d}.dashboard-grid{grid-template-columns:1.2fr 1fr;gap:2rem;display:grid}.dashboard-col{flex-direction:column;gap:2rem;display:flex}.attendance-action-card,.stats-summary-card,.notice-board-widget,.approvals-summary-widget{flex-direction:column;gap:.75rem;display:flex}.widget-header{justify-content:space-between;align-items:center;display:flex}.add-notice-btn{background:var(--grad-primary);color:#fff;box-shadow:var(--shadow-neon-purple);transition:all var(--transition-fast);border-radius:6px;align-items:center;gap:.25rem;padding:.4rem .8rem;font-size:.85rem;font-weight:600;display:flex}.add-notice-btn:hover{transform:translateY(-1px)}.goto-btn{color:var(--teal);align-items:center;gap:.1rem;font-size:.85rem;font-weight:600;display:flex}.clock-in-out-actions{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1rem;display:grid}.action-btn{border-radius:var(--radius-md);height:auto;min-height:120px;transition:all var(--transition-normal);border:1px solid var(--border-light);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.25rem 1rem;font-size:1.05rem;font-weight:700;display:flex;position:relative;overflow:hidden}.clock-in-btn{color:var(--purple);background:#a855f70d}.clock-in-btn:hover:not(:disabled){border-color:var(--purple);box-shadow:var(--shadow-neon-purple);background:#a855f71f;transform:translateY(-2px)}.clock-out-btn{color:var(--teal);background:#14b8a60d}.clock-out-btn:hover:not(:disabled){border-color:var(--teal);box-shadow:var(--shadow-neon-teal);background:#14b8a61f;transform:translateY(-2px)}.action-btn:disabled{color:var(--text-dim);border-color:var(--border-light);cursor:not-allowed;background:#f1f5f9;box-shadow:none!important;transform:none!important}.btn-icon{opacity:.8}.btn-time{font-size:.8rem;font-family:var(--font-display);border-radius:var(--radius-full);color:var(--text-main);border:1px solid var(--border-light);background:#fff;padding:.2rem .6rem;font-weight:600}.attendance-times-row{border-top:1px solid var(--border-light);grid-template-columns:1fr 1fr;gap:1rem;padding-top:1.25rem;display:grid}.time-box{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:#f8fafc;flex-direction:column;align-items:center;gap:.25rem;padding:.85rem;display:flex}.box-title{color:var(--text-dim);font-size:.8rem;font-weight:500}.box-value{font-family:var(--font-display);font-size:1.3rem;font-weight:600}.box-limit-time{color:var(--text-muted);border-radius:var(--radius-sm);background:#e2e8f0;margin-top:.2rem;padding:.15rem .45rem;font-size:.72rem;font-weight:600}.admin-stats-grid,.employee-stats-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.stat-box{border:1px solid var(--border-light);border-radius:var(--radius-md);transition:background var(--transition-fast);background:#f8fafc;flex-direction:column;justify-content:center;gap:.3rem;padding:1.1rem;display:flex}.stat-box:hover{background:#f1f5f9}.stat-icon.purple{color:var(--purple)}.stat-icon.teal{color:var(--teal)}.stat-icon.emerald{color:var(--emerald)}.stat-icon.amber{color:var(--amber)}.stat-val{font-family:var(--font-display);font-size:1.5rem;font-weight:700}.stat-label{color:var(--text-dim);font-size:.8rem;font-weight:500}.loading-state{height:180px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.notice-list{flex-direction:column;gap:.85rem;max-height:380px;padding-right:.25rem;display:flex;overflow-y:auto}.notice-item{border:1px solid var(--border-light);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:#f8fafc;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.notice-item:hover{border-color:var(--text-dim);background:#f1f5f9}.notice-item-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.notice-item-title{color:var(--text-main);font-size:.95rem;font-weight:700}.notice-item-meta{color:var(--text-dim);align-items:center;gap:.35rem;font-size:.78rem;display:flex}.meta-dot{opacity:.5}.notice-item-content{color:var(--text-muted);white-space:pre-line;font-size:.85rem;line-height:1.4}.notice-item-actions{border-top:1px solid var(--border-light);justify-content:flex-end;gap:.75rem;margin-top:.25rem;padding-top:.5rem;display:flex}.notice-item-actions button{align-items:center;gap:.25rem;font-size:.78rem;font-weight:600;display:flex}.notice-item-actions .edit-btn{color:var(--teal)}.notice-item-actions .delete-btn{color:var(--rose)}.empty-notices,.empty-approvals{text-align:center;color:var(--text-dim);border:1px dashed var(--border-light);border-radius:var(--radius-sm);background:#f8fafc;padding:2.5rem;font-size:.85rem}.approval-list{flex-direction:column;gap:.75rem;display:flex}.approval-summary-item{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:#f8fafc;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.approval-item-main{align-items:center;gap:.75rem;display:flex;overflow:hidden}.summary-type-badge{flex-shrink:0}.approval-item-info{flex-direction:column;display:flex;overflow:hidden}.approval-item-title{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.approval-item-date{color:var(--text-dim);font-size:.75rem}.summary-status-badge{flex-shrink:0;font-size:.75rem}@media (width<=992px){.dashboard-grid{grid-template-columns:1fr}}@media (width<=768px){.dashboard-hero{padding:1.25rem}.hero-content h1{font-size:1.6rem}.hero-status-widget{margin-left:auto}.clock-in-out-actions{grid-template-columns:1fr;gap:.75rem}.action-btn{flex-direction:row;justify-content:flex-start;gap:.75rem;height:auto;min-height:60px;padding:.75rem 1.25rem;font-size:1rem}.action-btn .btn-time{margin-left:auto}}.master-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.master-badge{border-radius:var(--radius-full);background:var(--grad-primary);color:#fff;box-shadow:var(--shadow-neon-purple);align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;font-weight:700;display:flex}.status-messages{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.error-banner{color:var(--rose);border-radius:var(--radius-sm);animation:fadeIn var(--transition-fast);background:#f43f5e1a;border:1px solid #f43f5e33;padding:1rem;font-weight:500}.success-banner{color:var(--emerald);border-radius:var(--radius-sm);animation:fadeIn var(--transition-fast);background:#10b9811a;border:1px solid #10b98133;padding:1rem;font-weight:500}.master-tabs{border-bottom:1px solid var(--border-light);gap:1rem;margin-bottom:2rem;padding-bottom:1px;display:flex}.tab-btn{color:var(--text-muted);transition:all var(--transition-fast);border-bottom:2px solid #0000;align-items:center;gap:.5rem;padding:1rem 1.5rem;font-size:1rem;font-weight:600;display:flex}.tab-btn:hover{color:var(--teal);background:#14b8a60d}.tab-btn.active{color:var(--teal);border-bottom-color:var(--teal)}.section-header-row{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.section-header-row h2{font-size:1.35rem;font-weight:700}.loading-state,.empty-state{text-align:center;border-radius:var(--radius-md);border:2px dashed var(--border-light);color:var(--text-muted);padding:3rem;font-weight:500}.master-table{width:100%}.master-table th{text-align:left;border-bottom:1px solid var(--border-light);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:#0f172a05;padding:1rem 1.5rem;font-size:.85rem;font-weight:600}.master-table td{border-bottom:1px solid var(--border-light);vertical-align:middle;padding:1.25rem 1.5rem;font-size:.95rem}.id-badge{border-radius:var(--radius-sm);color:var(--text-muted);background:#0f172a0d;padding:.2rem .5rem;font-size:.8rem;font-weight:700;display:inline-flex}.company-badge{border-radius:var(--radius-full);color:var(--purple);background:#4f46e51a;border:1px solid #4f46e533;padding:.25rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.avatar-info-row{align-items:center;gap:.75rem;display:flex}.avatar-sm{border-radius:var(--radius-full);background:var(--grad-primary);color:#fff;width:32px;height:32px;font-weight:700;font-family:var(--font-display);justify-content:center;align-items:center;font-size:.85rem;display:flex}.table-actions{justify-content:center;gap:.5rem;display:flex}.action-btn{border-radius:var(--radius-sm);transition:all var(--transition-fast);justify-content:center;align-items:center;padding:.5rem;display:flex}.delete-btn{color:var(--rose);background:#f43f5e05;border:1px solid #f43f5e33}.delete-btn:hover{background:var(--rose);color:#fff;box-shadow:var(--shadow-neon-rose)}.input-icon-wrapper{width:100%;position:relative}.field-icon{color:var(--text-muted);position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.input-icon-wrapper input{width:100%;padding-left:2.75rem}.modal-content select{width:100%}.anim-slide-up{animation:slideUp var(--transition-normal) ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.attendance-title-section{margin-bottom:.5rem}.page-desc{color:var(--text-muted);font-size:.95rem}.attendance-layout-grid{grid-template-columns:1.1fr 1fr;align-items:start;gap:2rem;width:100%;min-width:0;max-width:100%;display:grid}.attendance-left-col{flex-direction:column;gap:2rem;width:100%;min-width:0;max-width:100%;display:flex}@media (width<=1400px){.attendance-layout-grid{grid-template-columns:1fr;width:100%;min-width:0;max-width:100%}}.today-status-card{padding:1.5rem}.status-card-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.status-card-header h3{color:var(--text-main);font-size:1.1rem;font-weight:700}.status-card-body{grid-template-columns:1fr 1fr 1fr;gap:1.5rem;display:grid}.status-item{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:#f8fafc;flex-direction:column;align-items:center;gap:.35rem;padding:1rem;display:flex}.item-lbl{color:var(--text-dim);font-size:.8rem;font-weight:500}.item-val{font-family:var(--font-display);color:var(--text-main);font-size:1.2rem;font-weight:700}.highlight-purple{color:var(--purple)}.highlight-teal{color:var(--teal)}.text-emerald{color:var(--emerald)}.text-amber{color:var(--amber)}.calendar-card{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.calendar-header{justify-content:space-between;align-items:center;display:flex}.calendar-controls{gap:.5rem;display:flex}.icon-btn{border-radius:var(--radius-sm);padding:.5rem}.calendar-weekdays{text-align:center;border-bottom:1px solid var(--border-light);grid-template-columns:repeat(7,minmax(0,1fr));padding-bottom:.5rem;display:grid}.weekday-cell{color:var(--text-dim);font-size:.9rem;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;min-height:320px;display:grid;position:relative}.calendar-loading{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-sm);color:var(--text-main);z-index:10;background:#fffc;justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;inset:0}.calendar-cell{border:1px solid var(--border-light);border-radius:var(--radius-sm);aspect-ratio:1;transition:all var(--transition-fast);background:#fff;flex-direction:column;justify-content:space-between;padding:.5rem;display:flex}.calendar-cell.day-cell:hover{border-color:var(--text-dim);background:#f8fafc}.calendar-cell.empty{background:0 0;border:none}.calendar-cell.today{border:2px solid var(--purple);background:#6366f10a}.day-number{font-family:var(--font-display);color:var(--text-main);font-size:.95rem;font-weight:700}.calendar-cell.today .day-number{color:var(--purple)}.day-details{flex-direction:column;gap:3px;display:flex}.time-badge{font-size:.72rem;font-family:var(--font-display);text-align:center;border:1px solid var(--border-light);white-space:nowrap;border-radius:4px;padding:2px 4px;font-weight:600}.time-badge.in{color:var(--purple);background:#a855f70d}.time-badge.out{color:var(--teal);background:#14b8a60d}.status-text{text-align:right;margin-top:1px;font-size:.72rem;font-weight:700}.status-text.normal{color:var(--emerald)}.status-text.late{color:var(--amber)}.calendar-cell.status-normal{border-left:3px solid var(--emerald)}.calendar-cell.status-late,.calendar-cell.status-early-leave{border-left:3px solid var(--amber)}.calendar-cell.status-absent{border-left:3px solid var(--rose)}.no-record{color:var(--text-dim);text-align:center;font-size:.8rem}.personal-records-table{border-collapse:collapse;text-align:left;width:100%}.personal-records-table th,.personal-records-table td{border-bottom:1px solid var(--border-light);white-space:nowrap;padding:.7rem .75rem;font-size:.85rem}.personal-records-table td.in{color:var(--purple);font-family:var(--font-display);font-weight:600}.personal-records-table td.out{color:var(--teal);font-family:var(--font-display);font-weight:600}.admin-daily-card{flex-direction:column;gap:1.5rem;display:flex}.admin-console-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.date-picker-wrapper input{border-radius:var(--radius-sm);font-family:var(--font-display);padding:.5rem}.records-table-wrapper{overflow-x:auto}.records-table{border-collapse:collapse;text-align:left;width:100%}.records-table th,.records-table td{border-bottom:1px solid var(--border-light);white-space:nowrap;padding:.75rem .85rem;font-size:.85rem}.records-table th{color:var(--text-dim);font-weight:600}.emp-name{font-weight:600}.emp-dept{color:var(--text-muted);font-size:.8rem}.time-cell{font-family:var(--font-display)}.no-data-cell{text-align:center;color:var(--text-dim);padding:2rem!important}.table-edit-btn{border-radius:var(--radius-sm);white-space:nowrap;align-items:center;gap:.25rem;padding:.4rem .6rem;font-size:.8rem;font-weight:500;display:inline-flex}.close-btn{color:var(--text-dim);transition:color var(--transition-fast)}.close-btn:hover{color:var(--rose)}.modal-error-alert{color:var(--rose);border-radius:var(--radius-sm);background:#f43f5e1a;border:1px solid #f43f5e33;align-items:center;gap:.5rem;padding:.75rem;font-size:.85rem;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mobile-only{display:none!important}@media (width<=768px){.calendar-card,.today-status-card,.personal-history-card,.admin-daily-card{padding:1rem!important}.status-card-body{grid-template-columns:1fr;gap:.75rem}.status-item{flex-direction:row;justify-content:space-between;padding:.6rem}.calendar-grid{gap:4px!important;min-height:auto!important}.calendar-cell{aspect-ratio:1!important;flex-direction:column!important;justify-content:space-between!important;align-items:center!important;min-height:auto!important;padding:.25rem!important;display:flex!important}.desktop-only{display:none!important}.mobile-only{display:block!important}.mobile-status-dots{padding-bottom:2px;justify-content:center!important;align-items:center!important;margin-top:auto!important;display:flex!important}.status-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.status-dot.dot-success{background-color:var(--emerald)}.status-dot.dot-warning{background-color:var(--amber)}.status-dot.dot-danger{background-color:var(--rose)}.no-record-dot{width:7px;height:7px;display:inline-block}.weekday-cell{font-size:.75rem}.personal-records-table th,.personal-records-table td{padding:.5rem .25rem!important;font-size:.8rem!important}.records-table,.records-table thead,.records-table tbody,.records-table th,.records-table td,.records-table tr{display:block!important}.records-table thead{display:none!important}.records-table tr{border:1px solid var(--border-light)!important;border-radius:var(--radius-sm)!important;background:var(--bg-card)!important;margin-bottom:.75rem!important;padding:.75rem!important}.records-table td{text-align:right!important;border:none!important;justify-content:space-between!important;align-items:center!important;padding:.35rem 0!important;font-size:.85rem!important;display:flex!important}.records-table td:before{content:attr(data-label);color:var(--text-dim);float:left;margin-right:1rem;font-weight:600}.records-table td.emp-name{border-bottom:1px solid var(--border-light)!important;margin-bottom:.25rem!important;padding-bottom:.5rem!important;font-size:1rem!important;font-weight:700!important}.records-table td.emp-name:before{display:none}}.employees-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}@media (width<=768px){.employees-header-row{flex-direction:column;align-items:flex-end}.employees-header-row>div{width:100%}}.employees-error-banner{color:var(--rose);border-radius:var(--radius-sm);background:#f43f5e1a;border:1px solid #f43f5e40;align-items:center;gap:.75rem;padding:1rem;font-weight:500;display:flex}.employees-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;display:grid}.employee-card{flex-direction:column;gap:1.5rem;padding:1.75rem;display:flex}.card-top{align-items:center;gap:1rem;display:flex}.emp-avatar-lg{border-radius:var(--radius-md);background:var(--grad-primary);width:54px;height:54px;font-family:var(--font-display);color:#fff;box-shadow:var(--shadow-neon-purple);justify-content:center;align-items:center;font-size:1.4rem;font-weight:700;display:flex}.emp-main-info{flex-direction:column;gap:.25rem;display:flex}.emp-main-info h3{font-size:1.2rem}.card-details-list{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:#f8fafc;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.detail-item{align-items:center;gap:.75rem;display:flex}.detail-icon{color:var(--text-dim)}.detail-text{color:var(--text-muted);font-size:.85rem;font-weight:500}.card-actions-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.card-action-btn{border-radius:var(--radius-sm);justify-content:center;padding:.6rem;font-size:.85rem}.card-action-btn.delete{color:var(--rose);border-color:#f43f5e33}.card-action-btn.delete:hover{background:var(--rose);color:#fff;box-shadow:var(--shadow-neon-rose)}.salary-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.admin-salary-controls{align-items:center;gap:1rem;display:flex}.month-picker input{border-radius:var(--radius-sm);font-family:var(--font-display);padding:.6rem .8rem}.salary-banner{border-radius:var(--radius-sm);padding:1rem;font-size:.9rem;font-weight:500}.salary-banner.error{color:var(--rose);background:#f43f5e1f;border:1px solid #f43f5e4d}.salary-banner.success{color:var(--emerald);background:#10b9811f;border:1px solid #10b9814d}.table-responsive{overflow-x:auto}.desktop-only-payroll{display:block}.mobile-only-payroll{display:none}.mobile-payroll-list{flex-direction:column;gap:1rem;display:flex}.mobile-payroll-card{border:1px solid var(--border-light);border-radius:var(--radius-md);box-sizing:border-box;background:#ffffff08;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.mobile-payroll-card .card-header-row{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:flex-start;padding-bottom:.75rem;display:flex}.mobile-payroll-card .emp-info{flex-direction:column;gap:.25rem;display:flex}.mobile-payroll-card .emp-name{color:var(--text-main);font-size:1.1rem;font-weight:700}.mobile-payroll-card .emp-title{color:var(--text-muted);font-size:.85rem}.mobile-payroll-card .net-pay-highlight{text-align:right;flex-direction:column;gap:.25rem;display:flex}.mobile-payroll-card .net-pay-highlight .label{color:var(--text-muted);text-transform:uppercase;font-size:.75rem}.mobile-payroll-card .net-pay-highlight .value{font-family:var(--font-display);color:var(--purple);font-size:1.15rem;font-weight:700}.mobile-payroll-card .card-body-grid{flex-direction:column;gap:.75rem;display:flex}.mobile-payroll-card .info-row{justify-content:space-between;font-size:.9rem;display:flex}.mobile-payroll-card .info-row .label{color:var(--text-muted)}.mobile-payroll-card .info-row .value{color:var(--text-main);font-weight:600}.mobile-payroll-card .input-group-row{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.25rem;display:grid}.mobile-payroll-card .input-field{flex-direction:column;gap:.35rem;display:flex}.mobile-payroll-card .input-field label{color:var(--text-muted);font-size:.8rem;font-weight:500}.mobile-payroll-card .input-field .table-input{background-color:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);width:100%;color:var(--text-main);box-sizing:border-box;padding:.5rem;font-size:.9rem}.mobile-payroll-card .card-actions{border-top:1px solid var(--border-light);justify-content:flex-end;gap:.5rem;margin-top:.5rem;padding-top:.85rem;display:flex}.mobile-payroll-card .card-actions button{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:flex}@media (width<=768px){.desktop-only-payroll{display:none!important}.mobile-only-payroll{display:block!important}}.payroll-table{border-collapse:collapse;text-align:left;width:100%}.payroll-table th,.payroll-table td{border-bottom:1px solid var(--border-light);padding:1rem;font-size:.95rem}.payroll-table th{color:var(--text-dim);font-weight:600}.amount{font-family:var(--font-display);font-weight:600}.net-amount{color:var(--teal);text-shadow:0 0 10px #14b8a633}.table-input{border-radius:var(--radius-sm);width:120px;padding:.4rem .6rem}.actions-cell{gap:.5rem;display:flex}.apply-btn{color:var(--emerald);border-color:#10b98133;padding:.5rem}.apply-btn:hover{background:var(--emerald);color:#fff}.view-btn{color:var(--purple);border-color:#a855f733;padding:.5rem}.view-btn:hover{background:var(--purple);color:#fff}.no-records{text-align:center;color:var(--text-dim);padding:3rem!important}.payslips-list-container{flex-direction:column;gap:1.5rem;display:flex}.payslips-list-container h2{border-left:4px solid var(--teal);padding-left:.75rem;font-size:1.3rem}.no-payslips{text-align:center;color:var(--text-dim);border:1px dashed var(--border-light);border-radius:var(--radius-md);background:#f8fafc;padding:3rem}.payslips-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.payslip-item-card{border:1px solid var(--border-light);border-radius:var(--radius-md);transition:all var(--transition-normal);box-shadow:var(--glass-shadow);background:#fff;flex-direction:column;align-items:stretch;gap:1.25rem;padding:1.5rem;display:flex}.payslip-item-card:hover{border-color:var(--border-glow);transform:translateY(-4px);box-shadow:0 12px 24px -10px #4f46e526}.payslip-card-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.payslip-month-tag{font-family:var(--font-display);color:var(--text-main);font-size:1.1rem;font-weight:700}.payslip-icon-wrapper{border-radius:var(--radius-full);width:40px;height:40px;color:var(--teal);background:#14b8a614;border:1px solid #14b8a626;justify-content:center;align-items:center;display:flex}.payslip-card-body{flex-direction:column;gap:.5rem;display:flex}.payslip-title{color:var(--text-main);margin-bottom:.25rem;font-size:1.2rem;font-weight:700}.payslip-meta-row{color:var(--text-dim);justify-content:space-between;font-size:.85rem;display:flex}.payslip-divider{background:var(--border-light);height:1px;margin:.5rem 0}.payslip-amount-row{justify-content:space-between;align-items:center;display:flex}.amt-label{color:var(--text-muted);font-size:.8rem;font-weight:500}.amt-val{font-family:var(--font-display);color:var(--teal);font-size:1.2rem;font-weight:700}.payslip-item-card .view-payslip-btn{justify-content:center;width:100%;margin-top:.5rem;padding:.75rem;font-size:.88rem}.payslip-document-content{color:#1e293b!important;border-radius:var(--radius-md)!important;background:#fff!important;border:none!important;max-width:650px!important;box-shadow:0 20px 40px #00000080!important}.payslip-document-content h3{color:#1e293b!important}.payslip-document-content .close-btn{color:#64748b}.payslip-document-content .close-btn:hover{color:#ef4444}.payslip-doc-body{background:#fff;padding:2rem;font-family:Inter,sans-serif}.payslip-doc-title{letter-spacing:.2em;text-align:center;color:#0f172a;border-bottom:3px double #1e293b;margin-bottom:2.5rem;padding-bottom:.75rem;font-size:2.2rem;font-weight:800}.payslip-doc-meta{border-bottom:1px solid #cbd5e1;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;font-size:.95rem;line-height:1.6;display:flex}.text-right{text-align:right}.payslip-details-table{border:1px solid #94a3b8;flex-direction:column;margin-bottom:2rem;display:flex}.table-header-row{background:#f1f5f9;border-bottom:1px solid #94a3b8;grid-template-columns:1fr 1fr;font-weight:700;display:grid}.table-header-row div{text-align:center;padding:.75rem}.table-header-row div:first-child{border-right:1px solid #94a3b8}.table-data-container{grid-template-columns:1fr 1fr;min-height:150px;display:grid}.earnings-side,.deductions-side{flex-direction:column;justify-content:space-between;display:flex}.earnings-side{border-right:1px solid #94a3b8}.item-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;padding:.6rem .75rem;font-size:.9rem;display:flex}.empty-row{color:#cbd5e1}.total-sub-row{background:#f8fafc;border-top:1px dashed #cbd5e1;justify-content:space-between;padding:.6rem .75rem;font-size:.95rem;font-weight:700;display:flex}.payslip-net-row{background:#e2e8f0;border-top:1px solid #94a3b8;justify-content:space-between;align-items:center;padding:1rem .75rem;font-size:1.1rem;font-weight:800;display:flex}.net-pay-amount{color:#0f172a;font-size:1.25rem}.payslip-stamp{text-align:center;margin-top:3rem;font-size:.95rem;line-height:1.8}.stamp-date{margin-top:1.5rem;font-size:1.05rem;font-weight:600}.stamp-corp{letter-spacing:.05em;margin-top:.5rem;font-size:1.15rem;font-weight:700}@media print{@page{size:A4;margin:20mm}body{color:#000!important;background:#fff!important;margin:0!important;padding:0!important}body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{color:#000!important;width:100%!important;max-width:650px!important;box-shadow:none!important;background:#fff!important;border:none!important;position:absolute!important;top:0!important;left:50%!important;transform:translate(-50%)!important}.print-hide{display:none!important}}.messenger-container{height:calc(100vh - var(--header-height) - 5rem);background:var(--bg-card);padding:0;display:flex;overflow:hidden}.rooms-sidebar{border-right:1px solid var(--border-light);background:#f8fafc99;flex-direction:column;width:300px;min-width:300px;display:flex}.sidebar-search{border-bottom:1px solid var(--border-light);padding:1.25rem 1rem}.search-wrapper{align-items:center;display:flex;position:relative}.search-wrapper input{border-radius:var(--radius-sm);width:100%;padding:.6rem .6rem .6rem 2.25rem;font-size:.85rem}.search-icon{color:var(--text-dim);position:absolute;left:.75rem}.rooms-list{flex-direction:column;flex:1;gap:.25rem;padding:.75rem .5rem;display:flex;overflow-y:auto}.section-title{text-transform:uppercase;color:var(--text-dim);letter-spacing:.05em;padding:1rem .75rem .5rem;font-size:.75rem;font-weight:700}.room-item{border-radius:var(--radius-sm);text-align:left;transition:all var(--transition-fast);cursor:pointer;background:0 0;align-items:center;gap:.75rem;padding:.75rem;display:flex}.room-item:hover{background:#0f172a08}.room-item.active{background:var(--teal-glow);border-left:3px solid var(--teal)}.room-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:40px;height:40px;display:flex}.room-icon.general{color:var(--teal);background:linear-gradient(135deg,#4f46e51a 0%,#14b8a61a 100%)}.room-avatar-wrapper{position:relative}.online-indicator{border:2px solid var(--bg-card);background-color:#10b981;border-radius:50%;width:10px;height:10px;position:absolute;bottom:0;right:0}.offline-indicator{border:2px solid var(--bg-card);background-color:#94a3b8;border-radius:50%;width:10px;height:10px;position:absolute;bottom:0;right:0}.online-tag{color:#10b981;background:#10b9811a;border-radius:4px;margin-left:.25rem;padding:.05rem .3rem;font-size:.65rem;font-weight:600}.room-avatar{border-radius:var(--radius-full);background:var(--grad-primary);color:#fff;width:40px;height:40px;font-weight:700;font-family:var(--font-display);justify-content:center;align-items:center;display:flex}.room-details{flex-direction:column;flex:1;gap:.15rem;display:flex;overflow:hidden}.room-name-row{align-items:center;gap:.35rem;display:flex}.room-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.room-meta{color:var(--text-dim);align-items:center;gap:.25rem;font-size:.72rem;display:flex}.room-lastmsg{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:.78rem;overflow:hidden}.room-badge-col{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.room-time{color:var(--text-dim);font-size:.7rem}.room-unread{background:var(--rose);color:#fff;border-radius:var(--radius-full);text-align:center;min-width:16px;padding:.15rem .4rem;font-size:.7rem;font-weight:700}.chat-area{background:#fff;flex-direction:column;flex:1;display:flex;position:relative}.chat-header{border-bottom:1px solid var(--border-light);align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.back-btn{cursor:pointer;color:var(--text-main);background:0 0;border:none;display:none}.chat-header-info{flex-direction:column;display:flex}.chat-title{color:var(--text-main);font-size:1.1rem;font-weight:700}.chat-subtitle{color:var(--text-muted);font-size:.78rem;font-weight:500}.message-log{background:#f8fafc;flex-direction:column;flex:1;padding:1.5rem;display:flex;overflow-y:auto}.loading-chat,.empty-chat{height:100%;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-chat{gap:.5rem}.empty-chat p{font-size:1rem;font-weight:600}.empty-chat .sub{color:var(--text-dim);font-size:.85rem}.messages-list{flex-direction:column;gap:1.25rem;display:flex}.message-wrapper{gap:.75rem;max-width:75%;display:flex}.message-wrapper.own{flex-direction:row-reverse;align-self:flex-end}.message-wrapper.other{align-self:flex-start}.sender-avatar{border-radius:var(--radius-full);background:var(--grad-primary);color:#fff;width:36px;height:36px;font-weight:700;font-family:var(--font-display);flex-shrink:0;justify-content:center;align-items:center;margin-top:.25rem;font-size:.95rem;display:flex}.message-bubble-group{flex-direction:column;gap:.25rem;display:flex}.sender-name{color:var(--text-main);align-items:center;gap:.5rem;font-size:.8rem;font-weight:700;display:flex}.sender-info{color:var(--text-dim);font-size:.7rem;font-weight:500}.bubble-time-row{align-items:flex-end;gap:.5rem;display:flex}.message-wrapper.own .bubble-time-row{flex-direction:row-reverse}.message-bubble{word-break:break-all;white-space:pre-wrap;border-radius:12px;padding:.75rem 1rem;font-size:.9rem;line-height:1.4}.message-wrapper.own .message-bubble{background:var(--purple);color:#fff;border-bottom-right-radius:2px}.message-wrapper.other .message-bubble{color:var(--text-main);border:1px solid var(--border-light);background:#fff;border-bottom-left-radius:2px}.message-time{color:var(--text-dim);white-space:nowrap;font-size:.7rem}.message-input-form{border-top:1px solid var(--border-light);background:#fff;gap:.75rem;padding:1rem 1.5rem;display:flex}.message-input-form input{border-radius:var(--radius-md);flex:1;padding:.75rem 1rem;font-size:.9rem}.send-btn{background:var(--purple);color:#fff;border-radius:var(--radius-md);cursor:pointer;width:42px;height:42px;transition:background var(--transition-fast);border:none;justify-content:center;align-items:center;display:flex}.send-btn:hover{background:#4f46e5}.no-users{color:var(--text-dim);text-align:center;padding:1.5rem;font-size:.85rem}@media (width<=768px){.messenger-container{border:none!important;border-radius:0!important;width:100%!important;max-width:100%!important;height:calc(100vh - 60px)!important;margin:0!important}.rooms-sidebar{background:#fff;width:100%;min-width:100%}.chat-area{height:100%;display:none}.back-btn{display:block}.messenger-container.show-chat .rooms-sidebar{display:none}.messenger-container.show-chat .chat-area{width:100%;height:100%;display:flex}.messenger-container.show-list .chat-area{display:none}.messenger-container.show-list .rooms-sidebar{height:100%;display:flex}}.flex-column-layout{flex-direction:column;gap:.5rem;display:flex}.messenger-file-attachment{flex-direction:column;gap:.5rem;max-width:320px;display:flex}.messenger-image-wrapper{border-radius:var(--radius-sm);border:1px solid var(--border-light);cursor:pointer;max-width:260px;position:relative;overflow:hidden}.messenger-image-preview{object-fit:cover;width:100%;max-height:200px;transition:transform var(--transition-fast);display:block}.messenger-image-preview:hover{transform:scale(1.02)}.file-info-overlay{color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;justify-content:space-between;align-items:center;padding:.4rem .6rem;font-size:.75rem;display:flex;position:absolute;bottom:0;left:0;right:0}.file-info-overlay .file-name{white-space:nowrap;text-overflow:ellipsis;max-width:70%;overflow:hidden}.messenger-file-card{border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-main);background:#f1f5f9cc;align-items:center;gap:.75rem;min-width:240px;padding:.6rem .8rem;display:flex}.message-wrapper.own .messenger-file-card{color:#fff;background:#ffffff26;border:1px solid #fff3}.file-icon-box{background:var(--grad-primary);color:#fff;border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.message-wrapper.own .file-icon-box{background:#fff3}.file-meta-box{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.file-meta-box .file-name{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.file-meta-box .file-size{opacity:.8;font-size:.75rem}.file-download-btn{color:var(--teal);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;display:flex}.message-wrapper.own .file-download-btn{color:#fff}.file-download-btn:hover{background:#14b8a61a}.message-wrapper.own .file-download-btn:hover{background:#ffffff1a}.messenger-file-actions{align-items:center;margin-top:.2rem;display:flex}.archive-badge{border-radius:var(--radius-full);align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.archive-badge.archived{color:#10b981;background:#10b98126}.message-wrapper.own .archive-badge.archived{color:#fff;background:#fff3}.archive-actions-row{align-items:center;gap:.75rem;display:flex}.archive-btn{background:var(--teal-glow);color:var(--teal);cursor:pointer;transition:all var(--transition-fast);border:1px solid #14b8a633;border-radius:4px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.72rem;font-weight:700;display:flex}.message-wrapper.own .archive-btn{color:#fff;background:#ffffff26;border:1px solid #ffffff40}.archive-btn:hover{background:var(--teal);color:#fff}.message-wrapper.own .archive-btn:hover{color:var(--purple);background:#fff}.expire-countdown{color:var(--rose);font-size:.7rem;font-weight:600}.message-wrapper.own .expire-countdown{color:#fffc}.messenger-file-text-caption{border-top:1px dashed #00000014;margin-top:.25rem;padding-top:.25rem;font-size:.85rem}.message-wrapper.own .messenger-file-text-caption{border-top:1px dashed #fff3}.attach-btn{background:var(--bg-card);color:var(--text-dim);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;width:42px;height:42px;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.attach-btn:hover{background:var(--border-light);color:var(--text-main)}.spinner{animation:1s linear infinite spin}.video-call-overlay{z-index:99999;font-family:var(--font-sans);pointer-events:none;justify-content:flex-end;align-items:flex-end;display:flex;position:fixed;bottom:2rem;right:2rem}.video-call-btn{cursor:pointer;color:#fff;width:48px;height:48px;transition:all var(--transition-fast);background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.video-call-btn:hover{background:#ffffff4d}.video-call-btn.muted,.video-call-btn.hangup{background:var(--rose)}.video-call-btn.hangup:hover{background:var(--rose-hover)}.call-dialog-box{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:var(--radius-md);text-align:center;width:380px;max-width:95vw;box-shadow:0 20px 25px -5px #00000026, var(--glass-shadow);pointer-events:auto;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;animation:.3s cubic-bezier(.34,1.56,.64,1) forwards modal-scale-in;display:flex}.call-dialog-box h3{white-space:nowrap;color:var(--text-main);margin:0;font-size:1.15rem}.call-avatar-pulse{background:var(--grad-primary);color:#fff;width:80px;height:80px;font-size:2.2rem;font-weight:700;font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.call-avatar-pulse:after{content:"";border:2px solid var(--purple);opacity:0;border-radius:50%;animation:1.5s cubic-bezier(.215,.61,.355,1) infinite pulse-ring;position:absolute;inset:-8px}@keyframes pulse-ring{0%{opacity:.8;transform:scale(.95)}to{opacity:0;transform:scale(1.15)}}.call-dialog-actions{gap:1rem;width:100%;display:flex}.call-dialog-btn{border-radius:var(--radius-sm);cursor:pointer;color:#fff;transition:all var(--transition-fast);border:none;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-weight:600;display:flex}.call-dialog-btn.accept{background:var(--emerald)}.call-dialog-btn.accept:hover{background:#059669}.call-dialog-btn.decline{background:var(--rose)}.call-dialog-btn.decline:hover{background:var(--rose-hover)}.call-header-action-btn{color:var(--text-dim);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:auto;padding:.5rem;display:flex}.call-header-action-btn:hover{color:var(--teal);background:#0f172a0d}.section-header-row{justify-content:space-between;align-items:center;padding:1rem .75rem .5rem;display:flex}.section-header-row .section-title{padding:0}.create-group-btn{color:var(--text-dim);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.create-group-btn:hover{color:var(--purple);background:#0f172a0d}.room-icon.group{color:var(--purple);background:linear-gradient(135deg,#14b8a61a 0%,#4f46e51a 100%)}.active-call-tag{color:#fff;background:#ef4444;border-radius:4px;margin-left:.25rem;padding:.05rem .3rem;font-size:.65rem;font-weight:600;animation:1.5s infinite callTagPulse}@keyframes callTagPulse{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}.chat-header-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.leave-header-action-btn{color:var(--text-dim);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;display:flex}.leave-header-action-btn:hover{color:#ef4444;background:#ef444414}.pulse-call-btn{animation:2s infinite borderPulse;color:#fff!important;border-radius:var(--radius-sm)!important;background:#ef4444!important;align-items:center!important;gap:.25rem!important;padding:.4rem .8rem!important;display:flex!important}.pulse-call-btn .btn-call-text{font-size:.8rem;font-weight:700}@keyframes borderPulse{0%{box-shadow:0 0 #ef4444b3}70%{box-shadow:0 0 0 8px #ef444400}to{box-shadow:0 0 #ef444400}}.active-group-call-banner{color:#dc2626;background:#ef444414;border-bottom:1px solid #ef444433;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;font-size:.85rem;font-weight:600;display:flex}.banner-info{align-items:center;gap:.5rem;display:flex}.live-dot{background:#ef4444;border-radius:50%;width:8px;height:8px;animation:1s infinite alternate blink;display:inline-block}@keyframes blink{0%{opacity:.3}to{opacity:1}}.banner-join-btn{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:#ef4444;border:none;padding:.3rem .8rem;font-size:.8rem;font-weight:700;transition:background .2s}.banner-join-btn:hover{background:#dc2626}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#0f172a4d;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.create-group-modal{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:var(--radius-md);pointer-events:auto;flex-direction:column;gap:1.25rem;width:450px;max-width:90vw;padding:1.5rem;display:flex;box-shadow:0 20px 25px -5px #0000001a}.modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.modal-header h3{color:var(--text-main);margin:0;font-size:1.1rem}.close-modal-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;font-size:1.5rem}.form-group{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.form-group label{color:var(--text-main);font-size:.85rem;font-weight:600}.form-group input[type=text]{border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:.6rem .8rem;font-size:.9rem}.member-select-list{border:1px solid var(--border-light);border-radius:var(--radius-sm);flex-direction:column;gap:.25rem;max-height:200px;padding:.5rem;display:flex;overflow-y:auto}.member-select-item{cursor:pointer;color:var(--text-main);border-radius:4px;align-items:center;gap:.5rem;padding:.4rem;font-size:.85rem;display:flex}.member-select-item:hover{background:#0f172a08}.member-select-item input[type=checkbox]{width:auto;margin:0}.member-name-tag{color:var(--text-main);font-weight:600}.member-dept-tag{color:var(--text-dim);font-size:.75rem}.modal-actions{border-top:1px solid var(--border-light);justify-content:flex-end;gap:.75rem;padding-top:1rem;display:flex}.modal-btn{border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.5rem 1rem;font-size:.85rem;font-weight:600}.modal-btn.cancel{background:var(--bg-card);border:1px solid var(--border-light);color:var(--text-main)}.modal-btn.cancel:hover{background:var(--border-light)}.modal-btn.submit{background:var(--purple);color:#fff}.modal-btn.submit:hover{background:#4f46e5}.group-call-container{z-index:100000;background:#11141a;flex-direction:row;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0;overflow:hidden}.group-call-main-content{background:#11141a;flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}.group-call-header{z-index:10;background:#11141a;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.group-call-header h2{color:#fff;margin:0;font-size:1.15rem;font-weight:600}.group-call-header .participant-count{color:#ffffffb3;border-radius:var(--radius-full);background:#ffffff14;padding:.25rem .75rem;font-size:.85rem;font-weight:600}.group-call-grid{background:#11141a;flex:1;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-auto-rows:1fr;justify-content:center;align-items:center;gap:1rem;padding:1.5rem;display:grid;overflow-y:auto}.group-video-card{aspect-ratio:16/9;background:#202124;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;width:100%;height:100%;min-height:180px;max-height:480px;margin:auto;transition:all .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 25px #0006}.group-video-card:hover{border-color:#ffffff40}.group-video-card.local .group-video-element{transform:scaleX(-1)}.group-video-element{object-fit:contain;background:#202124;width:100%;height:100%}.participant-name-tag{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#20212499;border-radius:4px;padding:.25rem .6rem;font-size:.8rem;font-weight:500;position:absolute;bottom:.75rem;left:.75rem}.group-call-container .video-call-controls{z-index:20;background:#11141a;border:none;border-top:1px solid #ffffff14;border-radius:0;justify-content:center;align-items:center;gap:1.5rem;width:100%;height:80px;margin:0;padding:0;display:flex;position:relative;bottom:auto;left:auto;transform:none}.no-members-to-add{text-align:center;color:var(--text-dim);padding:1.5rem;font-size:.85rem;font-weight:500}.group-call-chat-sidebar{z-index:21;background:#161920;border-left:1px solid #ffffff14;flex-direction:column;width:360px;height:100%;display:flex}.sidebar-messages::-webkit-scrollbar{width:6px}.sidebar-messages::-webkit-scrollbar-track{background:0 0}.sidebar-messages::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.sidebar-messages::-webkit-scrollbar-thumb:hover{background:#fff3}.approvals-header-section{margin-bottom:1rem}.subtitle{color:var(--text-muted);margin-top:.25rem;font-size:.95rem}.card-desc{color:var(--text-muted);margin-bottom:1.5rem;font-size:.88rem}.approvals-admin-layout,.approvals-employee-layout{flex-direction:column;gap:2rem;display:flex}.table-responsive{border-radius:var(--radius-sm);width:100%;overflow-x:auto}.approvals-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.approvals-table th,.approvals-table td{border-bottom:1px solid var(--border-light);padding:1rem}.approvals-table th{color:var(--text-muted);background:#0f172a05;font-weight:600}.user-profile-td{align-items:center;gap:.75rem;display:flex}.profile-abbr{border-radius:var(--radius-full);background:var(--grad-primary);color:#fff;width:32px;height:32px;box-shadow:0 0 0 1px var(--border-light);border:2px solid #fff;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.user-td-name{color:var(--text-main);font-weight:600}.user-td-sub{color:var(--text-muted);font-size:.75rem}.approval-title{color:var(--text-main);font-weight:600}.approval-details-text{white-space:normal;word-break:break-all;max-width:250px;color:var(--text-muted);font-size:.85rem}.amount-text{color:var(--rose);font-weight:700;font-family:var(--font-display)}.badge{border-radius:var(--radius-sm);padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-pending{color:var(--amber);background:#f59e0b1a}.badge-approved{color:var(--teal);background:#14b8a61a}.badge-rejected{color:var(--rose);background:#f43f5e1a}.action-buttons-group{gap:.5rem;display:flex}.action-btn-sm{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:.25rem;padding:.4rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.approve-btn-sm{color:var(--teal);border:1px solid var(--border-light);background:#14b8a60d}.approve-btn-sm:hover{border-color:var(--teal);background:#14b8a61f}.reject-btn-sm{color:var(--rose);border:1px solid var(--border-light);background:#f43f5e0d}.reject-btn-sm:hover{border-color:var(--rose);background:#f43f5e1f}.status-check-box{align-items:center;gap:.25rem;font-size:.85rem;font-weight:500;display:flex}.status-check-box.approved{color:var(--teal)}.status-check-box.rejected{color:var(--rose)}.rejection-reason{color:var(--rose);margin-top:.15rem;font-size:.8rem;font-style:italic}.approvals-type-filter{border-radius:var(--radius-md);border:1px solid var(--border-light);background:#f8fafc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.75rem;display:flex}.type-toggle-buttons{gap:.25rem;display:flex}.filter-toggle-btn{color:var(--text-dim);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;padding:.5rem 1rem;font-size:.85rem;font-weight:600}.filter-toggle-btn:hover{color:var(--text-main);background:#0f172a08}.filter-toggle-btn.active{border-color:var(--border-light);color:var(--purple);box-shadow:var(--shadow-sm);background:#fff}.approval-stats-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.stat-item-mini{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:#f8fafc;flex-direction:column;gap:.25rem;padding:1rem;display:flex}.stat-title-mini{color:var(--text-dim);font-size:.78rem;font-weight:500}.stat-value-mini{font-family:var(--font-display);font-size:1.4rem;font-weight:700}.stat-value-mini.pending{color:var(--amber)}.stat-value-mini.approved{color:var(--teal)}.stat-value-mini.rejected{color:var(--rose)}.request-form-container{max-width:100%}.request-form-container form{flex-direction:column;gap:1rem;display:flex}.date-inputs-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.empty-state-box{text-align:center;color:var(--text-muted);border:1px dashed var(--border-light);border-radius:var(--radius-sm);background:#0f172a03;padding:3rem 1rem;font-size:.95rem}.approvals-mobile-list{flex-direction:column;gap:1rem;display:none}@media (width<=768px){.approvals-table-container{display:none}.approvals-mobile-list{display:flex}.approval-mobile-card{border:1px solid var(--border-light);border-radius:var(--radius-md);transition:all var(--transition-fast);background:#f8fafc;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.approval-mobile-card:hover{border-color:var(--teal-glow);background:#fff}.approval-mobile-card .card-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding-bottom:.5rem;display:flex}.approval-mobile-card .card-badges{gap:.25rem;display:flex}.approval-mobile-card .card-body{flex-direction:column;gap:.5rem;display:flex}.approval-mobile-card .approval-title{color:var(--text-main);font-size:1rem}.approval-mobile-card .approval-details-text{max-width:100%;color:var(--text-muted);border-left:2px solid var(--border-light);background:#00000003;border-radius:4px;padding:.5rem;font-size:.85rem}.approval-mobile-card .card-meta-row{color:var(--text-muted);flex-wrap:wrap;gap:1rem;margin-top:.25rem;font-size:.8rem;display:flex}.approval-mobile-card .meta-item{align-items:center;gap:.25rem;display:flex}.approval-mobile-card .meta-label{font-weight:500}.approval-mobile-card .amount-text{color:var(--rose);font-weight:600}.approval-mobile-card .card-actions{gap:.5rem;margin-top:.5rem;display:flex}.approval-mobile-card .card-actions button{flex:1;justify-content:center;padding:.6rem;font-size:.85rem}.approval-mobile-card .admin-comment-box{background:#f43f5e08;border:1px dashed #f43f5e26;border-radius:4px;margin-top:.5rem;padding:.5rem}.approval-mobile-card .comment-label{color:var(--rose);margin-bottom:.15rem;font-size:.75rem;font-weight:600;display:block}.approval-mobile-card .comment-text{margin:0;font-size:.8rem}.approvals-table th,.approvals-table td{padding:.75rem .5rem}.action-buttons-group{flex-direction:column}.type-toggle-buttons{flex-direction:column;gap:.5rem}}.documents-header-row{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.loading-container,.empty-state{min-height:250px;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-icon{color:var(--border-light);margin-bottom:1rem}.empty-state p{margin-bottom:.25rem;font-weight:600}.empty-state .sub{font-size:.85rem;font-weight:400}.documents-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1rem;display:grid}.document-card{flex-direction:column;gap:1rem;height:100%;display:flex}.doc-card-header{justify-content:space-between;align-items:center;display:flex}.doc-icon-wrapper{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.doc-category-badge{color:var(--text-muted);background:#0f172a0d;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.doc-card-content{flex-direction:column;flex-grow:1;gap:.5rem;display:flex}.doc-title{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.1rem;font-weight:700;overflow:hidden}.doc-description{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;height:2.5rem;margin-bottom:.5rem;font-size:.875rem;line-height:1.4;display:-webkit-box;overflow:hidden}.doc-file-info{gap:.5rem;font-size:.8rem;display:flex}.info-label{color:var(--text-dim);min-width:50px;font-weight:500}.info-val{color:var(--text-main);font-weight:600}.truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.doc-card-actions{border-top:1px solid var(--border-light);gap:.5rem;margin-top:auto;padding-top:.75rem;display:flex}.delete-btn:hover{background-color:var(--rose)!important;color:#fff!important}@media (width<=768px){.documents-header-row{flex-direction:column;align-items:stretch;gap:1rem}}.loading-screen{background-color:var(--bg-deep);min-height:100vh;color:var(--text-main);font-family:var(--font-display);justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:flex}.sidebar-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-right:1.5rem;display:flex}.header-breadcrumbs{align-items:center;gap:.5rem;font-size:.95rem;font-weight:500;display:flex}.breadcrumb-parent{color:var(--text-dim)}.breadcrumb-separator{color:var(--border-light)}.breadcrumb-active{color:var(--text-main);font-weight:600}.app-content{flex-grow:1}.mobile-header{display:none}.close-menu-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;display:none}.mobile-sidebar-backdrop{-webkit-backdrop-filter:blur(4px);z-index:999;animation:fadeIn var(--transition-fast);background:#0f172a66;position:fixed;inset:0}@media (width<=768px){.app-layout{flex-direction:column}.app-sidebar{transition:transform .3s cubic-bezier(.16,1,.3,1);transform:translate(-100%);z-index:1000!important;background:var(--bg-card)!important;width:280px!important;min-width:280px!important;height:100vh!important;display:flex!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important}.app-sidebar.mobile-open{transform:translate(0)}.app-sidebar .sidebar-logo span,.app-sidebar .nav-link span,.app-sidebar .sidebar-user{display:flex!important}.app-sidebar .nav-link{align-items:center!important;gap:.75rem!important;display:flex!important}.app-sidebar .sidebar-user{margin-top:auto;display:flex!important}.app-main{min-height:calc(100vh - 60px);margin-left:0!important;padding:0 1rem 1rem!important}.mobile-header{border-bottom:1px solid var(--border-light);-webkit-backdrop-filter:blur(12px);z-index:50;background:#ffffffd9;justify-content:space-between;align-items:center;height:60px;margin-bottom:1rem;padding:0 1rem;position:sticky;top:0;display:flex!important}.mobile-menu-btn{color:var(--text-main);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;display:flex}.mobile-logo{font-family:var(--font-display);background:var(--grad-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.25rem;font-weight:800}.app-header{display:none!important}.close-menu-btn{justify-content:center;align-items:center;padding:.5rem;display:flex!important}.messenger-page-active .mobile-header{margin-bottom:0!important}.messenger-page-active .app-main{padding:0!important}}
