@charset "UTF-8";:root{--bg: #f6f8fa;--surface: #ffffff;--text: #1f2937;--text-secondary: #4b5563;--muted: #6b7280;--primary: #0b7285;--primary-600: #066a73;--accent: #8b5cf6;--success: #16a34a;--danger: #ef4444;--border: #e6e9ee;--glass: rgba(255, 255, 255, .6);--radius: 8px;--shadow: 0 6px 18px rgba(22, 28, 37, .08);--mono: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--transition: .18s cubic-bezier(.2, .9, .3, 1)}.dark-mode{--bg: #0f172a;--surface: #1e293b;--text: #f1f5f9;--text-secondary: #cbd5e1;--muted: #94a3b8;--primary: #06b6d4;--primary-600: #0891b2;--accent: #a78bfa;--success: #22c55e;--danger: #f87171;--border: #334155;--glass: rgba(30, 41, 59, .6);--shadow: 0 6px 18px rgba(0, 0, 0, .3)}.dark-mode{background-color:var(--bg);color:var(--text)}body{background-color:var(--bg);color:var(--text);transition:background-color var(--transition),color var(--transition)}.container{max-width:1200px;margin:24px auto;padding:0 20px}.row{display:flex;flex-wrap:wrap;gap:16px}.col{flex:1}.center{display:flex;align-items:center;justify-content:center}.space-between{display:flex;align-items:center;justify-content:space-between}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card-lg{padding:24px}.card-sm{padding:8px}.h1{font-size:20px;font-weight:700;margin:0}.h2{font-size:16px;font-weight:700;margin:0}.h3{font-size:14px;font-weight:600;margin:0}.lead{color:var(--muted)}.small{font-size:12px;color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:all var(--transition);font-weight:600}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-600)}.btn-ghost{background:transparent;border:1px solid var(--border);color:inherit}.btn-danger{background:var(--danger);color:#fff}.btn-success{background:var(--success);color:#fff}.input,select,textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);outline:none;transition:border-color var(--transition),background-color var(--transition)}.input:focus,select:focus,textarea:focus{border-color:var(--primary)}.label{font-size:12px;color:var(--muted);display:block;margin-bottom:6px}.field{margin-bottom:12px}.inline-field{display:flex;gap:8px;align-items:center}.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.filter-item{min-width:160px}.schedule-list{display:grid;gap:12px}.schedule-row{display:grid;grid-template-columns:1fr 480px 120px;gap:12px;align-items:center}.schedule-user{display:flex;align-items:center;gap:12px}.avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--primary));color:#fff;display:inline-grid;place-items:center;font-weight:700}.schedule-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.day-pill{padding:6px;border-radius:6px;text-align:center;border:1px dashed transparent}.day-off{color:var(--muted);background:transparent}.day-on{background:linear-gradient(90deg,#e6fffa,#ecfeff);border:1px solid rgba(6,106,115,.12)}.time{font-size:12px;color:var(--muted)}.empty{padding:24px;text-align:center;color:var(--muted)}@media (max-width: 880px){.schedule-row{grid-template-columns:1fr}.schedule-grid{grid-template-columns:repeat(4,1fr)}}.muted{color:var(--muted)}.mb-4{margin-bottom:16px}.p-2{padding:8px}.flash{animation:flashBg 1.2s ease}@keyframes flashBg{0%{box-shadow:0 0 #09b6c32e}50%{box-shadow:0 10px 30px #09b6c30f}to{box-shadow:none}}table{width:100%;border-collapse:collapse}th,td{padding:8px;border-bottom:1px solid var(--border);text-align:left}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.sidebar .card{background:transparent;border:none;padding:0}.url-indicator,.hierarchy-indicator{background:linear-gradient(135deg,#e3f2fd80,#bbdefb80);border:1px solid var(--primary);border-radius:8px;padding:12px 16px;margin:8px 0;font-size:14px;font-weight:500;color:var(--primary);display:flex;align-items:center;gap:8px;box-shadow:0 2px 8px #2563eb1a}.hierarchy-indicator{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-color:#ff9800;color:#e65100;box-shadow:0 2px 8px #ff98001a}.hierarchy-indicator span{font-weight:600}.dark-mode .Toastify__toast{background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--border)}.dark-mode .Toastify__toast-body,.dark-mode .Toastify__close-button{color:var(--text)!important}.dark-mode ::-webkit-scrollbar{width:12px;height:12px}.dark-mode ::-webkit-scrollbar-track{background:var(--surface)}.dark-mode ::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}.dark-mode ::-webkit-scrollbar-thumb:hover{background:var(--muted)}*,*:after,*:before{box-sizing:border-box;margin:0;padding:0;list-style:none;text-decoration:none}html{color-scheme:light dark;scroll-behavior:smooth}.layout-main{min-height:calc(100dvh - 60px);margin-top:60px;display:flex;flex-direction:column}.plyr--video{height:100%!important}.sidebar{position:fixed;left:-250px;top:30px;margin:0;width:250px;height:100%;background:#333;color:#fff;padding-top:50px;transition:.3s;z-index:9999}.sidebar ul{list-style:none;padding:0}.sidebar ul li{padding:15px}.sidebar ul li a{color:#fff;text-decoration:none;display:block}.sidebar ul li a:hover{background:#444}body.sidebar-open .sidebar{left:0}.logout-button{width:100%;padding:12px;border:none;border-radius:5px;font-size:1rem;cursor:pointer;transition:.3s}.dark-mode .sidebar{background:#0f172a;border-right:1px solid #334155}.dark-mode .sidebar ul li a:hover{background:#1e293b}.header{position:fixed;top:0;left:0;width:100%;height:60px;background-color:#1a237e;display:flex;justify-content:space-between;align-items:center;padding:0 20px;color:#fff;font-weight:700;box-shadow:0 2px 5px #0000001a;z-index:99999}.header .header-left{display:flex;align-items:center}.header .header-left>a{display:flex;align-items:center}.header .header-left .menu-btn{font-size:24px;cursor:pointer;background:#1a237e;border:none;color:#fff;margin-right:10px}.header .header-left .header-logo{height:40px;width:auto;margin-left:10px;object-fit:contain}.header .header-left .header-title{font-size:20px;white-space:nowrap}.header .header-right{font-size:16px;white-space:nowrap;overflow:visible;text-overflow:ellipsis;text-align:right;display:flex;align-items:center;gap:1rem;margin-left:auto}.header .header-right .username{text-transform:uppercase;display:flex;align-items:center}.header .header-right .username .user-icon{width:2.3rem;height:auto;transition:all .3s ease;color:#fff;margin-right:.5rem}.header .header-right .support-button{display:flex;align-items:center;gap:.5rem;cursor:pointer;border:1px solid rgba(255,255,255,.3);border-radius:8px;transition:all .2s ease;padding:8px 14px;background:transparent;text-decoration:none;color:#fff;font-size:14px;font-weight:500}.header .header-right .support-button .ticket-icon{color:#fff;width:18px;height:18px;transition:all .2s ease;flex-shrink:0}.header .header-right .support-button .support-text{white-space:nowrap}.header .header-right .support-button:hover{background:#ffffff1a;border-color:#ffffff80}.header .user-profile-container{position:relative}.header .user-profile-container .user-profile-button{display:flex;align-items:center;gap:10px;background:transparent;border:none;border-radius:6px;padding:6px 10px;cursor:pointer;transition:background .2s;color:#fff}.header .user-profile-container .user-profile-button:hover{background:#ffffff1a}.header .user-profile-container .user-profile-button .user-info{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.header .user-profile-container .user-profile-button .user-info .user-name{font-size:14px;font-weight:500;line-height:1.2}.header .user-profile-container .user-profile-button .user-info .user-role{font-size:11px;opacity:.8}.header .user-profile-container .user-profile-button .user-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #3b82f64d}.header .user-profile-container .user-profile-button .chevron-icon{width:14px;height:14px;opacity:.7;transition:transform .2s;flex-shrink:0}.header .user-profile-container .user-profile-button .chevron-icon.rotate{transform:rotate(180deg)}.header .user-profile-container .dropdown-menu{position:absolute;top:calc(100% + 8px);right:15px;left:auto;transform:none;width:256px;background:#fff;border-radius:8px;box-shadow:0 10px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid #f3f4f6;overflow:hidden;z-index:100000;animation:dropdownSlide .2s ease}.header .user-profile-container .dropdown-header{display:flex;align-items:start;gap:12px;padding:16px;background:#fff;border-bottom:1px solid #f3f4f6}.header .user-profile-container .dropdown-header .dropdown-avatar{width:40px;height:40px;border-radius:50%;background:#2563eb;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff;flex-shrink:0;margin-top:2px}.header .user-profile-container .dropdown-header .dropdown-user-details{flex:1;overflow:hidden}.header .user-profile-container .dropdown-header .dropdown-user-details .dropdown-user-name{font-size:14px;font-weight:600;color:#111827;margin-bottom:4px;line-height:1.25;word-break:break-word;white-space:normal;text-align:left}.header .user-profile-container .dropdown-header .dropdown-user-details .dropdown-user-status{font-size:12px;color:#16a34a;font-weight:500;text-align:left}.header .user-profile-container .dropdown-separator{display:none}.header .user-profile-container .dropdown-nav{padding:8px 0}.header .user-profile-container .dropdown-section{border-top:1px solid #f3f4f6;padding:8px 0}.header .user-profile-container .dropdown-section-title{padding:8px 16px;font-size:12px;font-weight:500;color:#6b7280;text-transform:none;letter-spacing:0}.header .user-profile-container .dropdown-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:none;width:100%;text-align:left;cursor:pointer;transition:all .15s ease;color:#374151;text-decoration:none;font-size:14px;font-family:inherit}.header .user-profile-container .dropdown-item:hover{background:#f9fafb;color:#111827}.header .user-profile-container .dropdown-item .dropdown-icon{width:20px;color:currentColor;flex-shrink:0;stroke-width:2;object-fit:contain}.header .user-profile-container .dropdown-item span{font-weight:400}.header .user-profile-container .dropdown-item.logout-item{margin-top:0;color:#dc2626;font-weight:500}.header .user-profile-container .dropdown-item.logout-item .dropdown-icon{color:#dc2626}.header .user-profile-container .dropdown-item.logout-item span{color:#dc2626;font-weight:500}.header .user-profile-container .dropdown-item.logout-item:hover{background:#fef2f2;color:#b91c1c}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dropdownSlideMobile{0%{opacity:0;transform:translate(-50%) translateY(-8px) scale(.98)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@media (max-width: 768px){.header{padding:0 12px}.header .user-profile-container .user-profile-button{padding:5px}.header .user-profile-container .user-profile-button .user-info{display:none}.header .user-profile-container .user-profile-button .user-avatar{width:34px;height:34px;font-size:13px}.header .user-profile-container .user-profile-button .chevron-icon{display:none}.header .user-profile-container .dropdown-menu{position:fixed;top:65px;left:50%;transform:translate(-50%);width:calc(100vw - 32px);max-width:400px;animation:dropdownSlideMobile .2s ease}.header .user-profile-container .dropdown-menu .dropdown-header{padding:20px}.header .user-profile-container .dropdown-menu .dropdown-header .dropdown-avatar{width:48px;height:48px;font-size:16px}.header .user-profile-container .dropdown-menu .dropdown-header .dropdown-user-details .dropdown-user-name{font-size:15px}.header .user-profile-container .dropdown-menu .dropdown-header .dropdown-user-details .dropdown-user-status{font-size:12px}.header .user-profile-container .dropdown-menu .dropdown-separator{margin:10px 0}.header .user-profile-container .dropdown-menu .dropdown-section-title{padding:10px 20px 6px;font-size:10px}.header .user-profile-container .dropdown-menu .dropdown-item{padding:12px 20px;font-size:14px}.header .user-profile-container .dropdown-menu .dropdown-item .dropdown-icon{width:20px;height:20px}}@media (max-width: 374px){.header .header-right .support-button .support-text{display:none}.dark-mode .header .header-right .theme-toggle-button{width:34px;height:34px}.dark-mode .header .header-right .theme-toggle-button .theme-icon{width:18px;height:18px}}@media (min-width: 769px) and (max-width: 1024px){.header .user-profile-container .user-profile-button .user-info{display:flex}.header .user-profile-container .user-profile-button .chevron-icon{display:block}}@media (min-width: 1025px){.header .user-profile-container .user-profile-button .user-info{display:flex}.header .user-profile-container .user-profile-button .chevron-icon{display:block}}.dark-mode .header{background-color:#1e293b;box-shadow:0 2px 5px #0000004d}.dark-mode .header .header-left .menu-btn{background:#1e293b}.dark-mode .header .user-profile-container .dropdown-menu{background:#1e293b;border:1px solid #334155;box-shadow:0 10px 25px -5px #00000080,0 10px 10px -5px #0000004d}.dark-mode .header .user-profile-container .dropdown-header{background:#1e293b;border-bottom:1px solid #334155}.dark-mode .header .user-profile-container .dropdown-user-details .dropdown-user-name{color:#f1f5f9}.dark-mode .header .user-profile-container .dropdown-user-details .dropdown-user-status{color:#22c55e}.dark-mode .header .user-profile-container .dropdown-section{border-top:1px solid #334155}.dark-mode .header .user-profile-container .dropdown-section-title{color:#94a3b8}.dark-mode .header .user-profile-container .dropdown-item{color:#cbd5e1}.dark-mode .header .user-profile-container .dropdown-item:hover{background:#334155;color:#f1f5f9}.dark-mode .header .user-profile-container .dropdown-item.logout-item,.dark-mode .header .user-profile-container .dropdown-item.logout-item .dropdown-icon,.dark-mode .header .user-profile-container .dropdown-item.logout-item span{color:#f87171}.dark-mode .header .user-profile-container .dropdown-item.logout-item:hover{background:#450a0a;color:#fca5a5}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{font-family:Arial,sans-serif;margin:0;padding:0}.container{display:flex;justify-content:center;align-items:center;gap:30px;flex-wrap:wrap;max-width:900px;width:100%;flex-direction:column}.card{background:var(--surface);padding:0;border-radius:12px;box-shadow:0 6px 12px #0000001a}.welcome{flex:1;text-align:center;min-width:300px}.welcome h1{font-size:24px;font-weight:700;margin:3rem auto 10px;color:var(--text)}.welcome p{font-size:14px;color:var(--text-secondary)}.login{flex:1;min-width:350px;height:420px;background-color:var(--border);border-radius:0;padding:20px;display:flex;flex-direction:column;align-items:center;box-sizing:border-box}.login h2{font-size:20px;margin-bottom:20px;color:var(--text);text-align:center;width:100%}.login-form{display:flex;flex-direction:column;gap:14px;width:100%;max-width:300px}.login-label{font-size:14px;font-weight:700;color:var(--text)}.login-input{width:100%;padding:10px;font-size:16px;border:1px solid var(--border);border-radius:6px;outline:none;box-sizing:border-box;appearance:textfield;-webkit-appearance:textfield;-moz-appearance:textfield;background:var(--surface);color:var(--text)}.login-input::-webkit-outer-spin-button,.login-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.login-input:focus{border-color:var(--primary);box-shadow:0 0 5px #2563eb80}.login-button{width:100%;padding:12px;font-size:16px;font-weight:700;background-color:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .3s ease;margin-top:10px}.login-button:hover{background-color:var(--primary-600)}@media (max-width: 768px){body{display:block}.container{flex-direction:column;align-items:center;width:100%;max-width:100%;padding:0}.card{width:90%}.login{width:100%;max-width:400px;padding:25px}.login-form,.login-input{width:100%}}.marker-page{display:flex;justify-content:center;align-items:center;height:100vh;background-color:var(--bg)}.marker-container{background:var(--surface);padding:30px;border-radius:10px;box-shadow:var(--shadow);text-align:center;width:350px;border:1px solid var(--border)}.marker-title{font-size:1.8rem;font-weight:700;color:var(--text);margin-bottom:10px}.date-time{font-size:1rem;color:var(--text-secondary);margin-bottom:15px}.form-group{margin:10px 0}.form-group:last-of-type>label{display:flex;gap:.35rem;align-items:center;justify-content:center}.button{width:100%;padding:12px;border:none;border-radius:5px;font-size:1rem;cursor:pointer;transition:.3s}.button:disabled{background-color:#ccc;cursor:not-allowed}.dark-mode .button:disabled{background-color:#374151;color:#6b7280}.register-btn{background-color:#111827;color:#fff}.register-btn:hover{background-color:#1f2937}.dark-mode .register-btn{background-color:#374151}.dark-mode .register-btn:hover{background-color:#4b5563}.disabled-btn{background-color:#4b5563;color:#9ca3af;cursor:not-allowed;opacity:.6}.dark-mode .disabled-btn{background-color:#374151;color:#6b7280}.status-message{margin-top:10px;font-size:.9rem;color:var(--text-secondary)}.dashboard{padding:0 20px 50px;max-width:1200px;margin:120px auto 0;font-family:Arial,sans-serif;position:relative;z-index:1;background-color:var(--bg)}.user-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;position:relative}.button-group{display:flex;gap:10px}.search-input{padding:10px;font-size:14px;border:1px solid var(--border);border-radius:5px;width:450px;outline:none;transition:border-color .3s ease;background:var(--surface);color:var(--text)}.search-input:focus{border-color:#8884d8}.search-button,.clear-button{padding:10px 15px;font-size:14px;font-weight:700;color:#fff;background-color:#000;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s ease;width:100px}.search-button:hover,.clear-button:hover{background-color:#444}.search-button:active,.clear-button:active{background-color:#222}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.card{background-color:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px;box-shadow:var(--shadow)}.card h4{margin-bottom:10px;font-size:15px;color:var(--text-secondary)}.card h2{font-size:24px;margin:0;color:var(--text)}.charts{display:grid;grid-template-columns:2fr 1fr;gap:20px}.attendance-table{background-color:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px}.attendance-table h3{margin-bottom:15px;color:var(--text)}.attendance-table table{width:100%;border-collapse:collapse}.attendance-table th,.attendance-table td{text-align:left;padding:10px;border-bottom:1px solid var(--border);font-size:14px;color:var(--text)}.attendance-table td.on-time{color:green}.attendance-table td.late{color:orange}.attendance-table td.absent{color:red}.pie-chart{background-color:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px;height:fit-content}.pie-chart h3{margin-bottom:15px;color:var(--text)}.green{color:#00c49f}.orange{color:#ffbb28}.red{color:#ff8042}.blue{color:#8884d8}.button-group{display:flex;justify-content:center;gap:10px;margin-bottom:10px}.filter-button{padding:5px 10px;font-size:14px;background-color:#f0f0f0;border:1px solid #ccc;border-radius:5px;cursor:pointer;transition:background-color .3s ease}.filter-button:hover{background-color:#e0e0e0}.filter-button:active{background-color:#d0d0d0}.tabs{display:flex;justify-content:center;gap:10px;margin-bottom:20px;border-bottom:2px solid #eee}.tab-button{padding:10px 20px;font-size:14px;background-color:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;color:#555;transition:all .3s ease}.tab-button.active-tab{font-weight:700;color:#000;border-bottom:2px solid #000}.tab-button:hover{color:#000}.suggestions-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);max-height:180px;overflow-y:auto;background:var(--surface);position:absolute;z-index:1000;width:450px;left:0;top:40px;box-shadow:var(--shadow);border-radius:5px}.suggestions-list li{padding:8px;cursor:pointer;color:var(--text)}.suggestions-list li:hover{background:var(--border)}.solicitar-button{width:100%;padding:12px;border:none;border-radius:5px;font-size:1rem;cursor:pointer;transition:.3s}.attendance-container{padding:0 20px 50px;max-width:1300px;margin:150px auto 0;font-family:Arial,sans-serif;position:relative;z-index:1;background-color:var(--bg)}@media (max-width: 768px){.attendance-container{margin-top:100px;padding:0 20px 20px;display:flex;flex-direction:column;align-items:center}}.attendance-container h2{font-size:1.8rem;font-weight:700;margin-bottom:1.5rem;text-align:left;color:var(--text)}@media (max-width: 768px){.attendance-container h2{font-size:1.5rem;text-align:center}}.input-group{display:flex;flex-wrap:nowrap;gap:1rem;align-items:center;margin-bottom:1.5rem}.input-group input{padding:.6rem 1rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;width:240px;flex:1;max-width:none;background:var(--surface);color:var(--text)}.input-group select{padding:.6rem 1rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;width:350px;flex:1;max-width:none;background:var(--surface);color:var(--text)}.input-group button{padding:.6rem 1.5rem;background-color:#111827;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;white-space:nowrap;height:44px;width:auto;margin-left:auto}.input-group button:hover{background-color:#1f2937}.dark-mode .input-group button{background-color:#374151;color:#fff}.dark-mode .input-group button:hover{background-color:#4b5563}@media (max-width: 768px){.input-group{flex-direction:column;align-items:stretch}.input-group input,.input-group button{width:100%;max-width:100%;margin:0 auto}}.CSVLink-button{background-color:#111827;color:#fff;border:none;padding:.6rem 1.5rem;border-radius:8px;cursor:pointer;display:flex;font-weight:500;width:auto;margin:2.5rem auto 0}.CSVLink-button:hover{background-color:#1f2937}.dark-mode .CSVLink-button{background-color:#374151}.dark-mode .CSVLink-button:hover{background-color:#4b5563}@media (max-width: 768px){.CSVLink-button{width:100%}}.desktop-table{width:100%;border-collapse:collapse;border-radius:8px;overflow:hidden}.desktop-table th,.desktop-table td{padding:.8rem;text-align:left;border-bottom:1px solid #e5e7eb}.dark-mode .desktop-table th,.dark-mode .desktop-table td{border-bottom-color:var(--border)}.desktop-table th{background-color:#1f2937;font-weight:600;font-size:.95rem;color:#fff}.dark-mode .desktop-table th{background-color:#374151;color:#fff}.desktop-table td{font-size:.92rem;color:#374151}.dark-mode .desktop-table td{color:var(--text)}@media (max-width: 768px){.desktop-table{display:none!important}}.estado{padding:.3rem .7rem;font-size:.85rem;font-weight:600;color:#166534;background-color:#dcfce7;border-radius:1rem;display:inline-block}.dark-mode .estado{color:#86efac;background-color:#22c55e33}@media (max-width: 768px){.mobile-list{display:block}}.attendance-item{background-color:#fff;border:1px solid #ccc;border-radius:10px;padding:1rem;margin-bottom:1rem;box-shadow:0 2px 5px #0000000d}.dark-mode .attendance-item{background-color:var(--surface);border-color:var(--border);box-shadow:0 2px 5px #0000004d}.attendance-item-header{display:flex;justify-content:space-between;align-items:center;font-weight:700}.attendance-item-header p{margin:0;font-size:.9rem;color:#555}.dark-mode .attendance-item-header p{color:var(--text)}.expand-btn{background:transparent;border:none;font-size:20px;color:#374151;cursor:pointer;padding:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s ease}.expand-btn svg{transform:rotate(0);transition:transform .2s ease}.expand-btn svg.rotated{transform:rotate(180deg)}.dark-mode .expand-btn{color:#9ca3af}.expand-btn:hover{background-color:#0000000d}.dark-mode .expand-btn:hover{background-color:#ffffff1a}.expand-btn:focus{outline:none}.attendance-item-details{margin-top:.75rem;display:none}.attendance-item-details.show{display:block}.attendance-item-details p{margin:.4rem 0;font-size:.88rem;color:#374151}.dark-mode .attendance-item-details p{color:var(--text-secondary)}.pagination{margin-top:2rem;display:flex;justify-content:center;align-items:center;gap:.6rem;flex-wrap:wrap;font-family:Inter,sans-serif}.pagination button{padding:.5rem 1rem;border-radius:8px;border:1px solid #ccc;background:#f9fafb;font-size:.9rem;cursor:pointer;min-width:40px;width:auto;flex:none;color:#111827}.dark-mode .pagination button{background:var(--surface);border-color:var(--border);color:var(--text)}.pagination button:hover{background-color:#f3f4f6;color:#111827}.dark-mode .pagination button:hover{background-color:#ffffff1a;color:var(--text)}.pagination .page-number{padding:.4rem .8rem;border-radius:8px;border:1px solid #d1d5db;background-color:#fff;color:#111827;font-weight:500}.dark-mode .pagination .page-number{background-color:var(--surface);border-color:var(--border);color:var(--text)}.pagination button.active{border:1px solid #111827;background-color:#111827;font-weight:600;color:#fff;box-shadow:none}.dark-mode .pagination button.active{border-color:#6b7280;background-color:#374151;color:#fff;box-shadow:none}@media (max-width: 768px){.pagination{flex-direction:row;flex-wrap:wrap}.pagination button,.pagination .page-number{padding:.4rem .6rem;font-size:.85rem}}.pagination button.active{border:1px solid #111827;background-color:#f3f4f6;font-weight:600;color:#111827;box-shadow:0 0 0 1px #111827 inset}.popup{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.popup-content{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 8px #0003;width:400px;max-width:90%;text-align:left}.dark-mode .popup-content{background-color:var(--surface);box-shadow:0 4px 16px #00000080}.popup-content button{margin-top:10px;padding:10px 15px;border:none;border-radius:5px;cursor:pointer}.popup-content button:first-of-type{background-color:#111827;color:#fff;border:none;padding:10px 20px;font-size:16px;border-radius:5px;cursor:pointer;margin-right:10px;transition:background-color .3s ease}.popup-content button:first-of-type:hover{background-color:#1f2937}.dark-mode .popup-content button:first-of-type{background-color:#374151}.dark-mode .popup-content button:first-of-type:hover{background-color:#4b5563}.popup-content button:last-of-type{background-color:#fff;color:#111827;border:1px solid #111827;padding:10px 20px;font-size:16px;border-radius:5px;cursor:pointer;transition:background-color .3s ease,color .3s ease}.popup-content button:last-of-type:hover{background-color:#f9fafb;color:#374151}.dark-mode .popup-content button:last-of-type{background-color:var(--surface);color:var(--text);border-color:#4b5563}.dark-mode .popup-content button:last-of-type:hover{background-color:#ffffff0d;border-color:#6b7280}.popup-content h3{margin-top:0;margin-bottom:15px;font-size:18px;font-weight:700;color:#111827}.dark-mode .popup-content h3{color:var(--text)}.popup-content input,.popup-content select,.popup-content textarea{width:100%;padding:8px;margin-bottom:10px;border:1px solid #ccc;border-radius:4px;font-size:14px;background-color:#fff;color:#111827}.dark-mode .popup-content input,.dark-mode .popup-content select,.dark-mode .popup-content textarea{background-color:#1f2937;border-color:#4b5563;color:#f3f4f6}.dark-mode .popup-content select option{background-color:#1f2937;color:#f3f4f6}.dark-mode .popup-content input:focus,.dark-mode .popup-content select:focus,.dark-mode .popup-content textarea:focus{outline:none;border-color:#6b7280;background-color:#111827}.popup-content label{display:block;margin-bottom:5px;font-weight:500;color:#374151}.dark-mode .popup-content label{color:#d1d5db}.edit-button{width:100%;padding:12px;border:none;border-radius:5px;font-size:1rem;cursor:pointer;transition:.3s;background-color:#111827;color:#fff}.edit-button:hover{background-color:#1f2937}.edit-button:disabled{cursor:not-allowed;opacity:.5}.dark-mode .edit-button{background-color:#374151}.dark-mode .edit-button:hover{background-color:#4b5563}.popup.outlocation-modal{z-index:2000;background:#000000b3}.popup-content.outlocation-content{border:2px solid #e11d48;box-shadow:0 6px 32px #e11d4822;max-width:420px;width:95%;padding:28px 24px 22px;text-align:left}.dark-mode .popup-content.outlocation-content{box-shadow:0 6px 32px #e11d4866}.popup-content.outlocation-content textarea{border:1.5px solid #e11d48;border-radius:8px;width:100%;font-size:1.08em;padding:10px;margin-bottom:10px;resize:vertical}.popup-content.outlocation-content button{margin-top:8px}.config-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background-color:var(--bg);padding:20px}.config-title{font-size:24px;font-weight:700;margin-bottom:8px;color:var(--text)}.config-subtitle{color:var(--muted);margin-bottom:20px}.config-card{background:var(--surface);padding:25px;border-radius:10px;box-shadow:var(--shadow);width:100%;max-width:400px;border:1px solid var(--border)}.config-header{font-size:20px;font-weight:700;display:flex;align-items:center;gap:10px;color:var(--text)}.config-icon{color:#2d72d9}.config-description{font-size:14px;color:var(--muted);margin-bottom:15px}.config-input-container{margin-bottom:15px}.config-input-container label{display:block;font-weight:500;margin-bottom:5px;color:var(--text)}.config-input-wrapper{position:relative}.config-input-wrapper input{width:100%;padding:10px 0 10px 10px;border:1px solid var(--border);border-radius:5px;font-size:14px;outline:none;transition:border-color .3s ease;background:var(--surface);color:var(--text)}.config-input-wrapper input:focus{border-color:#2d72d9}.config-input-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--muted)}.config-button{width:100%;background-color:#2d72d9;color:#fff;padding:10px;border:none;border-radius:5px;font-size:16px;font-weight:700;cursor:pointer;transition:background-color .3s ease}.config-button:hover{background-color:#1e5bbf}.soporte-container{margin:40px auto;border-radius:18px;max-width:600px;width:100%;padding:0 20px}.soporte-container h1{text-align:center;margin-bottom:18px;color:var(--primary);font-size:2rem;font-weight:800;letter-spacing:.5px;display:flex;align-items:center;justify-content:center}.btn-crear{background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:1.1em;font-weight:700;padding:12px 38px;cursor:pointer;box-shadow:0 2px 8px #2563eb12;transition:background .18s;width:auto}.btn-crear:disabled{background:var(--border);color:#fff;cursor:not-allowed}.soporte-form{display:flex;flex-direction:column;gap:22px;width:100%;max-width:510px;margin:0 auto}.soporte-form .form-group{display:flex;flex-direction:column;gap:8px}.soporte-form label{font-weight:600;color:var(--text)}.soporte-form select,.soporte-form textarea{width:100%;padding:12px;border:1.5px solid var(--border);border-radius:8px;font-size:16px;background:var(--surface);color:var(--text);transition:border .2s}.soporte-form select:focus,.soporte-form textarea:focus{border:1.5px solid var(--primary);outline:none}.soporte-form textarea{min-height:90px;resize:vertical}.soporte-form button{width:100%;padding:14px;background:linear-gradient(90deg,var(--primary) 60%,var(--primary-600) 100%);color:#fff;border:none;border-radius:8px;font-size:17px;font-weight:700;cursor:pointer;margin-top:8px;box-shadow:0 2px 8px #2563eb21;transition:background .2s}.soporte-form button[type=button]{background:var(--border);color:var(--text);box-shadow:none}.mensaje{margin-bottom:18px;text-align:center;color:#22c55e;font-weight:600;font-size:1.1rem}.tickets-section{margin-top:30px}.tickets-ui-list-title{font-size:1.25em;font-weight:700;color:var(--primary);margin-bottom:18px;margin-left:32px}.tickets-ui-list{display:flex;flex-direction:column;gap:18px;padding:0 32px}.tickets-ui-card{background:var(--surface);border-radius:16px;box-shadow:0 4px 24px #2563eb14,0 1.5px 8px #00000012;padding:22px 24px 18px;cursor:pointer;transition:box-shadow .18s,border-color .18s;border-left:5px solid rgba(37,99,235,.13);display:flex;flex-direction:column;gap:7px}.tickets-ui-card.cerrado{opacity:.7;border-left:5px solid var(--border)}.tickets-ui-card:hover{box-shadow:0 8px 32px #2563eb21;border-left:5px solid var(--primary)}.tickets-ui-card-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.tickets-ui-id{font-size:1.1em;font-weight:700;color:var(--primary)}.tickets-ui-status{padding:3px 14px;border-radius:12px;font-size:.98em;font-weight:700;text-transform:capitalize;background:#e0e7ff;color:var(--primary-600);box-shadow:0 1px 4px #2563eb12}.tickets-ui-status.cerrado{background:var(--border);color:var(--muted)}.tickets-ui-card-title{font-size:1.13em;font-weight:700;color:var(--text);margin-bottom:2px}.tickets-ui-card-meta{display:flex;gap:10px;margin-bottom:2px}.tickets-ui-chip{display:inline-block;padding:3px 12px;border-radius:12px;font-weight:700;font-size:.98em;background:var(--border);border-left:4px solid var(--primary);color:var(--text)}.criticidad-alta{border-left-color:#e11d48;color:#e11d48;background:#fef2f2}.criticidad-media{border-left-color:#f59e42;color:#f59e42;background:#fff7ed}.criticidad-baja{border-left-color:#22c55e;color:#22c55e;background:#f0fdf4}.tickets-ui-card-desc{color:var(--text-secondary);font-size:1em;margin-bottom:2px;min-height:18px}.tickets-ui-card-date{color:var(--muted);font-size:.97em;margin-top:2px}.tickets-ui-empty{color:var(--muted);text-align:center;margin:28px 0;font-size:1.08em;width:100%}@media (max-width: 768px){.soporte-container{margin:20px auto;padding:0 16px}.soporte-container h1{font-size:1.5rem;margin-bottom:16px}.btn-crear{font-size:1em;padding:10px 24px}.soporte-form{gap:18px;width:100%}.soporte-form select,.soporte-form textarea{font-size:16px}.soporte-form button{font-size:16px;padding:12px}.tickets-ui-list-title{font-size:1.15em;margin-left:0;margin-bottom:14px}.tickets-ui-list{padding:0;gap:14px}.tickets-ui-card{padding:16px 18px;gap:6px}.tickets-ui-id{font-size:1em}.tickets-ui-status{font-size:.9em;padding:3px 10px}.tickets-ui-card-title{font-size:1.05em}.tickets-ui-card-meta{flex-wrap:wrap;gap:8px}.tickets-ui-chip{font-size:.9em;padding:3px 10px}.tickets-ui-card-desc{font-size:.95em}.tickets-ui-card-date{font-size:.9em}}.dark-mode .soporte-form select,.dark-mode .soporte-form textarea{background:var(--surface);color:var(--text);border-color:var(--border)}.dark-mode .tickets-ui-card{background:var(--surface);box-shadow:0 4px 24px #0003,0 1.5px 8px #00000026}.dark-mode .tickets-ui-status{background:var(--primary-light);color:var(--primary)}.dark-mode .tickets-ui-status.cerrado{background:var(--border);color:var(--muted)}.dark-mode .tickets-ui-chip{background:var(--border);color:var(--text)}.dark-mode .criticidad-alta{background:#e11d4826}.dark-mode .criticidad-media{background:#f59e4226}.dark-mode .criticidad-baja{background:#22c55e26}.tickets-dashboard-outer{min-height:100vh;background:var(--bg);display:flex;align-items:center;justify-content:center}.tickets-dashboard-container{width:480px;padding:32px 24px 18px;background:var(--surface);border-radius:22px;box-shadow:var(--shadow);margin:40px auto;display:flex;flex-direction:column;align-items:center;border:1px solid var(--border)}.calendar-elevated{border:1.5px solid var(--border)}.tickets-dashboard-header{display:flex;align-items:center;justify-content:center;margin-bottom:18px;width:100%}.tickets-dashboard-title{color:var(--primary);margin:0 18px;letter-spacing:1px;text-transform:capitalize;font-size:1.45rem;font-weight:700;flex:1;text-align:center}.tickets-dashboard-nav{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:4px 12px;cursor:pointer;font-size:1.2rem;transition:background .2s;display:flex;align-items:center;justify-content:center}.tickets-dashboard-nav:hover{background:var(--primary-600)}.calendar-grid{display:grid;grid-template-columns:repeat(7,48px);grid-template-rows:32px repeat(6,56px);gap:10px;background:var(--border);padding:18px 10px 10px;border-radius:16px;width:100%;min-width:340px;margin-bottom:18px;box-sizing:border-box}.calendar-cell{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;border-radius:12px;background:var(--surface);font-size:15px;font-family:Inter,Segoe UI,Arial,sans-serif;transition:box-shadow .18s,border .18s,background .18s;position:relative;min-width:0;min-height:0}.calendar-header-cell{background:transparent;color:var(--primary);font-weight:700;font-size:15px;justify-content:center;align-items:center;border:none;box-shadow:none;cursor:default;letter-spacing:.5px}.calendar-empty{background:transparent;border:none;box-shadow:none;cursor:default}.tickets-dashboard-day{border:1.5px solid var(--border);min-height:56px;min-width:48px;max-width:48px;max-height:56px;margin:0;padding:0;justify-content:flex-start;align-items:center;cursor:default;box-sizing:border-box;color:var(--text)}.tickets-dashboard-day.attended{background:linear-gradient(135deg,var(--primary) 80%,#60a5fa 100%);color:#fff;border:1.5px solid var(--primary);box-shadow:0 2px 8px #2563eb21;cursor:pointer}.tickets-dashboard-day.today{border:2.5px solid #facc15}.tickets-dashboard-date{font-weight:700;font-size:16px;margin-top:7px;margin-bottom:2px;letter-spacing:.5px;display:flex;align-items:center;gap:4px}.tickets-dashboard-today-dot{margin-left:4px;font-size:12px;color:#facc15}.tickets-dashboard-total{font-size:17px;font-weight:700;margin-bottom:2px;margin-top:2px}.tickets-dashboard-ids{font-size:11px;opacity:.9;text-align:center;word-break:break-all;margin-bottom:2px;margin-top:1px}.tickets-dashboard-id-badge{display:inline-block;background:#fff3;color:#fff;border-radius:6px;padding:2px 7px;margin:0 2px 2px;font-size:12px;font-weight:600;letter-spacing:.5px}.tickets-dashboard-more{display:inline-block;background:#fff3;color:#fff;border-radius:6px;padding:2px 7px;margin-left:2px;font-size:12px;font-weight:600}.tickets-dashboard-day.attended:hover,.tickets-dashboard-day.attended:focus{box-shadow:0 4px 16px #2563eb45;outline:2px solid var(--primary);z-index:2;background:linear-gradient(135deg,var(--primary-600) 80%,var(--primary) 100%)}.tickets-dashboard-day-hover{display:none;position:absolute;bottom:7px;left:50%;transform:translate(-50%);background:var(--primary);color:#fff;font-size:12px;padding:2px 10px;border-radius:8px;box-shadow:0 2px 8px #2563eb21;pointer-events:none;z-index:10}.tickets-dashboard-day.attended:hover .tickets-dashboard-day-hover,.tickets-dashboard-day.attended:focus .tickets-dashboard-day-hover{display:block}.tickets-dashboard-loading{text-align:center;margin-top:16px}.tickets-dashboard-legend{margin-top:10px;text-align:center;color:var(--text-secondary);font-size:13px;letter-spacing:.2px}.tickets-dashboard-legend-dot{background:var(--primary);color:#fff;border-radius:4px;padding:2px 8px;margin-right:8px;font-size:1.1em}.tickets-dashboard-modal-bg{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;background:#1e293b40;display:flex;align-items:center;justify-content:center;animation:fadeInBg .2s}@keyframes fadeInBg{0%{opacity:0}to{opacity:1}}.tickets-dashboard-modal{background:var(--surface);border-radius:16px;padding:32px 28px 20px;box-shadow:0 8px 32px #2563eb33;min-width:320px;max-width:95vw;animation:fadeInModal .2s;color:var(--text)}@keyframes fadeInModal{0%{transform:translateY(40px) scale(.98);opacity:0}to{transform:none;opacity:1}}.tickets-dashboard-modal h3{margin-top:0;color:var(--primary);font-size:1.2rem;margin-bottom:18px;text-align:center}.tickets-dashboard-modal ul{list-style:none;padding:0;margin:0 0 18px}.tickets-dashboard-modal-id{font-weight:600;color:var(--primary);margin-right:10px}.tickets-dashboard-modal-link{color:var(--text);text-decoration:underline;font-size:.98em;transition:color .2s}.tickets-dashboard-modal-link:hover{color:var(--primary)}.tickets-dashboard-modal-close{display:block;margin:0 auto;background:var(--primary);color:#fff;border:none;border-radius:8px;padding:7px 24px;font-size:1rem;cursor:pointer;transition:background .2s}.tickets-dashboard-modal-close:hover{background:var(--primary-600)}.tickets-admin-dashboard{max-width:1200px;margin:40px auto;font-family:Inter,Segoe UI,Arial,sans-serif}.tickets-admin-title{color:var(--primary);font-size:2rem;font-weight:700;margin-bottom:18px;letter-spacing:1px;text-align:center}.tickets-admin-filtros{display:flex;flex-wrap:wrap;gap:18px 32px;margin-bottom:18px;align-items:center;justify-content:center}.tickets-admin-filtros .search-input{width:300px;padding:8px 12px;border:1.5px solid var(--border);border-radius:6px;font-size:14px;transition:all .2s;background:var(--surface);color:var(--text)}.tickets-admin-filtros .search-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #2563eb1a}.tickets-admin-filtros .search-input::placeholder{color:var(--muted)}.tickets-admin-filtros label{font-weight:500;color:var(--primary);font-size:1rem}.tickets-admin-filtros select,.tickets-admin-filtros input[type=date]{border:1.5px solid var(--border);border-radius:6px;padding:4px 10px;font-size:1rem;margin-left:4px;background:var(--surface);color:var(--text);transition:border .2s}.tickets-admin-filtros select:focus,.tickets-admin-filtros input[type=date]:focus{border:1.5px solid var(--primary);outline:none}.tickets-admin-resumen{margin-bottom:12px;color:var(--text);font-size:1.08rem;font-weight:500;text-align:left}.tickets-admin-tecnico-resumen{margin-right:14px;color:var(--primary)}.tickets-admin-table-wrap{overflow-x:auto;border-radius:10px;background:var(--surface);box-shadow:0 2px 8px #2563eb12}.tickets-admin-table{width:100%;border-collapse:collapse;min-width:900px;background:var(--surface)}.tickets-admin-table th,.tickets-admin-table td{padding:10px 8px;text-align:left;border-bottom:1.5px solid var(--border);font-size:1rem;max-width:6rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;color:var(--text)}.tickets-admin-table th{background:var(--border);color:var(--primary);font-weight:700;letter-spacing:.5px;font-size:1.05rem}.tickets-admin-table tr:last-child td{border-bottom:none}.tickets-admin-ver{color:var(--primary);text-decoration:underline;font-weight:600;font-size:1rem;transition:color .2s}.tickets-admin-ver:hover{color:var(--primary-600)}.tickets-admin-estado{padding:3px 10px;border-radius:8px;font-weight:600;font-size:.98rem;background:var(--border);color:var(--primary);text-transform:capitalize}.tickets-admin-estado.cerrado{background:#dcfce7;color:#15803d}.tickets-admin-estado.abierto{background:#fef9c3;color:#b45309}.tickets-admin-estado.en-progreso{background:#dbeafe;color:var(--primary)}.tickets-admin-loading,.tickets-admin-vacio{text-align:center;color:var(--text-secondary);font-size:1.1rem;padding:18px 0}.soporte-detail-asignar-btn{width:100%;padding:12px;border:none;border-radius:5px;font-size:1rem;cursor:pointer;transition:.3s}@media (max-width: 900px){.tickets-admin-table{min-width:700px;font-size:.97rem}}@media (max-width: 600px){.tickets-admin-title{font-size:1.2rem}.tickets-admin-filtros label{font-size:.97rem}.tickets-admin-table{min-width:500px;font-size:.93rem}}@media (max-width: 480px){.tickets-admin-dashboard{padding:.5rem 1rem}.tickets-admin-filtros{flex-direction:column;gap:10px;align-items:stretch;padding:8px 4px}.tickets-admin-filtros>div{width:100%}.tickets-admin-filtros select,.tickets-admin-filtros input[type=date]{width:100%;box-sizing:border-box}.tickets-admin-table-wrap{padding:8px}.tickets-admin-table{min-width:100%;display:block}.tickets-admin-table thead{display:none}.tickets-admin-table tbody{display:block}.tickets-admin-table tbody tr{display:block;background:var(--surface);margin:8px 0;padding:10px 12px;border-radius:10px;box-shadow:0 2px 8px #00000012;border:1px solid var(--border)}.tickets-admin-table td{display:flex;justify-content:space-between;align-items:flex-start;padding:6px 0;border-bottom:none;font-size:.95rem;width:100%;max-width:none}.tickets-admin-table td:nth-of-type(3){max-width:calc(100dvw + 2rem)}.tickets-admin-table td:nth-child(1):before{content:"ID: ";font-weight:700;color:var(--text-secondary);margin-right:6px}.tickets-admin-table td:nth-child(2):before{content:"Asunto: ";font-weight:700;color:var(--text-secondary);margin-right:6px}.tickets-admin-table td:nth-child(3):before{content:"Descripción: ";font-weight:700;color:var(--text-secondary);margin-right:6px}.tickets-admin-table td:nth-child(4):before{content:"Usuario: ";font-weight:700;color:var(--text-secondary);margin-right:6px}.tickets-admin-table td:nth-child(5):before{content:"Técnico: ";font-weight:700;color:var(--text-secondary);margin-right:6px}.tickets-admin-table td:nth-child(6):before{content:"Estado: ";font-weight:700;color:var(--text-secondary);margin-right:6px}.tickets-admin-table td:nth-child(7):before{content:"Creación: ";font-weight:700;color:var(--text-secondary);margin-right:6px}.tickets-admin-table td:nth-child(8):before{content:"Cierre: ";font-weight:700;color:var(--text-secondary);margin-right:6px}.tickets-admin-table td:nth-child(9):before{content:"Acción: ";font-weight:700;color:var(--text-secondary);margin-right:6px}.tickets-admin-table td:before{display:inline-block;min-width:90px}.tickets-admin-table td>*{max-width:calc(100% - 100px);overflow:hidden;text-overflow:ellipsis}.tickets-admin-table td:nth-child(3){flex-direction:column;align-items:flex-start;width:100%;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-clamp:3;line-height:.6}.tickets-admin-table td:nth-child(3)>*{white-space:normal;max-height:6em;overflow:hidden}.tickets-admin-ver{display:inline-block;margin-left:8px}}.usuario-detail-container,.usuario-new-container{max-width:750px;margin:0 auto;padding:24px 20px;background:transparent}.usuario-detail-container h2,.usuario-new-container h2{margin:0 0 24px;font-size:1.75rem;font-weight:700;color:var(--text);letter-spacing:-.025em}.usuarios-form{background:var(--surface);border-radius:12px;padding:0;box-shadow:0 1px 2px #0000000d,0 4px 20px #0000000f;border:1px solid var(--border);overflow:hidden}.usuarios-form-row{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0;border-bottom:1px solid var(--border)}.usuarios-form-row:last-of-type{border-bottom:none}.usuarios-form-row>*{position:relative;border-right:1px solid var(--border)}.usuarios-form-row>*:last-child{border-right:none}.usuarios-form-row input,.usuarios-form-row select{width:100%;padding:16px 18px;border:none;border-radius:0;font-size:.95rem;font-weight:500;background:var(--surface);color:var(--text);transition:all .2s ease;box-sizing:border-box;outline:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.usuarios-form-row input:hover,.usuarios-form-row select:hover{background:var(--border)}.usuarios-form-row input:focus,.usuarios-form-row select:focus{background:var(--border);box-shadow:inset 0 0 0 2px var(--primary);z-index:1}.usuarios-form-row input::placeholder{color:var(--muted);font-weight:400}.usuarios-form-row select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 14px center;background-repeat:no-repeat;background-size:16px;padding-right:38px}.usuarios-form-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;background:var(--border);border-top:1px solid var(--border);margin:0}.usuarios-btn-save,.usuarios-btn-cancel{padding:10px 20px;border-radius:7px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s ease;border:none;outline:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;letter-spacing:.01em}.usuarios-btn-save{background:var(--primary);color:#fff;padding:10px 28px;box-shadow:0 1px 2px #2563eb33}.usuarios-btn-save:hover:not(:disabled){background:var(--primary-600);box-shadow:0 2px 8px #2563eb4d;transform:translateY(-1px)}.usuarios-btn-save:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #2563eb33}.usuarios-btn-save:disabled{background:var(--border);color:var(--muted);cursor:not-allowed;box-shadow:none;transform:none}.usuarios-btn-cancel{background:var(--surface);color:var(--text-secondary);border:1.5px solid var(--border)}.usuarios-btn-cancel:hover{background:var(--border);border-color:var(--muted);color:var(--text)}.usuarios-btn-cancel:active{background:var(--border)}.usuarios-feedback{margin:20px 24px 0;padding:14px 16px;border-radius:8px;font-weight:500;font-size:.9rem;background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;display:flex;align-items:center;gap:10px}.usuarios-feedback:before{content:"✓";display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:#10b981;color:#fff;border-radius:50%;font-weight:700;font-size:.75rem;flex-shrink:0}.usuarios-loading{text-align:center;padding:60px 20px;font-size:.95rem;font-weight:500;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:12px}.usuarios-loading:before{content:"";width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}.usuario-detail-container .usuarios-btn-cancel:first-child,.usuario-new-container .usuarios-btn-cancel:first-child{margin-bottom:20px;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:none;color:var(--text-secondary);box-shadow:none;font-size:.9rem;border-radius:6px}.usuario-detail-container .usuarios-btn-cancel:first-child:hover,.usuario-new-container .usuarios-btn-cancel:first-child:hover{background:var(--border);color:var(--primary);transform:none}@media (max-width: 768px){.usuario-detail-container,.usuario-new-container{padding:20px 16px}.usuario-detail-container h2,.usuario-new-container h2{font-size:1.5rem;margin-bottom:20px}.usuarios-form-row{grid-template-columns:1fr}.usuarios-form-row>*{border-right:none}.usuarios-form-row input,.usuarios-form-row select{padding:14px 16px;font-size:.9rem}.usuarios-form-actions{padding:16px 20px;flex-direction:row}.usuarios-btn-save{order:2;flex:1}.usuarios-btn-cancel{order:1;flex:0 0 auto}.usuarios-feedback{margin:16px 20px 0;padding:12px 14px;font-size:.85rem}}@media (max-width: 480px){.usuario-detail-container,.usuario-new-container{padding:16px 12px}.usuario-detail-container h2,.usuario-new-container h2{font-size:1.35rem}.usuarios-form{border-radius:10px}.usuarios-form-row input,.usuarios-form-row select{padding:13px 14px;font-size:.875rem}.usuarios-form-actions{flex-direction:column;padding:14px 16px;gap:8px}.usuarios-btn-save,.usuarios-btn-cancel{width:100%;order:unset}.usuarios-btn-save{padding:11px 20px}}@media (prefers-reduced-motion: no-preference){.usuarios-form{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}@media (max-width: 600px){.doc-filters-row{flex-direction:column!important;align-items:stretch!important;gap:8px!important}.doc-switch,.docTypeDropdown-nav,.docTypeDropdown-details{width:100%}}.doc-container{padding:2.5rem;margin:0 auto;max-width:1280px;font-family:Inter,sans-serif;background-color:var(--bg);min-height:100vh}.doc-header{display:flex;flex-direction:column;align-items:flex-start;gap:.8rem;margin-bottom:1.5rem}.doc-header h1{font-size:1.8rem;font-weight:700;color:var(--text);margin:0}.doc-header-top{display:flex;justify-content:space-between;align-items:center;width:100%;flex-wrap:wrap}.doc-header-bottom{display:flex;justify-content:space-between;align-items:center;width:100%;flex-wrap:wrap;gap:1rem}.doc-search input{padding:.5rem 1rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;width:240px;background:var(--surface);color:var(--text)}.doc-switch{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text)}.switch{position:relative;display:inline-block;width:40px;height:20px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border);transition:.4s;border-radius:20px}.slider:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:var(--surface);transition:.4s;border-radius:50%}input:checked+.slider{background-color:#1e3a8a}input:checked+.slider:before{transform:translate(20px)}.doc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:1rem}@media (max-width: 1024px){.doc-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.doc-grid{grid-template-columns:1fr}}.doc-card{position:relative;background:var(--surface);padding:1.2rem;border-radius:12px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between;transition:all .2s ease-in-out;cursor:pointer;border:1px solid var(--border)}.doc-card:hover{background:var(--border)}.doc-icon{font-size:2.2rem;text-align:center;color:var(--muted)}.doc-info{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-top:1rem;font-size:.95rem;color:var(--text)}.doc-info-content{flex:1}.doc-info-content strong{display:block;font-weight:600;margin-bottom:.25rem;line-height:1.2}.doc-info-content p{color:var(--muted);font-size:.85rem;margin:0}.doc-menu-button{background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--muted)}.menu-dropdown{position:absolute;top:0;right:.7rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);z-index:9999;padding:.5rem;display:flex;flex-direction:column;min-width:140px}.menu-dropdown button,.menu-dropdown a{background:none;border:none;padding:.4rem .6rem;text-align:left;cursor:pointer;font-size:.85rem;color:var(--text);text-decoration:none}.menu-dropdown button:hover,.menu-dropdown a:hover{background-color:var(--border)}.doc-options{margin-top:1rem;display:flex;justify-content:space-between;gap:.5rem}.doc-options button,.doc-options a{flex:1;padding:.4rem .6rem;font-size:.85rem;border:none;border-radius:6px;cursor:pointer;text-align:center;text-decoration:none;font-weight:500;background-color:var(--border);color:var(--text)}.doc-options button:hover,.doc-options a:hover{background-color:var(--muted);color:var(--surface)}.doc-menu{position:absolute;top:.8rem;right:.8rem}.menu-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--text-secondary)}.menu-btn:hover{color:var(--primary)}@keyframes plyr-progress{to{background-position:25px 0;background-position:var(--plyr-progress-loading-size,25px) 0}}@keyframes plyr-popup{0%{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes plyr-fade-in{0%{opacity:0}to{opacity:1}}.plyr{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;align-items:center;direction:ltr;display:flex;flex-direction:column;font-family:inherit;font-family:var(--plyr-font-family,inherit);font-variant-numeric:tabular-nums;font-weight:400;font-weight:var(--plyr-font-weight-regular,400);line-height:1.7;line-height:var(--plyr-line-height,1.7);max-width:100%;min-width:200px;position:relative;text-shadow:none;transition:box-shadow .3s ease;z-index:0}.plyr audio,.plyr iframe,.plyr video{display:block;height:100%;width:100%}.plyr button{font:inherit;line-height:inherit;width:auto}.plyr:focus{outline:0}.plyr--full-ui{box-sizing:border-box}.plyr--full-ui *,.plyr--full-ui :after,.plyr--full-ui :before{box-sizing:inherit}.plyr--full-ui a,.plyr--full-ui button,.plyr--full-ui input,.plyr--full-ui label{touch-action:manipulation}.plyr__badge{background:#4a5464;background:var(--plyr-badge-background,#4a5464);border-radius:2px;border-radius:var(--plyr-badge-border-radius,2px);color:#fff;color:var(--plyr-badge-text-color,#fff);font-size:9px;font-size:var(--plyr-font-size-badge,9px);line-height:1;padding:3px 4px}.plyr--full-ui ::-webkit-media-text-track-container{display:none}.plyr__captions{animation:plyr-fade-in .3s ease;bottom:0;display:none;font-size:13px;font-size:var(--plyr-font-size-small,13px);left:0;padding:10px;padding:var(--plyr-control-spacing,10px);position:absolute;text-align:center;transition:transform .4s ease-in-out;width:100%}.plyr__captions span:empty{display:none}@media (min-width:480px){.plyr__captions{font-size:15px;font-size:var(--plyr-font-size-base,15px);padding:20px;padding:calc(var(--plyr-control-spacing, 10px)*2)}}@media (min-width:768px){.plyr__captions{font-size:18px;font-size:var(--plyr-font-size-large,18px)}}.plyr--captions-active .plyr__captions{display:block}.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty)~.plyr__captions{transform:translateY(-40px);transform:translateY(calc(var(--plyr-control-spacing, 10px)*-4))}.plyr__caption{background:#000c;background:var(--plyr-captions-background,#000c);border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:#fff;color:var(--plyr-captions-text-color,#fff);line-height:185%;padding:.2em .5em;white-space:pre-wrap}.plyr__caption div{display:inline}.plyr__control{background:#0000;border:0;border-radius:3px;border-radius:var(--plyr-control-radius,3px);color:inherit;cursor:pointer;flex-shrink:0;overflow:visible;padding:7px;padding:calc(var(--plyr-control-spacing, 10px)*.7);position:relative;transition:all .3s ease}.plyr__control svg{fill:currentColor;display:block;height:18px;height:var(--plyr-control-icon-size,18px);pointer-events:none;width:18px;width:var(--plyr-control-icon-size,18px)}.plyr__control:focus{outline:0}.plyr__control:focus-visible{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}a.plyr__control{text-decoration:none}.plyr__control.plyr__control--pressed .icon--not-pressed,.plyr__control.plyr__control--pressed .label--not-pressed,.plyr__control:not(.plyr__control--pressed) .icon--pressed,.plyr__control:not(.plyr__control--pressed) .label--pressed,a.plyr__control:after,a.plyr__control:before{display:none}.plyr--full-ui ::-webkit-media-controls{display:none}.plyr__controls{align-items:center;display:flex;justify-content:flex-end;text-align:center}.plyr__controls .plyr__progress__container{flex:1;min-width:0}.plyr__controls .plyr__controls__item{margin-left:2.5px;margin-left:calc(var(--plyr-control-spacing, 10px)/4)}.plyr__controls .plyr__controls__item:first-child{margin-left:0;margin-right:auto}.plyr__controls .plyr__controls__item.plyr__progress__container{padding-left:2.5px;padding-left:calc(var(--plyr-control-spacing, 10px)/4)}.plyr__controls .plyr__controls__item.plyr__time{padding:0 5px;padding:0 calc(var(--plyr-control-spacing, 10px)/2)}.plyr__controls .plyr__controls__item.plyr__progress__container:first-child,.plyr__controls .plyr__controls__item.plyr__time+.plyr__time,.plyr__controls .plyr__controls__item.plyr__time:first-child{padding-left:0}.plyr [data-plyr=airplay],.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr [data-plyr=pip],.plyr__controls:empty{display:none}.plyr--airplay-supported [data-plyr=airplay],.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr--pip-supported [data-plyr=pip]{display:inline-block}.plyr__menu{display:flex;position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(90deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{animation:plyr-popup .2s ease;background:#ffffffe6;background:var(--plyr-menu-background,#ffffffe6);border-radius:4px;border-radius:var(--plyr-menu-radius,4px);bottom:100%;box-shadow:0 1px 2px #00000026;box-shadow:var(--plyr-menu-shadow,0 1px 2px #00000026);color:#4a5464;color:var(--plyr-menu-color,#4a5464);font-size:15px;font-size:var(--plyr-font-size-base,15px);margin-bottom:10px;position:absolute;right:-3px;text-align:left;white-space:nowrap;z-index:3}.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu__container:after{border:4px solid #0000;border-top-color:#ffffffe6;border:var(--plyr-menu-arrow-size,4px) solid #0000;border-top-color:var(--plyr-menu-background,#ffffffe6);content:"";height:0;position:absolute;right:14px;right:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7 - var(--plyr-menu-arrow-size, 4px)/2);top:100%;width:0}.plyr__menu__container [role=menu]{padding:7px;padding:calc(var(--plyr-control-spacing, 10px)*.7)}.plyr__menu__container [role=menuitem],.plyr__menu__container [role=menuitemradio]{margin-top:2px}.plyr__menu__container [role=menuitem]:first-child,.plyr__menu__container [role=menuitemradio]:first-child{margin-top:0}.plyr__menu__container .plyr__control{align-items:center;color:#4a5464;color:var(--plyr-menu-color,#4a5464);display:flex;font-size:13px;font-size:var(--plyr-font-size-menu,var(--plyr-font-size-small,13px));padding:4.66667px 10.5px;padding:calc(var(--plyr-control-spacing, 10px)*.7/1.5) calc(var(--plyr-control-spacing, 10px)*.7*1.5);-webkit-user-select:none;user-select:none;width:100%}.plyr__menu__container .plyr__control>span{align-items:inherit;display:flex;width:100%}.plyr__menu__container .plyr__control:after{border:4px solid #0000;border:var(--plyr-menu-item-arrow-size,4px) solid #0000;content:"";position:absolute;top:50%;transform:translateY(-50%)}.plyr__menu__container .plyr__control--forward{padding-right:28px;padding-right:calc(var(--plyr-control-spacing, 10px)*.7*4)}.plyr__menu__container .plyr__control--forward:after{border-left-color:#728197;border-left-color:var(--plyr-menu-arrow-color,#728197);right:6.5px;right:calc(var(--plyr-control-spacing, 10px)*.7*1.5 - var(--plyr-menu-item-arrow-size, 4px))}.plyr__menu__container .plyr__control--forward:focus-visible:after,.plyr__menu__container .plyr__control--forward:hover:after{border-left-color:initial}.plyr__menu__container .plyr__control--back{font-weight:400;font-weight:var(--plyr-font-weight-regular,400);margin:7px;margin:calc(var(--plyr-control-spacing, 10px)*.7);margin-bottom:3.5px;margin-bottom:calc(var(--plyr-control-spacing, 10px)*.7/2);padding-left:28px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7*4);position:relative;width:calc(100% - 14px);width:calc(100% - var(--plyr-control-spacing, 10px)*.7*2)}.plyr__menu__container .plyr__control--back:after{border-right-color:#728197;border-right-color:var(--plyr-menu-arrow-color,#728197);left:6.5px;left:calc(var(--plyr-control-spacing, 10px)*.7*1.5 - var(--plyr-menu-item-arrow-size, 4px))}.plyr__menu__container .plyr__control--back:before{background:#dcdfe5;background:var(--plyr-menu-back-border-color,#dcdfe5);box-shadow:0 1px #fff;box-shadow:0 1px 0 var(--plyr-menu-back-border-shadow-color,#fff);content:"";height:1px;left:0;margin-top:3.5px;margin-top:calc(var(--plyr-control-spacing, 10px)*.7/2);overflow:hidden;position:absolute;right:0;top:100%}.plyr__menu__container .plyr__control--back:focus-visible:after,.plyr__menu__container .plyr__control--back:hover:after{border-right-color:initial}.plyr__menu__container .plyr__control[role=menuitemradio]{padding-left:7px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7)}.plyr__menu__container .plyr__control[role=menuitemradio]:after,.plyr__menu__container .plyr__control[role=menuitemradio]:before{border-radius:100%}.plyr__menu__container .plyr__control[role=menuitemradio]:before{background:#0000001a;content:"";display:block;flex-shrink:0;height:16px;margin-right:10px;margin-right:var(--plyr-control-spacing,10px);transition:all .3s ease;width:16px}.plyr__menu__container .plyr__control[role=menuitemradio]:after{background:#fff;border:0;height:6px;left:12px;opacity:0;top:50%;transform:translateY(-50%) scale(0);transition:transform .3s ease,opacity .3s ease;width:6px}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:before{background:#00b2ff;background:var(--plyr-control-toggle-checked-background,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)))}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:after{opacity:1;transform:translateY(-50%) scale(1)}.plyr__menu__container .plyr__control[role=menuitemradio]:focus-visible:before,.plyr__menu__container .plyr__control[role=menuitemradio]:hover:before{background:#23282f1a}.plyr__menu__container .plyr__menu__value{align-items:center;display:flex;margin-left:auto;margin-right:-5px;margin-right:calc(var(--plyr-control-spacing, 10px)*.7*-1 - -2px);overflow:hidden;padding-left:24.5px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7*3.5);pointer-events:none}.plyr--full-ui input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#0000;border:0;border-radius:26px;border-radius:calc(var(--plyr-range-thumb-height, 13px)*2);color:#00b2ff;color:var(--plyr-range-fill-background,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));display:block;height:19px;height:calc(var(--plyr-range-thumb-active-shadow-width, 3px)*2 + var(--plyr-range-thumb-height, 13px));margin:0;min-width:0;padding:0;transition:box-shadow .3s ease;width:100%}.plyr--full-ui input[type=range]::-webkit-slider-runnable-track{background:#0000;background-image:linear-gradient(90deg,currentColor 0,#0000 0);background-image:linear-gradient(to right,currentColor var(--value,0),#0000 var(--value,0));border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-webkit-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:13px;height:var(--plyr-range-thumb-height,13px);margin-top:-4px;margin-top:calc((var(--plyr-range-thumb-height, 13px) - var(--plyr-range-track-height, 5px))/2*-1);position:relative;-webkit-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-moz-range-track{background:#0000;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-moz-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-moz-range-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:13px;height:var(--plyr-range-thumb-height,13px);position:relative;-moz-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-moz-range-progress{background:currentColor;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px)}.plyr--full-ui input[type=range]::-ms-track{color:#0000}.plyr--full-ui input[type=range]::-ms-fill-upper,.plyr--full-ui input[type=range]::-ms-track{background:#0000;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-ms-fill-lower{background:#0000;background:currentColor;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-ms-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:13px;height:var(--plyr-range-thumb-height,13px);margin-top:0;position:relative;-ms-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-ms-tooltip{display:none}.plyr--full-ui input[type=range]::-moz-focus-outer{border:0}.plyr--full-ui input[type=range]:focus{outline:0}.plyr--full-ui input[type=range]:focus-visible::-webkit-slider-runnable-track{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}.plyr--full-ui input[type=range]:focus-visible::-moz-range-track{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}.plyr--full-ui input[type=range]:focus-visible::-ms-track{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}.plyr__poster{background-color:#000;background-color:var(--plyr-video-background,var(--plyr-video-background,#000));background-position:50% 50%;background-repeat:no-repeat;background-size:contain;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:1}.plyr--stopped.plyr__poster-enabled .plyr__poster{opacity:1}.plyr--youtube.plyr--paused.plyr__poster-enabled:not(.plyr--stopped) .plyr__poster{display:none}.plyr__time{font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px))}.plyr__time+.plyr__time:before{content:"⁄";margin-right:10px;margin-right:var(--plyr-control-spacing,10px)}@media (max-width:767px){.plyr__time+.plyr__time{display:none}}.plyr__tooltip{background:#ffffffe6;background:var(--plyr-tooltip-background,#ffffffe6);border-radius:5px;border-radius:var(--plyr-tooltip-radius,5px);bottom:100%;box-shadow:0 1px 2px #00000026;box-shadow:var(--plyr-tooltip-shadow,0 1px 2px #00000026);color:#4a5464;color:var(--plyr-tooltip-color,#4a5464);font-size:13px;font-size:var(--plyr-font-size-small,13px);font-weight:400;font-weight:var(--plyr-font-weight-regular,400);left:50%;line-height:1.3;margin-bottom:10px;margin-bottom:calc(var(--plyr-control-spacing, 10px)/2*2);opacity:0;padding:5px 7.5px;padding:calc(var(--plyr-control-spacing, 10px)/2) calc(var(--plyr-control-spacing, 10px)/2*1.5);pointer-events:none;position:absolute;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;white-space:nowrap;z-index:2}.plyr__tooltip:before{border-left:4px solid #0000;border-left:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-right:4px solid #0000;border-right:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-top:4px solid #ffffffe6;border-top:var(--plyr-tooltip-arrow-size,4px) solid var(--plyr-tooltip-background,#ffffffe6);bottom:-4px;bottom:calc(var(--plyr-tooltip-arrow-size, 4px)*-1);content:"";height:0;left:50%;position:absolute;transform:translate(-50%);width:0;z-index:2}.plyr .plyr__control:focus-visible .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translateY(10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip:before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip:before{left:16px;left:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7)}.plyr__controls>.plyr__control:last-child .plyr__tooltip{left:auto;right:0;transform:translateY(10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip:before{left:auto;right:16px;right:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7);transform:translate(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0) scale(1)}.plyr__progress{left:6.5px;left:calc(var(--plyr-range-thumb-height, 13px)*.5);margin-right:13px;margin-right:var(--plyr-range-thumb-height,13px);position:relative}.plyr__progress input[type=range],.plyr__progress__buffer{margin-left:-6.5px;margin-left:calc(var(--plyr-range-thumb-height, 13px)*-.5);margin-right:-6.5px;margin-right:calc(var(--plyr-range-thumb-height, 13px)*-.5);width:calc(100% + 13px);width:calc(100% + var(--plyr-range-thumb-height, 13px))}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress .plyr__tooltip{left:0;max-width:120px;overflow-wrap:break-word}.plyr__progress__buffer{-webkit-appearance:none;background:#0000;border:0;border-radius:100px;height:5px;height:var(--plyr-range-track-height,5px);left:0;margin-top:-2.5px;margin-top:calc((var(--plyr-range-track-height, 5px)/2)*-1);padding:0;position:absolute;top:50%}.plyr__progress__buffer::-webkit-progress-bar{background:#0000}.plyr__progress__buffer::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:5px;min-width:var(--plyr-range-track-height,5px);-webkit-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:5px;min-width:var(--plyr-range-track-height,5px);-moz-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-ms-fill{border-radius:100px;-ms-transition:width .2s ease;transition:width .2s ease}.plyr--loading .plyr__progress__buffer{animation:plyr-progress 1s linear infinite;background-image:linear-gradient(-45deg,#23282f99 25%,#0000 0,#0000 50%,#23282f99 0,#23282f99 75%,#0000 0,#0000);background-image:linear-gradient(-45deg,var(--plyr-progress-loading-background,#23282f99) 25%,#0000 25%,#0000 50%,var(--plyr-progress-loading-background,#23282f99) 50%,var(--plyr-progress-loading-background,#23282f99) 75%,#0000 75%,#0000);background-repeat:repeat-x;background-size:25px 25px;background-size:var(--plyr-progress-loading-size,25px) var(--plyr-progress-loading-size,25px);color:#0000}.plyr--video.plyr--loading .plyr__progress__buffer{background-color:#ffffff40;background-color:var(--plyr-video-progress-buffered-background,#ffffff40)}.plyr--audio.plyr--loading .plyr__progress__buffer{background-color:#c1c8d199;background-color:var(--plyr-audio-progress-buffered-background,#c1c8d199)}.plyr__progress__marker{background-color:#fff;background-color:var(--plyr-progress-marker-background,#fff);border-radius:1px;height:5px;height:var(--plyr-range-track-height,5px);position:absolute;top:50%;transform:translate(-50%,-50%);width:3px;width:var(--plyr-progress-marker-width,3px);z-index:3}.plyr__volume{align-items:center;display:flex;position:relative}.plyr__volume input[type=range]{margin-left:5px;margin-left:calc(var(--plyr-control-spacing, 10px)/2);margin-right:5px;margin-right:calc(var(--plyr-control-spacing, 10px)/2);max-width:90px;min-width:60px;position:relative;z-index:2}.plyr--audio{display:block}.plyr--audio .plyr__controls{background:#fff;background:var(--plyr-audio-controls-background,#fff);border-radius:inherit;color:#4a5464;color:var(--plyr-audio-control-color,#4a5464);padding:10px;padding:var(--plyr-control-spacing,10px)}.plyr--audio .plyr__control:focus-visible,.plyr--audio .plyr__control:hover,.plyr--audio .plyr__control[aria-expanded=true]{background:#00b2ff;background:var(--plyr-audio-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));color:#fff;color:var(--plyr-audio-control-color-hover,#fff)}.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track{background-color:#c1c8d199;background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track{background-color:#c1c8d199;background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]::-ms-track{background-color:#c1c8d199;background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #23282f1a;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #23282f1a;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #23282f1a;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--audio .plyr__progress__buffer{color:#c1c8d199;color:var(--plyr-audio-progress-buffered-background,#c1c8d199)}.plyr--video{background:#000;background:var(--plyr-video-background,var(--plyr-video-background,#000));overflow:hidden}.plyr--video.plyr--menu-open{overflow:visible}.plyr__video-wrapper{background:#000;background:var(--plyr-video-background,var(--plyr-video-background,#000));height:100%;margin:auto;overflow:hidden;position:relative;width:100%}.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{aspect-ratio:16/9}@supports not (aspect-ratio:16/9){.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{height:0;padding-bottom:56.25%;position:relative}}.plyr__video-embed iframe,.plyr__video-wrapper--fixed-ratio video{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.plyr--full-ui .plyr__video-embed>.plyr__video-embed__container{padding-bottom:240%;position:relative;transform:translateY(-38.28125%)}.plyr--video .plyr__controls{background:linear-gradient(#0000,#000000bf);background:var(--plyr-video-controls-background,linear-gradient(#0000,#000000bf));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;bottom:0;color:#fff;color:var(--plyr-video-control-color,#fff);left:0;padding:5px;padding:calc(var(--plyr-control-spacing, 10px)/2);padding-top:20px;padding-top:calc(var(--plyr-control-spacing, 10px)*2);position:absolute;right:0;transition:opacity .4s ease-in-out,transform .4s ease-in-out;z-index:3}@media (min-width:480px){.plyr--video .plyr__controls{padding:10px;padding:var(--plyr-control-spacing,10px);padding-top:35px;padding-top:calc(var(--plyr-control-spacing, 10px)*3.5)}}.plyr--video.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none;transform:translateY(100%)}.plyr--video .plyr__control:focus-visible,.plyr--video .plyr__control:hover,.plyr--video .plyr__control[aria-expanded=true]{background:#00b2ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));color:#fff;color:var(--plyr-video-control-color-hover,#fff)}.plyr__control--overlaid{background:#00b2ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));border:0;border-radius:100%;color:#fff;color:var(--plyr-video-control-color,#fff);display:none;left:50%;opacity:.9;padding:15px;padding:calc(var(--plyr-control-spacing, 10px)*1.5);position:absolute;top:50%;transform:translate(-50%,-50%);transition:.3s;z-index:2}.plyr__control--overlaid svg{left:2px;position:relative}.plyr__control--overlaid:focus,.plyr__control--overlaid:hover{opacity:1}.plyr--playing .plyr__control--overlaid{opacity:0;visibility:hidden}.plyr--full-ui.plyr--video .plyr__control--overlaid{display:block}.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track{background-color:#ffffff40;background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]::-moz-range-track{background-color:#ffffff40;background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]::-ms-track{background-color:#ffffff40;background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #ffffff80;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #ffffff80;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #ffffff80;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--video .plyr__progress__buffer{color:#ffffff40;color:var(--plyr-video-progress-buffered-background,#ffffff40)}.plyr:fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:fullscreen video{height:100%}.plyr:fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:fullscreen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr--fullscreen-fallback{background:#000;border-radius:0!important;bottom:0;height:100%;left:0;margin:0;position:fixed;right:0;top:0;width:100%;z-index:10000000}.plyr--fullscreen-fallback video{height:100%}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen{display:block}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr--fullscreen-fallback.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr--fullscreen-fallback .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr__ads{border-radius:inherit;bottom:0;cursor:pointer;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:-1}.plyr__ads>div,.plyr__ads>div iframe{height:100%;position:absolute;width:100%}.plyr__ads:after{background:#23282f;border-radius:2px;bottom:10px;bottom:var(--plyr-control-spacing,10px);color:#fff;content:attr(data-badge-text);font-size:11px;padding:2px 6px;pointer-events:none;position:absolute;right:10px;right:var(--plyr-control-spacing,10px);z-index:3}.plyr__ads:empty:after{display:none}.plyr__cues{background:currentColor;display:block;height:5px;height:var(--plyr-range-track-height,5px);left:0;opacity:.8;position:absolute;top:50%;transform:translateY(-50%);width:3px;z-index:3}.plyr__preview-thumb{background-color:#ffffffe6;background-color:var(--plyr-tooltip-background,#ffffffe6);border-radius:5px;border-radius:var(--plyr-tooltip-radius,5px);bottom:100%;box-shadow:0 1px 2px #00000026;box-shadow:var(--plyr-tooltip-shadow,0 1px 2px #00000026);margin-bottom:10px;margin-bottom:calc(var(--plyr-control-spacing, 10px)/2*2);opacity:0;padding:3px;pointer-events:none;position:absolute;transform:translateY(10px) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;z-index:2}.plyr__preview-thumb--is-shown{opacity:1;transform:translate(0) scale(1)}.plyr__preview-thumb:before{border-left:4px solid #0000;border-left:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-right:4px solid #0000;border-right:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-top:4px solid #ffffffe6;border-top:var(--plyr-tooltip-arrow-size,4px) solid var(--plyr-tooltip-background,#ffffffe6);bottom:-4px;bottom:calc(var(--plyr-tooltip-arrow-size, 4px)*-1);content:"";height:0;left:calc(50% + var(--preview-arrow-offset));position:absolute;transform:translate(-50%);width:0;z-index:2}.plyr__preview-thumb__image-container{background:#c1c8d1;border-radius:4px;border-radius:calc(var(--plyr-tooltip-radius, 5px) - 1px);overflow:hidden;position:relative;z-index:0}.plyr__preview-thumb__image-container img,.plyr__preview-thumb__image-container:after{height:100%;left:0;position:absolute;top:0;width:100%}.plyr__preview-thumb__image-container:after{border-radius:inherit;box-shadow:inset 0 0 0 1px #00000026;content:"";pointer-events:none}.plyr__preview-thumb__image-container img{max-height:none;max-width:none}.plyr__preview-thumb__time-container{background:linear-gradient(#0000,#000000bf);background:var(--plyr-video-controls-background,linear-gradient(#0000,#000000bf));border-bottom-left-radius:4px;border-bottom-left-radius:calc(var(--plyr-tooltip-radius, 5px) - 1px);border-bottom-right-radius:4px;border-bottom-right-radius:calc(var(--plyr-tooltip-radius, 5px) - 1px);bottom:0;left:0;line-height:1.1;padding:20px 6px 6px;position:absolute;right:0;z-index:3}.plyr__preview-thumb__time-container span{color:#fff;font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px))}.plyr__preview-scrubbing{bottom:0;filter:blur(1px);height:100%;left:0;margin:auto;opacity:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease;width:100%;z-index:1}.plyr__preview-scrubbing--is-shown{opacity:1}.plyr__preview-scrubbing img{height:100%;left:0;max-height:none;max-width:none;object-fit:contain;position:absolute;top:0;width:100%}.plyr--no-transition{transition:none!important}.plyr__sr-only{clip:rect(1px,1px,1px,1px);border:0!important;height:1px!important;overflow:hidden;padding:0!important;position:absolute!important;width:1px!important}.plyr [hidden]{display:none!important}.docTypeDropdown-hasSub>.docTypeDropdown-link{position:relative}.docTypeDropdown-hasSub>.docTypeDropdown-link:after{content:"";display:inline-block;vertical-align:middle;margin-left:6px;width:16px;height:16px;background:url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 8L10 12L14 8" stroke="%23888" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center center;background-size:16px 16px;transition:filter .2s}.docTypeDropdown-hasSub>.docTypeDropdown-link.docTypeDropdown-active:after,.docTypeDropdown-hasSub>.docTypeDropdown-link:hover:after{background:url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 8L10 12L14 8" stroke="%23fff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center center;background-size:16px 16px}@media (max-width: 600px){.docTypeDropdown-nav,.docTypeDropdown-details,.docTypeDropdown-list{width:100%!important;min-width:0!important;max-width:100vw!important}.docTypeDropdown-list{flex-direction:column;padding:0;box-shadow:none}.docTypeDropdown-link{width:100%;box-sizing:border-box;text-align:left;padding-left:12px}.docTypeDropdown-sublist{position:static!important;box-shadow:none!important;background:transparent!important;margin-left:0!important;padding-left:16px!important;width:100%!important}}:root{--docTypeDropdown-azul: #2563eb;--docTypeDropdown-borde: #e5e7eb;--docTypeDropdown-bg: #fff;--docTypeDropdown-hover: #e0e7ff;--docTypeDropdown-radius: 8px;--docTypeDropdown-shadow: 0 2px 12px rgba(0,0,0,.08);--docTypeDropdown-font: "Segoe UI", "Roboto", "Arial", sans-serif}.docTypeDropdown-nav{display:inline-flex;align-items:center;gap:12px;font-family:inherit;font-weight:600}.docTypeDropdown-details{display:inline-block;position:relative}.docTypeDropdown-summary{list-style:none;background:transparent;color:var(--text);padding:7px 32px 7px 12px;border-radius:5px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:15px;border:1px solid var(--border);min-width:180px;box-shadow:none;font-weight:400;transition:background .13s;position:relative;background-repeat:no-repeat;background-position:right 5px center;background-size:16px 16px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="%23000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 9l6 6l6 -6"/></svg>')}.docTypeDropdown-summary::-webkit-details-marker{display:none}.docTypeDropdown-summary:after{display:none}.docTypeDropdown-details>.docTypeDropdown-list{list-style:none;margin:2px 0 0;padding:2px 0;position:absolute;left:0;top:100%;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:5px;box-shadow:none;z-index:10}.docTypeDropdown-details[open]>.docTypeDropdown-list{display:block}.docTypeDropdown-details:not([open])>.docTypeDropdown-list{display:none}.docTypeDropdown-list li{position:relative}.docTypeDropdown-link{display:block;padding:7px 16px;color:var(--text);text-decoration:none;border-radius:4px;font-size:15px;font-family:inherit;background:none;transition:background .13s,color .13s}.docTypeDropdown-link:hover,.docTypeDropdown-link:focus{background:var(--border);color:var(--text)}.docTypeDropdown-hasSub>.docTypeDropdown-link:after{content:"";float:right;font-size:13px;color:var(--text-secondary);margin-left:8px}.docTypeDropdown-hasSub>.docTypeDropdown-sublist{list-style:none;margin:0;padding:2px 0;position:absolute;top:0;left:100%;min-width:160px;background:var(--surface);border:1px solid var(--border);border-radius:5px;box-shadow:none;display:none;z-index:11}.docTypeDropdown-hasSub:hover>.docTypeDropdown-sublist{display:block}.docTypeDropdown-active{background:var(--primary)!important;color:#fff!important}.weekly-summary-container{padding:20px;max-width:100%;overflow-x:hidden}@media (max-width: 768px){.weekly-summary-container{padding:10px}}.weekly-summary-header{margin-bottom:20px}.weekly-summary-header h2{color:var(--text);margin-bottom:15px}.week-navigation{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:20px;padding:15px;background:#e3f2fd;border-radius:8px;border:2px solid #2196f3}[data-theme=dark] .week-navigation,.dark-mode .week-navigation{background:#2196f326;border-color:var(--primary)}.nav-btn{padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:background .2s}.nav-btn:hover{background:var(--primary-600)}.week-info{text-align:center;min-width:200px}.week-number{font-size:18px;font-weight:600;color:var(--primary);margin-bottom:5px}.week-dates{font-size:14px;color:var(--text-secondary)}.current-week-btn{padding:10px 16px;background:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;transition:background .2s}.current-week-btn:hover{background:#1e7e34}.weekly-filters{display:flex;gap:15px;flex-wrap:wrap;align-items:end;padding:15px;background:#f5f5f5;border-radius:8px;margin-bottom:20px;border:1px solid #e0e0e0}[data-theme=dark] .weekly-filters,.dark-mode .weekly-filters{background:var(--surface);border-color:var(--border)}.filter-group{display:flex;flex-direction:column;gap:5px;min-width:200px}.filter-group label{font-size:12px;font-weight:500;color:var(--text-secondary)}.filter-group input,.filter-group select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff;color:#333;transition:all .2s ease}[data-theme=dark] .filter-group input,[data-theme=dark] .filter-group select,.dark-mode .filter-group input,.dark-mode .filter-group select{background:var(--surface);color:var(--text);border-color:var(--border)}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#2196f3}[data-theme=dark] .filter-group input:focus,[data-theme=dark] .filter-group select:focus{border-color:var(--primary)}.dark-mode .filter-group input:focus,.dark-mode .filter-group select:focus{border-color:var(--primary)}.filter-group input[type=text]{min-width:250px}.multi-select-container{position:relative;min-width:250px}.multi-select-trigger{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border:1px solid var(--border);border-radius:4px;background:var(--surface);cursor:pointer;font-size:14px;transition:border-color .2s;background-repeat:no-repeat;background-position:right 5px center;background-size:16px 16px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="%23000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 9l6 6l6 -6"/></svg>');color:var(--text)}.multi-select-trigger:hover{border-color:var(--primary)}.multi-select-text{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select-arrow{margin-left:8px;color:var(--text-secondary);font-size:12px}.multi-select-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 4px 4px;box-shadow:0 2px 8px #0000001a;z-index:1000;max-height:300px;overflow-y:auto}.multi-select-actions{display:flex;gap:8px;padding:8px;border-bottom:1px solid var(--border);background:var(--border)}.multi-select-action-btn{padding:4px 8px;background:var(--primary);color:#fff;border:none;border-radius:3px;font-size:11px;cursor:pointer;transition:background .2s}.multi-select-action-btn:hover{background:var(--primary-600)}.multi-select-options{max-height:200px;overflow-y:auto}.multi-select-option{display:flex;align-items:center;padding:8px 12px;cursor:pointer;transition:background .2s;font-size:14px}.multi-select-option:hover{background:var(--border)}.multi-select-option input[type=checkbox]{margin-right:8px;cursor:pointer}.multi-select-option-text{flex:1;-webkit-user-select:none;user-select:none}.department-companies{color:var(--text-secondary);font-size:.85em;font-style:italic;font-weight:400}.refresh-btn,.export-btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.refresh-btn{background:var(--primary);color:#fff}.refresh-btn:hover{background:var(--primary-600)}.export-btn{background:#28a745;color:#fff;transition:background .2s;position:relative}.export-btn:hover:not(:disabled){background:#1e7e34}.export-btn:disabled{background:var(--muted);cursor:not-allowed;transform:none;box-shadow:none}.export-btn:disabled:contains("Exportando"){background:var(--primary);animation:pulse-export 1.5s infinite}@keyframes pulse-export{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.weekly-table-container{overflow-x:auto;border:1px solid #e0e0e0;border-radius:8px;background:#fff;-webkit-overflow-scrolling:touch}[data-theme=dark] .weekly-table-container,.dark-mode .weekly-table-container{background:var(--surface);border-color:var(--border)}@media (max-width: 1024px){.weekly-table-container{margin:0 -10px;border-radius:0;border-left:none;border-right:none}}.weekly-summary-table{width:100%;min-width:900px;border-collapse:collapse;background:#fff}[data-theme=dark] .weekly-summary-table,.dark-mode .weekly-summary-table{background:var(--surface)}@media (max-width: 768px){.weekly-summary-table{min-width:800px;font-size:10px}}.weekly-summary-table tbody tr{transition:background-color .2s ease}.weekly-summary-table tbody tr:nth-child(2n){background:#fafafa}[data-theme=dark] .weekly-summary-table tbody tr:nth-child(2n){background:#ffffff05}.dark-mode .weekly-summary-table tbody tr:nth-child(2n){background:#ffffff05}.weekly-summary-table tbody tr:hover{background:#f5f5f5!important}[data-theme=dark] .weekly-summary-table tbody tr:hover,.dark-mode .weekly-summary-table tbody tr:hover{background:var(--border)!important}.weekly-summary-table th{background:#e0e0e0;padding:12px 8px;text-align:center;font-weight:600;border:1px solid #d0d0d0;font-size:12px;position:sticky;top:0;z-index:10;color:#333}[data-theme=dark] .weekly-summary-table th,.dark-mode .weekly-summary-table th{background:#2563ebe6;border-color:var(--border);color:#fff}@media (max-width: 768px){.weekly-summary-table th{padding:8px 4px;font-size:10px}}.weekly-summary-table thead tr:nth-child(2) th:nth-child(n+8){background:#fff9c4!important;color:#000!important}[data-theme=dark] .weekly-summary-table thead tr:nth-child(2) th:nth-child(n+8){background:#ffc107!important;color:#000!important}.dark-mode .weekly-summary-table thead tr:nth-child(2) th:nth-child(n+8){background:#ffc107!important;color:#000!important}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.sortable-header:hover{background:#d0d0d0!important}[data-theme=dark] .sortable-header:hover,.dark-mode .sortable-header:hover{background:var(--primary-600)!important}.sortable-header:active{background:#d0d0d0!important}[data-theme=dark] .sortable-header:active,.dark-mode .sortable-header:active{background:var(--primary-600)!important}.header-content{display:flex;align-items:center;justify-content:center;gap:6px;color:inherit}.sort-icon{display:inline-block;vertical-align:middle;transition:all .2s ease}.sort-icon.neutral{opacity:.4;color:#666}[data-theme=dark] .sort-icon.neutral,.dark-mode .sort-icon.neutral{opacity:.4;color:#fff9}.sort-icon.asc{opacity:1;color:#333}[data-theme=dark] .sort-icon.asc,.dark-mode .sort-icon.asc{opacity:1;color:#fff}.sort-icon.desc{opacity:1;color:#333}[data-theme=dark] .sort-icon.desc,.dark-mode .sort-icon.desc{opacity:1;color:#fff}.sortable-header:hover .sort-icon.neutral{opacity:.8;color:#333}[data-theme=dark] .sortable-header:hover .sort-icon.neutral,.dark-mode .sortable-header:hover .sort-icon.neutral{opacity:.8;color:#fff}.summary-header .sort-icon.neutral{opacity:.4;color:#0006}.summary-header .sort-icon.asc,.summary-header .sort-icon.desc{opacity:1;color:#000}.summary-header.sortable-header:hover .sort-icon.neutral{opacity:.7;color:#000}.sortable-header:hover .sort-icon{transform:scale(1.1)}.department-header{background:#e0e0e0}[data-theme=dark] .department-header,.dark-mode .department-header{background:var(--primary)}.department-name{background:#e0e0e0;color:#333;font-weight:700;font-size:14px;text-align:center;padding:12px;border:1px solid #d0d0d0}[data-theme=dark] .department-name,.dark-mode .department-name{background:var(--primary);color:#fff;border-color:var(--border)}.company-header{background:#c8e6c9}[data-theme=dark] .company-header,.dark-mode .company-header{background:#28a745}.company-name{background:#c8e6c9;color:#2e7d32;font-weight:700;font-size:16px;text-align:center;padding:15px;border:1px solid #a5d6a7;text-transform:uppercase;letter-spacing:.5px}[data-theme=dark] .company-name,.dark-mode .company-name{background:#28a745;color:#fff;border-color:var(--border)}.user-column{background:#e0e0e0!important;min-width:150px;text-align:left!important;color:#333!important;font-weight:600!important}[data-theme=dark] .user-column,.dark-mode .user-column{background:var(--primary)!important;color:#fff!important}.days-header{background:#c8e6c9!important;color:#2e7d32!important}[data-theme=dark] .days-header,.dark-mode .days-header{background:#28a745!important;color:#fff!important}.day-header{background:#c8e6c9!important;color:#2e7d32!important}[data-theme=dark] .day-header,.dark-mode .day-header{background:#28a745!important;color:#fff!important}.summary-header{background:#fff9c4!important;color:#000!important;font-weight:600!important}[data-theme=dark] .summary-header,.dark-mode .summary-header{background:#ffc107!important;color:#000!important}.weekly-summary-table td{padding:8px;border:1px solid #e0e0e0;font-size:11px;color:#333;background:#fff}[data-theme=dark] .weekly-summary-table td,.dark-mode .weekly-summary-table td{background:var(--surface);color:var(--text);border-color:var(--border)}@media (max-width: 768px){.weekly-summary-table td{padding:6px 4px;font-size:10px}}.weekly-summary-table .user-name{font-weight:500;background:#fff;min-width:150px;position:sticky;left:0;z-index:5;text-transform:uppercase;color:#333;border-right:2px solid #2196f3!important}.weekly-summary-table tbody tr:hover .user-name{background:#f5f5f5}[data-theme=dark] .weekly-summary-table .user-name{background:#1e293bf2;color:var(--text);border-right-color:var(--primary)!important}[data-theme=dark] .weekly-summary-table tbody tr:hover .user-name{background:#334155f2}.dark-mode .weekly-summary-table .user-name{background:#1e293bf2;color:var(--text);border-right-color:var(--primary)!important}.dark-mode .weekly-summary-table tbody tr:hover .user-name{background:#334155f2}@media (max-width: 768px){.weekly-summary-table .user-name{min-width:120px;font-size:10px;padding:6px 4px!important}}.day-cell{text-align:center;min-width:90px;vertical-align:top}@media (max-width: 768px){.day-cell{min-width:70px;padding:6px 4px!important}}.day-info{display:flex;flex-direction:column;gap:2px}.date{font-size:10px;color:var(--text-secondary);font-weight:500}@media (max-width: 768px){.date{font-size:8px}}.status-badge{padding:2px 6px;border-radius:12px;font-size:9px;font-weight:500;display:inline-block}@media (max-width: 768px){.status-badge{padding:2px 4px;font-size:8px}}.status-badge.present{background:#d4edda;color:#155724}.status-badge.late{background:#fff3cdcc;color:#856404}.status-badge.absent{background:#f8d7da;color:#721c24}.status-badge.vacation{background:#d1ecf1;color:#0c5460}.status-badge.fn{background:#e2e3e5;color:#6f42c1;border:1px solid #6f42c1;font-weight:600}.status-badge.medical{background:#f5c6cb;color:#721c24}.status-badge.no-mark{background:var(--border);color:var(--text-secondary)}.times{margin-top:2px}.times small{display:block;font-size:9px;color:var(--text-secondary)}@media (max-width: 768px){.times small{font-size:7px}}.hours{font-size:9px;color:var(--primary);font-weight:600;background:#2563eb1a;padding:1px 4px;border-radius:4px;margin-top:1px}@media (max-width: 768px){.hours{font-size:7px;padding:1px 2px}}.extra-minutes{font-size:8px;color:#dc3545;font-weight:500}.summary-cell{text-align:center;font-weight:500;min-width:60px}@media (max-width: 768px){.summary-cell{min-width:45px;font-size:10px}}.summary-cell.present{background:#d4edda;color:#155724}.summary-cell.absent{background:#f8d7da;color:#721c24}.summary-cell.late{background:#fff3cdcc;color:#856404}.summary-cell.hours{background:#2563eb1a;color:var(--primary);font-weight:600}.loading{text-align:center;padding:40px;color:var(--text-secondary)}@media (max-width: 768px){.loading{padding:20px;font-size:14px}}.error-message{background:#f8d7da;color:#721c24;padding:10px;border-radius:4px;margin-bottom:20px}[data-theme=dark] .error-message,.dark-mode .error-message{background:#dc354533;color:#f8d7da;border:1px solid #dc3545}@media (max-width: 768px){.error-message{font-size:12px;padding:8px}}.no-data{text-align:center;padding:40px;color:var(--text-secondary);font-style:italic}@media (max-width: 768px){.no-data{padding:20px;font-size:14px}}@media (max-width: 768px){.weekly-filters{flex-direction:column;align-items:stretch;padding:10px}.filter-group{width:100%;min-width:auto}.week-navigation{flex-direction:column;gap:10px;padding:10px}.week-info{min-width:auto}.nav-btn,.current-week-btn{width:100%;padding:12px}.refresh-btn,.export-btn{width:100%;margin-top:10px}}.url-indicator{background:linear-gradient(135deg,#e3f2fd80,#bbdefb80);border:1px solid var(--primary);border-radius:8px;padding:8px 16px;margin:10px 0;font-size:13px;color:var(--primary);text-align:center;animation:fadeIn .5s ease-in}[data-theme=dark] .url-indicator,.dark-mode .url-indicator{background:#2563eb33;border-color:var(--primary);color:var(--primary)}@media (max-width: 768px){.url-indicator{font-size:11px;padding:6px 12px}}.url-indicator span{display:inline-flex;align-items:center;gap:8px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.personal-view-indicator{background:linear-gradient(135deg,#fff3cdcc,#ffeaa7cc);border:1px solid #ffc107;border-radius:8px;padding:8px 16px;margin:10px 0;font-size:13px;color:#856404;text-align:center;animation:fadeIn .5s ease-in}[data-theme=dark] .personal-view-indicator,.dark-mode .personal-view-indicator{background:#ffc10733;border-color:#ffc107;color:#ffc107}@media (max-width: 768px){.personal-view-indicator{font-size:11px;padding:6px 12px}}.personal-view-indicator span{display:inline-flex;align-items:center;gap:8px}.info-message{padding:10px 12px;background:#2563eb1a;border:1px solid rgba(37,99,235,.3);border-radius:4px;color:var(--primary-600);font-size:13px;text-align:center;font-style:italic}[data-theme=dark] .info-message,.dark-mode .info-message{background:#2563eb33;border-color:var(--primary);color:var(--primary)}@media (max-width: 768px){.info-message{font-size:11px;padding:8px 10px}}.hierarchy-indicator{background:linear-gradient(135deg,#f8d7da,#f5c2c7);border:1px solid #dc3545;border-radius:8px;padding:8px 16px;margin:10px 0;font-size:13px;color:#721c24;text-align:center;animation:fadeIn .5s ease-in}[data-theme=dark] .hierarchy-indicator,.dark-mode .hierarchy-indicator{background:#dc354533;border-color:#dc3545;color:#f8d7da}@media (max-width: 768px){.hierarchy-indicator{font-size:11px;padding:6px 12px}}.hierarchy-indicator span{display:inline-flex;align-items:center;gap:8px}.vacation-calendar{background:var(--surface);padding:0;width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:8px;overflow:hidden}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;padding:24px;border-bottom:2px solid var(--border);background:var(--surface)}.calendar-header h3{margin:0;font-size:1.25rem;font-weight:700;color:var(--text)}.date-selection-toggle{display:flex;gap:6px;padding:5px;background:var(--bg);border-radius:10px;box-shadow:inset 0 2px 4px #0000000f;border:1px solid var(--border)}.toggle-btn{padding:10px 24px;border:none;background:transparent;color:var(--text-secondary);font-size:.9rem;font-weight:600;border-radius:7px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap;position:relative}.toggle-btn:hover:not(:disabled):not(.active){background:#2563eb14;color:var(--primary)}.toggle-btn.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px #2563eb59,0 1px 3px #0000001a;transform:translateY(-1px)}.toggle-btn:disabled{opacity:.5;cursor:not-allowed}.manual-date-selection{padding:28px 24px;background:var(--surface);margin:0;display:grid;grid-template-columns:1fr 1fr;gap:24px;border-bottom:1px solid var(--border)}.manual-date-group{display:flex;flex-direction:column;gap:10px}.manual-date-group label{font-size:.875rem;font-weight:600;color:var(--text);letter-spacing:.3px}.manual-date-input{padding:14px 16px;border:2px solid var(--border);border-radius:10px;font-size:1rem;font-family:inherit;background:var(--surface);color:var(--text);transition:all .25s cubic-bezier(.4,0,.2,1);cursor:pointer;font-weight:500}.manual-date-input:hover:not(:disabled){border-color:var(--primary);background:var(--bg)}.manual-date-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #2563eb1f;background:#fff}.manual-date-input:disabled{opacity:.6;cursor:not-allowed;background:var(--border)}.calendar-controls{padding:0 20px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.btn-toggle-weeks{background:linear-gradient(135deg,var(--primary) 0%,#1d4ed8 100%);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #2563eb4d;white-space:nowrap}.btn-toggle-weeks:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb66}.btn-toggle-weeks:disabled{opacity:.6;cursor:not-allowed}.btn-clear-selection{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;border:none;padding:10px 18px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #dc35454d}.btn-clear-selection:hover{background:linear-gradient(135deg,#c82333,#bd2130);transform:translateY(-1px);box-shadow:0 4px 12px #dc354566}.selection-info{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border:2px solid var(--primary);border-radius:12px;padding:20px 24px;margin:20px 24px;box-shadow:0 4px 16px #2563eb1f}.selection-info h4{margin:0 0 8px;color:var(--primary);font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:6px}.period-text{margin:0 0 6px;color:var(--text);font-size:.85rem;font-weight:500}.days-text{margin:0;color:var(--primary);font-size:.95rem;font-weight:600;display:flex;align-items:center;gap:4px}.calendar-container{padding:0 20px 20px}.fc{font-family:inherit;border:none;border-radius:8px;overflow:hidden;margin:0 auto;background:var(--surface)}.fc-toolbar{margin-bottom:0!important;padding:16px 20px!important;background:var(--border)!important;border-bottom:1px solid var(--border)!important;color:var(--text)!important}.fc-toolbar-title{font-size:1.1rem!important;font-weight:600!important;color:var(--text)!important}.fc-button{background:var(--surface)!important;border:1px solid var(--border)!important;color:var(--text)!important;padding:6px 12px!important;border-radius:4px!important;font-size:.8rem!important;font-weight:500!important;transition:all .2s ease!important}.fc-button:hover:not(:disabled){background:var(--border)!important;border-color:var(--muted)!important;color:var(--text)!important}.fc-button:disabled{background:var(--border)!important;border-color:var(--border)!important;color:var(--muted)!important;opacity:.6!important}.fc-col-header-cell{background:var(--border)!important;color:var(--text)!important;font-weight:600!important;padding:12px 6px!important;border:none!important;border-bottom:1px solid var(--border)!important;font-size:.75rem!important;text-transform:uppercase!important;letter-spacing:.5px!important}.fc-daygrid-day{min-height:45px;border:1px solid var(--border);cursor:pointer;background:var(--surface);position:relative}.fc-daygrid-day.fc-day-past{background:var(--border);color:var(--muted);cursor:pointer}.fc-daygrid-day-number{padding:6px;font-weight:500;color:var(--text);font-size:.9rem;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;margin:2px}.fc-daygrid-day.selected-single-day{background:var(--primary)!important}.fc-daygrid-day.selected-single-day .fc-daygrid-day-number{color:#fff!important;font-weight:600!important}.fc-daygrid-day.selected-start:not(.selected-single-day),.fc-daygrid-day.selected-end:not(.selected-single-day){background:var(--primary)!important}.fc-daygrid-day.selected-start:not(.selected-single-day) .fc-daygrid-day-number,.fc-daygrid-day.selected-end:not(.selected-single-day) .fc-daygrid-day-number{color:#fff!important;font-weight:600!important}.fc-daygrid-day.selected-range{background:#3b82f64d!important}.fc-daygrid-day.selected-range .fc-daygrid-day-number{color:var(--primary)!important;font-weight:600!important}.fc-day-today{background:#fff3cd!important;border:1px solid #ffeaa7!important}.fc-day-today .fc-daygrid-day-number{background:#ffc107;color:#fff!important;border-radius:4px;font-weight:600}@media (max-width: 768px){.vacation-calendar{padding:0}.calendar-header{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}.calendar-header h3{font-size:1rem;text-align:center}.fc-toolbar{flex-direction:column!important;gap:8px!important;padding:8px!important}.fc-toolbar-title{font-size:1rem!important}.fc-daygrid-day{min-height:35px}.selection-info{padding:12px;margin:0 12px 16px}.manual-date-selection{margin:0 12px 16px;padding:16px;grid-template-columns:1fr}.calendar-header{padding:16px;flex-direction:column;gap:12px;align-items:stretch}.date-selection-toggle{width:100%}.toggle-btn{flex:1;font-size:.813rem}.calendar-controls,.calendar-container{padding:0 12px 12px}}@media (max-width: 480px){.fc-daygrid-day{min-height:30px}.fc-daygrid-day-number{font-size:.75rem;padding:2px}.fc-col-header-cell{padding:6px 4px;font-size:.7rem}.toggle-btn{font-size:.75rem;padding:8px 12px}.manual-date-input{font-size:.875rem;padding:10px 12px}}.signature-pad-container{display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.signature-canvas{width:100%;height:150px;border:2px dashed var(--border);border-radius:6px;background:#fff;cursor:crosshair;touch-action:none}.signature-controls{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.signature-btn{padding:8px 16px;font-size:14px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.signature-btn:disabled{opacity:.5;cursor:not-allowed}.btn-clear{background:var(--border);color:var(--text)}.btn-clear:hover:not(:disabled){background:var(--muted)}.btn-upload{background:var(--primary);color:#fff;cursor:pointer}.btn-upload:hover{opacity:.9}.btn-save{background:var(--success);color:#fff}.btn-save:hover:not(:disabled){opacity:.9}.user-vacations{min-height:100vh;background:var(--bg);padding:0}:root{--vacation-primary: #2563eb}:root[data-theme=dark]{--vacation-primary: #3b82f6}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}.spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{color:var(--text-secondary);font-size:1rem}.vacations-hero{padding:32px 24px;border-bottom:1px solid var(--border);background:var(--surface)}.hero-content{max-width:1200px;margin:0 auto}.hero-header{display:flex;justify-content:space-between;align-items:center;gap:24px}.hero-content h1{font-size:1.5rem;font-weight:600;color:var(--text);margin:0 0 4px}.hero-content p{font-size:.875rem;color:var(--text-secondary);margin:0;font-weight:400}.btn-new-request{background:var(--vacation-primary);color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:opacity .2s ease;white-space:nowrap}.btn-new-request:hover{opacity:.9}.btn-new-request:active{transform:scale(.98)}.btn-new-request svg{width:16px;height:16px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:24px;max-width:1200px;margin:0 auto}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;display:flex;align-items:center;gap:12px;transition:all .2s ease}.stat-card:hover{border-color:var(--vacation-primary)}.stat-icon{width:40px;height:40px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg{width:20px;height:20px}.stat-card.total .stat-icon{background:var(--vacation-primary);color:#fff}.stat-card.pending .stat-icon{background:#f59e0b;color:#fff}.stat-card.approved .stat-icon{background:#10b981;color:#fff}.stat-card.rejected .stat-icon{background:#ef4444;color:#fff}.stat-info{flex:1;min-width:0}.stat-label{font-size:.75rem;color:var(--text-secondary);margin:0 0 4px;font-weight:500}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text);margin:0;line-height:1}.filter-tabs{display:flex;gap:8px;padding:0 24px;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:1200px;margin:20px auto}.filter-tabs::-webkit-scrollbar{height:6px}.filter-tabs::-webkit-scrollbar-track{background:var(--bg);border-radius:3px}.filter-tabs::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.filter-tabs::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.tab{background:transparent;border:none;color:var(--text-secondary);padding:8px 16px;border-radius:20px;font-size:.813rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.tab:hover:not(.active){background:var(--bg);color:var(--text)}.tab.active{background:var(--vacation-primary);color:#fff}.error-banner{background:#fee;border:1px solid #fcc;color:#c33;padding:12px 16px;border-radius:6px;margin:0 24px 16px;display:flex;align-items:center;gap:8px;font-size:.813rem}.vacations-list{padding:0 24px 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,500px),1fr));gap:16px;max-width:1200px;margin:0 auto}.vacation-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:all .2s ease}.vacation-card:hover{box-shadow:0 2px 8px #0000001a;border-color:var(--vacation-primary)}.card-header{background:var(--surface);padding:16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.card-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.875rem;color:var(--text)}.card-title svg{color:var(--vacation-primary);width:16px;height:16px}.status-badge{padding:4px 12px;border-radius:4px;font-size:.75rem;font-weight:600}.status-pending{background:#fef3c7;color:#92400e}.status-approved{background:#d1fae5;color:#065f46}.status-rejected{background:#fee2e2;color:#991b1b}:root[data-theme=dark] .status-pending{background:#78350f;color:#fef3c7}:root[data-theme=dark] .status-approved{background:#064e3b;color:#d1fae5}:root[data-theme=dark] .status-rejected{background:#7f1d1d;color:#fee2e2}.card-body{padding:20px}.date-range{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:12px;background:var(--surface);border-radius:6px;border:1px solid var(--border)}.date-item{flex:1;display:flex;flex-direction:column;gap:4px}.date-label{font-size:.75rem;color:var(--text-secondary);font-weight:500}.date-value{font-size:.938rem;font-weight:600;color:var(--text)}.arrow-icon{color:var(--vacation-primary);flex-shrink:0}.card-details{display:flex;flex-direction:column;gap:4px}.detail-item{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.813rem;padding:6px 0}.detail-item svg{color:var(--vacation-primary);flex-shrink:0;width:14px;height:14px}.reason-box{margin-top:12px;padding:12px;background:var(--surface);border:1px solid rgba(239,68,68,.3);border-left:3px solid #ef4444;border-radius:6px}.reason-box strong{display:block;color:var(--text);margin-bottom:6px;font-size:.75rem;font-weight:600}.reason-box p{color:var(--text-secondary);margin:0;font-size:.813rem;line-height:1.5}.card-footer{padding:16px;background:var(--surface);border-top:1px solid var(--border)}.btn-downloadUser{background:var(--vacation-primary);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.813rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s ease}.btn-downloadUser:hover:not(:disabled){background:var(--vacation-primary);opacity:.9}.btn-downloadUser:active:not(:disabled){transform:scale(.98)}.btn-downloadUser:disabled{opacity:.5;cursor:not-allowed}.btn-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.empty-state{text-align:center;padding:64px 24px;display:flex;flex-direction:column;align-items:center;gap:16px}.empty-state svg{color:var(--text-secondary);opacity:.4}.empty-state h3{font-size:1.5rem;color:var(--text);margin:0;font-weight:600}.empty-state p{font-size:1rem;color:var(--text-secondary);margin:0;max-width:400px}.btn-create-first{margin-top:16px;background:var(--primary);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:.938rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-create-first:hover{background:var(--primary-600);transform:translateY(-1px);box-shadow:0 4px 8px #2563eb33}.vacation-modal-overlay{position:fixed;top:60px;height:calc(100dvh - 60px);left:0;right:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;box-sizing:border-box}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.vacation-modal-content{background:var(--surface);border-radius:8px;max-width:1000px;width:100%;max-height:calc(100vh - 100px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 4px 20px #00000026;border:1px solid var(--border);animation:slideUp .2s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.vacation-modal-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:var(--surface)}.vacation-modal-header h2{margin:0;font-size:1.25rem;color:var(--text);font-weight:600}.vacation-modal-close{background:transparent;border:1px solid var(--border);width:32px;height:32px;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;color:var(--text-secondary)}.vacation-modal-close:hover{background:var(--bg);border-color:var(--text-secondary);color:var(--text)}.vacation-modal-form{padding:24px;background:var(--bg);flex:1;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-content:start}.form-section{background:var(--surface);padding:20px;border-radius:6px;border:1px solid var(--border)}.form-section.full-width{grid-column:1 / -1}.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:10px;text-transform:uppercase;letter-spacing:.05em}.label-hint{display:block;font-size:.813rem;font-weight:400;color:var(--text-secondary);margin-top:4px;text-transform:none;letter-spacing:normal}.form-input{width:100%;padding:12px 16px;border:2px solid var(--border);border-radius:8px;font-size:.938rem;color:var(--text);background:var(--surface);transition:all .2s ease;font-family:inherit}.form-input:focus{outline:none;border-color:var(--vacation-primary);box-shadow:0 0 0 3px #2563eb1a}.form-input::placeholder{color:var(--text-secondary);opacity:.6}.selected-dates-summary{background:var(--surface);color:var(--text);padding:16px 20px;border-radius:6px;display:flex;align-items:center;gap:12px;font-weight:600;font-size:.938rem;border:2px solid var(--vacation-primary);border-left:4px solid var(--vacation-primary)}.selected-dates-summary svg{flex-shrink:0;color:var(--vacation-primary);width:20px;height:20px}:root[data-theme=dark] .selected-dates-summary{background:var(--surface);border-color:var(--vacation-primary)}.vacation-modal-actions{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}.btn-cancel,.btn-submit{padding:10px 24px;border-radius:4px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:8px;border:none;min-width:120px;justify-content:center}.btn-cancel{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-cancel:hover{background:var(--bg);border-color:var(--text)}.btn-submit{background:var(--vacation-primary);color:#fff}.btn-submit:hover:not(:disabled){opacity:.9}.btn-submit:active:not(:disabled){transform:scale(.98)}.btn-submit:disabled{opacity:.5;cursor:not-allowed;background:#94a3b8}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.vacations-hero{padding:20px 16px}.hero-header{flex-direction:column;align-items:flex-start;gap:16px}.hero-content h1{font-size:1.25rem}.hero-content p{font-size:.813rem}.btn-new-request{width:100%;justify-content:center}.stats-grid{grid-template-columns:1fr 1fr;padding:16px;gap:12px}.stat-card{padding:12px}.stat-icon{width:36px;height:36px}.stat-icon svg{width:18px;height:18px}.stat-value{font-size:1.5rem}.filter-tabs{padding:0 16px;margin:16px 0}.vacations-list{padding:0 16px 16px;grid-template-columns:1fr}.date-range{flex-direction:column;gap:12px}.arrow-icon{transform:rotate(90deg)}.vacation-modal-overlay{padding:0;align-items:flex-end}.vacation-modal-content{margin:0;border-radius:8px 8px 0 0;max-height:90vh;width:100%;max-width:100%}.vacation-modal-header{padding:16px 20px}.vacation-modal-header h2{font-size:1.125rem}.vacation-modal-form{padding:20px;grid-template-columns:1fr;gap:16px}.form-section{padding:16px}.vacation-modal-actions{flex-direction:column-reverse;padding:16px 20px}.btn-cancel,.btn-submit{width:100%;min-width:auto}.card-header,.card-body,.card-footer{padding:12px}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}}.vacations-crud{padding:20px;max-width:100%;overflow-x:auto;background-color:var(--bg)}.crud-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px}.crud-header h1{margin:0;color:var(--text);font-size:24px}.department-filter-container{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px 20px;margin-bottom:24px;display:flex;align-items:center;gap:16px}.department-filter-container.single-department{padding:16px 20px}.department-info-message{display:flex;align-items:center;gap:12px}.department-info-message svg{color:var(--primary);flex-shrink:0}.department-info-message strong{display:block;font-size:.813rem;text-transform:uppercase;letter-spacing:.05em;color:var(--primary);margin-bottom:4px}.department-info-message p{margin:0;font-size:.938rem;color:var(--text)}.filters-container{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px 20px;margin-bottom:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:end}.filter-item{display:flex;flex-direction:column;gap:8px}.filter-item label{display:flex;align-items:center;gap:6px;font-size:.813rem;font-weight:600;color:var(--text);white-space:nowrap}.filter-item label svg{color:var(--primary);flex-shrink:0}.filter-input,.filter-select{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:.875rem;cursor:pointer;transition:all .2s ease}.filter-input:focus,.filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.filter-input:hover,.filter-select:hover{border-color:var(--primary)}.filter-input{cursor:text}.filter-select option{padding:8px;font-size:.875rem}.btnVacations{padding:12px 20px;border:2px solid transparent;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box}.btn-primary{background-color:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background-color:var(--primary-600);border-color:var(--primary-600);transform:translateY(-1px);box-shadow:0 4px 8px #2563eb33}.btn-secondary{background:var(--surface);color:var(--text-secondary);border-color:var(--border)}.btn-secondary:hover{background:var(--border);color:var(--text);border-color:var(--border)}.date-selection-toggle{display:flex;background:var(--border);border-radius:8px;padding:4px;gap:4px;margin-bottom:16px}.toggle-btn{flex:1;padding:10px 16px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:6px}.toggle-btn:hover{color:var(--text);background:#2563eb1a}.toggle-btn.active{background:var(--primary);color:#fff;box-shadow:0 2px 4px #2563eb4d}.calendar-section{margin:20px 0;padding:0;border:none;border-radius:0;background:transparent}.date-summary{margin:20px 0}.summary-card{background:#2563eb1a;border:2px solid rgba(37,99,235,.3);border-radius:10px;padding:16px;margin:12px 0}.summary-card h4{margin:0 0 12px;color:var(--primary-600);font-size:1rem;font-weight:600;display:flex;align-items:center;gap:8px}.summary-details{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.summary-item{display:flex;flex-direction:column;gap:4px;padding:8px 12px;background:#ffffffb3;border-radius:6px;text-align:center}.summary-item strong{color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.summary-item:last-child{background:#2563eb1a;border:1px solid rgba(37,99,235,.2)}.summary-item:last-child strong{color:var(--primary-600)}.admin-vacation-modal-overlay{position:fixed;top:60px;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.admin-vacation-modal{background:var(--surface);border-radius:8px;box-shadow:var(--shadow);width:100%;max-width:750px;max-height:90vh;overflow:hidden;position:relative;border:1px solid var(--border)}.admin-vacation-modal-header{padding:24px;border-bottom:2px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(to right,var(--surface),var(--bg))}.admin-vacation-modal-header h2{margin:0;font-size:1.375rem;font-weight:700;color:var(--text)}.admin-vacation-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--muted);padding:4px 8px;border-radius:4px;transition:background-color .2s ease}.admin-vacation-modal-close:hover{background:var(--border);color:var(--text)}.admin-vacation-modal-body{padding:24px;background:var(--bg);max-height:calc(90vh - 140px);overflow-y:auto}.admin-vacation-modal-body .form-group{margin-bottom:16px}.admin-vacation-modal-body .form-group label{display:block;font-weight:600;color:var(--text);font-size:.875rem}.admin-vacation-modal-body .form-group input,.admin-vacation-modal-body .form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:4px;font-size:14px;transition:border-color .3s ease;box-sizing:border-box;background:var(--surface);color:var(--text)}.admin-vacation-modal-body .form-group input:focus,.admin-vacation-modal-body .form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.admin-vacation-modal-body .form-group input:disabled,.admin-vacation-modal-body .form-group textarea:disabled{background-color:var(--border);color:var(--muted);cursor:not-allowed;opacity:1}.admin-vacation-modal-footer{padding:20px 24px;border-top:2px solid var(--border);display:flex;justify-content:flex-end;gap:12px;background:var(--surface)}.vacation-form{padding:0;background:var(--surface)}@media (max-width: 768px){.date-selection-toggle{flex-direction:row;gap:3px;padding:3px}.toggle-btn{padding:12px 8px;font-size:.8rem;flex-direction:column;gap:4px}.calendar-section{margin:16px 0}.summary-details{grid-template-columns:1fr;gap:8px}.summary-item{padding:10px;flex-direction:row;justify-content:space-between;align-items:center;text-align:left}.summary-card{padding:12px}.summary-card h4{font-size:.9rem}.modal{max-width:95vw;margin:10px auto}.modal-body{padding:16px}}@media (max-width: 480px){.date-selection-toggle{flex-direction:column;gap:6px}.toggle-btn{padding:10px 12px;flex-direction:row;font-size:.85rem}.summary-card h4{font-size:.85rem}.summary-item{padding:8px}.summary-item strong{font-size:.75rem}.modal-body{padding:12px}.form-group{margin-bottom:12px}}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333}.btn-warning{background-color:#ffc107;color:#212529}.btn-warning:hover{background-color:#e0a800}.btn-info{background-color:#17a2b8;color:#fff}.btn-info:hover{background-color:#138496}.btn-download{background-color:#28a745;color:#fff;border-color:#28a745}.btn-download:hover:not(:disabled){background-color:#218838;border-color:#1e7e34;transform:translateY(-1px);box-shadow:0 4px 8px #28a74533}.btn-download:disabled{opacity:.65;cursor:not-allowed}.btn-email{background-color:var(--primary);color:#fff;border-color:var(--primary)}.btn-email:hover:not(:disabled){background-color:var(--primary-600);border-color:var(--primary-600);transform:translateY(-1px);box-shadow:0 4px 8px #2563eb33}.btn-email:disabled{opacity:.65;cursor:not-allowed}.btn-secondary{background-color:var(--muted);color:#fff}.btn-secondary:hover{background-color:var(--text-secondary)}.btn-sm{padding:4px 8px;font-size:12px;margin:0 2px}.table-container{background:var(--surface);border-radius:8px;box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--border)}.vacations-table{width:100%;border-collapse:collapse;min-width:1200px}.vacations-table th{background-color:var(--border);color:var(--text);font-weight:600;padding:12px 8px;text-align:left;border-bottom:2px solid var(--border);font-size:13px;white-space:nowrap}.vacations-table td{padding:10px 8px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle;color:var(--text)}.vacations-table tr:hover{background-color:var(--border)}.no-data{text-align:center;color:var(--muted);font-style:italic;padding:40px!important}td>.status-badge{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-pending{background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7}.status-approved{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-rejected{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.status-unknown{background-color:var(--border);color:var(--text-secondary);border:1px solid var(--border)}.actions{white-space:nowrap}.loading{text-align:center;padding:40px;color:var(--muted);font-size:16px}.error-message{background-color:#f8d7da;color:#721c24;padding:12px 16px;border-radius:4px;margin-bottom:20px;border:1px solid #f5c6cb;display:flex;justify-content:space-between;align-items:center}.error-close-btn{background:none;border:none;color:#721c24;font-size:18px;font-weight:700;cursor:pointer;padding:0;margin-left:10px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.error-close-btn:hover{background-color:#721c241a}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;box-sizing:border-box}.modal{background:var(--surface);border-radius:12px;box-shadow:0 4px 20px #00000026;max-width:700px;width:100%;max-height:95vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{background:var(--border);padding:20px 24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-header h2{margin:0;color:var(--text);font-size:20px;font-weight:600}.modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-secondary);padding:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.modal-close:hover{background:var(--border);color:var(--text)}.modal-body{padding:24px;flex:1;overflow-y:auto}.modal-footer{background:var(--border);padding:20px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px;flex-shrink:0}.form-control-disabled{background-color:var(--border)!important;color:var(--muted)!important;border-color:var(--border)!important;cursor:not-allowed!important}.form-control{width:100%;padding:12px 16px;border:2px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;transition:all .2s ease;background:var(--surface);color:var(--text)}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.edit-permission-notice{text-align:center;margin-top:10px}.text-muted{color:var(--muted);font-style:italic}.mobile-list{display:none}.vacation-item{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:12px;overflow:hidden}.vacation-item-header{padding:16px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px}.vacation-item-header strong{color:var(--text);font-size:.938rem;font-weight:600;display:block;margin-bottom:4px}.vacation-date-range{color:var(--text-secondary);font-size:.813rem;margin:0}.header-right{display:flex;align-items:center;gap:8px}.expand-btn{background:transparent;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.chevron-icon{transition:transform .3s ease}.chevron-icon.rotated{transform:rotate(180deg)}.vacation-item-details{padding:0 16px;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.vacation-item-details.show{max-height:1000px;padding:16px;border-top:1px solid var(--border)}.vacation-item-details p{margin:8px 0;color:var(--text-secondary);font-size:.875rem;line-height:1.5}.vacation-item-details strong{color:var(--text);font-weight:600}.mobile-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.mobile-actions .btnVacations{width:100%;justify-content:center;padding:10px 16px}.no-data-mobile{text-align:center;padding:32px 16px;color:var(--text-secondary);font-size:.938rem}@media (max-width: 768px){.table-container{display:none}.mobile-list{display:block;padding:0 16px}.vacations-crud{padding:10px}.crud-header{flex-direction:column;align-items:stretch}.crud-header h1{font-size:20px;margin-bottom:10px}.department-filter-container{padding:16px}.filters-container{grid-template-columns:1fr;gap:12px;padding:16px}.department-info-message{flex-direction:column;align-items:flex-start;gap:8px}.filter-input,.filter-select{font-size:.875rem}.admin-vacation-modal{margin:10px;width:calc(100% - 20px)}}@media (max-width: 768px){.admin-vacation-modal-overlay{padding:12px}.admin-vacation-modal{max-width:none;border-radius:8px;max-height:90vh}.admin-vacation-modal-header{padding:16px 20px}.admin-vacation-modal-header h2{font-size:18px}.admin-vacation-modal-body{padding:20px}.admin-vacation-modal-footer{padding:16px 20px;gap:8px;flex-direction:column}.btnVacations{width:100%;justify-content:center}.department-filter-container{padding:12px 16px}.department-filter-header{font-size:.813rem}.department-filter-options{gap:6px}.filter-option{font-size:.813rem;padding:6px 12px}}@media (max-width: 480px){.admin-vacation-modal-overlay{padding:20px 8px 8px;align-items:flex-start}.admin-vacation-modal{border-radius:6px;max-height:85vh}.modal-header{padding:14px 16px}.modal-header h2{font-size:16px}.modal-body{padding:16px}.modal-footer{padding:14px 16px;flex-direction:column-reverse}.modal-footer .btnVacations{width:100%;margin:0}}.user-search-container{position:relative}.clear-user-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:18px;color:var(--text-secondary);cursor:pointer;padding:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center}.clear-user-btn:hover{background-color:var(--border);color:#dc3545}.user-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;z-index:1050;box-shadow:var(--shadow)}.user-option{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:2px}.user-option:hover{background-color:var(--border)}.user-option:last-child{border-bottom:none}.user-option strong{color:var(--text);font-weight:500}.user-department{color:var(--muted);font-size:12px}.form-text{color:var(--muted);font-size:12px;margin-top:4px}
