.card{border-radius:var(--radius-xl);transition:all var(--transition-base)}.card-glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.card-solid{background:var(--surface-elevated);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.card:hover{box-shadow:var(--glass-shadow);transform:translateY(-2px)}.card-padding-none{padding:0}.card-padding-sm{padding:var(--spacing-md)}.card-padding-md{padding:var(--spacing-xl)}.card-padding-lg{padding:var(--spacing-2xl)}.card{animation:.6s ease-out fadeIn}.input-wrapper{gap:var(--spacing-sm);flex-direction:column;width:100%;display:flex}.input-label{font-size:var(--font-size-sm);color:var(--text-secondary);transition:color var(--transition-base);font-weight:500}.input-required{color:var(--error);margin-left:2px}.input-container{width:100%;position:relative}.input-field{width:100%;padding:calc(var(--spacing-base) * .875) var(--spacing-md);font-size:var(--font-size-base);font-family:var(--font-family);color:var(--text-primary);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);transition:all var(--transition-base);outline:none}.input-field::placeholder{color:var(--text-muted)}.input-field:focus{border-color:var(--primary);box-shadow:var(--input-focus-shadow-primary);background:var(--surface)}.input-field:hover:not(:focus){border-color:var(--text-muted)}.input-field:disabled{opacity:.5;cursor:not-allowed}.input-field.input-with-icon-left{padding-left:3.5rem!important}.input-field.input-with-icon-right{padding-right:3.5rem!important}.input-icon{color:var(--text-muted);pointer-events:none;transition:color var(--transition-base);justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.input-icon-left{left:1.3rem}.input-icon-right{pointer-events:auto;cursor:pointer;right:1.3rem}.input-icon-right:hover{color:var(--text-secondary)}.input-field:focus~.input-icon,.input-field:focus+.input-container .input-icon{color:var(--primary)}.input-error{border-color:var(--error)!important}.input-error:focus{box-shadow:var(--input-focus-shadow-error)!important}.input-error-message{font-size:var(--font-size-sm);color:var(--error);align-items:center;gap:.25rem;animation:.2s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);font-family:var(--font-family);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);border:none;outline:none;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.btn-md{padding:calc(var(--spacing-base) * .75) var(--spacing-lg);font-size:var(--font-size-base)}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg)}.btn-full-width{width:100%}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px rgba(var(--tone-1-rgb), .3);opacity:.9;transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.btn-secondary:hover:not(:disabled){background:var(--glass-bg-hover,#ffffff1a);border-color:var(--primary);box-shadow:var(--glass-shadow);transform:translateY(-2px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-outline{color:var(--primary);border:2px solid var(--primary);background:0 0}.btn-outline:hover:not(:disabled){background:var(--primary);color:#fff;transform:translateY(-2px)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--glass-bg);color:var(--text-primary)}.btn-glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);color:var(--text-primary);box-shadow:var(--glass-shadow)}.btn-glass:hover:not(:disabled){background:var(--glass-bg-hover);border-color:var(--primary);transform:translateY(-2px)}.btn-spinner{width:1.2em;height:1.2em;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-icon-left,.btn-icon-right{justify-content:center;align-items:center;display:inline-flex}.btn-icon-left{margin-right:.625rem}.btn-icon-right{margin-left:.625rem}.theme-toggle{background:var(--glass-bg);border:1px solid var(--glass-border);padding:var(--spacing-sm);cursor:pointer;color:var(--text-secondary);border-radius:50px;justify-content:center;align-items:center;width:44px;height:44px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.theme-toggle:hover{background:var(--surface-elevated);color:var(--primary);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.theme-toggle:active{transform:translateY(0)}.theme-icon{transition:all .5s cubic-bezier(.64,.57,.67,1.53);position:absolute}[data-theme=light] .theme-toggle .sun-icon{opacity:1;transform:rotate(0)scale(1)}[data-theme=light] .theme-toggle .moon-icon{opacity:0;transform:rotate(90deg)scale(0)}[data-theme=dark] .theme-toggle .sun-icon{opacity:0;transform:rotate(-90deg)scale(0)}[data-theme=dark] .theme-toggle .moon-icon{opacity:1;transform:rotate(0)scale(1)}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.confirm-modal-container{border:1px solid var(--glass-border);padding:calc(var(--spacing-base) * 2.5);width:90%;max-width:450px;box-shadow:var(--glass-shadow);text-align:center;border-radius:24px;flex-direction:column;align-items:center;display:flex;position:relative;background:var(--surface)!important}.modal-close-icon{color:var(--text-muted);cursor:pointer;background:0 0;border:none;transition:color .3s;position:absolute;top:1.25rem;right:1.25rem}.modal-close-icon:hover{color:var(--text-primary)}.modal-icon-wrapper{border-radius:20px;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:1.5rem;display:flex}.modal-icon-wrapper.danger{color:#ef4444;background:#ef44441a;border:1px solid #ef444433}.modal-icon-wrapper.warning{color:#f59e0b;background:#f59e0b1a;border:1px solid #f59e0b33}.modal-icon-wrapper.info{color:#0ea5e9;background:#0ea5e91a;border:1px solid #0ea5e933}.modal-icon-wrapper.primary{color:var(--primary);background:#7c3aed1a;border:1px solid #7c3aed33}.modal-icon-wrapper.success{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e33}.modal-content{margin-bottom:2rem}.modal-title{font-size:var(--font-size-2xl);color:var(--text-primary);margin-bottom:.75rem;font-weight:700}.modal-message{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6}.modal-actions{gap:1rem;width:100%;display:flex}.btn-modal-secondary{background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--glass-border);padding:calc(var(--spacing-base) * .85);cursor:pointer;border-radius:12px;flex:1;font-weight:600;transition:all .3s}.btn-modal-secondary:hover{background:var(--glass-bg)}.btn-modal-primary{color:#fff;padding:calc(var(--spacing-base) * .85);cursor:pointer;border:none;border-radius:12px;flex:1;font-weight:600;transition:all .3s}.btn-modal-primary.danger{background:#ef4444;box-shadow:0 4px 15px #ef44444d}.btn-modal-primary.danger:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.btn-modal-primary.warning{background:#f59e0b;box-shadow:0 4px 15px #f59e0b4d}.btn-modal-primary.warning:hover{background:#d97706;transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b66}.btn-modal-primary.info{background:#0ea5e9;box-shadow:0 4px 15px #0ea5e94d}.btn-modal-primary.info:hover{background:#0284c7;transform:translateY(-2px);box-shadow:0 6px 20px #0ea5e966}.btn-modal-primary.primary{background:var(--primary-gradient);box-shadow:0 4px 15px #7c3aed4d}.btn-modal-primary.primary:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed66}.btn-modal-primary.success{background:#22c55e;box-shadow:0 4px 15px #22c55e4d}.btn-modal-primary.success:hover{background:#16a34a;transform:translateY(-2px);box-shadow:0 6px 20px #22c55e66}.sidebar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--glass-border);z-index:1000;background:#1a1a2ed9;flex-direction:column;width:280px;transition:all .3s cubic-bezier(.4,0,.2,1);animation:.6s cubic-bezier(.16,1,.3,1) forwards slideInFromLeft;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:visible}[data-theme=light] .sidebar{background:#ffffffd9}.sidebar.collapsed{width:55px}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}.sidebar.logging-out{animation:.6s cubic-bezier(.68,-.55,.265,1.55) forwards slideOutToLeft}@keyframes slideOutToLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100%)}}.sidebar-header{padding:calc(var(--spacing-base) * .32);border-bottom:1px solid var(--glass-border);position:relative}.sidebar.collapsed .sidebar-header{padding:calc(var(--spacing-base) * .32) var(--spacing-sm)}.sidebar-toggle{background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;padding:calc(var(--spacing-base) * .3);z-index:10;border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;transition:all .2s;display:flex;position:absolute;top:100%;right:-14px;transform:translateY(-50%);box-shadow:0 2px 8px #0000001a}.sidebar-toggle:hover{background:var(--surface-elevated);border-color:var(--primary);color:var(--primary);box-shadow:var(--glass-shadow)}.sidebar-toggle:active{transform:translateY(-50%)scale(.95)}.sidebar-logo{padding-right:var(--spacing-xl);align-items:center;gap:1rem;display:flex}.sidebar.collapsed .sidebar-logo{justify-content:center;gap:0;padding-right:0}.logo-icon{object-fit:contain;flex-shrink:0;width:40px;height:40px}.sidebar.collapsed .logo-icon{width:36px;height:36px}.logo-text{font-size:var(--font-size-xl);color:var(--text-primary);white-space:nowrap;opacity:1;max-width:180px;margin:0;font-weight:700;transition:opacity .3s cubic-bezier(.4,0,.2,1),max-width .3s cubic-bezier(.4,0,.2,1),margin-left .3s cubic-bezier(.4,0,.2,1);display:inline-block;overflow:hidden}.sidebar.collapsed .logo-text{opacity:0;pointer-events:none;max-width:0;margin-left:0;transition:opacity .1s,max-width .3s cubic-bezier(.4,0,.2,1),margin-left .3s cubic-bezier(.4,0,.2,1)}.sidebar-nav{padding:var(--spacing-lg) 0;flex:1;overflow:hidden auto}.sidebar.collapsed .sidebar-nav{overflow:visible}.sidebar-submenu{background:#00000005;max-height:0;transition:max-height .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar-item-container.expanded .sidebar-submenu{max-height:200px}.sidebar-sublink{padding:calc(var(--spacing-base) * .75) var(--spacing-lg) calc(var(--spacing-base) * .75) calc(var(--spacing-base) * 2.75);color:var(--text-secondary);font-size:calc(var(--font-size-base) * .9);border-left:2px solid #0000;align-items:center;gap:.75rem;text-decoration:none;transition:all .2s;display:flex}button.sidebar-sublink{text-align:left;cursor:pointer;width:100%;font-family:inherit;font-weight:inherit;line-height:inherit;background:0 0;border:none}.sidebar-sublink:hover{color:var(--text-primary);background:#ffffff08}.sublink-dot{background:var(--text-secondary);opacity:.5;border-radius:50%;width:6px;height:6px;transition:all .2s}.sidebar-sublink:hover .sublink-dot{background:var(--primary);opacity:1;transform:scale(1.2)}.submenu-arrow{color:var(--text-muted);opacity:1;max-width:20px;margin-left:auto;transition:transform .3s,opacity .3s cubic-bezier(.4,0,.2,1),max-width .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.submenu-arrow.open{color:var(--text-primary);transform:rotate(90deg)}.sidebar-link-content{align-items:center;gap:.75rem;display:flex}.sidebar-link.parent{cursor:pointer;justify-content:space-between}.sidebar-item-container{position:relative}.sidebar.collapsed .sidebar-item-container.expanded .sidebar-submenu{max-height:0}.sidebar.collapsed .sidebar-item-container:hover .sidebar-submenu{opacity:1;visibility:visible;max-height:500px;transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);transform:translate(0)}.sidebar.collapsed .sidebar-submenu{background:var(--surface-elevated);border:1px solid var(--glass-border);width:220px;padding:var(--spacing-sm);opacity:0;visibility:hidden;z-index:100;border-radius:16px;transition:opacity,visibility,transform;position:absolute;top:0;left:calc(100% + 10px);overflow:visible;transform:translate(-10px);box-shadow:0 10px 40px #0003}.sidebar.collapsed .sidebar-submenu:before{content:"";background:var(--surface-elevated);border-left:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);width:12px;height:12px;position:absolute;top:20px;left:-6px;transform:rotate(45deg)}.sidebar.collapsed .sidebar-sublink{padding:calc(var(--spacing-base) * .75) var(--spacing-md);border-left:none;border-radius:8px}.sidebar.collapsed .sidebar-sublink:hover{background:var(--glass-bg);transform:translate(4px)}.sidebar.collapsed .submenu-arrow{opacity:0;pointer-events:none;max-width:0}.collapsed-submenu-indicator{opacity:0;pointer-events:none;flex-direction:column;gap:2px;transition:opacity .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.sidebar.collapsed .collapsed-submenu-indicator{opacity:1;pointer-events:auto}.collapsed-submenu-indicator span{background-color:var(--text-muted);opacity:.7;border-radius:50%;width:3px;height:3px;transition:all .2s;display:block!important}.sidebar-link:hover .collapsed-submenu-indicator span,.sidebar-link.active .collapsed-submenu-indicator span{background-color:var(--primary);opacity:1}.sidebar-link{padding:calc(var(--spacing-base) * .875) var(--spacing-lg);color:var(--text-secondary);font-size:calc(var(--font-size-base) * .95);align-items:center;gap:.75rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex;position:relative;overflow:hidden}.sidebar-link-content>span{opacity:1;white-space:nowrap;max-width:180px;transition:opacity .3s cubic-bezier(.4,0,.2,1),max-width .3s cubic-bezier(.4,0,.2,1);display:inline-block;overflow:hidden}.sidebar.collapsed .sidebar-link{padding:calc(var(--spacing-base) * .875) 0;justify-content:center;gap:0}.sidebar.collapsed .sidebar-link-content{justify-content:center;gap:0;width:100%}.sidebar.collapsed .sidebar-link-content>span{opacity:0;pointer-events:none;max-width:0;transition:opacity .1s,max-width .3s cubic-bezier(.4,0,.2,1)}.sidebar-link:before{content:"";background:linear-gradient(135deg, var(--gradient-start), var(--gradient-end));border-radius:0 3px 3px 0;width:3px;height:0;transition:height .3s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar-link:hover{color:var(--text-primary);background:var(--glass-bg)}.sidebar-link:hover:before{height:70%}.sidebar-link.active{color:var(--text-primary);background:var(--surface-elevated)}.sidebar-link.active:before{height:70%}.sidebar-footer{padding:var(--spacing-md);border-top:1px solid var(--glass-border);background:#00000005;flex-direction:column;flex-shrink:0;gap:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}[data-theme=light] .sidebar-footer{background:#00000003}.sidebar.collapsed .sidebar-footer{padding:calc(var(--spacing-base) * 1.25) var(--spacing-sm)}.sidebar-user{align-items:center;gap:.75rem;min-width:0;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.sidebar.collapsed .sidebar-user{justify-content:center;gap:0}.user-avatar{background:var(--primary-gradient);color:#fff;width:40px;height:40px;font-weight:700;font-size:var(--font-size-2xl);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .3s;display:flex;overflow:hidden}.sidebar-avatar-img{object-fit:cover;width:100%;height:100%}.user-avatar:hover{transform:scale(1.05);box-shadow:0 4px 12px #9333ea66}.sidebar-avatar-link{justify-content:center;align-items:center;text-decoration:none;display:flex}.sidebar-user-link{flex:1;min-width:0;max-width:200px;text-decoration:none;transition:opacity .3s cubic-bezier(.4,0,.2,1),max-width .3s cubic-bezier(.4,0,.2,1);display:block;overflow:hidden}.sidebar.collapsed .sidebar-user-link{opacity:0;pointer-events:none;max-width:0;transition:opacity .1s,max-width .3s cubic-bezier(.4,0,.2,1)}.sidebar-user-link:hover .user-avatar{transform:scale(1.05);box-shadow:0 4px 12px #9333ea66}.sidebar-user-link:hover .user-name{color:#eebd30}.sidebar.collapsed .user-avatar{width:36px;height:36px;font-size:var(--font-size-xl)}.user-info{flex:1;min-width:0}.user-name{font-size:var(--font-size-sm);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:600;overflow:hidden}.user-role{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.sidebar-theme-toggle{padding:calc(var(--spacing-base) * .75) var(--spacing-md);background:var(--surface-elevated);border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;width:100%;max-height:50px;transition:opacity .3s cubic-bezier(.4,0,.2,1),max-height .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),margin .3s cubic-bezier(.4,0,.2,1),border .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.sidebar.collapsed .sidebar-theme-toggle{opacity:0;pointer-events:none;border:none;max-height:0;margin:0;padding:0;transition:opacity .1s,max-height .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),margin .3s cubic-bezier(.4,0,.2,1),border .3s cubic-bezier(.4,0,.2,1)}.sidebar-theme-toggle:hover{background:var(--glass-bg);border-color:var(--primary);color:var(--text-primary)}.theme-toggle-content{font-size:calc(var(--font-size-base) * .9);align-items:center;gap:.75rem;font-weight:500;display:flex}.theme-pill{font-size:calc(var(--font-size-base) * .7);padding:calc(var(--spacing-base) * .2) var(--spacing-sm);text-transform:uppercase;border-radius:6px;font-weight:700}.theme-pill.dark{color:#667eea;background:#667eea1a}.theme-pill.light{color:#eebd30;background:#ebbd301a}.sidebar-user-section{justify-content:space-between;align-items:center;gap:.5rem;width:100%;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.sidebar.collapsed .sidebar-user-section{justify-content:center;gap:0}.sidebar-actions{align-items:center;gap:.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.sidebar.collapsed .sidebar-actions{justify-content:center;gap:0;width:100%}.sidebar-footer-btn{border:1px solid var(--glass-border);background:var(--surface-elevated);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;opacity:1;border-radius:8px;justify-content:center;align-items:center;max-width:36px;transition:all .2s,opacity .3s,max-width .3s,padding .3s,margin .3s;display:flex;position:relative}.sidebar.collapsed .sidebar-footer-btn{opacity:0;pointer-events:none;border:none;max-width:0;margin:0;padding:0;transition:opacity .1s,max-width .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),margin .3s cubic-bezier(.4,0,.2,1)}.sidebar-footer-btn:hover{background:var(--glass-bg);color:var(--primary);border-color:var(--primary)}.sidebar-notif-badge{border:2px solid var(--surface-elevated);color:#fff;font-size:calc(var(--font-size-base) * .65);z-index:10;background:#ef4444;border-radius:10px;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;top:-7px;right:-7px}.sidebar-notif-badge.count{min-width:18px;height:18px;padding:0 var(--spacing-xs)}.sidebar-notif-badge.dot{border-radius:50%;width:8px;height:8px;top:6px;right:6px}.sidebar-logout{color:#ef4444;cursor:pointer;background:#ef44441a;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.sidebar.collapsed .sidebar-logout{width:32px;height:32px}.sidebar-logout:hover{background:#ef444433;transform:scale(1.05)}.sidebar-logout:active{transform:scale(.95)}.user-avatar-wrapper{justify-content:center;align-items:center;display:flex;position:relative}.status-indicator{border:2px solid var(--surface);z-index:2;background:#22c55e;border-radius:50%;width:10px;height:10px;animation:2s ease-in-out infinite sidebarPulse;position:absolute;bottom:-1px;right:-1px}.sidebar.collapsed .status-indicator{width:8px;height:8px;bottom:-1px;right:-1px}@keyframes sidebarPulse{0%,to{transform:scale(1);box-shadow:0 0 #22c55e66}50%{transform:scale(1.1);box-shadow:0 0 0 4px #22c55e00}}@media (max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:4px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--primary)}.top-header{height:var(--top-header-height);padding:0 var(--spacing-lg);background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);z-index:100;box-sizing:border-box;flex-shrink:0;justify-content:space-between;align-items:center;width:calc(100% - 280px);margin:0;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:280px}.top-header-right{align-items:center;gap:.75rem;display:flex}@media (max-width:768px){:root{--top-header-height:45.2px}.top-header{z-index:500;width:100%;left:0}}.top-header.sidebar-collapsed{width:calc(100% - 55px);left:55px}.top-header.sidebar-expanded{width:calc(100% - 280px);left:280px}.notification-container{align-items:center;display:flex;position:relative}.icon-notification-btn{border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .3s;display:flex;position:relative}.icon-notification-btn:hover{color:var(--text-primary);background:#ffffff1a;transform:translateY(-2px)}.notification-badge{border:2px solid var(--surface);color:#fff;font-size:calc(var(--font-size-base) * .65);z-index:10;background:#ef4444;border-radius:10px;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;top:-7px;right:-7px}.notification-badge.count{min-width:16px;height:16px;padding:0 var(--spacing-xs)}.notification-badge.dot{border-radius:50%;width:8px;height:8px;top:2px;right:3px}.notif-tabs{background:rgba(var(--text-primary-rgb), .05);padding:calc(var(--spacing-base) * .1875);border-radius:12px;width:100%;display:flex}.notif-tab-btn{padding:var(--spacing-sm);font-size:calc(var(--font-size-base) * .8);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.notif-tab-btn:hover{color:var(--text-primary)}.notif-tab-btn.active{background:var(--surface);color:var(--text-primary);box-shadow:0 4px 12px #0003}.tab-badge{background:var(--error);color:#fff;font-size:calc(var(--font-size-base) * .65);padding:calc(var(--spacing-base) * .0625) calc(var(--spacing-base) * .375);box-shadow:0 2px 4px rgba(var(--error-rgb), .3);border-radius:10px;font-weight:700}.notification-dropdown{border:1px solid var(--glass-border);z-index:200;border-radius:20px;flex-direction:column;width:calc(100vw - 32px);max-width:440px;display:flex;position:absolute;top:calc(100% + 15px);right:-10px;box-shadow:0 12px 40px #0006;background:var(--surface)!important}.notification-dropdown:before{content:"";background:0 0;width:100%;height:20px;position:absolute;top:-20px;left:0}@media (min-width:768px){.notification-dropdown{width:440px;right:0}}@media (max-width:768px){.notification-dropdown{border-radius:20px;max-width:none;max-height:80vh;position:fixed;top:60px;box-shadow:0 20px 50px #00000080;z-index:3000!important;width:calc(100vw - 30px)!important;left:-43px!important;right:auto!important;transform:none!important}.notif-header{padding:calc(var(--spacing-base) * 1.25) var(--spacing-md)}.notif-item{padding:calc(var(--spacing-base) * 1.1) var(--spacing-md);align-items:center;gap:1rem}.notif-avatar{flex-shrink:0;width:40px;height:40px}.notif-actions{padding-left:var(--spacing-sm);border-left:1px solid rgba(var(--text-primary-rgb), .05);gap:10px}.notif-btn-approve,.notif-btn-deny{border-radius:14px;width:42px;height:42px}.notif-user-name{font-size:calc(var(--font-size-base) * .85)}.notif-ticket-badge{font-size:calc(var(--font-size-base) * .65)}.notif-ticket-detail{font-size:calc(var(--font-size-base) * .7);margin:6px 0}}.notif-header{padding:var(--spacing-md);border-bottom:1px solid var(--glass-border);border-top-left-radius:16px;border-top-right-radius:16px;justify-content:center;align-items:center;display:flex}.notif-list{max-height:350px;overflow-y:auto}.notif-item{padding:calc(var(--spacing-base) * 1.25) var(--spacing-md);border-bottom:1px solid rgba(var(--text-primary-rgb), .05);cursor:pointer;align-items:flex-start;gap:1rem;transition:all .2s;display:flex;position:relative;overflow:hidden}.notif-item:hover{background:#ffffff08}.notif-item.unread{background:#ffffff05}.notif-avatar{border:2px solid var(--glass-border);background:var(--surface-elevated);border-radius:50%;flex-shrink:0;width:42px;height:42px;overflow:hidden}.notif-avatar-placeholder{background:var(--primary-gradient);color:#fff;width:100%;height:100%;font-weight:700;font-size:calc(var(--font-size-base) * 1.1);justify-content:center;align-items:center;display:flex}.notif-content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.notif-user-name{font-size:calc(var(--font-size-base) * .85);color:var(--text-primary);letter-spacing:.3px;margin:0;font-weight:700;line-height:1.2}.notif-badges-container{flex-wrap:wrap;gap:3px;margin-top:2px;margin-bottom:2px;display:flex}.notif-type-badge{padding:calc(var(--spacing-base) * .125) var(--spacing-sm);font-size:calc(var(--font-size-base) * .65);text-transform:uppercase;letter-spacing:.2px;border-radius:4px;font-weight:700}.notif-type-badge.ticket{background:rgba(var(--tone-1-rgb), .1);color:var(--tone-1);border:1px solid rgba(var(--tone-1-rgb), .2)}.notif-type-badge.novedad{color:#f59e0b;background:#f59e0b1a;border:1px solid #f59e0b33}.notif-comodin-tag{background:rgba(var(--primary-rgb), .1);color:var(--primary);padding:calc(var(--spacing-base) * .125) calc(var(--spacing-base) * .625);font-size:calc(var(--font-size-base) * .65);border:1px solid rgba(var(--primary-rgb), .2);text-transform:uppercase;border-radius:20px;align-items:center;gap:4px;font-weight:700;display:inline-flex}.notif-ticket-detail{font-size:calc(var(--font-size-base) * .65);color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;margin:4px 0;line-height:1.2;display:-webkit-box;overflow:hidden}.notif-time{font-size:calc(var(--font-size-base) * .65);color:var(--text-secondary)}.notif-actions{flex-direction:column;justify-content:center;gap:6px;display:flex}.notif-btn-approve,.notif-btn-deny{cursor:pointer;border:1px solid #0000;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.notif-btn-approve{color:#10b981;background:#10b98114;border-color:#10b98133}.notif-btn-approve:hover{color:#fff;background:#10b981;transform:scale(1.05)}.notif-btn-deny{color:#ef4444;background:#ef444414;border-color:#ef444433}.notif-btn-deny:hover{color:#fff;background:#ef4444;transform:scale(1.05)}.unread-dot{background:var(--primary);border:2px solid var(--surface);width:10px;height:10px;box-shadow:none;border-radius:50%;position:absolute;top:-2px;right:-2px}.delete-notif-btn{width:24px;height:24px;color:var(--text-muted);cursor:pointer;font-size:calc(var(--font-size-base) * 1.2);opacity:0;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;line-height:1;transition:all .2s;display:flex;position:absolute;top:.5rem;right:.5rem}.notif-item:hover .delete-notif-btn{opacity:1}.delete-notif-btn:hover{color:#ef4444;background:#ef44441a}.notif-footer{padding:calc(var(--spacing-base) * .75);border-top:1px solid var(--glass-border);text-align:center;background:#00000005;border-bottom-right-radius:16px;border-bottom-left-radius:16px}.view-all-btn{color:var(--primary);font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:none;font-weight:600;transition:color .2s}.view-all-btn:hover{color:var(--primary-light);text-decoration:underline}.notif-empty{padding:var(--spacing-xl);text-align:center;color:var(--text-muted);font-size:calc(var(--font-size-base) * .9)}.user-profile-menu{position:relative}.profile-trigger{border:1px solid var(--glass-border);padding:var(--spacing-xs) var(--spacing-sm) var(--spacing-xs) var(--spacing-sm);cursor:pointer;color:var(--text-primary);background:#ffffff0d;border-radius:30px;align-items:center;gap:.3rem;transition:all .3s;display:flex}.profile-trigger:hover,.profile-trigger.active{border-color:var(--primary);background:#ffffff1a}.profile-trigger-avatar{background:var(--primary-gradient);color:#fff;width:24px;height:24px;font-weight:700;font-size:calc(var(--font-size-base) * .9);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.status-indicator-dot{border:2px solid var(--surface);z-index:5;background:#10b981;border-radius:50%;position:absolute;bottom:-1px;right:-1px;width:7.8px!important;height:7.8px!important}.status-indicator-dot.online{background:#10b981;box-shadow:0 0 10px #10b98166}.chevron-icon{color:var(--text-muted);transition:transform .3s}.chevron-icon.rotate{transform:rotate(180deg)}.profile-dropdown-menu{border:1px solid var(--glass-border);width:260px;padding:calc(var(--spacing-base) * .75);box-shadow:var(--glass-shadow);border-radius:16px;flex-direction:column;gap:2px;display:flex;position:absolute;top:calc(100% + 10px);right:0;background:var(--surface)!important}.dropdown-header{padding:calc(var(--spacing-base) * .75) var(--spacing-sm);background:#00000005;border-radius:12px;align-items:center;gap:.75rem;margin:-.25rem -.25rem .5rem;display:flex}[data-theme=light] .dropdown-header{background:#00000003}.dropdown-avatar{background:var(--primary-gradient);color:#fff;width:48px;height:48px;font-weight:700;font-size:var(--font-size-xl);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden;box-shadow:0 4px 12px #667eea4d}.dropdown-user-info{flex-direction:column;gap:.25rem;min-width:0;display:flex}.dropdown-user-name{font-size:calc(var(--font-size-base) * .95);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:700;overflow:hidden}.dropdown-user-email{font-size:calc(var(--font-size-base) * .8);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.dropdown-divider{background:var(--glass-border);height:1px;margin:.5rem 0}.dropdown-item{padding:calc(var(--spacing-base) * .75) var(--spacing-md);color:var(--text-secondary);cursor:pointer;width:100%;font-size:calc(var(--font-size-base) * .95);background:0 0;border:none;border-radius:10px;align-items:center;gap:.75rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.dropdown-item:hover{color:var(--text-primary);padding-left:calc(var(--spacing-base) * 1.25);background:#ffffff0d}.dropdown-item svg{display:block}.dropdown-item.logout{color:#fca5a5}.dropdown-item.logout:hover{color:#ef4444;background:#ef44441a}.theme-toggle-item{justify-content:space-between}.theme-status-pill{font-size:calc(var(--font-size-base) * .7);padding:calc(var(--spacing-base) * .125) var(--spacing-sm);text-transform:uppercase;letter-spacing:.5px;border-radius:12px;font-weight:600}.theme-status-pill.dark{color:#a855f7;background:#9333ea33;border:1px solid #9333ea4d}.theme-status-pill.light{color:#eab308;background:#eab30833;border:1px solid #eab3084d}.fade-in{animation:.4s ease-out forwards fadeIn}.avatar-img-fit{object-fit:cover;border-radius:inherit;width:100%;height:100%}.main-layout{height:100vh;background:var(--bg-primary);height:100dvh;display:flex;overflow:hidden}.main-container{height:100vh;flex-direction:column;flex:1;height:100dvh;margin-left:280px;padding:0;transition:margin-left .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.main-layout:has(.sidebar.collapsed) .main-container{margin-left:55px}.sidebar.collapsed+.main-container{margin-left:55px}.main-content-wrapper{box-sizing:border-box;flex-direction:column;flex:1;width:100%;margin:0;padding:0;transition:padding .3s cubic-bezier(.4,0,.2,1);display:flex;overflow-y:auto}.main-content-wrapper.has-header{padding-top:var(--top-header-height)}.sidebar:not(.collapsed)+.main-container .top-header{opacity:0;visibility:hidden;pointer-events:none}.sidebar:not(.collapsed)+.main-container .main-content-wrapper.has-header{padding-top:0}.main-content-wrapper{scrollbar-gutter:stable}.main-layout.logging-out{pointer-events:none}.logout-transition-container{z-index:9999;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0;overflow:hidden}.curtain-panel{background:var(--bg-primary);z-index:1;width:50%;height:100%;position:absolute;top:0}.curtain-left{border-right:1px solid var(--border-color);animation:.6s cubic-bezier(.77,0,.175,1) .2s forwards slideInLeft;left:-50%}.curtain-right{border-left:1px solid var(--border-color);animation:.6s cubic-bezier(.77,0,.175,1) .2s forwards slideInRight;right:-50%}@keyframes slideInLeft{to{left:0}}@keyframes slideInRight{to{right:0}}.logout-overlay-content{z-index:2;text-align:center;animation:.4s .4s both fadeInLogout;position:relative}.logout-spinner{border:3px solid #ffffff1a;border-top-color:var(--accent-primary);border-radius:50%;width:50px;height:50px;margin:0 auto 20px;animation:1s linear infinite spin}.logout-text{font-size:calc(var(--font-size-base) * 2);color:var(--text-primary);margin-bottom:10px;font-weight:700}.logout-subtext{color:var(--text-secondary);font-size:var(--font-size-base)}@keyframes fadeInLogout{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.main-layout.logging-out .top-header,.main-layout.logging-out .sidebar-header{animation:.6s cubic-bezier(.4,0,.2,1) forwards fadeOutUp}.main-layout.logging-out .sidebar{animation:.6s cubic-bezier(.4,0,.2,1) forwards fadeOutLeft}.main-layout.logging-out .main-content-wrapper{animation:.5s forwards fadeOut}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@keyframes fadeOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-50px)}}@keyframes fadeOut{to{opacity:0}}@media (max-width:768px){.main-container{margin-left:0;padding:0}}@media (max-width:480px){.main-container{margin-left:0;padding:0}}.panel-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;visibility:hidden;background:#0006;width:100vw;height:100vh;transition:all .4s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0}.panel-overlay.open{opacity:1;visibility:visible}.right-panel{width:500px;height:100vh;background:var(--surface);-webkit-backdrop-filter:blur(30px);border-left:1px solid var(--glass-border);z-index:1001;height:-webkit-fill-available;box-shadow:var(--glass-shadow);flex-direction:column;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;right:-500px}.right-panel.open{right:0}@media (max-width:768px){.form-grid-2{grid-template-columns:1fr!important;gap:1rem!important}}.panel-header{padding:calc(var(--spacing-base) * 1.75) var(--spacing-xl);border-bottom:1px solid var(--glass-border);background:var(--glass-bg);justify-content:space-between;align-items:center;display:flex;position:relative;overflow:hidden}.panel-header:after{content:"";background:var(--primary-gradient);width:60px;height:2px;position:absolute;bottom:0;left:0}.panel-header-content{align-items:center;gap:1.25rem;display:flex}.panel-header-icon{background:var(--glass-bg);border:1px solid var(--glass-border);width:48px;height:48px;color:var(--primary);box-shadow:var(--glass-shadow);border-radius:14px;justify-content:center;align-items:center;display:flex}.panel-title-group{flex-direction:column;gap:.25rem;display:flex}.panel-title{font-size:calc(var(--font-size-base) * 1.15);color:var(--text-primary);letter-spacing:-.01em;font-weight:700}.panel-subtitle{font-size:calc(var(--font-size-base) * .85);color:var(--text-secondary);font-weight:500}.panel-close-btn{background:var(--surface-elevated);border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.panel-close-btn:hover{color:#ef4444;background:#ef44441a;border-color:#ef444433;transform:rotate(90deg)}.panel-content{padding:var(--spacing-xl);flex-direction:column;flex:1;display:flex;overflow-y:auto}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:0 0}.panel-content::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:10px}.panel-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.panel-footer{padding:calc(var(--spacing-base) * 1.25) var(--spacing-xl) calc(var(--spacing-base) * 2.5);border-top:1px solid var(--glass-border);background:var(--surface-elevated);margin-top:auto}@media (max-width:768px){.right-panel{border-left:none;right:-100%;width:100%!important}.panel-header{padding:calc(var(--spacing-base) * 1.25) var(--spacing-lg)}.panel-header-icon{border-radius:12px;width:40px;height:40px}.panel-title{font-size:calc(var(--font-size-base) * 1.05)}.panel-content{padding:calc(var(--spacing-base) * 1.25) var(--spacing-lg)}.panel-footer{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-xl)}.panel-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}@media (max-width:480px){.panel-header,.panel-content{padding:var(--spacing-md)}.panel-footer{padding:calc(var(--spacing-base) * .75) calc(var(--spacing-base) * .75) var(--spacing-md)}}.calendar-full{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);width:100%;height:85vh;min-height:600px;box-shadow:var(--glass-shadow);color:var(--text-primary);flex-direction:column;animation:.6s cubic-bezier(.16,1,.3,1) fadeIn;display:flex;overflow:hidden}.calendar-controls{gap:var(--spacing-sm);align-items:center;display:flex}.nav-btn,.today-btn{background:var(--surface-elevated);border:1px solid var(--glass-border);color:var(--text-primary);padding:var(--spacing-sm);cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;font-weight:600;transition:all .2s;display:flex}.today-btn{padding:var(--spacing-sm) var(--spacing-md)}.nav-btn:hover,.today-btn:hover{background:var(--glass-bg);border-color:var(--primary);color:var(--primary)}.calendar-days-header{background:rgba(var(--tone-1-rgb), .05);border-bottom:1px solid var(--glass-border);grid-template-columns:repeat(7,1fr);display:grid}.day-name{padding:var(--spacing-md);text-align:center;font-weight:700;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.calendar-main-grid{scrollbar-width:none;flex:1;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(120px,auto);display:grid;overflow-y:auto}.calendar-main-grid::-webkit-scrollbar{display:none}.calendar-day{border-right:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);height:100%;min-height:120px;padding:calc(var(--spacing-base) * .75) 0;flex-direction:column;gap:.5rem;transition:background .2s;display:flex;position:relative;overflow:hidden}.calendar-day:nth-child(7n){border-right:none}.calendar-day:not(.empty):hover{background:rgba(var(--tone-1-rgb), .03)}.day-header{padding:0 calc(var(--spacing-base) * .75);justify-content:space-between;align-items:center;display:flex}.day-number{opacity:.8;font-weight:700}.today .day-number{color:var(--primary);font-size:calc(var(--font-size-base) * 1.1);font-weight:800}.calendar-day.today{background:rgba(var(--tone-1-rgb), .05)}.today-label{font-size:calc(var(--font-size-base) * .65);color:var(--primary);font-weight:800}.day-events{scrollbar-width:none;flex-direction:column;flex:1;gap:4px;display:flex;overflow-y:auto}.day-events::-webkit-scrollbar{display:none}.event-spacer{width:100%;height:24px;margin-bottom:0}.event-item{padding:var(--spacing-xs) var(--spacing-sm);height:24px;font-size:calc(var(--font-size-base) * .7188);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;align-items:center;gap:4px;width:100%;font-weight:700;line-height:1;transition:all .2s;display:flex;position:relative;overflow:hidden;border:none!important}.event-user-prefix{opacity:.95;text-transform:uppercase;color:inherit;font-weight:700}.incapacidad .event-user-prefix{color:inherit}.event-detail-summary{opacity:.8;font-weight:400;font-size:calc(var(--font-size-base) * .7);font-style:italic}.event-item.start{border-top-left-radius:4px;border-bottom-left-radius:4px;margin-left:2px}.event-item.middle{border-radius:0}.event-item.end{border-top-right-radius:4px;border-bottom-right-radius:4px;margin-right:2px}.event-item.single{border-radius:4px;margin:0 2px}.event-item.week-start:not(.start){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}.event-item.week-end:not(.end){border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.event-item{margin-bottom:1px}.event-item:active{cursor:grabbing;transform:scale(.98)}.drag-handle{opacity:.4}.event-item.novedad{background:rgba(var(--tone-1-rgb), .2);color:var(--text-primary);box-shadow:inset 3px 0 0 var(--primary)}.event-item.middle.novedad,.event-item.end.novedad{box-shadow:none}.event-item.ausentismo{background:rgba(var(--warning-rgb), .2);color:var(--warning);box-shadow:inset 3px 0 0 var(--warning)}.event-item.middle.ausentismo,.event-item.end.ausentismo{box-shadow:none}.event-item.incapacidad{background:rgba(var(--info-rgb), .2);color:var(--text-primary);box-shadow:inset 3px 0 0 var(--info)}.event-item.middle.incapacidad,.event-item.end.incapacidad{box-shadow:none}.event-item.vacacion{background:rgba(var(--success-rgb), .2);color:var(--text-primary);box-shadow:inset 3px 0 0 var(--success)}.event-item.middle.vacacion,.event-item.end.vacacion{box-shadow:none}.event-item.tiquete{background:rgba(var(--error-rgb), .15);color:var(--text-primary);box-shadow:inset 3px 0 0 var(--error)}.event-item.middle.tiquete,.event-item.end.tiquete{box-shadow:none}@media (max-width:1024px){.calendar-full{height:auto;min-height:800px}}@media (max-width:768px){.day-name{padding:var(--spacing-sm);font-size:calc(var(--font-size-base) * .65)}.today-label{display:none}.calendar-day{min-height:100px;padding:var(--spacing-sm)}.event-title{font-size:calc(var(--font-size-base) * .65);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}.btn-primary,.btn-secondary{padding:calc(var(--spacing-base) * .75) var(--spacing-lg);cursor:pointer;font-weight:600;font-size:calc(var(--font-size-base) * .9);border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;transition:all .3s;display:flex}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 15px rgba(var(--tone-1-rgb), .3)}.btn-primary:hover{box-shadow:0 6px 20px rgba(var(--tone-1-rgb), .4);transform:translateY(-2px)}.btn-success{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);box-shadow:0 4px 15px #10b9814d}.btn-success:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.btn-danger{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);box-shadow:0 4px 15px #ef44444d}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.add-btn{padding:calc(var(--spacing-base) * .6) calc(var(--spacing-base) * 1.25);background:var(--surface-elevated);border:1px solid var(--glass-border);color:var(--text-primary);font-weight:700;font-size:calc(var(--font-size-base) * .85);cursor:pointer;border-radius:10px;transition:all .3s cubic-bezier(.4,0,.2,1)}.add-btn:hover{background:rgba(var(--tone-1-rgb), .1);border-color:var(--primary);transform:translateY(-1px)}.add-btn.active-view{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 12px rgba(var(--tone-1-rgb), .3);border-color:#0000}.btn-secondary{background:var(--surface-elevated);border:1px solid var(--glass-border);color:var(--text-primary)}.btn-secondary:hover{border-color:var(--text-secondary);background:#ffffff0d}.form-input[type=date]::-webkit-calendar-picker-indicator{filter:invert();cursor:pointer}.form-input[type=time]::-webkit-calendar-picker-indicator{filter:invert();cursor:pointer}[data-theme=light] .form-input[type=date]::-webkit-calendar-picker-indicator{filter:invert(0)}[data-theme=light] .form-input[type=time]::-webkit-calendar-picker-indicator{filter:invert(0)}.form-input[type=date],.form-input[type=time]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light] .form-input[type=date],[data-theme=light] .form-input[type=time]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.agenda-view-container{padding:var(--spacing-md) var(--spacing-xl);flex-direction:column;flex:1;gap:1rem;display:flex;overflow-y:auto}.agenda-day-section{grid-template-columns:120px 1fr;gap:2rem;display:grid;position:relative}.agenda-day-section:before{content:"";background:var(--glass-border);opacity:.5;width:2px;position:absolute;top:0;bottom:-1rem;left:140px}.agenda-day-section:last-child:before{bottom:0}.agenda-day-column{justify-content:flex-end;display:flex}.agenda-date-badge{background:var(--surface-elevated);border:1px solid var(--glass-border);padding:var(--spacing-sm);border-radius:10px;flex-direction:column;align-items:center;gap:.15rem;min-width:70px;height:fit-content;display:flex}.today-section .agenda-date-badge{background:var(--primary-gradient);color:#fff;border-color:#0000}.agenda-day-name{font-size:calc(var(--font-size-base) * .6);text-transform:uppercase;letter-spacing:.5px;opacity:.7;font-weight:800}.agenda-day-num{font-size:var(--font-size-xl);font-weight:900}.agenda-events-column{padding-bottom:var(--spacing-sm);flex-direction:column;gap:1rem;display:flex}.agenda-event-card{background:var(--surface-elevated);border:1px solid var(--glass-border);padding:calc(var(--spacing-base) * .6) var(--spacing-md);cursor:pointer;border-radius:12px;flex-direction:column;gap:.25rem;transition:all .3s;display:flex}.agenda-event-card:hover{border-color:var(--primary);transform:translate(5px)}.agenda-event-card.novedad{box-shadow:inset 4px 0 0 var(--primary)}.agenda-event-card.ausentismo{box-shadow:inset 4px 0 0 var(--warning)}.agenda-event-card.incapacidad{background:rgba(var(--info-rgb), .1);border:1px solid rgba(var(--info-rgb), .2);color:var(--text-primary);box-shadow:inset 4px 0 0 var(--info)}.agenda-event-card.vacacion{background:rgba(var(--success-rgb), .1);border:1px solid rgba(var(--success-rgb), .2);color:var(--text-primary);box-shadow:inset 4px 0 0 var(--success)}.agenda-event-card.tiquete{box-shadow:inset 4px 0 0 var(--error)}.calendar-header{padding:var(--spacing-lg) var(--spacing-xl);background:linear-gradient(to bottom, rgba(var(--tone-1-rgb), .08), transparent);border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;display:flex}.calendar-title-section{flex-direction:column;gap:.25rem;display:flex}.calendar-month-title{font-size:var(--font-size-2xl);color:var(--text-primary);margin:0;font-weight:800}.calendar-month-title span{color:var(--primary);font-weight:400}.calendar-view-indicator{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;font-weight:600}.event-time-indicator{font-size:var(--font-size-xs);color:var(--text-secondary);align-items:center;gap:.5rem;font-weight:600;display:flex}.event-details .event-title{font-size:calc(var(--font-size-base) * .95);color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.15rem;font-weight:700;display:flex}.event-user-badge{background:rgba(var(--tone-1-rgb), .15);color:var(--text-primary);padding:calc(var(--spacing-base) * .1) calc(var(--spacing-base) * .4);font-size:calc(var(--font-size-base) * .7);text-transform:uppercase;border-radius:4px;font-weight:800}.event-type-label{font-weight:700}.event-agenda-detail{font-weight:400;font-size:calc(var(--font-size-base) * .85);opacity:.8}.event-meta{font-size:var(--font-size-xs);color:var(--text-secondary);margin:0}.agenda-no-events{padding:var(--spacing-lg);border:1px dashed var(--glass-border);color:var(--text-secondary);font-size:calc(var(--font-size-base) * .9);text-align:center;background:rgba(var(--tone-1-rgb), .02);border-radius:16px}.animate-spin{animation:1s linear infinite spin}.form-grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (max-width:768px){.form-grid-2{grid-template-columns:1fr;gap:.75rem}.calendar-header{padding:var(--spacing-md);flex-direction:column;align-items:flex-start;gap:1rem}.calendar-title-section{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.calendar-controls{justify-content:space-between;width:100%}.calendar-month-title{font-size:var(--font-size-xl)}.agenda-day-section{grid-template-columns:1fr;gap:1rem}.agenda-day-section:before{display:none}.agenda-day-column{justify-content:flex-start}.agenda-date-badge{min-width:0;padding:var(--spacing-sm) var(--spacing-md);flex-direction:row;gap:1rem}.agenda-day-num{font-size:calc(var(--font-size-base) * 1.1)}}.panel-footer-actions{width:100%;padding:var(--spacing-sm) 0;align-items:center;gap:.75rem;display:flex}.btn-danger-soft{color:#ef4444!important;background:#ef44441a!important;border:1px solid #ef444433!important;transition:all .2s!important}.btn-danger-soft:hover{transform:translateY(-1px);background:#ef444433!important;border-color:#ef444466!important}@media (max-width:768px){.panel-footer-actions{flex-wrap:wrap;justify-content:center;gap:.5rem}.panel-footer-actions .btn-danger{order:3;width:100%;margin-right:0!important}}@keyframes fadeInSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.event-item{animation:.28s cubic-bezier(.16,1,.3,1) fadeInSlideUp}.agenda-event-card{animation:.35s cubic-bezier(.16,1,.3,1) fadeInSlideUp}
