*{margin:0;padding:0}body{background-color:#f8f9fa;color:#333}.container{padding:20px}.header{box-shadow:0 2px 4px #0000001a}.header-content{padding:0 20px}.logo{font-size:1.5rem;font-weight:700}.nav-menu{display:flex;gap:2rem;list-style:none}.nav-menu a{border-radius:4px;color:#fff;padding:.5rem 1rem;text-decoration:none;transition:background-color .3s}.nav-menu a.active,.nav-menu a:hover{background-color:#fff3}.card{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.card-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.card-title{color:#333;font-size:1.25rem;font-weight:600}.btn{border:none;border-radius:4px;cursor:pointer;display:inline-block;font-size:.9rem;font-weight:500;padding:.5rem 1rem;text-align:center;text-decoration:none;transition:all .3s}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-success{background-color:#28a745;color:#fff}.btn-success:hover{background-color:#1e7e34}.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-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#545b62}.btn-sm{font-size:.8rem;padding:.25rem .5rem}.form-label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.form-control{border:1px solid #ced4da;border-radius:4px;font-size:1rem;padding:.5rem;transition:border-color .3s;width:100%}.form-control:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.form-select{background-color:#fff;border:1px solid #ced4da;border-radius:4px;padding:.5rem}.table{border-collapse:collapse;margin-top:1rem;width:100%}.table td,.table th{border-bottom:1px solid #e9ecef;padding:.75rem;text-align:left}.table th{color:#333;font-weight:600}.table tbody tr:hover,.table th{background-color:#f8f9fa}.stat-card{border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.stat-number{color:#007bff;font-size:2rem;margin-bottom:.5rem}.stat-label{font-size:.9rem}.calendar{grid-gap:1px;background-color:#e9ecef;border-radius:8px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);overflow:hidden}.calendar-header{background-color:#007bff;color:#fff;font-weight:600;padding:1rem;text-align:center}.calendar-day{background-color:#fff;border:1px solid #e9ecef;padding:1rem}.calendar-day.office{background-color:#fff3cd;border-color:#ffc107}.calendar-day.home{background-color:#d1ecf1;border-color:#17a2b8}.calendar-day.vacation{background-color:#d4edda;border-color:#28a745}.badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.badge-success{background-color:#28a745;color:#fff}.badge-warning{background-color:#ffc107;color:#212529}.badge-danger{background-color:#dc3545;color:#fff}.badge-info{background-color:#17a2b8;color:#fff}.modal-overlay{background-color:#00000080}.modal{border-radius:8px}.modal-header{margin-bottom:1rem;padding-bottom:1rem}.modal-title{font-size:1.25rem;font-weight:600}.loading{font-size:1.1rem;padding:2rem}.error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24}.error,.success{margin-bottom:1rem;padding:1rem}.success{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724}@media (max-width:768px){.container{padding:10px}.header-content{flex-direction:column;gap:1rem}.nav-menu{flex-wrap:wrap;justify-content:center}.stats-grid{grid-template-columns:1fr}.table{font-size:.9rem}.table td,.table th{padding:.5rem}.modal{margin:1rem;padding:1rem}}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--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-toast-width:320px;--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--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(90deg,#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__toast-container{box-sizing:border-box;color:#fff;padding:4px;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:320px;width:var(--toastify-toast-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:1em;top:1em}.Toastify__toast-container--top-center{left:50%;top:1em;transform:translateX(-50%)}.Toastify__toast-container--top-right{right:1em;top:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{left:0;margin:0;padding:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0;transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0;transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:0}}.Toastify__toast{border-radius:4px;box-shadow:0 1px 10px 0 #0000001a,0 2px 15px 0 #0000000d;box-sizing:border-box;cursor:default;direction:ltr;display:flex;font-family:sans-serif;font-family:var(--toastify-font-family);justify-content:space-between;margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);overflow:hidden;padding:8px;position:relative;z-index:0}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{align-items:center;display:flex;flex:1 1 auto;margin:auto 0;padding:6px}.Toastify__toast-body>div:last-child{flex:1 1;word-break:break-word}.Toastify__toast-icon{-webkit-margin-end:10px;display:flex;flex-shrink:0;margin-inline-end:10px;width:20px}.Toastify--animate{animation-duration:.7s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74c3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74c3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--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{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{align-self:flex-start;background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;transition:.3s ease}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:5px;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:9999;z-index:var(--toastify-z-index)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{left:auto;right:0;transform-origin:right}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@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,0,0)}to{opacity:0;transform:translate3d(2000px,0,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,0,0)}to{opacity:0;transform:translate3d(-2000px,0,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,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,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,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-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--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-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: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%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateX(-20deg)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.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:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{transform:translate3d(110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{transform:translate3d(-110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-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--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.App{background:#f8f9fa;min-height:100vh}.container{margin:0 auto;max-width:1200px;min-height:calc(100vh - 160px);padding:2rem}.loading{color:#007bff;font-size:1.2rem;font-weight:600;height:100vh}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}@media (max-width:768px){.container{padding:1rem}}@media (max-width:480px){.container{padding:.5rem}}.language-selector{align-items:center;display:flex;margin:0 0 0 10px;padding:0;position:relative}.language-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:20px;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:500;height:36px;justify-content:center;letter-spacing:.5px;line-height:1;min-width:50px;outline:none;padding:.5rem 1rem;text-align:center;transition:all .3s ease}.language-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}.language-button:active{transform:translateY(0)}.language-dropdown-menu{animation:fadeIn .2s ease;background:#fff;border:2px solid #007bff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:70px;overflow:hidden;position:absolute;right:0;top:calc(100% + 5px);z-index:1000}.language-option{background:#fff;border:none;border-bottom:1px solid #f0f0f0;color:#333;cursor:pointer;display:block;font-size:13px;font-weight:700;letter-spacing:.5px;padding:10px 15px;text-align:center;transition:background .2s ease;width:100%}.language-option:last-child{border-bottom:none}.language-option:hover{background:#f8f9fa}.language-option.active{background:#e7f3ff;color:#007bff;font-weight:600}@media (max-width:768px){.language-selector{margin:5px}.language-dropdown{font-size:13px;padding:6px 10px}}.header{background:linear-gradient(135deg,#007bff,#0056b3);box-shadow:0 2px 10px #007bff4d;color:#fff;padding:1rem 0;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem}.header-left{flex:1 1}.header-title{align-items:center;display:flex;flex-direction:row;gap:1rem;margin:0}.company-logo{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));height:60px;max-width:250px;object-fit:contain;width:auto}.company-name{color:#fff;font-size:1.8rem;text-shadow:0 2px 4px #0000004d}.header-title .system-name{color:#fff!important;font-size:1.1rem;font-weight:400;letter-spacing:.5px;text-shadow:0 2px 4px #0000004d}.header-right,.user-info{align-items:center;display:flex}.user-info{background:#0000!important;gap:1rem;margin:0;padding:0}.user-name{font-size:.95rem;font-weight:600}.user-name,.user-role{background:none!important;background-color:initial!important;border:none;color:#fff!important;margin:0;padding:0;text-shadow:0 1px 3px #0000004d}.user-role{font-size:.85rem;font-style:italic;opacity:.95}.logout-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:20px;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:500;height:36px;justify-content:center;line-height:1;padding:.5rem 1rem;transition:all .3s ease}.logout-btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}.logout-btn:active{transform:translateY(0)}@media (max-width:768px){.header-content{flex-direction:column;gap:1rem;padding:0 1rem}.header-title{flex-direction:column;gap:.5rem;text-align:center}.company-logo{height:50px}.company-name{font-size:1.5rem}.header-title .system-name{font-size:.95rem}.user-info{flex-direction:column;gap:.5rem;text-align:center}}.navigation{background:#fff;border-bottom:1px solid #e9ecef;box-shadow:0 2px 4px #0000001a;position:-webkit-sticky;position:sticky;top:80px;z-index:999}.nav-container{display:flex;flex-wrap:wrap;gap:0;margin:0 auto;max-width:1400px;overflow-x:visible;padding:0 2rem}.nav-link{align-items:center;border-bottom:3px solid #0000;color:#6c757d;display:flex;font-size:.95rem;font-weight:500;padding:1rem 1.5rem;position:relative;text-decoration:none;transition:all .3s ease;white-space:nowrap}.nav-link:hover{background:#007bff0d;color:#007bff}.nav-link.active{background:#007bff1a;border-bottom-color:#007bff;color:#007bff;font-weight:600}.nav-link.active:before{background:#007bff;content:"";height:2px;left:0;position:absolute;right:0;top:0}.nav-dropdown{display:inline-block;position:relative}.dropdown-content{background:#fff;border-radius:4px;box-shadow:0 4px 12px #00000026;left:0;margin-top:0;min-width:200px;overflow:hidden;position:absolute;top:100%;z-index:1000}.dropdown-item{border-bottom:1px solid #f0f0f0;color:#6c757d;display:block;font-size:.95rem;padding:.75rem 1rem;text-decoration:none;transition:all .2s ease}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:#007bff1a;color:#007bff}@media (max-width:768px){.nav-container{gap:0;padding:0 1rem}.nav-link{font-size:.85rem;min-width:auto;padding:.75rem 1rem}}@media (max-width:480px){.nav-container{padding:0 .5rem}.nav-link{font-size:.8rem;padding:.75rem}}.nav-container::-webkit-scrollbar{height:3px}.nav-container::-webkit-scrollbar-track{background:#f1f1f1}.nav-container::-webkit-scrollbar-thumb{background:#007bff;border-radius:3px}.nav-container::-webkit-scrollbar-thumb:hover{background:#0056b3}.login-container{padding:2rem}.login-background,.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh}.login-background{background:linear-gradient(135deg,#007bff,#0056b3);left:0;position:fixed;top:0;width:100%;z-index:1000}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border:1px solid #fff3;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:450px;padding:3rem;width:100%}.login-header{margin-bottom:2.5rem;text-align:center}.login-logo-container{align-items:center;display:flex;justify-content:center;margin-bottom:1.5rem}.login-logo{filter:drop-shadow(0 2px 8px rgba(0,0,0,.15));height:60px;width:auto}.login-title{display:flex;flex-direction:column;gap:.3rem;margin:0 0 .5rem}.company-name{color:#007bff;font-size:2rem;font-weight:700;letter-spacing:-.5px}.system-name{color:#495057;font-size:1.3rem;font-weight:600;letter-spacing:.5px}.login-subtitle{color:#6c757d;font-size:1rem;font-weight:500;margin:0}.login-form{display:flex;flex-direction:column;gap:1.5rem}.error-message{border-radius:10px;color:#721c24;font-size:.9rem;padding:.75rem 1rem}.form-label{font-size:.95rem}.form-input{background:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;font-size:1rem;padding:.75rem 1rem;transition:all .3s ease}.form-input:focus{background:#fff;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.form-input:disabled{background:#e9ecef;cursor:not-allowed}.login-btn{align-items:center;background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;margin-top:.5rem;padding:.875rem 1.5rem;transition:all .3s ease}.login-btn:hover:not(:disabled){box-shadow:0 8px 25px #007bff4d;transform:translateY(-2px)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;height:16px;width:16px}@media (max-width:768px){.login-container{padding:1rem}.login-card{margin:1rem;padding:2rem}.login-logo{height:50px}.company-name{font-size:1.7rem}.system-name{font-size:1.1rem}}@media (max-width:480px){.login-card{padding:1.5rem}.login-logo{height:45px}.company-name{font-size:1.5rem}.system-name{font-size:1rem}}.dashboard-container{margin:0 auto;max-width:1200px;min-height:calc(100vh - 80px);padding:2rem}.dashboard-header{margin-bottom:3rem;text-align:center}.dashboard-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#007bff,#0056b3);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.dashboard-subtitle{color:#6c757d;font-size:1.1rem;font-weight:400;margin:0}.team-info{background:linear-gradient(135deg,#e3f2fd,#f8f9fa);border-left:4px solid #007bff;border-radius:10px;box-shadow:0 2px 8px #007bff1a;margin-top:1.5rem;padding:1rem 1.5rem}.team-text{color:#2c3e50;font-size:1rem;line-height:1.6;margin:0}.team-text strong{color:#007bff;font-weight:600}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:3rem}.stat-card{border-left:4px solid #0000}.stat-card.users{border-left-color:#28a745}.stat-card.projects{border-left-color:#007bff}.stat-card.requests{border-left-color:#ffc107}.stat-card.attendance{border-left-color:#17a2b8}.stat-icon,.stat-number{font-size:3.5rem}.stat-number{color:#2c3e50;font-weight:700;margin:0 0 .25rem}.stat-label{color:#6c757d;font-size:1.2rem;font-weight:500;margin:0}.dashboard-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr;margin-bottom:2rem}.activity-section,.quick-actions{background:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;padding:2rem}.section-title{align-items:center;color:#2c3e50;display:flex;font-size:1.5rem;font-weight:600;gap:.5rem;margin:0 0 1.5rem}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{align-items:flex-start;background:#f8f9fa;border-radius:10px;display:flex;gap:1rem;padding:1rem;transition:all .3s ease}.activity-item:hover{background:#e9ecef;transform:translateX(5px)}.activity-icon{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.2rem;height:40px;justify-content:center;width:40px}.activity-content{flex:1 1}.activity-main{color:#2c3e50;font-size:.95rem;line-height:1.4;margin-bottom:.25rem}.activity-detail{color:#6c757d;font-weight:400}.activity-time{color:#6c757d;font-size:.8rem;font-style:italic}.action-buttons{flex-direction:column;gap:1rem}.action-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:flex-start;min-width:220px;padding:1rem 1.5rem;text-align:left;transition:all .3s ease;width:100%}.attendance-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.vacation-btn{background:linear-gradient(135deg,#ffc107,#fd7e14);color:#fff}.users-btn{background:linear-gradient(135deg,#0ea5e9,#06b6d4);color:#fff}.projects-btn{background:linear-gradient(135deg,#3b82f6,#0ea5e9);color:#fff}.action-btn:hover{box-shadow:0 4px 15px #0003;transform:translateY(-2px)}.action-btn:active{transform:translateY(0)}.dashboard-footer{border-top:1px solid #e9ecef;margin-top:2rem;padding:2rem 0;text-align:center}.system-info p{color:#6c757d;font-size:.9rem;margin:.25rem 0}.system-info p:first-child{color:#495057;font-weight:600}@media (max-width:1024px){.dashboard-content{grid-template-columns:1fr}}@media (max-width:768px){.dashboard-container{padding:1rem}.dashboard-title{font-size:2rem}.stats-grid{gap:1rem;grid-template-columns:1fr}.stat-card{padding:1.5rem}.stat-number{font-size:3rem}.activity-section,.quick-actions{padding:1.5rem}}@media (max-width:480px){.dashboard-title{font-size:1.7rem}.stat-card{gap:1rem}.activity-item,.stat-card{flex-direction:column;text-align:center}.activity-item{gap:.5rem}.activity-content{text-align:center}}.modal-overlay{padding:1rem}.modal-content{border-radius:15px;box-shadow:0 10px 30px #0000004d;max-width:500px;overflow-y:auto;width:100%}.modal-header{padding:1.5rem}.modal-header h3{color:#495057;font-size:1.25rem;margin:0}.close-btn{height:30px;padding:0;transition:all .2s ease;width:30px}.modal-body{padding:1.5rem}.attendance-buttons{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.attendance-type-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:1rem 1.5rem;transition:all .3s ease}.arrival-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.departure-btn{background:linear-gradient(135deg,#dc3545,#fd7e14);color:#fff}.break-btn{background:linear-gradient(135deg,#ffc107,#fd7e14);color:#fff}.attendance-type-btn:hover{box-shadow:0 4px 15px #0003;transform:translateY(-2px)}.form-group{margin-bottom:1.5rem}.form-group label{color:#495057}.form-group textarea{min-height:80px}.cancel-btn,.submit-btn{border-radius:8px}.submit-btn{background:linear-gradient(135deg,#007bff,#0056b3)}.submit-btn:hover{box-shadow:0 4px 15px #007bff4d;transform:translateY(-1px)}@media (max-width:768px){.modal-overlay{padding:.5rem}.modal-content{max-height:95vh}.modal-body,.modal-header{padding:1rem}.attendance-buttons{gap:.75rem}.form-actions{flex-direction:column}.cancel-btn,.submit-btn{width:100%}}.users-container{margin:0 auto;max-width:1200px;padding:2rem}.users-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.users-title{color:#2c3e50;font-size:2rem;font-weight:700;margin:0}.add-user-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.add-user-btn:hover{box-shadow:0 4px 15px #28a7454d;transform:translateY(-2px)}.users-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.user-card{background:#fff;border-left:4px solid #007bff;border-radius:15px;box-shadow:0 4px 20px #0000001a;padding:2rem;transition:all .3s ease}.user-card:hover{box-shadow:0 8px 30px #00000026;transform:translateY(-5px)}.user-header{align-items:flex-start;display:flex;gap:1rem;margin-bottom:1rem;position:relative}.user-avatar{background:#f8f9fa;flex-shrink:0;font-size:2.5rem;height:60px;overflow:hidden;position:relative;width:60px}.user-avatar-img{display:block;height:100%;object-fit:cover;width:100%}.user-avatar-fallback{font-size:2.5rem}.user-main-info{flex:1 1;min-width:0}.user-name-line{margin-bottom:.5rem}.user-card .user-name{background:#0000!important;color:#007bff!important;font-size:1.2rem;font-weight:600;margin:0}.role-badge-corner{position:absolute;right:0;top:0}.user-contact{display:flex;flex-direction:column;gap:.25rem}.user-username{color:#6c757d;font-size:.9rem;font-style:italic;font-weight:500}.user-email,.user-phone{color:#495057;font-size:.9rem}.user-project{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;font-size:.9rem;gap:.5rem;margin-bottom:1rem;padding:.5rem}.user-billing{background:#e8f5e8;border-left:4px solid #28a745;border-radius:8px;margin:1rem 0;padding:.75rem}.billing-header{color:#28a745;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.billing-rates{display:flex;flex-wrap:wrap;gap:.5rem}.rate-item{align-items:center;background:#fff;border:1px solid #d4edda;border-radius:6px;display:flex;font-size:.85rem;gap:.25rem}.rate-label{color:#666;font-weight:500}.rate-value{color:#28a745;font-weight:600}.project-label{color:#6c757d;font-weight:500}.project-name{color:#495057}.role-badge{border-radius:20px;display:inline-block;flex-shrink:0;font-size:.75rem;font-weight:600;padding:.25rem .75rem;white-space:nowrap}.role-badge.admin{background:#dc3545!important;color:#fff!important}.role-badge.employee{background:#007bff!important;color:#fff!important}.role-badge.manager,.role-badge.supervisor,.role-badge.supervisor-manager{background:#28a745!important;color:#fff!important}.user-actions{display:flex;gap:.5rem;justify-content:center}.block-btn,.delete-btn,.edit-btn,.password-btn{border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.password-btn{background:#17a2b8;color:#fff}.password-btn:hover{background:#138496;transform:translateY(-1px)}.block-btn.block{background:#fd7e14;color:#fff}.block-btn.block:hover{background:#e8690b;transform:translateY(-1px)}.block-btn.unblock{background:#28a745;color:#fff}.block-btn.unblock:hover{background:#218838;transform:translateY(-1px)}.user-card.blocked{background:linear-gradient(135deg,#fff5f5,#fff);border:2px solid #fd7e14;opacity:.7}.blocked-indicator{color:#fd7e14;font-size:.8em;font-weight:700}.user-card.blocked .user-name{background:#0000!important;color:#6c757d!important}.user-card.blocked .user-avatar{filter:grayscale(50%)}.billing-section{background:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;margin-top:1.5rem;padding:1.5rem}.billing-section h3{border-bottom:2px solid #28a745;color:#28a745;font-size:1.2rem;margin:0 0 1rem;padding-bottom:.5rem;text-align:center}.billing-section .form-group{margin-bottom:1rem}.billing-section input{background:#fff;border:2px solid #dee2e6}.billing-section input:focus{border-color:#28a745;box-shadow:0 0 0 3px #28a7451a}@media (max-width:768px){.users-container{padding:1rem}.users-header{flex-direction:column;gap:1rem;text-align:center}.users-grid{grid-template-columns:1fr}.user-header{align-items:center;flex-direction:column;gap:.75rem;text-align:center}.user-avatar{font-size:2rem}.role-badge-corner{margin-top:.5rem;position:static}.user-contact{align-items:center;flex-direction:column;gap:.25rem;text-align:center}.user-actions{flex-direction:column;gap:.5rem}.user-actions button{width:100%}.modal{margin:1rem;padding:1rem}.form-actions{flex-direction:column}.form-actions button{width:100%}}.form-section{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;margin:1.5rem 0;padding:1rem}.form-section h3{font-size:1.1rem;font-weight:600}.form-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.form-row .form-group label{font-size:.9rem;font-weight:500}.form-row .form-group input{font-size:.9rem;padding:.5rem}.user-billing-info{background:#f8f9fa;border-left:3px solid #28a745;border-radius:8px;margin:1rem 0;padding:1rem}.billing-rates{margin-bottom:.75rem}.accommodation-label,.billing-label{color:#2c3e50;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.rates-row{display:flex;flex-wrap:wrap;gap:.5rem}.rate-item{background:#e9ecef;border-radius:4px;color:#495057;font-size:.8rem;font-weight:500;padding:.25rem .5rem}.accommodation-info{align-items:center;display:flex;gap:.5rem}.accommodation-status{border-radius:15px;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.accommodation-status.company{background:#d4edda;color:#155724}.accommodation-status.self{background:#fff3cd;color:#856404}@media (max-width:768px){.form-row{grid-template-columns:1fr}.form-section{margin:1rem 0;padding:.75rem}.accommodation-info,.rates-row{flex-direction:column;gap:.25rem}.accommodation-info{align-items:flex-start}}.avatar-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(5,1fr);margin:2rem 0}.avatar-option{align-items:center;background:#f8f9fa;border:3px solid #dee2e6;border-radius:15px;cursor:pointer;display:flex;font-size:3rem;height:80px;justify-content:center;transition:all .3s ease;width:80px}.avatar-option:hover{border-color:#007bff;box-shadow:0 4px 15px #007bff4d;transform:scale(1.1)}.avatar-option.selected{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-color:#28a745;box-shadow:0 4px 20px #28a74566;transform:scale(1.15)}.simple-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.simple-modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.simple-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e9ecef;border-radius:16px 16px 0 0;color:#fff;display:flex;justify-content:space-between;padding:1.5rem}.simple-modal-header h2{font-size:1.5rem;margin:0}.simple-close-btn{background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:.5rem;transition:background .3s ease}.simple-close-btn:hover{background:#ffffff4d}.simple-modal-body{padding:2rem}.simple-modal-body p{color:#333;font-size:1.1rem;margin:1rem 0}.project-detail-section{margin-bottom:2rem}.project-detail-section h3{border-bottom:2px solid #e9ecef;color:#667eea;font-size:1.2rem;margin-bottom:1rem;padding-bottom:.5rem}.users-list{display:flex;flex-direction:column;gap:1rem}.user-item{background:#f8f9fa;border-left:4px solid #667eea;border-radius:12px;gap:1rem;padding:1rem}.user-avatar,.user-item{align-items:center;display:flex}.user-avatar{background:#fff;border-radius:50%;box-shadow:0 2px 8px #0000001a;font-size:2rem;height:3rem;justify-content:center;width:3rem}.user-details{flex:1 1}.user-details strong{color:#333;font-size:1.1rem}.user-role{color:#667eea;font-weight:500;margin-left:.5rem}.user-details small{color:#6c757d;font-size:.9rem}.no-users{background:#f8f9fa;border-radius:12px;color:#6c757d;font-style:italic;text-align:center}.loading-spinner,.no-users{padding:2rem}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:12px;color:#dc3545;padding:2rem;text-align:center}.back-btn{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;margin-right:1rem;padding:.5rem 1rem;transition:background .3s ease}.back-btn:hover{background:#5a6268}.projects-container{margin:0 auto;max-width:1200px;padding:2rem}.projects-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.projects-title{color:#2c3e50;font-size:2rem;font-weight:700;margin:0}.add-project-btn{background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.add-project-btn:hover{box-shadow:0 4px 15px #007bff4d;transform:translateY(-2px)}.projects-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.project-card{background:#fff;border-left:4px solid #007bff;border-radius:15px;box-shadow:0 4px 20px #0000001a;padding:2rem;transition:all .3s ease}.project-card:hover{box-shadow:0 8px 30px #00000026;transform:translateY(-5px)}.project-info{margin-bottom:1.5rem}.project-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.project-icon{flex-shrink:0;font-size:2rem}.project-name{color:#2c3e50;flex:1 1;font-size:1.3rem;font-weight:600;margin:0}.project-description{color:#6c757d;font-size:.95rem;line-height:1.5;margin:0 0 1rem}.project-stats{display:flex;flex-direction:column;gap:.25rem}.stat{color:#495057;font-size:.9rem}.project-actions{display:flex;gap:.5rem;justify-content:center}.delete-btn,.detail-btn,.edit-btn{border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.detail-btn{background:#17a2b8;color:#fff}.detail-btn:hover{background:#138496;transform:translateY(-1px)}.edit-btn{color:#212529}.edit-btn:hover{transform:translateY(-1px)}.delete-btn{background:#dc3545}.delete-btn:hover{background:#c82333}.form-group input,.form-group textarea{border:2px solid #e9ecef;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.form-group textarea{min-height:100px}.form-group input[type=number]{-moz-appearance:textfield}.form-group input[type=number]::-webkit-inner-spin-button,.form-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-help{color:#6c757d;display:block;font-size:.875rem;font-style:italic;margin-top:.25rem}.form-row{display:flex}.form-row .form-group{flex:1 1;margin-bottom:0}.accommodation-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;margin-bottom:1.5rem;padding:1.5rem}.save-btn:hover{background:#218838;transform:translateY(-2px)}@media (max-width:768px){.projects-container{padding:1rem}.projects-header{flex-direction:column;gap:1rem;text-align:center}.projects-grid{grid-template-columns:1fr}.project-actions{flex-direction:column;gap:.5rem}.project-actions button{width:100%}.modal{margin:1rem;padding:1rem}.form-actions{flex-direction:column}.form-actions button{width:100%}}.pdetail-project-detail-container{background:#f8f9fa;margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.pdetail-project-detail-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.pdetail-back-btn{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .3s ease}.pdetail-back-btn:hover{background:#5a6268;transform:translateY(-2px)}.pdetail-project-detail-header h1{color:#2c3e50;font-size:28px;margin:0}.pdetail-rotation-settings-btn{background:#17a2b8;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:12px 24px;transition:all .3s ease}.pdetail-rotation-settings-btn:hover{background:#138496;transform:translateY(-2px)}.pdetail-project-info-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:25px}.pdetail-project-basic-info h3{color:#2c3e50;font-size:20px;margin-bottom:15px}.pdetail-project-info-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.pdetail-edit-project-btn{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s ease}.pdetail-edit-project-btn:hover{background:#0056b3;transform:translateY(-1px)}.pdetail-billing-rates-section{background:#f8f9fa;border-left:4px solid #28a745;border-radius:6px;margin-top:20px;padding:15px}.pdetail-billing-rates-section h4{color:#2c3e50;font-size:16px;margin-bottom:10px}.pdetail-project-edit-form{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;padding:20px}.pdetail-form-group{margin-bottom:15px}.pdetail-form-input,.pdetail-form-textarea{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:8px 12px;transition:border-color .2s ease;width:100%}.pdetail-form-input:focus,.pdetail-form-textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.pdetail-form-help{color:#6c757d;display:block;font-size:12px;font-style:italic;margin-top:5px}.pdetail-form-textarea{min-height:80px;resize:vertical}.pdetail-form-row{display:flex}.pdetail-form-row .pdetail-form-group{flex:1 1}.pdetail-billing-rates-edit{background:#fff;border:1px solid #dee2e6;border-radius:6px;margin-top:20px;padding:15px}.pdetail-billing-rates-edit h4{color:#2c3e50;font-size:16px;margin-bottom:15px}.pdetail-form-actions{border-top:1px solid #dee2e6;display:flex;gap:10px;margin-top:20px;padding-top:15px}.pdetail-save-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.pdetail-save-btn:hover{background:#218838;transform:translateY(-1px)}.pdetail-cancel-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.pdetail-cancel-btn:hover{background:#5a6268;transform:translateY(-1px)}.pdetail-project-basic-info p{color:#495057;font-size:16px;margin:8px 0}.pdetail-users-rotation-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:25px}.pdetail-users-rotation-section h3{color:#2c3e50;font-size:22px;margin-bottom:25px}.pdetail-monthly-overview{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;margin-bottom:30px;padding:20px}.pdetail-monthly-header{align-items:center;display:flex;gap:15px;justify-content:space-between;margin-bottom:20px}.pdetail-month-nav-btn{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .3s ease;white-space:nowrap}.pdetail-month-nav-btn:hover{background:#0056b3;transform:translateY(-1px)}.pdetail-monthly-header h4{color:#2c3e50;flex:1 1;font-size:18px;margin:0;text-align:center}.pdetail-monthly-overview h4{color:#2c3e50;font-size:18px;margin-bottom:15px;text-align:center}.pdetail-overview-table{background:#fff;border:1px solid #dee2e6;border-radius:6px;display:flex;flex-direction:column;overflow:hidden}.pdetail-overview-header{background:#e9ecef;border-bottom:2px solid #dee2e6;display:flex}.pdetail-user-column{align-items:center;display:flex;padding:8px 12px;width:150px}.pdetail-day-column,.pdetail-user-column{border-right:1px solid #dee2e6;color:#495057;font-size:12px;font-weight:700}.pdetail-day-column{min-width:16px;padding:6px 2px;text-align:center;width:16px}.pdetail-day-column:last-child{border-right:none}.pdetail-overview-row{border-bottom:1px solid #dee2e6;display:flex}.pdetail-overview-row:last-child{border-bottom:none}.pdetail-overview-row .pdetail-user-name{align-items:center;background:#f8f9fa!important;border-right:1px solid #dee2e6;color:#007bff!important;display:flex;font-size:12px;font-weight:700;padding:8px 12px;width:150px}.pdetail-overview-day{border-right:1px solid #dee2e6;cursor:pointer;height:20px;min-width:16px;transition:all .2s ease;width:16px}.pdetail-overview-day:last-child{border-right:none}.pdetail-overview-day.pdetail-work{background:#28a745}.pdetail-overview-day.pdetail-home{background:#dc3545}.pdetail-overview-day.pdetail-sick{background:#ffc107}.pdetail-overview-day.pdetail-unset{background:#f8f9fa}.pdetail-overview-day.pdetail-today{border:2px solid #007bff;border-radius:2px}.pdetail-overview-day:hover{opacity:.8;transform:scale(1.1)}.pdetail-overview-legend{border-top:1px solid #dee2e6;display:flex;gap:20px;justify-content:center;margin-top:15px;padding-top:15px}.pdetail-users-rotation-list{display:flex;flex-direction:column;gap:25px}.pdetail-user-rotation-card{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;padding:20px;transition:all .3s ease}.pdetail-user-rotation-card:hover{border-color:#007bff;box-shadow:0 4px 15px #007bff1a}.pdetail-user-info{align-items:center;border-bottom:1px solid #dee2e6;display:flex;gap:20px;margin-bottom:20px;padding-bottom:15px}.pdetail-user-avatar{align-items:center;background:#e9ecef;border-radius:50%;display:flex;font-size:48px;height:60px;justify-content:center;width:60px}.pdetail-user-details{flex:1 1}.pdetail-user-rotation-card .pdetail-user-details h4{color:#007bff!important;font-size:20px;font-weight:600;margin:0 0 5px}.pdetail-user-role{color:#6c757d;font-weight:500;margin:0 0 5px}.pdetail-user-email{color:#868e96;font-size:14px;margin:0}.pdetail-rotation-controls{display:flex;flex-direction:column;gap:8px;min-width:200px}.pdetail-rotation-controls label{color:#495057;font-size:14px;font-weight:500}.pdetail-rotation-controls input[type=date]{border:1px solid #ced4da;border-radius:6px;font-size:14px;padding:8px 12px}.pdetail-user-calendar-container{align-items:flex-start;display:flex;gap:20px;margin-top:15px}.pdetail-calendar-wrapper{flex-shrink:0;margin-bottom:20px}.pdetail-calendar-info{flex:1 1;min-width:200px}.pdetail-calendar-info h5{color:#2c3e50;font-size:16px;font-weight:600;margin-bottom:15px}.pdetail-calendar-legend{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.pdetail-legend-item{align-items:center;background:#f8f9fa;border-left:3px solid #0000;border-radius:4px;color:#495057;display:flex;font-size:12px;font-weight:700;gap:8px;padding:8px 12px}.pdetail-legend-item.pdetail-work{background:#d4edda;border-left-color:#28a745}.pdetail-legend-item.pdetail-home{background:#cce7ff;border-left-color:#007bff}.pdetail-legend-item.pdetail-unset{background:#f8f9fa;border-left-color:#6c757d}.pdetail-legend-color{border:1px solid #0000001a;border-radius:3px;flex-shrink:0;height:16px;width:16px}.pdetail-legend-color.pdetail-work{background:#28a745}.pdetail-legend-color.pdetail-home{background:#dc3545}.pdetail-legend-color.pdetail-unset{background:#6c757d}.pdetail-user-calendar{background:#fff;border:2px solid #dee2e6;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;width:100%}.pdetail-calendar-header{background:#87ceeb;display:grid;grid-template-columns:repeat(7,1fr);height:45px;width:100%}.pdetail-day-header{align-items:center;border-right:1px solid #7bc4e8;color:#2c3e50;display:flex;font-size:14px;font-weight:700;justify-content:center;padding:12px 8px;text-align:center}.pdetail-day-header:last-child{border-right:none}.pdetail-calendar-week{border-bottom:1px solid #dee2e6;display:grid;grid-template-columns:repeat(7,1fr);min-height:45px;width:100%}.pdetail-calendar-week:last-child{border-bottom:none}.pdetail-project-detail-container .pdetail-calendar-day{align-items:center!important;aspect-ratio:auto;background:#fff;border-right:1px solid #dee2e6;border:1px solid #dee2e6!important;color:#212529;cursor:pointer;display:flex!important;flex-direction:row;font-size:14px;font-weight:600;justify-content:center!important;max-height:45px!important;min-height:45px!important;padding:12px 8px!important;text-align:center;transition:all .2s ease}.pdetail-project-detail-container .pdetail-calendar-day:last-child{border-right:none}.pdetail-project-detail-container .pdetail-calendar-day.pdetail-work{background:#28a745;color:#fff;font-weight:700}.pdetail-project-detail-container .pdetail-calendar-day.pdetail-home{background:#dc3545;color:#fff;font-weight:700}.pdetail-project-detail-container .pdetail-calendar-day.pdetail-sick{background:#ffc107;color:#212529;font-weight:700}.pdetail-project-detail-container .pdetail-calendar-day.pdetail-unset{background:#f8f9fa;color:#6c757d;font-weight:600}.pdetail-project-detail-container .pdetail-calendar-day.pdetail-empty{background:#fff;color:#0000;cursor:default}.pdetail-project-detail-container .pdetail-calendar-day.pdetail-today{border:3px solid #007bff!important;box-shadow:0 0 0 2px #007bff40;font-weight:700}.pdetail-project-detail-container .pdetail-calendar-day.pdetail-other-month{background:#e9ecef!important;color:#adb5bd!important;opacity:.6}.pdetail-project-detail-container .pdetail-calendar-day:hover:not(.pdetail-empty):not(.pdetail-other-month){box-shadow:0 2px 8px #0003;transform:scale(1.05);z-index:1}.pdetail-no-users{color:#6c757d;padding:40px;text-align:center}.pdetail-no-users p{font-size:18px;margin:0}.pdetail-loading-spinner{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px}.pdetail-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:50px;margin-bottom:20px;width:50px}.pdetail-error-message{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:40px;text-align:center}.pdetail-error-message h2{color:#dc3545;margin-bottom:15px}.pdetail-error-message p{color:#6c757d;font-size:16px;margin-bottom:25px}@media (max-width:768px){.pdetail-project-detail-container{padding:15px}.pdetail-project-detail-header{flex-direction:column;gap:15px;text-align:center}.pdetail-project-detail-header h1{font-size:24px}.pdetail-user-info{flex-direction:column;text-align:center}.pdetail-user-calendar-container{flex-direction:column;gap:15px}.pdetail-calendar-wrapper{width:100%}.pdetail-user-calendar{max-width:100%}.pdetail-calendar-info{min-width:auto}.pdetail-calendar-info h5{font-size:14px;text-align:center}.pdetail-calendar-legend{flex-direction:row;flex-wrap:wrap;gap:6px;justify-content:center}.pdetail-legend-item{font-size:11px;padding:4px 8px}.pdetail-project-detail-container .pdetail-calendar-day{font-size:10px;max-height:24px;min-height:24px;padding:4px 2px}.pdetail-day-header{font-size:10px;padding:6px 2px}.pdetail-monthly-overview{margin-bottom:20px;padding:15px}.pdetail-monthly-overview h4{font-size:16px}.pdetail-user-column{font-size:12px;padding:6px 8px;width:120px}.pdetail-overview-row .pdetail-user-name{background:#f8f9fa!important;color:#007bff!important;font-size:11px;padding:6px 8px;width:120px}.pdetail-day-column{font-size:9px;min-width:14px;padding:4px 1px;width:14px}.pdetail-overview-day{height:18px;min-width:14px;width:14px}.pdetail-month-nav-btn{font-size:12px;padding:6px 12px}.pdetail-monthly-header{gap:10px}.pdetail-monthly-header h4{font-size:16px}.pdetail-overview-legend{align-items:center;flex-direction:column;gap:8px}.pdetail-project-info-header{align-items:flex-start}.pdetail-form-row,.pdetail-project-info-header{flex-direction:column;gap:10px}.pdetail-form-actions{flex-direction:column;gap:8px}.pdetail-cancel-btn,.pdetail-save-btn{text-align:center;width:100%}}.pdetail-yearly-view{max-width:none;width:100%}.pdetail-yearly-overview-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:20px}.pdetail-month-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:15px}.pdetail-month-title{border-bottom:2px solid #e9ecef;color:#2c3e50;font-size:16px;font-weight:600;margin:0 0 15px;padding-bottom:10px;text-align:center}.pdetail-user-column-small{background:#f8f9fa;border-right:1px solid #dee2e6;color:#495057;font-size:10px;font-weight:600;min-width:60px;padding:4px 2px;text-align:center;width:60px}.pdetail-project-detail-container .pdetail-user-name-small{background:#fff;border-right:1px solid #dee2e6;color:#007bff!important;font-size:9px;font-weight:500;min-width:60px;overflow:hidden;padding:3px 2px;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:60px}.pdetail-day-column-small{background:#f8f9fa;color:#495057;font-size:8px;font-weight:500;padding:2px 1px;text-align:center}.pdetail-day-column-small,.pdetail-overview-day-small{border-right:1px solid #dee2e6;min-width:12px;width:12px}.pdetail-overview-day-small{cursor:default;height:16px;transition:all .2s ease}.pdetail-overview-day-small.pdetail-work{background:#28a745}.pdetail-overview-day-small.pdetail-home{background:#007bff}.pdetail-overview-day-small.pdetail-sick{background:#ffc107}.pdetail-overview-day-small.pdetail-unset{background:#e9ecef}.pdetail-overview-day-small.pdetail-today{border:1px solid #ffc107;box-shadow:0 0 3px #ffc10780}.pdetail-project-detail-container .pdetail-calendar-day.pdetail-clickable{cursor:pointer;transition:all .2s ease}.pdetail-project-detail-container .pdetail-calendar-day.pdetail-clickable:hover{box-shadow:0 2px 8px #0003;transform:scale(1.1);z-index:10}.pdetail-legend-color.pdetail-sick{background:#ffc107}.pdetail-legend-item.pdetail-sick{background:#fff8e1;border-left-color:#ffc107}.pdetail-calendar-wrapper{width:420px}.pdetail-user-calendar{max-width:420px}.pdetail-calendar-header{font-size:11px}.pdetail-day-header{font-size:11px;padding:6px 3px}.pdetail-calendar-day{font-size:10px;min-height:24px;padding:4px 2px}@media (max-width:768px){.pdetail-yearly-overview-container{gap:15px;grid-template-columns:1fr}.pdetail-month-section{padding:10px}.pdetail-month-title{font-size:14px}.pdetail-user-column-small{font-size:9px;min-width:50px;width:50px}.pdetail-project-detail-container .pdetail-user-name-small{background:#fff!important;color:#007bff!important;font-size:8px;min-width:50px;width:50px}.pdetail-day-column-small{font-size:7px;min-width:10px;width:10px}.pdetail-overview-day-small{height:14px;min-width:10px;width:10px}}.pdetail-system-info{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;margin-top:30px;padding:15px 20px;text-align:center}.pdetail-system-info p{color:#495057;font-size:14px;margin:5px 0}.pdetail-system-info p:first-child{color:#2c3e50;font-weight:600}.pdetail-email-btn{align-items:center;background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;margin-left:15px;padding:10px 20px;transition:all .3s ease}.pdetail-email-btn:hover{background:#218838;box-shadow:0 4px 8px #28a7454d;transform:translateY(-2px)}.pdetail-email-btn:active{transform:translateY(0)}.pdetail-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.pdetail-modal-content{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.pdetail-email-modal .pdetail-modal-header{align-items:center;background:linear-gradient(135deg,#28a745,#20c997);border-bottom:1px solid #e9ecef;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 25px}.pdetail-email-modal .pdetail-modal-header h3{font-size:20px;font-weight:600;margin:0}.pdetail-modal-close{align-items:center;background:#0000;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:28px;height:30px;justify-content:center;padding:0;transition:all .2s ease;width:30px}.pdetail-modal-close:hover{background:#fff3;transform:rotate(90deg)}.pdetail-modal-body{padding:25px}.pdetail-modal-body p{color:#495057;line-height:1.6;margin-bottom:20px}.pdetail-form-group{margin-bottom:20px}.pdetail-form-group label{color:#2c3e50;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.pdetail-form-control{border:2px solid #e9ecef;border-radius:8px;box-sizing:border-box;font-size:14px;padding:12px;transition:all .3s ease;width:100%}.pdetail-form-control:focus{border-color:#28a745;box-shadow:0 0 0 3px #28a7451a;outline:none}.pdetail-form-control:disabled{background:#f8f9fa;cursor:not-allowed}.pdetail-info-text{background:#e7f3ff;border-left:4px solid #007bff;border-radius:6px;color:#004085;font-size:13px;margin-top:15px;padding:12px 15px}.pdetail-modal-footer{border-top:1px solid #e9ecef;display:flex;gap:10px;justify-content:flex-end;padding:20px 25px}.pdetail-btn-primary,.pdetail-btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .3s ease}.pdetail-btn-primary{background:#28a745;color:#fff}.pdetail-btn-primary:hover:not(:disabled){background:#218838;box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.pdetail-btn-primary:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.pdetail-btn-secondary{background:#6c757d;color:#fff}.pdetail-btn-secondary:hover:not(:disabled){background:#5a6268}.pdetail-btn-secondary:disabled{cursor:not-allowed;opacity:.6}.pdetail-screenshot-preview{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;margin:20px 0;padding:15px}.pdetail-screenshot-preview h4{color:#495057;font-size:16px;font-weight:600;margin:0 0 15px}.pdetail-preview-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;max-height:400px;overflow:auto;padding:10px}.pdetail-preview-image{border-radius:4px;display:block;height:auto;width:100%}.pdetail-preview-info{color:#28a745;font-size:14px;font-weight:500;margin:10px 0 0;text-align:center}.pdetail-subscriptions-btn{background:#6f42c1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-left:10px;padding:10px 20px;transition:all .3s ease}.pdetail-subscriptions-btn:hover{background:#5a32a3;box-shadow:0 4px 12px #6f42c14d;transform:translateY(-2px)}.pdetail-subscriptions-modal{max-height:90vh;max-width:900px;overflow-y:auto}.pdetail-subscriptions-info{background:#e7f3ff;border-left:4px solid #007bff;border-radius:8px;margin-bottom:20px;padding:15px}.pdetail-subscriptions-info p{color:#004085;font-size:14px;margin:0}.pdetail-add-subscription-form{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;margin-bottom:30px;padding:20px}.pdetail-add-subscription-form h4{color:#495057;font-size:16px;font-weight:600;margin:0 0 15px}.pdetail-form-row{grid-gap:15px;align-items:end;display:grid;gap:15px;grid-template-columns:2fr 2fr 1fr auto}.pdetail-form-group{display:flex;flex-direction:column}.pdetail-form-group label{color:#495057;font-size:13px;font-weight:600;margin-bottom:5px}.pdetail-btn-add-subscription{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease;white-space:nowrap}.pdetail-btn-add-subscription:hover:not(:disabled){background:#218838;box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.pdetail-btn-add-subscription:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.pdetail-subscriptions-list{margin-bottom:20px}.pdetail-subscriptions-list h4{color:#495057;font-size:16px;font-weight:600;margin:0 0 15px}.pdetail-no-subscriptions{background:#f8f9fa;border-radius:8px;color:#6c757d;padding:40px 20px;text-align:center}.pdetail-subscriptions-table{overflow-x:auto}.pdetail-subscriptions-table table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;width:100%}.pdetail-subscriptions-table thead{background:#007bff;color:#fff}.pdetail-subscriptions-table th{font-size:13px;font-weight:600;padding:12px;text-align:left;white-space:nowrap}.pdetail-subscriptions-table td{border-bottom:1px solid #dee2e6;font-size:14px;padding:12px}.pdetail-subscriptions-table tbody tr:hover{background:#f8f9fa}.pdetail-subscriptions-table tbody tr.inactive{background:#f8f9fa;opacity:.6}.pdetail-subscriptions-table .pdetail-actions{text-align:center;white-space:nowrap}.pdetail-status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px;white-space:nowrap}.pdetail-status-badge.active{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.pdetail-status-badge.inactive{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.pdetail-btn-delete,.pdetail-btn-toggle{background:none;border:none;border-radius:4px;cursor:pointer;font-size:18px;padding:5px 10px;transition:all .2s ease}.pdetail-btn-toggle:hover{background:#e7f3ff;transform:scale(1.1)}.pdetail-btn-delete:hover{background:#ffe5e5;transform:scale(1.1)}.pdetail-subscriptions-footer-info{background:#fff3cd;border-left:4px solid #ffc107;border-radius:8px;margin-top:20px;padding:15px}.pdetail-subscriptions-footer-info p{color:#856404;font-size:13px;margin:5px 0}.pdetail-subscriptions-footer-info strong{font-weight:600}@media (max-width:768px){.pdetail-form-row{grid-template-columns:1fr}.pdetail-subscriptions-table{font-size:12px}.pdetail-subscriptions-table td,.pdetail-subscriptions-table th{padding:8px}}.attendance-container{background:#f8f9fa;margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem}.attendance-header{align-items:center;background:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.header-controls{align-items:flex-end;flex-direction:column;gap:.5rem}.admin-controls{align-items:center;display:flex;gap:1rem}.user-select{background:#fff;border:2px solid #e9ecef;border-radius:8px;min-width:200px}.absence-btn,.user-select{font-size:.9rem;padding:.5rem 1rem}.absence-btn{background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;transition:all .3s ease}.absence-btn:hover{background:#c82333;transform:translateY(-1px)}.attendance-title{color:#2c3e50;font-size:2rem;font-weight:700;margin:0}.add-attendance-btn{background:#007bff;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.add-attendance-btn:hover{background:#0056b3;transform:translateY(-2px)}.calendar-controls{align-items:center;background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1rem 1.5rem}.nav-btn{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.nav-btn:hover{background:#5a6268;transform:translateY(-1px)}.current-month{color:#2c3e50;font-size:1.5rem;font-weight:700;margin:0}.calendar{background:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;margin:0 auto 2rem;max-width:800px;padding:1.5rem;width:100%}.unified-calendar-grid{grid-gap:1px;background:#e9ecef;border-radius:10px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);padding:1px;position:relative}.weekday-cell{background:#f8f9fa;border-radius:0;color:#000;font-size:1.1rem;font-weight:700;padding:1rem;text-align:center}.weekday-cell:first-child{border-radius:9px 0 0 0}.weekday-cell:nth-child(7){border-radius:0 9px 0 0}.calendar-day{align-items:center;aspect-ratio:1;background:#fff;border:none;border-radius:0;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:80px;position:relative;transition:all .3s ease}.calendar-day:hover{background:#f0f8ff;box-shadow:inset 0 0 0 2px #007bff;transform:scale(1.02)}.calendar-day.empty{cursor:default;opacity:0}.calendar-day.today{background:#f3e5f5;border:2px solid #9c27b0;box-shadow:inset 0 0 0 4px #9c27b0;font-weight:700}.calendar-day.has-attendance{background:#f0f8ff;box-shadow:inset 0 0 0 2px #007bff}.calendar-day.has-rotation{position:relative}.day-number{color:#000;font-size:1.4rem;font-weight:700;margin-bottom:.25rem}.attendance-indicators{display:flex;flex-direction:column;gap:.25rem;width:100%}.attendance-item{justify-content:center}.attendance-item,.work-indicator{align-items:center;display:flex;gap:.25rem}.work-indicator{position:relative}.absence-indicator{align-items:center;display:flex;flex-direction:column;gap:.1rem}.absence-icon{font-size:.8rem}.absence-reason{color:#dc3545}.absence-reason,.hours-info{font-size:.6rem;font-weight:600}.hours-info{background:#007bff1a;border-radius:3px;color:#007bff;padding:.1rem .3rem}.edit-btn{background:#ffc107;border:none;border-radius:3px;cursor:pointer;font-size:.6rem;padding:.1rem .2rem;transition:all .2s ease}.edit-btn:hover{background:#e0a800;transform:scale(1.1)}.location-dot{border-radius:50%;height:8px;width:8px}.attendance-dot{border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px #0000004d;height:12px;width:12px}.shift-icon{font-size:.8rem}.rotation-indicator{align-items:center;display:flex;justify-content:center;position:absolute;right:2px;top:2px}.rotation-color-dot{border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px #0000004d;height:12px;width:12px}.rotation-icon{font-size:.9rem;line-height:1}.loading-overlay{align-items:center;background:#ffffffe6;border-radius:15px;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0}.spinner{border:4px solid #e9ecef;border-top-color:#007bff;height:40px;margin-bottom:1rem;width:40px}.legend{background:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;padding:1.5rem}.legend h3{color:#2c3e50;font-size:1.2rem;margin:0 0 1rem}.stats-counts{gap:.25rem}.legend-items,.stats-counts{display:flex;flex-direction:column}.legend-items{gap:.5rem}.legend-item{align-items:center;color:#495057;display:flex;font-size:.9rem;gap:.5rem}.legend-color-box{border:1px solid #dee2e6;border-radius:4px;height:20px;width:20px}.modal{box-shadow:0 10px 30px #0000004d;padding:2rem;text-align:left}.modal h2{color:#007bff;font-size:1.5rem;margin:0 0 1.5rem;text-align:center}.form-group{margin-bottom:1rem}.form-group label{color:#333;display:block;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group select{border:2px solid #e9ecef;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.form-actions{justify-content:center}.save-btn{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.save-btn:hover:not(:disabled){background:#218838;transform:translateY(-2px)}.save-btn:disabled{cursor:not-allowed;opacity:.6}.cancel-btn{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.cancel-btn:hover{transform:translateY(-2px)}.admin-edit-modal{max-width:600px;width:95%}.attendance-info{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.attendance-info p{color:#495057;margin:.25rem 0}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.form-group textarea{border:2px solid #e9ecef;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:1rem;padding:.75rem;resize:vertical;transition:border-color .3s ease;width:100%}.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.worked-hours-display{background:#e8f5e8;border:2px solid #28a745;border-radius:8px;color:#155724;margin:1rem 0;padding:1rem;text-align:center}@media (max-width:768px){.attendance-container{padding:1rem}.attendance-header{flex-direction:column;gap:1rem;text-align:center}.admin-controls,.header-controls{flex-direction:column;gap:1rem;width:100%}.user-select{min-width:auto;width:100%}.calendar-controls{flex-direction:column;gap:1rem;text-align:center}.unified-calendar-grid{gap:2px}.weekday-cell{color:#000;font-size:1rem;padding:.5rem}.calendar-day{min-height:60px}.day-number{color:#000;font-size:1.2rem;font-weight:700}.edit-btn,.hours-info{font-size:.5rem}.edit-btn{padding:.05rem .1rem}.legend-items{flex-direction:column;gap:.5rem}.modal{margin:1rem;padding:1rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}}.header-controls{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.view-mode-tabs{background:#f8f9fa;border-radius:8px;display:flex;gap:2px;padding:4px}.tab-btn{background:#0000;border:none;border-radius:6px;color:#6c757d;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.tab-btn.active{background:#007bff;box-shadow:0 2px 4px #007bff4d;color:#fff}.tab-btn:hover:not(.active){background:#e9ecef;color:#495057}.action-buttons-wrapper{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.action-buttons-row{align-items:center;display:flex;gap:10px}.action-buttons-row .absence-btn,.action-buttons-row .add-attendance-btn{border-radius:6px;font-size:14px;font-weight:500;padding:8px 16px}.export-btn{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:background-color .3s ease}.export-btn:hover{background:#218838}.filters-section{border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:20px;padding:20px}.filters{display:flex;flex-wrap:wrap;gap:20px}.filter-group{gap:5px;min-width:150px}.filter-group label{color:#2c3e50;font-size:14px}.filter-group select{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:8px 12px}.list-view{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.list-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;padding:20px}.list-header h3{color:#2c3e50;font-size:1.2rem;margin:0}.list-stats{color:#6c757d;display:flex;font-size:14px;gap:20px}.attendance-table{overflow-x:auto}.attendance-table table{border-collapse:collapse;width:100%}.attendance-table td,.attendance-table th{border-bottom:1px solid #e9ecef;padding:12px 15px;text-align:left}.attendance-table th{background:#f8f9fa;color:#2c3e50;font-size:14px;font-weight:600}.attendance-table td{color:#495057;font-size:14px}.location-badge{border-radius:4px;color:#fff;font-size:12px;font-weight:600;padding:4px 8px}.shift-badge{align-items:center;display:flex;font-size:14px;gap:5px}.actions{display:flex;gap:8px}.delete-btn,.edit-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:16px;padding:4px 8px;transition:background-color .3s ease}.edit-btn:hover{background:#e3f2fd}.delete-btn:hover{background:#ffebee}.statistics-view{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:20px}.stats-header{margin-bottom:25px}.stats-header h3{color:#2c3e50;font-size:1.2rem;margin:0}.stats-grid{grid-gap:20px;gap:20px}.attendance-statistics .stat-card{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;padding:20px}.attendance-statistics .stat-card h4{align-items:center!important;color:#2c3e50;display:flex!important;font-size:1rem;font-weight:600;gap:8px;justify-content:center!important;margin:0 0 15px;text-align:center!important;width:100%!important}.attendance-statistics .stat-items{display:flex;flex-direction:column;gap:10px}.attendance-statistics .stat-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;gap:1rem;justify-content:space-between;min-height:32px;padding:8px 0}.attendance-statistics .stat-item:last-child{border-bottom:none}.attendance-statistics .stat-label{align-items:center;color:#6c757d;display:flex;flex-shrink:0;font-size:14px;gap:8px}.attendance-statistics .stat-value{color:#2c3e50;flex-shrink:0;font-size:14px;font-weight:700;white-space:nowrap}@media (max-width:768px){.header-controls{align-items:stretch;flex-direction:column;gap:15px}.view-mode-tabs{justify-content:center}.action-buttons-wrapper{align-items:stretch;width:100%}.action-buttons-row{flex-wrap:wrap;justify-content:center}.export-btn{width:100%}.filters{flex-direction:column}.filter-group{min-width:auto}.list-header{align-items:stretch;flex-direction:column;text-align:center}.list-stats{justify-content:center}.stats-grid{grid-template-columns:1fr}}.attendance-calendar-wrapper{display:flex;gap:1.5rem;margin-top:1rem}.attendance-monthly-calendar{overflow-x:auto}.attendance-info-panel,.attendance-monthly-calendar{background:#fff;border-radius:10px;box-shadow:0 4px 15px #00000014;flex:1 1;max-width:50%;padding:1.5rem}.attendance-info-panel .legend-items{display:flex;flex-direction:column;gap:.5rem}.attendance-info-panel .legend-item{align-items:center;display:flex;gap:.75rem}.attendance-info-panel .legend-color-box{flex-shrink:0}.calendar-table{border:1px solid #dee2e6;border-radius:8px;display:flex;flex-direction:column;max-width:100%;overflow:hidden;width:100%}.calendar-table-header{background:#f8f9fa;border-bottom:2px solid #dee2e6;display:flex;font-weight:700}.kw-header{background:#e9ecef;min-width:50px;width:50px}.day-header,.kw-header{border-right:1px solid #dee2e6;color:#495057;font-size:14px;padding:12px 8px;text-align:center}.day-header{flex:1 1}.day-header:last-child{border-right:none}.calendar-table-row{border-bottom:1px solid #dee2e6;display:flex}.calendar-table-row:last-child{border-bottom:none}.kw-cell{align-items:center;background:#007bff;border-right:1px solid #dee2e6;color:#fff;display:flex;font-size:13px;font-weight:700;justify-content:center;min-width:50px;padding:8px 4px;text-align:center;transition:all .2s ease;width:50px}.kw-cell.clickable{cursor:pointer}.kw-cell.clickable:hover{background:#0056b3;transform:scale(1.05)}.calendar-table-cell{align-items:center;aspect-ratio:1/1;border-right:1px solid #dee2e6;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:6px 4px;position:relative;transition:all .2s ease}.calendar-table-cell:last-child{border-right:none}.calendar-table-cell.clickable{cursor:pointer}.calendar-table-cell.clickable:hover{box-shadow:inset 0 0 0 2px #0003;transform:scale(1.05);z-index:1}.calendar-table-cell.other-month{opacity:.4}.calendar-table-cell.today-cell{background:#f3e5f5;border:2px solid #9c27b0;box-shadow:inset 0 0 0 4px #9c27b0;font-weight:900}.calendar-table-cell .day-num{color:#212529;font-size:13px;font-weight:700;text-shadow:none}.calendar-table-cell .day-icon{font-size:18px;margin-top:2px}.calendar-table-cell[style*="background: linear-gradient"] .day-num,.calendar-table-cell[style*="backgroundColor: #28a745"] .day-num,.calendar-table-cell[style*="backgroundColor: #dc3545"] .day-num{color:#fff!important;text-shadow:1px 1px 2px #0009}.calendar-table-cell[style*="backgroundColor: #f8f9fa"] .day-num{color:#495057!important;text-shadow:none}@media (max-width:1200px){.attendance-calendar-wrapper{flex-direction:column}.attendance-monthly-calendar{flex:1 1;max-width:100%}.attendance-info-panel{min-width:100%}}@media (max-width:768px){.attendance-monthly-calendar{overflow-x:auto;padding:.5rem}.calendar-table{min-width:auto;width:100%}.attendance-info-panel{padding:1rem}.kw-cell,.kw-header{font-size:11px;min-width:40px;width:40px}.day-header{font-size:11px;padding:8px 4px}.calendar-table-cell{min-height:35px;padding:4px 2px}.calendar-table-cell .day-num{font-size:11px}.calendar-table-cell .day-icon{font-size:14px}}.vacation-container{margin:0 auto;max-width:1000px;padding:2rem}.vacation-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.vacation-title{color:#2c3e50;font-size:2rem;font-weight:700;margin:0}.add-request-btn{background:linear-gradient(135deg,#ffc107,#fd7e14);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.add-request-btn:hover{box-shadow:0 4px 15px #ffc1074d;transform:translateY(-2px)}.vacation-columns{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:60% 40%;margin-top:2rem}.history-column,.pending-column{background:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;padding:1.5rem}.column-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;position:relative}.column-header h2{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0}.requests-list{display:flex;flex-direction:column;gap:1.5rem}.history-section{margin-bottom:1rem}.history-toggle{align-items:center;background:#f8f9fa;border:2px solid #0000;border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;padding:1rem;transition:all .3s ease}.history-toggle:hover{background:#e9ecef;transform:translateY(-1px)}.history-toggle.approved{border-left:4px solid #28a745}.history-toggle.rejected{border-left:4px solid #dc3545}.history-toggle span:first-child{color:#495057;font-weight:600}.arrow{color:#6c757d;font-size:.8rem;transition:transform .3s ease}.arrow.up{transform:rotate(180deg)}.history-content{border-left:2px solid #e9ecef;margin-top:1rem;padding-left:1rem}.admin-comment{background:#fff3cd;border-left:4px solid #ffc107;border-radius:8px;color:#495057;font-size:.95rem;line-height:1.6;margin-top:1rem;padding:1rem}.admin-comment strong{color:#2c3e50;display:block;font-size:.9rem;margin-bottom:.5rem}.no-requests{background:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;padding:3rem;text-align:center}.no-requests p{color:#6c757d;font-size:1.1rem;margin:0}.request-card{background:#fff;border-left:4px solid #ffc107;border-radius:15px;box-shadow:0 4px 20px #0000001a;padding:2rem;transition:all .3s ease}.request-card:hover{box-shadow:0 8px 30px #00000026;transform:translateY(-2px)}.request-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.request-dates h3{color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0 0 .25rem}.request-duration{color:#6c757d;font-size:.9rem;font-style:italic;margin:0}.status-badge{border-radius:20px;font-size:.85rem;font-weight:600;padding:.5rem 1rem;white-space:nowrap}.status-badge.pending{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.status-badge.approved{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-badge.rejected{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.request-content{margin-bottom:1rem}.request-reason{color:#495057;font-size:1rem;line-height:1.5;margin-bottom:.5rem}.request-meta{background:#f8f9fa;border-radius:8px;color:#6c757d;display:flex;flex-direction:column;font-size:.9rem;gap:.5rem;margin-top:1rem;padding:1rem}.request-meta span{align-items:center;display:flex;gap:.5rem}.admin-actions{border-top:1px solid #e9ecef;display:flex;gap:.75rem;padding-top:1rem}.approve-btn,.delete-btn,.reject-btn{border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.approve-btn{background:#28a745;color:#fff}.approve-btn:hover{background:#218838;transform:translateY(-1px)}.reject-btn{background:#dc3545;color:#fff}.reject-btn:hover{background:#c82333;transform:translateY(-1px)}.delete-btn{background:#6c757d;color:#fff}.delete-btn:hover{background:#5a6268;transform:translateY(-1px)}.history-delete-btn{font-size:.8rem;margin-left:1rem;padding:.4rem .8rem}.modal-overlay{background:#00000080;z-index:1000}.modal{background:#fff;border-radius:15px;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.modal-header{border-bottom:1px solid #e9ecef;padding:2rem 2rem 1rem}.modal-header h2{color:#2c3e50}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#6c757d;cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;padding:.25rem;width:2rem}.close-btn:hover{background:#f8f9fa;color:#495057}.vacation-form{gap:1.5rem;padding:2rem}.form-group,.vacation-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-label{color:#495057;font-size:1rem;font-weight:600}.form-input,.form-textarea{background:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;font-size:1rem;padding:.75rem 1rem;transition:all .3s ease}.form-input:focus,.form-textarea:focus{background:#fff;border-color:#ffc107;box-shadow:0 0 0 3px #ffc1071a;outline:none}.form-textarea{font-family:inherit;min-height:80px;resize:vertical}.form-actions{border-top:1px solid #e9ecef;justify-content:flex-end;padding-top:1rem}.cancel-btn,.submit-btn{border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.cancel-btn{background:#6c757d;color:#fff}.cancel-btn:hover{background:#5a6268}.submit-btn{background:linear-gradient(135deg,#ffc107,#fd7e14)}.submit-btn:hover{box-shadow:0 4px 15px #ffc1074d}.loading-spinner{height:50vh}.loading-spinner .spinner{border-top-color:#ffc107;height:40px;width:40px}@media (max-width:768px){.vacation-container{padding:1rem}.vacation-header{flex-direction:column;gap:1rem;text-align:center}.vacation-columns{gap:1.5rem;grid-template-columns:1fr}.history-column,.pending-column{padding:1rem}.column-header h2{font-size:1.1rem}.request-header{flex-direction:column;gap:1rem}.request-meta{gap:.25rem}.admin-actions,.form-actions,.request-meta{flex-direction:column}.history-toggle{padding:.75rem}.history-content{padding-left:.5rem}}.character-counter{color:#6c757d;font-size:.875rem;font-weight:500;margin-top:.25rem;text-align:right}.statistics-container{background:#f8f9fa;margin:0 auto;max-width:1400px;min-height:calc(100vh - 80px);padding:2rem}.loading{align-items:center;display:flex;flex-direction:column;gap:1rem;height:50vh;justify-content:center}.loading .spinner{animation:spin 1s linear infinite;border:5px solid #e9ecef;border-radius:50%;border-top-color:#007bff;height:50px;width:50px}.loading p{color:#6c757d;font-size:1.2rem;font-weight:500}.access-denied{background:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;margin-top:3rem;padding:4rem 2rem;text-align:center}.access-denied h2{color:#dc3545;font-size:2rem;margin-bottom:1rem}.access-denied p{color:#6c757d;font-size:1.1rem;margin:.5rem 0}.statistics-header{background:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;margin-bottom:2rem;padding:2rem}.header-row{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin-bottom:1.5rem}.title-section{flex:1 1;text-align:left}.title-section h1{color:#007bff;font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.title-section p{color:#6c757d;font-size:1.1rem;margin:0}.refresh-btn{background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:8px;box-shadow:0 2px 10px #007bff4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.refresh-btn:hover{box-shadow:0 4px 20px #007bff66;transform:translateY(-2px)}.filter-section{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.filter-group label{font-size:.95rem}.filter-group select{background:#fff;border:2px solid #e9ecef;border-radius:8px;color:#495057;cursor:pointer;font-size:1rem;min-width:180px;padding:.75rem 1.25rem;transition:all .2s ease}.filter-group select:hover{border-color:#007bff}.filter-group select:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem}.stat-card{align-items:center;background:#fff;border-left:4px solid #007bff;border-radius:15px;box-shadow:0 4px 20px #0000001a;display:flex;gap:1.5rem;padding:2rem;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 30px #00000026;transform:translateY(-5px)}.stat-card.highlight{background:linear-gradient(135deg,#fff,#f0fff4);border-left-color:#28a745}.stat-icon{flex-shrink:0;font-size:3rem;opacity:.8}.stat-content{flex:1 1}.statistics-container .stat-content h3{color:#6c757d;font-size:1rem;font-weight:500;margin:0 0 .5rem}.stat-value{color:#2c3e50;font-size:2.5rem;line-height:1;margin:0}.stat-meta{color:#6c757d;font-size:.9rem;margin-top:.5rem}.details-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.detail-card{background:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;padding:1.5rem;transition:all .3s ease}.detail-card:hover{box-shadow:0 6px 25px #0000001f;transform:translateY(-3px)}.detail-card h3{border-bottom:2px solid #e9ecef;color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0 0 1rem;padding-bottom:.75rem}.detail-content{display:flex;flex-direction:column;gap:.75rem}.detail-content p{align-items:center;color:#6c757d;display:flex;font-size:1rem;justify-content:space-between;margin:0}.detail-content strong{color:#2c3e50;font-weight:600}.monthly-stats{background:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;margin-bottom:2rem;padding:2rem}.monthly-stats h2{border-bottom:3px solid #007bff;color:#2c3e50;font-size:1.75rem;font-weight:700;margin:0 0 1.5rem;padding-bottom:1rem}.monthly-table{overflow-x:auto}.monthly-table table{border-collapse:collapse;width:100%}.monthly-table thead{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff}.monthly-table th{font-size:.95rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.monthly-table tbody tr{border-bottom:1px solid #e9ecef;transition:all .2s ease}.monthly-table tbody tr:hover{background:#f8f9fa}.monthly-table td{color:#495057;font-size:.95rem;padding:1rem}.monthly-table td:first-child{color:#2c3e50;font-weight:600}.profit-positive{color:#28a745!important;font-weight:600}.profit-negative{color:#dc3545!important;font-weight:600}.top-performers{background:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;margin-bottom:2rem;padding:2rem}.top-performers h2{border-bottom:3px solid #28a745;color:#2c3e50;font-size:1.75rem;font-weight:700;margin:0 0 1.5rem;padding-bottom:1rem}.performers-table{overflow-x:auto}.performers-table table{border-collapse:collapse;width:100%}.performers-table thead{background:linear-gradient(135deg,#28a745,#1e7e34);color:#fff}.performers-table th{font-size:.95rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.performers-table tbody tr{border-bottom:1px solid #e9ecef;transition:all .2s ease}.performers-table tbody tr:hover{background:#f0fff4}.performers-table td{color:#495057;font-size:.95rem;padding:1rem}.performers-table td:first-child{color:#2c3e50;font-weight:600}.project-stats{background:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;margin-bottom:2rem;padding:2rem}.project-stats h2{border-bottom:3px solid #17a2b8;color:#2c3e50;font-size:1.75rem;font-weight:700;margin:0 0 1.5rem;padding-bottom:1rem}.projects-table{overflow-x:auto}.projects-table table{border-collapse:collapse;width:100%}.projects-table thead{background:linear-gradient(135deg,#17a2b8,#117a8b);color:#fff}.projects-table th{font-size:.95rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.projects-table tbody tr{border-bottom:1px solid #e9ecef;transition:all .2s ease}.projects-table tbody tr:hover{background:#e7f7f9}.projects-table td{color:#495057;font-size:.95rem;padding:1rem}.projects-table td:first-child{color:#2c3e50;font-weight:600}.debug-section{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:10px;margin-bottom:2rem;padding:1.5rem;text-align:center}.debug-section h3{color:#6c757d;font-size:1.2rem;margin:0 0 .75rem}.debug-section p{color:#6c757d;font-size:.95rem;margin:0 0 1rem}.debug-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.debug-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.6rem 1.2rem;transition:all .2s ease}.debug-btn:hover{background:#5a6268;transform:translateY(-2px)}@media (max-width:768px){.statistics-container{padding:1rem}.title-section h1{font-size:2rem}.details-grid,.stats-grid{grid-template-columns:1fr}.filter-section{align-items:stretch;flex-direction:column}.filter-group select{width:100%}.stat-card{flex-direction:column;text-align:center}.stat-icon{font-size:2.5rem}.stat-value{font-size:2rem}.monthly-table,.performers-table,.projects-table{font-size:.85rem}.monthly-table td,.monthly-table th,.performers-table td,.performers-table th,.projects-table td,.projects-table th{padding:.6rem .4rem}}@media (max-width:480px){.title-section h1{font-size:1.5rem}.stat-value{font-size:1.75rem}.detail-card h3{font-size:1rem}.monthly-stats h2,.project-stats h2,.top-performers h2{font-size:1.3rem}}.stats-owner-card{background:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;padding:1.5rem;transition:all .3s ease}.stats-owner-card:hover{box-shadow:0 6px 25px #0000001f;transform:translateY(-3px)}.stats-owner-card h3{border-bottom:2px solid #e9ecef;color:#2c3e50;font-size:1.3rem;margin-bottom:1.5rem;padding-bottom:.75rem}.stats-owner-profit{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem;text-align:center}.stats-owner-profit p{color:#495057;font-size:.95rem;margin:0 0 .5rem}.profit-amount{font-size:2.5rem;font-weight:700;margin:.5rem 0;text-shadow:2px 2px 4px #0003}.withdrawn-amount{color:#ff6b6b;font-size:1.1rem}.remaining-positive{color:#51cf66;font-size:1.1rem}.remaining-negative{color:#ff6b6b;font-size:1.1rem}.stats-owner-actions{display:flex;gap:1rem;margin-top:1.5rem}.stats-action-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:flex-start;min-width:220px;padding:1rem 1.5rem;text-align:left;transition:all .3s ease;width:100%}.stats-action-btn:hover{box-shadow:0 4px 15px #0003;transform:translateY(-2px)}.stats-action-btn:active{transform:translateY(0)}.stats-withdrawal-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.stats-expense-btn{background:linear-gradient(135deg,#3b82f6,#0ea5e9);color:#fff}.stats-transaction-form{background:#ffffff26;border-radius:12px;margin-top:1.5rem;padding:1.5rem}.stats-transaction-form h4{color:#fff;font-size:1.1rem;margin:0 0 1rem}.stats-transaction-form input{background:#ffffffe6;border:2px solid #ffffff4d;border-radius:8px;box-sizing:border-box;font-size:.95rem;margin-bottom:1rem;padding:.8rem;width:100%}.stats-transaction-form input:focus{background:#fff;border-color:#fff9;outline:none}.submit-btn{background:#4caf50e6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.9rem;transition:all .3s ease;width:100%}.submit-btn:hover{background:#4caf50;box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.expenses-section{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;margin:3rem 0;padding:2rem}.expenses-section h2{color:#2d3748;font-size:1.8rem;margin-bottom:2rem;text-align:center}.expenses-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr)}.expense-column{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;padding:1.5rem}.expense-column h3{border-bottom:2px solid #dee2e6;color:#495057;font-size:1.1rem;margin-bottom:1.5rem;padding-bottom:1rem}.expense-column-inner{display:flex;flex-direction:column}.expense-column-inner h3{border-bottom:2px solid #e9ecef;color:#495057;font-size:1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.75rem}.expense-summary{background:#fff;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.expense-summary p{color:#495057;font-size:.95rem;margin:.5rem 0}.expense-total,.withdrawal-total{color:#e74c3c;font-size:1.3rem}.expense-list{max-height:600px;overflow-y:auto}.expense-item{background:#fff;border-left:4px solid #e74c3c;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:1rem;padding:1rem}.withdrawal-item{border-left-color:#3498db}.expense-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.expense-owner,.expense-type{color:#495057;font-size:.9rem;font-weight:600}.delete-btn{background:#0000;border:none;cursor:pointer;font-size:1.2rem;padding:.3rem;transition:transform .2s ease}.delete-btn:hover{transform:scale(1.2)}.expense-amount{color:#2d3748;font-size:1.3rem;font-weight:700;margin:.5rem 0}.expense-note{color:#6c757d;font-size:.9rem;font-style:italic;margin:.5rem 0}.expense-date{color:#adb5bd;font-size:.85rem;margin:.5rem 0 0}.no-data{color:#adb5bd;font-style:italic;padding:2rem}@media (max-width:1200px){.expenses-grid{grid-template-columns:1fr}}@media (max-width:768px){.stats-owner-actions{flex-direction:column}.profit-amount{font-size:2rem}}.success-notification{animation:slideInDown .3s ease-out;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:10000}.success-notification-content{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 20px 60px #0000004d;color:#fff;display:flex;flex-direction:column;gap:1rem;min-width:300px;padding:2rem 3rem}.success-icon{align-items:center;animation:scaleIn .5s ease-out;background:#fff3;border-radius:50%;display:flex;font-size:4rem;height:80px;justify-content:center;width:80px}.success-message{font-size:1.5rem;font-weight:600;text-align:center}@keyframes slideInDown{0%{opacity:0;transform:translate(-50%,-60%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes scaleIn{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.employee-row-clickable{transition:background-color .2s ease,transform .1s ease}.employee-row-clickable:hover{background-color:#e3f2fd!important;transform:scale(1.01)}.employee-detail-modal{max-width:900px;width:90%}.modal-overlay{align-items:center;animation:fadeIn .3s ease;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.modal-content{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.modal-header{align-items:center;background:linear-gradient(135deg,#007bff,#0056b3);border-bottom:2px solid #007bff;color:#fff;display:flex;justify-content:space-between;padding:20px}.modal-header h2{font-size:1.5rem;margin:0}.close-button{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;transition:background-color .2s ease;width:40px}.close-button:hover{background:#ffffff4d}.modal-body{overflow-y:auto;padding:20px}.modal-footer{border-top:1px solid #ddd;display:flex;gap:10px;justify-content:flex-end;padding:15px 20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.hours-adjustment-container{margin:0 auto;max-width:1400px;padding:2rem}.hours-adjustment-header{margin-bottom:2rem;text-align:center}.hours-adjustment-header h1{color:#2c3e50;font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.subtitle{color:#6c757d;font-size:1.1rem}.filters-section{grid-gap:2rem;background:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem;padding:2rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{color:#495057;font-size:1rem;font-weight:600}.filter-select{background:#fff;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.filter-select:focus{border-color:#007bff;outline:none}.loading-spinner{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem}.loading-spinner .spinner{animation:spin 1s linear infinite;border:4px solid #e9ecef;border-radius:50%;border-top-color:#007bff;height:50px;width:50px}.loading-spinner p{color:#6c757d;font-size:1.1rem}.no-data{background:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;padding:4rem;text-align:center}.no-data p{color:#6c757d;font-size:1.2rem;margin:0}.summary-bar{background:linear-gradient(135deg,#007bff,#0056b3);border-radius:20px;box-shadow:0 4px 20px #007bff33;color:#fff;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-around;margin-bottom:2rem;padding:1.5rem 2rem}.summary-item{align-items:center;display:flex;flex-direction:column;gap:.5rem}.summary-label{font-size:.9rem;opacity:.9}.summary-value{font-size:2rem;font-weight:700}.table-container{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000001a;overflow:hidden}.hours-table{border-collapse:collapse;width:100%}.hours-table thead{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff}.hours-table th{font-size:1rem;font-weight:600;padding:1rem;text-align:left}.hours-table tbody tr{border-bottom:1px solid #e9ecef;transition:background-color .2s ease}.hours-table tbody tr:hover{background-color:#f8f9fa}.hours-table tbody tr:last-child{border-bottom:none}.hours-table td{font-size:.95rem;padding:1rem}.row-weekend{background-color:#fff3cd}.row-weekend:hover{background-color:#ffe69c}.day-badge{border-radius:20px;display:inline-block;font-size:.85rem;font-weight:600;padding:.25rem .75rem}.day-badge.weekday{background-color:#d1ecf1;color:#0c5460}.day-badge.weekend{background-color:#fff3cd;color:#856404}.hours-value{color:#007bff;font-size:1rem;font-weight:600}.note-text{color:#6c757d;font-style:italic}.edit-input{border:2px solid #007bff;border-radius:6px;font-size:.95rem;padding:.5rem;width:100%}.edit-input:focus{border-color:#0056b3;box-shadow:0 0 0 3px #007bff1a;outline:none}.hours-input{max-width:100px}.note-input{min-width:200px}.shift-select{min-width:150px}.shift-value{color:#495057;font-weight:500}.action-buttons{display:flex;gap:.5rem}.btn-cancel,.btn-edit,.btn-save{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.btn-edit{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff}.btn-edit:hover{box-shadow:0 4px 12px #007bff4d;transform:translateY(-2px)}.btn-save{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;min-width:40px}.btn-save:hover{box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.btn-cancel{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;min-width:40px}.btn-cancel:hover{box-shadow:0 4px 12px #dc35454d;transform:translateY(-2px)}.bulk-adjustment-section{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6;border-radius:15px;box-shadow:0 4px 20px #00000014;margin-bottom:2rem;padding:2rem}.bulk-adjustment-section h3{color:#2c3e50;font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.bulk-subtitle{color:#6c757d;font-size:.95rem;margin:0 0 1.5rem}.bulk-inputs{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1.5rem}.bulk-input-group{display:flex;flex-direction:column;gap:.5rem}.bulk-input-group.full-width{grid-column:1/-1}.bulk-input-group label{color:#495057;font-size:.95rem;font-weight:600}.bulk-input{background:#fff;border:2px solid #ced4da;border-radius:8px;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.bulk-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.input-unit{color:#6c757d;font-size:.9rem;margin-top:.25rem}.bulk-buttons{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr;margin-top:1rem}.btn-bulk-update{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:10px;box-shadow:0 4px 15px #28a7454d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:1rem 2rem;transition:all .3s ease;width:100%}.btn-bulk-update:hover:not(:disabled){box-shadow:0 6px 20px #28a74566;transform:translateY(-2px)}.btn-bulk-update:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;opacity:.6}.btn-fix-zero-hours{background:linear-gradient(135deg,#17a2b8,#138496);border:none;border-radius:10px;box-shadow:0 4px 15px #17a2b84d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:1rem 2rem;transition:all .3s ease;width:100%}.btn-fix-zero-hours:hover:not(:disabled){box-shadow:0 6px 20px #17a2b866;transform:translateY(-2px)}.btn-fix-zero-hours:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;opacity:.6}.btn-check-duplicates{background:linear-gradient(135deg,#ff9800,#ff6f00);border:none;border-radius:10px;box-shadow:0 4px 15px #ff98004d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:1rem 2rem;transition:all .3s ease;width:100%}.btn-check-duplicates:hover:not(:disabled){box-shadow:0 6px 20px #ff980066;transform:translateY(-2px)}.btn-check-duplicates:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;opacity:.6}@media (max-width:1024px){.hours-adjustment-container{padding:1rem}.table-container{overflow-x:auto}.hours-table{min-width:800px}}@media (max-width:768px){.hours-adjustment-header h1{font-size:2rem}.filters-section{gap:1rem;grid-template-columns:1fr;padding:1.5rem}.summary-bar{flex-direction:column;gap:1rem}.summary-value{font-size:1.5rem}.bulk-buttons,.bulk-inputs{grid-template-columns:1fr}.bulk-adjustment-section{padding:1.5rem}}.duplicates-modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:10000}.duplicates-modal-content{animation:modalSlideIn .3s ease-out;background-color:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1000px;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.duplicates-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #e0e0e0;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:24px}.duplicates-modal-header h2{font-size:24px;font-weight:600;margin:0}.modal-close-button{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;transition:all .2s;width:36px}.modal-close-button:hover{background:#ffffff4d;transform:rotate(90deg)}.duplicates-modal-body{flex:1 1;overflow-y:auto;padding:24px}.no-duplicates{color:#4caf50;padding:60px 20px;text-align:center}.no-duplicates p{font-size:18px;margin:10px 0}.no-duplicates .subtitle{color:#666;font-size:14px}.duplicates-summary{background:#f5f5f5;border-left:4px solid #ff9800;border-radius:8px;margin-bottom:24px;padding:16px}.duplicates-summary p{margin:8px 0}.duplicates-summary strong{color:#ff9800}.duplicates-summary .subtitle{color:#666;font-size:13px;font-style:italic}.duplicates-list{display:flex;flex-direction:column;gap:20px}.duplicate-day-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;overflow:hidden;transition:all .3s}.duplicate-day-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26}.duplicate-day-header{align-items:center;background:linear-gradient(135deg,#f5f7fa,#e8edf2);border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 20px}.duplicate-day-header h3{color:#333;font-size:18px;margin:0}.record-count-badge{background:#ff9800;border-radius:20px;color:#fff;font-size:13px;font-weight:600;padding:4px 12px}.duplicate-records{display:flex;flex-direction:column;gap:12px;padding:16px}.duplicate-record-item{align-items:flex-start;background:#fff;border:2px solid #e0e0e0;border-radius:8px;display:flex;gap:16px;padding:16px;transition:all .2s}.duplicate-record-item:hover{background:#fafafa;border-color:#bbb}.duplicate-record-item.selected-to-keep{background:#f1f8f4;border-color:#4caf50;box-shadow:0 2px 8px #4caf5033}.record-number{align-items:center;background:#667eea;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.duplicate-record-item.selected-to-keep .record-number{background:#4caf50}.record-details{display:flex;flex:1 1;flex-direction:column;gap:8px}.record-detail-row{align-items:center;display:flex;font-size:14px;gap:12px}.detail-label{min-width:100px}.record-actions{display:flex;flex-direction:column;flex-shrink:0;gap:8px}.btn-delete-single,.btn-keep{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s;white-space:nowrap}.btn-keep{background:#f5f5f5;border:2px solid #ddd;color:#666}.btn-keep:hover{background:#e8e8e8;border-color:#4caf50}.btn-keep.active{background:#4caf50;border-color:#4caf50;color:#fff}.btn-delete-single{background:#f44336;color:#fff}.btn-delete-single:hover{background:#d32f2f;box-shadow:0 2px 8px #f443364d;transform:translateY(-1px)}.btn-delete-single:disabled{background:#ccc;cursor:not-allowed;transform:none}.duplicate-day-actions{background:#f9f9f9;border-top:1px solid #e0e0e0;display:flex;justify-content:center;padding:16px}.btn-delete-others{background:linear-gradient(135deg,#f44336,#d32f2f);border:none;border-radius:8px;box-shadow:0 2px 8px #f443364d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s}.btn-delete-others:hover{box-shadow:0 4px 12px #f4433666;transform:translateY(-2px)}.duplicates-modal-footer{background:#fafafa;border-radius:0 0 12px 12px;border-top:2px solid #e0e0e0;display:flex;justify-content:flex-end;padding:20px 24px}.btn-modal-close{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 32px;transition:all .2s}.btn-modal-close:hover{background:#5568d3;box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}@media (max-width:768px){.duplicates-modal-content{border-radius:0;max-height:100vh;max-width:100%}.duplicates-modal-header{border-radius:0;padding:16px}.duplicates-modal-header h2{font-size:18px}.duplicates-modal-body{padding:16px}.duplicate-record-item{flex-direction:column;gap:12px}.record-actions{flex-direction:row;width:100%}.btn-delete-single,.btn-keep{flex:1 1}.detail-label{font-size:13px;min-width:80px}}.hours-import-container{background:#f8f9fa;margin:0 auto;max-width:1000px;min-height:calc(100vh - 80px);padding:2rem}.hours-import-header{background:linear-gradient(135deg,#007bff,#0056b3);border-radius:15px;box-shadow:0 4px 20px #007bff4d;color:#fff;margin-bottom:2rem;padding:2rem;text-align:center}.hours-import-header h1{font-size:2rem;font-weight:700;margin:0 0 .5rem}.hours-import-header .subtitle{font-size:1rem;margin:0;opacity:.95}.import-form{background:#fff;border-radius:15px;box-shadow:0 4px 20px #00000014;padding:2rem}.form-section{border-bottom:2px solid #e9ecef;margin-bottom:2rem;padding-bottom:2rem}.form-section:last-of-type{border-bottom:none}.form-section h3{align-items:center;color:#2c3e50;display:flex;font-size:1.3rem;gap:.5rem;margin:0 0 1rem}.form-select{background:#fff;border:2px solid #dee2e6;border-radius:10px;color:#2c3e50;cursor:pointer;font-size:1rem;padding:12px 16px;transition:all .3s ease;width:100%}.form-select:focus,.form-select:hover{border-color:#007bff}.form-select:focus{box-shadow:0 0 0 3px #007bff1a;outline:none}.form-select:disabled{background:#f8f9fa;cursor:not-allowed;opacity:.6}.form-hint{color:#6c757d;font-size:.9rem;font-style:italic;margin:.5rem 0 0}.file-upload-section{margin-bottom:1.5rem}.file-upload-label{background:linear-gradient(135deg,#28a745,#20c997);border-radius:10px;box-shadow:0 4px 15px #28a7454d;color:#fff;cursor:pointer;display:inline-block;font-weight:600;padding:12px 24px;transition:all .3s ease}.file-upload-label:hover{box-shadow:0 6px 20px #28a74566;transform:translateY(-2px)}.file-upload-input{display:none}.csv-format-info{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6;border-radius:10px;margin-bottom:1rem;padding:1.5rem}.csv-format-info h4{color:#2c3e50;font-size:1.1rem;margin:0 0 1rem}.format-example{background:#2c3e50;border-radius:8px;color:#f8f9fa;margin-bottom:1rem;overflow-x:auto;padding:1rem}.format-example code{font-family:Courier New,Courier,monospace;font-size:.9rem;line-height:1.6;white-space:pre}.format-description{color:#495057;font-size:.95rem;line-height:1.6;margin:0}.csv-textarea{background:#fff;border:2px solid #dee2e6;border-radius:10px;color:#2c3e50;font-family:Courier New,Courier,monospace;font-size:.95rem;padding:12px 16px;resize:vertical;transition:all .3s ease;width:100%}.csv-textarea:focus,.csv-textarea:hover{border-color:#007bff}.csv-textarea:focus{box-shadow:0 0 0 3px #007bff1a;outline:none}.csv-textarea:disabled{background:#f8f9fa;cursor:not-allowed;opacity:.6}.form-actions{display:flex;gap:1rem;margin-top:2rem}.btn-import{background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:10px;box-shadow:0 4px 15px #007bff4d;color:#fff;cursor:pointer;flex:1 1;font-size:1.1rem;font-weight:600;padding:14px 28px;transition:all .3s ease}.btn-import:hover:not(:disabled){box-shadow:0 6px 20px #007bff66;transform:translateY(-2px)}.btn-import:disabled{background:#6c757d;cursor:not-allowed;opacity:.6;transform:none}.btn-clear{background:linear-gradient(135deg,#dc3545,#c82333);border:none;border-radius:10px;box-shadow:0 4px 15px #dc35454d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:14px 28px;transition:all .3s ease}.btn-clear:hover:not(:disabled){box-shadow:0 6px 20px #dc354566;transform:translateY(-2px)}.btn-clear:disabled{background:#6c757d;cursor:not-allowed;opacity:.6;transform:none}.import-result{animation:slideIn .3s ease;border-radius:15px;margin-top:2rem;padding:2rem}.import-result.success{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:2px solid #28a745}.import-result.warning{background:linear-gradient(135deg,#fff3cd,#ffe9a6);border:2px solid #ffc107}.import-result h3{color:#2c3e50;font-size:1.4rem;margin:0 0 1rem}.result-message{color:#495057;font-size:1.1rem;font-weight:500;margin:0 0 1.5rem}.result-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.stat-item{align-items:center;border-radius:10px;display:flex;justify-content:space-between;padding:1rem}.stat-item.success{background:#28a7451a;border:2px solid #28a745}.stat-item.error{background:#dc35451a;border:2px solid #dc3545}.stat-label{color:#2c3e50;font-weight:600}.stat-value{font-size:1.5rem;font-weight:700}.stat-item.success .stat-value{color:#28a745}.stat-item.error .stat-value{color:#dc3545}.error-details{background:#dc35451a;border:2px solid #dc3545;border-radius:10px;padding:1.5rem}.error-details h4{color:#dc3545;font-size:1.1rem;margin:0 0 1rem}.error-details ul{color:#721c24;margin:0;padding-left:1.5rem}.error-details li{line-height:1.5;margin-bottom:.5rem}@media (max-width:768px){.hours-import-container{padding:1rem}.hours-import-header{padding:1.5rem}.hours-import-header h1{font-size:1.5rem}.import-form{padding:1.5rem}.form-section h3{font-size:1.1rem}.form-actions{flex-direction:column}.btn-clear,.btn-import{width:100%}.result-stats{grid-template-columns:1fr}}.terms-modal-overlay{align-items:center;background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.terms-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:100%}.terms-modal-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #e0e0e0;color:#fff;padding:24px}.terms-modal-header h2{font-size:28px;font-weight:700;margin:0 0 8px}.terms-version{font-size:14px;margin:0;opacity:.9}.terms-modal-body{background:#f9f9f9;flex:1 1;overflow-y:auto;padding:32px;position:relative}.terms-error,.terms-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;text-align:center}.spinner{border-top-color:#667eea;margin-bottom:16px}.spinner-small{animation:spin .8s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;margin-right:8px;width:16px}.terms-content{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;line-height:1.7;padding:24px}.terms-content h1{border-bottom:3px solid #667eea;color:#333;font-size:24px;margin-bottom:20px;margin-top:0;padding-bottom:10px}.terms-content h2{color:#444;font-size:20px;margin-bottom:12px;margin-top:28px}.terms-content p{color:#555;margin-bottom:16px}.terms-content ul{margin-bottom:16px;margin-left:20px}.terms-content li{color:#555;margin-bottom:8px}.terms-content strong{background:#fff3cd;border-radius:3px;color:#333;font-weight:600;padding:2px 6px}.scroll-indicator{animation:bounce 2s infinite;background:linear-gradient(#0000,#f9f9f9f2);bottom:0;left:0;padding:20px;position:-webkit-sticky;position:sticky;right:0;text-align:center}.scroll-indicator p{color:#667eea;font-weight:600;margin:0}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.terms-modal-footer{background:#fff;border-top:2px solid #e0e0e0;padding:24px}.terms-notice{color:#ff6b6b;font-size:14px;font-weight:600;margin:0 0 16px;text-align:center}.terms-actions{display:flex;gap:12px;justify-content:center}.btn-accept,.btn-logout,.btn-retry{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:16px;font-weight:600;justify-content:center;padding:12px 32px;transition:all .3s ease}.btn-accept{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;flex:1 1;max-width:200px}.btn-accept:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-accept:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-logout{background:#f5f5f5;color:#666;flex:1 1;max-width:150px}.btn-logout:hover:not(:disabled){background:#e0e0e0;color:#333}.btn-retry{background:#667eea;color:#fff;margin-top:16px}.btn-retry:hover{background:#5568d3}.terms-error{color:#d32f2f}.terms-error p{margin-bottom:0}@media (max-width:768px){.terms-modal-overlay{padding:0}.terms-modal{border-radius:0;max-height:100vh;max-width:100%}.terms-modal-header{padding:20px}.terms-modal-header h2{font-size:24px}.terms-modal-body{padding:20px}.terms-content{padding:16px}.terms-content h1{font-size:20px}.terms-content h2{font-size:18px}.terms-modal-footer{padding:16px}.terms-actions{flex-direction:column-reverse}.btn-accept,.btn-logout{max-width:none;width:100%}}.terms-modal-body::-webkit-scrollbar{width:10px}.terms-modal-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.terms-modal-body::-webkit-scrollbar-thumb{background:#667eea;border-radius:10px}.terms-modal-body::-webkit-scrollbar-thumb:hover{background:#5568d3}.atp-admin-terms-panel{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:20px auto;max-width:1400px;padding:20px}.atp-admin-terms-panel h1{color:#333;margin-bottom:20px}.atp-admin-message{align-items:center;background:#e7f3ff;border-left:4px solid #2196f3;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:20px;padding:12px 20px}.atp-admin-message button{background:none;border:none;cursor:pointer;font-size:20px;padding:0 10px}.atp-admin-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:10px;margin-bottom:30px}.atp-admin-tabs button{background:none;border:none;border-bottom:3px solid #0000;cursor:pointer;font-size:16px;padding:12px 24px;transition:all .3s}.atp-admin-tabs button:hover{background:#f5f5f5}.atp-admin-tabs button.atp-active{border-bottom-color:#2196f3;color:#2196f3;font-weight:600}.atp-terms-table{border-collapse:collapse;margin-top:20px;width:100%}.atp-terms-table td,.atp-terms-table th{border-bottom:1px solid #e0e0e0;padding:12px;text-align:left}.atp-terms-table th{background:#f5f5f5;color:#666;font-weight:600}.atp-terms-table tr:hover{background:#fafafa}.atp-language-badge{background:#e3f2fd;border-radius:12px;color:#1976d2;display:inline-block;font-size:11px;font-weight:600;margin-right:4px;padding:2px 8px}.atp-status-badge{border-radius:12px;font-size:12px;font-weight:600;padding:4px 12px}.atp-status-badge-active{background:#c8e6c9;color:#2e7d32}.atp-status-badge-inactive{background:#e0e0e0;color:#757575}.atp-btn-small{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:13px;margin:0 4px;padding:6px 12px;transition:all .2s}.atp-btn-small:hover{background:#f5f5f5;border-color:#2196f3}.atp-btn-small.atp-btn-primary{background:#2196f3;border-color:#2196f3;color:#fff}.atp-btn-small.atp-btn-primary:hover{background:#1976d2}.atp-terms-form{margin:0 auto;max-width:900px}.atp-form-group{margin-bottom:20px}.atp-form-group label{color:#555;display:block;font-weight:600;margin-bottom:8px}.atp-form-group input[type=date],.atp-form-group input[type=text],.atp-form-group select,.atp-form-group textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;padding:10px;width:100%}.atp-form-group textarea{font-family:Courier New,monospace;resize:vertical}.atp-form-group input[type=checkbox]{margin-right:8px}.atp-translation-editors{border-top:2px solid #e0e0e0;margin-top:30px;padding-top:30px}.atp-translation-editors h3{color:#333;margin-bottom:20px}.atp-form-actions{border-top:1px solid #e0e0e0;display:flex;gap:10px;margin-top:30px;padding-top:20px}.atp-form-actions button{border:none;border-radius:4px;cursor:pointer;font-size:16px;padding:12px 30px;transition:all .3s}.atp-btn-primary{background:#2196f3;color:#fff}.atp-btn-primary:hover{background:#1976d2}.atp-btn-primary:disabled{background:#ccc;cursor:not-allowed}.notify-section{margin:0 auto;max-width:900px}.user-selection{background:#f9f9f9;border-radius:8px;margin:30px 0;padding:20px}.selection-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.selection-header h3{margin:0}.selection-header div{display:flex;gap:8px}.atp-users-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));max-height:400px;overflow-y:auto;padding:10px}.user-checkbox{align-items:flex-start;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;gap:10px;padding:12px;transition:all .2s}.user-checkbox:hover{border-color:#2196f3;box-shadow:0 2px 4px #2196f31a}.user-checkbox input[type=checkbox]{margin-top:2px}.atp-user-info{display:flex;flex-direction:column;gap:4px}.atp-user-info strong{color:#333;font-size:14px}.atp-user-info small{color:#777;font-size:12px}.version-badge{background:#fff3cd;border-radius:8px;color:#856404;padding:2px 6px}.atp-stats-section{margin:0 auto;max-width:1200px}.admin-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:30px 0}.admin-stat-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #00000026;color:#fff;padding:30px;text-align:center}.admin-stat-card h3{font-size:48px;font-weight:700;margin:0 0 10px}.admin-stat-card p{font-size:14px;margin:0;opacity:.9}.stats-tables{grid-gap:30px;display:grid;gap:30px;margin:30px 0}.simple-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;width:100%}.simple-table td,.simple-table th{border-bottom:1px solid #e0e0e0;padding:12px;text-align:left}.simple-table th{background:#f5f5f5;color:#666;font-weight:600}.simple-table tr:hover{background:#fafafa}.simple-table code{background:#f5f5f5;border-radius:3px;color:#d32f2f;font-size:12px;padding:2px 6px}.atp-btn-back{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;margin-top:20px;padding:10px 20px}.atp-btn-back:hover{background:#f5f5f5}.admin-panel-loading{color:#666;font-size:18px;padding:60px 20px;text-align:center}@media (max-width:768px){.atp-admin-terms-panel{margin:10px;padding:10px}.atp-admin-tabs{overflow-x:auto}.atp-admin-tabs button{font-size:14px;padding:10px 16px;white-space:nowrap}.atp-terms-table{font-size:12px}.atp-terms-table td,.atp-terms-table th{padding:8px}.admin-stats-grid,.atp-users-grid{grid-template-columns:1fr}.atp-form-actions{flex-direction:column}.atp-form-actions button{width:100%}}.user-terms-history{margin:20px auto;max-width:1000px;padding:20px}.history-header{border-bottom:2px solid #e0e0e0;margin-bottom:40px;padding-bottom:20px;text-align:center}.history-header h2{color:#333;font-size:28px;margin:0 0 10px}.subtitle{color:#777;font-size:14px;margin:0}.history-message{align-items:center;animation:slideIn .3s ease-out;background:#e7f3ff;border-left:4px solid #2196f3;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:20px;padding:12px 20px}.history-message button{background:none;border:none;color:#2196f3;cursor:pointer;font-size:20px;padding:0 10px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.terms-history-loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;min-height:300px}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#2196f3;height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.no-agreements{background:#f9f9f9;border-radius:12px;margin:40px 0;padding:60px 20px;text-align:center}.empty-icon{font-size:64px;margin-bottom:20px;opacity:.5}.no-agreements h3{color:#555;margin:0 0 10px}.no-agreements p{color:#888;margin:0}.uth-agreements-list{grid-gap:20px;display:grid;gap:20px}.uth-agreement-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px;transition:all .3s}.uth-agreement-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.agreement-header{align-items:flex-start;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.agreement-title{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.agreement-title h3{color:#333;font-size:18px;margin:0}.version-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.agreement-date{color:#777;font-size:13px;white-space:nowrap}.agreement-details{grid-gap:12px;display:grid;gap:12px;margin-bottom:20px}.detail-item{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.detail-label{color:#666;font-size:13px;font-weight:600}.detail-value{color:#333;font-size:13px}.detail-value code{background:#f5f5f5;border-radius:4px;color:#d32f2f;font-size:12px;padding:2px 8px}.pdf-available{color:#4caf50!important;font-weight:600}.agreement-actions{display:flex;flex-wrap:wrap;gap:10px}.uth-btn-action{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:8px;justify-content:center;min-width:140px;padding:12px 20px;transition:all .3s}.uth-btn-icon{font-size:18px}.uth-btn-view{background:#e3f2fd;color:#1976d2}.uth-btn-view:hover{background:#1976d2;box-shadow:0 4px 12px #1976d24d;color:#fff;transform:translateY(-2px)}.uth-btn-download{background:#f3e5f5;color:#7b1fa2}.uth-btn-download:hover{background:#7b1fa2;box-shadow:0 4px 12px #7b1fa24d;color:#fff;transform:translateY(-2px)}.uth-btn-generate{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.uth-btn-generate:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.uth-btn-generate:disabled{cursor:not-allowed;opacity:.6}.uth-btn-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.history-footer{border-top:1px solid #e0e0e0;margin-top:40px;padding-top:20px;text-align:center}.footer-note{color:#777;font-size:13px;margin:0}@media (max-width:768px){.user-terms-history{margin:10px;padding:10px}.history-header h2{font-size:22px}.uth-agreement-card{padding:16px}.agreement-header{flex-direction:column;gap:12px}.agreement-date{white-space:normal}.detail-item{align-items:flex-start;gap:4px}.agreement-actions,.detail-item{flex-direction:column}.uth-btn-action{min-width:0;width:100%}}@media (max-width:480px){.agreement-title{align-items:flex-start;flex-direction:column;gap:8px}.version-badge{align-self:flex-start}}.user-profile-container{margin:0 auto;max-width:1200px;padding:2rem}.user-profile-error,.user-profile-loading{font-size:1.2rem;padding:3rem;text-align:center}.user-profile-error{color:#dc3545}.user-profile-header{align-items:center;display:flex;gap:1rem;margin-bottom:2rem}.user-profile-back-button{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95rem;padding:.5rem 1rem;transition:background .3s ease}.user-profile-back-button:hover{background:#5a6268}.user-profile-header h1{color:#333;font-size:2rem;margin:0}.user-profile-content{grid-gap:2rem;display:grid;gap:2rem}.user-profile-avatar-section{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:1rem;padding:2rem}.user-profile-avatar-container{border:4px solid #007bff;border-radius:50%;height:150px;overflow:hidden;position:relative;width:150px}.user-profile-avatar{height:100%;object-fit:cover;width:100%}.user-profile-avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:4rem;font-weight:700;height:100%;justify-content:center;width:100%}.user-profile-avatar-upload{margin-top:1rem}.user-profile-avatar-upload-label{background:#007bff;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:1rem;padding:.75rem 1.5rem;transition:background .3s ease}.user-profile-avatar-upload-label:hover{background:#0056b3}.user-profile-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:2rem}.user-profile-section-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.user-profile-section-header h2{color:#333;font-size:1.5rem;margin:0}.user-profile-edit-button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background .3s ease}.user-profile-edit-button:hover{background:#0056b3}.user-profile-info{grid-gap:1rem;display:grid;gap:1rem}.user-profile-info-row{grid-gap:1rem;border-bottom:1px solid #f0f0f0;display:grid;gap:1rem;grid-template-columns:150px 1fr;padding:.75rem}.user-profile-info-row:last-child{border-bottom:none}.user-profile-info-label{color:#6c757d;font-weight:600}.user-profile-info-value{color:#333}.user-profile-role-badge{border-radius:12px;display:inline-block;font-size:.85rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.user-profile-role-admin{background:#dc3545;color:#fff}.user-profile-role-supervisor{background:#ffc107;color:#333}.user-profile-role-user{background:#28a745;color:#fff}.user-profile-edit-form{grid-gap:1.5rem;display:grid;gap:1.5rem}.user-profile-form-group{grid-gap:.5rem;display:grid;gap:.5rem}.user-profile-form-group label{color:#333;font-weight:600}.user-profile-form-group input,.user-profile-form-group select{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.user-profile-form-group input:focus,.user-profile-form-group select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.user-profile-form-actions{display:flex;gap:1rem;margin-top:1rem}.user-profile-save-button{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:background .3s ease}.user-profile-save-button:hover{background:#218838}.user-profile-cancel-button{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background .3s ease}.user-profile-cancel-button:hover{background:#5a6268}.user-profile-no-terms{color:#6c757d;padding:2rem;text-align:center}.user-profile-terms-list{grid-gap:1rem;display:grid;gap:1rem}.user-profile-term-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;justify-content:space-between;padding:1.5rem;transition:box-shadow .3s ease}.user-profile-term-item:hover{box-shadow:0 2px 8px #0000001a}.user-profile-term-info h3{color:#333;font-size:1.1rem;margin:0 0 .5rem}.user-profile-term-version{color:#6c757d;font-size:.9rem;font-weight:600;margin:.25rem 0}.user-profile-term-date{color:#6c757d;font-size:.85rem;margin:.25rem 0}.user-profile-term-ip{color:#999;font-size:.8rem;margin:.25rem 0}.user-profile-download-button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.75rem 1.5rem;transition:background .3s ease;white-space:nowrap}.user-profile-download-button:hover{background:#0056b3}@media (max-width:768px){.user-profile-container{padding:1rem}.user-profile-header h1{font-size:1.5rem}.user-profile-info-row{gap:.25rem;grid-template-columns:1fr}.user-profile-term-item{align-items:flex-start;flex-direction:column;gap:1rem}.user-profile-download-button{width:100%}.user-profile-form-actions{flex-direction:column}.user-profile-cancel-button,.user-profile-save-button{width:100%}}.session-warning-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.session-warning-modal{animation:slideDown .3s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-width:500px;width:90%}@keyframes slideDown{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.session-warning-header{background:linear-gradient(135deg,#ff9800,#f57c00);border-radius:8px 8px 0 0;color:#fff;padding:20px}.session-warning-header h2{align-items:center;display:flex;font-size:1.5rem;gap:10px;margin:0}.session-warning-body{padding:30px;text-align:center}.session-warning-body p{color:#333;font-size:1.1rem;margin:10px 0}.session-warning-body strong{color:#f57c00;font-weight:600}.session-warning-footer{border-top:1px solid #e0e0e0;display:flex;gap:15px;justify-content:center;padding:20px}.session-warning-footer .btn-primary{background:linear-gradient(135deg,#2196f3,#1976d2);border:none;border-radius:5px;box-shadow:0 2px 8px #2196f34d;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 30px;transition:all .3s ease}.session-warning-footer .btn-primary:hover{background:linear-gradient(135deg,#1976d2,#0d47a1);box-shadow:0 4px 12px #2196f366;transform:translateY(-2px)}.session-warning-footer .btn-secondary{background:#f5f5f5;border:1px solid #ddd;border-radius:5px;color:#666;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 30px;transition:all .3s ease}.session-warning-footer .btn-secondary:hover{background:#e0e0e0;border-color:#bbb}@media (max-width:600px){.session-warning-modal{margin:10px;width:95%}.session-warning-header h2{font-size:1.2rem}.session-warning-body p{font-size:1rem}.session-warning-footer{flex-direction:column}.session-warning-footer button{width:100%}}
/*# sourceMappingURL=main.2e6e9772.css.map*/