@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=DM+Mono:wght@400;500&display=swap";body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#f5f5f5;color:#333;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.fade-in{animation:fadeIn .3s ease-in}.hidden{display:none!important}.websocket-toast{position:fixed;bottom:20px;right:20px;padding:12px 16px;border-radius:8px;background:#fff;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:12px;z-index:10000;animation:slideIn .3s ease;max-width:350px}.websocket-toast.connected{border-left:4px solid #28a745}.websocket-toast.disconnected{border-left:4px solid #dc3545}.toast-reconnect{background:#007bff;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:.85rem;cursor:pointer;margin-left:auto}.toast-reconnect:hover{background:#0056b3}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-header{background:#fff;border-bottom:1px solid #e0e0e0;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 4px #0000000d;position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:24px}.logo{display:flex;align-items:center;gap:12px}.logo h1{margin:0;font-size:1.5rem;color:#333;font-weight:600}.header-right{display:flex;align-items:center;gap:16px}.user-menu{position:relative}.user-button{display:flex;align-items:center;gap:8px;background:none;border:none;padding:8px 12px;border-radius:8px;cursor:pointer;transition:background-color .2s}.user-button:hover{background-color:#f5f5f5}.user-avatar{width:32px;height:32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.user-name{font-weight:500;color:#333}.user-role{background:#e9ecef;color:#495057;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:500}.user-dropdown{position:absolute;top:100%;right:0;width:280px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:8px;z-index:100;overflow:hidden}.user-info{padding:16px;border-bottom:1px solid #eee}.user-email{font-size:.9rem;color:#666;margin-bottom:4px}.user-department{font-size:.85rem;color:#888;font-weight:500}.dropdown-divider{height:1px;background:#eee}.dropdown-item{display:block;width:100%;padding:12px 16px;text-align:left;background:none;border:none;color:#333;cursor:pointer;transition:background-color .2s;font-size:.9rem}.dropdown-item:hover{background-color:#f8f9fa}.dropdown-item.logout{color:#dc3545}.dropdown-item.logout:hover{background-color:#fff5f5}.app-main{flex:1;background:#f8f9fa}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:#f8f9fa}.spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.loading-screen p{color:#666;font-size:1rem}@media(max-width:768px){h1{font-size:24px}h2{font-size:20px}h3{font-size:18px}}.toast{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-radius:8px;color:red;min-width:300px;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease-out}.toast-success,.toast-error{background:wheat}.toast-warning{background:#ffc107;color:#333}.toast-content{display:flex;align-items:center;gap:.75rem;flex:1}.toast-close{background:none;border:none;color:inherit;cursor:pointer;opacity:.7;transition:opacity .2s}.toast-close:hover{opacity:1}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.view-draft-page{padding:20px;max-width:1000px;margin:0 auto}.header-content{margin-top:10px}.draft-header-info{display:flex;align-items:center;gap:20px;margin-top:10px}.status-badge{padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.pending{background-color:#fff3cd;color:#856404}.status-badge.rejected{background-color:#f8d7da;color:#721c24}.status-badge.no-reliever{background-color:#e2e3e5;color:#383d41}.created-date{color:#6c757d;font-size:14px}.draft-details-container{display:flex;flex-direction:column;gap:20px}.detail-section{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.detail-section h3{margin-top:0;color:#2c3e50;border-bottom:1px solid #eee;padding-bottom:10px;margin-bottom:20px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px}.detail-item{display:flex;flex-direction:column;gap:5px;padding:10px;background:#f8f9fa;border-radius:4px}.detail-item.full-width{grid-column:1 / -1}.detail-item .label{font-weight:600;color:#495057;font-size:14px}.detail-item .value{color:#6c757d;font-size:15px}.reason-box{background:#f8f9fa;padding:15px;border-radius:4px;border-left:4px solid #007bff}.reason-box p{margin:0;line-height:1.6;color:#495057}.documents-list{display:flex;flex-direction:column;gap:10px}.document-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#f8f9fa;border-radius:4px;border:1px solid #e9ecef}.doc-name{color:#495057;font-weight:500}.doc-size{color:#6c757d;font-size:14px}.action-buttons{display:flex;justify-content:space-between;margin-top:40px;padding-top:20px;border-top:1px solid #eee}.right-actions{display:flex;gap:10px}.action-buttons button{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-weight:600}.btn-back{background:#6c757d;color:#fff}.btn-back:hover{background:#5a6268}.btn-edit{background:#17a2b8;color:#fff}.btn-edit:hover{background:#138496}.btn-submit:hover{background:#218838}.loading-view,.draft-not-found{text-align:center;padding:100px 20px}.submit-draft-page{padding:20px;max-width:800px;margin:0 auto}.page-header{margin-bottom:30px}.btn-back{background:none;border:none;color:#007bff;cursor:pointer;padding:8px 0;font-size:14px;margin-bottom:10px}.btn-back:hover{text-decoration:underline}.review-card{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a;border-left:4px solid #007bff}.review-card h3{margin-top:0;color:#2c3e50;border-bottom:1px solid #eee;padding-bottom:10px;margin-bottom:15px}.review-details{display:flex;flex-direction:column;gap:10px}.detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed #f0f0f0}.detail-row .label{font-weight:600;color:#495057}.detail-row .value{color:#6c757d;text-align:right}.status-accepted{color:#28a745;font-weight:600}.signature-section{margin-top:15px}.instructions{color:#6c757d;margin-bottom:20px;font-size:14px}.signature-type{margin-bottom:20px}.signature-type label{display:block;margin-bottom:8px;font-weight:600;color:#495057}.type-options{display:flex;gap:20px}.type-options label{display:flex;align-items:center;gap:8px;font-weight:400;cursor:pointer}.signature-input{margin-bottom:20px}.signature-input label{display:block;margin-bottom:8px;font-weight:600;color:#495057}.typed-signature{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px}.draw-signature{border:1px solid #ddd;border-radius:4px;padding:10px}.signature-canvas{width:100%;min-height:100px;border:none;resize:vertical;font-family:cursive;font-size:18px}.btn-clear{margin-top:10px;padding:5px 10px;background:#f8f9fa;border:1px solid #ddd;border-radius:4px;cursor:pointer}.action-buttons{display:flex;justify-content:space-between;margin-top:30px;padding-top:20px;border-top:1px solid #eee}.btn-cancel,.btn-submit{padding:10px 30px;border:none;border-radius:4px;cursor:pointer;font-weight:600;font-size:16px}.btn-submit{background:#28a745;color:#fff}.btn-submit:hover:not(:disabled){background:#218838}.btn-submit:disabled{background:#ccc;cursor:not-allowed}.submission-info{margin-top:20px;padding:15px;background:#f8f9fa;border-radius:4px;border-left:4px solid #17a2b8;font-size:14px}.submission-info p{margin:5px 0;color:#6c757d}.loading-submit,.draft-not-found{text-align:center;padding:100px 20px}.draft-not-found button{margin-top:20px;padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.drafts-dashboard{padding:20px;max-width:1200px;margin:0 auto}.dashboard-header{margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #ededed}.dashboard-header h1{color:#2c3e50;margin-bottom:10px;display:flex;align-items:center}.dashboard-header p{color:#fff;font-size:16px}.header-actions{display:flex;gap:10px;margin-top:20px}.btn-refresh,.btn-create-new{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:all .3s ease}.btn-refresh{background-color:#f8f9fa;color:#495057;border:1px solid #dee2e6}.btn-refresh:hover{background-color:#e9ecef}.btn-create-new{background-color:#007bff;color:#fff}.btn-create-new:hover{background-color:#0056b3}.drafts-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:40px}.stat-card{padding:20px;border-radius:10px;box-shadow:0 2px 10px #0000001a;display:flex;align-items:center;transition:transform .3s ease}.stat-card:hover{transform:translateY(-5px)}.stat-card.total-drafts{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #1976D2}.stat-card.waiting-drafts{background:linear-gradient(135deg,#fff3cd,#ffeeba);border-left:4px solid #FFC107}.stat-card.ready-drafts{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-left:4px solid #28A745}.stat-icon{font-size:2.5rem;margin-right:20px}.stat-content h3{margin:0 0 5px;color:#2c3e50;font-size:16px}.stat-value{font-size:2rem;font-weight:700;margin:0;color:#2c3e50}.stat-subtext{margin:5px 0 0;color:#7f8c8d;font-size:12px}.drafts-section{margin-bottom:40px}.section-header{margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #e0e0e0}.section-header h3{display:flex;align-items:center;color:#2c3e50;margin-bottom:5px}.section-header .icon{margin-right:10px;font-size:1.2em}.section-subtitle{color:#7f8c8d;font-size:14px;margin:0}.drafts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.draft-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px #0000001a;border:1px solid #e0e0e0;transition:all .3s ease}.draft-card:hover{box-shadow:0 5px 20px #00000026;transform:translateY(-2px)}.draft-card.accepted{border-left:4px solid #28A745}.draft-card.waiting{border-left:4px solid #FFC107}.draft-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #f0f0f0}.leave-type{display:flex;align-items:center}.type-icon{font-size:1.5rem;margin-right:10px}.type-text{font-weight:600;color:#2c3e50}.status-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.accepted{background-color:#d4edda;color:#155724}.status-badge.waiting{background-color:#fff3cd;color:#856404}.draft-details{margin-bottom:20px}.detail-item{display:flex;justify-content:space-between;margin-bottom:8px;padding:4px 0;border-bottom:1px dashed #f0f0f0}.label{font-weight:600;color:#495057;font-size:14px}.value{color:#6c757d;font-size:14px;text-align:right}.draft-actions{display:flex;gap:10px;flex-wrap:wrap}.draft-actions button{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;flex:1;min-width:80px}.btn-submit{background-color:#28a745;color:#fff}.btn-submit:hover{background-color:#218838}.btn-edit{background-color:#17a2b8;color:#fff}.btn-edit:hover{background-color:#138496}.btn-view{background-color:#6c757d;color:#fff}.btn-view:hover{background-color:#5a6268}.btn-reminder{background-color:#ffc107;color:#212529}.btn-reminder:hover{background-color:#e0a800}.btn-delete{background-color:#dc3545;color:#fff}.btn-delete:hover{background-color:#c82333}.no-drafts{text-align:center;padding:60px 20px;background:#f8f9fa;border-radius:10px;border:2px dashed #dee2e6}.no-drafts h3{color:#6c757d;margin-bottom:10px}.no-drafts p{color:#6c757d;margin-bottom:30px}.no-drafts-actions{display:flex;gap:15px;justify-content:center}.btn-create,.btn-view-all{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:all .3s ease}.btn-create{background-color:#007bff;color:#fff}.btn-create:hover{background-color:#0056b3}.btn-view-all{background-color:#6c757d;color:#fff}.btn-view-all:hover{background-color:#5a6268}.drafts-help{margin-top:40px;padding:20px;background:#f8f9fa;border-radius:10px;border-left:4px solid #007bff}.drafts-help h4{color:#2c3e50;margin-bottom:15px;display:flex;align-items:center}.drafts-help ul{margin:0;padding-left:20px;color:#495057}.drafts-help li{margin-bottom:8px;line-height:1.5}.loading-drafts{text-align:center;padding:60px 20px}.spinner{border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 20px}@media(max-width:768px){.drafts-grid,.drafts-stats{grid-template-columns:1fr}.draft-actions{flex-direction:column}.no-drafts-actions{flex-direction:column;gap:10px}}.logout-landing-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#000,#1a1a1a,#333);position:relative;overflow:hidden;padding:20px}.animated-bg{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden}.bg-circle{position:absolute;border-radius:50%;background:#ffffff08;animation:float 20s infinite ease-in-out}.circle1{width:300px;height:300px;top:-150px;right:-150px;animation-delay:0s}.circle2{width:400px;height:400px;bottom:-200px;left:-200px;animation-delay:-5s}.circle3{width:200px;height:200px;top:50%;left:20%;animation-delay:-2s}.circle4{width:250px;height:250px;bottom:30%;right:10%;animation-delay:-7s}@keyframes float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.05)}}.logout-card{background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:30px;box-shadow:0 30px 80px #00000080;width:100%;max-width:550px;padding:50px 40px;position:relative;z-index:2;border:1px solid rgba(255,255,255,.2);opacity:0;transform:translateY(20px);transition:all .6s ease-out}.logout-card.fade-in-up{opacity:1;transform:translateY(0)}.logo-section{display:flex;align-items:center;gap:20px;margin-bottom:30px;justify-content:center}.flag-container{flex-shrink:0}.botswana-flag-large{display:flex;flex-direction:column;width:80px;height:60px;border-radius:6px;overflow:hidden;box-shadow:0 8px 20px #0000004d}.flag-stripe{flex:1;width:100%}.flag-stripe.dark-blue{background-color:#000;flex:2}.flag-stripe.white{background-color:#fff;flex:1}.flag-stripe.black{background-color:#333;flex:1}.company-title{text-align:left}.company-title h1{margin:0;font-size:28px;font-weight:800;color:#000;letter-spacing:1px;position:relative;display:inline-block}.company-title h1:after{content:"®";font-size:14px;font-weight:400;position:absolute;top:-8px;right:-18px;color:#666}.company-title .subtitle{margin:5px 0 0;color:#444;font-size:14px;font-weight:500;letter-spacing:1px}.divider{display:flex;align-items:center;gap:15px;margin:30px 0}.motif-line{flex:1;height:2px;background:linear-gradient(90deg,transparent,#000,transparent)}.motif-diamond{color:#000;font-size:20px;opacity:.5}.logout-message{text-align:center;margin-bottom:30px}.success-animation{margin-bottom:20px}.checkmark-circle{width:80px;height:80px;border-radius:50%;background:#000;display:flex;align-items:center;justify-content:center;margin:0 auto;position:relative;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.checkmark-circle-inner{width:70px;height:70px;border-radius:50%;background:transparent;border:2px solid rgba(255,255,255,.3);position:absolute}.checkmark{color:#fff;font-size:40px;font-weight:700;position:relative;z-index:1}.logout-message h2{margin:0 0 10px;color:#000;font-size:24px;font-weight:600}.logout-description{color:#666;font-size:14px;line-height:1.6;max-width:350px;margin:0 auto}.slogan-section{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:50px;padding:20px 30px;margin:30px 0;text-align:center;position:relative;overflow:hidden}.slogan-icon{font-size:32px;margin-bottom:10px}.slogan-text{font-size:18px;font-weight:500;color:#000;line-height:1.5;position:relative;padding:0 10px}.quote-left,.quote-right{font-size:24px;color:#000;opacity:.3;position:absolute}.quote-left{left:-10px;top:-10px}.quote-right{right:-10px;bottom:-10px}.slogan-dots{display:flex;justify-content:center;gap:8px;margin-top:15px}.dot{width:8px;height:8px;border-radius:50%;background:#ccc;transition:all .3s ease;cursor:pointer}.dot.active{background:#000;transform:scale(1.3)}.action-buttons{display:flex;gap:15px;margin:30px 0}.btn-login-primary,.btn-home-secondary{flex:1;padding:14px 20px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-login-primary{background:#000;color:#fff;box-shadow:0 8px 20px #0000004d}.btn-login-primary:hover{background:#333;transform:translateY(-2px);box-shadow:0 12px 30px #0006}.btn-home-secondary{background:transparent;color:#000;border:2px solid #000}.btn-home-secondary:hover{background:#000;color:#fff;transform:translateY(-2px)}.btn-icon{font-size:18px}.redirect-info{text-align:center;margin:20px 0;padding:15px;background:#f8f9fa;border-radius:50px;display:flex;align-items:center;justify-content:center;gap:15px}.progress-ring{position:relative;width:40px;height:40px}.progress-circle{transition:stroke-dashoffset .3s ease}.countdown-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:14px;font-weight:600;color:#000}.redirect-info p{margin:0;color:#666;font-size:14px}.logout-footer{margin-top:40px;text-align:center}.footer-motif{display:flex;justify-content:center;gap:10px;margin-bottom:15px;color:#000;opacity:.3;font-size:16px}.footer-text{color:#666;font-size:12px;margin:5px 0}.footer-security{color:#000;font-size:12px;margin:5px 0;display:flex;align-items:center;justify-content:center;gap:5px}.security-icon{font-size:14px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media(max-width:480px){.logout-card{padding:30px 20px}.company-title h1{font-size:22px}.botswana-flag-large{width:60px;height:45px}.action-buttons{flex-direction:column}.slogan-text{font-size:16px}.redirect-info{flex-direction:column;gap:10px}}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:#000;min-height:100vh;overflow-x:hidden}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;position:relative;background:#000;animation:gradientShift 12s ease infinite}@keyframes gradientShift{0%,to{background:#000}25%{background:#0a0a0a}50%{background:#111}75%{background:#0a0a0a}}.login-box{background:#fff;border-radius:32px;padding:48px 40px;width:100%;max-width:480px;position:relative;z-index:2;transition:all .6s cubic-bezier(.68,-.55,.27,1.55);transform-origin:center center;box-shadow:0 25px 50px -12px #00000080;animation:fadeInUp .8s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-box:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,#000,#fff,#000,#fff,#000);background-size:400% 400%;border-radius:34px;z-index:-1;opacity:.3;filter:blur(8px);animation:gradientMove 8s ease infinite}@keyframes gradientMove{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.login-box:hover:before{opacity:.6;filter:blur(12px)}.logo-section{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:20px;flex-wrap:wrap}.botswana-flag{width:80px;height:56px;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 12px #0003;transition:transform .3s ease}.botswana-flag:hover{transform:rotate(5deg) scale(1.05)}.flag-stripe{height:20%;width:100%}.flag-stripe.dark-blue{background:#1e3a5f}.company-text{text-align:left}.company-text h1{font-size:34px;font-weight:800;color:#000;margin:0;letter-spacing:-.5px;line-height:1.2}.company-text p{font-size:12px;font-weight:600;color:#000;margin:4px 0 0;letter-spacing:1.5px;text-transform:uppercase}.tagline{text-align:center;margin-bottom:32px;padding-bottom:16px}.tagline span{font-size:13px;color:#333;font-weight:500;letter-spacing:1px}.login-form{margin-top:8px}.form-group label{display:block;margin-bottom:8px;color:#000;font-weight:600;font-size:14px;letter-spacing:.3px}.form-group input{width:100%;padding:14px 18px;border:2px solid #dddddd;border-radius:12px;font-size:15px;transition:all .3s ease;background:#fff;font-family:inherit;color:#000}.form-group input:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px #0000001a}.form-group input::placeholder{color:#999}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:#fff;border:2px solid #dddddd;cursor:pointer;font-size:18px;padding:8px 12px;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;color:#333}.password-toggle:hover{border-color:#000;background:#f5f5f5}.btn-primary{width:100%;padding:16px 24px;background:#000!important;color:#fff!important;border:none!important;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:0 4px 15px #0003}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.btn-primary:hover{background:#1a1a1a!important;transform:translateY(-2px);box-shadow:0 10px 25px -5px #0000004d}.btn-primary:hover:before{left:100%}.btn-primary:active{transform:translateY(0)}.btn-secondary{padding:12px 20px;background:#fff;color:#000;border:2px solid #000000;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{background:#f5f5f5;transform:translateY(-2px)}.spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite;margin-right:8px;vertical-align:middle}.alert{padding:16px 20px;border-radius:12px;margin-bottom:24px;animation:slideIn .3s ease}.alert-error,.alert-warning,.alert-success{background:#fff;border:2px solid #000000;color:#000}.alert-icon{font-size:20px;margin-right:12px}.alert-header{display:flex;align-items:center;margin-bottom:12px}.alert-header h3{margin:0;font-size:16px;color:#000}.error-details{flex:1}.error-details strong{display:block;margin-bottom:4px;color:#000}.error-details p{margin:4px 0;font-size:14px;color:#333}.device-limit-actions{display:flex;gap:12px;margin-top:16px}.password-reset-help{margin-top:24px;padding:20px;background:#f5f5f5;border-radius:12px;border:1px solid #000000;text-align:center}.reset-instruction{margin:0 0 12px;color:#000;font-weight:600;font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px}.reset-icon{font-size:14px}.contact-info{display:flex;flex-direction:column;gap:8px;align-items:center}.contact-email{color:#000;text-decoration:none;font-weight:600;font-size:14px;padding:8px 16px;background:#fff;border:2px solid #000000;border-radius:8px;transition:all .3s ease}.contact-email:hover{background:#000;color:#fff;transform:translateY(-2px)}.contact-phone{font-size:13px;color:#333}.login-footer{margin-top:16px}.debug-overlay{position:fixed;bottom:20px;left:20px;background:#000000e6;color:#fff;padding:8px 16px;border-radius:40px;font-size:12px;z-index:1000;display:flex;align-items:center;gap:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.debug-btn{background:#333;border:1px solid #666666;color:#fff;padding:4px 12px;border-radius:20px;font-size:11px;cursor:pointer;transition:all .3s ease}.debug-btn:hover{background:#555;transform:translateY(-1px)}.environment-info{margin-top:16px;text-align:center;font-size:11px;color:#999}@keyframes flipOut3D{0%{transform:perspective(1000px) rotateY(0) scale(1);opacity:1}20%{transform:perspective(1000px) rotateY(15deg) scale(1.05);box-shadow:0 30px 60px -20px #00000080}50%{transform:perspective(1000px) rotateY(180deg) scale(.8);opacity:.7}to{transform:perspective(1000px) rotateY(360deg) scale(0);opacity:0;visibility:hidden}}.login-box.flip-out{animation:flipOut3D 1.2s cubic-bezier(.68,-.55,.265,1.55) forwards}.welcome-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2000;animation:popIn .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes popIn{0%{transform:translate(-50%,-50%) scale(0);opacity:0}60%{transform:translate(-50%,-50%) scale(1.1)}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes glowPulse{0%,to{box-shadow:0 30px 60px #0000004d;border-color:#000}50%{box-shadow:0 30px 80px #00000080;border-color:#333}}.welcome-emoji{font-size:64px;animation:bounce 1s ease-in-out infinite}.welcome-content h2{font-size:32px;color:#fff;margin:16px 0 8px;font-weight:700}.welcome-name{font-size:24px;color:#fff;font-weight:600;margin:8px 0;background:linear-gradient(135deg,#000,#333);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-sparkles{font-size:24px;margin:16px 0;animation:spin 2s linear infinite}.welcome-text{font-size:14px;color:#fff;margin-top:16px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.btn-primary.loading{position:relative;overflow:hidden}.btn-primary.loading:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}@keyframes checkmark{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}@keyframes particleBurst{0%{transform:scale(0);opacity:1}to{transform:scale(3);opacity:0}}@media(max-width:768px){.welcome-content{padding:32px 48px;margin:20px}.welcome-content h2{font-size:28px}.welcome-name{font-size:20px}.welcome-emoji{font-size:48px}}@media(max-width:480px){.welcome-content{padding:24px 32px}.welcome-content h2{font-size:24px}.welcome-name{font-size:18px}.welcome-emoji{font-size:40px}}@keyframes rotateOut{0%{transform:perspective(1000px) rotateY(0) scale(1);opacity:1}30%{transform:perspective(1000px) rotateY(10deg) scale(1.05)}70%{transform:perspective(1000px) rotateY(-180deg) scale(.8);opacity:.5}to{transform:perspective(1000px) rotateY(-360deg) scale(0);opacity:0;visibility:hidden}}.login-box.rotate-out{animation:rotateOut 1s cubic-bezier(.68,-.55,.27,1.55) forwards}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.login-box{padding:32px 24px;max-width:100%}.logo-section{flex-direction:column;gap:12px;text-align:center}.company-text{text-align:center}.company-text h1{font-size:32px}.company-text p{font-size:11px}.botswana-flag{width:70px;height:49px}.btn-primary{padding:14px 20px}.device-limit-actions{flex-direction:column}}@media(max-width:480px){.login-box{padding:24px 20px}.company-text h1{font-size:28px}.company-text p{font-size:10px}.botswana-flag{width:60px;height:42px}.tagline span{font-size:11px}.form-group input{padding:12px 16px}}@media(prefers-contrast:high){.login-box{border:3px solid black}.btn-primary{border:2px solid white}}@media(prefers-reduced-motion:reduce){.login-box,.btn-primary,.login-container,.login-box:before{animation:none;transition:none}}.change-password-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#161616,#131212);padding:20px;position:relative}.logo-container-horizontal{margin-bottom:2rem}.flag-and-text-wrapper{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.botswana-flag-login-horizontal{width:60px;height:40px;display:flex;flex-direction:column;border:1px solid #ddd;box-shadow:0 2px 4px #0000001a}.change-password-box{background:#fff;border-radius:15px;padding:30px;width:100%;max-width:450px;position:relative;z-index:2;border:2px solid white;box-shadow:0 10px 30px #0000001a,inset 0 0 0 1px #ffffffe6}.change-password-box:before{content:"";position:absolute;top:-3px;left:-3px;right:-3px;bottom:-3px;background:linear-gradient(45deg,#000,#333,#666,#999,#ccc,#fff,#ccc 90%,#999);background-size:400% 400%;border-radius:18px;z-index:-1;opacity:.9;filter:blur(4px);animation:steel-glow 4s ease-in-out infinite,steel-shift 8s linear infinite}.logo-container-horizontal{display:flex;justify-content:center;margin-bottom:20px}.flag-and-text-wrapper{display:flex;align-items:center;gap:15px}.botswana-flag-login-horizontal{width:60px;height:42px;border:2px solid rgba(0,0,0,.1);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 3px 8px #0000001a}.flag-stripe-login-horizontal{height:20%;width:100%}.flag-stripe-login-horizontal.dark-blue{background:#04a}.flag-stripe-login-horizontal.white{background:#fff}.flag-stripe-login-horizontal.black{background:#000}.company-text-horizontal{text-align:left}.company-text-horizontal h1{font-size:22px;font-weight:700;color:#000;margin:0 0 4px;line-height:1.2}.company-text-horizontal p{font-size:12px;color:#666;margin:0}.form-title{text-align:center;margin-bottom:15px}.form-title h2{font-size:20px;font-weight:600;color:#000;margin-bottom:5px}.form-title .subtitle{font-size:13px;color:#666}.password-requirements{background:#f8f9fa;border-left:4px solid #000;padding:15px;margin-bottom:20px;border-radius:0 6px 6px 0}.password-requirements h3{margin:0 0 10px;font-size:15px;color:#333;font-weight:600}.password-requirements ul{margin:0;padding-left:20px;color:#666;font-size:13px}.password-requirements li{margin-bottom:6px;line-height:1.4}.change-password-form{margin-top:5px}.form-group{margin-bottom:18px}.form-group label{display:block;margin-bottom:6px;color:#333;font-weight:500;font-size:13px}.password-input{position:relative}.password-input input{width:100%;padding:12px 45px 12px 15px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fafafa;transition:all .3s}.password-input input:focus{outline:none;border-color:#666;background:#fff;box-shadow:0 0 0 3px #6666661a}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:16px;color:#666;padding:5px}.password-strength{margin-top:8px;display:flex;align-items:center;gap:10px}.strength-meter{height:4px;background:#eee;border-radius:2px;overflow:hidden;flex:1}.strength-fill{height:100%;transition:width .3s}.strength-text{font-size:11px;color:#666;min-width:50px}.form-actions{display:flex;gap:10px;margin-top:25px}.btn-change-password,.btn-cancel{flex:1;padding:12px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;border:1px solid rgba(0,0,0,.2)}.btn-change-password{background:linear-gradient(135deg,#000,#333);color:#fff}.btn-change-password:hover:not(:disabled){background:linear-gradient(135deg,#333,#000);transform:translateY(-1px)}.btn-change-password:disabled{opacity:.6;cursor:not-allowed}.btn-cancel{background:#f5f5f5;color:#666;border:1px solid #ddd}.btn-cancel:hover:not(:disabled){background:#e0e0e0}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite;margin-right:6px}.security-tips{background:#fff8e1;border:1px solid #ffe082;border-radius:6px;padding:15px;margin-top:20px}.security-tips h3{margin:0 0 10px;font-size:15px;color:#333;font-weight:600}.security-tips ul{margin:0;padding-left:20px;color:#666;font-size:13px}.security-tips li{margin-bottom:6px;line-height:1.4}.alert{padding:12px;border-radius:6px;margin-bottom:15px;display:flex;align-items:center;gap:10px;font-size:13px;animation:slideDown .3s ease-out}.alert-error{background:#fee;border:1px solid #fcc;color:#c00}.alert-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.success-container{margin-top:10px;padding:20px;background-color:#f8fff8;border-radius:8px;border:1px solid #d4edda;animation:fadeIn .3s ease-out}.success-message h3{color:#155724;margin-bottom:15px;font-size:18px}.success-options{display:flex;flex-direction:column;gap:10px;margin:20px 0}.btn-success-primary,.btn-success-secondary{padding:12px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;border:none}.btn-success-primary{background:#28a745;color:#fff}.btn-success-primary:hover{background:#218838}.btn-success-secondary{background:#007bff;color:#fff}.btn-success-secondary:hover{background:#0056b3}.auto-redirect{margin-top:15px;padding:8px;background-color:#e7f3ff;border-radius:4px;color:#0056b3;font-size:12px}.btn-skip{background:none;border:none;color:#0056b3;text-decoration:underline;cursor:pointer;margin-left:5px;font-weight:600;font-size:12px}@keyframes steel-glow{0%,to{opacity:.8;filter:blur(4px)}50%{opacity:.95;filter:blur(5px)}}@keyframes steel-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media(max-width:480px){.change-password-box{padding:25px 20px;margin:10px}.botswana-flag-login-horizontal{width:50px;height:35px}.company-text-horizontal h1{font-size:20px}.form-title h2{font-size:18px}.password-requirements h3,.security-tips h3{font-size:14px}.password-requirements ul,.security-tips ul{font-size:12px}.form-actions{flex-direction:column}.btn-change-password,.btn-cancel{width:100%}.success-options{flex-direction:column}}@media(min-width:768px){.success-options{flex-direction:row;justify-content:center}.btn-success-primary,.btn-success-secondary{min-width:150px}}.logo-container-horizontal{margin-bottom:1.5rem;text-align:center}.flag-and-text-wrapper{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem}.botswana-flag-login-horizontal{width:60px;height:40px;display:flex;flex-direction:column;border:1px solid #ddd;box-shadow:0 2px 4px #0000001a;border-radius:3px}.flag-stripe-login-horizontal{flex:1;width:100%}.flag-stripe-login-horizontal.dark-blue{background-color:#75aadb}.flag-stripe-login-horizontal.white{background-color:#fff}.flag-stripe-login-horizontal.black{background-color:#000}.company-text-horizontal h1{font-size:1.5rem;font-weight:700;color:#333;margin:0}.company-text-horizontal p{font-size:.9rem;color:#666;margin:0;margin-top:.25rem}.card-header{margin-bottom:1.5rem}.forgot-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.forgot-password-card{background:#fff;border-radius:10px;box-shadow:0 10px 40px #0000001a;padding:30px;width:100%;max-width:500px}.forgot-password-container{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.forgot-password-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:480px;overflow:hidden;animation:slideUp .5s ease-out}.card-header{background:linear-gradient(135deg,#000,#434343);color:#fff;padding:40px 30px 30px;text-align:center;position:relative}.card-header h2{margin:0;font-size:28px;font-weight:700}.card-header p{margin:10px 0 0;opacity:.9;font-size:15px}.security-icon{font-size:48px;margin-bottom:20px;color:#00d4aa;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.card-content{padding:40px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:14px}.form-control{width:100%;padding:14px 16px;font-size:16px;border:2px solid #e0e0e0;border-radius:8px;transition:all .3s;box-sizing:border-box}.form-control:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-control.error{border-color:#ff3860}.error-message{color:#ff3860;font-size:14px;margin-top:5px;display:flex;align-items:center;gap:5px}.info-message{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:15px;margin-bottom:25px;font-size:14px;color:#666;display:flex;align-items:flex-start;gap:10px}.info-message i{color:#667eea;font-size:18px}.security-notice{background-color:#fff3cd;border:1px solid #ffecb5;border-radius:8px;padding:15px;margin-bottom:25px;font-size:14px;color:#856404}.security-notice h4{margin:0 0 10px;color:#856404;font-size:16px}.security-notice ul{margin:10px 0;padding-left:20px}.btn{display:block;width:100%;padding:16px;font-size:16px;font-weight:600;text-align:center;border:none;border-radius:8px;cursor:pointer;transition:all .3s;text-decoration:none}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.btn-secondary{background-color:#f8f9fa;color:#333;border:1px solid #e0e0e0;margin-top:15px}.btn-secondary:hover{background-color:#e9ecef}.success-message{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:8px;padding:20px;margin-bottom:25px;text-align:center;animation:fadeIn .5s}.success-message h3{color:#155724;margin:0 0 10px;font-size:18px}.success-message p{color:#155724;margin:0;font-size:14px}.alert-icon{font-size:48px;margin-bottom:20px;color:#28a745}.loading-spinner{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px}.spinner{width:24px;height:24px;border:3px solid #f3f3f3;border-top:3px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.back-to-login{text-align:center;margin-top:25px;padding-top:20px;border-top:1px solid #e0e0e0}.back-to-login a{color:#667eea;text-decoration:none;font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:center;gap:5px}.back-to-login a:hover{text-decoration:underline}.admin-approval-notice{background-color:#e7f3ff;border:1px solid #b6d4fe;border-radius:8px;padding:20px;margin-bottom:25px;text-align:center}.admin-approval-notice h4{color:#084298;margin:0 0 10px;font-size:16px}.admin-approval-notice p{color:#084298;margin:5px 0;font-size:14px}.admin-approval-notice .alert-icon{color:#0d6efd}.progress-steps{display:flex;justify-content:space-between;margin-bottom:30px;position:relative}.progress-steps:before{content:"";position:absolute;top:20px;left:25px;right:25px;height:2px;background-color:#e0e0e0;z-index:1}.step{display:flex;flex-direction:column;align-items:center;position:relative;z-index:2}.step-circle{width:40px;height:40px;border-radius:50%;background-color:#f8f9fa;border:2px solid #e0e0e0;display:flex;align-items:center;justify-content:center;font-weight:600;color:#666;margin-bottom:8px;transition:all .3s}.step.active .step-circle{background-color:#667eea;border-color:#667eea;color:#fff;box-shadow:0 0 0 5px #667eea33}.step.completed .step-circle{background-color:#28a745;border-color:#28a745;color:#fff}.step-label{font-size:12px;color:#666;font-weight:600;text-align:center}.step.active .step-label{color:#667eea}@media(max-width:576px){.forgot-password-card{border-radius:12px}.card-header{padding:30px 20px 20px}.card-header h2{font-size:24px}.card-content{padding:30px 20px}.security-icon{font-size:36px}.progress-steps{flex-direction:column;align-items:flex-start;gap:20px}.progress-steps:before{display:none}.step{flex-direction:row;gap:15px;align-items:center}.step-circle{margin-bottom:0;width:32px;height:32px;font-size:14px}.step-label{font-size:14px}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.shake{animation:shake .5s}.probation-badge{position:absolute;top:-5px;right:-5px;background:#f59e0b;color:#000;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px}.probation-section{border-left:4px solid #f59e0b;padding:15px;background:#fef3c7;margin:15px 0;border-radius:0 4px 4px 0}.probation-warning{border-left-color:#dc3545;background:#f8d7da}.probation-success{border-left-color:#28a745;background:#d4edda}.probation-info{border-left-color:#17a2b8;background:#d1ecf1}.probation-status-badge{padding:3px 8px;border-radius:12px;font-size:12px;font-weight:500}.probation-status-badge.active{background:#fef3c7;color:#92400e}.probation-status-badge.extended{background:#dbeafe;color:#1e40af}.probation-status-badge.completed{background:#d1fae5;color:#065f46}.probation-status-badge.terminated{background:#fee2e2;color:#991b1b}.days-remaining-indicator{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.days-remaining-indicator.critical{background:#fee2e2;color:#991b1b}.days-remaining-indicator.warning{background:#fef3c7;color:#92400e}.days-remaining-indicator.info{background:#dbeafe;color:#1e40af}.days-remaining-indicator.success{background:#d1fae5;color:#065f46}.dashboard{display:flex;min-height:100vh;background:#f5f7fa}.nav-badge{position:absolute;right:15px;top:50%;transform:translateY(-50%);background-color:#e74c3c;color:#fff;border-radius:50%;width:20px;height:20px;font-size:11px;display:flex;align-items:center;justify-content:center;font-weight:700}.topbar{background:#000!important;color:#fff!important;padding:15px 30px;box-shadow:0 2px 10px #ffffff1a;display:flex;justify-content:space-between;align-items:center;z-index:10;border-bottom:1px solid #333}#pageTitle{font-size:1.5rem;font-weight:600;color:#fff!important;margin:0}.page-role-badge{background:#333!important;color:#fff!important;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600;border:1px solid #555}.user-name{font-weight:600;color:#fff!important}.user-role{font-size:.85rem;color:#000}.logout-btn{background:#c53030!important;color:#fff!important;border:none;padding:10px 15px;border-radius:8px;display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;transition:all .2s ease}.logout-btn:hover{background:#e53e3e!important}.btn-refresh{background:#333!important;color:#fff!important;border:1px solid #555;padding:8px;border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-refresh:hover{background:#444!important}.notification-bell{background:#333!important;color:#fff!important;border:1px solid #555;font-size:1.5rem;cursor:pointer;padding:8px;border-radius:8px;position:relative;transition:all .2s ease}.notification-bell:hover{background:#444!important}.notification-bell.has-unread:after{content:"";position:absolute;top:6px;right:6px;width:8px;height:8px;background:#e53e3e;border-radius:50%;border:2px solid #000}.nav-item.active .nav-badge{background-color:#fff;color:#2c3e50}.logout-item .nav-badge{background-color:#ff6b6b}@media(max-width:768px){.nav-badge{right:10px;width:18px;height:18px;font-size:10px}}.sidebar{width:260px;background:#000;color:#fff;display:flex;flex-direction:column;box-shadow:2px 0 10px #0000004d;z-index:100}.sidebar-header{padding:25px 20px;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff0d}.company-brand{display:flex;align-items:center;margin-bottom:15px}.botswana-flag{width:40px;height:30px;border-radius:4px;overflow:hidden;margin-right:12px;box-shadow:0 2px 4px #0003}.flag-stripe{height:6px}.flag-stripe.dark-blue{background:#87ceeb}.flag-stripe.white{background:#fff}.flag-stripe.black{background:#000}.company-name h2{font-size:1.2rem;margin:0;font-weight:700;color:#fff}.system-name{font-size:.75rem;color:#a0aec0;margin-top:4px}.user-role-badge{background:#ffffff1a;padding:8px 12px;border-radius:20px;font-size:.85rem;text-align:center;border:1px solid rgba(255,255,255,.2)}.nav-menu{list-style:none;padding:0;margin:0;flex:1;overflow-y:auto}.nav-item{padding:15px 20px;display:flex;align-items:center;cursor:pointer;transition:all .2s ease;border-left:4px solid transparent;-webkit-user-select:none;user-select:none}.nav-item:hover{background:#ffffff1a;border-left-color:#4299e1}.nav-item.active{background:#4299e133;border-left-color:#4299e1}.nav-icon{margin-right:12px;font-size:1.2rem;width:24px;text-align:center}.nav-label{font-size:.95rem;font-weight:500}.nav-indicator{margin-left:auto;width:8px;height:8px;background:#48bb78;border-radius:50%}.nav-child{padding-left:40px!important;font-size:.9em;background:#0003}.nav-children{margin-left:20px;border-left:1px solid rgba(255,255,255,.1)}.nav-expand-icon{margin-left:auto;font-size:.8em}.logout-item{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);background:#dc26261a}.logout-item:hover{background:#dc262633}.sidebar-footer{padding:15px 20px;border-top:1px solid rgba(255,255,255,.1);text-align:center;background:#ffffff0d}.footer-content small{display:block;font-size:.75rem;color:#a0aec0;margin:3px 0}.motif-line{height:1px;background:linear-gradient(90deg,transparent,#4299e1,transparent);margin:10px 0}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.topbar{background:#fff;padding:15px 30px;box-shadow:0 2px 10px #00000014;display:flex;justify-content:space-between;align-items:center;z-index:10}.page-info{display:flex;align-items:center;gap:15px}#pageTitle{font-size:1.5rem;font-weight:600;color:#2d3748;margin:0}.page-role-badge{background:#edf2f7;color:#4a5568;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600;border:1px solid #e2e8f0}.user-actions{display:flex;align-items:center;gap:20px}.user-profile{display:flex;align-items:center;gap:12px}.avatar{width:40px;height:40px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1rem}.user-details{line-height:1.4}.user-name{font-weight:600;color:#2d3748}.user-role{font-size:.85rem;color:#718096}.logout-btn{background:#fed7d7;color:#c53030;border:none;padding:10px 15px;border-radius:8px;display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;transition:all .2s ease}.logout-btn:hover{background:#feb2b2}.notification-bell-container{position:relative}.notification-bell{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:8px;border-radius:8px;position:relative;transition:all .2s ease}.notification-bell:hover{background:#edf2f7}.notification-bell.has-unread:after{content:"";position:absolute;top:6px;right:6px;width:8px;height:8px;background:#e53e3e;border-radius:50%;border:2px solid white}.notification-badge{position:absolute;top:-5px;right:-5px;background:#e53e3e;color:#fff;font-size:.7rem;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.notification-dropdown{position:absolute;top:100%;right:0;width:400px;max-height:500px;background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;z-index:1000;margin-top:10px;overflow:hidden}.notification-header{padding:20px;border-bottom:1px solid #e2e8f0;background:#f7fafc}.notification-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.notification-title-row h3{margin:0;font-size:1.1rem;color:#2d3748}.unread-count-badge{background:#e53e3e;color:#fff;padding:4px 10px;border-radius:20px;font-size:.85rem;font-weight:600}.notification-actions{display:flex;gap:10px}.notification-action-btn{background:#fff;border:1px solid #e2e8f0;padding:8px 12px;border-radius:6px;display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.notification-action-btn:hover{background:#edf2f7;border-color:#cbd5e0}.refresh-btn.refreshing{animation:spin 1s linear infinite}.notification-list{max-height:350px;overflow-y:auto}.notification-item{padding:15px 20px;border-bottom:1px solid #e2e8f0;display:flex;align-items:flex-start;gap:12px;cursor:pointer;transition:all .2s ease}.notification-item:hover{background:#f7fafc}.notification-item.unread{background:#4299e10d}.notification-icon{font-size:1.2rem;flex-shrink:0}.notification-content{flex:1}.notification-header-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:5px}.notification-title{font-weight:600;color:#2d3748;font-size:.95rem}.notification-meta{display:flex;align-items:center;gap:8px}.unread-indicator{width:8px;height:8px;background:#4299e1;border-radius:50%}.notification-time{color:#a0aec0;font-size:.85rem}.notification-message{color:#718096;font-size:.9rem;margin:0;line-height:1.4}.notification-footer{margin-top:8px}.notification-link{color:#4299e1;font-size:.85rem;font-weight:500;display:flex;align-items:center;gap:4px}.link-arrow{font-size:.9rem}.mark-read-btn{background:none;border:none;color:#a0aec0;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;flex-shrink:0}.mark-read-btn:hover{color:#48bb78;background:#48bb781a}.notification-loading,.notification-error,.notification-empty{padding:40px 20px;text-align:center}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid #e2e8f0;border-top-color:#4299e1;border-radius:50%;animation:spin 1s linear infinite;margin-right:10px}.error-icon,.empty-icon{font-size:2.5rem;margin-bottom:15px;opacity:.5}.error-content h4,.empty-content h4{margin:0 0 8px;color:#2d3748}.error-content p,.empty-content p{margin:0 0 15px;color:#718096}.retry-btn{background:#4299e1;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:500}.notification-dropdown-footer{padding:15px 20px;border-top:1px solid #e2e8f0;background:#f7fafc}.view-all-btn{width:100%;background:#fff;border:1px solid #e2e8f0;padding:10px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:500;color:#4a5568;transition:all .2s ease}.view-all-btn:hover{background:#edf2f7;border-color:#cbd5e0}.count-badge{background:#4299e1;color:#fff;padding:2px 8px;border-radius:10px;font-size:.85rem;font-weight:600}.content-area{flex:1;padding:30px;overflow-y:auto}.dashboard-view{max-width:1400px;margin:0 auto}.welcome-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:30px;color:#fff;margin-bottom:30px;box-shadow:0 10px 20px #667eea33}.welcome-content{max-width:800px}.user-welcome{display:flex;align-items:center;gap:15px;margin-bottom:10px}.welcome-icon{font-size:2.5rem}.welcome-title{font-size:1.8rem;font-weight:700;margin:0}.user-name{color:#fef08a}.welcome-subtitle{font-size:1.1rem;opacity:.9;margin:0 0 20px}.last-updated{display:flex;align-items:center;gap:8px;font-size:.9rem;opacity:.8;margin-bottom:20px}.update-time{font-weight:600}.welcome-actions{display:flex;gap:15px}.stats-grid.horizontal-stats{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.stat-card.horizontal-stat{flex:1 1 calc(25% - 20px);min-width:200px;max-width:calc(25% - 20px);padding:20px;border-radius:12px;box-shadow:0 4px 12px #0000001a;transition:transform .3s ease,box-shadow .3s ease;border:1px solid rgba(0,0,0,.05);position:relative;overflow:hidden}.stat-card.horizontal-stat:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;opacity:.8}.stat-card.horizontal-stat:hover{transform:translateY(-5px);box-shadow:0 8px 24px #00000026}.stat-icon{margin-right:12px;font-size:1.8rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.stat-title{font-size:.85rem;font-weight:700;color:#333;margin:0;text-transform:uppercase;letter-spacing:.5px}.stat-content{text-align:left}.stat-content .number{font-size:2.2rem;font-weight:800;color:#111;margin-bottom:5px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.stat-content .trend{font-size:.85rem;color:#666;font-weight:500}.quick-actions-grid{display:flex;flex-wrap:wrap;gap:20px;margin-top:20px}.quick-action-card{flex:1 1 calc(25% - 20px);min-width:200px;max-width:calc(25% - 20px);background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:20px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all .3s ease;text-align:left;position:relative;overflow:hidden}.quick-action-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;opacity:.8}.quick-action-card:hover{border-color:transparent;box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.quick-action-card:disabled{opacity:.5;cursor:not-allowed}.quick-action-card:disabled:hover{transform:none;box-shadow:none;border-color:#e0e0e0}.quick-action-card .action-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;margin-right:15px}.quick-action-card .action-text{flex:1}.quick-action-card .action-text h4{margin:0 0 5px;font-size:1rem;color:#333}.quick-action-card .action-text p{margin:0;font-size:.85rem;color:#666}.quick-action-card .action-arrow{color:#0d6efd;font-size:1.2rem;font-weight:700}.section-card{background:#fff;border-radius:12px;padding:25px;margin-bottom:25px;box-shadow:0 2px 8px #00000014;border:1px solid #e9ecef}.section-header{display:flex;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid #eee}.section-header h2{margin:0;font-size:1.3rem;color:#333;font-weight:600}.content-card{background:#fff;border-radius:12px;padding:25px;margin-bottom:25px;box-shadow:0 2px 8px #00000014;border:1px solid #e9ecef}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #eee}.card-header h2{margin:0;font-size:1.3rem;color:#333;font-weight:600;display:flex;align-items:center}.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:600}.badge-pending{background:#e3f2fd;color:#0d6efd;border:1px solid #BBDEFB}.badge-approved{background:#d4edda;color:#155724;border:1px solid #C3E6CB}.badge-rejected{background:#f8d7da;color:#721c24;border:1px solid #F5C6CB}.badge-hod-approved{background:#d1ecf1;color:#0c5460;border:1px solid #BEE5EB}.badge-hr-processed{background:#d4edda;color:#155724;border:1px solid #C3E6CB}.btn-primary{background:#0d6efd;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.btn-primary:hover{background:#0b5ed7;transform:translateY(-2px);box-shadow:0 4px 12px #0d6efd33}.btn-secondary{background:#6c757d;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.btn-secondary:hover{background:#5c636a}.btn-action{padding:6px 12px;border-radius:6px;border:1px solid #dee2e6;background:#fff;cursor:pointer;font-size:.85rem;display:inline-flex;align-items:center;gap:5px;transition:all .2s ease}.btn-action:hover{background:#f8f9fa;border-color:#ced4da}.btn-process{background:#0d6efd;color:#fff;border-color:#0d6efd}.btn-process:hover{background:#0b5ed7;border-color:#0b5ed7}.btn-details{background:#17a2b8;color:#fff;border-color:#17a2b8}.btn-details:hover{background:#138496;border-color:#138496}.btn-view{background:#0d6efd;color:#fff;border-color:#0d6efd}.btn-view:hover{background:#0b5ed7;border-color:#0b5ed7}.action-buttons{display:flex;gap:8px}.table{width:100%;border-collapse:collapse}.table th{background:#f8f9fa;padding:12px 15px;text-align:left;font-weight:600;color:#8b0000;border-bottom:2px solid #dee2e6;font-size:.9rem}.table td{padding:12px 15px;border-bottom:1px solid #dee2e6;vertical-align:middle;font-size:.9rem;color:#5d4037}.table tbody tr:hover{background:#f8f9fa}.table tbody tr td{color:#5d4037!important}.table .badge{color:#8b0000!important;background:wheat;font-weight:700}.table td span{color:#5d4037!important}.days-badge{background:#e7f5ff;color:#0d6efd;padding:4px 10px;border-radius:20px;font-weight:600;display:inline-flex;align-items:center;gap:5px;font-size:.85rem}.stat-number{font-size:1.2rem;font-weight:600;color:#2d3748}.stat-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.85rem;font-weight:600;min-width:30px;text-align:center}.stat-badge.pending{background:#e3f2fd;color:#0d6efd}.stat-badge.approved{background:#d4edda;color:#155724}.stat-badge.hod-approved{background:#d1ecf1;color:#0c5460}.stat-badge.hr-processed{background:#d4edda;color:#155724}.stat-badge.rejected{background:#f8d7da;color:#721c24}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:40px;color:#6c757d;font-size:1rem}.empty-state{text-align:center;padding:40px 20px}.empty-state h3{margin:0 0 10px;color:#8b0000}.empty-state p{color:#5d4037;margin:0}.alert{padding:15px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:10px}.alert-info{background:#e7f5ff;color:#0d6efd;border:1px solid #b3d7ff}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0003}.modal-header{padding:20px;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;color:#8b0000}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6c757d;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal-close:hover{background:#f8f9fa;color:#495057}.modal-body,.modal-body p,.modal-body span,.modal-body div{color:#5d4037!important}.modal-footer{padding:20px;border-top:1px solid #dee2e6;display:flex;justify-content:flex-end;gap:15px}.leave-info-card{background:#f8f9fa;border-radius:8px;padding:20px;margin-bottom:20px}.leave-info-card h4{margin:0 0 15px;color:#8b0000}.info-item label{font-size:.85rem;color:#8b0000;margin-bottom:5px;font-weight:500}.info-item span{color:#5d4037;font-weight:500}.processing-form{margin-top:20px}.processing-form h4{margin:0 0 15px;color:#8b0000}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#8b0000}.form-control{width:100%;padding:10px 12px;border:1px solid #ced4da;border-radius:6px;font-size:1rem;transition:all .2s ease;color:#5d4037}.form-control:focus{outline:none;border-color:#0d6efd;box-shadow:0 0 0 .2rem #0d6efd40}.form-group small{display:block;margin-top:5px;color:#5d4037;font-size:.85rem}.card-header h2,.section-header h2,.content-card h2,.content-card h3,.content-card h4{color:#8b0000!important}@media(max-width:1200px){.stat-card.horizontal-stat,.quick-action-card{flex:1 1 calc(33.333% - 20px);max-width:calc(33.333% - 20px)}}@media(max-width:992px){.sidebar{width:70px}.company-name,.nav-label,.user-details,.logout-text,.page-role-badge,.system-name{display:none}.company-brand{justify-content:center}.botswana-flag{margin-right:0}.nav-item{justify-content:center;padding:15px 10px}.nav-icon{margin-right:0;font-size:1.5rem}.user-profile{flex-direction:column;text-align:center}.topbar{padding:15px 20px}}@media(max-width:900px){.stat-card.horizontal-stat,.quick-action-card{flex:1 1 calc(50% - 20px);max-width:calc(50% - 20px)}}@media(max-width:768px){.stat-card.horizontal-stat,.quick-action-card{flex:1 1 100%;max-width:100%}.card-header{flex-direction:column;align-items:flex-start;gap:10px}.card-header h2{flex-wrap:wrap}.notification-dropdown{width:320px;right:-50px}.info-grid{grid-template-columns:1fr}.welcome-header{padding:20px}.welcome-title{font-size:1.5rem}.content-area{padding:20px}}@media(max-width:576px){.topbar{flex-direction:column;gap:15px;align-items:stretch}.page-info{flex-direction:column;align-items:flex-start;gap:10px}.user-actions{justify-content:space-between}.notification-dropdown{width:280px;right:-80px}.stat-card.horizontal-stat,.quick-action-card{padding:15px}.stat-content .number{font-size:1.8rem}.stat-title{font-size:.75rem}.quick-action-card{flex-direction:column;text-align:center;gap:15px}.quick-action-card .action-icon{margin-right:0;margin-bottom:10px}.quick-action-card .action-text{text-align:center}}.stat-card.hr-stat-card{background:linear-gradient(135deg,#e3f2fd,#bbdefb)}.stat-card.hr-stat-card:before{background:#0d6efd}.quick-action-card.hr-quick-action:before{background:#0d6efd}.hr-stat-card .stat-icon{color:#0d6efd}.hr-quick-action .action-icon{background:#0d6efd}.stat-card.employee-stat-card{background:linear-gradient(135deg,#e0f7fa,#b2ebf2)}.stat-card.employee-stat-card:before{background:#00bcd4}.quick-action-card.employee-quick-action:before{background:#00bcd4}.employee-stat-card .stat-icon{color:#00bcd4}.employee-quick-action .action-icon{background:#00bcd4}.stat-card.manager-stat-card{background:linear-gradient(135deg,#ffebee,#ffcdd2)}.stat-card.manager-stat-card:before{background:#f44336}.quick-action-card.manager-quick-action:before{background:#f44336}.manager-stat-card .stat-icon{color:#f44336}.manager-quick-action .action-icon{background:#f44336}.stat-card.hod-stat-card{background:linear-gradient(135deg,#f3e5f5,#e1bee7)}.stat-card.hod-stat-card:before{background:#9c27b0}.quick-action-card.hod-quick-action:before{background:#9c27b0}.hod-stat-card .stat-icon{color:#9c27b0}.hod-quick-action .action-icon{background:#9c27b0}.stat-card.admin-stat-card{background:linear-gradient(135deg,#fff3e0,#ffe0b2)}.stat-card.admin-stat-card:before{background:#ff9800}.quick-action-card.admin-quick-action:before{background:#ff9800}.admin-stat-card .stat-icon{color:#ff9800}.admin-quick-action .action-icon{background:#ff9800}.quick-action-card.hr-quick-action{background:linear-gradient(135deg,#f0f7ff,#e3f2fd);border-color:#bbdefb}.quick-action-card.employee-quick-action{background:linear-gradient(135deg,#e0f7fa,#b2ebf2);border-color:#80deea}.quick-action-card.manager-quick-action{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-color:#ef9a9a}.quick-action-card.hod-quick-action{background:linear-gradient(135deg,#f3e5f5,#e1bee7);border-color:#ce93d8}.quick-action-card.admin-quick-action{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-color:#ffcc80}.quick-action-card.hr-quick-action:hover{background:linear-gradient(135deg,#e3f2fd,#bbdefb);box-shadow:0 8px 25px #0d6efd26}.quick-action-card.employee-quick-action:hover{background:linear-gradient(135deg,#b2ebf2,#80deea);box-shadow:0 8px 25px #00bcd426}.quick-action-card.manager-quick-action:hover{background:linear-gradient(135deg,#ffcdd2,#ef9a9a);box-shadow:0 8px 25px #f4433626}.quick-action-card.hod-quick-action:hover{background:linear-gradient(135deg,#e1bee7,#ce93d8);box-shadow:0 8px 25px #9c27b026}.quick-action-card.admin-quick-action:hover{background:linear-gradient(135deg,#ffe0b2,#ffcc80);box-shadow:0 8px 25px #ff980026}.stat-card.hr-stat-card:hover{background:linear-gradient(135deg,#bbdefb,#90caf9)}.stat-card.employee-stat-card:hover{background:linear-gradient(135deg,#b2ebf2,#80deea)}.stat-card.manager-stat-card:hover{background:linear-gradient(135deg,#ffcdd2,#ef9a9a)}.stat-card.hod-stat-card:hover{background:linear-gradient(135deg,#e1bee7,#ce93d8)}.stat-card.admin-stat-card:hover{background:linear-gradient(135deg,#ffe0b2,#ffcc80)}:root{--primary-black: #000000;--secondary-black: #111111;--light-black: #222222;--primary-white: #ffffff;--off-white: #fafafa;--light-gray: #f5f5f5;--medium-gray: #e5e5e5;--dark-gray: #666666;--text-primary: #000000;--text-secondary: #666666;--text-tertiary: #999999;--border-light: #e5e5e5;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .02);--shadow-md: 0 4px 20px rgba(0, 0, 0, .04);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .08);--shadow-hover: 0 20px 40px -15px rgba(0, 0, 0, .2);--transition-fast: all .2s cubic-bezier(.4, 0, .2, 1);--transition-base: all .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--off-white);color:var(--text-primary);line-height:1.6}.dashboard-container{min-height:100vh;background:var(--off-white)}.dashboard-content{max-width:1440px;margin:0 auto;padding:24px}.card{background:var(--primary-white);border:1px solid var(--border-light);border-radius:24px;padding:24px;transition:var(--transition-base);box-shadow:var(--shadow-sm)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-black)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:32px}.btn{padding:10px 20px;border:1px solid var(--primary-black);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition-fast)}.btn-primary{background:var(--primary-black);color:var(--primary-white)}.btn-primary:hover{background:var(--secondary-black)}.btn-secondary{background:var(--primary-white);color:var(--primary-black)}.btn-secondary:hover{background:var(--light-gray)}.btn-outline{background:transparent;border:1px solid var(--primary-black);color:var(--primary-black)}.btn-outline:hover{background:var(--primary-black);color:var(--primary-white)}.table-responsive{overflow-x:auto;border-radius:16px;border:1px solid var(--border-light)}.table{width:100%;border-collapse:collapse;background:var(--primary-white)}.table th{text-align:left;padding:16px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--off-white);border-bottom:2px solid var(--border-light)}.table td{padding:16px;font-size:14px;color:var(--text-primary);border-bottom:1px solid var(--border-light)}.table tr:hover{background:var(--off-white)}.table tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;line-height:1.4}.badge-approved{background:var(--light-gray);color:var(--primary-black);border:1px solid var(--primary-black)}.badge-pending{background:var(--light-gray);color:var(--text-secondary);border:1px solid var(--border-light)}.badge-warning{background:var(--light-gray);color:var(--text-primary);border:1px solid var(--primary-black)}.badge-rejected{background:var(--light-gray);color:var(--text-secondary);border:1px solid var(--border-light)}.badge-success{background:var(--primary-black);color:var(--primary-white)}.badge-info{background:var(--light-gray);color:var(--text-primary);border:1px solid var(--border-light)}.days-badge{display:inline-block;padding:4px 10px;background:var(--light-gray);border-radius:20px;font-size:12px;font-weight:600;color:var(--text-primary);border:1px solid var(--border-light)}.leave-type-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--off-white);border-radius:20px;font-size:12px;color:var(--text-primary);border:1px solid var(--border-light)}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary);font-size:14px;gap:8px}.loading-spinner:after{content:"";width:20px;height:20px;border:2px solid var(--border-light);border-top-color:var(--primary-black);border-radius:50%;animation:spin .8s linear infinite}.empty-state .empty-icon{font-size:48px;margin-bottom:16px}.empty-state h3{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.empty-state p{color:var(--text-secondary);font-size:14px}.welcome-header{background:linear-gradient(135deg,var(--primary-black) 0%,var(--secondary-black) 100%);border-radius:24px;padding:32px;margin-bottom:32px;color:var(--primary-white);position:relative;overflow:hidden}.welcome-header:before{content:"";position:absolute;top:-20px;right:-20px;width:200px;height:200px;background:#ffffff08;border-radius:50%}.welcome-header:after{content:"";position:absolute;bottom:-40px;left:-40px;width:300px;height:300px;background:#ffffff05;border-radius:50%}.welcome-content{position:relative;z-index:1}.user-welcome{display:flex;align-items:center;gap:12px;margin-bottom:8px}.welcome-icon{font-size:32px}.welcome-title{font-size:28px;font-weight:800;margin:0;letter-spacing:-.02em}.user-name{color:#ffffffe6}.welcome-subtitle{font-size:16px;opacity:.8;margin-bottom:16px}.last-updated{display:flex;align-items:center;gap:8px;font-size:14px;opacity:.7}.search-container{margin-bottom:24px}.search-input-group{display:flex;gap:12px}.search-input{flex:1;padding:14px 18px;border:1px solid var(--border-light);border-radius:12px;font-size:15px;outline:none;transition:var(--transition-fast)}.search-input:focus{border-color:var(--primary-black)}.search-results{margin-top:12px;border:1px solid var(--border-light);border-radius:16px;background:var(--primary-white);overflow:hidden}.search-result-item{padding:16px;border-bottom:1px solid var(--border-light);cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center}.search-result-item:hover{background:var(--off-white)}.search-result-item:last-child{border-bottom:none}.employees-list-container{display:flex;flex-direction:column;gap:12px}.employee-list-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--primary-white);border:1px solid var(--border-light);border-radius:16px;cursor:pointer;transition:var(--transition-base)}.employee-list-item:hover{border-color:var(--primary-black);box-shadow:var(--shadow-md);transform:translateY(-2px)}.employee-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--secondary-black),var(--primary-black));color:var(--primary-white);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;flex-shrink:0}.employee-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.department-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.department-card{background:var(--off-white);border:1px solid var(--border-light);border-radius:16px;padding:20px;transition:var(--transition-base)}.department-card:hover{border-color:var(--primary-black);box-shadow:var(--shadow-md);transform:translateY(-2px)}.progress-bar-container{height:6px;background:var(--border-light);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--primary-black);border-radius:3px;transition:width .3s ease}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--primary-white);border-radius:24px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-lg)}.modal-header{padding:20px 24px;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center;background:var(--off-white);border-radius:24px 24px 0 0}.modal-header h3{margin:0;font-size:18px;font-weight:700}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);transition:var(--transition-fast)}.modal-close:hover{color:var(--primary-black)}.modal-footer{padding:20px 24px;border-top:1px solid var(--border-light);display:flex;justify-content:flex-end;gap:12px;background:var(--off-white);border-radius:0 0 24px 24px}.pipeline-container{margin-bottom:24px}.pipeline-stages{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px}.pipeline-stage{background:var(--off-white);border:1px solid var(--border-light);border-radius:12px;overflow:hidden}.stage-header{padding:12px;color:var(--primary-white);display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600}.stage-count{padding:16px;text-align:center;font-size:24px;font-weight:800;color:var(--text-primary)}.interviews-list{display:flex;flex-direction:column;gap:12px}.interview-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--off-white);border:1px solid var(--border-light);border-radius:12px}.interview-time{text-align:center;min-width:80px}.interview-time .date{font-weight:600;font-size:13px}.interview-time .time{font-size:11px;color:var(--text-secondary)}.interview-info{flex:1}.interview-info .candidate-name{font-weight:600;margin-bottom:4px}.interview-info .position{font-size:12px;color:var(--text-secondary);margin-bottom:4px}@media(max-width:768px){.dashboard-content{padding:16px}.welcome-header{padding:24px}.welcome-title{font-size:24px}.stats-grid{grid-template-columns:1fr}.search-input-group{flex-direction:column}.search-input,.btn{width:100%}.modal-content{width:95%;margin:10px}.table th,.table td{padding:12px;font-size:13px}.department-grid{grid-template-columns:1fr}.pipeline-stages{grid-template-columns:repeat(2,1fr)}.interview-item{flex-direction:column;align-items:flex-start}.interview-time{display:flex;gap:8px;text-align:left}}@media(max-width:480px){.welcome-header{padding:20px}.welcome-title{font-size:20px}.user-welcome{flex-direction:column;align-items:flex-start}.card{padding:16px}.employee-list-item{flex-direction:column;align-items:flex-start}.employee-list-item .employee-avatar{width:48px;height:48px;font-size:16px}.modal-header,.modal-body,.modal-footer{padding:16px}.pipeline-stages{grid-template-columns:1fr}}@media print{.no-print{display:none}.dashboard-content{padding:0}.card{box-shadow:none;border:1px solid var(--border-light)}}.fade-in{animation:fadeIn .3s ease}::-webkit-scrollbar-track{background:var(--off-white)}::-webkit-scrollbar-thumb{background:var(--medium-gray);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--dark-gray)}.text-right{text-align:right}.mb-0{margin-bottom:0}.p-4{padding:16px}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}.gap-2{gap:8px}.gap-4{gap:16px}.bulk-upload-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-in-out}.bulk-upload-modal{background-color:#fff;border-radius:12px;width:90%;max-width:1000px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 30px #0003;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:1px solid #eaeaea;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px 12px 0 0}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600}.close-btn{background:#fff3;border:none;color:#fff;font-size:24px;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.close-btn:hover{background:#ffffff4d}.modal-content{padding:30px;overflow-y:auto;flex:1}.upload-step{display:grid;grid-template-columns:1fr 1fr;gap:40px}.upload-info h3{margin-top:0;margin-bottom:20px;color:#333;font-size:1.3rem}.upload-info p{color:#666;line-height:1.6;margin-bottom:20px}.format-requirements{background:#f8f9fa;border-radius:8px;padding:20px;margin-bottom:25px;border-left:4px solid #4CAF50}.format-requirements h4{margin-top:0;margin-bottom:12px;color:#333;font-size:1.1rem}.format-requirements ul{margin:0;padding-left:20px}.format-requirements li{margin-bottom:6px;color:#555;font-size:.95rem}.upload-actions{margin-top:20px}.upload-area{display:flex;flex-direction:column}.dropzone{border:3px dashed #ddd;border-radius:12px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .3s ease;background:#fafafa;margin-bottom:25px;flex:1;display:flex;align-items:center;justify-content:center}.dropzone:hover{border-color:#667eea;background:#f0f3ff}.dropzone-content{width:100%}.upload-icon{font-size:48px;margin-bottom:15px;color:#667eea}.upload-text p{margin:8px 0;color:#666;font-size:1.1rem}.file-info{font-size:.9rem!important;color:#999!important}.selected-file{margin-top:20px;padding:12px;background:#e8f4ff;border-radius:6px;border:1px solid #b8daff;color:#004085;font-size:.95rem}.review-step h3{margin-top:0;color:#333;margin-bottom:20px}.upload-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px;background:#f8f9fa;padding:20px;border-radius:8px}.summary-item .label{font-size:.9rem;color:#666;margin-bottom:4px}.summary-item .value{font-size:1.1rem;font-weight:600;color:#333}.preview-section{margin-bottom:30px}.preview-section h4{margin-bottom:10px;color:#333}.preview-table{background:#f5f5f5;border-radius:6px;padding:15px;max-height:200px;overflow-y:auto;font-family:Courier New,monospace;font-size:.9rem;white-space:pre-wrap}.warning-box{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:20px;margin-bottom:30px}.warning-box h4{color:#856404;margin-top:0;margin-bottom:15px;display:flex;align-items:center;gap:8px}.warning-box ul{margin:0;padding-left:20px;color:#856404}.warning-box li{margin-bottom:8px;font-size:.95rem}.results-step h3{margin-top:0;color:#333;margin-bottom:30px;display:flex;align-items:center;gap:10px}.results-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-bottom:40px}.result-stat{display:flex;align-items:center;gap:20px;padding:20px;border-radius:10px;background:#fff;box-shadow:0 4px 15px #00000014;transition:transform .3s ease}.result-stat:hover{transform:translateY(-5px)}.result-stat.success{border-top:4px solid #4CAF50}.result-stat.error{border-top:4px solid #f44336}.result-stat.total{border-top:4px solid #2196F3}.stat-icon{font-size:32px;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}.result-stat.success .stat-icon{background:linear-gradient(135deg,#4caf50,#45a049)}.result-stat.error .stat-icon{background:linear-gradient(135deg,#f44336,#e53935)}.result-stat.total .stat-icon{background:linear-gradient(135deg,#2196f3,#1976d2)}.stat-value{font-size:2rem;font-weight:700;line-height:1;margin-bottom:5px}.stat-label{font-size:.95rem;color:#666;font-weight:500}.created-users{margin-bottom:40px}.created-users h4{margin-top:0;margin-bottom:20px;color:#333;font-size:1.2rem;display:flex;align-items:center;gap:10px}.warning-banner{background:linear-gradient(135deg,#fff8e1,#ffecb3);border:2px solid #ffd54f;border-radius:8px;padding:15px 20px;margin-bottom:25px;color:#856404;font-size:1rem;animation:pulseWarning 2s infinite}@keyframes pulseWarning{0%,to{border-color:#ffd54f}50%{border-color:#ffca28}}.users-table{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 5px 15px #00000014;margin-bottom:25px}.users-table table{width:100%;border-collapse:collapse}.users-table th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;text-align:left;padding:18px 20px;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}.users-table th:first-child{border-top-left-radius:10px}.users-table th:last-child{border-top-right-radius:10px}.users-table td{padding:18px 20px;border-bottom:1px solid #eee;font-size:.95rem;vertical-align:middle}.users-table tr:last-child td{border-bottom:none}.users-table tr:hover{background-color:#f9f9f9}.users-table .temp-password{background:#f5f5f5;padding:8px 12px;border-radius:6px;font-family:Courier New,monospace;font-size:.9rem;color:#d32f2f;font-weight:600;letter-spacing:1px;border:1px dashed #ddd;display:inline-block;margin-right:10px;min-width:120px;text-align:center}.password-display{display:flex;align-items:center;gap:10px}.password-actions{display:flex;gap:8px}.password-actions .copy-btn{padding:6px 12px;font-size:.85rem;height:auto}.users-table .btn-secondary{padding:8px 16px;font-size:.9rem;height:auto;white-space:nowrap}.more-users,.more-errors{text-align:center;padding:15px;color:#666;font-style:italic;font-size:.95rem;background:#fafafa;border-top:1px solid #eee}.download-section{text-align:center;padding:25px;background:linear-gradient(135deg,#f8f9ff,#eef2ff);border-radius:10px;border:2px dashed #c5d0ff}.download-section .btn-primary{padding:14px 30px;font-size:1.1rem;border-radius:8px;display:inline-flex;align-items:center;gap:10px;transition:all .3s ease}.download-section .btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea4d}.help-text{margin-top:15px;color:#666;font-size:.95rem}.error-list{margin-bottom:30px}.error-list h4{margin-top:0;margin-bottom:15px;color:#d32f2f;display:flex;align-items:center;gap:10px}.errors-container{background:#fff5f5;border:1px solid #ffcdd2;border-radius:8px;padding:20px;max-height:200px;overflow-y:auto}.error-item{padding:12px 15px;background:#fff;border-radius:6px;margin-bottom:10px;border-left:4px solid #f44336;color:#721c24;font-size:.95rem;display:flex;align-items:center;gap:10px}.error-item:last-child{margin-bottom:0}.action-buttons{display:flex;gap:15px;flex-wrap:wrap;margin-top:30px;padding-top:30px;border-top:1px solid #eee}.btn-primary,.btn-secondary,.copy-btn{padding:12px 24px;border-radius:6px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;border:none;height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:#fff;color:#667eea;border:2px solid #667eea}.btn-secondary:hover{background:#f0f3ff;transform:translateY(-2px)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none}.copy-btn{background:#f0f3ff;color:#667eea;border:1px solid #d1d9ff;padding:6px 12px;font-size:.9rem;border-radius:4px;height:auto}.copy-btn:hover{background:#667eea;color:#fff;border-color:#667eea}@media(max-width:768px){.bulk-upload-modal{width:95%;max-height:95vh}.modal-header{padding:15px 20px}.modal-header h2{font-size:1.3rem}.modal-content{padding:20px}.upload-step{grid-template-columns:1fr;gap:30px}.results-summary{grid-template-columns:1fr}.users-table{overflow-x:auto}.users-table table{min-width:800px}.action-buttons{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.password-display{flex-direction:column;align-items:flex-start;gap:8px}.password-actions{width:100%;justify-content:flex-start}}.bulk-upload-modal ::-webkit-scrollbar{width:8px}.bulk-upload-modal ::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.bulk-upload-modal ::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px}.bulk-upload-modal ::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190)}.loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite;margin-right:10px}.success-icon{color:#4caf50;font-size:1.2rem}.error-icon{color:#f44336;font-size:1.2rem}[title]{position:relative}[title]:hover:after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:6px 12px;border-radius:4px;font-size:.85rem;white-space:nowrap;z-index:100;margin-bottom:5px;pointer-events:none}[title]:hover:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#333;margin-bottom:-5px;pointer-events:none}.columns-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:15px}.column-group{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:15px}.column-group strong{display:block;margin-bottom:10px;color:#495057;border-bottom:2px solid #6c757d;padding-bottom:5px}.column-group.critical{background:#fff3cd;border-color:#ffc107;grid-column:1 / -1}.column-group.critical strong{color:#856404;border-bottom-color:#ffc107}.column-group ul{margin:0;padding-left:20px}.column-group li{margin:5px 0;font-size:13px;line-height:1.4}.column-group code{background:#e9ecef;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:12px}.format-requirements .note{background:#fff8e1;border:1px solid #ffd54f;border-radius:6px;padding:12px;margin-top:15px;font-size:.95rem;color:#856404}.format-requirements .note strong{color:#856404}.edit-user-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.edit-user-modal{background:#fff;border-radius:10px;width:90%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee;background:#f8f9fa;border-radius:10px 10px 0 0;position:sticky;top:0;z-index:10}.modal-header h2{margin:0;color:#000;font-size:1.5rem}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%}.close-btn:hover{background:#eee}.modal-form{padding:20px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px}.form-group label{margin-bottom:6px;font-weight:500;color:#333;font-size:14px}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid #ddd;border-radius:5px;font-size:14px;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#000;box-shadow:0 0 0 2px #0000001a}.form-group input:disabled,.form-group select:disabled{background-color:#f5f5f5;color:#666;cursor:not-allowed}.field-note{font-size:12px;color:#666;margin-top:4px;font-style:italic}.form-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:20px;border-top:1px solid #eee}.btn-primary{background:#000;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-weight:500;transition:background .3s}.btn-primary:hover:not(:disabled){background:#333}.btn-primary:disabled{background:#666;cursor:not-allowed}.btn-secondary{background:#f5f5f5;color:#333;border:1px solid #ddd;padding:10px 20px;border-radius:5px;cursor:pointer;font-weight:500;transition:all .3s}.btn-secondary:hover:not(:disabled){background:#e0e0e0}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.edit-user-modal{width:95%;margin:10px}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}}.password-reset-requests{padding:20px;max-width:1200px;margin:0 auto;color:red}.header{background:linear-gradient(135deg,#2c3e50,#4a6583);color:#fff;padding:30px;border-radius:10px;margin-bottom:30px}.header h1{margin:0;font-size:2rem}.header p{margin:10px 0 0;opacity:.9}.stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 4px 6px #9595951a;display:flex;align-items:center;gap:20px;transition:transform .3s ease,box-shadow .3s ease}.stat-card:hover{transform:translateY(-5px);box-shadow:0 6px 12px #95959533}.stat-card.total{border-left:5px solid #007bff}.stat-card.total:hover{background:#e3f2fd}.stat-card.pending{border-left:5px solid #ffc107}.stat-card.pending:hover{background:#fff8e1}.stat-card.approved{border-left:5px solid #28a745}.stat-card.approved:hover{background:#e8f5e9}.stat-card.rejected{border-left:5px solid #dc3545}.stat-card.rejected:hover{background:#fdeaea}.stat-content h3{margin:0;font-size:1rem;color:#666}.stat-value{font-size:2rem;font-weight:700;margin-top:5px}.requests-table-container{background:#fff;border-radius:10px;padding:20px;box-shadow:0 4px 6px #9595951a}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.table-header h2{margin:0}.btn-refresh{background:#007bff;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:5px;transition:background .3s}.btn-refresh:hover:not(:disabled){background:#0056b3}.loading{text-align:center;padding:40px;color:#666}.empty-state{text-align:center;padding:40px}.empty-icon{font-size:4rem;margin-bottom:20px;opacity:.3}.table-responsive{overflow-x:auto}.requests-table{width:100%;border-collapse:collapse}.requests-table th{background:#f8f9fa;padding:15px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6}.requests-table td{padding:15px;border-bottom:1px solid #dee2e6}.requests-table tr{transition:background .3s}.requests-table tr:hover{background:#e9ecef}.status-badge{display:inline-block;padding:5px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge-completed{background:#d1ecf1;color:#0c5460}.badge-expired{background:#e2e3e5;color:#383d41}.action-buttons{display:flex;gap:5px}.btn-action{border:none;padding:8px;border-radius:5px;cursor:pointer;font-size:16px;background:#f8f9fa;transition:all .3s}.btn-action:hover{transform:scale(1.1)}.btn-view:hover{background:#17a2b8;color:#fff}.btn-approve:hover{background:#28a745;color:#fff}.btn-reject:hover{background:#dc3545;color:#fff}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#6b6b6b80;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:10px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #6b6b6b33}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #dee2e6;background:#f8f9fa;border-radius:10px 10px 0 0}.modal-header h2{margin:0;color:#2c3e50}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#666;transition:color .3s}.close-btn:hover{color:#495057}.modal-content{padding:20px}.request-details{margin-bottom:30px;background:#f8f9fa;padding:20px;border-radius:8px}.detail-row{display:flex;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #dee2e6}.detail-row:hover{background:#e9ecef;padding:10px;border-radius:4px}.detail-row strong{min-width:150px;color:#495057}.user-agent{font-size:12px;color:#666;background:#e9ecef;padding:8px;border-radius:4px;word-break:break-all;margin-top:5px}.action-section{border-top:1px solid #dee2e6;padding-top:20px;margin-top:20px}.action-section h3{margin-top:0;margin-bottom:15px;color:#2c3e50}.comments-input{width:100%;padding:12px;border:1px solid #ced4da;border-radius:5px;margin-bottom:20px;font-family:inherit;resize:vertical;background:#f8f9fa;transition:border .3s,background .3s}.comments-input:hover{background:#e9ecef}.comments-input:focus{outline:none;border-color:#007bff;background:#fff;box-shadow:0 0 0 .2rem #007bff40}.modal-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:20px;border-top:1px solid #dee2e6}.modal-actions button{padding:10px 20px;border:none;border-radius:5px;cursor:pointer;font-weight:600;transition:all .3s}.btn-approve{background:#28a745;color:#fff}.btn-approve:hover{background:#218838}.btn-reject{background:#dc3545;color:#fff}.btn-reject:hover:not(:disabled){background:#c82333}.btn-reject:disabled{opacity:.6;cursor:not-allowed}.btn-cancel{background:#6c757d;color:#fff}.btn-cancel:hover{background:#5a6268}.requests-table tr:nth-child(2n){background-color:#f8f9fa}.requests-table tr:nth-child(2n):hover{background-color:#e9ecef}.detail-row:nth-child(2n){background-color:#f8f9fa;padding:10px;border-radius:4px}.filter-controls{background:#f8f9fa;padding:15px;border-radius:8px;margin-bottom:20px;display:flex;gap:15px;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:10px}.filter-group label{font-weight:600;color:#495057}.filter-group select{padding:8px 12px;border:1px solid #ced4da;border-radius:4px;background:#fff;color:#495057;transition:border .3s}.filter-group select:hover{border-color:#adb5bd}.filter-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}.pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid #dee2e6}.pagination-btn{background:#6c757d;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;transition:background .3s}.pagination-btn:hover:not(:disabled){background:#5a6268}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.page-info{color:#495057;font-weight:600}.requests-table .badge-pending:hover{background:#ffeaa7;color:#856404}.requests-table .badge-approved:hover{background:#b8e6c8;color:#155724}.requests-table .badge-rejected:hover{background:#f5c6cb;color:#721c24}.requests-table .badge-completed:hover{background:#bee5eb;color:#0c5460}.requests-table .badge-expired:hover{background:#d6d8db;color:#383d41}:root{--primary: #4361ee;--primary-dark: #3a56d4;--primary-light: #4f6f8f;--primary-soft: #2a3a4e;--success: #10b981;--success-dark: #0e9f6e;--success-soft: #1a3a32;--warning: #f59e0b;--warning-dark: #d97706;--warning-soft: #3a3222;--danger: #ef4444;--danger-dark: #dc2626;--danger-soft: #3a2a2a;--info: #3b82f6;--info-dark: #2563eb;--info-soft: #1e3a5a;--bg-primary: #0a0c10;--bg-secondary: #111317;--bg-tertiary: #1a1d24;--bg-elevated: #22262e;--bg-hover: #2a2f38;--text-primary: #c95e5e;--text-secondary: #1256af;--text-muted: #94a3b8;--text-dim: #64748b;--border-primary: #2a2f38;--border-secondary: #333a45;--border-hover: #404854;--shadow-sm: 0 2px 4px rgba(0,0,0,.3);--shadow-md: 0 4px 8px rgba(0,0,0,.4);--shadow-lg: 0 8px 16px rgba(0,0,0,.5);--shadow-xl: 0 12px 24px rgba(0,0,0,.6);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease}.admin-dashboard{padding:2rem;max-width:1600px;margin:0 auto;font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-primary);min-height:100vh}.welcome-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem 2rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:1px solid var(--border-primary);border-radius:var(--radius-xl);color:var(--text-primary);box-shadow:var(--shadow-lg)}.welcome-content h1{font-size:1.875rem;font-weight:700;margin-bottom:.5rem;letter-spacing:-.025em;color:var(--text-primary)}.welcome-content p{font-size:1rem;opacity:.9;margin:0;color:var(--text-secondary)}.welcome-actions{display:flex;gap:1rem}.welcome-actions .btn-primary{background:var(--primary);color:#fff;border:none}.welcome-actions .btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.welcome-actions .btn-secondary{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-primary)}.welcome-actions .btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2.5rem}.stat-card{display:flex;align-items:center;gap:1.25rem;padding:1.5rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);transition:all var(--transition-base);position:relative;overflow:hidden;border:none}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,#fff3,#fff0);pointer-events:none}.stat-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:var(--shadow-xl)}.stat-card-total{background:linear-gradient(135deg,#ffb6c1,pink)}.stat-card-active{background:linear-gradient(135deg,pink,#ffd1dc)}.stat-card-new{background:linear-gradient(135deg,#ffe4e1,#ffb6c1)}.stat-card-pending{background:linear-gradient(135deg,#fff0f5,#ffe4e9)}.stat-icon-wrapper{display:flex;align-items:center;justify-content:center;width:70px;height:70px;border-radius:20px;background:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#1a1a1a;border:1px solid rgba(255,255,255,.4)}.stat-icon{width:32px;height:32px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.2))}.stat-content{flex:1;color:#1a1a1a}.stat-label{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.9;margin-bottom:.25rem;color:#1a1a1a}.stat-value{font-size:2.5rem;font-weight:800;line-height:1;margin-bottom:.25rem;color:#0a0a0a;text-shadow:0 2px 4px rgba(255,255,255,.3)}.stat-trend{font-size:.813rem;opacity:.9;display:flex;align-items:center;gap:.25rem;color:#1a1a1a}.trend-indicator{font-size:1rem}.section-header-left{display:flex;align-items:center;gap:1rem}.section-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.section-badge{padding:.25rem .75rem;background:var(--primary-soft);color:#60a5fa;border-radius:100px;font-size:.813rem;font-weight:600}.section-badge.subtle{background:var(--bg-elevated);color:var(--text-muted)}.view-all-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:.875rem;font-weight:500;transition:all var(--transition-fast);cursor:pointer}.view-all-btn:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.view-all-btn svg{stroke:currentColor}.quick-actions{margin-bottom:2.5rem}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.action-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);transition:all var(--transition-base);cursor:pointer;text-align:left;width:100%}.action-card:hover{background:var(--bg-tertiary);border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.action-icon-wrapper{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:var(--bg-elevated);color:var(--text-muted)}.action-card:hover .action-icon-wrapper{background:var(--primary-soft);color:var(--primary)}.action-icon{width:24px;height:24px;stroke:currentColor}.action-content{flex:1}.action-content h4{font-size:1rem;font-weight:600;margin-bottom:.25rem;color:var(--text-primary)}.action-content p{font-size:.813rem;color:var(--text-muted);margin:0}.action-arrow{color:var(--text-dim);font-size:1.125rem;transition:transform var(--transition-fast)}.action-card:hover .action-arrow{color:var(--primary);transform:translate(4px)}.pending-activation-section{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:1.5rem;margin-bottom:2.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-primary)}.pending-users-list{display:flex;flex-direction:column;gap:1rem}.pending-user-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-tertiary);border-radius:var(--radius-lg);transition:all var(--transition-base);border:1px solid transparent}.pending-user-item:hover{background:var(--bg-elevated);border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.user-avatar{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--warning-soft);color:var(--warning);font-weight:600;font-size:1rem;text-transform:uppercase;flex-shrink:0}.user-avatar.small{width:36px;height:36px;font-size:.875rem;border-radius:10px}.user-avatar.large{width:56px;height:56px;font-size:1.25rem;border-radius:14px}.user-info{flex:1;min-width:0}.user-name-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.25rem}.user-name{font-weight:600;color:var(--text-primary)}.user-email{font-size:.813rem;color:var(--text-muted)}.user-meta{display:flex;align-items:center;gap:1rem;font-size:.813rem}.user-department{color:var(--text-secondary);background:var(--bg-elevated);padding:.125rem .5rem;border-radius:100px}.user-joined{display:flex;align-items:center;gap:.25rem;color:var(--text-muted)}.user-joined svg{stroke:currentColor}.user-status{display:flex;flex-direction:column;align-items:flex-end;min-width:100px}.status-badge{padding:.25rem .75rem;border-radius:100px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.status-badge.active{background:var(--success-soft);color:var(--success)}.status-badge.inactive{background:var(--bg-elevated);color:var(--text-muted)}.status-badge.pending{background:var(--warning-soft);color:var(--warning)}.status-badge.first-login{background:var(--danger-soft);color:var(--danger);display:flex;align-items:center;gap:.25rem}.status-indicator{margin-left:.5rem;font-size:1rem;cursor:help}.user-actions{display:flex;gap:.5rem}.action-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius-lg);font-size:.813rem;font-weight:600;transition:all var(--transition-fast);border:none;cursor:pointer;box-shadow:var(--shadow-sm)}.action-btn.resend{background:var(--warning);color:#fff}.action-btn.resend:hover{background:var(--warning-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.action-btn.reset{background:var(--primary);color:#fff}.action-btn.reset:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.recent-users-section{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-primary)}.users-table-container{overflow-x:auto;border-radius:var(--radius-lg)}.users-table{width:100%;border-collapse:collapse}.users-table th{text-align:left;padding:1rem;font-size:.813rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary)}.users-table td{padding:1rem;border-bottom:1px solid var(--border-primary);color:var(--text-secondary);font-size:.938rem}.users-table tr:hover td{background:var(--bg-tertiary)}.user-cell{display:flex;align-items:center;gap:.75rem}.user-details{display:flex;flex-direction:column}.user-details .user-name{font-weight:600;color:var(--text-primary);margin-bottom:.125rem}.user-details .user-email{font-size:.813rem;color:var(--text-muted)}.user-details .user-id{font-size:.75rem;color:var(--text-dim)}.department-tag{display:inline-block;padding:.25rem .75rem;background:var(--bg-elevated);border-radius:100px;font-size:.813rem;color:var(--text-secondary)}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:100px;font-size:.75rem;font-weight:600;text-transform:uppercase}.role-badge.admin{background:#3a3222;color:#fbbf24}.role-badge.hr_admin{background:#1e3a5a;color:#60a5fa}.role-badge.manager{background:#1a3a32;color:#34d399}.role-badge.hod{background:#3a2a2a;color:#f87171}.role-badge.user_admin{background:#2a3a4e;color:#93c5fd}.role-badge.ceo{background:#3a2e3a;color:#c084fc}.role-badge.employee{background:var(--bg-elevated);color:var(--text-secondary)}.table-actions{display:flex;gap:.5rem}.icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-lg);border:none;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.icon-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.icon-btn.edit{background:var(--primary);color:#aa1f1f}.icon-btn.edit:hover{background:var(--primary-dark)}.icon-btn.reset{background:var(--warning);color:#b92020}.icon-btn.reset:hover{background:var(--warning-dark)}.icon-btn.activate{background:var(--success);color:#fff}.icon-btn.activate:hover{background:var(--success-dark)}.icon-btn.deactivate{background:var(--danger);color:#fff}.icon-btn.deactivate:hover{background:var(--danger-dark)}.icon-btn.delete{background:var(--danger);color:#fff}.icon-btn.delete:hover{background:var(--danger-dark)}.icon-btn.view{background:red;color:#fff}.icon-btn.view:hover{background:var(--info-dark)}.contact-info{display:flex;flex-direction:column;gap:.25rem}.contact-email{font-size:.875rem;color:var(--text-secondary)}.contact-phone{font-size:.75rem;color:var(--text-muted)}.pending-activations-view{padding:1rem}.view-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.view-header-left h1{font-size:1.875rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;letter-spacing:-.025em}.view-description{color:var(--text-muted);margin:0}.view-header-actions{display:flex;gap:1rem}.pending-users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.5rem;margin-top:1.5rem}.pending-user-card{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-primary);transition:all var(--transition-base)}.pending-user-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--border-hover);background:var(--bg-tertiary)}.card-header{display:flex;gap:1rem;margin-bottom:1.25rem;position:relative}.user-basic-info{flex:1}.user-basic-info h3{font-size:1.125rem;font-weight:600;margin-bottom:.25rem;color:var(--text-primary)}.user-basic-info .user-email{font-size:.875rem;margin-bottom:.125rem;color:var(--text-muted)}.user-basic-info .user-id{font-size:.75rem;color:var(--text-dim)}.card-body{padding:1rem 0;border-top:1px solid var(--border-primary);border-bottom:1px solid var(--border-primary);margin-bottom:1rem}.info-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.875rem}.info-label{color:var(--text-muted)}.info-value{font-weight:500;color:var(--text-secondary)}.days-badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;background:var(--bg-elevated);border-radius:100px;font-size:.75rem;color:var(--text-muted)}.card-footer{display:flex;gap:.75rem}.btn-block{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem}.search-bar{position:relative;margin-bottom:1.5rem}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted);stroke:currentColor}.search-input{width:100%;padding:.875rem 1rem .875rem 3rem;border:1px solid var(--border-primary);border-radius:var(--radius-xl);font-size:.938rem;transition:all var(--transition-fast);background:var(--bg-tertiary);color:var(--text-primary)}.search-input::placeholder{color:var(--text-dim)}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #4361ee26;background:var(--bg-elevated)}.clear-search{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center}.clear-search:hover{color:var(--text-secondary)}.clear-search svg{stroke:currentColor}.empty-state{text-align:center;padding:4rem 2rem;background:var(--bg-secondary);border-radius:var(--radius-xl);border:2px dashed var(--border-primary)}.empty-state.small{padding:2rem}.empty-icon{font-size:3rem;margin-bottom:1rem}.empty-state h3{font-size:1.25rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.empty-state h4{font-size:1.125rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.empty-state p{color:var(--text-muted);margin-bottom:1.5rem}.loading-skeleton{display:flex;flex-direction:column;gap:.75rem}.skeleton-item{height:80px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-elevated) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:var(--radius-lg)}.skeleton-row{height:60px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-elevated) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:var(--radius-md)}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn var(--transition-fast)}.modal{background:var(--bg-secondary);border-radius:var(--radius-xl);width:90%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slideUp var(--transition-base);border:1px solid var(--border-primary)}.modal.modal-large{max-width:1000px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary)}.modal-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-elevated);color:var(--text-primary)}.modal-close svg{stroke:currentColor}.modal-form{padding:2rem}.form-grid{display:grid;gap:1.5rem;margin-bottom:1.5rem}.form-grid.two-column{grid-template-columns:repeat(2,1fr)}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{padding:.625rem 1rem;border:1px solid var(--border-primary);border-radius:var(--radius-lg);font-size:.938rem;transition:all var(--transition-fast);background:var(--bg-tertiary);color:var(--text-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #4361ee26;background:var(--bg-elevated)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-dim)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-secondary)}.form-help{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.input-group{display:flex;gap:.5rem}.input-group input{flex:1}input[type=date]{width:100%;padding:.625rem 1rem;border:1px solid var(--border-primary);border-radius:var(--radius-lg);font-size:.938rem;background:var(--bg-tertiary);color:var(--text-primary);font-family:inherit}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.8);cursor:pointer}input[type=date]:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #4361ee26}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-lg);font-size:.938rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);font-size:.938rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-secondary:hover{background:var(--bg-elevated);border-color:var(--border-hover);color:var(--text-primary)}.btn-small{padding:.5rem 1rem;font-size:.813rem;white-space:nowrap}.form-section{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-primary)}.form-section h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.form-section-description{font-size:.875rem;color:var(--text-muted);margin-bottom:1.5rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-primary)}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite;display:inline-block}@media(max-width:1200px){.admin-dashboard{padding:1.5rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}@media(max-width:992px){.form-grid.two-column{grid-template-columns:1fr}.pending-users-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media(max-width:768px){.admin-dashboard{padding:1rem}.welcome-section{flex-direction:column;align-items:flex-start;gap:1rem}.welcome-actions{width:100%}.welcome-actions button{flex:1}.stats-grid,.actions-grid{grid-template-columns:1fr}.pending-user-item{flex-direction:column;align-items:flex-start}.user-status{align-items:flex-start;width:100%}.user-actions{width:100%}.action-btn{width:100%;justify-content:center}.view-header{flex-direction:column;align-items:flex-start;gap:1rem}.view-header-actions{width:100%}.view-header-actions button{flex:1}.users-table{display:block;overflow-x:auto}.modal{width:95%;margin:1rem}}@media(max-width:480px){.admin-dashboard{padding:.75rem}.welcome-section{padding:1.25rem}.welcome-content h1{font-size:1.5rem}.stat-card{padding:1.25rem}.stat-value{font-size:1.75rem}.pending-user-card,.modal-header,.modal-form{padding:1.25rem}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.text-muted{color:var(--text-muted)!important}.text-success{color:var(--success)!important}.text-warning{color:var(--warning)!important}.text-danger{color:var(--danger)!important}.bg-dark{background:var(--bg-tertiary)!important}.border-dark{border-color:var(--border-primary)!important}.rounded-full{border-radius:9999px!important}.shadow-dark{box-shadow:var(--shadow-md)!important}.horizontal-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:30px}.horizontal-stat-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 4px 6px #0000000d;transition:all .3s ease;border:1px solid #e0e0e0;height:100%}.horizontal-stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 15px #0000001a}.horizontal-stat-content{display:flex;align-items:center;gap:15px;height:100%}.horizontal-stat-icon{font-size:28px;width:60px;height:60px;border-radius:10px;background:#ffffffe6;display:flex;align-items:center;justify-content:center;flex-shrink:0}.horizontal-stat-details{flex:1}.horizontal-stat-details h3{margin:0 0 8px;font-size:14px;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.horizontal-stat-value{font-size:32px;font-weight:700;color:#222;line-height:1}.quick-actions-section{margin-bottom:30px}.section-title{font-size:18px;font-weight:600;color:#222;margin-bottom:20px;display:flex;align-items:center;gap:10px}.section-icon{font-size:20px}.horizontal-actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.horizontal-action-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:20px;cursor:pointer;transition:all .3s ease;text-align:left;width:100%;border-left:4px solid}.horizontal-action-card:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 15px #0000001a;border-color:#04a}.horizontal-action-card:disabled{opacity:.6;cursor:not-allowed}.horizontal-action-content{display:flex;align-items:center;gap:15px}.horizontal-action-icon{width:45px;height:45px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;flex-shrink:0}.horizontal-action-text{flex:1}.horizontal-action-text h4{margin:0 0 5px;font-size:16px;font-weight:600;color:#222}.horizontal-action-text p{margin:0;color:#666;font-size:13px}.horizontal-action-arrow{color:#04a;font-size:18px;font-weight:700}.search-filters{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;align-items:end}.filter-group{margin-bottom:0}.filter-group label{font-size:12px;font-weight:500;margin-bottom:5px;color:#495057}.filter-actions{display:flex;gap:10px;align-items:center}.clear-filters-btn{padding:8px 16px;background:#e9ecef;border:1px solid #dee2e6;color:#495057;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s}.clear-filters-btn:hover{background:#dee2e6}.bulk-actions-bar{background:#e3f2fd;padding:10px 15px;border-radius:6px;margin-bottom:15px;display:flex;justify-content:space-between;align-items:center}.bulk-count{font-weight:500;color:#1565c0}.bulk-action-buttons{display:flex;gap:10px}.badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;display:inline-flex;align-items:center;gap:4px}.badge-warning{background:#ffeaa7;color:#e17055}.badge-info{background:#d1ecf1;color:#0c5460}.action-buttons{display:flex;gap:5px;flex-wrap:wrap}.btn-action{padding:6px 10px;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}.btn-action:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.btn-process{background:#007bff;color:#fff}.btn-details{background:#17a2b8;color:#fff}.btn-edit{background:#ffc107;color:#212529}.btn-success{background:#28a745;color:#fff}.btn-danger{background:#dc3545;color:#fff}.btn-warning{background:#fd7e14;color:#fff}.job-form-section{margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid #eee}.array-field-item{display:flex;gap:10px;margin-bottom:10px;align-items:center}.array-field-item .form-control{flex:1}.modal-content{max-width:800px;width:90%}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #dee2e6}.modal-body{padding:20px;max-height:70vh;overflow-y:auto}.modal-footer{padding:20px;border-top:1px solid #dee2e6;display:flex;justify-content:flex-end;gap:10px}@media(max-width:768px){.filter-row{grid-template-columns:1fr}.action-buttons{flex-direction:column;gap:3px}.btn-action{min-width:28px;min-height:28px;font-size:10px}}.clickable-stat-card-container{position:relative;margin-bottom:10px}.stat-card.clickable{transition:all .2s ease;position:relative;cursor:pointer}.stat-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.click-indicator{position:absolute;bottom:5px;right:10px;color:#0000004d;font-size:12px;animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.stat-details-panel{margin-top:10px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;overflow:hidden;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.details-header{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#f8f9fa;border-bottom:1px solid #dee2e6}.details-header h4{margin:0;font-size:16px;color:#495057}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#6c757d;padding:0 5px}.close-btn:hover{color:#dc3545}.details-content{padding:15px;max-height:400px;overflow-y:auto}.workforce-details .detail-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.detail-stat{background:#f8f9fa;padding:10px;border-radius:6px;display:flex;flex-direction:column}.detail-stat .detail-label{font-size:12px;color:#6c757d}.detail-stat .detail-value{font-size:18px;font-weight:600;color:#0d6efd}.recent-hires-preview{margin-bottom:20px}.recent-hires-preview h5{margin:0 0 10px;font-size:14px;color:#495057}.hires-list{max-height:150px;overflow-y:auto}.hire-item{display:flex;justify-content:space-between;align-items:center;padding:8px;border-bottom:1px solid #dee2e6}.hire-item .hire-name{font-weight:500}.hire-item .hire-dept{font-size:12px;color:#6c757d}.hire-item .hire-date{font-size:11px;color:#6c757d}.department-breakdown{margin-bottom:20px}.department-breakdown h5{margin:0 0 10px;font-size:14px;color:#495057}.dept-bar-item{display:flex;align-items:center;gap:10px;margin-bottom:8px}.dept-name{width:100px;font-size:12px;color:#495057;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-container{flex:1;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.bar-fill{height:100%;transition:width .3s ease}.dept-count{width:40px;text-align:right;font-size:12px;font-weight:600;color:#495057}.btn-view-all{width:100%;padding:8px;background:#e7f5ff;border:1px solid #74c0fc;border-radius:4px;color:#1864ab;font-size:12px;cursor:pointer}.btn-view-all:hover{background:#d0ebff}.pending-actions-details .pending-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.pending-group{background:#f8f9fa;border-radius:6px;padding:10px}.pending-group h5{margin:0 0 10px;font-size:13px;color:#495057;border-bottom:2px solid #dee2e6;padding-bottom:5px}.pending-items{max-height:200px;overflow-y:auto}.pending-item{display:flex;align-items:center;gap:5px;padding:8px;border-bottom:1px solid #dee2e6;font-size:12px}.pending-item .employee{flex:2;font-weight:500}.pending-item .type,.pending-item .date{flex:1;color:#6c757d}.pending-item .btn-small{padding:3px 6px;font-size:11px}.on-leave-details h5{margin:0 0 10px;font-size:14px;color:#495057}.leave-list{max-height:300px;overflow-y:auto}.leave-item{background:#f8f9fa;border-radius:6px;padding:10px;margin-bottom:10px}.leave-item .employee-info{display:flex;justify-content:space-between;margin-bottom:5px}.leave-item .employee-info .name{font-weight:600;color:#0d6efd}.leave-item .employee-info .dept{font-size:12px;color:#6c757d}.leave-item .leave-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;font-size:12px}.leave-item .type-badge{padding:3px 8px;background:#e7f5ff;border-radius:12px;color:#1864ab}.leave-item .dates{color:#495057}.leave-item .reliever-info{font-size:11px;color:#6c757d;padding-top:5px;border-top:1px dashed #dee2e6}.recruitment-filtering-system{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a}.filtering-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.filtering-header h3{margin:0;color:#333}.job-info-badge{background:#e9ecef;padding:5px 10px;border-radius:20px;font-size:13px}.criteria-input-section{margin-bottom:20px}.criteria-input-section label{display:block;margin-bottom:8px;font-weight:500;color:#495057}.criteria-textarea{width:100%;padding:10px;border:1px solid #ced4da;border-radius:4px;font-size:14px;margin-bottom:10px;resize:vertical}.criteria-textarea:focus{border-color:#8b5cf6;outline:none;box-shadow:0 0 0 3px #8b5cf61a}.btn-analyze{background:#8b5cf6;color:#fff;border:none;padding:10px 20px;border-radius:4px;font-size:14px;cursor:pointer}.btn-analyze:hover:not(:disabled){background:#7c3aed}.btn-analyze:disabled{opacity:.5;cursor:not-allowed}.analysis-results{margin-top:20px}.analysis-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:20px}.summary-stat{background:#f8f9fa;padding:15px;border-radius:6px;text-align:center}.summary-stat .stat-value{display:block;font-size:24px;font-weight:700;color:#333}.summary-stat .stat-label{font-size:12px;color:#6c757d}.summary-stat.highlight{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff}.summary-stat.highlight .stat-value,.summary-stat.highlight .stat-label{color:#fff}.top5-section{margin-bottom:20px}.top5-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.top5-header h4{margin:0;color:#8b5cf6}.btn-select-top5{background:#f3e8ff;border:1px solid #8b5cf6;color:#8b5cf6;padding:5px 10px;border-radius:4px;cursor:pointer}.btn-select-top5:hover{background:#e9d5ff}.applicants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.applicant-card{background:#f8f9fa;border-radius:6px;padding:15px;display:flex;align-items:center;gap:10px}.applicant-card.top5{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);border:2px solid #8b5cf6}.applicant-checkbox{margin-right:5px}.applicant-avatar{width:40px;height:40px;border-radius:50%;background:#8b5cf6;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}.applicant-info{flex:1}.applicant-info h5{margin:0 0 5px;font-size:14px}.applicant-details{display:flex;gap:5px;margin-bottom:8px}.applicant-details .badge{background:#fff;padding:2px 6px;border-radius:12px;font-size:10px;color:#495057}.match-score{display:flex;align-items:center;gap:5px;margin-bottom:5px}.score-bar{flex:1;height:4px;background:#dee2e6;border-radius:2px;overflow:hidden}.score-fill{height:100%;background:#8b5cf6;border-radius:2px}.score-value{font-size:11px;font-weight:600;color:#8b5cf6}.match-reason{font-size:11px;color:#6c757d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top5-row{background:#f3e8ff}.top5-badge{margin-left:8px;padding:2px 6px;background:#8b5cf6;color:#fff;border-radius:12px;font-size:10px}.skills-tags{display:flex;flex-wrap:wrap;gap:3px}.skill-tag{background:#e9ecef;padding:2px 6px;border-radius:12px;font-size:10px;color:#495057}.skill-tag.more{background:#ced4da}.score-indicator{display:flex;align-items:center;gap:5px}.score-bar-small{width:50px;height:4px;background:#dee2e6;border-radius:2px;overflow:hidden}.score-fill{height:100%;background:#8b5cf6}.action-buttons{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:20px;border-top:1px solid #dee2e6}.selected-count{font-weight:500;color:#495057}.drafts-and-leave-info{display:grid;grid-template-columns:1fr 1fr;gap:20px}.drafts-section,.processed-leaves-section{background:#fff;border-radius:8px;padding:15px;box-shadow:0 2px 4px #0000000d}.drafts-section h3,.processed-leaves-section h3{margin:0 0 15px;padding-bottom:10px;border-bottom:2px solid #f0f0f0}.drafts-list,.processed-leaves-list{max-height:600px;overflow-y:auto}.draft-card,.processed-card{background:#f8f9fa;border-radius:6px;padding:12px;margin-bottom:12px;border-left:4px solid #ffc107}.processed-card{border-left-color:#28a745}.draft-header,.processed-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.employee-name{font-weight:600;color:#495057}.draft-badge{background:#ffc107;color:#000;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.status-badge{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.status-badge.processed{background:#28a745;color:#fff}.status-badge.approved{background:#17a2b8;color:#fff}.status-badge.approved_by_manager{background:#6f42c1;color:#fff}.status-badge.approved_by_hod{background:#fd7e14;color:#fff}.draft-details,.processed-details{font-size:12px}.detail-row{display:flex;margin-bottom:5px}.detail-row .label{width:80px;color:#6c757d}.detail-row .value{flex:1;color:#495057}.detail-row .value.days{font-weight:600;color:#0d6efd}.agreed-badge,.signed-badge{margin-left:5px;padding:2px 4px;background:#28a745;color:#fff;border-radius:4px;font-size:9px}.signature-info{margin-top:8px;padding-top:8px;border-top:1px dashed #dee2e6;color:#6c757d}.approval-trail{margin-top:10px;padding-top:10px;border-top:1px solid #dee2e6}.approval-trail h4{margin:0 0 8px;font-size:12px;color:#495057}.approval-step{display:flex;gap:8px;margin-bottom:8px;font-size:11px}.step-icon{width:20px;text-align:center}.step-details{flex:1}.step-title{font-weight:500;color:#495057}.step-date{margin-left:5px;color:#6c757d;font-size:10px}.step-comments{display:block;color:#6c757d;font-size:10px;font-style:italic}.step-detail{display:block;color:#0d6efd;font-size:10px}.financial-details{margin-top:10px;padding-top:10px;border-top:1px solid #dee2e6}.financial-details h4{margin:0 0 8px;font-size:12px;color:#495057}.resumption-details{margin-top:10px;padding-top:10px;border-top:1px solid #dee2e6}.resumption-details h4{margin:0 0 8px;font-size:12px;color:#495057}.draft-actions,.processed-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px;padding-top:8px;border-top:1px solid #dee2e6}.btn-view,.btn-edit{padding:4px 8px;border:none;border-radius:4px;font-size:11px;cursor:pointer}.btn-view{background:#e7f5ff;color:#1864ab}.btn-edit{background:#fff3cd;color:#856404}.leave-sync-manager{padding:20px;background:#fff;border-radius:8px}.sync-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.sync-header h3{margin:0}.sync-actions{display:flex;gap:10px}.btn-check,.btn-sync{padding:8px 16px;border:none;border-radius:4px;font-size:14px;cursor:pointer}.btn-check{background:#e7f5ff;color:#1864ab;border:1px solid #74c0fc}.btn-sync{background:#0d6efd;color:#fff}.btn-check:hover:not(:disabled){background:#d0ebff}.btn-sync:hover:not(:disabled){background:#0b5ed7}.btn-check:disabled,.btn-sync:disabled{opacity:.5;cursor:not-allowed}.sync-info{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#f8f9fa;border-radius:4px;margin-bottom:20px}.last-sync{color:#495057;font-size:13px}.sync-status{font-size:13px;font-weight:500}.sync-status.completed{color:#28a745}.sync-status.checking{color:#ffc107}.sync-status.syncing{color:#17a2b8}.sync-status.error{color:#dc3545}.discrepancies-section{margin-bottom:20px}.discrepancies-section h4{display:flex;justify-content:space-between;align-items:center;margin:0 0 15px;color:#dc3545}.btn-toggle{background:none;border:1px solid #dee2e6;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px}.btn-toggle:hover{background:#f8f9fa}.discrepancies-table{overflow-x:auto}.employee-value{color:#0d6efd;font-weight:500}.hr-value{color:#198754;font-weight:500}.difference{font-weight:600}.difference.positive{color:#28a745}.difference.negative{color:#dc3545}.btn-sync-employee,.btn-sync-hr{padding:3px 6px;border:none;border-radius:4px;font-size:10px;cursor:pointer}.btn-sync-employee{background:#e7f5ff;color:#1864ab}.btn-sync-hr{background:#d1e7dd;color:#0f5132}.sync-success{text-align:center;padding:30px;background:#f8f9fa;border-radius:8px}.success-icon{font-size:48px;margin-bottom:10px}.sync-success h4{margin:0 0 10px;color:#28a745}.sync-success p{color:#6c757d;margin:0}.sync-explanation{margin-top:20px;padding:15px;background:#f8f9fa;border-radius:6px}.sync-explanation h5{margin:0 0 10px;color:#495057}.sync-explanation ul{margin:0;padding-left:20px}.sync-explanation li{margin-bottom:5px;color:#6c757d;font-size:13px}.hr-dashboard{display:flex;flex-direction:column;gap:25px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #0044AA}.card-header h2{margin:0;font-size:18px;font-weight:600;color:#222;display:flex;align-items:center;gap:10px}.card-icon{font-size:20px}.card-badge{background:#ffc107;color:#000;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;margin-left:10px}.employee-name{font-weight:500;color:#222}.employee-id{font-size:11px;color:#666}.date-range{display:flex;flex-direction:column;gap:2px}.date-to{font-size:11px;color:#666;text-align:center}.days-badge{display:inline-block;padding:6px 12px;background:#f8f9fa;border-radius:6px;font-weight:600;color:#04a;border:1px solid #dee2e6}.btn-action{padding:8px 16px;background:#04a;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:13px;transition:all .2s ease}.btn-action:hover{background:#038;transform:translateY(-1px)}.btn-secondary{padding:8px 20px;background:#fff;color:#04a;border:1px solid #0044AA;border-radius:6px;cursor:pointer;font-weight:500;font-size:13px;transition:all .2s ease}.btn-secondary:hover:not(:disabled){background:#04a;color:#fff}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:1200px){.horizontal-stats-grid,.horizontal-actions-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.horizontal-stats-grid,.horizontal-actions-grid{grid-template-columns:1fr}.card-header{flex-direction:column;align-items:flex-start;gap:10px}.horizontal-stat-content,.horizontal-action-content{flex-direction:column;text-align:center;gap:10px}.horizontal-stat-icon{width:50px;height:50px;font-size:24px}.horizontal-stat-value{font-size:28px}}.profile-container{max-width:1200px;margin:0 auto;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a}.error{border-color:#ef4444!important;background-color:#fef2f2!important}.error-text{color:#ef4444;font-size:.875rem;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.current-file,.new-file{padding:.5rem;background-color:#f3f4f6;border-radius:.375rem;margin-top:.5rem;font-size:.875rem}.current-file{border-left:4px solid #10b981}.new-file{border-left:4px solid #3b82f6}.no-data-message{padding:1.5rem;text-align:center;color:#6b7280;background-color:#f9fafb;border-radius:.5rem;border:2px dashed #d1d5db;margin-top:1rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:2rem;border-top:1px solid #e5e7eb;margin-top:2rem}.spinner{width:50px;height:50px;border:4px solid #e5e7eb;border-top:4px solid #4f46e5;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.form-section{margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid #e5e7eb}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.array-item{background-color:#f9fafb;padding:1.5rem;border-radius:.5rem;margin-bottom:1rem;border:1px solid #e5e7eb}.array-item:last-child{margin-bottom:0}.contacts-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-section{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.contact-section h4{margin-top:0;margin-bottom:15px;color:#333;border-bottom:2px solid #e0e0e0;padding-bottom:8px}.contact-card{background:#f8f9fa;padding:15px;margin-bottom:15px;border-radius:6px;border-left:4px solid #007bff}.contact-field{display:flex;margin-bottom:8px}.contact-field label{font-weight:600;min-width:100px;color:#555}.contact-field span{color:#333}.qualifications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.qualification-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;border-left:4px solid #28a745}.qualification-card h4{margin-top:0;margin-bottom:15px;color:#333}.qualification-details{display:grid;gap:10px}.detail-field{display:flex}.detail-field label{font-weight:600;min-width:120px;color:#555}.detail-field span{color:#333}.document-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.document-card h4{margin-top:0;margin-bottom:15px;color:#333;border-bottom:2px solid #e0e0e0;padding-bottom:8px}.document-info{display:grid;gap:10px}.document-field{display:flex}.document-field label{font-weight:600;min-width:80px;color:#555}.document-field span{color:#333;word-break:break-all}.no-data{color:#666;font-style:italic;text-align:center;padding:20px;background:#f8f9fa;border-radius:6px}.full-width{grid-column:1 / -1}.profile-field{background:#fff;padding:15px;border-radius:6px;box-shadow:0 1px 3px #0000001a}.profile-field label{display:block;font-weight:600;margin-bottom:5px;color:#555;font-size:.9em}.field-value{color:#333;font-size:1em}.profile-header{display:flex;gap:30px;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.profile-photo-section{flex-shrink:0;text-align:center}.profile-photo{width:150px;height:150px;border-radius:50%;overflow:hidden;margin-bottom:10px;border:4px solid #fff;box-shadow:0 4px 12px #00000026;background:linear-gradient(135deg,#667eea,#764ba2)}.profile-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:700;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2)}.change-photo-btn{background:transparent;border:1px solid #ddd;padding:8px 16px;border-radius:4px;font-size:12px;cursor:pointer;color:#666;transition:all .3s}.change-photo-btn:hover{border-color:#000;color:#000}.profile-summary h1{margin:0 0 5px;color:#000;font-size:28px}.employee-id{color:#666;font-size:14px;margin:0 0 10px}.department{font-weight:700;color:#000;margin:5px 0}.position{color:#666;margin:5px 0 15px}.profile-actions{display:flex;gap:10px;margin-top:15px}.btn-primary,.btn-secondary{padding:10px 20px;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s}.btn-primary{background:#000;color:#fff;border:none}.btn-secondary{background:#fff;color:#000;border:1px solid #ddd}.btn-secondary:hover{border-color:#000}.leave-stats-card{background:#f8f9fa;padding:20px;border-radius:8px;min-width:250px;border-left:4px solid #000}.leave-stats-card h3{margin:0 0 15px;color:#000;font-size:16px}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.stat-item{text-align:center}.stat-value{font-size:24px;font-weight:700;margin-bottom:5px}.stat-value.pending{color:#ffc107}.stat-value.approved{color:#28a745}.stat-value.rejected{color:#dc3545}.stat-label{font-size:12px;color:#666}.profile-tabs{display:flex;gap:2px;margin-bottom:30px;background:#f5f5f5;border-radius:6px;overflow:hidden}.tab{flex:1;padding:15px;border:none;background:transparent;cursor:pointer;font-size:14px;font-weight:600;color:#666;transition:all .3s;text-align:center}.tab:hover{background:#e9ecef}.tab.active{background:#000;color:#fff}.profile-section{margin-bottom:30px;padding:20px;background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a}.section-header h3{margin:0;color:#000;font-size:18px}.completion-badge{background:#28a745;color:#fff;padding:5px 10px;border-radius:20px;font-size:12px;font-weight:700}.profile-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.profile-field{margin-bottom:15px}.profile-field.full-width{grid-column:1 / -1}.profile-field label{display:block;font-size:12px;font-weight:700;color:#666;margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}.field-value{padding:10px;background:#f8f9fa;border-radius:4px;font-size:14px;color:#000;min-height:40px;display:flex;align-items:center}.field-value.multiline{white-space:pre-wrap;min-height:80px;align-items:flex-start}.contacts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.contact-card{padding:15px;background:#f8f9fa;border-radius:6px;border-left:4px solid #000}.contact-card h4{margin:0 0 10px;color:#000;font-size:14px}.contact-details div{margin-bottom:8px;font-size:13px}.contact-details strong{color:#000;min-width:100px;display:inline-block}.status-badge{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:700;display:inline-block}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.document-card{border:1px solid #ddd;border-radius:6px;padding:15px;text-align:center;transition:all .3s}.document-card:hover{border-color:#000;transform:translateY(-2px)}.document-icon{font-size:32px;margin-bottom:10px;color:#666}.document-name{font-weight:700;margin-bottom:5px;font-size:13px}.document-actions{display:flex;gap:5px;justify-content:center;margin-top:10px}.document-btn{padding:4px 8px;font-size:11px;border:1px solid #ddd;background:#fff;border-radius:3px;cursor:pointer}.document-btn:hover{border-color:#000}.profile-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #000;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@media(max-width:768px){.profile-header{flex-direction:column;align-items:center;text-align:center}.profile-tabs{overflow-x:auto;flex-wrap:nowrap}.tab{min-width:120px;white-space:nowrap}.profile-info-grid,.contacts-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}.profile-edit-container{max-width:1200px;margin:0 auto;padding:20px}.profile-edit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.profile-edit-form{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 10px #0000001a}.form-section{margin-bottom:40px;padding-bottom:30px;border-bottom:1px solid #eee}.form-section:last-child{border-bottom:none}.form-section h2{color:#000;font-size:20px;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #f0f0f0}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.form-group{margin-bottom:15px}.form-group label{display:block;font-size:12px;font-weight:700;color:#666;margin-bottom:5px;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.checkbox-label{display:flex;align-items:center;gap:10px;font-weight:400;text-transform:none;cursor:pointer}.checkbox-label input{width:auto}.btn-add{padding:8px 16px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn-remove{padding:8px 16px;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;width:100%}.array-item{background:#f9f9f9;padding:20px;border-radius:6px;margin-bottom:15px;border-left:4px solid #ddd}.array-item:hover{border-left-color:#000}.current-file{font-size:12px;color:#666;margin-top:5px;padding:5px;background:#f0f0f0;border-radius:3px}.form-actions{display:flex;gap:15px;justify-content:flex-end;padding-top:30px;border-top:1px solid #eee}.documents-container{max-width:1200px;margin:0 auto;padding:20px}.documents-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.upload-section{background:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:30px}.upload-section h2{margin:0 0 15px;color:#000}.upload-options{display:flex;gap:20px}.upload-btn{padding:15px 25px;background:#fff;border:2px dashed #ddd;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:600;color:#666;transition:all .3s}.upload-btn:hover{border-color:#000;color:#000}.documents-list h2{color:#000;margin-bottom:20px}.no-documents{text-align:center;padding:40px;background:#f8f9fa;border-radius:8px;color:#666}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.document-card{display:flex;align-items:center;gap:15px;padding:20px;background:#fff;border:1px solid #ddd;border-radius:6px;transition:all .3s}.document-card:hover{border-color:#000;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.document-icon{font-size:32px}.document-info{flex:1}.document-name{font-weight:700;margin-bottom:5px;color:#000;font-size:14px;word-break:break-all}.document-meta{display:flex;gap:10px;font-size:11px;color:#666;margin-bottom:5px}.document-title{font-size:12px;color:#666;font-style:italic}.btn-download{padding:8px 16px;background:#000;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;white-space:nowrap}.btn-download:hover{background:#333}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px}.loading-container .spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #000;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.profile-photo-section{display:flex;flex-direction:column;align-items:center;margin-right:30px}.profile-photo-container{text-align:center}.profile-photo{width:150px;height:150px;border-radius:50%;overflow:hidden;margin-bottom:15px;border:4px solid #333;background:#f0f0f0;display:flex;align-items:center;justify-content:center;position:relative}.profile-photo img{width:100%;height:100%;object-fit:cover}.profile-initials{font-size:48px;font-weight:700;color:#333;background:#e0e0e0;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.change-photo-btn{background:#333;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:background .3s}.change-photo-btn:hover{background:#555}.profile-header{display:flex;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #e0e0e0}.profile-summary{flex:1}.profile-summary h1{margin:0 0 5px;color:#333;font-size:28px}.employee-id{color:#666;margin:0 0 10px;font-size:14px}.department,.position{margin:5px 0;color:#333;font-size:16px}.profile-actions{margin-top:20px}.btn-edit-profile{background:#333;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:8px;transition:background .3s}.btn-edit-profile:hover{background:#555}@media(max-width:768px){.form-grid{grid-template-columns:1fr}.upload-options{flex-direction:column}.documents-grid{grid-template-columns:1fr}.document-card{flex-direction:column;text-align:center}}.profile-edit-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1001}.profile-edit-modal .modal-content{background:#fff;border-radius:12px;width:90%;max-width:900px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:1px solid #eaeaea;flex-shrink:0}.close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:#999;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.edit-tabs{display:flex;padding:0 30px;border-bottom:1px solid #eaeaea;overflow-x:auto;flex-shrink:0}.edit-tab{padding:15px 20px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:14px;font-weight:500;color:#666;white-space:nowrap;transition:all .2s}.edit-tab:hover{color:#06c;background:#f8f9fa}.edit-tab.active{color:#06c;border-bottom-color:#06c;font-weight:600}.edit-form-content{flex:1;overflow-y:auto;padding:30px}.edit-section{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-subtitle{margin:20px 0 15px;color:#444;font-size:1.1rem;font-weight:600}.section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;margin-bottom:25px}.form-group.full-width{grid-column:1 / -1}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;font-size:14px;font-weight:500;color:#555}.form-group label:after{content:" *";color:#f44;display:none}.form-group.required label:after{display:inline}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.form-group input[type=date]{min-height:40px}.form-group textarea{resize:vertical;min-height:80px}.checkbox-group{display:flex;align-items:center;gap:10px;padding:10px 0}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-group label{margin:0;cursor:pointer}.array-section{margin-bottom:30px;padding:20px;background:#f9f9f9;border-radius:8px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h3{margin:0;color:#333}.btn-add{background:#28a745;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s}.array-item{background:#fff;border:1px solid #eaeaea;border-radius:6px;padding:20px;margin-bottom:15px}.item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #eee}.item-header h4{margin:0;color:#444;font-size:15px}.btn-remove{background:#f44;color:#fff;border:none;padding:5px 12px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:background .2s}.btn-remove:hover{background:#c00}.empty-state{text-align:center;padding:30px;color:#999;font-style:italic;background:#fff;border:1px dashed #ddd;border-radius:6px}.modal-actions{display:flex;justify-content:flex-end;gap:15px;padding:20px 30px;border-top:1px solid #eaeaea;flex-shrink:0}.btn-cancel,.btn-save{padding:10px 25px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-cancel{background:#f0f0f0;color:#666}.btn-cancel:hover{background:#e0e0e0}.btn-save{background:#06c;color:#fff}.btn-save:hover{background:#0052a3}@media(max-width:768px){.profile-edit-modal .modal-content{width:95%;max-height:90vh}.section-grid{grid-template-columns:1fr}.edit-tabs{padding:0 15px}.edit-tab{padding:12px 15px;font-size:13px}.modal-header,.edit-form-content,.modal-actions{padding:20px}}.edit-form-content::-webkit-scrollbar{width:6px}.edit-form-content::-webkit-scrollbar-track{background:#f1f1f1}.edit-form-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.edit-form-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.document-upload-section{margin:20px 0;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.document-upload-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.document-upload-header h4{margin:0;color:#333;font-size:16px}.upload-btn-container{position:relative}.upload-btn{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s}.upload-btn:hover{background:#0056b3}.upload-btn.disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.file-input-hidden{display:none}.file-info-display{margin-top:10px;padding:10px;background:#fff;border-radius:4px;border:1px solid #dee2e6;font-size:14px}.file-info-display .file-name{font-weight:700;color:#333;margin-bottom:5px}.file-info-display .file-size{color:#6c757d;font-size:12px}.upload-progress{margin-top:10px}.progress-bar{height:6px;background:#e9ecef;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:#28a745;transition:width .3s ease}.progress-text{font-size:12px;color:#6c757d;margin-top:5px;text-align:center}.document-preview{margin-top:15px;padding:15px;background:#fff;border-radius:6px;border:1px solid #dee2e6}.document-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.document-preview-header h5{margin:0;color:#333;font-size:14px}.preview-actions{display:flex;gap:8px}.preview-btn{padding:4px 8px;font-size:12px;border:1px solid #dee2e6;background:#fff;border-radius:3px;cursor:pointer;color:#495057}.preview-btn:hover{border-color:#007bff;color:#007bff}.document-preview-content{display:flex;align-items:center;gap:10px}.preview-icon{font-size:24px;color:#6c757d}.preview-details{flex:1}.preview-details .detail-row{display:flex;margin-bottom:4px;font-size:12px}.preview-details .detail-label{font-weight:700;min-width:60px;color:#495057}.preview-details .detail-value{color:#6c757d;word-break:break-all}.document-actions-toolbar{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.action-btn{padding:6px 12px;font-size:13px;border:1px solid #dee2e6;background:#fff;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:5px;color:#495057;transition:all .2s}.action-btn:hover{background:#f8f9fa;border-color:#adb5bd}.action-btn.primary{background:#007bff;color:#fff;border-color:#007bff}.action-btn.primary:hover{background:#0056b3;border-color:#0056b3}.action-btn.success{background:#28a745;color:#fff;border-color:#28a745}.action-btn.success:hover{background:#218838;border-color:#218838}.action-btn.danger{background:#dc3545;color:#fff;border-color:#dc3545}.action-btn.danger:hover{background:#c82333;border-color:#c82333}.document-status{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.status-uploaded{background:#d4edda;color:#155724}.status-pending{background:#fff3cd;color:#856404}.status-error{background:#f8d7da;color:#721c24}.documents-grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px;margin-top:15px}.document-grid-item{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:15px;transition:all .2s}.document-grid-item:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff1a}.grid-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.grid-item-title{font-weight:700;color:#333;font-size:14px;margin:0}.grid-item-type{font-size:11px;padding:2px 6px;background:#e9ecef;border-radius:3px;color:#495057}.grid-item-body{margin-bottom:10px}.grid-item-meta{font-size:12px;color:#6c757d;margin-bottom:5px}.grid-item-actions{display:flex;gap:8px}.grid-action-btn{padding:4px 8px;font-size:11px;border:1px solid #dee2e6;background:#fff;border-radius:3px;cursor:pointer;color:#495057}.grid-action-btn:hover{border-color:#007bff;color:#007bff}.profile-photo-upload-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.profile-photo-upload-modal .modal-content{background:#fff;border-radius:12px;width:90%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eaeaea}.modal-header h2{margin:0;color:#333;font-size:1.5rem}.close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:#999;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%}.close-btn:hover{background:#f5f5f5;color:#666}.upload-container{display:grid;grid-template-columns:1fr 2fr;gap:30px;padding:20px}@media(max-width:768px){.upload-container{grid-template-columns:1fr}}.current-photo-section h3,.new-photo-section h3{margin-top:0;margin-bottom:15px;color:#444;font-size:1.1rem}.photo-preview{width:150px;height:150px;border-radius:50%;overflow:hidden;background:#f0f0f0;display:flex;align-items:center;justify-content:center;border:3px solid #e0e0e0}.photo-preview img{width:100%;height:100%;object-fit:cover}.no-photo{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.initials{font-size:48px;font-weight:700;color:#666}.upload-area{margin-bottom:20px}.drop-zone{border:2px dashed #ccc;border-radius:8px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .3s ease;background:#fafafa}.drop-zone:hover{border-color:#06c;background:#f0f7ff}.drop-zone.dragover{border-color:#06c;background:#e6f2ff}.upload-icon{font-size:48px;margin-bottom:10px}.drop-zone p{margin:5px 0;color:#666}.drop-zone .hint{font-size:.9rem;color:#999}.file-info{font-size:.8rem;color:#888}.preview-container{text-align:center}.preview-container img{max-width:200px;max-height:200px;border-radius:8px;margin-bottom:15px;box-shadow:0 4px 12px #0000001a}.upload-actions{display:flex;gap:10px;flex-wrap:wrap}.btn-upload,.btn-remove,.btn-cancel,.btn-change{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.btn-upload{background-color:#06c;color:#fff}.btn-upload:hover:not(:disabled){background-color:#0052a3}.btn-upload:disabled{background-color:#ccc;cursor:not-allowed}.btn-remove{background-color:#f44;color:#fff}.btn-remove:hover:not(:disabled){background-color:#c00}.btn-cancel{background-color:#f0f0f0;color:#666}.btn-cancel:hover:not(:disabled){background-color:#e0e0e0}.btn-change{background-color:transparent;color:#06c;border:1px solid #0066cc;margin-top:10px}.btn-change:hover{background-color:#f0f7ff}.leave-balance-manager{padding:24px;background:#f5f7fa;min-height:100vh}.content-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000d;overflow:hidden}.manager-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef;background:#fff}.header-title{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.header-icon{font-size:28px}.manager-header h2{margin:0;font-size:20px;font-weight:600;color:#1a1a2e}.sync-status{font-size:12px;color:#6c757d;background:#f8f9fa;padding:4px 10px;border-radius:20px}.btn-sync{background:#4361ee;color:#fff;border:none;padding:8px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-sync:hover{background:#3049b3;transform:translateY(-1px)}.btn-sync.syncing{opacity:.7;cursor:not-allowed}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;padding:24px;background:#f8f9fa}.summary-card{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 3px #0000001a;transition:transform .2s}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.summary-card.primary .summary-icon{background:#4361ee20;color:#4361ee}.summary-card.annual .summary-icon{background:#ffd70020;color:#ff8c00}.summary-card.sick .summary-icon{background:#f7258520;color:#f72585}.summary-icon{font-size:32px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#f0f0f0}.summary-content{flex:1}.summary-value{font-size:28px;font-weight:700;color:#1a1a2e}.summary-values{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.summary-values .allocated{font-size:24px;font-weight:700;color:#2e7d32}.summary-values .used{font-size:20px;font-weight:600;color:#ed6c02}.summary-values .remaining{font-size:20px;font-weight:600;color:#4361ee}.summary-values .separator{font-size:16px;color:#999}.summary-label{font-size:13px;color:#6c757d;margin-top:8px}.progress-bar{background:#e9ecef;border-radius:10px;height:6px;margin-top:10px;overflow:hidden}.progress-fill{height:100%;border-radius:10px;transition:width .3s ease}.progress-fill.annual{background:linear-gradient(90deg,#ff8c00,gold)}.progress-fill.sick{background:linear-gradient(90deg,#f72585,#ff6b6b)}.filters-section{display:flex;gap:16px;padding:20px 24px;border-bottom:1px solid #e9ecef;flex-wrap:wrap}.search-box{flex:1;min-width:250px;display:flex;align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:0 12px;transition:all .2s}.search-box:focus-within{border-color:#4361ee;box-shadow:0 0 0 2px #4361ee20}.search-icon{color:#adb5bd;font-size:16px}.search-box input{flex:1;border:none;padding:10px 12px;font-size:14px;outline:none}.department-filter{padding:10px 16px;border:1px solid #dee2e6;border-radius:8px;font-size:14px;background:#fff;cursor:pointer;min-width:200px}.table-container{overflow-x:auto;padding:0}.balances-table{width:100%;border-collapse:collapse}.balances-table th{text-align:left;padding:16px;background:#f8f9fa;font-weight:600;font-size:13px;color:#495057;border-bottom:1px solid #e9ecef}.balances-table td{padding:16px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.balances-table tr:hover{background:#f8f9fa}.balances-table tr.editing-row{background:#fff8e1}.employee-cell{display:flex;align-items:center;gap:12px}.employee-avatar{width:40px;height:40px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;flex-shrink:0}.employee-info{display:flex;flex-direction:column;gap:2px}.employee-name{font-weight:600;color:#1a1a2e}.employee-email{font-size:12px;color:#6c757d}.employee-id{font-size:11px;color:#adb5bd}.balance-cell{min-width:140px}.balance-display{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.balance-numbers{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.balance-numbers .allocated{font-weight:700;font-size:16px;color:#2e7d32}.balance-numbers .used{font-size:12px;color:#ed6c02}.balance-numbers .remaining{font-size:12px;color:#4361ee}.balance-value{font-weight:600;font-size:16px;color:#1a1a2e}.used-info{font-size:11px;color:#6c757d}.mini-progress{width:60px;height:4px;background:#e9ecef;border-radius:4px;overflow:hidden}.mini-progress-fill{height:100%;background:#ff8c00;border-radius:4px;transition:width .3s ease}.edit-icon{background:none;border:none;font-size:12px;cursor:pointer;padding:4px;border-radius:4px;opacity:.5;transition:opacity .2s}.edit-icon:hover{opacity:1;background:#e9ecef}.edit-balance input{width:80px;padding:6px 8px;border:1px solid #4361ee;border-radius:6px;font-size:13px}.edit-actions{display:flex;gap:8px;flex-wrap:wrap}.reason-input{padding:6px 10px;border:1px solid #dee2e6;border-radius:6px;font-size:12px;min-width:150px}.save-btn{background:#2e7d32;color:#fff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px}.cancel-btn{background:#dc3545;color:#fff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.status-badge.active{background:#e8f5e9;color:#2e7d32}.status-badge.probation{background:#fff3e0;color:#ed6c02}.action-icons{display:flex;gap:8px}.history-btn{background:none;border:none;font-size:18px;cursor:pointer;padding:4px;border-radius:6px;transition:background .2s}.history-btn:hover{background:#e9ecef}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;width:500px;max-width:90%;max-height:80vh;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e9ecef}.modal-header h3{margin:0;font-size:18px}.modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:#6c757d}.modal-body{padding:20px;overflow-y:auto;max-height:60vh}.history-list{display:flex;flex-direction:column;gap:16px}.history-entry{padding:12px;background:#f8f9fa;border-radius:8px;border-left:3px solid #4361ee}.history-date{font-size:11px;color:#6c757d;margin-bottom:6px}.history-change{display:flex;align-items:center;gap:8px;margin-bottom:8px}.history-change .old{color:#dc3545;text-decoration:line-through;font-size:14px}.history-change .new{color:#2e7d32;font-weight:600;font-size:16px}.history-change .arrow{color:#6c757d}.history-type{display:flex;gap:8px;margin-bottom:8px}.type-badge{background:#e9ecef;padding:2px 8px;border-radius:4px;font-size:10px;text-transform:uppercase}.leave-type-badge{background:#4361ee20;color:#4361ee;padding:2px 8px;border-radius:4px;font-size:10px}.history-reason{font-size:12px;color:#495057;margin-bottom:4px}.history-by{font-size:10px;color:#adb5bd}.empty-history{text-align:center;padding:40px;color:#6c757d}.empty-state{text-align:center;padding:60px;color:#6c757d}.empty-state span{font-size:48px;display:block;margin-bottom:16px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid #e9ecef;border-top-color:#4361ee;border-radius:50%;animation:spin .8s linear infinite}.no-data{text-align:center;padding:60px;color:#6c757d}@media(max-width:768px){.leave-balance-manager{padding:16px}.summary-cards{grid-template-columns:1fr}.filters-section{flex-direction:column}.balances-table th,.balances-table td{padding:12px}.employee-cell{flex-direction:column;align-items:flex-start}}.offer-modal{max-width:700px!important;max-height:90vh;overflow-y:auto}.applicant-summary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:8px;margin-bottom:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.summary-item{display:flex;flex-direction:column}.summary-item label{font-size:12px;opacity:.8;margin-bottom:4px}.summary-item span{font-size:16px;font-weight:600}.form-section{background:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:20px}.form-section h4{margin-top:0;margin-bottom:20px;color:#333;font-size:16px;border-bottom:1px solid #dee2e6;padding-bottom:10px}.form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px}.benefit-row{display:flex;gap:10px;margin-bottom:10px;align-items:center}.benefit-row .form-control{flex:1}.btn-remove{background:#dc3545;color:#fff;border:none;width:36px;height:36px;border-radius:6px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-remove:hover:not(:disabled){background:#c82333}.btn-remove:disabled{background:#6c757d;cursor:not-allowed;opacity:.5}.btn-add{background:#28a745;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;margin-top:10px;transition:all .2s}.btn-add:hover{background:#218838}@media(max-width:768px){.applicant-summary,.form-row{grid-template-columns:1fr}}.onboarding-container{background:#fff;border-radius:24px;padding:28px;box-shadow:0 10px 30px #00000014;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;border:1px solid #e9ecef;margin:20px 0}.onboarding-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid #eef2f6}.header-left h2{font-size:1.8rem!important;font-weight:700!important;color:#1e293b!important;margin:0 0 8px!important;display:flex;align-items:center;gap:10px}.header-icon{font-size:2.2rem;background:linear-gradient(135deg,#8b5cf6,#6d28d9);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.applicant-name{color:#475569!important;font-size:1.1rem!important;font-weight:500;margin:0}.header-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.status-badge{padding:8px 18px!important;border-radius:30px!important;font-weight:600!important;font-size:.95rem!important;display:flex!important;align-items:center!important;gap:8px!important;box-shadow:0 2px 8px #0000000d;color:#1e293b!important}.status-icon{font-size:1.2rem}.progress-indicator{width:220px}.progress-text{font-size:.85rem;color:#64748b;margin-bottom:6px;text-align:right;font-weight:500}.progress-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#c084fc);border-radius:4px;transition:width .4s ease}.progress-tracker{display:flex;justify-content:space-between;margin-bottom:32px;padding:20px 16px;background:#f8fafc;border-radius:60px;position:relative;border:1px solid #e2e8f0}.progress-step{flex:1;text-align:center;position:relative;z-index:1}.progress-step:not(:last-child):after{content:"";position:absolute;top:24px;right:-50%;width:100%;height:3px;background:#e2e8f0;z-index:-1}.progress-step.completed:not(:last-child):after{background:linear-gradient(90deg,#10b981,#10b981)}.step-icon{width:52px;height:52px;background:#fff;border:2px solid #e2e8f0;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-size:1.4rem;transition:all .3s ease;box-shadow:0 2px 4px #00000005}.progress-step.completed .step-icon{background:#10b981;border-color:#10b981;color:#fff}.progress-step.active .step-icon{border-color:#8b5cf6;box-shadow:0 0 0 4px #8b5cf626;transform:scale(1.05)}.step-label{font-size:.85rem!important;font-weight:600!important;color:#475569!important;text-transform:uppercase;letter-spacing:.3px}.progress-step.completed .step-label{color:#10b981!important}.step-status{font-size:.7rem;color:#10b981;margin-top:4px;font-weight:500;text-transform:uppercase}.onboarding-tabs{display:flex;gap:6px;margin-bottom:28px;border-bottom:2px solid #e2e8f0;padding-bottom:10px;overflow-x:auto}.tab{padding:12px 22px;background:transparent;border:none;border-radius:8px 8px 0 0;cursor:pointer;font-weight:600!important;color:#64748b!important;transition:all .2s ease;white-space:nowrap;font-size:.95rem;border:1px solid transparent;border-bottom:none}.tab:hover{background:#f1f5f9;color:#1e293b!important;border-color:#e2e8f0;border-bottom-color:transparent}.tab.active{background:#8b5cf6;color:#fff!important;border-color:#8b5cf6;border-bottom-color:#8b5cf6;box-shadow:0 -2px 8px #8b5cf61a}.tab-content{min-height:550px;padding:20px 0}.tab-content h3{color:#1e293b!important;font-size:1.5rem!important;font-weight:700!important;margin:0 0 16px!important;border-bottom:3px solid #8b5cf6;padding-bottom:12px;display:inline-block}.tab-content h4{color:#2c3e50!important;font-size:1.2rem!important;font-weight:600!important;margin:0 0 16px!important}.section-description{color:#475569!important;font-size:1rem;margin-bottom:24px;background:#f8fafc;padding:16px 20px;border-radius:12px;border-left:4px solid #8b5cf6}.offer-form-container{max-width:700px;margin:0 auto;padding:30px;background:#f8fafc;border-radius:20px;border:1px solid #e2e8f0}.offer-form-container h3{margin:0 0 12px!important;color:#1e293b!important;font-size:1.6rem!important;border-bottom:none;padding-bottom:0}.form-description{color:#475569!important;margin-bottom:28px;font-size:1rem;line-height:1.5}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;font-weight:600!important;color:#1e293b!important;font-size:.95rem;letter-spacing:.3px}.form-group input[type=text],.form-group input[type=email],.form-group input[type=date],.form-group select,.form-group textarea{width:100%;padding:14px 16px;border:1.5px solid #cbd5e1;border-radius:10px;font-size:.95rem;transition:all .2s ease;background:#fff;color:#1e293b!important}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 4px #8b5cf61a}.form-group small{display:block;margin-top:6px;color:#64748b;font-size:.8rem}.file-upload-area{position:relative}.file-upload-area input[type=file]{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.file-upload-label{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px;background:#fff;border:2px dashed #cbd5e1;border-radius:12px;cursor:pointer;transition:all .2s ease;color:#475569!important;font-weight:500}.file-upload-label:hover{border-color:#8b5cf6;background:#f5f3ff;color:#8b5cf6!important}.upload-icon{font-size:1.4rem}.btn-send-offer{width:100%;padding:16px;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff!important;border:none;border-radius:12px;font-weight:700;font-size:1.1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px}.btn-send-offer:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 20px #8b5cf64d}.btn-send-offer:disabled{opacity:.5;cursor:not-allowed}.offer-status-container{max-width:800px;margin:0 auto}.status-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:28px;box-shadow:0 4px 12px #0000000d}.status-header{display:flex;align-items:center;gap:20px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.status-icon-large{font-size:3.5rem}.status-title h4{margin:0 0 6px!important;font-size:1.4rem!important;color:#1e293b!important}.status-title p{margin:0;color:#64748b;font-size:.95rem}.status-details{margin-bottom:28px}.detail-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f1f5f9}.detail-row span:last-child{color:#1e293b!important;font-weight:600}.detail-row.success span:last-child{color:#10b981!important}.detail-row.error span:last-child{color:#ef4444!important}.document-link{color:#8b5cf6!important;text-decoration:none;display:inline-flex;align-items:center;gap:6px;font-weight:600}.document-link:hover{text-decoration:underline}.expired{color:#ef4444!important}.notification-summary{background:#f8fafc;border-radius:16px;padding:20px;margin-top:20px}.notification-summary h5{margin:0 0 14px!important;color:#1e293b!important;font-size:1.1rem}.notification-icons{display:flex;gap:16px;margin-bottom:12px}.notification-icon{font-size:1.8rem;background:#fff;padding:10px;border-radius:50%;box-shadow:0 4px 8px #0000000d}.notification-text{margin:10px 0 0;color:#475569!important;font-size:.9rem;line-height:1.5}.checks-tab{padding:0 10px}.checks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin:24px 0}.check-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:24px;transition:all .2s ease;box-shadow:0 2px 8px #00000005}.check-card:hover{box-shadow:0 8px 20px #0000000f;border-color:#8b5cf6;transform:translateY(-2px)}.check-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.check-icon{font-size:2rem}.check-header h4{margin:0!important;color:#1e293b!important;font-size:1.2rem!important;font-weight:700!important}.check-status{margin-bottom:20px}.completed-badge{background:#d1fae5;color:#065f46!important;padding:6px 14px;border-radius:30px;font-size:.9rem;font-weight:600;display:inline-block}.pending-badge{background:#fef3c7;color:#92400e!important;padding:6px 14px;border-radius:30px;font-size:.9rem;font-weight:600;display:inline-block}.check-actions{display:flex;gap:10px;margin-bottom:16px}.btn-complete{flex:1;padding:10px;background:#8b5cf6;color:#fff!important;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-complete:hover{background:#7c3aed;transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf633}.btn-upload{padding:10px 14px;background:#fff;color:#475569!important;border:1.5px solid #cbd5e1;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-upload:hover{background:#f8fafc;border-color:#8b5cf6;color:#8b5cf6!important}.check-details{margin-top:16px;padding-top:16px;border-top:1px dashed #e2e8f0}.check-details small{display:block;color:#64748b!important;font-size:.85rem;margin-bottom:6px}.section-complete{display:flex;align-items:center;gap:20px;background:#d1fae5;border:1px solid #a7f3d0;border-radius:16px;padding:20px 28px;margin-top:32px}.complete-icon{font-size:2.5rem}.section-complete h4{margin:0 0 6px!important;color:#065f46!important;font-size:1.2rem!important}.section-complete p{margin:0;color:#047857!important}.btn-next{margin-left:auto;padding:12px 24px;background:#10b981;color:#fff!important;border:none;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.btn-next:hover{background:#059669;transform:translate(4px);box-shadow:0 4px 12px #10b98133}.assets-tab{padding:0 10px}.asset-form{background:#f8fafc;padding:28px;border-radius:20px;margin-bottom:36px;border:1px solid #e2e8f0}.asset-form h4{margin:0 0 20px!important;color:#1e293b!important;font-size:1.3rem!important}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.btn-add-asset{width:100%;padding:16px;background:linear-gradient(135deg,#10b981,#059669);color:#fff!important;border:none;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s;margin-top:12px;display:flex;align-items:center;justify-content:center;gap:10px}.btn-add-asset:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 20px #10b9814d}.btn-add-asset:disabled{opacity:.5;cursor:not-allowed}.assets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}.asset-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:20px;transition:all .2s}.asset-card:hover{border-color:#8b5cf6;box-shadow:0 8px 20px #8b5cf61a;transform:translateY(-2px)}.asset-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.asset-icon{font-size:2.2rem}.asset-condition{padding:6px 12px;background:#f1f5f9;border-radius:30px;font-size:.8rem;font-weight:600;color:#475569!important;text-transform:capitalize}.asset-body h5{margin:0 0 12px;color:#1e293b!important;font-size:1.1rem;font-weight:700}.asset-body p{margin:6px 0;color:#475569!important;font-size:.9rem}.asset-sn{font-family:Courier New,monospace;background:#f1f5f9;padding:4px 8px;border-radius:6px;display:inline-block;font-weight:600;color:#334155!important}.asset-document{display:block;margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0;color:#8b5cf6!important;text-decoration:none;font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:6px}.asset-document:hover{text-decoration:underline}.it-form{max-width:700px;background:#f8fafc;padding:30px;border-radius:20px;border:1px solid #e2e8f0;margin:0 auto}.checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;color:#1e293b!important;font-weight:500}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#8b5cf6}select[multiple]{height:auto;min-height:140px;padding:12px;background:#fff;color:#1e293b!important}select[multiple] option{padding:10px;margin:2px 0;border-radius:4px}select[multiple] option:checked{background:#8b5cf6 linear-gradient(0deg,#8b5cf6,#8b5cf6);color:#fff!important}.it-setup-info{background:#fef3c7;border-left:4px solid #f59e0b;padding:20px;border-radius:12px;margin:24px 0}.it-setup-info h5{margin:0 0 10px!important;color:#92400e!important;font-size:1.1rem;font-weight:700}.it-setup-info p{margin:0;color:#92400e!important;font-size:.95rem;line-height:1.6}.btn-complete-it{width:100%;padding:16px;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff!important;border:none;border-radius:12px;font-weight:700;font-size:1.1rem;cursor:pointer;transition:all .3s;margin-top:20px}.btn-complete-it:hover{transform:translateY(-3px);box-shadow:0 8px 20px #8b5cf64d}.it-complete{text-align:center;padding:50px 30px;background:#f8fafc;border-radius:20px;border:1px solid #e2e8f0}.success-icon{font-size:5rem;margin-bottom:20px;display:inline-block;animation:bounce 1s ease}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.it-complete h4{color:#1e293b!important;margin:0 0 10px!important;font-size:1.8rem!important}.it-complete p{color:#475569!important;margin:8px 0;font-size:1.1rem}.reminder-card{background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;padding:24px;margin:30px auto 0;max-width:450px;display:flex;align-items:flex-start;gap:20px;text-align:left}.reminder-icon{font-size:3rem}.reminder-card strong{color:#1e40af!important;display:block;margin-bottom:6px;font-size:1.2rem}.reminder-card p{color:#1e3a8a!important;margin:6px 0}.reminder-card small{color:#64748b;display:block;margin-top:10px;font-size:.85rem}.notification-preview{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;margin-top:30px;text-align:left}.notification-preview h5{margin:0 0 16px!important;color:#1e293b!important;font-size:1.2rem;font-weight:700}.notification-preview ul{margin:0;padding-left:24px;color:#475569!important}.notification-preview li{margin:10px 0;font-size:.95rem}.probation-tab{padding:0 10px}.probation-timeline{margin:30px 0;padding-left:30px}.timeline-item{display:flex;gap:24px;border-left:3px solid #e2e8f0;margin-left:20px;padding:24px 0 24px 35px;position:relative}.timeline-item:last-child{border-left-color:transparent}.timeline-marker{position:absolute;left:-18px;background:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;border:3px solid #e2e8f0;box-shadow:0 4px 8px #0000000d}.timeline-item.completed .timeline-marker{background:#10b981;border-color:#10b981;color:#fff}.timeline-item.sent .timeline-marker{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.timeline-item.future .timeline-marker{background:#f1f5f9;border-color:#cbd5e1;color:#64748b}.timeline-content{flex:1}.timeline-content h4{margin:0 0 8px!important;color:#1e293b!important;font-size:1.2rem!important;font-weight:700!important}.timeline-content p{margin:4px 0;color:#475569!important;font-size:.95rem}.timeline-note{font-size:.85rem!important;color:#8b5cf6!important;margin-top:6px!important;font-weight:500}.review-details{margin-top:12px;padding:12px 16px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.review-details p{margin:6px 0}.upcoming-reminder{background:#fef3c7;border:1px solid #fde68a;border-radius:16px;padding:24px;margin-top:30px}.upcoming-reminder h4{margin:0 0 16px!important;color:#92400e!important;font-size:1.3rem!important}.reminder-alert{display:flex;align-items:center;gap:20px}.alert-icon{font-size:2.5rem}.reminder-alert strong{color:#92400e!important;display:block;margin-bottom:6px;font-size:1.1rem}.reminder-alert p{color:#92400e!important;margin:0;font-size:1.2rem;font-weight:700}.reminder-alert small{color:#b45309;display:block;margin-top:8px;font-size:.9rem}.onboarding-container .table{width:100%;border-collapse:collapse;font-size:.95rem;margin-top:16px;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000000d}.onboarding-container .table thead tr{background:linear-gradient(135deg,#667eea,#764ba2)!important}.onboarding-container .table th{color:#fff!important;font-weight:600!important;font-size:.9rem!important;text-transform:uppercase!important;letter-spacing:.5px!important;padding:16px 14px!important;border-bottom:none!important;background:transparent!important}.onboarding-container .table tbody tr{background:#fff;transition:background-color .2s ease}.onboarding-container .table tbody tr:nth-child(2n){background-color:#f8fafc}.onboarding-container .table tbody tr:hover{background-color:#f1f5f9;cursor:pointer}.onboarding-container .table td{color:#334155!important;padding:16px 14px;border-bottom:1px solid #e2e8f0}.onboarding-container .table td .badge{padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600;display:inline-block}.onboarding-container .table td .badge-success{background:#d1fae5;color:#065f46!important}.onboarding-container .table td .badge-warning{background:#fef3c7;color:#92400e!important}.onboarding-container .table td .badge-info{background:#dbeafe;color:#1e40af!important}.onboarding-container .table td .btn-onboarding{background:#8b5cf6;color:#fff!important;border:none;padding:8px 16px;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.onboarding-container .table td .btn-onboarding:hover{background:#7c3aed;transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf64d}.onboarding-container .table td .btn-onboarding span{color:#fff!important}.btn-primary{padding:14px 28px;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff!important;border:none;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #8b5cf64d}.btn-secondary{padding:12px 24px;background:#f1f5f9;color:#1e293b!important;border:1px solid #cbd5e1;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#e2e8f0;border-color:#94a3b8}.empty-state{text-align:center;padding:60px 30px;background:#f8fafc;border-radius:20px;border:2px dashed #e2e8f0}.empty-state .empty-icon{font-size:4rem;margin-bottom:20px;opacity:.7}.empty-state h3{color:#1e293b!important;margin:0 0 10px!important;font-size:1.5rem!important;border-bottom:none}.empty-state p{color:#64748b!important;margin:0;font-size:1.1rem}.onboarding-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px;background:#fff;border-radius:20px}.spinner{width:60px;height:60px;border:5px solid #f3f3f3;border-top:5px solid #8b5cf6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.onboarding-error{text-align:center;padding:60px;background:#fff;border-radius:20px;border:1px solid #fee2e2}.error-icon{font-size:4rem;margin-bottom:20px}.onboarding-error h3{color:#991b1b!important;margin:0 0 20px!important}.onboarding-list-header{margin-bottom:24px}.onboarding-list-header p{color:#2c3e50!important;font-size:1.1rem;background:#f8fafc;padding:18px 24px;border-radius:12px;border-left:5px solid #8b5cf6;font-weight:500;margin:0;box-shadow:0 2px 8px #00000005}@media(max-width:1024px){.stats-grid,.checks-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.onboarding-header{flex-direction:column;gap:20px}.header-right{width:100%;align-items:flex-start}.progress-indicator{width:100%}.progress-tracker{flex-wrap:wrap;gap:20px;border-radius:20px;padding:20px}.progress-step{flex:0 0 calc(50% - 10px)}.progress-step:not(:last-child):after{display:none}.form-row,.checks-grid,.assets-grid{grid-template-columns:1fr}.timeline-item{flex-direction:column;padding-left:25px}.reminder-alert,.section-complete{flex-direction:column;text-align:center}.btn-next{margin-left:0}.onboarding-container .table{display:block;overflow-x:auto;white-space:nowrap}}@media(max-width:480px){.onboarding-container{padding:16px}.progress-step{flex:0 0 100%}.check-actions{flex-direction:column}.btn-complete,.btn-upload{width:100%}.status-header{flex-direction:column;text-align:center}}.ceo-dashboard-container{max-width:1400px;margin:0 auto;padding:20px}.ceo-dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px}.spinner-ring:nth-child(1){border-top-color:#8b5cf6;animation-delay:-.45s}.ceo-dashboard-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#1e1b4b,#312e81);border-radius:24px;color:#fff}.header-content{display:flex;align-items:center;gap:15px}.header-icon{width:60px;height:60px;background:#fff3;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:32px}.header-text h1{font-size:1.8rem;margin:0 0 5px}.header-text p{margin:0;opacity:.8;font-size:.9rem}.header-actions{display:flex;gap:12px}.btn-export-modern,.btn-refresh-modern{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:12px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.btn-export-modern:hover,.btn-refresh-modern:hover{background:#ffffff40;transform:translateY(-2px)}.stats-grid-modern{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card-modern{background:#fff;border-radius:20px;padding:20px;display:flex;align-items:center;gap:15px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:transform .2s ease,box-shadow .2s ease}.stat-card-modern:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.stat-icon{width:55px;height:55px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px}.stat-info h3{font-size:1.8rem;margin:0;color:#1f2937}.stat-info p{margin:0;color:#6b7280;font-size:.85rem}.department-section{margin-bottom:30px}.section-header{margin-bottom:20px}.section-header h2{margin:0 0 5px;color:#1f2937}.section-header p{margin:0;color:#6b7280;font-size:.85rem}.department-grid-modern{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.dept-card-modern{background:#fff;border-radius:16px;padding:16px;border:1px solid #e5e7eb;transition:all .2s ease}.dept-card-modern:hover{border-color:#8b5cf6;box-shadow:0 4px 12px #8b5cf61a}.dept-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.dept-icon{font-size:20px}.dept-header h4{margin:0;font-size:1rem;color:#1f2937}.stat-value{font-size:1.3rem;font-weight:700;color:#1f2937}.stat-label{font-size:.7rem;color:#6b7280}.progress-bar-modern{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.progress-fill-modern{height:100%;background:linear-gradient(90deg,#8b5cf6,#c084fc);border-radius:3px;transition:width .3s ease}.filters-section{background:#fff;border-radius:20px;padding:20px;margin-bottom:30px;box-shadow:0 1px 3px #0000001a}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.filters-header h2{margin:0;font-size:1.3rem;color:#1f2937}.mobile-filter-toggle{display:none;align-items:center;gap:8px;padding:10px 16px;background:#f3f4f6;border:none;border-radius:12px;cursor:pointer;font-size:14px;color:#374151}.filters-bar-modern{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.filter-select-modern{flex:1;min-width:150px;padding:12px 16px;border:1px solid #e5e7eb;border-radius:12px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .2s}.filter-select-modern:focus{outline:none;border-color:#8b5cf6}.btn-apply-modern{padding:12px 24px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:12px;color:#fff;font-weight:600;cursor:pointer;transition:transform .2s}.btn-apply-modern:hover{transform:translateY(-2px)}.reviews-table-container-modern{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.reviews-table-modern{width:100%;border-collapse:collapse}.reviews-table-modern thead th{padding:16px;text-align:left;background:#f9fafb;color:#4b5563;font-weight:600;font-size:.85rem;border-bottom:1px solid #e5e7eb}.review-row td{padding:16px;border-bottom:1px solid #f3f4f6;vertical-align:middle}.review-row:hover{background:#f9fafb}.employee-info-modern{display:flex;align-items:center;gap:12px}.employee-avatar{width:36px;height:36px;background:linear-gradient(135deg,#8b5cf6,#c084fc);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600}.employee-name{font-weight:600;color:#1f2937}.employee-email{font-size:.75rem;color:#6b7280}.department-badge{background:#f3f4f6;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:500;color:#4b5563}.documents-badge-modern{display:inline-flex;align-items:center;gap:6px;background:#e0e7ff;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:500;color:#4338ca}.no-docs-modern{font-size:.75rem;color:#9ca3af}.btn-view-details-modern{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#f3f4f6;border:none;border-radius:10px;color:#4b5563;font-size:.8rem;cursor:pointer;transition:all .2s}.btn-view-details-modern:hover{background:#8b5cf6;color:#fff}.review-card-modern{background:#fff;border-radius:16px;padding:16px;margin-bottom:16px;border:1px solid #e5e7eb;transition:all .2s}.review-card-modern:hover{border-color:#8b5cf6;box-shadow:0 4px 12px #0000001a}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f3f4f6}.detail-label{font-size:.8rem;color:#6b7280}.detail-value{font-weight:500;color:#1f2937}.card-actions{display:flex;gap:10px}.modal-overlay-modern{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.modal-content-modern{background:#fff;border-radius:24px;width:100%;max-width:700px;max-height:90vh;overflow:auto}.modal-header-modern{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb;background:#f9fafb;border-radius:24px 24px 0 0}.modal-title{display:flex;align-items:center;gap:10px}.modal-title h3{margin:0;color:#1f2937}.modal-close-modern{width:32px;height:32px;border-radius:10px;border:none;background:#f3f4f6;font-size:24px;cursor:pointer;color:#6b7280;transition:all .2s}.modal-close-modern:hover{background:#fee2e2;color:#dc2626}.modal-body-modern{padding:20px}.review-info-grid-modern{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.info-card-modern{background:#f9fafb;border-radius:16px;padding:16px}.info-card-modern h4{margin:0 0 12px;font-size:1rem;color:#1f2937}.info-row{display:flex;justify-content:space-between;padding:6px 0}.info-label{font-size:.8rem;color:#6b7280}.info-value{font-weight:500;color:#1f2937}.documents-section-modern{margin-bottom:24px}.documents-section-modern h4{margin:0 0 12px;color:#1f2937}.documents-list-modern{display:flex;flex-direction:column;gap:12px}.document-item-modern{background:#f9fafb;border-radius:12px;padding:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.document-info-modern{display:flex;align-items:center;gap:12px}.document-name{font-weight:500;color:#1f2937}.document-meta{display:flex;gap:12px;font-size:.7rem;color:#6b7280}.document-actions-modern{display:flex;gap:8px}.btn-document-modern{padding:6px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:.75rem;transition:all .2s}.btn-document-modern:hover{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.audit-info-modern{background:#f9fafb;border-radius:16px;padding:16px}.audit-info-modern h4{margin:0 0 12px;color:#1f2937}.audit-row{display:flex;justify-content:space-between;padding:6px 0;font-size:.8rem}.modal-footer-modern{padding:16px 20px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end}.btn-secondary-modern{padding:10px 24px;background:#f3f4f6;border:none;border-radius:12px;cursor:pointer;font-weight:500;transition:all .2s}.btn-secondary-modern:hover{background:#e5e7eb}.empty-state-modern{text-align:center;padding:60px 20px;background:#fff;border-radius:20px}.empty-icon{font-size:64px;margin-bottom:20px}@media(max-width:1024px){.stats-grid-modern,.department-grid-modern{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.ceo-dashboard-container{padding:12px}.ceo-dashboard-header{flex-direction:column;text-align:center;padding:20px}.header-content{flex-direction:column;text-align:center}.header-text h1{font-size:1.3rem}.stats-grid-modern{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card-modern{padding:14px}.stat-icon{width:45px;height:45px;font-size:22px}.stat-info h3{font-size:1.4rem}.department-grid-modern{grid-template-columns:1fr}.filters-header{flex-direction:column;gap:12px;align-items:flex-start}.mobile-filter-toggle{display:flex}.filters-bar-modern{display:none;flex-direction:column}.filters-bar-modern.mobile-open{display:flex}.filter-select-modern,.btn-apply-modern{width:100%}.desktop-table{display:none}.mobile-cards{display:block}.review-info-grid-modern{grid-template-columns:1fr;gap:12px}.document-item-modern{flex-direction:column;align-items:flex-start}.document-actions-modern{width:100%;justify-content:flex-start}.modal-content-modern{max-width:95%;margin:0 auto}}.loading-overlay{position:relative;opacity:.6;pointer-events:none}.loading-overlay:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:10}.loading-spinner{text-align:center;padding:2rem;color:#4a5568;font-size:1rem}.loading-spinner:before{content:"";display:inline-block;width:20px;height:20px;margin-right:8px;border:2px solid #e2e8f0;border-top-color:#4299e1;border-radius:50%;animation:spin .6s linear infinite}.loading-document{display:flex;align-items:center;justify-content:center;min-height:400px;background:#f7fafc}button:disabled{opacity:.6;cursor:not-allowed}.filter-select:disabled{background-color:#f7fafc;cursor:not-allowed}.btn-refresh:disabled{opacity:.7;cursor:wait}.document-modal{max-width:1000px;width:90%}.document-info-header{background:var(--gray-50);padding:12px 16px;border-radius:var(--radius-md);margin-bottom:16px}.document-info-header p{margin:4px 0;font-size:.8rem}.document-preview-container{min-height:400px;background:var(--gray-50);border-radius:var(--radius-md);overflow:hidden}.word-preview-placeholder{text-align:center;padding:60px 20px;background:var(--gray-50)}.preview-note{font-size:.8rem;color:var(--gray-600);margin-top:8px}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;padding:10px 20px;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf64d}.btn-secondary{background:var(--gray-100);color:var(--gray-700);padding:10px 20px;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all .2s}.btn-secondary:hover{background:var(--gray-200)}.loading-document{display:flex;align-items:center;justify-content:center;min-height:400px;background:var(--gray-50)}.dept-stats{display:flex;gap:20px;margin-bottom:12px}.dept-stat{display:flex;flex-direction:column}.dept-stat .stat-value{font-size:1.3rem;font-weight:700;color:var(--gray-800)}.dept-stat .stat-label{font-size:.7rem;color:var(--gray-600)}@media(max-width:480px){.stats-grid-modern{grid-template-columns:1fr}.header-actions{flex-direction:column;width:100%}.btn-export-modern,.btn-refresh-modern{justify-content:center}.info-row{flex-direction:column;gap:4px}}:root{--primary: #8b5cf6;--primary-dark: #7c3aed;--primary-light: #a78bfa;--secondary: #14b8a6;--secondary-dark: #0f766e;--warning: #f59e0b;--danger: #ef4444;--success: #10b981;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px}.performance-review-container{max-width:1400px;margin:0 auto;padding:20px}.performance-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px}.loading-spinner-modern{position:relative;width:60px;height:60px;margin-bottom:20px}.spinner-ring{position:absolute;width:100%;height:100%;border:3px solid transparent;border-radius:50%;animation:spin 1.2s cubic-bezier(.5,0,.5,1) infinite}.spinner-ring:nth-child(1){border-top-color:var(--primary);animation-delay:-.45s}.spinner-ring:nth-child(2){border-right-color:#ec4899;animation-delay:-.3s}.spinner-ring:nth-child(3){border-bottom-color:#06b6d4;animation-delay:-.15s}.review-header{background:linear-gradient(135deg,#1e1b4b,#312e81);border-radius:var(--radius-2xl);padding:24px 32px;margin-bottom:30px;color:#fff;position:relative;overflow:hidden}.review-header:before{content:"";position:absolute;top:-30%;right:-10%;width:400px;height:400px;background:#ffffff0d;border-radius:50%}.review-header h2{margin:0 0 8px;font-size:1.8rem;position:relative;z-index:1}.review-header p{margin:0;opacity:.9;position:relative;z-index:1}.hr-review-header{background:linear-gradient(135deg,#7c3aed,#8b5cf6,#a78bfa)}.manager-review-header{background:linear-gradient(135deg,#1e3a5f,#2c4f7a)}.employee-review-header{background:linear-gradient(135deg,#0f766e,#14b8a6)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;border-radius:var(--radius-xl);padding:20px;display:flex;align-items:center;gap:15px;box-shadow:var(--shadow-md);transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(139,92,246,.05),transparent);opacity:0;transition:opacity .3s}.stat-card:hover:before{opacity:1}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.stat-icon{width:55px;height:55px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:28px}.stat-icon.total{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.stat-icon.pending{background:linear-gradient(135deg,#fef3c7,#fde68a)}.stat-icon.completed{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.stat-icon.rate{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.stat-icon.reviews{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.stat-icon.employees{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.stat-info h3{font-size:1.8rem;margin:0;color:var(--gray-800)}.stat-info p{margin:0;color:var(--gray-600);font-size:.85rem}.stat-trend{font-size:.7rem;color:var(--success);margin-top:4px}.filters-section{background:#fff;border-radius:var(--radius-xl);padding:20px;margin-bottom:30px;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.filters-header h2{margin:0;font-size:1.2rem;color:var(--gray-800);display:flex;align-items:center;gap:8px}.mobile-filter-toggle{display:none;align-items:center;gap:8px;padding:10px 16px;background:var(--gray-100);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:14px;color:var(--gray-700);transition:all .2s}.mobile-filter-toggle:hover{background:var(--gray-200)}.filters-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.filter-select{flex:1;min-width:150px;padding:12px 16px;border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:14px;background:#fff;cursor:pointer;transition:all .2s}.filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #8b5cf61a}.btn-refresh,.btn-export{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:var(--gray-100);border:none;border-radius:var(--radius-md);color:var(--gray-700);font-weight:500;cursor:pointer;transition:all .2s}.btn-refresh:hover,.btn-export:hover{background:var(--gray-200);transform:translateY(-1px)}.btn-apply{padding:12px 24px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));border:none;border-radius:var(--radius-md);color:#fff;font-weight:600;cursor:pointer;transition:all .2s}.btn-apply:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf64d}.department-breakdown{margin-bottom:30px}.department-breakdown h3{margin:0 0 16px;color:var(--gray-800);font-size:1.2rem}.dept-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.dept-stat-card{background:#fff;border-radius:var(--radius-lg);padding:16px;border:1px solid var(--gray-200);transition:all .2s ease}.dept-stat-card:hover{border-color:var(--primary);box-shadow:0 4px 12px #8b5cf61a}.dept-name{font-weight:600;color:var(--gray-800);margin-bottom:12px;display:flex;align-items:center;gap:8px}.dept-metrics{display:flex;justify-content:space-between;margin-bottom:12px;font-size:.8rem}.dept-completion{color:var(--success);font-weight:500}.dept-rating{color:var(--warning)}.progress-bar{height:6px;background:var(--gray-200);border-radius:3px;overflow:hidden;margin:12px 0}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-light));border-radius:3px;transition:width .3s ease}.dept-counts{font-size:.7rem;color:var(--gray-600)}.reviews-table-container{background:#fff;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.desktop-table{overflow-x:auto}.reviews-table{width:100%;border-collapse:collapse}.reviews-table thead th{padding:16px;text-align:left;background:var(--gray-50);color:var(--gray-600);font-weight:600;font-size:.8rem;border-bottom:1px solid var(--gray-200)}.review-row td{padding:16px;border-bottom:1px solid var(--gray-100);vertical-align:middle}.review-row:hover{background:var(--gray-50)}.employee-info{display:flex;align-items:center;gap:12px}.employee-avatar{width:36px;height:36px;background:linear-gradient(135deg,var(--primary),var(--primary-light));border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px}.employee-details{display:flex;flex-direction:column}.employee-name{font-weight:600;color:var(--gray-800)}.employee-email{font-size:.7rem;color:var(--gray-600)}.department-badge{background:var(--gray-100);padding:4px 12px;border-radius:20px;font-size:.7rem;font-weight:500;color:var(--gray-600);display:inline-block}.rating-display{display:flex;align-items:center;gap:4px;color:var(--warning);font-size:.8rem}.rating-number{color:var(--gray-600);font-size:.7rem}.not-rated{color:var(--gray-400);font-size:.7rem}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:20px;font-size:.7rem;font-weight:500}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fef3c7;color:#92400e}.badge-info{background:#dbeafe;color:#1e40af}.badge-danger{background:#fee2e2;color:#991b1b}.documents-badge{display:inline-flex;align-items:center;gap:6px;background:#e0e7ff;padding:4px 10px;border-radius:20px;font-size:.7rem;font-weight:500;color:#4338ca}.no-docs{font-size:.7rem;color:var(--gray-400)}.btn-view-details{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--gray-100);border:none;border-radius:var(--radius-sm);color:var(--gray-700);font-size:.75rem;cursor:pointer;transition:all .2s}.btn-view-details:hover{background:var(--primary);color:#fff}.btn-upload,.btn-view,.btn-download{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:none;border-radius:var(--radius-sm);font-size:.7rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-upload{background:var(--primary);color:#fff}.btn-upload:hover{background:var(--primary-dark)}.btn-view{background:#0d6efd;color:#fff}.btn-view:hover{background:#0b5ed7}.btn-download{background:var(--success);color:#fff}.btn-download:hover{background:#0d9488}.mobile-cards{display:none;padding:16px}.review-card{background:#fff;border-radius:var(--radius-lg);padding:16px;margin-bottom:16px;border:1px solid var(--gray-200);transition:all .2s}.review-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;flex-wrap:wrap;gap:8px}.card-details{margin-bottom:16px}.detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--gray-100)}.detail-label{font-size:.75rem;color:var(--gray-600)}.detail-value{font-weight:500;color:var(--gray-800);font-size:.8rem}.card-actions{display:flex;gap:10px;flex-wrap:wrap}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.modal-content{background:#fff;border-radius:var(--radius-2xl);width:100%;max-width:700px;max-height:90vh;overflow:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--gray-200);background:var(--gray-50);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.modal-header h3{margin:0;color:var(--gray-800)}.modal-close{width:32px;height:32px;border-radius:10px;border:none;background:var(--gray-100);font-size:24px;cursor:pointer;color:var(--gray-600);transition:all .2s}.modal-close:hover{background:#fee2e2;color:var(--danger)}.modal-footer{padding:16px 20px;border-top:1px solid var(--gray-200);display:flex;justify-content:flex-end;gap:12px}.review-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.info-card{background:var(--gray-50);border-radius:var(--radius-lg);padding:16px}.info-card h4{margin:0 0 12px;font-size:.9rem;color:var(--gray-800)}.info-row{display:flex;justify-content:space-between;padding:6px 0;font-size:.8rem}.info-label{color:var(--gray-600)}.info-value{font-weight:500;color:var(--gray-800)}.assessment-details{margin-bottom:24px}.assessment-details h4{margin:0 0 16px;color:var(--gray-800)}.assessment-field{margin-bottom:16px}.assessment-field label{font-weight:600;color:var(--gray-700);font-size:.8rem;display:block;margin-bottom:6px}.assessment-field p{margin:0;font-size:.85rem;color:var(--gray-600);line-height:1.5}.rating-large{display:flex;align-items:center;gap:8px;font-size:1.2rem;color:var(--warning)}.rating-value{color:var(--gray-600);font-size:.8rem}.documents-section{margin-bottom:24px}.documents-section h4{margin:0 0 12px;color:var(--gray-800)}.documents-list{display:flex;flex-direction:column;gap:12px}.document-item{background:var(--gray-50);border-radius:var(--radius-md);padding:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.document-info{display:flex;align-items:center;gap:12px;flex:1}.document-icon{font-size:28px}.document-details{display:flex;flex-direction:column}.document-name{font-weight:500;color:var(--gray-800);font-size:.85rem}.document-meta{display:flex;gap:12px;font-size:.65rem;color:var(--gray-600)}.document-actions{display:flex;gap:8px}.btn-document{padding:6px 12px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-sm);cursor:pointer;font-size:.7rem;transition:all .2s}.btn-document:hover{background:var(--primary);border-color:var(--primary);color:#fff}.audit-info{background:var(--gray-50);border-radius:var(--radius-lg);padding:16px}.audit-info h4{margin:0 0 12px;color:var(--gray-800)}.audit-info p{margin:0 0 8px;font-size:.75rem;color:var(--gray-600)}.upload-modal{max-width:550px}.employee-summary{background:linear-gradient(135deg,var(--primary-light),var(--primary));border-radius:var(--radius-lg);padding:16px;margin-bottom:20px;color:#fff}.employee-summary h4{margin:0 0 4px}.employee-summary p{margin:0;opacity:.9;font-size:.8rem}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:var(--gray-700);font-size:.8rem}.form-control{width:100%;padding:10px 14px;border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:14px;transition:all .2s}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #8b5cf61a}.form-help{display:block;margin-top:4px;font-size:.7rem;color:var(--gray-600)}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:var(--radius-xl)}.empty-icon{font-size:64px;margin-bottom:16px}.empty-state h3{margin:0 0 8px;color:var(--gray-800)}.empty-state p{margin:0;color:var(--gray-600)}@media(max-width:1024px){.stats-grid,.dept-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.performance-review-container{padding:12px}.review-header{padding:20px}.review-header h2{font-size:1.3rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:14px}.stat-icon{width:45px;height:45px;font-size:22px}.stat-info h3{font-size:1.3rem}.dept-stats-grid{grid-template-columns:1fr}.filters-header{flex-direction:column;align-items:flex-start}.mobile-filter-toggle{display:flex}.filters-bar{display:none;flex-direction:column}.filters-bar.mobile-open{display:flex}.filter-select{width:100%}.btn-refresh,.btn-export,.btn-apply{width:100%;justify-content:center}.desktop-table{display:none}.mobile-cards{display:block}.review-info-grid{grid-template-columns:1fr;gap:12px}.document-item{flex-direction:column;align-items:flex-start}.document-actions{width:100%;justify-content:flex-start}.modal-content{max-width:95%;margin:0 auto}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.info-row{flex-direction:column;gap:4px}.card-header{flex-direction:column}.btn-view-details,.btn-upload,.btn-view,.btn-download{width:100%;justify-content:center}}.text-center{text-align:center}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.signature-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.signature-modal{background:#fff;border-radius:12px;padding:25px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:modalSlideIn .3s ease-out}.signature-header{text-align:center;margin-bottom:20px;border-bottom:2px solid #f0f0f0;padding-bottom:15px}.signature-header h3{margin:0 0 10px;color:#333;font-size:1.5rem}.signature-header p{margin:5px 0;color:#666}.role-info{background:#f8f9fa;padding:8px 12px;border-radius:6px;display:inline-block;margin-top:10px!important}.signature-type-selector{display:flex;justify-content:center;gap:15px;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px;flex-wrap:wrap}.signature-type-selector label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;color:#333;padding:5px 10px;border-radius:4px;transition:background .2s}.signature-type-selector label:hover{background:#e9ecef}.signature-type-selector input[type=radio]{width:18px;height:18px;cursor:pointer}.signature-canvas-container{display:flex;flex-direction:column;align-items:center;gap:15px}.signature-canvas{border:2px dashed #ccc;border-radius:8px;background:#fff;cursor:crosshair;touch-action:none;width:100%;max-width:500px;height:200px}.signature-canvas:hover{border-color:#666}.typed-signature-container{display:flex;flex-direction:column;gap:20px}.typed-signature-input{padding:12px 15px;border:2px solid #ddd;border-radius:8px;font-size:1.1rem;width:100%;transition:border-color .2s}.typed-signature-input:focus{outline:none;border-color:#007bff}.signature-preview{padding:15px;background:#f8f9fa;border-radius:8px}.signature-preview p{margin:0 0 10px;color:#666;font-weight:500}.signature-display{padding:20px;background:#fff;border:2px solid #dee2e6;border-radius:6px;font-size:1.5rem;font-family:Dancing Script,cursive,Brush Script MT,cursive;text-align:center;min-height:60px;display:flex;align-items:center;justify-content:center;color:#333}.upload-signature-container{display:flex;flex-direction:column;gap:15px}.upload-area{border:2px dashed #007bff;border-radius:8px;background:#f8f9fa;padding:30px;text-align:center;cursor:pointer;transition:all .3s;min-height:200px;display:flex;align-items:center;justify-content:center}.upload-area:hover{background:#e7f3ff;border-color:#0056b3}.upload-placeholder{color:#666}.upload-icon{font-size:3rem;margin-bottom:10px;opacity:.7}.upload-hint{font-size:.85rem;color:#888;margin-top:5px}.upload-preview{display:flex;flex-direction:column;align-items:center;gap:10px}.uploaded-image{max-width:100%;max-height:150px;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 4px #0000001a}.file-name{background:#fff;padding:5px 10px;border-radius:4px;font-size:.9rem;color:#333;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clear-btn{padding:8px 20px;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .2s;align-self:center}.clear-btn:hover:not(:disabled){background:#5a6268}.clear-btn:disabled{opacity:.6;cursor:not-allowed}.signature-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:25px;padding-top:20px;border-top:1px solid #eee}.signature-actions button{padding:10px 25px;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s;font-size:.95rem}.signature-actions .btn-secondary{background:#6c757d;color:#fff}.signature-actions .btn-secondary:hover:not(:disabled){background:#5a6268}.signature-actions .btn-primary{background:#007bff;color:#fff}.signature-actions .btn-primary:hover:not(:disabled){background:#0056b3}.signature-actions button:disabled{opacity:.6;cursor:not-allowed}.signature-tips{margin-top:20px;padding:15px;background:#e7f5ff;border-radius:8px;border-left:4px solid #007bff}.signature-tips p{margin:0 0 10px;font-weight:500;color:#0056b3}.signature-tips ul{margin:0;padding-left:20px;color:#495057}.signature-tips li{margin-bottom:5px}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite;margin-right:8px}@media(max-width:768px){.signature-modal{width:95%;padding:20px}.signature-type-selector{flex-direction:column;gap:10px}.signature-canvas{height:180px}.signature-actions{flex-direction:column}.signature-actions button{width:100%}}@media(max-width:480px){.signature-modal{padding:15px}.signature-header h3{font-size:1.3rem}.signature-canvas{height:150px}.upload-area{padding:20px;min-height:150px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn .3s ease-out}.confirmation-modal{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0000004d;width:90%;max-width:400px;overflow:hidden;animation:scaleIn .3s ease-out}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid #e9ecef}.modal-header h3{margin:0;color:#212529;font-size:18px}.modal-icon{font-size:24px}.modal-body{padding:20px;color:#495057;line-height:1.5}.modal-footer{padding:20px;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;gap:12px}.medical-viewer-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.medical-viewer-modal .document-modal{max-width:1000px;width:90%}.document-info-header{background:#f8f9fa;padding:12px 16px;border-radius:8px;margin-bottom:16px}.document-info-header p{margin:4px 0;font-size:13px}.document-preview-container{min-height:400px;background:#f8f9fa;border-radius:8px;overflow:hidden}.pdf-preview{width:100%;height:600px;border:none}.image-preview{max-width:100%;max-height:600px;object-fit:contain;display:block;margin:0 auto}.word-preview-placeholder,.unsupported-preview{text-align:center;padding:60px 20px;background:#f8f9fa}.placeholder-icon{font-size:64px;margin-bottom:16px}.preview-note{font-size:13px;color:#6c757d;margin-top:8px}.btn-primary{background:linear-gradient(135deg,#06c,#0052a3);color:#fff;padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0066cc4d}.btn-secondary{background:#6c757d;color:#fff;padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.btn-download-header{background:none;border:none;cursor:pointer;font-size:16px;padding:8px 12px;border-radius:6px;transition:background .2s}.btn-download-header:hover{background:#e9ecef}.modal-header-actions{display:flex;align-items:center;gap:12px}.loading-document{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;background:#f8f9fa}.loading-spinner{width:40px;height:40px;border:3px solid #e9ecef;border-top-color:#06c;border-radius:50%;animation:spin .8s linear infinite}.error-container{text-align:center;padding:40px}.error-icon{font-size:48px;margin-bottom:16px}.medical-upload-container .required-star{color:#dc3545;margin-left:4px}.medical-viewer-content{background:#fff;border-radius:12px;width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d;overflow:hidden}.viewer-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#f8f9fa;border-bottom:1px solid #dee2e6}.viewer-header h3{margin:0;font-size:1.2rem;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%}.btn-download,.btn-close{background:transparent;border:none;cursor:pointer;font-size:1.1rem;padding:5px 10px;border-radius:4px;transition:background .2s}.btn-download:hover{background:#e9ecef;color:#005bbb}.btn-close:hover{background:#e9ecef;color:#dc3545}.viewer-body{flex:1;overflow:auto;padding:20px}.image-viewer{display:flex;justify-content:center;align-items:center;min-height:400px}.medical-image{max-width:100%;max-height:70vh;object-fit:contain;border-radius:8px;box-shadow:0 4px 12px #0000001a}.pdf-viewer{width:100%;height:70vh}.pdf-iframe{width:100%;height:100%;border:1px solid #dee2e6;border-radius:8px}.unsupported-viewer{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}.unsupported-icon{font-size:4rem;margin-bottom:20px;color:#6c757d}.unsupported-viewer p{margin-bottom:20px;color:#666}.loading-viewer,.error-viewer{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;text-align:center}.spinner{font-size:3rem;margin-bottom:20px;animation:spin 1s linear infinite}.error-icon{font-size:3rem;margin-bottom:20px;color:#dc3545}.viewer-footer{padding:10px 20px;background:#f8f9fa;border-top:1px solid #dee2e6;display:flex;justify-content:space-between;font-size:.85rem;color:#666}.medical-viewer-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:10000;padding:20px}.medical-viewer-content{background:#fff;border-radius:12px;width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d}.viewer-header{padding:20px 24px;background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;align-items:center}.viewer-header h3{margin:0;font-size:18px;color:#333;font-weight:600}.viewer-controls{display:flex;gap:10px}.btn-download,.btn-close{padding:8px 16px;border-radius:6px;border:none;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.btn-download{background:#007bff;color:#fff}.btn-download:hover{background:#0056b3;transform:translateY(-1px)}.btn-close{background:#6c757d;color:#fff;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.btn-close:hover{background:#5a6268}.viewer-body{flex:1;overflow:auto;padding:0}.image-viewer{padding:20px;text-align:center}.medical-image{max-width:100%;max-height:70vh;object-fit:contain;border-radius:8px;box-shadow:0 4px 20px #0000001a}.pdf-viewer{width:100%;height:70vh;border:none}.pdf-iframe{width:100%;height:100%;border:none}.document-viewer,.unsupported-viewer{padding:60px 20px;text-align:center}.document-icon,.unsupported-icon{font-size:64px;margin-bottom:20px;opacity:.5}.viewer-footer{padding:12px 24px;background:#f8f9fa;border-top:1px solid #dee2e6;display:flex;justify-content:space-between;font-size:12px;color:#666}.loading-viewer,.error-viewer{padding:80px 20px;text-align:center}.spinner{font-size:48px;animation:spin 1s linear infinite;margin-bottom:20px}.error-icon{font-size:48px;margin-bottom:20px;color:#dc3545}:root{--gpfi-black: #0a0a0a;--gpfi-dark: #1a1a2e;--gpfi-blue: #0052cc;--gpfi-blue-lt: #e8f0fe;--gpfi-green: #00875a;--gpfi-green-lt: #e3fcef;--gpfi-red: #de350b;--gpfi-red-lt: #ffebe6;--gpfi-amber: #ff8b00;--gpfi-amber-lt: #fff7e6;--gpfi-grey-90: #172b4d;--gpfi-grey-70: #344563;--gpfi-grey-50: #5e6c84;--gpfi-grey-30: #97a0af;--gpfi-grey-10: #f4f5f7;--gpfi-white: #ffffff;--gpfi-border: #dfe1e6;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.12);--shadow-lg: 0 8px 32px rgba(0,0,0,.16);--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "DM Mono", "Courier New", monospace;--transition: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);color:var(--gpfi-grey-90)}.a4-form-container{width:100%;max-width:100%;min-height:100vh;margin:0 auto;padding:16px;background:var(--gpfi-white);position:relative;overflow-x:hidden}@media(min-width:600px){.a4-form-container{padding:24px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin:16px auto;min-height:auto}}@media(min-width:900px){.a4-form-container{width:794px;padding:40px;margin:32px auto;box-shadow:var(--shadow-lg)}}.progress-steps-a4{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;position:relative;gap:0}.progress-steps-a4:before{content:"";position:absolute;top:15px;left:15px;right:15px;height:2px;background:var(--gpfi-border);z-index:0}.progress-step-a4{display:flex;flex-direction:column;align-items:center;flex:1;position:relative;z-index:1}.step-circle-a4{width:30px;height:30px;min-width:30px;border-radius:50%;background:var(--gpfi-grey-10);border:2px solid var(--gpfi-border);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;font-family:var(--font-mono);color:var(--gpfi-grey-50);transition:all var(--transition)}.step-circle-a4.active{background:var(--gpfi-blue);border-color:var(--gpfi-blue);color:#fff;box-shadow:0 0 0 4px #0052cc26}.step-circle-a4.completed{background:var(--gpfi-green);border-color:var(--gpfi-green);color:#fff}.step-label-a4{font-size:9px;font-weight:600;color:var(--gpfi-grey-50);text-align:center;margin-top:5px;text-transform:uppercase;letter-spacing:.3px}@media(min-width:480px){.step-circle-a4{width:34px;height:34px;font-size:13px}.step-label-a4{font-size:10px}}.progress-bar-a4{height:3px;background:var(--gpfi-border);border-radius:999px;margin:12px 0 20px;overflow:hidden}.progress-fill-a4{height:100%;background:linear-gradient(90deg,var(--gpfi-blue) 0%,var(--gpfi-green) 100%);border-radius:999px;transition:width .4s cubic-bezier(.4,0,.2,1)}.gpfi-header{text-align:center;margin-bottom:20px;padding-bottom:16px;border-bottom:3px solid var(--gpfi-black);background:var(--gpfi-white)}.form-title-a4{font-size:clamp(16px,4vw,22px);font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--gpfi-black);margin:8px 0 4px}.form-number-a4{font-size:11px;color:var(--gpfi-grey-50);font-family:var(--font-mono)}.section-header-a4{font-size:11px;font-weight:700;background:var(--gpfi-grey-10);color:var(--gpfi-grey-90);padding:8px 12px;margin:20px 0 12px;border-left:4px solid var(--gpfi-blue);border-radius:0 var(--radius-sm) var(--radius-sm) 0;text-transform:uppercase;letter-spacing:.5px}.form-row-a4{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:12px}@media(min-width:540px){.form-row-a4{grid-template-columns:1fr 1fr}}.form-group-a4{display:flex;flex-direction:column;gap:4px}.full-width-a4{grid-column:1 / -1}.form-label-a4{font-size:11px;font-weight:600;color:var(--gpfi-grey-70);text-transform:uppercase;letter-spacing:.4px}.required-star-a4{color:var(--gpfi-red);font-weight:700;margin-left:2px}.form-input-a4,.form-select-a4,.form-textarea-a4{width:100%;padding:10px 12px;border:1.5px solid var(--gpfi-border);border-radius:var(--radius-md);font-size:14px;font-family:var(--font-body);color:var(--gpfi-grey-90);background:var(--gpfi-white);transition:border-color var(--transition),box-shadow var(--transition);-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:44px}.form-input-a4:focus,.form-select-a4:focus,.form-textarea-a4:focus{outline:none;border-color:var(--gpfi-blue);box-shadow:0 0 0 3px #0052cc1f}.form-input-a4:read-only,.form-input-a4[readonly]{background:var(--gpfi-grey-10);color:var(--gpfi-grey-50);cursor:not-allowed;border-color:transparent}.form-input-a4[type=date]:read-only{cursor:default}.form-select-a4{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235e6c84' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.form-textarea-a4{min-height:80px;resize:vertical;line-height:1.5}.form-input-a4[type=date]{color:#1a1a1a!important;background-color:#fff!important;color-scheme:light!important;-webkit-text-fill-color:#1a1a1a!important}.form-input-a4[type=date]::-webkit-datetime-edit,.form-input-a4[type=date]::-webkit-datetime-edit-fields-wrapper{color:#1a1a1a!important;background:transparent!important;padding:0}.form-input-a4[type=date]::-webkit-datetime-edit-text{color:#1a1a1a!important;opacity:1!important}.form-input-a4[type=date]::-webkit-datetime-edit-month-field,.form-input-a4[type=date]::-webkit-datetime-edit-day-field,.form-input-a4[type=date]::-webkit-datetime-edit-year-field{color:#1a1a1a!important;background:transparent!important;opacity:1!important}.form-input-a4[type=date]::-webkit-datetime-edit-month-field:focus,.form-input-a4[type=date]::-webkit-datetime-edit-day-field:focus,.form-input-a4[type=date]::-webkit-datetime-edit-year-field:focus{background-color:#0052cc!important;color:#fff!important;border-radius:2px}.form-input-a4[type=date]:read-only,.form-input-a4[type=date][readonly]{background-color:#f0f4f8!important;color:#1a1a1a!important;-webkit-text-fill-color:#1a1a1a!important;color-scheme:light!important;cursor:default;border-color:#dfe1e6!important;opacity:1!important}.form-input-a4[type=date]:read-only::-webkit-datetime-edit,.form-input-a4[type=date]:read-only::-webkit-datetime-edit-fields-wrapper,.form-input-a4[type=date]:read-only::-webkit-datetime-edit-text,.form-input-a4[type=date]:read-only::-webkit-datetime-edit-month-field,.form-input-a4[type=date]:read-only::-webkit-datetime-edit-day-field,.form-input-a4[type=date]:read-only::-webkit-datetime-edit-year-field{color:#1a1a1a!important;-webkit-text-fill-color:#1a1a1a!important;opacity:1!important}.form-input-a4[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7;filter:none!important}.form-input-a4[type=date]:read-only::-webkit-calendar-picker-indicator{opacity:.4;cursor:default;pointer-events:none}.date-input-wrapper-a4{position:relative;width:100%}.date-clear-btn-a4{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:var(--gpfi-red);color:#fff;border:none;border-radius:50%;width:22px;height:22px;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--transition),background var(--transition);z-index:2}.date-clear-btn-a4:hover{background:#b91c0a;transform:translateY(-50%) scale(1.1)}.date-calculated-icon-a4{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--gpfi-green);font-size:14px;font-weight:700;z-index:2}.phone-hint-a4{font-size:11px;color:var(--gpfi-grey-50);margin-top:4px}.error-message-a4{font-size:11px;color:var(--gpfi-red);margin-top:3px;display:flex;align-items:center;gap:4px}.error-message-a4:before{content:"⚠";font-style:normal}.error-box-a4{background:var(--gpfi-red-lt);border:1px solid #ffbdad;border-radius:var(--radius-md);padding:14px;font-size:13px;color:var(--gpfi-red);line-height:1.5}.dates-calculator-a4{background:linear-gradient(135deg,var(--gpfi-blue-lt) 0%,#f0f7ff 100%);border:1px solid #c0d9ff;border-radius:var(--radius-md);padding:14px 16px;margin:14px 0}.calculation-row-a4{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:12px;border-bottom:1px solid rgba(0,82,204,.1)}.calculation-row-a4:last-child{border-bottom:none}.calculation-value-a4{font-weight:700;color:var(--gpfi-blue);font-family:var(--font-mono)}.medical-upload-a4{border:2px dashed var(--gpfi-border);border-radius:var(--radius-md);padding:20px;text-align:center;margin:12px 0;transition:border-color var(--transition),background var(--transition)}.medical-upload-a4:hover{border-color:var(--gpfi-blue);background:var(--gpfi-blue-lt)}.file-list-a4{margin-top:10px}.file-item-a4{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--gpfi-grey-10);border-radius:var(--radius-sm);margin-bottom:6px;font-size:12px;flex-wrap:wrap;gap:4px}.table-a4{width:100%;border-collapse:collapse;font-size:12px;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.table-a4 th{background:var(--gpfi-black);color:#fff;padding:10px 14px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.table-a4 td{padding:9px 14px;border-bottom:1px solid var(--gpfi-border);line-height:1.4}.table-a4 tr:last-child td{border-bottom:none}.table-a4 tr:nth-child(2n) td{background:var(--gpfi-grey-10)}@media(max-width:420px){.table-a4,.table-a4 thead,.table-a4 tbody,.table-a4 th,.table-a4 td,.table-a4 tr{display:block}.table-a4 thead tr{display:none}.table-a4 tr{border:1px solid var(--gpfi-border);border-radius:var(--radius-md);margin-bottom:8px;padding:8px;background:var(--gpfi-white)}.table-a4 td{display:flex;justify-content:space-between;border:none;padding:6px 8px;font-size:12px}.table-a4 td strong{color:var(--gpfi-grey-50);min-width:110px}}.signature-section-a4{border:1.5px solid var(--gpfi-border);border-radius:var(--radius-md);padding:16px;margin:16px 0;background:var(--gpfi-grey-10)}.warning-box-a4{background:var(--gpfi-amber-lt);border:1px solid #ffe08d;border-radius:var(--radius-md);padding:12px 14px;margin:10px 0;font-size:12px;color:#5f4b00;display:flex;gap:8px;align-items:flex-start;line-height:1.5}.form-actions-a4{display:flex;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid var(--gpfi-border);flex-wrap:wrap}.btn-primary-a4{flex:1;min-width:120px;padding:13px 20px;background:var(--gpfi-black);color:#fff;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:700;font-family:var(--font-body);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;transition:all var(--transition);min-height:48px}.btn-primary-a4:hover:not(:disabled){background:var(--gpfi-blue);transform:translateY(-1px);box-shadow:0 4px 14px #0052cc4d}.btn-primary-a4:disabled{background:var(--gpfi-grey-30);cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary-a4{flex:1;min-width:100px;padding:13px 20px;background:var(--gpfi-white);color:var(--gpfi-grey-90);border:1.5px solid var(--gpfi-border);border-radius:var(--radius-md);font-size:13px;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all var(--transition);min-height:48px}.btn-secondary-a4:hover{border-color:var(--gpfi-grey-50);background:var(--gpfi-grey-10)}.spinner-small-a4{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:16px}.spinner-large{width:48px;height:48px;border:4px solid var(--gpfi-border);border-top-color:var(--gpfi-blue);border-radius:50%;animation:spin 1s linear infinite}.loading-relievers-a4{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--gpfi-grey-50);padding:12px}.loading-relievers-a4 .spinner-small-a4{border-top-color:var(--gpfi-blue);border-color:var(--gpfi-border)}.calculating-indicator-a4{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--gpfi-blue);margin-top:4px}.draft-info-banner,.draft-finalize-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-md);margin-bottom:16px;font-size:12px;font-weight:600;flex-wrap:wrap}.accepted-badge{background:var(--gpfi-green-lt);color:var(--gpfi-green);padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700}.success-badge-a4{display:inline-flex;align-items:center;background:var(--gpfi-green-lt);color:var(--gpfi-green);padding:8px 16px;border-radius:999px;font-size:14px;font-weight:700;margin:12px auto}@media print{.no-print,.form-actions-a4{display:none!important}.a4-form-container{box-shadow:none;padding:20mm;width:210mm}}.preview-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0ab3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9000;display:flex;align-items:flex-start;justify-content:center;padding:12px;overflow-y:auto}.preview-modal{background:var(--gpfi-white);border-radius:var(--radius-xl);width:100%;max-width:640px;margin:auto;overflow:hidden;box-shadow:var(--shadow-lg),0 0 0 1px #0000000d;animation:modalIn .25s cubic-bezier(.4,0,.2,1)}@keyframes modalIn{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.pm-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 20px 0;gap:12px}.pm-special-badge{display:inline-block;background:linear-gradient(135deg,#f6c90e,#ff8b00);color:#1a0f00;font-size:10px;font-weight:700;padding:3px 10px;border-radius:999px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.pm-title{font-size:18px;font-weight:700;color:var(--gpfi-grey-90);margin-bottom:4px}.pm-subtitle{font-size:13px;color:var(--gpfi-grey-50)}.pm-close-btn{background:var(--gpfi-grey-10);border:none;border-radius:50%;width:32px;height:32px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--gpfi-grey-50);transition:background var(--transition)}.pm-close-btn:hover{background:var(--gpfi-red-lt);color:var(--gpfi-red)}.pm-tabs{display:flex;gap:4px;padding:14px 20px 0;border-bottom:2px solid var(--gpfi-border)}.pm-tab{flex:1;padding:9px 12px;background:none;border:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;font-size:12px;font-weight:600;font-family:var(--font-body);color:var(--gpfi-grey-50);cursor:pointer;transition:all var(--transition);white-space:nowrap;text-align:center}.pm-tab:hover{color:var(--gpfi-grey-90);background:var(--gpfi-grey-10)}.pm-tab-active{color:var(--gpfi-blue)!important;border-bottom:2px solid var(--gpfi-blue);margin-bottom:-2px;background:var(--gpfi-blue-lt)}.pm-preview-area{padding:16px 20px;max-height:60vh;overflow-y:auto}.pm-preview-wrapper{position:relative}.pm-screenshot-saved{position:sticky;top:0;background:var(--gpfi-green-lt);color:var(--gpfi-green);font-size:12px;font-weight:600;padding:8px 12px;border-radius:var(--radius-sm);margin-bottom:10px;z-index:10}.pm-footer{display:flex;gap:8px;padding:14px 20px;border-top:1px solid var(--gpfi-border);background:var(--gpfi-grey-10);flex-wrap:wrap}.pm-btn-secondary{flex:1;min-width:100px;padding:10px 14px;background:#fff;border:1.5px solid var(--gpfi-border);border-radius:var(--radius-md);font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition);min-height:44px}.pm-btn-secondary:hover{border-color:var(--gpfi-grey-50)}.pm-btn-capture{flex:1;min-width:120px;padding:10px 14px;background:var(--gpfi-amber-lt);border:1.5px solid var(--gpfi-amber);border-radius:var(--radius-md);font-size:12px;font-weight:600;cursor:pointer;color:#5f4b00;transition:all var(--transition);min-height:44px}.pm-btn-capture:hover:not(:disabled){background:#ffe5a0}.pm-btn-capture:disabled{opacity:.5;cursor:not-allowed}.pm-btn-confirm{flex:1;min-width:140px;padding:10px 14px;background:var(--gpfi-green);border:none;border-radius:var(--radius-md);font-size:12px;font-weight:700;cursor:pointer;color:#fff;text-transform:uppercase;letter-spacing:.3px;transition:all var(--transition);min-height:44px}.pm-btn-confirm:hover:not(:disabled){background:#064}.pm-btn-confirm:disabled{background:var(--gpfi-grey-30);cursor:not-allowed}.email-preview-card{border:1px solid var(--gpfi-border);border-radius:var(--radius-md);overflow:hidden;font-family:var(--font-body);box-shadow:var(--shadow-sm);background:#fff}.ep-header{background:var(--gpfi-black);color:#fff;padding:16px 20px}.ep-logo-bar{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}.ep-logo-text{font-size:20px;font-weight:900;letter-spacing:2px}.ep-logo-sub{font-size:10px;color:#fff9;text-transform:uppercase;letter-spacing:1px}.ep-subject-line{font-size:12px;background:#ffffff1a;padding:8px 12px;border-radius:var(--radius-sm);border-left:3px solid #4c9aff;word-break:break-word}.ep-meta{background:#f8f9fa;padding:12px 20px;border-bottom:1px solid var(--gpfi-border)}.ep-meta-row{display:flex;gap:8px;font-size:12px;margin-bottom:4px;flex-wrap:wrap}.ep-meta-label{color:var(--gpfi-grey-50);font-weight:600;min-width:42px}.ep-meta-value{color:var(--gpfi-grey-90);word-break:break-all}.ep-body{padding:20px}.ep-greeting{font-size:14px;margin-bottom:10px}.ep-para{font-size:13px;color:var(--gpfi-grey-70);margin-bottom:16px;line-height:1.6}.ep-details-box{background:var(--gpfi-blue-lt);border:1px solid #c0d9ff;border-radius:var(--radius-md);overflow:hidden;margin-bottom:16px}.ep-details-title{background:var(--gpfi-blue);color:#fff;padding:8px 14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.ep-details-table{width:100%;border-collapse:collapse}.ep-details-table tr:nth-child(2n){background:#0052cc0a}.ep-dt-label{padding:7px 14px;font-size:11px;font-weight:600;color:var(--gpfi-grey-50);width:40%}.ep-dt-value{padding:7px 14px;font-size:12px;color:var(--gpfi-grey-90);font-weight:500}.ep-badge{background:var(--gpfi-blue);color:#fff;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase}.ep-action-row{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}.ep-btn-accept{flex:1;padding:10px;background:var(--gpfi-green);color:#fff;border-radius:var(--radius-md);text-align:center;font-size:12px;font-weight:700;opacity:.7;min-width:120px}.ep-btn-reject{flex:1;padding:10px;background:var(--gpfi-red);color:#fff;border-radius:var(--radius-md);text-align:center;font-size:12px;font-weight:700;opacity:.7;min-width:120px}.ep-footer-note{font-size:11px;color:var(--gpfi-grey-50);background:#fffbea;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid #ffe58f}.ep-footer{background:var(--gpfi-grey-10);padding:12px 20px;font-size:10px;color:var(--gpfi-grey-50);text-align:center;line-height:1.8;border-top:1px solid var(--gpfi-border)}.supervisor-preview-card{border:1px solid var(--gpfi-border);border-radius:var(--radius-md);overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);position:relative}.sp-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 20px;background:var(--gpfi-dark);color:#fff;flex-wrap:wrap;gap:8px}.sp-portal-badge{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#ffffff80;margin-bottom:4px}.sp-portal-title{font-size:16px;font-weight:700}.sp-status-badge{padding:4px 12px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.sp-status-pending{background:var(--gpfi-amber-lt);color:var(--gpfi-amber);border:1px solid var(--gpfi-amber)}.sp-summary{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--gpfi-border);flex-wrap:wrap}.sp-summary-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--gpfi-blue),#004ec2);color:#fff;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sp-summary-info{flex:1;min-width:140px}.sp-summary-name{font-size:15px;font-weight:700;color:var(--gpfi-grey-90)}.sp-summary-dept{font-size:11px;color:var(--gpfi-grey-50);margin:2px 0}.sp-summary-type{font-size:11px;color:var(--gpfi-blue);font-weight:600}.sp-summary-days{text-align:center;background:var(--gpfi-blue-lt);border:2px solid var(--gpfi-blue);border-radius:var(--radius-md);padding:8px 14px}.sp-days-num{font-size:24px;font-weight:900;color:var(--gpfi-blue);font-family:var(--font-mono);line-height:1}.sp-days-label{font-size:9px;font-weight:700;color:var(--gpfi-blue);text-transform:uppercase;letter-spacing:1px}.sp-timeline{display:flex;align-items:center;padding:14px 20px;gap:0;border-bottom:1px solid var(--gpfi-border);flex-wrap:wrap}.sp-timeline-item{display:flex;align-items:center;gap:8px;flex:1;min-width:120px}.sp-tl-dot{width:12px;height:12px;border-radius:50%;border:2px solid;flex-shrink:0}.sp-tl-dot-start{border-color:var(--gpfi-green);background:var(--gpfi-green-lt)}.sp-tl-dot-end{border-color:var(--gpfi-blue);background:var(--gpfi-blue-lt)}.sp-timeline-line{flex:1;height:2px;background:repeating-linear-gradient(90deg,var(--gpfi-border) 0 6px,transparent 6px 10px);min-width:24px}.sp-tl-label{font-size:10px;color:var(--gpfi-grey-50);font-weight:600;text-transform:uppercase}.sp-tl-date{font-size:12px;color:var(--gpfi-grey-90);font-weight:600}.sp-reliever-row{display:flex;align-items:center;gap:8px;padding:10px 20px;font-size:12px;background:var(--gpfi-grey-10);border-bottom:1px solid var(--gpfi-border);flex-wrap:wrap}.sp-reliever-label{color:var(--gpfi-grey-50);font-weight:600}.sp-reliever-name{font-weight:700;color:var(--gpfi-grey-90)}.sp-reliever-status{margin-left:auto;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700}.sp-rs-pending{background:var(--gpfi-amber-lt);color:var(--gpfi-amber)}.sp-rs-accepted{background:var(--gpfi-green-lt);color:var(--gpfi-green)}.sp-reason-box{padding:12px 20px;border-bottom:1px solid var(--gpfi-border)}.sp-reason-label{font-size:10px;font-weight:700;color:var(--gpfi-grey-50);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.sp-reason-text{font-size:13px;color:var(--gpfi-grey-90);line-height:1.5}.sp-actions{display:flex;gap:8px;padding:12px 20px;flex-wrap:wrap}.sp-action-approve,.sp-action-reject,.sp-action-query{flex:1;padding:9px;border-radius:var(--radius-md);text-align:center;font-size:12px;font-weight:700;opacity:.6;min-width:80px}.sp-action-approve{background:var(--gpfi-green-lt);color:var(--gpfi-green);border:1px solid var(--gpfi-green)}.sp-action-reject{background:var(--gpfi-red-lt);color:var(--gpfi-red);border:1px solid var(--gpfi-red)}.sp-action-query{background:var(--gpfi-amber-lt);color:var(--gpfi-amber);border:1px solid var(--gpfi-amber)}.sp-watermark{text-align:center;font-size:10px;font-weight:700;color:var(--gpfi-red);letter-spacing:1.5px;padding:8px;background:var(--gpfi-red-lt);text-transform:uppercase}.mdv-container{border:1.5px solid var(--gpfi-border);border-radius:var(--radius-md);overflow:hidden;margin:12px 0}.mdv-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--gpfi-grey-10);border-bottom:1px solid var(--gpfi-border);flex-wrap:wrap;gap:8px}.mdv-title{font-size:13px;font-weight:700;color:var(--gpfi-grey-90)}.mdv-role-badge{font-size:10px;background:var(--gpfi-blue);color:#fff;padding:2px 8px;border-radius:999px;font-weight:700}.mdv-error{margin:10px 16px;padding:10px 12px;background:var(--gpfi-red-lt);border:1px solid #ffbdad;border-radius:var(--radius-sm);font-size:12px;color:var(--gpfi-red);display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.mdv-error-dismiss{background:none;border:none;cursor:pointer;color:var(--gpfi-red);font-size:14px;flex-shrink:0}.mdv-empty{padding:32px;text-align:center;color:var(--gpfi-grey-50)}.mdv-empty-icon{font-size:32px;display:block;margin-bottom:8px}.mdv-empty p{font-size:13px}.mdv-list{padding:8px}.mdv-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--gpfi-border);border-radius:var(--radius-md);margin-bottom:6px;background:#fff;flex-wrap:wrap}.mdv-item:hover{border-color:var(--gpfi-blue);background:var(--gpfi-blue-lt)}.mdv-item-icon{font-size:24px;flex-shrink:0}.mdv-item-info{flex:1;min-width:100px}.mdv-item-name{font-size:13px;font-weight:600;color:var(--gpfi-grey-90);word-break:break-word}.mdv-item-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:3px}.mdv-item-size,.mdv-item-date{font-size:11px;color:var(--gpfi-grey-50)}.mdv-item-type{font-size:9px;background:var(--gpfi-grey-10);color:var(--gpfi-grey-50);padding:1px 6px;border-radius:4px;font-weight:700;font-family:var(--font-mono);text-transform:uppercase}.mdv-item-actions{display:flex;gap:6px;flex-wrap:wrap}.mdv-btn{padding:6px 12px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;cursor:pointer;border:1px solid;transition:all var(--transition);min-height:34px;display:flex;align-items:center;gap:4px;white-space:nowrap}.mdv-btn-view{background:var(--gpfi-blue-lt);color:var(--gpfi-blue);border-color:var(--gpfi-blue)}.mdv-btn-view:hover:not(:disabled){background:var(--gpfi-blue);color:#fff}.mdv-btn-download{background:var(--gpfi-green-lt);color:var(--gpfi-green);border-color:var(--gpfi-green)}.mdv-btn-download:hover:not(:disabled){background:var(--gpfi-green);color:#fff}.mdv-btn:disabled{opacity:.5;cursor:not-allowed}.mdv-spinner{width:12px;height:12px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.mdv-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0acc;z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding:16px;overflow-y:auto}.mdv-modal{background:#fff;border-radius:var(--radius-xl);width:100%;max-width:800px;overflow:hidden;box-shadow:var(--shadow-lg);animation:modalIn .2s ease;margin:auto}.mdv-modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--gpfi-grey-10);border-bottom:1px solid var(--gpfi-border);gap:10px;flex-wrap:wrap}.mdv-modal-title{font-size:13px;font-weight:600;color:var(--gpfi-grey-90);word-break:break-word;flex:1}.mdv-modal-actions{display:flex;gap:8px;align-items:center}.mdv-modal-close{background:var(--gpfi-grey-10);border:1px solid var(--gpfi-border);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:var(--gpfi-grey-50)}.mdv-modal-close:hover{background:var(--gpfi-red-lt);color:var(--gpfi-red)}.mdv-modal-body{max-height:80vh;overflow:auto;display:flex;align-items:center;justify-content:center;background:#1a1a1a;min-height:300px}.mdv-preview-image{max-width:100%;max-height:80vh;object-fit:contain;display:block}.mdv-preview-pdf{width:100%;height:80vh;border:none}.mdv-preview-unsupported{padding:40px;text-align:center;color:#fff;display:flex;flex-direction:column;align-items:center;gap:12px}.reliever-dashboard{padding:20px;max-width:1200px;margin:0 auto}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;border-radius:10px;margin-bottom:30px;box-shadow:0 4px 6px #0000001a}.dashboard-header h1{margin:0;font-size:2.5rem;display:flex;align-items:center}.dashboard-header p{margin:10px 0 0;opacity:.9;font-size:1.1rem}.loading-spinner{text-align:center;padding:50px;font-size:1.2rem;color:#666}.spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:#667eea;animation:spin 1s ease-in-out infinite;margin-right:10px}@keyframes spin{to{transform:rotate(360deg)}}.requests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-top:20px}.request-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px #0000001a;border:1px solid #e0e0e0;transition:transform .3s ease,box-shadow .3s ease}.request-card:hover{transform:translateY(-5px);box-shadow:0 5px 20px #00000026}.request-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #eee}.requester-info{display:flex;align-items:center;gap:15px}.avatar{width:50px;height:50px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;font-weight:700}.requester-info h4{margin:0;font-size:1.2rem;color:#333}.requester-info p{margin:5px 0 0;color:#666;font-size:.9rem}.badge{padding:5px 12px;border-radius:20px;font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:5px}.badge-pending{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.badge-accepted{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.badge-rejected{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.request-details{margin:20px 0}.detail-row{display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:10px;border-bottom:1px dashed #eee}.detail-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.label{font-weight:600;color:#555;font-size:.95rem}.value{color:#333;text-align:right;max-width:200px;word-break:break-word}.request-actions{display:flex;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid #eee}.btn-accept,.btn-reject{flex:1;padding:12px 20px;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-accept{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.btn-accept:hover{background:linear-gradient(135deg,#218838,#1ea079);transform:translateY(-2px);box-shadow:0 4px 8px #28a7454d}.btn-reject{background:linear-gradient(135deg,#dc3545,#e83e8c);color:#fff}.btn-reject:hover{background:linear-gradient(135deg,#c82333,#d63384);transform:translateY(-2px);box-shadow:0 4px 8px #dc35454d}.empty-state{text-align:center;padding:60px 20px;background:#f8f9fa;border-radius:10px;border:2px dashed #dee2e6;margin:40px 0}.empty-icon{margin-bottom:20px}.empty-state h3{color:#333;margin-bottom:10px}.empty-state p{color:#666;max-width:400px;margin:0 auto}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:1px solid #e0e0e0}.modal-header h3{margin:0;color:#333}.close-btn{background:none;border:none;font-size:1.8rem;color:#666;cursor:pointer;line-height:1;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.close-btn:hover{background:#f0f0f0;color:#333}.modal-body{padding:30px}.requester-summary{background:#f8f9fa;padding:15px;border-radius:8px;margin:15px 0;border-left:4px solid #667eea}.requester-summary p{margin:5px 0;color:#333}.form-group{margin:20px 0}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:.95rem}.form-group textarea,.form-group input[type=text]{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:1rem;box-sizing:border-box;transition:border-color .3s ease}.form-group textarea{min-height:100px;resize:vertical}.form-group textarea:focus,.form-group input[type=text]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.signature-options{display:flex;gap:20px;margin-bottom:15px}.signature-options label{display:flex;align-items:center;gap:8px;font-weight:400;cursor:pointer;margin-bottom:0}.signature-options input[type=radio]{margin:0;width:auto}.signature-preview{margin-top:15px;padding:15px;background:#f8f9fa;border-radius:6px;text-align:center}.signature-preview img{max-width:200px;max-height:80px;border:1px solid #ddd;background:#fff;padding:10px;border-radius:4px}.modal-actions{display:flex;gap:10px;padding:20px 30px;border-top:1px solid #e0e0e0;justify-content:flex-end}.modal-actions button{padding:12px 24px;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{background:#5a6268}@media(max-width:768px){.requests-grid{grid-template-columns:1fr}.dashboard-header{padding:20px}.dashboard-header h1{font-size:2rem}.modal-content{width:95%;margin:20px}.request-actions{flex-direction:column}}@media(max-width:480px){.request-header{flex-direction:column;gap:10px}.modal-body{padding:20px}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.annual-leave-container{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000d;margin-bottom:20px}.annual-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px}.annual-header h2{margin:0;font-size:1.5rem;color:#2c3e50;display:flex;align-items:center;gap:8px}.annual-badge{padding:8px 16px;border-radius:20px;font-size:.875rem;font-weight:600;display:inline-flex;align-items:center;gap:6px}.annual-badge.probation{background:#fff3cd;color:#856404;border:1px solid #ffeeba}.annual-badge.active{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.probation-notice{background:#fff3cd;border-left:4px solid #ff9800;border-radius:8px;padding:16px;margin-bottom:24px;display:flex;align-items:flex-start;gap:12px}.probation-icon{font-size:1.5rem;line-height:1}.probation-content{flex:1}.probation-content h4{margin:0 0 8px;color:#856404;font-size:1rem}.probation-content p{margin:0 0 8px;color:#856404;font-size:.875rem;line-height:1.5}.probation-progress{margin-top:8px}.probation-progress span{display:block;margin-bottom:4px;font-size:.75rem;color:#666}.probation-progress .progress-bar{height:6px;background:#e9ecef;border-radius:3px;overflow:hidden}.probation-progress .progress-fill{height:100%;background:#ff9800;border-radius:3px;transition:width .3s ease}.annual-summary{margin-bottom:24px;padding:16px;background:#f8f9fa;border-radius:10px}.summary-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.summary-item{padding:12px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000008}.summary-label{font-size:.75rem;text-transform:uppercase;color:#6c757d;margin-bottom:4px;letter-spacing:.5px}.summary-value{font-size:1.5rem;font-weight:700;color:#2c3e50;line-height:1.2}.summary-value.highlight{color:#ff9800}.summary-value.balance{color:#28a745}.summary-note{font-size:.7rem;color:#6c757d;margin-top:4px}.annual-usage{margin-bottom:24px}.annual-usage h3{font-size:1.1rem;margin:0 0 16px;color:#2c3e50}.usage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.usage-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:12px;display:flex;align-items:center;gap:12px;transition:all .2s ease}.usage-card:hover{border-color:#adb5bd;box-shadow:0 2px 4px #00000005}.usage-icon{width:40px;height:40px;background:#f8f9fa;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.usage-content{flex:1}.usage-label{font-size:.7rem;text-transform:uppercase;color:#6c757d;margin-bottom:2px}.usage-value{font-size:1.1rem;font-weight:700;color:#2c3e50}.key-info{background:#f8f9fa;border-radius:10px;padding:16px;margin-top:8px}.key-info h4{margin:0 0 12px;color:#2c3e50;font-size:1rem;display:flex;align-items:center;gap:6px}.key-info ul{margin:0;padding-left:20px;list-style-type:none}.key-info li{margin-bottom:8px;color:#495057;font-size:.875rem;line-height:1.5;position:relative;padding-left:20px}.key-info li:before{content:"•";position:absolute;left:0;color:#ff9800;font-weight:700}.key-info ul ul{margin-top:4px;padding-left:16px}.key-info ul ul li{margin-bottom:4px;font-size:.8rem}@media(max-width:768px){.annual-leave-container{padding:16px}.annual-header{flex-direction:column;align-items:flex-start}.annual-header h2{font-size:1.2rem}.summary-row{grid-template-columns:1fr;gap:12px}.usage-grid{grid-template-columns:1fr 1fr;gap:10px}.usage-card{padding:10px}.usage-icon{width:32px;height:32px;font-size:1rem}.usage-value{font-size:1rem}.key-info{padding:12px}.key-info li{font-size:.8rem}}@media(max-width:480px){.usage-grid{grid-template-columns:1fr}.probation-notice{flex-direction:column;padding:12px}.summary-value{font-size:1.2rem}.annual-badge{width:100%;justify-content:center}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#6c757d}.spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #ff9800;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#dc3545;background:#f8d7da;border-radius:8px}.error-icon{font-size:2rem;margin-bottom:16px}.btn-retry{margin-top:16px;padding:8px 24px;background:#dc3545;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.btn-retry:hover{background:#c82333}.leave-approval-container{max-width:210mm;margin:20px auto;padding:20px;background:#fff;box-shadow:0 0 10px #0000001a;min-height:297mm}@media print{@page{size:A4;margin:20mm}body{background:#fff!important;color:#000!important}.no-print{display:none!important}.leave-approval-container{box-shadow:none;margin:0;padding:0;width:100%;max-width:100%}.print-friendly *{color:#000!important;background:#fff!important}.btn-primary,.btn-secondary,.btn-view{display:none!important}}.approval-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;border-bottom:2px solid #000}.header-left h2{margin:0;color:#000;font-size:24px}.leave-meta{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:14px}.employee-name{font-weight:600;color:#333}.separator{color:#999}.leave-type{color:#666;font-weight:500}.status-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.badge-pending{background:#fff3cd;color:#856404}.badge-approved{background:#d4edda;color:#155724}.badge-hod-approved{background:#cce5ff;color:#004085}.badge-hr-processed{background:#d1ecf1;color:#0c5460}.badge-rejected{background:#f8d7da;color:#721c24}.badge-cancelled{background:#e2e3e5;color:#383d41}.btn-primary,.btn-secondary,.btn-view{padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.btn-primary{background:#000;color:#fff}.btn-secondary{background:#6c757d;color:#fff}.btn-view{background:#17a2b8;color:#fff}.btn-primary:hover{background:#333}.btn-secondary:hover{background:#545b62}.btn-view:hover{background:#138496}.print-header{display:none}@media print{.print-header{display:block;text-align:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #000}.print-header h1{font-size:20px;margin:0 0 5px;color:#000}.print-header h2{font-size:16px;margin:0 0 15px;color:#333}.document-details{display:flex;justify-content:space-between;font-size:10px;color:#666}}.form-content.a4-format{font-family:Arial,sans-serif;line-height:1.4}.form-section{margin-bottom:30px;page-break-inside:avoid}.section-header{margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #ddd}.section-header h3{margin:0;color:#000;font-size:16px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}@media(max-width:768px){.info-grid{grid-template-columns:1fr}}.info-item{display:flex;flex-direction:column}.info-item.full-width{grid-column:1 / -1}.info-item label{font-weight:600;font-size:12px;color:#666;margin-bottom:4px}.info-value{font-size:14px;color:#333;padding:8px;background:#f8f9fa;border-radius:4px;min-height:36px;display:flex;align-items:center}.leave-type-badge{background:#000;color:#fff;padding:6px 12px;border-radius:4px;font-weight:500;display:inline-block}.days-count{background:#e8f4fd;color:#06c;font-weight:600}.reason-box{padding:12px;background:#f8f9fa;border-radius:4px;border:1px solid #dee2e6;min-height:80px;white-space:pre-wrap;line-height:1.5}.approval-chain{display:flex;flex-direction:column;gap:20px}.approval-step{padding:15px;background:#f8f9fa;border-radius:6px;border-left:4px solid #000}.step-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.step-title h4{margin:0;font-size:14px;color:#000}.step-details{font-size:13px;color:#333}.step-details p{margin:5px 0}.step-details strong{color:#000;margin-right:5px}.pending-text{color:#666;font-style:italic}.status-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.status-badge.approved{background:#d4edda;color:#155724}.status-badge.pending{background:#fff3cd;color:#856404}.status-badge.rejected{background:#f8d7da;color:#721c24}.allowance-details{margin-top:15px;padding:15px;background:#fff;border-radius:4px;border:1px solid #ddd}.allowance-details h5{margin:0 0 10px;font-size:13px;color:#000}.allowance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(max-width:768px){.allowance-grid{grid-template-columns:1fr}}.allowance-item{display:flex;justify-content:space-between;align-items:center;padding:8px;background:#f8f9fa;border-radius:4px}.allowance-item label{font-weight:500;color:#666}.allowance-item span{font-weight:600;color:#000}.allowance-item.total{grid-column:1 / -1;background:#000;color:#fff}.allowance-item.total label{color:#fff}.allowance-item.total span{color:#fff;font-size:16px}.medical-docs{display:flex;flex-direction:column;gap:10px}.medical-doc-item{display:flex;align-items:center;gap:10px;padding:10px;background:#f8f9fa;border-radius:4px;border:1px solid #dee2e6}.doc-icon{font-size:18px}.doc-info{flex:1}.doc-info strong{display:block;font-size:13px;color:#333}.doc-info small{color:#666;font-size:11px}.btn-view-doc{padding:6px 12px;background:#17a2b8;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer}.form-footer{display:flex;justify-content:center;gap:15px;margin-top:30px;padding-top:20px;border-top:1px solid #ddd}@media print{.form-section{page-break-inside:avoid}.form-footer{display:none}.info-grid,.approval-chain{page-break-inside:avoid}}.employee-dashboard{display:flex;min-height:100vh;background:#f8f9fa}.main-content{flex:1;display:flex;flex-direction:column}.content-area{flex:1;padding:0;overflow-y:auto}.stats-grid.horizontal-stats{display:flex;gap:15px;overflow-x:auto;padding:10px 0;margin-bottom:20px}.stats-grid.horizontal-stats .stat-card{min-width:200px;flex:1}.stat-card.horizontal-stat{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}.stat-card.horizontal-stat:hover{transform:translateY(-5px);box-shadow:0 6px 12px #00000026}.stat-card-header{display:flex;align-items:center;margin-bottom:15px}.stat-card-header .stat-icon{font-size:1.8rem;margin-right:10px}.stat-card-header h3.stat-title{margin:0;font-size:14px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.stat-content{margin-top:auto}.stat-content .number{font-size:36px!important;font-weight:800!important;color:#333!important;line-height:1;margin:10px 0;text-shadow:0 2px 4px rgba(0,0,0,.1)}.stat-content .trend{font-size:12px;color:#666;margin-top:5px}.stat-content .label{font-size:14px;color:#666;margin-top:5px}.stat-card.hr-stat-card{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #0D6EFD}.stat-card.hr-stat-card .number{color:#0d6efd!important}.stat-card.manager-stat-card{background:linear-gradient(135deg,#e8daff,#d2b8ff);border-left:4px solid #6F42C1}.stat-card.hod-stat-card{background:linear-gradient(135deg,#d1f2eb,#a3e4d7);border-left:4px solid #20C997}.last-updated small{font-size:11px;color:#999;margin-top:10px;display:block}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-top:15px}.quick-action-card{background:#fff;border-radius:12px;padding:20px;border:1px solid #e9ecef;display:flex;align-items:center;cursor:pointer;transition:all .3s ease;text-align:left;width:100%}.quick-action-card:hover{transform:translateY(-3px);box-shadow:0 6px 12px #0000001a;border-color:#0d6efd}.quick-action-card.hr-quick-action:hover{border-color:#0d6efd}.quick-action-card.manager-quick-action:hover{border-color:#6f42c1}.quick-action-card.hod-quick-action:hover{border-color:#20c997}.action-icon{width:50px;height:50px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-right:15px;font-size:1.5rem}.action-text{flex:1}.action-text h4{margin:0 0 5px;color:#333;font-size:16px}.action-text p{margin:0 0 5px;color:#666;font-size:14px}.action-text small{color:#999;font-size:12px}.action-arrow{color:#999;font-size:1.2rem;opacity:.5;transition:opacity .3s ease}.quick-action-card:hover .action-arrow{opacity:1;color:#0d6efd}@media(max-width:768px){.stats-grid.horizontal-stats{flex-direction:column}.stats-grid.horizontal-stats .stat-card{min-width:100%}.stat-content .number{font-size:32px!important}.quick-actions-grid{grid-template-columns:1fr}}@media(max-width:480px){.stat-content .number{font-size:28px!important}.stat-card-header h3.stat-title{font-size:12px}}.stat-card .number{font-weight:800!important;font-size:36px!important;color:#333!important}.horizontal-stat .number{font-weight:800!important;font-size:36px!important}.dashboard-view .stat-card .number{font-weight:800!important}.toast-container{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:.5rem}.loading-spinner{display:flex;justify-content:center;align-items:center;height:200px;font-size:1.2rem;color:#666}.complete-form-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.complete-form-modal-content{background:#fff;border-radius:12px;width:95%;max-width:1200px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#005bbb;color:#fff;border-radius:12px 12px 0 0}.modal-header h2{margin:0}.close-btn{background:transparent;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:5px}.modal-body{padding:20px}.leave-info-header{text-align:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #eee}.form-actions{display:flex;justify-content:center;gap:20px;margin-top:30px;padding-top:20px;border-top:1px solid #eee}.leave-balance-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px;margin-top:20px}.balance-card{background:#fff;border-radius:10px;padding:15px;box-shadow:0 2px 4px #0000001a;transition:transform .3s ease,box-shadow .3s ease;display:flex;align-items:center;border-left:4px solid #28a745}.balance-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.balance-card.high-balance{border-left-color:#28a745}.balance-card.medium-balance{border-left-color:#ffc107}.balance-card.low-balance{border-left-color:#dc3545}.balance-card.annual{border-left-color:#0d6efd}.balance-card.sick{border-left-color:#dc3545}.balance-card.casual{border-left-color:#6f42c1}.balance-card.examination{border-left-color:#20c997}.balance-card.maternity{border-left-color:#fd7e14}.balance-card.paternity{border-left-color:#17a2b8}.balance-icon{font-size:2rem;margin-right:15px;background:#f8f9fa;padding:10px;border-radius:8px}.balance-details{flex:1}.balance-details h4{margin:0 0 5px;color:#333;font-size:14px;font-weight:600}.balance-value{font-size:24px;font-weight:700;color:#333;margin-bottom:8px}.balance-progress{height:6px;background:#e9ecef;border-radius:3px;margin-bottom:8px;overflow:hidden}.balance-progress .progress-bar{height:100%;border-radius:3px;transition:width .3s ease}.balance-details small{color:#666;font-size:12px}.balance-table-container{overflow-x:auto;margin-top:15px}.balance-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.balance-table th{background:#f8f9fa;padding:12px 15px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6}.balance-table td{padding:12px 15px;border-bottom:1px solid #dee2e6;color:#333}.balance-table tr:hover{background:#f8f9fa}.low-balance-text{color:#dc3545;font-weight:700}.medium-balance-text{color:#ffc107;font-weight:700}.high-balance-text{color:#28a745;font-weight:700}.usage-progress{display:flex;align-items:center;gap:10px}.usage-progress .progress-bar{flex:1;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.usage-progress .progress-bar>div{height:100%;border-radius:4px}.usage-progress .percentage{min-width:40px;text-align:right;font-size:12px;color:#666}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-top:20px}.summary-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center}.summary-icon{font-size:2rem;margin-right:15px;color:#0d6efd}.summary-content h4{margin:0 0 5px;color:#666;font-size:14px}.summary-value{font-size:24px;font-weight:700;color:#333;margin:0}.leave-notes{background:#f8f9fa;border-left:4px solid #0d6efd;padding:15px;border-radius:8px;margin:20px 0}.leave-notes h5{margin-top:0;color:#333}.leave-notes ul{margin:10px 0 0;padding-left:20px}.leave-notes li{color:#666;margin-bottom:5px;font-size:14px}@media(max-width:768px){.leave-balance-cards,.summary-cards{grid-template-columns:1fr}.balance-table{font-size:14px}.balance-table th,.balance-table td{padding:8px 10px}}.policy-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000e6;z-index:9999;display:flex;justify-content:center;align-items:center;padding:0;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.policy-viewer-overlay.fullscreen{padding:0}.policy-viewer-container{width:100%;height:100%;display:flex;flex-direction:column;background-color:#fff;overflow:hidden;position:relative}.fullscreen .policy-viewer-container{border-radius:0;max-width:100%;max-height:100%}.policy-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;flex-wrap:wrap;gap:10px}.viewer-header-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.viewer-btn-back{background:none;border:none;font-size:24px;padding:8px 12px;cursor:pointer;color:#495057;border-radius:4px;display:flex;align-items:center;justify-content:center}.viewer-btn-back:hover{background-color:#e9ecef}.viewer-title{display:flex;flex-direction:column;min-width:0;flex:1}.viewer-title h2{margin:0;font-size:1.1rem;font-weight:600;color:#212529;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-badge{font-size:.75rem;padding:2px 6px;background-color:#e9ecef;color:#495057;border-radius:12px;display:inline-block;width:fit-content;margin-top:2px}.viewer-header-right{display:flex;align-items:center;gap:8px}.viewer-zoom-controls{display:flex;align-items:center;gap:4px;background-color:#fff;border-radius:4px;border:1px solid #dee2e6;padding:2px}.viewer-btn-zoom{background:none;border:none;width:36px;height:36px;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#495057;border-radius:4px}.viewer-btn-zoom:hover:not(:disabled){background-color:#e9ecef}.viewer-btn-zoom:disabled{opacity:.5;cursor:not-allowed}.viewer-zoom-level{font-size:.9rem;font-weight:500;min-width:60px;text-align:center}.viewer-btn-fullscreen,.viewer-btn-download,.viewer-btn-close{background:none;border:none;width:40px;height:40px;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#495057;border-radius:4px}.viewer-btn-fullscreen:hover,.viewer-btn-download:hover,.viewer-btn-close:hover{background-color:#e9ecef}.viewer-btn-close{font-size:22px;color:#dc3545}.policy-viewer-content{flex:1;overflow:auto;background-color:#f1f3f5;position:relative;display:flex;justify-content:center;align-items:flex-start;-webkit-overflow-scrolling:touch}.policy-viewer-iframe{width:100%;height:100%;border:none;display:block;background-color:#fff}.policy-viewer-image-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;overflow:auto}.policy-viewer-image{max-width:100%;object-fit:contain;background-color:#fff;transition:transform .2s ease}.viewer-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:16px;color:#6c757d}.spinner-icon{font-size:32px;animation:spin 1s linear infinite}.policy-viewer-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:24px;text-align:center;background-color:#fff}.fallback-icon{font-size:64px;margin-bottom:16px;color:#adb5bd}.policy-viewer-fallback h3{margin:0 0 8px;color:#212529;font-size:1.25rem}.policy-viewer-fallback p{margin:0 0 24px;color:#6c757d}.policy-viewer-footer{padding:16px;background-color:#f8f9fa;border-top:1px solid #dee2e6;text-align:center}.btn-acknowledge{background-color:#28a745;color:#fff;border:none;padding:14px 24px;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:400px;transition:background-color .2s ease}.btn-acknowledge:hover:not(:disabled){background-color:#218838}.btn-acknowledge:disabled{opacity:.7;cursor:not-allowed}.viewer-footer-note{margin:12px 0 0;font-size:.8rem;color:#6c757d}.btn-icon-spin{display:inline-block;animation:spin 1s linear infinite}@media(max-width:768px){.policy-viewer-header{padding:8px 12px}.viewer-title h2{font-size:1rem}.viewer-zoom-controls{display:none}.viewer-btn-fullscreen,.viewer-btn-download,.viewer-btn-close{width:36px;height:36px;font-size:18px}.btn-acknowledge{padding:12px 20px;font-size:.95rem}.policy-viewer-content{background-color:#fff}}@media(max-width:768px)and (orientation:landscape){.policy-viewer-header{padding:6px 10px}.viewer-title h2{font-size:.9rem}.btn-acknowledge{padding:10px 16px}}*{transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease;box-sizing:border-box}.policies-container{padding:20px;background:linear-gradient(135deg,#667eea0d,#764ba20d);min-height:calc(100vh - 60px)}.policies-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:25px 30px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;color:#fff;box-shadow:0 10px 30px #667eea33}.policies-header h1{margin:0;font-size:2rem;font-weight:600;display:flex;align-items:center;gap:12px}.policies-header p{margin:8px 0 0;opacity:.9;font-size:15px;font-weight:400}.policies-header small{display:inline-block;margin-top:10px;padding:4px 12px;background:#fff3;border-radius:20px;font-size:12px}.policies-filters{display:flex;gap:15px;margin-bottom:30px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000000d;border:1px solid #eef2f7;flex-wrap:wrap;align-items:center}.policies-filters .search-box{flex:1;min-width:250px;position:relative}.policies-filters input{width:100%;padding:12px 45px 12px 20px;border:2px solid #eef2f7;border-radius:10px;font-size:14px;transition:all .3s ease;background:#fff;color:#2d3748}.policies-filters input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;background:#fff}.policies-filters input::placeholder{color:#a0aec0}.policies-filters .search-box span{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:#667eea;font-size:16px}.policies-filters select{padding:12px 40px 12px 20px;border:2px solid #eef2f7;border-radius:10px;background:#fff;color:#2d3748;font-size:14px;min-width:160px;cursor:pointer;transition:all .3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 15px center;background-size:15px}.policies-filters select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.policies-stats{margin-bottom:15px;color:#718096;font-size:14px;padding:0 5px}.alert{display:flex;align-items:center;padding:20px;margin-bottom:25px;border-radius:12px;border:none;background:linear-gradient(135deg,#ffd166,#ffb347);box-shadow:0 5px 20px #ffb34733;color:#333}.alert-warning{background:linear-gradient(135deg,#ffd166,#ffb347)}.alert-icon{font-size:1.8rem;margin-right:20px;background:#fff;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #0000001a}.alert-content{flex:1}.alert-content strong{display:block;margin-bottom:5px;font-size:1.1rem;color:#333}.alert-content p{margin:0 0 15px;color:#333;font-size:14px;opacity:.9}.alert-actions{display:flex;gap:10px;align-items:center}.alert-actions .btn-primary,.alert-actions .btn-secondary{display:inline-flex;align-items:center;gap:6px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 25px;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 15px #667eea4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px 20px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#fff;color:#495057;border:2px solid #eef2f7;padding:12px 25px;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}.btn-secondary:hover{background:#f8f9fa;border-color:#667eea}.btn-sm{padding:8px 16px;font-size:13px}.btn-icon{margin-right:8px;display:inline-flex;align-items:center}.btn-icon-spin{margin-right:5px;animation:spin 1s linear infinite}.btn-clear-filters{margin-left:auto}.policies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:25px;margin-top:20px}.policy-card{background:#fff;border-radius:16px;border:1px solid #eef2f7;overflow:hidden;transition:all .3s ease;position:relative;box-shadow:0 5px 15px #0000000d}.policy-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001a}.policy-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 20px 0}.policy-category{padding:6px 15px;border-radius:50px;color:#fff;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 3px 8px #0000001a}.policy-actions-admin{display:flex;align-items:center}.policy-card-body{padding:20px}.policy-card-body h3{margin:0 0 12px;font-size:1.2rem;color:#2d3748;font-weight:600;line-height:1.4}.policy-description{color:#718096;font-size:14px;margin-bottom:20px;line-height:1.6;min-height:70px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.policy-meta{display:flex;gap:20px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #eef2f7;flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#718096;background:#f7fafc;padding:6px 12px;border-radius:8px}.meta-icon{margin-right:6px;font-size:14px}.policy-footer{display:flex;justify-content:space-between;align-items:center}.policy-actions-buttons{display:flex;gap:8px;flex-wrap:wrap}.status-badge{padding:6px 12px;border-radius:8px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:6px;box-shadow:0 2px 5px #0000000d}.status-acknowledged{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724;border:1px solid #b8dfc2}.status-pending{background:linear-gradient(135deg,#fff3cd,#ffeeba);color:#856404;border:1px solid #ffe8a1}.status-info{background:linear-gradient(135deg,#d1ecf1,#bee5eb);color:#0c5460;border:1px solid #abdde5}.status-warning{background:linear-gradient(135deg,#fff3cd,#ffeeba);color:#856404;border:1px solid #ffe8a1}.status-success{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724;border:1px solid #b8dfc2}.status-icon{margin-right:5px}.btn-action{padding:10px 12px!important;border:none;border-radius:8px!important;font-size:0!important;cursor:pointer;display:inline-flex!important;align-items:center!important;justify-content:center!important;transition:all .2s ease!important;font-weight:600;min-width:44px!important;height:44px!important;position:relative}.btn-action .action-icon{font-size:1.2rem!important;margin:0!important;line-height:1}.btn-action .action-text{display:none!important}@media(min-width:769px){.btn-action:hover:after{content:attr(title);position:absolute;bottom:-30px;left:50%;transform:translate(-50%);background:#2d3748;color:#fff;padding:4px 8px;border-radius:4px;font-size:.75rem;white-space:nowrap;z-index:1000;pointer-events:none}}.btn-view{background:linear-gradient(135deg,#0d6efd,#0dcaf0)!important;color:#fff!important}.btn-acknowledge{background:linear-gradient(135deg,#198754,#20c997)!important;color:#fff!important}.btn-download{background:linear-gradient(135deg,#6c757d,#adb5bd)!important;color:#fff!important}.btn-action:hover:not(:disabled){transform:translateY(-2px)!important;box-shadow:0 4px 12px #00000026!important}.btn-action:disabled{opacity:.5;cursor:not-allowed}.btn-icon-delete{background:#dc35451a;border:1px solid rgba(220,53,69,.2);color:#dc3545;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.btn-icon-delete:hover{background:#dc3545;color:#fff;transform:scale(1.1)}.btn-icon-delete:disabled{opacity:.5;cursor:not-allowed;transform:none}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:40px;font-size:16px;color:#667eea;font-weight:500}.loading-spinner span{animation:spin 1s linear infinite}.action-icon-spin{animation:spin 1s linear infinite;display:inline-flex;align-items:center;margin-right:5px}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:16px;border:2px dashed #eef2f7}.empty-icon{margin-bottom:20px;opacity:.5}.empty-state h3{margin:0 0 10px;color:#2d3748;font-weight:600}.empty-state p{color:#718096;margin-bottom:30px}.empty-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.upload-container{padding:20px;background:linear-gradient(135deg,#667eea0d,#764ba20d);min-height:calc(100vh - 60px)}.upload-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:25px 30px;background:#fff;border-radius:16px;box-shadow:0 5px 20px #0000000d}.upload-header h1{margin:0;font-size:1.8rem;color:#2d3748;display:flex;align-items:center;gap:10px}.upload-form{max-width:800px;background:#fff;padding:30px;border-radius:16px;box-shadow:0 5px 20px #0000000d;margin:0 auto}.form-group{margin-bottom:25px}.form-group label{display:block;margin-bottom:10px;font-weight:600;color:#2d3748;font-size:14px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 20px;border:2px solid #eef2f7;border-radius:10px;font-size:14px;transition:all .3s ease;background:#fff;color:#2d3748}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;background:#fff}.form-group input::placeholder,.form-group textarea::placeholder{color:#a0aec0}.form-hint{display:block;margin-top:8px;color:#718096;font-size:12px}.form-row{display:flex;gap:20px}.form-row .form-group{flex:1}.checkbox-group{background:#f8f9fa;padding:15px;border-radius:10px;border:2px solid #eef2f7}.checkbox-label{display:flex;align-items:center;gap:12px;margin-bottom:8px;cursor:pointer;font-weight:500;color:#e7e9ec}.checkbox-label input[type=checkbox]{width:18px;height:18px;margin:0;cursor:pointer;accent-color:#667eea}.file-upload-area{border:3px dashed #eef2f7;border-radius:12px;padding:40px 20px;text-align:center;background:#26588a;transition:all .3s ease}.file-upload-area:hover{border-color:#667eea;background:#f8f9ff}.file-upload-label{cursor:pointer;display:block}.upload-icon{margin-bottom:20px;color:#667eea}.file-upload-label h4{margin:0 0 10px;color:#2d3748;font-weight:600}.file-upload-label p{margin:5px 0;color:#718096;font-size:14px}.file-preview{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#fff;border-radius:10px;border:2px solid #eef2f7}.file-info{display:flex;align-items:center;gap:15px;color:#2d3748}.file-info strong{color:#2d3748}.file-info p{color:#718096;margin:4px 0 0}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:40px;padding-top:20px;border-top:2px solid #eef2f7}.acknowledgments-container{padding:20px;background:linear-gradient(135deg,#667eea0d,#764ba20d);min-height:calc(100vh - 60px)}.acknowledgments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:25px 30px;background:#fff;border-radius:16px;box-shadow:0 5px 20px #0000000d}.acknowledgments-header h1{margin:0;font-size:1.8rem;color:#2d3748;display:flex;align-items:center;gap:10px}.header-actions{display:flex;gap:10px}.acknowledgments-stats{margin-bottom:15px;color:#718096;font-size:14px;padding:0 5px}.table-responsive{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 5px 20px #0000000d}.table{width:100%;border-collapse:collapse;background:#fff}.table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.table th{padding:16px 20px;text-align:left;font-weight:600;font-size:14px;border:none;color:#fff}.table tbody tr{border-bottom:1px solid #eef2f7;transition:background .2s;background:#fff}.table tbody tr:hover{background:#fafbfc}.table td{padding:16px 20px;font-size:14px;color:#4a5568;background:#fff}.table td strong{color:#2d3748}.table td small{color:#718096}.category-badge{padding:6px 12px;border-radius:6px;color:#fff;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{background:#fff;border-radius:20px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px #0003;animation:modalSlideIn .3s ease;overflow:hidden}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:20px 24px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center;background:#f8f9fa}.modal-header h2{margin:0;font-size:1.3rem;font-weight:600;color:#2d3748;display:flex;align-items:center;gap:8px}.modal-icon{font-size:1.5rem}.btn-close{background:none;border:none;font-size:28px;cursor:pointer;color:#6c757d;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.btn-close:hover{background:#e9ecef;color:#2d3748}.btn-close:disabled{opacity:.5;cursor:not-allowed}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-footer{padding:20px 24px;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;gap:12px;background:#f8f9fa}.policy-info-confirm{margin-bottom:24px}.policy-info-confirm h3{margin:0 0 8px;font-size:1.1rem;font-weight:600;color:#2d3748;word-break:break-word}.confirmation-warning{margin:0;font-size:.95rem;color:#6c757d}.confirmation-checkboxes{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.checkbox-item{background:#f8f9fa;border:2px solid #e9ecef;border-radius:14px;transition:all .2s ease}.checkbox-item:hover{border-color:#667eea;background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #667eea1a}.checkbox-label-confirm{display:flex;align-items:flex-start;gap:16px;padding:16px;cursor:pointer;width:100%}.checkbox-label-confirm input[type=checkbox]{width:22px;height:22px;margin-top:2px;cursor:pointer;accent-color:#667eea;flex-shrink:0}.checkbox-content{flex:1}.checkbox-content strong{display:block;margin-bottom:4px;font-size:1rem;font-weight:600;color:#2d3748}.checkbox-content small{display:block;font-size:.85rem;color:#6c757d;line-height:1.4}.checkbox-item:has(input:checked){background:#e8f0fe;border-color:#667eea;box-shadow:0 4px 12px #667eea33}.checkbox-item:has(input:checked) .checkbox-content strong{color:#667eea}.confirmation-footer{background:#f8f9fa;border-radius:12px;padding:16px;border-left:4px solid #667eea}.confirmation-note{margin:0;font-size:.9rem;color:#2d3748}.confirmation-note p{margin:4px 0}.confirmation-note strong{color:#2d3748}.multiple-warning{color:#dc3545!important;font-size:.9rem;margin-top:8px!important;padding-top:8px;border-top:1px solid #e9ecef}@media(max-width:768px){.modal{max-width:95%;border-radius:16px}.modal-header{padding:16px 20px}.modal-header h2{font-size:1.1rem}.modal-body{padding:20px}.modal-footer{padding:16px 20px;flex-direction:column}.modal-footer button{width:100%}.checkbox-label-confirm{padding:14px;gap:12px}.checkbox-content strong{font-size:.95rem}.checkbox-content small{font-size:.8rem}}@media(max-width:480px){.modal-header h2{font-size:1rem}.checkbox-label-confirm{padding:12px;gap:10px}.checkbox-content strong{font-size:.9rem}.confirmation-footer{padding:12px}}.header-icon{margin-right:10px}@media(max-width:1024px){.policies-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.policies-header h1{font-size:1.8rem}}@media(max-width:768px){.policies-header{flex-direction:column;align-items:flex-start;gap:16px;padding:20px}.policies-header h1{font-size:1.5rem}.btn-mobile-responsive{width:100%;justify-content:center}.btn-text{display:inline-block}.filters-mobile{flex-direction:column;gap:12px;padding:16px}.filter-controls{display:flex;gap:10px;width:100%}.filter-controls select{flex:1}.select-mobile{padding:12px;font-size:16px;min-width:auto}.search-box-mobile{width:100%}.btn-clear-filters{width:100%;margin-left:0}.alert-mobile{flex-direction:column;align-items:flex-start;padding:16px}.alert-icon{margin-bottom:8px;margin-right:0}.btn-mobile-block{width:100%}.policies-grid-mobile{grid-template-columns:1fr;gap:16px}.policy-card-mobile{margin-bottom:0}.policy-title-mobile{font-size:1.1rem;margin-bottom:8px}.policy-description-mobile{font-size:.9rem;line-height:1.4;min-height:auto}.policy-meta-mobile{flex-wrap:wrap;gap:8px}.meta-item{width:calc(50% - 8px);margin:0}.policy-footer{flex-direction:column;align-items:flex-start;gap:15px}.actions-mobile{flex-direction:row;width:100%}.btn-action-mobile{flex:1;min-width:48px!important;height:48px!important}.upload-container-mobile{padding:16px}.upload-header{flex-direction:column;align-items:flex-start;gap:16px;padding:20px}.upload-header h1{font-size:1.5rem}.form-row-mobile{flex-direction:column;gap:16px}.input-mobile,.textarea-mobile,.select-mobile{font-size:16px;padding:12px}.file-upload-area-mobile{min-height:200px;padding:30px 16px}.file-upload-label-mobile{padding:24px 16px}.file-name-mobile{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-preview-mobile{flex-direction:column;align-items:flex-start;gap:12px}.file-info{width:100%}.form-actions-mobile{flex-direction:column;gap:12px}.btn-mobile-half{width:100%}.btn-mobile-full{width:100%;margin:4px 0}.acknowledgments-container-mobile{padding:16px}.acknowledgments-header{flex-direction:column;align-items:flex-start;gap:16px;padding:20px}.acknowledgments-header h1{font-size:1.5rem}.header-actions{display:flex;width:100%;gap:10px}.header-actions button{flex:1}.table-mobile{display:block;width:100%}.table-mobile thead{display:none}.table-mobile tbody tr{display:block;padding:16px;margin-bottom:16px;background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;border:1px solid #eef2f7}.table-mobile tbody td{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border:none;border-bottom:1px solid #eef2f7}.table-mobile tbody td:last-child{border-bottom:none}.table-mobile tbody td:before{content:attr(data-label);font-weight:600;color:#4a5568;min-width:120px}.action-buttons{flex-direction:row;width:100%}.action-buttons .btn-action{flex:1;min-width:auto}.empty-state-mobile{padding:32px 16px}.empty-actions{display:flex;flex-direction:column;gap:10px;width:100%}.modal-mobile{width:95%;margin:20px auto;max-height:90vh;overflow-y:auto}.confirmation-checkboxes{gap:12px}}@media(max-width:480px){.policies-filters{padding:12px}.filter-controls{flex-direction:column;gap:8px}.filter-controls select{width:100%}.policy-card-body{padding:16px}.policy-meta{gap:8px}.meta-item{width:100%}.policy-actions-buttons{flex-direction:column;width:100%}.policy-actions-buttons .btn-action{width:100%}.table-mobile tbody td{flex-direction:column;align-items:flex-start;gap:4px}.table-mobile tbody td:before{margin-bottom:4px}.action-buttons{flex-direction:column;width:100%}.action-buttons .btn-action{width:100%}.modal-header h2{font-size:1rem}.confirmation-title{font-size:.95rem}.checkbox-label-confirm{padding:12px}.checkbox-content strong{font-size:.9rem}.checkbox-content small{font-size:.75rem}}button,.btn-action,.btn-primary,.btn-secondary,select,.checkbox-label-confirm,.btn-icon-delete,.file-upload-label{min-height:44px}input[type=text],input[type=date],input[type=email],input[type=password],select,textarea{font-size:16px!important}@media print{.policies-header,.policies-filters,.alert,.btn-action,.btn-primary,.btn-secondary,.policy-actions-buttons,.modal-overlay{display:none}.policy-card{break-inside:avoid;border:1px solid #ddd;box-shadow:none}.policy-card:hover{transform:none}}@media(prefers-contrast:high){.policy-card,.btn-primary,.btn-view,.btn-acknowledge,.btn-download{border:2px solid #000}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.ceo-onboarding-container{padding:20px;background:#f8fafc;border-radius:16px;min-height:calc(100vh - 100px)}.ceo-onboarding-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e2e8f0}.ceo-onboarding-header h2{font-size:1.8rem;font-weight:700;color:#1e293b;margin:0 0 8px;display:flex;align-items:center;gap:10px}.header-icon{font-size:2rem}.header-subtitle{color:#64748b;margin:0;font-size:1rem}.btn-refresh{padding:10px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;font-weight:500;cursor:pointer;transition:all .2s}.btn-refresh:hover{background:#f1f5f9;border-color:#94a3b8}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px}.stat-card{background:#fff;border-radius:16px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px #0000000d;transition:transform .2s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a}.stat-card.total{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border-left:4px solid #0284c7}.stat-card.in-progress{background:linear-gradient(135deg,#fef9c3,#fef08a);border-left:4px solid #ca8a04}.stat-card.completed{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-left:4px solid #16a34a}.stat-card.probation{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);border-left:4px solid #9333ea}.stat-icon{font-size:2.5rem}.stat-content{flex:1}.stat-value{font-size:2rem;font-weight:700;color:#1e293b;line-height:1;margin-bottom:4px}.stat-label{color:#475569;font-weight:500;font-size:.9rem}.filter-section{margin-bottom:24px}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{padding:8px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:30px;color:#64748b;font-weight:500;cursor:pointer;transition:all .2s;font-size:.9rem}.filter-btn:hover{background:#f1f5f9;border-color:#94a3b8}.filter-btn.active{background:#8b5cf6;color:#fff;border-color:#8b5cf6}.onboarding-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px}.onboarding-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 8px #0000000d;transition:all .2s;cursor:pointer;border:1px solid #e2e8f0;display:flex;flex-direction:column;height:100%}.onboarding-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a;border-color:#8b5cf6}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.applicant-info{display:flex;gap:12px}.applicant-avatar{width:48px;height:48px;background:linear-gradient(135deg,#8b5cf6,#6d28d9);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;font-weight:600}.applicant-info h4{margin:0 0 4px;color:#1e293b;font-size:1.1rem}.applicant-position{margin:0;color:#64748b;font-size:.85rem}.status-badge{padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.progress-section{margin-bottom:16px}.progress-bar{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;margin-bottom:4px}.progress-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#c084fc);border-radius:3px;transition:width .3s}.progress-text{font-size:.75rem;color:#64748b}.card-details{flex:1;margin-bottom:16px}.detail-item{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed #f1f5f9;font-size:.85rem;color:#475569}.detail-item:last-child{border-bottom:none}.detail-item.success{color:#16a34a}.detail-item.reminder{color:#9333ea}.detail-icon{font-size:1rem;width:20px}.view-details-btn{width:100%;padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;font-weight:500;cursor:pointer;transition:all .2s;margin-top:auto}.view-details-btn:hover{background:#8b5cf6;color:#fff;border-color:#8b5cf6}.loading-state{text-align:center;padding:60px;background:#fff;border-radius:16px}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #8b5cf6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:60px;background:#fff;border-radius:16px;grid-column:1 / -1}.empty-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.empty-state h3{color:#1e293b;margin:0 0 8px}.empty-state p{color:#64748b;margin:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#fff;z-index:1;border-radius:16px 16px 0 0}.modal-header h3{margin:0;color:#1e293b;font-size:1.3rem}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#64748b;padding:4px 8px;border-radius:8px}.modal-close:hover{background:#f1f5f9;color:#1e293b}.modal-body{padding:24px}.detail-sections{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.detail-section{background:#f8fafc;border-radius:12px;padding:16px}.detail-section h4{margin:0 0 16px;color:#1e293b;font-size:1rem;display:flex;align-items:center;gap:6px}.detail-grid{display:flex;flex-direction:column;gap:8px}.detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e2e8f0;font-size:.9rem}.detail-row:last-child{border-bottom:none}.detail-row span:first-child{color:#64748b;font-weight:500}.detail-row span:last-child{color:#1e293b;font-weight:600}.status-text.accepted{color:#16a34a}.status-text.pending{color:#ca8a04}.status-text.rejected{color:#dc2626}.checks-list{display:flex;flex-direction:column;gap:8px}.check-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e2e8f0}.check-item:last-child{border-bottom:none}.check-complete{color:#16a34a;font-weight:600}.check-pending{color:#ca8a04;font-weight:600}.assets-list{display:flex;flex-direction:column;gap:8px}.asset-item{display:flex;align-items:center;gap:10px;padding:8px;background:#fff;border-radius:8px}.asset-icon{font-size:1.3rem}.asset-info{flex:1;display:flex;flex-direction:column}.asset-info strong{color:#1e293b;font-size:.9rem}.asset-info small{color:#64748b;font-size:.75rem}.reminder-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#fff;border-radius:8px;margin-bottom:8px}.reminder-item:last-child{margin-bottom:0}.reminder-icon{font-size:1.2rem}.reminder-info{flex:1}.reminder-info strong{display:block;color:#1e293b;margin-bottom:4px}.reminder-info p{margin:2px 0;color:#64748b;font-size:.85rem}.completed-text{color:#16a34a!important;font-weight:500}.no-data{color:#94a3b8;font-style:italic;margin:8px 0}.probation-status{padding:4px 8px;border-radius:20px;font-size:.75rem;font-weight:600}.probation-status.active{background:#fef3c7;color:#92400e}.probation-status.completed{background:#d1fae5;color:#065f46}.probation-status.extended{background:#dbeafe;color:#1e40af}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.detail-sections{grid-template-columns:1fr}}@media(max-width:768px){.ceo-onboarding-header{flex-direction:column;align-items:flex-start;gap:16px}.stats-grid,.onboarding-grid{grid-template-columns:1fr}.modal-content{margin:10px}}:root{--primary-black: #000000;--primary-white: #FFFFFF;--gray-light: #F5F5F5;--gray-medium: #E0E0E0;--gray-dark: #757575;--success: #4CAF50;--warning: #FF9800;--error: #F44336;--info: #2196F3}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:14px;line-height:1.5;color:var(--primary-black);background-color:var(--gray-light)}.container{width:100%;padding:16px;margin:0 auto}@media(min-width:768px){body{font-size:16px}.container{max-width:720px;padding:24px}}@media(min-width:992px){.container{max-width:960px}}@media(min-width:1200px){.container{max-width:1140px}}button,input[type=submit],input[type=button],a.button{min-height:44px;min-width:44px;padding:12px 24px}.mobile-only{display:block}.desktop-only{display:none}@media(min-width:768px){.mobile-only{display:none}.desktop-only{display:block}}.card{background:var(--primary-white);border-radius:8px;border:1px solid var(--gray-medium);padding:16px;margin-bottom:16px;box-shadow:0 2px 4px #0000000d}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-weight:600;color:var(--primary-black)}.form-input{width:100%;padding:12px;border:1px solid var(--gray-medium);border-radius:6px;font-size:16px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:var(--primary-white);border-top:1px solid var(--gray-medium);padding:8px;z-index:1000}.mobile-nav ul{display:flex;justify-content:space-around;list-style:none}.mobile-nav a{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--gray-dark);font-size:12px}.mobile-nav a.active{color:var(--primary-black)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.file-preview{margin-top:12px;padding:12px;background:var(--gray-light);border-radius:6px;border:1px dashed var(--gray-medium)}
