@charset "UTF-8";.modal-content.login-modal{max-width:520px;width:min(92vw,520px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;margin:16px auto;display:flex;flex-direction:column;padding:1.05rem;border-radius:20px}.modal-content.login-modal .modal-body{overflow:visible!important}.container.sign-in{background-color:var(--white);max-width:900px;width:100%;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #00000026;margin:auto;padding:2rem 3rem;display:flex;flex-direction:column;align-items:center}.row{display:flex;flex-wrap:wrap;width:100%}.col{flex:1;min-width:300px;padding:2rem}.flex-col{display:flex;flex-direction:column}.align-items-center{display:flex;align-items:center;justify-content:center}.form-wrapper{width:100%;max-width:500px;margin:0 auto;padding:0}.form{width:100%}.form-group{display:flex;flex-direction:column;gap:.2rem}.field-label{font-size:.9rem;font-weight:600;color:#374151;margin-bottom:.1rem;text-align:left}.input-group{display:flex;align-items:center;position:relative;background-color:transparent;padding:.25rem 0;border-radius:8px;margin-bottom:.25rem;min-width:300px}.input-group.has-password-toggle .login-password-input{padding-right:2.2rem}.login-password-toggle{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);width:1.9rem!important;height:1.9rem!important;min-width:1.9rem!important;min-height:1.9rem!important;margin:0!important;padding:0!important;border:none!important;border-radius:999px;background:transparent!important;box-shadow:none!important;color:#94a3b8;display:inline-flex!important;align-items:center;justify-content:center;cursor:pointer;z-index:2}.login-password-toggle:hover,.login-password-toggle:focus,.login-password-toggle:active,.login-password-toggle:focus-visible{background:transparent!important;box-shadow:none!important;color:#38bdf8}@media (max-width: 600px){.input-group{min-width:75vw;max-width:90vw;padding:.2rem .3rem;margin-left:auto;margin-right:auto}.input-group input{font-size:.97rem;padding:.3rem 0}.modal-content.login-modal{max-width:93vw!important;min-width:0!important;width:98vw!important;padding-left:.5rem!important;padding-right:.5rem!important;padding-bottom:max(.3rem,env(safe-area-inset-bottom))!important;min-height:320px!important;max-height:calc(100dvh - 24px)!important;height:auto!important;overflow:auto!important;border-radius:2rem!important}.modal-content{max-width:90vw!important;min-width:0!important;width:92vw!important;padding-left:.5rem!important;padding-right:.5rem!important;max-height:calc(100dvh - 48px)!important;overflow:auto!important}.login-submit-btn{width:80%;margin-left:auto;margin-right:auto;display:block;font-size:.98rem;padding:.55rem 0;margin-top:.18rem!important}.login-title{margin-top:1.5rem!important}.login-footer{margin-top:.08rem!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:1.4rem;padding-bottom:.1rem}.login-footer p{margin:0!important;line-height:1.2}.login-links{width:80%;margin-left:auto;margin-right:auto;justify-content:flex-end;margin-top:.05rem}}.input-group .input-icon{margin-right:.5rem;color:#a0aec0;font-size:1.2rem}.input-group input{border:none;outline:none;background:transparent;width:100%;font-size:1rem;color:#22223b;padding:.3rem 0;flex:1}button{width:100%;padding:.6rem;background-color:#221f5f;color:var(--white);border:none;border-radius:8px;font-weight:700;font-size:1rem;cursor:pointer;transition:background .3s ease;margin-top:.5rem}button:hover{background-color:#2d1f6e}.login-links{display:flex;width:100%;justify-content:flex-end;align-items:center;text-align:right;margin-top:.06rem}.forgot-password{color:var(--primary-color);font-size:.9rem;cursor:pointer;text-decoration:underline;transition:color .2s ease}.forgot-password:hover{color:var(--secondary-color)}@media (max-width: 480px){.login-links{margin-top:.04rem}}.pointer{color:var(--primary-color);cursor:pointer;text-decoration:underline}p{margin-top:.5rem;font-size:.95rem;text-align:center}.login-form{margin-bottom:.1rem}.login-submit-btn{margin-top:.25rem}.login-footer{margin-top:.12rem!important}.login-footer p{margin-top:.12rem!important;margin-bottom:.1rem!important}.social-login{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.social-btn{display:flex;align-items:center;justify-content:center;padding:.6rem;border:none;border-radius:6px;color:#fff;font-weight:500;font-size:.95rem;cursor:pointer;transition:background .2s ease}.google-btn{background-color:var(--google-color)}.google-btn:hover{background-color:#c23321}.github-btn{background-color:var(--github-color)}.github-btn:hover{background-color:#1f1f1f}.text.sign-in{text-align:center;margin-bottom:1rem}.text.sign-in h2{font-size:2rem;color:var(--primary-color);margin-bottom:.5rem}.text.sign-in p{color:var(--gray-2)}.img.sign-in img{width:100%;max-width:350px;border-radius:10px;margin-top:1rem}.login-signup-container{max-width:400px;margin:2.5rem auto 0;padding:1.5rem;border:1px solid #e5e7eb;border-radius:.5rem;background:#fff}.login-signup-title{font-size:2rem;font-weight:700;margin-bottom:1.5rem;text-align:left}.login-signup-form-group{margin-bottom:1rem}.login-signup-label{display:block;font-size:1rem;font-weight:500;color:#374151;margin-bottom:.25rem}.login-signup-input{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;outline:none;font-size:1rem;transition:border-color .2s,box-shadow .2s}.login-signup-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #3b82f6}.login-signup-button{width:100%;padding:.5rem 1rem;border-radius:.375rem;font-size:1rem;font-weight:500;border:none;cursor:pointer;transition:background .2s,color .2s;margin-top:.25rem}.login-signup-button-primary{background:#2563eb;color:#fff}.login-signup-button-primary:hover{background:#1d4ed8}.login-signup-button-secondary{background:#e5e7eb;color:#374151}.login-signup-button-secondary:hover{background:#d1d5db}.login-signup-button:disabled,.login-signup-button[disabled]{background:#9ca3af;color:#fff;cursor:not-allowed}.login-signup-error{color:#dc2626;font-size:.875rem;margin-top:.75rem}.login-signup-role-group{display:flex;gap:1rem}.login-signup-role-label{display:inline-flex;align-items:center}.login-signup-radio{accent-color:#2563eb}.login-signup-role-text{margin-left:.5rem}.login-signup-button-back{margin-top:1rem}.login-signup-success{color:#16a34a;font-size:.875rem;margin-top:.75rem}.login-signup-success-action{margin-top:1rem}@media (max-width: 768px){.modal-overlay>.modal-content:not(.login-modal):not(.signup-modal){max-width:80vw!important;min-width:0!important;width:82vw!important;padding-left:.5rem!important;padding-right:.5rem!important;min-height:140px!important;height:auto!important;border-radius:16px!important;margin:12vh auto!important;display:flex;flex-direction:column;align-items:center;justify-content:center}.login-logo img{width:35px;height:35px}.login-subtitle{font-size:.65rem;margin-bottom:.12rem}.field-label{font-size:.55rem;margin-bottom:.008rem}.input-group{padding:.08rem 0;margin-bottom:.08rem;min-width:auto}.input-group input{font-size:.8rem;padding:.08rem 0}.input-group .input-icon{font-size:.85rem;margin-right:.35rem}.login-submit-btn{padding:.6rem 0;font-size:.95rem}.login-footer p{margin-top:.12rem!important;margin-bottom:.2rem!important}}@media (max-width: 480px){.modal-content.login-modal{padding:.6rem .5rem max(.35rem,env(safe-area-inset-bottom)) .5rem;max-width:98vw;margin:.25rem auto;min-height:240px!important;max-height:calc(100dvh - 16px)!important;height:auto!important;overflow:auto!important;border-radius:1.5rem!important}.login-title{font-size:1rem;margin-bottom:.02rem}.login-logo img{width:30px;height:30px}.login-subtitle{font-size:.6rem;margin-bottom:.1rem}.field-label{font-size:.5rem;margin-bottom:.006rem}.input-group{padding:.06rem 0;margin-bottom:.06rem}.input-group input{font-size:.75rem;padding:.06rem 0}.input-group .input-icon{font-size:.75rem;margin-right:.25rem}.login-submit-btn{padding:.48rem 0;margin-top:.16rem!important;font-size:.85rem}.login-footer{margin-top:0rem!important;font-size:.6rem;display:flex!important;align-items:center!important;justify-content:center!important;min-height:1.3rem;padding-bottom:.08rem}.login-footer p{margin:0!important;line-height:1.2}}@media (max-width: 360px){.modal-content.login-modal{padding:.5rem .4rem max(.3rem,env(safe-area-inset-bottom)) .4rem;max-width:99vw;margin:.15rem auto;min-height:180px!important;max-height:calc(100dvh - 12px)!important;height:auto!important;overflow:auto!important;border-radius:1.2rem!important}.login-title{font-size:.9rem;margin-bottom:.015rem}.login-logo img{width:25px;height:25px}.login-subtitle{font-size:.55rem;margin-bottom:.08rem}.field-label{font-size:.45rem;margin-bottom:.004rem}.input-group{padding:.04rem 0;margin-bottom:.04rem}.input-group input{font-size:.7rem;padding:.04rem 0}.input-group .input-icon{font-size:.7rem;margin-right:.2rem}.login-submit-btn{padding:.44rem 0;margin-top:.14rem!important;font-size:.8rem}.login-footer{margin-top:0rem!important;font-size:.55rem;display:flex!important;align-items:center!important;justify-content:center!important;min-height:1.2rem;padding-bottom:.06rem}.login-footer p{margin:0!important;line-height:1.2}}.modal-content.login-modal .login-form{margin-bottom:.04rem!important}.modal-content.login-modal .login-submit-btn{margin-top:.12rem!important;margin-bottom:0rem!important}.modal-content.login-modal .login-links{margin-top:.02rem!important;justify-content:flex-end!important}.modal-content.login-modal .login-footer{margin-top:.08rem!important}.modal-content.login-modal .login-footer p{margin-top:.08rem!important;margin-bottom:.08rem!important}.modal-content.login-modal .login-title{margin-top:.2rem;margin-bottom:.3rem;text-align:center}.modal-content.login-modal .login-subtitle{margin-bottom:.45rem}.input-group .signup-position-select,.form-group .signup-position-select{width:100%!important;padding:.6rem 2.2rem .6rem 2.5rem!important;border:"";outline:none!important;background:"";font-size:1rem!important;color:#333!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;box-shadow:none!important}@media (max-width: 600px){.signup-form-grid{display:flex!important;flex-direction:column!important;gap:1rem!important;grid-template-columns:none!important}.form-group[style*=gridColumn]{grid-column:unset!important}}@media (max-width: 480px){.modal-content.signup-modal{width:93vw!important;max-width:93vw!important;min-width:0!important;left:0!important;right:0!important;margin:0!important;border-radius:1.5rem!important;padding:1.2rem .7rem!important;box-shadow:0 2px 16px #0002;min-height:320px!important;max-height:95vh!important;height:auto!important;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}.signup-modal .login-signup-container{box-shadow:none;border:none;padding:0;margin:0;max-width:100vw;width:100vw;background:transparent}.signup-modal .login-signup-title{font-size:1.3rem;margin-bottom:1rem;text-align:center}.signup-modal .login-signup-form-group{margin-bottom:.7rem}.signup-modal .login-signup-label{font-size:.95rem;margin-bottom:.18rem}.signup-modal .login-signup-input{font-size:1rem;padding:.55rem .7rem;border-radius:.7rem}.signup-modal .login-signup-button{font-size:1.05rem;padding:.7rem 0;border-radius:.7rem;margin-top:.5rem}.signup-modal .login-signup-error{font-size:.85rem;margin-top:.5rem}.signup-modal .login-signup-role-group{flex-direction:column;gap:.5rem;margin-bottom:.7rem}.signup-modal .login-signup-success{font-size:.9rem;margin-top:.7rem}.signup-modal .login-signup-success-action{margin-top:.8rem}.signup-modal .login-signup-button-back{margin-top:.7rem}}.modal-content.signup-modal{border-radius:24px;box-shadow:0 8px 32px #0000002e;background:#fff;padding:.15rem .4rem .1rem;max-width:880px;width:95%;margin:.3rem auto;position:relative;height:750px;max-height:750px;display:flex;flex-direction:column;overflow:hidden}.signup-title{font-size:.8rem;font-weight:700;text-align:center;margin-top:2rem;margin-bottom:.01rem;color:#22223b}.signup-logo{display:flex;justify-content:center;align-items:center;margin-top:.3rem;margin-bottom:.02rem}.signup-logo img{width:180px;height:20px;object-fit:contain}.signup-subtitle{text-align:center;color:#6c757d;margin-top:.05rem;margin-bottom:.1rem;font-size:.5rem}.signup-header{flex:0 0 auto;text-align:center;padding-bottom:.4rem}.modern-signup-grid{display:grid;grid-template-columns:1fr 1fr;gap:.06rem .5rem;margin-top:.1rem;margin-bottom:.06rem;width:100%;box-sizing:border-box}@media (max-width: 768px){.modern-signup-grid{grid-template-columns:1fr!important;gap:.06rem 0!important}}.modern-signup-grid .form-group[style*=gridColumn]{grid-column:1/3}.form-group{display:flex;flex-direction:column;gap:.1rem}.field-label{font-size:.4rem;font-weight:600;color:#374151;margin-bottom:.002rem;text-align:left}.form-group label{font-size:1rem;font-weight:500;color:#22223b;margin-bottom:.2rem}.form-group input,.form-group select{width:100%;padding:.75rem .75rem .75rem 2.2rem;border-radius:10px;border:1.5px solid #e0e7ef;background:#f6f8fa;font-size:1rem;color:#22223b;transition:border .2s,box-shadow .2s;outline:none;box-sizing:border-box}.signup-scroll-area{overflow-y:auto;padding-right:.2rem;-webkit-overflow-scrolling:touch}.signup-form{display:block;box-sizing:border-box}.modal-content.signup-modal>.modal-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.signup-scroll-area{flex:1 1 auto;min-height:0}.signup-modal-footer{flex:0 0 auto;padding-top:.2rem}.form-group input:focus,.form-group select:focus{border:1.5px solid #38bdf8;background:#fff;box-shadow:0 0 0 2px #bae6fd}.input-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#a0aec0;font-size:1.2rem;pointer-events:none}.form-group>div[style*=relative]{position:relative}.input-group{display:flex;align-items:center;position:relative;background-color:transparent;padding:.06rem 0;border-radius:8px;margin-bottom:.04rem;min-width:0;width:100%;box-sizing:border-box}.input-group .input-icon{margin-right:.3rem;color:#a0aec0;font-size:.9rem}.input-group input,.input-group select{border:none;outline:none;background:transparent;width:100%;font-size:.65rem;color:#22223b;padding:.06rem 0;flex:1}.input-group input[type=password]{-webkit-text-security:disc}.input-group.has-password-toggle .password-input{padding-right:2rem}.password-toggle-btn{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);width:1.8rem;height:1.8rem;min-width:1.8rem;min-height:1.8rem;margin:0;padding:0;border:none;border-radius:999px;background:transparent!important;box-shadow:none!important;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.password-toggle-btn svg{color:#a0aec0;transition:color .2s}.password-toggle-btn:hover svg{color:#38bdf8}.password-toggle-btn:hover,.password-toggle-btn:focus,.password-toggle-btn:active,.password-toggle-btn:focus-visible{background:transparent!important;box-shadow:none!important}.password-strength-container{margin-top:.2rem}.password-label-row{display:flex;align-items:center;justify-content:space-between;gap:.35rem}.password-guidance-inline{font-size:.56rem;color:#6b7280;text-align:right;line-height:1.25}.password-strength-track{width:100%;height:.35rem;background:#e5e7eb;border-radius:999px;overflow:hidden}.password-strength-fill{height:100%;width:0;transition:width .2s ease,background-color .2s ease}.password-strength-fill.is-weak{background:#ef4444}.password-strength-fill.is-fair{background:#f97316}.password-strength-fill.is-good{background:#f59e0b}.password-strength-fill.is-strong{background:#16a34a}.password-strength-label{margin-top:.15rem;font-size:.7rem;font-weight:600}.password-strength-label.is-weak{color:#b91c1c}.password-strength-label.is-fair{color:#c2410c}.password-strength-label.is-good{color:#b45309}.password-strength-label.is-strong{color:#166534}.signup-modal-footer{margin-top:.05rem;display:flex;flex-direction:column;gap:.08rem}.signup-submit-btn{width:100%;padding:.4rem 0;background:#221f5f;color:#fff;font-size:.8rem;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:background .2s,box-shadow .2s;box-shadow:0 2px 8px #1a11451f}.signup-submit-btn:disabled{background:#8b80b8;color:#fff;cursor:not-allowed}.signup-error{color:#ef4444;background:#fef2f2;border-radius:8px;padding:.45rem .75rem;font-size:.92rem;text-align:center}.signup-success{color:#059669;background:#f0fdf4;border-radius:8px;padding:.45rem .75rem;font-size:.92rem;text-align:center}.signup-footer{margin-top:0;text-align:center;font-size:.6rem;color:#6c757d}.signup-footer .login-link{color:#221f5f;font-weight:600;cursor:pointer;text-decoration:none;transition:color .2s}.signup-footer .login-link:hover{color:#2d1f6e;text-decoration:underline}@media (max-width: 768px){.modal-content.signup-modal{width:95vw;max-width:500px;height:auto;max-height:95vh;padding:.4rem .6rem .3rem;margin:.2rem auto;border-radius:16px;overflow:auto}.modern-signup-grid{grid-template-columns:1fr!important;gap:.1rem 0!important;margin-top:.2rem}.signup-title{font-size:.9rem;margin-top:.8rem}.signup-logo img{width:40px;height:100px}.signup-subtitle{font-size:.65rem;margin-bottom:.15rem}.field-label{font-size:.5rem;margin-bottom:.005rem}.input-group{padding:.1rem .4rem;margin-bottom:.08rem}.input-group .input-icon{margin-right:.25rem;font-size:.8rem}.input-group input,.input-group select{font-size:.75rem;padding:.1rem .2rem}.input-group select{max-height:200px;overflow-y:auto}.signup-modal-footer{margin-top:.25rem;gap:.15rem}.signup-submit-btn{padding:.6rem 0;font-size:.9rem}.signup-footer{margin-top:.15rem;font-size:.65rem}}@media (max-width: 600px){.modal-content.signup-modal{width:98vw;max-width:450px;padding:.3rem .5rem .2rem;margin:.1rem auto;border-radius:14px;overflow:auto}.modern-signup-grid{grid-template-columns:1fr!important;gap:.08rem 0!important;margin-top:.15rem}.signup-title{font-size:.85rem;margin-top:.6rem}.signup-logo img{width:36px;height:36px}.signup-subtitle{font-size:.6rem;margin-bottom:.12rem}.field-label{font-size:.48rem;margin-bottom:.004rem}.input-group{padding:.08rem .3rem;margin-bottom:.06rem}.input-group .input-icon{margin-right:.2rem;font-size:.75rem}.input-group input,.input-group select{font-size:.7rem;padding:.08rem .15rem}.input-group select{max-height:180px;overflow-y:auto}.signup-modal-footer{margin-top:.2rem;gap:.12rem}.signup-submit-btn{padding:.55rem 0;font-size:.85rem}.signup-footer{margin-top:.12rem;font-size:.62rem}}@media (max-width: 480px){.modal-content.signup-modal{width:98vw;max-width:400px;padding:.3rem .5rem .2rem;margin:.1rem auto;border-radius:12px;overflow:auto}.signup-title{font-size:.8rem;margin-top:.6rem}.signup-logo img{width:25px;height:25px}.signup-subtitle{font-size:.6rem;margin-bottom:.12rem}.modern-signup-grid{grid-template-columns:1fr!important;gap:.08rem 0!important;margin-top:.15rem}.field-label{font-size:.45rem;margin-bottom:.004rem}.input-group{padding:.08rem .3rem;margin-bottom:.06rem}.input-group .input-icon{margin-right:.2rem;font-size:.75rem}.input-group input,.input-group select{font-size:.7rem;padding:.08rem .15rem}.input-group select{max-height:150px;overflow-y:auto}.signup-modal-footer{margin-top:.2rem;gap:.12rem}.signup-submit-btn{padding:.55rem 0;font-size:.85rem}.signup-footer{margin-top:.12rem;font-size:.6rem}}@media (max-width: 360px){.modal-content.signup-modal{width:100vw;max-width:350px;padding:.25rem .4rem .15rem;margin:.1rem auto;border-radius:10px;overflow:auto}.signup-title{font-size:.75rem;margin-top:.5rem}.signup-logo img{width:22px;height:22px}.signup-subtitle{font-size:.55rem;margin-bottom:.1rem}.modern-signup-grid{grid-template-columns:1fr!important;gap:.06rem 0!important;margin-top:.12rem}.field-label{font-size:.4rem;margin-bottom:.003rem}.input-group{padding:.06rem .25rem;margin-bottom:.05rem}.input-group .input-icon{margin-right:.15rem;font-size:.7rem}.input-group input,.input-group select{font-size:.65rem;padding:.06rem .12rem}.input-group select{max-height:120px;overflow-y:auto}.signup-modal-footer{margin-top:.15rem;gap:.1rem}.signup-submit-btn{padding:.5rem 0;font-size:.8rem}.signup-footer{margin-top:.1rem;font-size:.55rem}}:root{--primary-color: #221f5f;--secondary-color: #2d1f6e;--black: #000000;--white: #ffffff;--gray: #efefef;--gray-2: #757575;--google-color: #DB4437;--github-color: #333333}*{box-sizing:border-box;margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}body{background-color:var(--gray);display:flex;justify-content:center;align-items:center;min-height:100vh}.container.sign-in,.signup-container{background-color:var(--white);max-width:900px;width:100%;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #00000026;margin:auto;padding:2rem 3rem;display:flex;flex-direction:column;align-items:center}.form-wrapper,.signup-form-wrapper{width:100%;max-width:500px;margin:0 auto;padding:0}.signup-title{font-size:2rem;font-weight:700;margin-bottom:1.5rem;text-align:center;color:var(--primary-color)}.signup-form-group{margin-bottom:1rem}.signup-label{display:block;font-size:1rem;font-weight:500;color:#374151;margin-bottom:.25rem}.signup-input{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;outline:none;font-size:1rem;transition:border-color .2s,box-shadow .2s;background:var(--gray)}.signup-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--secondary-color)}.signup-role-group{display:flex;gap:1rem}.signup-role-label{display:inline-flex;align-items:center}.signup-radio{accent-color:var(--primary-color)}.signup-role-text{margin-left:.5rem}.signup-button{width:100%;padding:.75rem;border-radius:8px;font-size:1rem;font-weight:700;border:none;cursor:pointer;transition:background .3s ease;margin-top:.5rem}.signup-button-primary{background:var(--primary-color);color:var(--white)}.signup-button-primary:hover{background:var(--secondary-color)}.signup-button-secondary{background:#e5e7eb;color:#374151}.signup-button-secondary:hover{background:#d1d5db}.signup-button-success{background:#16a34a;color:#fff}.signup-button-success:hover{background:#15803d}.signup-button:disabled,.signup-button[disabled]{background:#9ca3af;color:#fff;cursor:not-allowed}.signup-button-back{margin-top:1rem}.signup-error{color:#dc2626;font-size:.875rem;margin-top:.75rem}.signup-success{color:#16a34a;font-size:.875rem;margin-top:.75rem}.signup-success-action{margin-top:1rem}.signup-terms-consent{margin-bottom:.35rem;text-align:left;overflow-x:auto}.signup-terms-consent-row{display:flex;align-items:center;flex-wrap:nowrap;gap:.5rem}.signup-terms-consent-row input[type=checkbox]{margin-top:.2rem;accent-color:#221f5f;cursor:pointer}.signup-terms-consent-row label{display:inline-block;font-size:.68rem;line-height:1.25;color:#374151;cursor:pointer;white-space:nowrap}.signup-terms-inline-link{border:none;background:none;color:#221f5f;font-size:.68rem;font-weight:600;text-decoration:underline;padding:0;margin:0;line-height:inherit;cursor:pointer}.signup-terms-inline-link:hover,.signup-terms-inline-link:focus,.signup-terms-inline-link:active,.signup-terms-inline-link:visited{color:#221f5f;text-decoration:underline}.terms-modal-overlay{z-index:2100}.terms-modal-content{width:min(1100px,97vw);max-height:88vh;padding:1rem 1rem .75rem;display:flex;flex-direction:column;gap:.75rem;text-align:left}.terms-modal-header{padding-right:1.8rem;text-align:left}.terms-modal-header h3{font-size:1.1rem;font-weight:700;color:#111827;margin:0}.terms-modal-header p{margin-top:.2rem;font-size:.85rem;color:#6b7280}.terms-modal-scroll{overflow-y:auto;border:1px solid #e5e7eb;border-radius:10px;padding:.8rem;background:#f9fafb;min-height:220px;text-align:left}.terms-modal-section+.terms-modal-section{margin-top:.65rem}.terms-modal-section h4{font-size:.88rem;font-weight:700;color:#1f2937;margin:0}.terms-modal-section p{margin-top:.2rem;font-size:.82rem;line-height:1.45;color:#374151;text-align:left}.terms-modal-actions{display:flex;justify-content:flex-end}.terms-modal-actions .signup-submit-btn{width:auto;min-width:120px;padding:.55rem 1rem}@media (max-width: 768px){.signup-terms-consent{overflow-x:visible}.signup-terms-consent-row{align-items:flex-start}.signup-terms-consent-row label{white-space:normal;word-break:break-word;line-height:1.35}.signup-terms-inline-link{white-space:normal}.signup-terms-consent-row label,.signup-terms-inline-link{font-size:.72rem}.terms-modal-content{width:95vw;max-height:82vh;padding:.85rem .85rem .65rem}.terms-modal-scroll{min-height:170px}.terms-modal-header h3{font-size:1rem}.terms-modal-section h4{font-size:.85rem}.terms-modal-section p{font-size:.78rem}}.forgot-password-page{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:radial-gradient(1000px 600px at 20% 0%,#eef8f3,#f6fbf9 35%,#f9fafb)}.forgot-password-modal{background:#fff;border-radius:20px;box-shadow:0 20px 60px #00000026;padding:2rem 2.5rem;max-width:480px;width:90%;margin:2rem auto;position:relative;min-height:400px}.forgot-password-header{margin-bottom:1rem}.back-button{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:#6b7280;cursor:pointer;font-size:.9rem;padding:.5rem 0;transition:color .2s ease}.back-button,.back-button:hover,.back-button:focus,.back-button:active{background:transparent!important;background-color:transparent!important;box-shadow:none!important}.back-button:hover{color:#4ea685}.forgot-password-title{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:.5rem;text-align:center}.forgot-password-logo{display:flex;justify-content:center;margin-bottom:1rem}.forgot-password-subtitle{color:#6b7280;text-align:center;margin-bottom:2rem;line-height:1.5}.forgot-password-form{margin-bottom:1.5rem}.forgot-password-submit-btn{width:100%;padding:.75rem;background-color:var(--primary-color, #4ea685);color:#fff;border:none;border-radius:8px;font-weight:700;font-size:1rem;cursor:pointer;transition:background .3s ease;margin-top:1rem}.forgot-password-submit-btn:hover:not(:disabled){background-color:var(--secondary-color, #57b894)}.forgot-password-submit-btn:disabled{background-color:#9ca3af;cursor:not-allowed}@media (max-width: 600px){.forgot-password-page{padding:1.25rem .75rem;background:linear-gradient(180deg,#f0fbf6,#f9fafb)}.forgot-password-modal{max-width:93vw;min-width:0;width:98vw;padding:1.5rem 1rem 1rem;min-height:320px;max-height:90vh;height:auto;border-radius:2rem;margin:1rem auto}.forgot-password-title{font-size:1.5rem;margin-bottom:.3rem}.forgot-password-logo img{width:100px;height:auto}.forgot-password-subtitle{font-size:.9rem;margin-bottom:1.5rem}.back-button{font-size:.8rem}.field-label{font-size:.85rem}.input-group input{font-size:.9rem}.forgot-password-submit-btn{font-size:.95rem;padding:.65rem}}@media (max-width: 480px){.forgot-password-page{padding:.8rem .5rem}.forgot-password-modal{padding:1rem .8rem .8rem;max-width:98vw;margin:.5rem auto;min-height:280px;border-radius:1.5rem}.forgot-password-title{font-size:1.3rem;margin-bottom:.2rem}.forgot-password-logo img{width:80px}.forgot-password-subtitle{font-size:.8rem;margin-bottom:1.2rem}.back-button{font-size:.75rem;padding:.3rem 0}.field-label{font-size:.75rem}.input-group{padding:.3rem 0}.input-group input{font-size:.8rem;padding:.3rem 0}.input-group .input-icon{font-size:.9rem}.forgot-password-submit-btn{font-size:.9rem;padding:.6rem;margin-top:.8rem}}@media (max-width: 360px){.forgot-password-page{padding:.6rem .4rem}.forgot-password-modal{padding:.8rem .6rem .6rem;max-width:99vw;margin:.3rem auto;min-height:240px;border-radius:1.2rem}.forgot-password-title{font-size:1.1rem}.forgot-password-logo img{width:60px}.forgot-password-subtitle{font-size:.75rem;margin-bottom:1rem}.back-button,.field-label{font-size:.7rem}.input-group input{font-size:.75rem}.forgot-password-submit-btn{font-size:.85rem;padding:.55rem}}.landing-page{min-height:100vh;background:transparent}.nav{position:fixed;top:0;left:0;right:0;z-index:30;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border:none;border-radius:0;padding:1rem 1.5rem;margin:0;transition:background .35s ease,backdrop-filter .35s ease,box-shadow .35s ease}.nav.nav-scrolled{background:#1a114573;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 4px 30px #00000026}.nav-container{display:flex;justify-content:space-between;align-items:center}.nav-brand{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.nav-logo{height:3rem;width:auto;filter:drop-shadow(0 10px 8px rgba(0,0,0,.1))}.nav-title{font-size:1.25rem;font-weight:700;color:#fff;letter-spacing:-.025em;white-space:nowrap}@media (max-width: 767px){.nav-title{font-size:.95rem}.nav-logo{height:2.2rem}}.nav-links{display:none;gap:2rem;justify-content:center;flex:0 0 auto;white-space:nowrap}.nav-link{color:#ffffffd9;text-decoration:none;transition:color .3s;position:relative}.nav-link:hover{color:#fff}.nav-link:after{content:"";display:block;height:2px;background:#fff;transform:scaleX(0);transition:transform .3s;transform-origin:left;margin-top:.25rem}.nav-link:hover:after{transform:scaleX(1)}.nav-actions{display:none;align-items:center;gap:1rem;flex:1;justify-content:flex-end}.nav-login{color:#ffffffd9;text-decoration:none;font-weight:500;transition:color .3s}.nav-login:hover{color:#fff}.nav-signup{padding:.5rem 1rem;background:#221f5f;color:#fff;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a;text-decoration:none;font-weight:600;border:2px solid #221f5f;transition:all .3s}.nav-signup:hover{background:#2d1f6e;border-color:#2d1f6e}.mobile-menu-btn{display:block;width:44px;height:44px;padding:0;background:#221f5f;color:#fff;border:none;border-radius:50%;box-shadow:0 2px 8px #1a114526;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .18s,box-shadow .18s,transform .15s;margin-left:0}.mobile-menu-btn:hover{background:#2d1f6e;box-shadow:0 6px 18px #1a114540;transform:scale(1.08)}.mobile-menu{position:absolute;top:100%;left:0;width:100%;background:#ffffffeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 32px #1a11451a;display:flex;flex-direction:column;align-items:center;padding:1.5rem .5rem;gap:.7rem;border-radius:0 0 1.2rem 1.2rem;z-index:40;animation:slideDown .3s ease-out}.mobile-menu-link{color:#22223b;text-decoration:none;width:100%;text-align:center;padding:.7rem 0;font-size:1.08rem;border-radius:.5rem;transition:background .18s,color .18s,transform .15s;font-weight:500}.mobile-menu-link:hover{background:#eee8f5;color:#221f5f;transform:scale(1.04)}.mobile-menu-signup{margin-top:.7rem;padding:.7rem 0;width:90%;background:#fff;color:#221f5f;border-radius:.7rem;text-decoration:none;font-weight:600;border:1.5px solid #e0e0e0;font-size:1.08rem;box-shadow:0 2px 8px #1a114514;text-align:center;transition:background .18s,color .18s,border .18s,transform .15s;display:block}.mobile-menu-signup:hover{background:#f3f4f6;color:#221f5f;border:1.5px solid #221f5f;transform:scale(1.04)}.hero{position:relative;width:100%;min-height:60vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding-top:70px}.hero-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;transform:scale(1.05);animation:zoomSlow 20s ease-in-out infinite;filter:brightness(.8) contrast(1.1)}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#1a1145d9,#1a114599,#2d1f6e4d);z-index:10}.hero-content{position:relative;z-index:20;max-width:48rem;margin:0 auto;padding:3rem 1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center}.dtr-logo{width:200px;height:auto;display:inline-block;filter:drop-shadow(0 4px 16px rgba(0,0,0,.45))}.hero-subtitle{max-width:760px;margin:0 auto;font-size:1.05rem;line-height:1.5}.hero-title{font-size:1.75rem;font-weight:700;line-height:1.2;margin-bottom:1rem;filter:drop-shadow(0 25px 25px rgba(0,0,0,.15));transition:all 1s cubic-bezier(.4,0,.2,1);color:#fff;text-shadow:0 4px 8px rgba(0,0,0,.3)}.hero-title.visible{opacity:1;transform:translateY(0)}.hero-title.hidden{opacity:0;transform:translateY(2rem)}.hero-subtitle{font-size:1rem;margin-bottom:1.5rem;filter:drop-shadow(0 10px 8px rgba(0,0,0,.1));transition:all 1s cubic-bezier(.4,0,.2,1);color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3);max-width:40rem}.hero-subtitle.visible{opacity:1;transform:translateY(0)}.hero-subtitle.hidden{opacity:0;transform:translateY(2rem)}.hero-buttons{display:flex;flex-direction:column;gap:1rem;width:100%;justify-content:center}.hero-btn-primary{padding:.875rem 2rem;background:linear-gradient(135deg,#2d1f6e,#221f5f);color:#fff;border-radius:.75rem;text-decoration:none;display:flex;align-items:center;justify-content:center;font-weight:600;box-shadow:0 15px 25px -5px #0003;border:2px solid rgba(255,255,255,.2);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.hero-btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.hero-btn-primary:hover:before{left:100%}.hero-btn-primary:hover{background:linear-gradient(135deg,#221f5f,#110b30);transform:translateY(-3px) scale(1.05);box-shadow:0 20px 35px -5px #0000004d}.hero-btn-primary:active{transform:translateY(-1px) scale(1.02)}.hero-btn-secondary{padding:.875rem 2rem;border:2px solid rgba(255,255,255,.8);color:#fff;border-radius:.75rem;text-decoration:none;display:flex;align-items:center;justify-content:center;font-weight:600;box-shadow:0 15px 25px -5px #0003;transition:all .3s cubic-bezier(.4,0,.2,1);background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.hero-btn-secondary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.hero-btn-secondary:hover:before{left:100%}.hero-btn-secondary:hover{background:#fffffff2;color:#221f5f;transform:translateY(-3px) scale(1.05);box-shadow:0 20px 35px -5px #0000004d}.hero-btn-secondary:active{transform:translateY(-1px) scale(1.02)}.hero-btn-icon{margin-right:.5rem;transition:transform .3s ease}.hero-btn-primary:hover .hero-btn-icon,.hero-btn-secondary:hover .hero-btn-icon{transform:translate(3px)}.features{padding:5rem 1.5rem;background:linear-gradient(135deg,#f3f0ff,#eff6ff,#f5f3ff);position:relative;overflow:hidden}.features:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%231a1145' fill-opacity='0.03'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none}.features-container{max-width:64rem;margin:0 auto;text-align:center;margin-bottom:4rem;position:relative;z-index:1}.features-title{font-size:1.875rem;font-weight:700;color:#1f2937;margin-bottom:1rem;transition:all 1s;position:relative}.features-title:after{content:"";position:absolute;bottom:-.5rem;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(to right,#2d1f6e,#221f5f);border-radius:2px}.features-subtitle{font-size:1.25rem;color:#4b5563;transition:all 1s;max-width:48rem;margin:0 auto}.features-grid{display:grid;grid-template-columns:1fr;gap:2rem;position:relative;z-index:1}.feature-card{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-radius:1.5rem;box-shadow:0 10px 25px -5px #0000001a;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;border:1px solid rgba(196,181,253,.3);position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,#2d1f6e,#221f5f);transform:scaleX(0);transition:transform .3s ease}.feature-card:hover:before{transform:scaleX(1)}.feature-card:hover{box-shadow:0 25px 50px -12px #00000040;transform:translateY(-8px) scale(1.02)}.feature-card.blue{border-color:#dbeafe80}.feature-card.yellow{border-color:#fef3c780}.feature-card.red{border-color:#fecaca80}.feature-card.purple{border-color:#e9d5ff80}.feature-icon{width:5rem;height:5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;box-shadow:0 15px 25px -5px #0000001a;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}.feature-icon:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.3),transparent);opacity:0;transition:opacity .3s ease}.feature-card:hover .feature-icon:before{opacity:1}.feature-card:hover .feature-icon{transform:scale(1.1) rotate(5deg)}.feature-icon.green{background:linear-gradient(135deg,#bbf7d0,#dcfce7,#f0fdf4)}.feature-icon.blue{background:linear-gradient(135deg,#bfdbfe,#dbeafe,#eff6ff)}.feature-icon.yellow{background:linear-gradient(135deg,#fde68a,#fef3c7,#fefce8)}.feature-icon.red{background:linear-gradient(135deg,#fecaca,#fee2e2,#fef2f2)}.feature-icon.purple{background:linear-gradient(135deg,#c4b5fd,#ddd6fe,#faf5ff)}.feature-icon svg{width:2rem;height:2rem;transition:all .3s ease}.feature-icon.green svg{color:#15803d}.feature-icon.blue svg{color:#1d4ed8}.feature-icon.yellow svg{color:#a16207}.feature-icon.red svg{color:#dc2626}.feature-icon.purple svg{color:#7c3aed}.feature-title{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:#1f2937;transition:color .3s ease}.feature-card:hover .feature-title{color:#221f5f}.feature-description{color:#4b5563;font-size:.95rem;line-height:1.6;transition:color .3s ease}.feature-card:hover .feature-description{color:#374151}.testimonials{padding:5rem 1.5rem;background:linear-gradient(to bottom,#f0fdf4,#eff6ff)}.testimonials-container{max-width:64rem;margin:0 auto;text-align:center;margin-bottom:3rem}.testimonials-title{font-size:1.875rem;font-weight:700;color:#1f2937;margin-bottom:1rem;transition:all 1s}.testimonials-subtitle{font-size:1.25rem;color:#4b5563;transition:all 1s}.testimonials-grid{display:grid;grid-template-columns:1fr;gap:2rem}.testimonial-card{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a;border:1px solid #dcfce7;display:flex;flex-direction:column;align-items:center;transition:all 1s}.testimonial-card.blue{border-color:#dbeafe}.testimonial-card.yellow{border-color:#fef3c7}.testimonial-avatar{width:4rem;height:4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;overflow:hidden;border:2px solid #86efac}.testimonial-avatar.blue{background:#dbeafe;border-color:#93c5fd}.testimonial-avatar.yellow{background:#fef3c7;border-color:#fde68a}.testimonial-avatar img{width:100%;height:100%;object-fit:cover}.testimonial-name{font-weight:600}.testimonial-role{font-size:.875rem;color:#6b7280;margin-bottom:.5rem}.testimonial-text{color:#4b5563;text-align:center}.cta{position:relative;padding:5rem 1.5rem;background:#221f5f;color:#fff;overflow:hidden}.cta-wave{position:absolute;top:0;left:0;width:100%;height:4rem}.cta-content{position:relative;z-index:10;max-width:64rem;margin:0 auto;text-align:center}.cta-title{font-size:1.875rem;font-weight:700;margin-bottom:1.5rem;transition:all 1s}.cta-subtitle{font-size:1.25rem;margin-bottom:2rem;opacity:.9;transition:all 1s}.cta-buttons{display:flex;flex-direction:column;justify-content:center;gap:1rem;transition:all 1s}.cta-btn-primary{padding:.75rem 2rem;background:linear-gradient(to right,#fff,#e0d4f7,#c4b5fd);color:#221f5f;border-radius:.5rem;text-decoration:none;font-weight:500;border:2px solid white;box-shadow:0 10px 15px -3px #0000001a;transition:all .2s;position:relative;overflow:hidden}.cta-btn-primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,#c4b5fd,#221f5f);opacity:0;transition:opacity .3s}.cta-btn-primary:hover:before{opacity:.1}.cta-btn-primary:hover{background:#e0d4f7;transform:scale(1.05)}.cta-btn-primary:active{transform:scale(.95)}.cta-btn-secondary{padding:.75rem 2rem;border:2px solid white;color:#fff;border-radius:.5rem;text-decoration:none;transition:all .2s;box-shadow:0 10px 15px -3px #0000001a}.cta-btn-secondary:hover{background:#2d1f6e;transform:scale(1.05)}.cta-btn-secondary:active{transform:scale(.95)}.about{padding:5rem 1.5rem;background:linear-gradient(135deg,#f0fdf4,#eff6ff,#fefce8);position:relative;overflow:hidden}.about:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%2315803d' fill-opacity='0.02'%3E%3Cpath d='M40 40c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20zm0 0c0 11.046 8.954 20 20 20s20-8.954 20-20-8.954-20-20-20-20 8.954-20 20z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none}.about-container{max-width:80rem;margin:0 auto;position:relative;z-index:1}.about-title{font-size:2.5rem;font-weight:700;color:#1f2937;text-align:center;margin-bottom:4rem;position:relative}.about-title:after{content:"";position:absolute;bottom:-1rem;left:50%;transform:translate(-50%);width:100px;height:4px;background:linear-gradient(135deg,#16a34a,#15803d);border-radius:2px}.about-content{position:relative;z-index:1}.about-main{display:flex;flex-direction:column;gap:3rem}.about-row{display:grid;grid-template-columns:1fr;gap:2rem}.about-card{background:#fffffff2;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:2.5rem;border-radius:1.5rem;box-shadow:0 20px 40px -10px #0000001a;border:1px solid rgba(220,252,231,.3);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.about-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(135deg,#16a34a,#15803d,#22c55e);transform:scaleX(0);transition:transform .4s ease}.about-card:hover:before{transform:scaleX(1)}.about-card:hover{transform:translateY(-8px);box-shadow:0 30px 60px -15px #00000026;border-color:#22c55e66}.mission-card:before{background:linear-gradient(135deg,#1d4ed8,#3b82f6,#60a5fa)}.vision-card:before{background:linear-gradient(135deg,#1d4ed8,#3b82f6,#60a5fa)}.values-card:before{background:linear-gradient(135deg,#dc2626,#ef4444,#f87171)}.goals-card:before{background:linear-gradient(135deg,#1d4ed8,#3b82f6,#60a5fa)}.about-card h3{font-size:1.5rem;font-weight:700;color:#15803d;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;position:relative}.mission-card h3,.vision-card h3{color:#1d4ed8}.values-card h3{color:#dc2626}.goals-card h3{color:#1d4ed8}.about-card h3:before{content:"";width:12px;height:12px;background:linear-gradient(135deg,#16a34a,#15803d);border-radius:50%;display:inline-block;box-shadow:0 2px 8px #15803d4d}.mission-card h3:before{background:linear-gradient(135deg,#1d4ed8,#3b82f6)}.vision-card h3:before{background:linear-gradient(135deg,#1d4ed8,#3b82f6)}.values-card h3:before{background:linear-gradient(135deg,#dc2626,#ef4444)}.goals-card h3:before{background:linear-gradient(135deg,#1d4ed8,#3b82f6)}.about-card h4{font-size:1.25rem;font-weight:600;color:#15803d;margin-bottom:1.5rem;margin-top:2rem;border-bottom:2px solid rgba(220,252,231,.5);padding-bottom:.75rem;position:relative}.about-card h4:after{content:"";position:absolute;bottom:-2px;left:0;width:40px;height:2px;background:linear-gradient(135deg,#16a34a,#15803d);border-radius:1px}.about-card p{color:#4b5563;line-height:1.8;margin-bottom:1.5rem;font-size:1rem}.about-card ul{list-style:none;padding:0}.about-card ul li{color:#4b5563;line-height:1.8;margin-bottom:1rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#f0fdf4cc,#dcfce766);border-radius:.75rem;margin-bottom:.75rem;border-left:4px solid #15803d;transition:all .3s ease;position:relative;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.about-card ul li:hover{background:linear-gradient(135deg,#dcfce7e6,#bbf7d099);transform:translate(5px);box-shadow:0 4px 12px #15803d1a}.about-card ul li:before{content:"";position:absolute;left:.75rem;color:#15803d;font-weight:700;font-size:1.1rem}.goals-card ul li:before{display:none}.goals-card ul li{padding:.75rem 1rem;margin-bottom:.5rem;background:#f0fdf499;border-left:3px solid #15803d}.goals-card ul li:hover{background:#dcfce7cc;transform:translate(3px)}.about-card ul li strong{color:#15803d;font-weight:600}.dev-team{padding:5rem 1.5rem;background:linear-gradient(135deg,#f0fdf4,#eff6ff,#fefce8);position:relative;overflow:hidden}.dev-team:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%231a1145' fill-opacity='0.03'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none}.dev-team-container{max-width:80rem;margin:0 auto;position:relative;z-index:1}.dev-team-title{font-size:2.5rem;font-weight:700;color:#1f2937;text-align:center;margin-bottom:1rem;position:relative}.dev-team-title:after{content:"";position:absolute;bottom:-.75rem;left:50%;transform:translate(-50%);width:80px;height:4px;background:linear-gradient(135deg,#221f5f,#2d1f6e);border-radius:2px}.dev-team-subtitle{font-size:1.15rem;color:#4b5563;text-align:center;margin-bottom:3.5rem;max-width:40rem;margin-left:auto;margin-right:auto;line-height:1.6}.dev-team-carousel{position:relative;overflow:hidden}.dev-team-phase{display:none;animation:devTeamFadeIn .4s ease}.dev-team-phase.active{display:block}@keyframes devTeamFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.dev-team-nav{display:flex;align-items:center;justify-content:center;gap:1.25rem;margin-bottom:2.5rem;background:#2d1066;border-radius:60px;padding:.5rem 1.5rem;max-width:18rem;margin-left:auto;margin-right:auto}.dev-team-nav-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;outline:none;color:#ffffffd9;font-size:1.75rem;cursor:pointer;padding:.25rem;line-height:1;transition:transform .2s;-webkit-tap-highlight-color:transparent}.dev-team-nav-btn:hover,.dev-team-nav-btn:focus,.dev-team-nav-btn:active,.dev-team-nav-btn:focus-visible{color:#fff;background:none;border:none;outline:none;box-shadow:none;transform:scale(1.15)}.dev-team-nav-label{color:#fff;font-size:1.1rem;font-weight:600;letter-spacing:.05em;white-space:nowrap}.dev-team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;max-width:72rem;margin:0 auto}.dev-team-card{background:#fff;border-radius:.75rem;box-shadow:0 4px 24px -6px #00000014;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer}.dev-team-card:hover{box-shadow:0 20px 40px -10px #1a11452e}.dev-team-photo{width:100%;aspect-ratio:5 / 4;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;position:relative}.dev-team-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .5s cubic-bezier(.4,0,.2,1)}.dev-team-card:hover .dev-team-photo img{transform:scale(1.05)}.dev-team-photo.purple{background:linear-gradient(135deg,#e0d4f7,#c4b5fd)}.dev-team-photo.blue{background:linear-gradient(135deg,#bfdbfe,#93c5fd)}.dev-team-photo.green{background:linear-gradient(135deg,#bbf7d0,#86efac)}.dev-team-photo.orange{background:linear-gradient(135deg,#fed7aa,#fdba74)}.dev-team-photo.teal{background:linear-gradient(135deg,#99f6e4,#5eead4)}.dev-team-photo.red{background:linear-gradient(135deg,#fecaca,#fca5a5)}.dev-team-photo.pink{background:linear-gradient(135deg,#fbcfe8,#f9a8d4)}.dev-team-photo.indigo{background:linear-gradient(135deg,#c7d2fe,#a5b4fc)}.dev-team-info{padding:.75rem 1rem;text-align:center}.dev-team-name{font-size:.9rem;font-weight:700;color:#1f2937;margin-bottom:.15rem;transition:color .3s ease}.dev-team-card:hover .dev-team-name{color:#1f2937}.dev-team-role{font-size:.65rem;font-weight:700;color:#6b7280;margin-bottom:0;letter-spacing:.08em;text-transform:uppercase}@media (min-width: 768px){.dev-team-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 767px){.dev-team-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (max-width: 480px){.dev-team-grid{grid-template-columns:1fr;gap:1rem}}.contact{padding:3.5rem 1.5rem;background:#f8fafc;position:relative;overflow:hidden}.contact:before{display:none}.contact-container{max-width:56rem;margin:0 auto;position:relative;z-index:1}.contact-title{font-size:2rem;font-weight:800;color:#221f5f;text-align:center;margin-bottom:.5rem;position:relative}.contact-title:after{content:"";position:absolute;bottom:-.6rem;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(135deg,#221f5f,#4c3a99);border-radius:2px}.contact-subtitle{font-size:.95rem;color:#6b7280;text-align:center;margin-bottom:2.5rem;max-width:36rem;margin-left:auto;margin-right:auto;line-height:1.5}.contact-content{display:grid;grid-template-columns:1fr;gap:1.5rem;position:relative;z-index:1}.contact-info{background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 2px 12px #0000000f;border:1px solid #e5e7eb;transition:all .3s ease;position:relative;overflow:hidden;display:flex;flex-direction:column}.contact-info:before{display:none}.contact-info:hover{transform:translateY(-3px);box-shadow:0 8px 24px #1a11451a;border-color:#c4b5fd}.contact-info h3{font-size:1.1rem;font-weight:700;color:#221f5f;margin-bottom:1.25rem;text-align:left;border-bottom:none;padding-bottom:0;position:relative}.contact-info h3:after{display:none}.contact-items-list{display:flex;flex-direction:column;justify-content:space-between;flex:1;gap:0}.contact-item{margin-bottom:0;padding:0;background:none;border-radius:0;border-left:none;transition:none;position:relative;overflow:visible}.contact-item:before{display:none}.contact-item:hover{background:none;transform:none;box-shadow:none}.contact-item h4{font-size:.85rem;font-weight:700;color:#221f5f;margin-bottom:.15rem;display:flex;align-items:center;gap:.4rem;position:relative;z-index:1;letter-spacing:.02em}.contact-item p{color:#6b7280;line-height:1.4;margin:0;position:relative;z-index:1;font-size:.88rem}.contact-form{background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 2px 12px #0000000f;border:1px solid #e5e7eb;transition:all .3s ease;position:relative;overflow:hidden}.contact-form:before{display:none}.contact-form:hover{transform:translateY(-3px);box-shadow:0 8px 24px #1a11451a;border-color:#c4b5fd}.contact-form h3{font-size:1.1rem;font-weight:700;color:#221f5f;margin-bottom:1.25rem;text-align:left;border-bottom:none;padding-bottom:0;position:relative}.contact-form h3:after{display:none}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.form-group{margin-bottom:.75rem;position:relative}.form-group input,.form-group textarea{width:100%;padding:.65rem .85rem;border:1.5px solid #e5e7eb;border-radius:.5rem;font-size:.88rem;transition:all .25s ease;background:#fafafa;color:#1f2937}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#221f5f;box-shadow:0 0 0 3px #1a114514;background:#fff}.form-group textarea{resize:vertical;min-height:90px}.file-upload-label{display:inline-block;margin-bottom:.45rem;font-size:.95rem;font-weight:600;color:#374151}.file-input{width:100%}.file-upload-info{margin-top:.4rem}.file-upload-info small{color:#6b7280;font-size:.8rem}.contact-submit{width:100%;padding:.7rem 1.5rem;background:#221f5f;color:#fff;border:none;border-radius:.5rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 12px #1a114526;position:relative;overflow:hidden}.contact-submit:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .5s ease}.contact-submit:hover:before{left:100%}.contact-submit:hover{background:#2d1f6e;transform:translateY(-2px);box-shadow:0 6px 20px #1a114540}.contact-submit:active{transform:translateY(-1px)}.contact-status-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0f172a73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1rem}.contact-status-modal{width:100%;max-width:420px;background:#fff;border-radius:14px;box-shadow:0 20px 40px #0f172a47;padding:1.25rem;border:1px solid #e5e7eb}.contact-status-modal-title{margin:0;font-size:1.1rem;font-weight:700;color:#111827}.contact-status-modal-message{margin:.75rem 0 1rem;font-size:.92rem;line-height:1.5;color:#4b5563}.contact-status-modal-btn{width:100%;border:none;border-radius:8px;background:#221f5f;color:#fff;padding:.65rem 1rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s ease}.contact-status-modal-btn:hover{background:#2d1f6e}.recaptcha-notice{margin:.75rem 0 0;font-size:.75rem;color:#6b7280;line-height:1.45}.recaptcha-notice a{color:#221f5f;text-decoration:underline}.recaptcha-notice a:hover{color:#2d1f6e}body .grecaptcha-badge{visibility:hidden!important;opacity:0!important;pointer-events:none!important}@media (max-width: 640px){.contact-items-grid,.form-row{grid-template-columns:1fr}}.footer{background:#221f5f;color:#f0f0f0;padding:3rem 4rem 1.5rem;position:relative;overflow:hidden}.footer:before{display:none}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;transition:all 1s;padding-bottom:2rem;margin-bottom:0;position:relative;z-index:3}.footer-section{min-width:180px;text-align:left}.footer-section h3{font-size:1.2rem;font-weight:800;margin-bottom:.3rem;color:#ffc800;letter-spacing:.02em;text-transform:uppercase}.footer-section h4{font-size:1.15rem;font-weight:700;margin-bottom:1.2rem;color:#fff;letter-spacing:.01em}.footer-section p{margin-bottom:.6rem;line-height:1.6;color:#d0d0d0;font-size:.97rem}.footer-section ul{list-style:none;padding:0}.footer-section ul li{margin-bottom:.5rem}.footer-section ul li a{color:#d0d0d0;text-decoration:none;transition:color .2s;font-size:.97rem;font-weight:400}.footer-section ul li a:hover{color:#ffc800}.footer-brand{display:flex;flex-direction:column;gap:0}.footer-logo-title{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem}.footer-title-block h3{margin-bottom:.15rem}.footer-campuses{font-size:.78rem!important;color:#ffc800!important;font-weight:600;letter-spacing:.04em;margin-bottom:0!important}.footer-social{display:flex;gap:.7rem;margin-top:.5rem;margin-bottom:1.2rem}.footer-social a{color:#fff;font-size:1.1rem;width:36px;height:36px;border-radius:50%;background:#2d1f6e;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .18s}.footer-social a:hover{background:#ffc800;color:#221f5f;transform:scale(1.1)}.footer-copyright-brand{color:#9a8dc9!important;font-size:.9rem!important;margin-top:.2rem}.footer-logo{height:70px;width:70px;display:block;border-radius:50%;padding:0;box-shadow:none;transition:transform .18s;flex-shrink:0}.footer-logo:hover{transform:scale(1.06);box-shadow:none}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:1rem;padding-top:1rem;text-align:center;color:#9a8dc9;font-size:.9rem;letter-spacing:.01em;background:none;transition:all 1s;z-index:3}@media (max-width: 900px){.footer{padding:2.5rem 2rem 1.5rem}.footer-grid{grid-template-columns:1fr 1fr!important;gap:2rem!important;padding:0 2rem!important}}@media (max-width: 600px){.footer{padding:2rem 1rem 1rem}.footer-grid{grid-template-columns:1fr!important;gap:1.5rem!important;text-align:center!important;padding:0 1rem!important}.footer-section{text-align:center!important;align-items:center!important}.footer-brand{align-items:center!important;text-align:center!important}.footer-brand>div:first-child{flex-direction:column!important;align-items:center!important}.footer-brand>div:first-child>div{text-align:center!important}.footer-social{justify-content:center!important}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes zoomSlow{0%,to{transform:scale(1.05)}50%{transform:scale(1.1)}}@media (min-width: 640px){.hero{min-height:80vh}.hero-title{font-size:2.25rem}.hero-subtitle{font-size:1.15rem}.hero-buttons{flex-direction:row;gap:1rem}.features-grid,.testimonials-grid{grid-template-columns:repeat(3,1fr)}.cta-buttons{flex-direction:row;gap:1rem}.footer-grid{grid-template-columns:repeat(6,1fr)}.about-stats{grid-template-columns:repeat(4,1fr)}}@media (min-width: 768px){.nav{padding:1rem 3rem}.nav-links,.nav-actions{display:flex}.mobile-menu-btn{display:none}.features,.testimonials,.cta,.about,.contact{padding:5rem 3rem}.footer{padding:3rem}.about-row{grid-template-columns:repeat(2,1fr);gap:2.5rem}.contact-content{grid-template-columns:5fr 7fr;gap:1.5rem}}@media (min-width: 1024px){.nav{padding:1rem 6rem}.features-grid{grid-template-columns:repeat(3,1fr)}.features,.testimonials,.cta,.about,.contact{padding:5rem 6rem}.footer{padding:3rem 6rem}.about-content{grid-template-columns:repeat(2,1fr);gap:2.5rem}.about-main{gap:4rem}.about-row{gap:3rem}}.visible{opacity:1;transform:translateY(0)}.hidden{opacity:0;transform:translateY(2rem)}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-400{transition-delay:.4s}.delay-500{transition-delay:.5s}.delay-600{transition-delay:.6s}.delay-700{transition-delay:.7s}@media (max-width: 500px){.hero-btn-primary,.hero-btn-secondary{padding:.4rem .7rem;font-size:.95rem;border-radius:.5rem}}body.modal-open{overflow:hidden;position:fixed;width:100%}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0000004d;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:24px;box-shadow:0 25px 50px -12px #00000040;max-width:400px;width:90%;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlideIn .3s ease-out;padding:2rem}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;padding:.3rem;border-radius:50%;cursor:pointer;color:#9ca3af;transition:all .2s;display:flex;align-items:center;justify-content:center;font-size:1.2rem;width:32px;height:32px}.modal-close:hover{background:#f3f4f6;color:#111827}.modal-body{padding:0;text-align:center;height:100%;display:flex;flex-direction:column}.login-title{font-size:1.5rem;font-weight:600;color:#111827;margin:0 0 2rem;text-align:left}.login-logo{display:flex;justify-content:center;margin-bottom:2rem}.login-logo img{width:80px;height:auto}.login-subtitle{text-align:center;color:#6b7280;margin-bottom:2rem;font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-form .form-group{margin-bottom:0}.login-form input{width:100%;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .2s;background:#f3f4f6}.login-form input:focus{outline:none;border-color:#221f5f;box-shadow:0 0 0 3px #1a11451a;background:#f9fafb}.login-form input::placeholder{color:#9ca3af}.input-group{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:1rem;z-index:10;color:#6b7280;font-size:1.1rem;transition:color .2s}.input-group input{padding-left:2.5rem!important}.input-group input:focus+.input-icon,.input-group:focus-within .input-icon{color:#221f5f}.login-submit-btn{width:100%;padding:.75rem;background:#221f5f;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;margin-top:.5rem}.login-submit-btn:hover:not(:disabled){background:#2d1f6e}.login-submit-btn:disabled{opacity:.6;cursor:not-allowed}.login-error{color:#dc2626;font-size:.875rem;margin-top:.5rem;text-align:center}.login-links{text-align:right;margin-top:1rem}.forgot-password{color:#221f5f;cursor:pointer;text-decoration:none;font-size:.875rem;transition:color .2s}.forgot-password:hover{color:#2d1f6e;text-decoration:underline}.login-footer{text-align:center;margin-top:1.5rem;padding-top:0;border-top:none}.login-footer p{color:#6b7280;margin:0;font-size:.875rem}.signup-link{color:#221f5f;cursor:pointer;text-decoration:none;font-weight:500;transition:color .2s}.signup-link:hover{color:#2d1f6e;text-decoration:underline}.signup-modal{max-width:500px;height:85vh;overflow:hidden;display:flex;flex-direction:column}.signup-title{font-size:1.5rem;font-weight:600;color:#1f2937;margin-bottom:.75rem;text-align:center}.signup-logo{display:flex;justify-content:center;margin-bottom:.75rem}.signup-logo img{width:70px;height:auto}.signup-subtitle{color:#6b7280;text-align:center;margin-bottom:1.5rem;font-size:.875rem}.signup-form{display:flex;flex-direction:column;gap:1rem;flex:1;overflow-y:auto;padding-right:8px}.signup-form .form-group{margin-bottom:0}.signup-form input,.signup-form select{width:100%;padding:.65rem 1rem;border:1px solid #e5e7eb;border-radius:8px;font-size:.95rem;transition:all .2s;background:#f3f4f6}.signup-form input:focus,.signup-form select:focus{outline:none;border-color:#221f5f;box-shadow:0 0 0 3px #1a11451a;background:#f9fafb}.signup-form input::placeholder{color:#9ca3af}.signup-form select{color:#374151}.signup-form select option[value=""]{color:#9ca3af}.signup-submit-btn{width:100%;padding:.75rem;background:#221f5f;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;margin-top:.5rem;flex-shrink:0}.signup-submit-btn:hover:not(:disabled){background:#2d1f6e}.signup-submit-btn:disabled{opacity:.6;cursor:not-allowed}.signup-error{color:#dc2626;font-size:.875rem;margin-top:.5rem;text-align:center;flex-shrink:0}.signup-success{color:#10b981;font-size:.875rem;margin-top:.5rem;text-align:center;flex-shrink:0}.signup-footer{text-align:center;margin-top:1rem;padding-top:0;border-top:none;flex-shrink:0}.signup-footer p{color:#6b7280;margin:0;font-size:.875rem}.login-link{color:#221f5f;cursor:pointer;text-decoration:none;font-weight:500;transition:color .2s}.login-link:hover{color:#2d1f6e;text-decoration:underline}.signup-form-scrollable{max-height:45vh;overflow-y:auto;padding-right:4px;margin-bottom:1.2rem}.signup-modal-footer{position:sticky;bottom:0;background:#fff;padding-top:.5rem;padding-bottom:1rem;z-index:2;display:flex;flex-direction:column;align-items:stretch;gap:.5rem;box-shadow:0 -2px 8px #0000000a}@media (max-width: 480px){.modal-content{width:95%;margin:1rem;padding:1.5rem}.login-logo img{width:60px}.login-title{font-size:1.25rem}}@media (max-width: 500px){.hero-btn-primary{max-width:180px;width:100%;margin-left:auto;margin-right:auto;display:block}.hero{height:auto;min-height:100vh;max-height:none;position:relative;overflow:hidden}.hero-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0;animation:heroZoomMobile 12s ease-in-out infinite}@keyframes heroZoomMobile{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}.hero-logo{margin-top:3rem!important}}@media (max-width: 480px){.hero-content{padding:2rem 1.25rem;max-width:36rem}.hero{height:auto;min-height:100vh;max-height:none;position:relative;overflow:hidden}.hero-title{font-size:1.4rem;margin-bottom:.75rem}.hero-subtitle{font-size:.95rem;line-height:1.6;margin-bottom:1.25rem;max-width:100%}.hero-logo{margin-top:2.5rem!important}.hero-logo img{width:120px!important;height:auto!important}}@media (max-width: 360px){.hero-content{padding:1.5rem 1rem;max-width:100%}.hero{height:auto;min-height:100vh;max-height:none;position:relative;overflow:hidden}.hero-title{font-size:1.15rem;margin-bottom:.6rem}.hero-subtitle{font-size:.85rem;line-height:1.6;margin-bottom:1rem;max-width:100%}.hero-logo{margin-top:2rem!important}.hero-logo img{width:100px!important;height:auto!important}}.dashboard-container{padding:2.5rem;background:#f4f8f6;min-height:100vh;margin-left:var(--sidebar-width)}@media (max-width: 900px){.dashboard-container{margin-left:0;padding:1.5rem}}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.dashboard-title{color:#000;font-size:2.5rem;font-weight:700;margin:0;letter-spacing:1px}.user-info{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.user-name{font-size:1.1rem;font-weight:600;color:#000}.user-role{font-size:.9rem;color:#666;background:#e8f5e8;padding:.25rem .75rem;border-radius:12px;font-weight:500}.dashboard-content{display:flex;flex-direction:column;gap:2rem}.welcome-section{margin-bottom:1rem}.welcome-card{background:#221f5f;color:#fff;border-radius:18px;padding:2rem;box-shadow:0 4px 20px #221f5f4d}.welcome-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.welcome-card h2{margin:0;font-size:1.8rem;font-weight:600}.welcome-card .user-role{font-size:.9rem;color:#ffffffe6;background:#fff3;padding:.25rem .75rem;border-radius:12px;font-weight:500}.welcome-card p{margin:0 0 1rem;opacity:.9;font-size:1.1rem}.current-time{font-size:.9rem;opacity:.8;font-weight:500}.stats-section{background:#fff;border-radius:18px;padding:2rem;box-shadow:0 2px 16px #228b2214;border:1px solid #e0e0e0}.personal-statistics-section{background:#fff;border-radius:16px;padding:1rem;box-shadow:0 2px 16px #228b2214;border:1px solid #e0e0e0;margin-bottom:1rem}.system-overview-section{background:#fff;border-radius:16px;padding:1rem;box-shadow:0 2px 16px #228b2214;border:1px solid #e0e0e0;margin-bottom:1rem;overflow:hidden}.system-overview-content{display:flex;flex-direction:column;gap:1rem}.dtr-graph-section{background:#f9fdf9;border-radius:14px;padding:1.5rem;border:1px solid #e0e0e0}.dtr-graph-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.dtr-graph-header .sub-section-title{margin:0}.dtr-graph-filters{display:flex;gap:.5rem;align-items:center}.dtr-graph-select{padding:.35rem .6rem;border:1px solid #c8d6c8;border-radius:8px;background:#fff;font-size:.85rem;color:#333;cursor:pointer;outline:none;transition:border-color .2s}.dtr-graph-select:focus{border-color:#4caf50}.dtr-graph-container{margin-top:.25rem;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.dtr-graph-empty{text-align:center;color:#888;padding:2rem 0;font-size:.95rem}@media (max-width: 768px){.dtr-graph-section{padding:1rem .75rem}.dtr-graph-header{flex-direction:column;align-items:flex-start}.dtr-graph-filters{flex-wrap:wrap;width:100%}.dtr-graph-select{flex:1;min-width:0;font-size:.8rem;padding:.4rem .5rem}}.secretary-department-section{background:#fff;border-radius:18px;padding:2rem;box-shadow:0 4px 20px #00000014;margin-bottom:2rem}.secretary-department-section .section-title{color:#000}.secretary-department-content{display:flex;flex-direction:column;gap:2rem}.stat-card-department-employees{background:linear-gradient(135deg,#8b0000,brown);color:#fff}.stat-card-department-employees .stat-title,.stat-card-department-employees .stat-subtitle{color:#fff}.stat-card-department-employees .stat-icon{color:#ffffffe6}.stat-card-department-employees .stat-value{color:#fff}.stat-card-department-employees-ctech{background:linear-gradient(135deg,#8b0000,brown)!important;color:#fff!important}.stat-card-department-employees-ctech .stat-title,.stat-card-department-employees-ctech .stat-subtitle,.stat-card-department-employees-ctech .stat-value{color:#fff!important}.stat-card-department-employees-ctech .stat-icon{color:#ffffffe6!important;background:#fff3!important}.stat-card-department-employees-ctech .stat-icon svg{width:24px!important;height:24px!important;color:#ffffffe6!important}.stat-card-department-employees-cte{background:linear-gradient(135deg,#2196f3,#1976d2)!important;color:#fff!important}.stat-card-department-employees-cte .stat-title,.stat-card-department-employees-cte .stat-subtitle,.stat-card-department-employees-cte .stat-value{color:#fff!important}.stat-card-department-employees-cte .stat-icon{color:#ffffffe6!important;background:#fff3!important}.stat-card-department-employees-cte .stat-icon svg{width:24px!important;height:24px!important;color:#ffffffe6!important}.stat-card-department-employees-coas{background:linear-gradient(135deg,#4caf50,#2e7d32)!important;color:#fff!important}.stat-card-department-employees-coas .stat-title,.stat-card-department-employees-coas .stat-subtitle,.stat-card-department-employees-coas .stat-value{color:#fff!important}.stat-card-department-employees-coas .stat-icon{color:#ffffffe6!important;background:#fff3!important}.stat-card-department-employees-coas .stat-icon svg{width:24px!important;height:24px!important;color:#ffffffe6!important}.stat-card-department-employees-cbm{background:linear-gradient(135deg,#ffc107,#ff9800)!important;color:#fff!important}.stat-card-department-employees-cbm .stat-title,.stat-card-department-employees-cbm .stat-subtitle,.stat-card-department-employees-cbm .stat-value{color:#fff!important}.stat-card-department-employees-cbm .stat-icon{color:#ffffffe6!important;background:#fff3!important}.stat-card-department-employees-cbm .stat-icon svg{width:24px!important;height:24px!important;color:#ffffffe6!important}.stat-card-department-employees-cfes{background:linear-gradient(135deg,#00bcd4,#0097a7)!important;color:#fff!important}.stat-card-department-employees-cfes .stat-title,.stat-card-department-employees-cfes .stat-subtitle,.stat-card-department-employees-cfes .stat-value{color:#fff!important}.stat-card-department-employees-cfes .stat-icon{color:#ffffffe6!important;background:#fff3!important}.stat-card-department-employees-cfes .stat-icon svg{width:24px!important;height:24px!important;color:#ffffffe6!important}.department-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media (max-width: 1200px){.department-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.department-grid{grid-template-columns:1fr}}.main-section-title{color:#000;font-size:1.4rem;font-weight:700;margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem;border-bottom:2px solid #e8f5e8;padding-bottom:.5rem}.section-icon{font-size:1.2rem;color:#4caf50}.personal-statistics-content{display:flex;flex-direction:column;gap:1rem}@media (max-width: 768px){.personal-statistics-section .stats-grid{display:flex;overflow-x:auto;gap:.75rem;padding-bottom:.5rem;scrollbar-width:thin;scrollbar-color:#4caf50 #f0f0f0}.personal-statistics-section .stats-grid::-webkit-scrollbar{height:6px}.personal-statistics-section .stats-grid::-webkit-scrollbar-track{background:#f0f0f0;border-radius:3px}.personal-statistics-section .stats-grid::-webkit-scrollbar-thumb{background:#4caf50;border-radius:3px}.personal-statistics-section .stats-grid::-webkit-scrollbar-thumb:hover{background:#2e7d32}.personal-statistics-section .stat-card{min-width:200px;flex-shrink:0}}.section-title{color:#000;font-size:1.1rem;font-weight:600;margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.stat-card{background:#fff;border-radius:10px;padding:1rem;box-shadow:0 2px 8px #0000001a;border:1px solid #e0e0e0;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.department-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:1200;padding:24px}.department-modal{width:min(760px,95vw);max-height:85vh;background:#fff;border-radius:16px;box-shadow:0 22px 60px #0f172a40;display:flex;flex-direction:column;overflow:hidden}.department-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 22px;background:#fff;color:#1f2937;border-bottom:1px solid #e5e7eb}.department-modal-header h3{margin:0 0 4px;font-size:1.25rem;font-weight:600}.department-modal-header p{margin:0;opacity:.85;font-size:.9rem}.department-modal-close{background:#f3f4f6;border:1px solid #e5e7eb;color:#111827;font-size:1.5rem;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.department-modal-close:hover{background:#e5e7eb}.department-modal-body{padding:20px 22px 24px;overflow-y:auto;background:#f8fafc}.department-modal-toolbar{padding:12px 22px 0;background:#fff}.department-modal-loading,.department-modal-error,.department-modal-empty{text-align:center;color:#475569;font-size:.95rem;padding:24px 0}.department-modal-error{color:#dc2626}.department-modal-count{font-weight:600;color:#1f2937;margin-bottom:12px}.department-modal-search{margin-bottom:12px}.department-modal-search input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;font-size:.9rem;color:#1f2937}.department-modal-search input:focus{outline:none;border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b833}.department-modal-table{display:grid;gap:0;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff}.department-modal-row{display:grid;grid-template-columns:1fr 140px;gap:12px;padding:10px 14px;font-size:.9rem;color:#1f2937;align-items:center;border-bottom:1px solid #e2e8f0}.department-modal-row span:last-child{text-align:right}.department-modal-row:last-child{border-bottom:none}.department-modal-row--header{background:#f8fafc;box-shadow:none;font-weight:600;text-transform:uppercase;font-size:.75rem;color:#64748b;padding:10px 14px}.department-modal-row:not(.department-modal-row--header) span:first-child{text-transform:uppercase}@media (max-width: 640px){.department-modal{width:100%;max-height:90vh}.department-modal-row{grid-template-columns:1fr;gap:6px}}.stat-card-total-employees{background:linear-gradient(135deg,#9e9e9e,#757575);color:#fff;border-left:none}.stat-card-total-employees .stat-title,.stat-card-total-employees .stat-value,.stat-card-total-employees .stat-subtitle{color:#fff}.stat-card-total-employees .stat-icon{background:#fff3;color:#fff}.stat-card-cte{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;border-left:none}.stat-card-cte .stat-title,.stat-card-cte .stat-value,.stat-card-cte .stat-subtitle{color:#fff}.stat-card-cte .stat-icon{background:#fff3;color:#fff}.stat-card-ctech{background:linear-gradient(135deg,#8b0000,brown);color:#fff;border-left:none}.stat-card-ctech .stat-title,.stat-card-ctech .stat-value,.stat-card-ctech .stat-subtitle{color:#fff}.stat-card-ctech .stat-icon{background:#fff3;color:#fff}.stat-card-coas{background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff;border-left:none}.stat-card-coas .stat-title,.stat-card-coas .stat-value,.stat-card-coas .stat-subtitle{color:#fff}.stat-card-coas .stat-icon{background:#fff3;color:#fff}.stat-card-cbm{background:linear-gradient(135deg,#ffc107,#ff9800);color:#fff;border-left:none}.stat-card-cbm .stat-title,.stat-card-cbm .stat-value,.stat-card-cbm .stat-subtitle{color:#fff}.stat-card-cbm .stat-icon{background:#fff3;color:#fff}.stat-card-cfes{background:linear-gradient(135deg,#00bcd4,#0097a7);color:#fff;border-left:none}.stat-card-cfes .stat-title,.stat-card-cfes .stat-value,.stat-card-cfes .stat-subtitle{color:#fff}.stat-card-cfes .stat-icon{background:#fff3;color:#fff}.stat-card-general{background:linear-gradient(135deg,#9c27b0,#7b1fa2);color:#fff;border-left:none}.stat-card-general .stat-title,.stat-card-general .stat-value,.stat-card-general .stat-subtitle{color:#fff}.stat-card-general .stat-icon{background:#fff3;color:#fff}.stat-card-cos-teaching{background:linear-gradient(135deg,#8bc34a,#689f38);color:#fff;border-left:none}.stat-card-cos-teaching .stat-title,.stat-card-cos-teaching .stat-value,.stat-card-cos-teaching .stat-subtitle{color:#fff}.stat-card-cos-teaching .stat-icon{background:#fff3;color:#fff}.stat-card-sads{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;border-left:none}.stat-card-sads .stat-title,.stat-card-sads .stat-value,.stat-card-sads .stat-subtitle{color:#fff}.stat-card-sads .stat-icon{background:#fff3;color:#fff}.stat-card-atbi{background:linear-gradient(135deg,#795548,#5d4037);color:#fff;border-left:none}.stat-card-atbi .stat-title,.stat-card-atbi .stat-value,.stat-card-atbi .stat-subtitle{color:#fff}.stat-card-atbi .stat-icon{background:#fff3;color:#fff}.stat-card-extension{background:linear-gradient(135deg,#607d8b,#455a64);color:#fff;border-left:none}.stat-card-extension .stat-title,.stat-card-extension .stat-value,.stat-card-extension .stat-subtitle{color:#fff}.stat-card-extension .stat-icon{background:#fff3;color:#fff}.stat-card-security{background:linear-gradient(135deg,#424242,#212121);color:#fff;border-left:none}.stat-card-security .stat-title,.stat-card-security .stat-value,.stat-card-security .stat-subtitle{color:#fff}.stat-card-security .stat-icon{background:#fff3;color:#fff}.stat-card-clinic{background:linear-gradient(135deg,#e53935,#c62828);color:#fff;border-left:none}.stat-card-clinic .stat-title,.stat-card-clinic .stat-value,.stat-card-clinic .stat-subtitle{color:#fff}.stat-card-clinic .stat-icon{background:#fff3;color:#fff}.stat-card-library{background:linear-gradient(135deg,#6a1b9a,#4a148c);color:#fff;border-left:none}.stat-card-library .stat-title,.stat-card-library .stat-value,.stat-card-library .stat-subtitle{color:#fff}.stat-card-library .stat-icon{background:#fff3;color:#fff}.stat-card-default{background:linear-gradient(135deg,#78909c,#546e7a);color:#fff;border-left:none}.stat-card-default .stat-title,.stat-card-default .stat-value,.stat-card-default .stat-subtitle{color:#fff}.stat-card-default .stat-icon{background:#fff3;color:#fff}.total-employees-hero{margin-bottom:1rem}.stat-card-total-employees-hero{background:#fff;color:#1f2937;border-left:none;box-shadow:0 2px 8px #00000014}.stat-card-total-employees-hero .stat-title,.stat-card-total-employees-hero .stat-value,.stat-card-total-employees-hero .stat-subtitle{color:#1f2937}.stat-card-total-employees-hero .stat-icon{background:#0000000f;color:#374151}.campus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media (max-width: 1200px){.campus-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.campus-grid{grid-template-columns:1fr}}.stat-card-campus-main{background:linear-gradient(135deg,#9c27b0,#7b1fa2);color:#fff;border-left:none}.stat-card-campus-main .stat-title,.stat-card-campus-main .stat-value,.stat-card-campus-main .stat-subtitle{color:#fff}.stat-card-campus-main .stat-icon{background:#fff3;color:#fff}.stat-card-campus-balilihan{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;border-left:none}.stat-card-campus-balilihan .stat-title,.stat-card-campus-balilihan .stat-value,.stat-card-campus-balilihan .stat-subtitle{color:#fff}.stat-card-campus-balilihan .stat-icon{background:#fff3;color:#fff}.stat-card-campus-bilar{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;border-left:none}.stat-card-campus-bilar .stat-title,.stat-card-campus-bilar .stat-value,.stat-card-campus-bilar .stat-subtitle{color:#fff}.stat-card-campus-bilar .stat-icon{background:#fff3;color:#fff}.stat-card-campus-calape{background:linear-gradient(135deg,#e53935,#c62828);color:#fff;border-left:none}.stat-card-campus-calape .stat-title,.stat-card-campus-calape .stat-value,.stat-card-campus-calape .stat-subtitle{color:#fff}.stat-card-campus-calape .stat-icon{background:#fff3;color:#fff}.stat-card-campus-candijay{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;border-left:none}.stat-card-campus-candijay .stat-title,.stat-card-campus-candijay .stat-value,.stat-card-campus-candijay .stat-subtitle{color:#fff}.stat-card-campus-candijay .stat-icon{background:#fff3;color:#fff}.stat-card-campus-clarin{background:linear-gradient(135deg,#00897b,#00695c);color:#fff;border-left:none}.stat-card-campus-clarin .stat-title,.stat-card-campus-clarin .stat-value,.stat-card-campus-clarin .stat-subtitle{color:#fff}.stat-card-campus-clarin .stat-icon{background:#fff3;color:#fff}.stat-card-campus{background:linear-gradient(135deg,#3f51b5,#283593);color:#fff;border-left:none}.stat-card-campus .stat-title,.stat-card-campus .stat-value,.stat-card-campus .stat-subtitle{color:#fff}.stat-card-campus .stat-icon{background:#fff3;color:#fff}.section-subtitle{font-size:1rem;font-weight:600;color:#374151;margin:1.5rem 0 .75rem}.section-divider{border:none;border-top:2px solid #d1d5db;margin:1.25rem 0}.gender-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media (max-width: 900px){.gender-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.gender-grid{grid-template-columns:1fr}}.stat-card-gender-male{background:linear-gradient(135deg,#42a5f5,#1e88e5);color:#fff;border-left:none}.stat-card-gender-male .stat-title,.stat-card-gender-male .stat-value,.stat-card-gender-male .stat-subtitle{color:#fff}.stat-card-gender-male .stat-icon{background:#fff3;color:#fff}.stat-card-gender-female{background:linear-gradient(135deg,#ec407a,#d81b60);color:#fff;border-left:none}.stat-card-gender-female .stat-title,.stat-card-gender-female .stat-value,.stat-card-gender-female .stat-subtitle{color:#fff}.stat-card-gender-female .stat-icon{background:#fff3;color:#fff}.stat-card-gender-unassigned{background:linear-gradient(135deg,#78909c,#546e7a);color:#fff;border-left:none}.stat-card-gender-unassigned .stat-title,.stat-card-gender-unassigned .stat-value,.stat-card-gender-unassigned .stat-subtitle{color:#fff}.stat-card-gender-unassigned .stat-icon{background:#fff3;color:#fff}.stat-card-admin{background:linear-gradient(135deg,#f3e5f5,#fff)}.stat-card-academic{background:linear-gradient(135deg,#e8eaf6,#fff)}.stat-card-staff{background:linear-gradient(135deg,#efebe9,#fff)}.stat-icon{font-size:1.5rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#f5f5f5;color:#666}.stat-icon svg{width:24px;height:24px}.stat-content{flex:1}.stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.stat-title{font-size:.8rem;font-weight:600;color:#666;margin:0;text-transform:uppercase;letter-spacing:.5px}.stat-notification{background:#ff4757;color:#fff;font-size:.7rem;font-weight:700;padding:.2rem .5rem;border-radius:10px;text-transform:uppercase;letter-spacing:.5px;animation:pulse-notification 2s ease-in-out infinite;min-width:20px;text-align:center;line-height:1}@keyframes pulse-notification{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.stat-value{font-size:1.5rem;font-weight:700;color:#000;margin:0 0 .25rem}.stat-subtitle{font-size:.75rem;color:#888;margin:0}.quick-actions-section{background:#fff;border-radius:18px;padding:2rem;box-shadow:0 2px 16px #228b2214;border:1px solid #e0e0e0}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.quick-action-btn{background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff;border:none;border-radius:12px;padding:1rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:60px}.quick-action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #4caf504d;background:linear-gradient(135deg,#2e7d32,#1b5e20)}.loading-container{width:100%}.loading-header{margin-bottom:2rem}.loading-welcome-skeleton{background:linear-gradient(135deg,#4caf50,#2e7d32);border-radius:18px;padding:2rem;box-shadow:0 4px 20px #4caf5033}.skeleton-title{height:2rem;background:#ffffff4d;border-radius:8px;margin-bottom:1rem;animation:skeleton-loading 1.5s infinite}.skeleton-subtitle{height:1rem;background:#fff3;border-radius:6px;width:60%;animation:skeleton-loading 1.5s infinite}.loading-content{display:flex;flex-direction:column;gap:2rem}.loading-section{background:#fff;border-radius:18px;padding:2rem;box-shadow:0 2px 16px #228b2214;border:1px solid #e0e0e0}.skeleton-section-title{height:1.5rem;background:#e0e0e0;border-radius:8px;margin-bottom:1.5rem;width:40%;animation:skeleton-loading 1.5s infinite}.skeleton-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.skeleton-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000001a;border:1px solid #e0e0e0;display:flex;align-items:center;gap:.75rem}.skeleton-icon{width:50px;height:50px;background:#f5f5f5;border-radius:10px;animation:skeleton-loading 1.5s infinite}.skeleton-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.skeleton-text-small{height:.8rem;background:#e0e0e0;border-radius:4px;width:70%;animation:skeleton-loading 1.5s infinite}.skeleton-text-large{height:1.5rem;background:#e0e0e0;border-radius:6px;width:40%;animation:skeleton-loading 1.5s infinite}.skeleton-text-medium{height:.75rem;background:#e0e0e0;border-radius:4px;width:50%;animation:skeleton-loading 1.5s infinite}.skeleton-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.skeleton-action-button{height:60px;background:#e0e0e0;border-radius:12px;animation:skeleton-loading 1.5s infinite}@keyframes skeleton-loading{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.spinner{width:40px;height:40px;border:4px solid #e0e0e0;border-top:4px solid #4caf50;border-radius:50%;animation:spin 1s linear infinite}.error-message{text-align:center;padding:2rem;color:#f44336}.retry-button{background:#f44336;color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;margin-top:1rem;transition:background .3s ease}.retry-button:hover{background:#d32f2f}.animated-loading-container{display:flex;justify-content:center;align-items:center;min-height:60vh;width:100%}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;gap:2rem;text-align:center}.loading-spinner-ring{position:relative;width:80px;height:80px;border-radius:50%;background:linear-gradient(45deg,#4caf50,#2e7d32,#1b5e20);animation:rotate 2s linear infinite}.loading-spinner-ring:before{content:"";position:absolute;top:4px;left:4px;right:4px;bottom:4px;background:#fff;border-radius:50%}.loading-spinner-ring-inner{position:absolute;top:8px;left:8px;right:8px;bottom:8px;background:linear-gradient(45deg,#4caf50,#2e7d32);border-radius:50%;animation:pulse 1.5s ease-in-out infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.95)}}.loading-text h3{color:#000;font-size:1.5rem;font-weight:600;margin:0 0 .5rem;animation:fadeInUp .8s ease-out}.loading-text p{color:#666;font-size:1rem;margin:0;animation:fadeInUp .8s ease-out .2s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.loading-dots{display:flex;gap:.5rem;justify-content:center;margin-top:1rem}.dot{width:12px;height:12px;border-radius:50%;background:#4caf50;animation:bounce 1.4s ease-in-out infinite both}.dot:nth-child(1){animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}.dot:nth-child(3){animation-delay:0s}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}@media (max-width: 768px){.loading-spinner-ring{width:60px;height:60px}.loading-text h3{font-size:1.3rem}.loading-text p{font-size:.9rem}}@media (max-width: 768px){.dashboard-title{font-size:2rem}.stats-grid,.quick-actions-grid{grid-template-columns:1fr}.stat-card{padding:1rem}.stat-value{font-size:1.5rem}.welcome-card{padding:1.5rem}.welcome-card h2{font-size:1.5rem}}@media (max-width: 480px){.dashboard-container{padding:1rem}.dashboard-header{flex-direction:column;align-items:flex-start}.user-info{align-items:flex-start}.stats-section,.quick-actions-section{padding:1.5rem}}.logo-loading-container{display:flex;justify-content:center;align-items:center;min-height:60vh;width:100%}.logo-loading-content{display:flex;flex-direction:column;align-items:center;gap:2rem;text-align:center}.logo-loading-logo{margin-bottom:1rem;animation:logoFadeIn 1s ease-out}.logo-loading-img{width:150px;height:150px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.15));animation:logoFloat 3s ease-in-out infinite}@keyframes logoFadeIn{0%{opacity:0;transform:translateY(-30px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes logoFloat{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-8px) rotate(1deg)}50%{transform:translateY(-15px) rotate(0)}75%{transform:translateY(-8px) rotate(-1deg)}}.logo-loading-text h3{color:#000;font-size:1.5rem;font-weight:600;margin:0 0 .5rem;animation:textFadeIn .8s ease-out .3s both}.logo-loading-text p{color:#666;font-size:1rem;margin:0;animation:textFadeIn .8s ease-out .5s both}@keyframes textFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.logo-loading-dots{display:flex;gap:.5rem;justify-content:center;margin-top:1rem;animation:dotsFadeIn .8s ease-out .7s both}.logo-dot{width:12px;height:12px;border-radius:50%;background:#4caf50;animation:logoDotBounce 1.4s ease-in-out infinite both}.logo-dot:nth-child(1){animation-delay:-.32s}.logo-dot:nth-child(2){animation-delay:-.16s}.logo-dot:nth-child(3){animation-delay:0s}@keyframes logoDotBounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes dotsFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.logo-loading-img{width:120px;height:120px}.logo-loading-text h3{font-size:1.3rem}.logo-loading-text p{font-size:.9rem}}.employee-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.employee-modal-container{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.employee-modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #e5e7eb;background:linear-gradient(90deg,#22c55e,#16a34a);color:#fff;position:sticky;top:0;z-index:2}.employee-modal-header h2{margin:0;font-size:1.5rem;font-weight:600}.employee-modal-close{background:#ffffff0f;border:none;color:#fff;cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background-color .14s ease,transform .12s ease;min-width:40px;min-height:40px}.employee-modal-close:hover{background-color:#ffffff1a}.employee-modal-close svg{width:20px;height:20px}.employee-modal-form{padding:20px 24px 12px;overflow-y:auto;flex:1 1 auto;-webkit-overflow-scrolling:touch}.employee-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}.form-group.full-width{grid-column:1 / -1}.form-label{font-weight:600;color:#374151;margin-bottom:8px;font-size:.875rem}.form-label small{font-weight:400;color:#6b7280;font-size:.75rem}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:12px;color:#9ca3af;z-index:1;width:16px;height:16px;pointer-events:none}.input-wrapper input,.input-wrapper select,.input-wrapper textarea{width:100%;padding:12px 12px 12px 40px;border:1.5px solid #d1d5db;border-radius:8px;font-size:.875rem;background-color:#f9fafb;transition:all .2s ease;box-sizing:border-box}.input-wrapper input{padding-left:44px!important}.input-wrapper.has-password-toggle .employee-password-input{padding-right:44px!important}.employee-password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;margin:0!important;padding:0!important;border:none!important;border-radius:999px;background:transparent!important;box-shadow:none!important;color:#9ca3af;display:inline-flex!important;align-items:center;justify-content:center;cursor:pointer;z-index:2}.employee-password-toggle:hover,.employee-password-toggle:focus,.employee-password-toggle:active,.employee-password-toggle:focus-visible{background:transparent!important;box-shadow:none!important;color:#22c55e}.employee-password-toggle:disabled{opacity:.55;cursor:not-allowed}.input-wrapper textarea{resize:vertical;min-height:80px;font-family:inherit}.input-wrapper input:focus,.input-wrapper select:focus,.input-wrapper textarea:focus{outline:none;border-color:#22c55e;background-color:#fff;box-shadow:0 0 0 3px #22c55e1a}.input-wrapper input.error,.input-wrapper select.error,.input-wrapper textarea.error{border-color:#ef4444;background-color:#fef2f2}.input-wrapper input.error:focus,.input-wrapper select.error:focus,.input-wrapper textarea.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.input-wrapper input:disabled,.input-wrapper select:disabled,.input-wrapper textarea:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.error-text{color:#ef4444;font-size:.75rem;margin-top:4px;font-weight:500}.employee-password-strength{margin-top:8px}.employee-password-strength-track{width:100%;height:6px;background:#e5e7eb;border-radius:999px;overflow:hidden}.employee-password-strength-fill{height:100%;width:0;transition:width .2s ease,background-color .2s ease}.employee-password-strength-fill.is-weak{background:#ef4444}.employee-password-strength-fill.is-fair{background:#f97316}.employee-password-strength-fill.is-good{background:#f59e0b}.employee-password-strength-fill.is-strong{background:#16a34a}.employee-password-strength-label{margin-top:5px;font-size:.78rem;font-weight:600}.employee-password-strength-label.is-weak{color:#b91c1c}.employee-password-strength-label.is-fair{color:#c2410c}.employee-password-strength-label.is-good{color:#b45309}.employee-password-strength-label.is-strong{color:#166534}.employee-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:14px 18px;border-top:1px solid #e5e7eb;background-color:#f9fafb;position:sticky;bottom:0;z-index:2}.btn{display:flex;align-items:center;gap:8px;padding:12px 24px;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;border:none;text-decoration:none;justify-content:center;min-width:120px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:#6b7280;color:#fff}.btn-primary{background:linear-gradient(90deg,#22c55e,#16a34a);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(90deg,#16a34a,#15803d);box-shadow:0 4px 12px #22c55e4d}@media (max-width: 768px){.employee-modal-container{margin:8px;max-height:calc(100vh - 16px);border-radius:10px}.employee-modal-header{padding:14px 16px}.employee-modal-form{padding:12px 16px 8px}.employee-form-grid{grid-template-columns:1fr;gap:14px}.employee-modal-footer{padding:12px 16px;gap:8px}.btn{padding:12px 16px;min-width:90px}.employee-modal-container{padding-bottom:env(safe-area-inset-bottom)}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}body{min-height:100vh;font-family:Segoe UI,Roboto,Arial,sans-serif;color:#1e293b}.employee-container{max-width:1200px;margin:48px auto;padding:40px 24px}.employee-layout-row{display:flex;flex-direction:row;min-height:100vh;height:auto;width:100%;overflow-x:hidden}.employee-main-container{flex:1 1 0;width:100%;min-width:0;margin:0;padding:48px;margin-left:var(--sidebar-width);border-radius:18px 0 0 18px;display:flex;flex-direction:column;align-items:flex-start;position:relative;background:#f6f8fa;box-shadow:0 2px 16px #228b220f}.employee-header-flex{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;gap:1.5rem;width:100%}.employee-title{font-size:2.2rem;font-weight:600;color:#1e293b;margin:0;letter-spacing:1px;text-align:left}.employee-controls{display:flex;align-items:center;gap:1rem}.employee-controls>*{align-self:center}.employee-add-btn,.employee-filter{height:44px;display:inline-flex;align-items:center}.employee-filter{padding:0 18px}.employee-controls{flex-wrap:nowrap}.employee-controls .create-employee-btn{white-space:nowrap}.review-signups-btn{height:44px;border:none;border-radius:8px;position:relative;padding:0 14px;font-size:.875rem;font-weight:600;color:#fff;background:linear-gradient(90deg,#0ea5e9,#0284c7);box-shadow:0 2px 4px #0ea5e940;cursor:pointer;white-space:nowrap;transition:all .2s ease}.review-signups-badge{position:absolute;top:-7px;right:-8px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ef4444;color:#fff;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;border:2px solid #f6f8fa;box-shadow:0 2px 6px #ef444459;pointer-events:none}.review-signups-btn:hover{background:linear-gradient(90deg,#0284c7,#0369a1);box-shadow:0 4px 12px #0ea5e94d;transform:translateY(-1px)}.review-signups-btn:active{transform:translateY(0)}@media (max-width: 700px){.employee-controls{flex-direction:column;align-items:flex-end;gap:.7rem}.employee-controls .employee-filter{min-width:100%;margin-top:0;height:auto}.employee-controls .create-employee-btn{width:100%;justify-content:center;height:auto}}.employee-add-btn{padding:10px 28px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .2s,box-shadow .2s,transform .18s;box-shadow:0 2px 8px #2563eb1a}.employee-add-btn:hover{background:#1d4ed8;box-shadow:0 6px 18px #2563eb2e;transform:scale(1.04)}@media (max-width: 500px){.employee-add-btn{max-width:100%;padding:12px 8px;font-size:1rem}}.employee-form{background:none;border:none;border-radius:0;padding:0;margin-bottom:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.employee-form .employee-error{color:#ef4444;font-size:1rem;margin-bottom:14px}.employee-form .employee-submit-btn{width:100%;padding:14px 0;background:linear-gradient(90deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:9999px;font-size:1.15rem;font-weight:600;cursor:pointer;transition:background .3s ease,box-shadow .3s ease,transform .2s ease;box-shadow:0 2px 8px #22c55e14;max-width:180px;margin:0}.employee-form .employee-submit-btn:disabled{background:#a7f3d0;cursor:not-allowed}.employee-list{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;margin-top:32px}.employee-position-card{background:#ffffffd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:22px;box-shadow:0 8px 32px #2563eb21;display:flex;flex-direction:column;min-width:0;padding:0 0 22px;border:1px solid rgba(229,231,235,.4);position:relative;overflow:hidden;transition:box-shadow .3s ease,transform .25s ease}.employee-position-card:hover{box-shadow:0 16px 48px #2563eb2e;transform:translateY(-4px) scale(1.03)}.employee-position-accent{height:8px;width:100%;display:block;margin-bottom:.5rem}.employee-position-accent.staff{background:linear-gradient(90deg,#22c55e,#16a34a)}.employee-position-accent.faculty{background:linear-gradient(90deg,#2563eb,#38bdf8)}.employee-position-accent.instructor{background:linear-gradient(90deg,#f59e42,#fbbf24)}.employee-position-accent.admin{background:linear-gradient(90deg,#ef4444,#f87171)}.employee-position-accent.other{background:linear-gradient(90deg,#a855f7,#f472b6)}.employee-position-title{font-size:1.45rem;font-weight:600;color:#22223b;margin-bottom:18px;letter-spacing:.5px;display:flex;align-items:center;gap:10px;padding:18px 28px 0}.employee-position-title .position-icon{font-size:1.5rem;margin-right:4px}.employee-position-list{display:flex;flex-direction:column;gap:18px;padding:0 28px}.employee-card{display:flex;align-items:center;justify-content:space-between;background:#f8fafc;border:1.5px solid #22c55e;border-radius:14px;padding:18px 24px;box-shadow:0 2px 8px #00000008;transition:box-shadow .3s ease,transform .25s ease,border .2s ease}.employee-card:hover{box-shadow:0 12px 36px #00000014;transform:translateY(-4px) scale(1.035);border-color:#16a34a}.employee-info{display:flex;flex-direction:column;gap:4px}.employee-info .employee-name{font-size:1.18rem;font-weight:500;color:#1e293b;letter-spacing:.5px}.employee-info .employee-meta{color:#64748b;font-size:1.01rem}.employee-delete-btn{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff5f5,#fef2f2);color:#ef4444;border:1px solid #fecaca;padding:.375rem;border-radius:8px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #ef444414,0 0 0 1px #ef44440d;min-width:32px;height:32px;position:relative;overflow:hidden}.employee-delete-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transition:left .5s}.employee-delete-btn:hover:before{left:100%}.employee-delete-btn:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;border-color:#dc2626;transform:translateY(-2px) scale(1.02);box-shadow:0 4px 6px -1px #dc262626,0 2px 4px -1px #dc26261a,0 0 0 3px #ef444426}.employee-delete-btn:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:0 1px 2px #0000000d}.employee-delete-btn:focus{outline:none;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,0 0 0 3px #3b82f64d}.employee-delete-btn svg{transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1;position:relative}.employee-delete-btn:hover svg{transform:scale(1.15) rotate(5deg);filter:drop-shadow(0 2px 4px rgba(255,255,255,.3))}.employee-delete-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:0 1px 2px #0000000d!important}.employee-delete-btn:disabled:hover{background:linear-gradient(135deg,#fff5f5,#fef2f2);color:#ef4444;border-color:#fecaca;transform:none}.employee-delete-btn:disabled svg{transform:none!important}@media (max-width: 900px){.employee-layout-row{flex-direction:column}.employee-main-container{padding:32px 12px;margin-left:0}.employee-header-flex{flex-direction:column;align-items:flex-start;gap:.7rem}.employee-list{grid-template-columns:1fr;gap:24px}.employee-title{font-size:1.5rem}}@media (max-width: 700px){.employee-container{padding:16px 2vw}.employee-form{padding:18px 8px}.employee-position-card{padding:0 0 12px}.employee-card{padding:12px 8px;flex-direction:column;align-items:flex-start;gap:12px}.employee-position-title{padding:12px 10px 0;font-size:1.2rem}.employee-position-list{padding:0 10px}.employee-delete-btn{width:28px;height:28px;font-size:.95rem}.employee-title{font-size:1.2rem;text-align:left}.employee-subtitle{text-align:left}.employee-main-container{padding:8px 1vw;border-radius:0;margin-left:0}}.see-more-btn{margin:18px auto 0;display:block;padding:6px 16px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s;max-width:120px;width:100%}.see-more-btn:hover{background:#1d4ed8;color:#fff}.employee-edit-btn:hover:not(:disabled){background:linear-gradient(90deg,#2563eb,#1d4ed8)!important;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.employee-delete-modal{max-width:500px}.employee-password-confirm-modal{max-width:520px}.employee-password-confirm-body{padding:22px}.employee-password-confirm-text{margin:0 0 14px;text-align:center;color:#374151;font-size:.98rem}.employee-password-confirm-label{display:block;margin-bottom:6px;font-size:.82rem;font-weight:600;color:#4b5563}.employee-password-confirm-input-wrap{position:relative}.employee-password-confirm-input{width:100%;border:1.5px solid #d1d5db;border-radius:8px;padding:12px 52px 12px 12px;font-size:.9rem;background:#f9fafb;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.employee-password-confirm-input:focus{outline:none;border-color:#22c55e;background-color:#fff;box-shadow:0 0 0 3px #22c55e1f}.employee-password-confirm-input:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.employee-password-confirm-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:none!important;border-radius:999px;background:transparent!important;box-shadow:none!important;color:#9ca3af;font-size:1.2rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.employee-password-confirm-toggle:hover,.employee-password-confirm-toggle:focus,.employee-password-confirm-toggle:active,.employee-password-confirm-toggle:focus-visible{background:transparent!important;box-shadow:none!important;color:#9ca3af}.employee-password-confirm-toggle:disabled{cursor:not-allowed;opacity:.6}.employee-delete-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:#fef2f2;border:3px solid #fee2e2;border-radius:50%;margin:0 auto 1rem}.employee-delete-icon svg{color:#ef4444;width:40px;height:40px}@media (max-width: 768px){.employee-delete-icon{width:72px;height:72px}}.employee-filter{padding:8px 18px;border-radius:8px;border:1.5px solid #a5d6a7;font-size:1rem;background:#e8f5e9;color:#1b5e20;outline:none;transition:border .2s,box-shadow .2s;box-shadow:0 1.5px 4px #43a04712}.employee-filter:focus{border:1.5px solid #43a047;box-shadow:0 0 0 2px #a5d6a7}.employee-list-vertical{display:flex;flex-direction:column;gap:16px;width:100%;margin-top:16px}.employee-card-vertical{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;padding:16px 20px;margin-bottom:0;display:flex;align-items:center;justify-content:space-between;gap:16px;transition:all .2s ease;width:100%;max-width:100%;position:relative}.employee-card-vertical:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border-color:#d1d5db;transform:translateY(-1px)}.employee-info-vertical{display:flex;align-items:center;gap:16px;flex:1 1 auto}.employee-card-content{display:flex;flex-direction:column;gap:4px;flex:1 1 auto;justify-content:center;min-height:48px}.employee-avatar{width:48px;height:48px;min-width:48px;border-radius:50%;background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;font-weight:600;font-size:1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #16a34a33;border:1px solid #16a34a;overflow:hidden;position:relative}.employee-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.employee-avatar-initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.employee-name{font-size:1rem;font-weight:600;color:#111827;margin-bottom:2px}.employee-card-content .employee-name,.employee-card-content .employee-name a{margin-top:2px}.employee-meta{font-size:.875rem;color:#6b7280;margin-bottom:1px}.employee-meta-row{display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:center;margin-top:2px}.employee-actions{display:flex;align-items:center;gap:8px;align-self:center}.employee-actions>button,.employee-actions .employee-delete-btn{height:36px;min-width:40px;padding:6px 10px}@media (min-width: 1200px){.employee-avatar{width:56px;height:56px;min-width:56px;font-size:1.05rem}.employee-card-content{min-height:56px}}@media (max-width: 700px){.employee-meta-row{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px}}.employee-empty{color:#64748b;font-size:1.1rem;margin:32px auto;text-align:center;width:100%}@media (max-width: 1200px){.employee-list-vertical{grid-template-columns:repeat(3,1fr)}.employee-main-container{padding:40px 32px;margin-left:200px}}@media (max-width: 900px){.employee-list-vertical{grid-template-columns:repeat(2,1fr)}.employee-main-container{padding:32px 24px;margin-left:80px;border-radius:0}.employee-card-vertical{padding:18px 16px}.employee-avatar{width:48px;height:48px;font-size:1.05rem}}@media (max-width: 700px){.employee-list-vertical{grid-template-columns:1fr}.employee-main-container{padding:20px 16px;margin-left:0}.employee-title{font-size:1.6rem}.employee-controls{width:100%;justify-content:flex-end}.employee-search-bar{width:100%}}.employee-search-bar{display:flex;align-items:center;background:#e8f5e9;border:1.5px solid #a5d6a7;border-radius:10px;box-shadow:0 1.5px 4px #43a04712;padding:8px 18px;margin-bottom:24px;width:100%;max-width:420px}.employee-search-icon{color:#43a047;font-size:1.3rem;margin-right:10px}.employee-search-input{border:none;background:transparent;font-size:1.08rem;padding:6px 0;width:100%;outline:none;color:#1e293b}.employee-loading{display:flex;align-items:center;justify-content:center;margin:48px auto;color:#2563eb;font-size:1.15rem;gap:16px}.employee-spinner{width:44px;height:44px;border:5px solid #e8f5e9;border-top:5px solid #43a047;border-radius:50%;animation:spin .8s linear infinite;margin-right:16px;box-shadow:0 4px 16px #43a04721;background:conic-gradient(from 90deg at 50% 50%,#43a047,#a5d6a7 360deg)}.employee-loading-text{animation:bounce 1.2s infinite alternate;color:#1b5e20;font-weight:600;letter-spacing:.5px}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-8px)}}@media (max-width: 700px){.employee-search-bar{max-width:100%;padding:6px 8px}.employee-avatar{width:36px;height:36px;font-size:1rem}}.employee-modal-overlay{position:fixed;left:0;right:0;top:0;bottom:0;background:#14141473;display:flex;align-items:center;justify-content:center;z-index:1200;padding:24px;animation:fadeIn .18s}.employee-modal{width:920px;max-width:100%;max-height:calc(100vh - 80px);overflow:auto;background:#fff;border-radius:12px;box-shadow:0 20px 60px #02061759;padding:22px;position:relative;display:flex;flex-direction:column;gap:.5rem}.employee-modal-title{font-size:1.45rem;font-weight:700;color:#ef4444;margin-bottom:1.2rem;text-align:center;letter-spacing:.5px}.employee-modal-message{color:#374151;font-size:1.08rem;margin-bottom:1.5rem;text-align:center;font-weight:500;line-height:1.5}.employee-modal-btn-row{display:flex;gap:12px;justify-content:flex-end;padding-top:12px}.employee-submit-btn{background:linear-gradient(90deg,#ef4444,#f87171);color:#fff;border:none;padding:10px 16px;border-radius:8px;cursor:pointer}.employee-cancel-btn{background:#fff;color:#333;border:1px solid #d1d5db;padding:10px 14px;border-radius:8px;cursor:pointer}@media (max-width: 600px){.employee-modal{max-width:98vw;padding:18px 4vw}.employee-modal-title{font-size:1.1rem}.employee-modal-message{font-size:.98rem}.employee-modal-btn-row{flex-direction:column;gap:.7rem}}@keyframes popIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.employee-modal-close{position:absolute;right:12px;top:10px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:6px;cursor:pointer}.employee-modal-close:hover{background:#0000000a}.employee-form label{font-size:1.08rem;color:#334155;margin-bottom:8px;display:block;font-weight:600}.employee-form input{width:100%;padding:14px 18px;border:1.5px solid #cbd5e1;border-radius:12px;margin-bottom:22px;font-size:1.08rem;background:#f1f5f9;transition:border .3s ease,box-shadow .3s ease}.employee-form input:focus{border:2px solid #2563eb;outline:none;background:#fff;box-shadow:0 0 0 2px #38bdf8}.employee-modal-btn-row{display:flex;gap:1rem;margin-top:18px;justify-content:flex-end}.employee-submit-btn{width:100%;padding:14px 0;background:linear-gradient(90deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:9999px;font-size:1.15rem;font-weight:600;cursor:pointer;transition:background .3s ease,box-shadow .3s ease,transform .2s ease;box-shadow:0 2px 8px #22c55e14;max-width:180px;margin:0}.employee-submit-btn:disabled{background:#a7f3d0;cursor:not-allowed}.employee-cancel-btn{background:#f1f5f9;color:#1e293b;border:none;border-radius:9999px;font-weight:600;font-size:1.08rem;padding:14px 0;box-shadow:0 1.5px 4px #2563eb12;transition:background .18s,color .18s;cursor:pointer;max-width:180px;margin:0;width:100%}.employee-cancel-btn:hover{background:#e0e7ef;color:#2563eb}.employee-scroll-sentinel{min-height:40px;display:flex;justify-content:center;align-items:center;padding:16px 0}.employee-loading-more{display:flex;align-items:center;gap:10px;color:#64748b;font-size:.875rem;font-weight:500;padding:8px 0}.employee-end-of-list{text-align:center;color:#94a3b8;font-size:.8rem;padding:12px 0;font-weight:500}.pending-signups-modal{max-width:980px;width:min(980px,100%);max-height:min(88vh,900px)}.pending-signups-toolbar{display:flex;gap:10px;align-items:center;padding:14px 18px;border-bottom:1px solid #e5e7eb;background:#f8fafc}.pending-search-bar{margin-bottom:0;max-width:none;flex:1}.pending-signups-body{padding:0;overflow-y:auto}.pending-signups-list{display:flex;flex-direction:column;gap:12px;padding:16px 18px 18px}.pending-signup-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,280px) minmax(150px,170px);grid-template-areas:"main compare actions";align-items:start;gap:10px;border:1px solid #e2e8f0;border-radius:10px;padding:10px;background:linear-gradient(180deg,#fff,#f8fafc)}.pending-signup-main{grid-area:main;flex:1;min-width:0}.pending-signup-title-row{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}.pending-signup-name{font-size:1rem;font-weight:700;color:#0f172a}.pending-signup-status{display:inline-flex;align-items:center;font-size:.75rem;font-weight:700;color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:999px;padding:2px 10px}.pending-signup-meta-inline{display:grid;gap:4px;color:#475569;font-size:.78rem}.pending-signup-meta-row{display:flex;align-items:center;gap:6px 14px;flex-wrap:nowrap}.pending-signup-meta-row span{white-space:nowrap}.pending-compare-panel{border:1px solid #dbeafe;background:#f8fbff;border-radius:10px;padding:8px}.pending-compare-panel-side{grid-area:compare;margin-top:0;min-width:0}.pending-compare-header{font-size:.78rem;font-weight:700;color:#1d4ed8;margin-bottom:8px;letter-spacing:.02em;text-transform:uppercase}.pending-compare-rows{display:grid;gap:6px}.pending-compare-inline-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;font-size:.78rem;color:#334155}.pending-compare-item{display:inline-flex;align-items:center;gap:4px;min-width:0}.pending-compare-value{min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:500}.pending-compare-row{display:grid;grid-template-columns:64px 1fr;gap:6px;align-items:center;font-size:.76rem;color:#334155}.pending-compare-label{font-weight:700;color:#0f172a}.pending-compare-missing{color:#b45309;background:#fffbeb;border:1px solid #fcd34d;border-radius:6px;padding:6px}.pending-signup-actions{grid-area:actions;display:flex;flex-direction:row;align-items:center;gap:6px;justify-content:flex-start;min-width:150px}.pending-approve-btn,.pending-reject-btn{border:none;border-radius:8px;padding:9px 10px;flex:1 1 0;white-space:nowrap;color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease}.pending-approve-btn{background:linear-gradient(90deg,#22c55e,#16a34a);box-shadow:0 2px 8px #16a34a40}.pending-reject-btn{background:linear-gradient(90deg,#ef4444,#dc2626);box-shadow:0 2px 8px #dc262640}.pending-approve-btn:hover:not(:disabled),.pending-reject-btn:hover:not(:disabled){transform:translateY(-1px)}.pending-approve-btn:disabled,.pending-reject-btn:disabled{opacity:.65;cursor:not-allowed}.pending-empty{padding:36px 0}.pending-decision-modal{max-width:560px}.pending-reason-wrap{margin-top:10px}.pending-reason-label{display:inline-block;font-size:.875rem;color:#334155;margin-bottom:6px;font-weight:600}.pending-reason-label span{color:#dc2626}.pending-reason-input{width:100%;min-height:110px;border:1px solid #cbd5e1;border-radius:8px;resize:vertical;padding:10px 12px;font-family:inherit;font-size:.9rem;color:#1f2937;box-sizing:border-box}.pending-reason-input:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 3px #ef44441f}.pending-reason-count{margin-top:4px;text-align:right;font-size:.72rem;color:#64748b}@media (max-width: 1120px){.pending-signup-card{grid-template-columns:minmax(0,1fr) minmax(150px,170px);grid-template-areas:"main actions" "compare actions"}}@media (max-width: 600px){.employee-modal{max-width:98vw;padding:18px 4vw}.pending-signups-toolbar{flex-direction:column;align-items:stretch}.pending-signup-card{grid-template-columns:1fr;grid-template-areas:"main" "compare" "actions"}.pending-signup-meta-inline{gap:4px}.pending-signup-meta-row{flex-wrap:wrap;gap:4px 10px}.pending-signup-actions{flex-direction:row;min-width:0}.review-signups-btn{width:100%;justify-content:center}}@media (max-width: 640px){.mobile-signatory-select-wrapper{max-width:100%;width:100%;display:flex;justify-content:flex-start}.mobile-signatory-select-wrapper .mobile-signatory-select{max-width:100%;width:100%;box-sizing:border-box}}@media (max-width: 768px){.mobile-import-section{flex-wrap:wrap!important;overflow-x:hidden!important;max-width:100%!important}.mobile-signatory-select-wrapper{flex:0 0 auto!important;max-width:140px!important;overflow:hidden!important}.mobile-signatory-select{max-width:100%!important;min-width:0!important;text-overflow:ellipsis!important;white-space:nowrap!important;overflow:hidden!important}}@media (max-width: 480px){.mobile-signatory-select-wrapper{max-width:120px!important}}.attendance-container-responsive{min-height:100vh;margin-left:var(--sidebar-width);padding:48px 64px;background:transparent}.myattendance-tab-bar{display:flex;gap:0;margin-bottom:18px;align-items:center;flex-wrap:nowrap}.myattendance-tab{flex:1 1 0;padding:10px 4px;border:1px solid #ddd;border-radius:0;background:transparent;color:#666;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;text-align:center}.myattendance-tab:hover{background:#ede7f6;color:#5b16d6}.myattendance-tab.active{background:#5b16d6;color:#fff;border-color:#5b16d6}.myattendance-tab.active:hover{background:#4a11b3;color:#fff}@media (max-width: 900px){.myattendance-tab-bar{flex-wrap:wrap;gap:0}.myattendance-tab{flex:1 1 33.33%;min-width:0;padding:8px 6px;font-size:12px;box-sizing:border-box}}@media (max-width: 480px){.myattendance-tab{padding:6px 4px;font-size:10px}}@media (max-width: 768px){.myattendance-tabs-row{flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important}.myattendance-tabs-row .myattendance-tab-bar{width:100%!important;max-width:100%!important;flex-wrap:nowrap!important}.myattendance-tabs-row .myattendance-tab{flex:1 1 0!important;min-width:0!important}.myattendance-tabs-row .myattendance-weekend-switch{width:100%;justify-content:flex-end}}@media (max-width: 768px){.employee-header-flex{display:flex!important;flex-direction:column!important;gap:8px!important;align-items:stretch!important}.employee-header-flex>div{width:100%!important;order:0!important}.employee-header-flex>div:nth-child(1){order:1!important}.employee-header-flex>div:nth-child(2){order:2!important}.employee-header-flex>div:nth-child(3){order:3!important}.employee-header-flex>div:nth-child(4){order:4!important;display:flex!important;flex-direction:row!important;gap:8px!important;align-items:center!important;justify-content:space-between!important}.employee-header-flex>div:nth-child(5){order:5!important}.employee-header-flex .attendance-department-select,.employee-header-flex .employee-select-button,.employee-header-flex .attendance-datepicker,.employee-header-flex select,.employee-header-flex button,.employee-header-flex input[type=text],.employee-header-flex input[type=search],.employee-header-flex .react-select__control{width:100%!important;box-sizing:border-box;min-height:36px;margin-top:0!important;margin-bottom:0!important}.employee-header-flex .attendance-department-select,.employee-header-flex .employee-select-button{display:flex!important;align-items:center!important;vertical-align:top!important;line-height:1.2!important}}.attendance-tab-btn{flex:1;padding:14px 0 12px;background:#f8fafc;color:#16a34a;border:1.5px solid #bbf7d0;border-bottom:none;border-radius:12px 12px 0 0;font-weight:600;font-size:1.08rem;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s;box-shadow:0 1.5px 4px #43a04712;margin-right:16px;outline:none;position:relative;z-index:1}.attendance-tab-btn:last-child{margin-right:0}.attendance-tab-btn-active{background:#fff;color:#16a34a;border:1.5px solid #bbf7d0;border-bottom:3px solid #22c55e;border-radius:12px 12px 0 0;box-shadow:0 2px 8px #22c55e1a;font-weight:700;z-index:2}.attendance-tab-btn:not(.attendance-tab-btn-active):hover{background:#e0f2e9;color:#15803d}.attendance-tab-group{display:flex;width:100%;gap:16px;margin-bottom:18px}@media (max-width: 900px){.attendance-container-responsive{margin-left:0;padding:24px 8px}.attendance-tabs-row{max-width:100%;padding:10px 4px}}@media (max-width: 600px){.attendance-container-responsive{margin-left:0;padding:12px 2vw}.attendance-tabs-row{flex-direction:column;gap:10px;max-width:100%;padding:8px 2px}.attendance-tab-btn{width:100%;padding:14px 0;font-size:1.08rem;margin:0}}.attendance-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:16px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 24px #228b221a;font-size:1.08rem;min-width:700px;border:1.5px solid #e0e7ef;table-layout:fixed}.attendance-table-container{width:100%;overflow-x:auto;overflow-y:visible;border-radius:16px;box-shadow:0 4px 24px #228b221a}.attendance-table thead th{position:sticky;top:0;z-index:2;background:linear-gradient(90deg,#e8f5e9,#d1fae5);color:#166534;font-weight:700;border-bottom:2.5px solid #a5d6a7;padding:16px 14px;letter-spacing:.01em;font-size:1.13rem;box-shadow:0 2px 8px #22c55e12;transition:box-shadow .2s}.attendance-table tbody tr:nth-child(2n){background:#f8fafc}.attendance-table tbody tr:nth-child(odd){background:#fff}.attendance-table td{border-bottom:1px solid #e5e7eb;color:#222;font-size:1.04rem;padding:15px 14px;transition:background .18s}.attendance-table tr:last-child td{border-bottom:none}.attendance-table tbody tr:hover{background:#e0f2f1;transition:background .18s}.attendance-table tbody tr:hover td:nth-child(5),.attendance-table tbody tr:hover td:nth-child(6),.attendance-table tbody tr:hover td:nth-child(7),.attendance-table tbody tr:hover td:nth-child(8){background:#e0f2f1!important}.attendance-table th:first-child,.attendance-table td:first-child{border-top-left-radius:12px}.attendance-table th:last-child,.attendance-table td:last-child{border-top-right-radius:12px}.attendance-table th,.attendance-table td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;padding:15px 8px}.attendance-table th:nth-child(1),.attendance-table td:nth-child(1){max-width:80px;min-width:60px}.attendance-table th:nth-child(2),.attendance-table td:nth-child(2){max-width:200px;min-width:120px;white-space:normal;word-wrap:break-word;line-height:1.3}.attendance-table th:nth-child(3),.attendance-table td:nth-child(3){max-width:100px;min-width:80px}.attendance-table th:nth-child(4),.attendance-table td:nth-child(4){max-width:120px;min-width:100px}.attendance-table th:nth-child(5),.attendance-table td:nth-child(5),.attendance-table th:nth-child(6),.attendance-table td:nth-child(6),.attendance-table th:nth-child(7),.attendance-table td:nth-child(7),.attendance-table th:nth-child(8),.attendance-table td:nth-child(8){max-width:90px;min-width:70px;text-align:center}.employee-header-flex{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:16px}@media (min-width: 769px){.employee-header-flex .attendance-department-select{width:220px!important;min-width:200px!important;max-width:240px!important}.employee-header-flex .employee-select-button{width:220px!important;min-width:200px!important;max-width:260px!important}.employee-header-flex .attendance-department-select,.employee-header-flex .employee-select-button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.employee-header-flex .attendance-datepicker,.employee-header-flex select,.employee-header-flex .employee-select-button,.employee-header-flex .import-button,.employee-header-flex .mobile-import-button,.employee-header-flex button{min-height:40px;box-sizing:border-box}.attendance-action-buttons-row button,.attendance-action-buttons-row .import-button{width:auto!important;flex:0 0 auto!important}.employee-header-flex .import-button{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px}.employee-header-flex .employee-select-button,.employee-select-button{min-height:40px!important;height:40px;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;padding:8px 12px!important}.import-file-input{padding:8px 12px;border:2px solid #a5d6a7;border-radius:6px;background-color:#f9fff9;color:#14532d;cursor:pointer;font-size:.95rem;transition:border-color .2s,background-color .2s}.import-file-input:hover{border-color:#22c55e;background-color:#f0fdf4}.import-file-input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.import-status-text{margin-left:8px;color:#16a34a;font-size:.9rem;font-weight:500}.import-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease-out}.import-dialog{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:slideIn .3s ease-out}.import-dialog-header{display:flex;align-items:center;padding:20px 24px 16px;border-bottom:1px solid #e5e7eb;position:relative;flex-shrink:0}.import-dialog-icon{font-size:24px;margin-right:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%}.import-dialog-icon.success{background:#d1fae5;color:#166534}.import-dialog-icon.error{background:#fee2e2;color:#dc2626}.import-dialog-title{flex:1;margin:0;font-size:20px;font-weight:600;color:#1f2937}.import-dialog-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background-color .2s,color .2s}.import-dialog-close:hover{background:#f3f4f6;color:#374151}.import-dialog-content{padding:20px 24px;overflow:hidden;flex:1;display:flex;flex-direction:column;min-height:0}.import-dialog-message{margin:0 0 20px;font-size:16px;color:#4b5563;line-height:1.5}.import-statistics{margin-bottom:20px}.import-statistics h4{margin:0 0 12px;font-size:16px;font-weight:600;color:#1f2937}.import-stats-grid{display:grid;gap:8px}.import-stat-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f9fafb;border-radius:6px;border-left:3px solid #e5e7eb}.import-stat-label{font-size:14px;color:#6b7280}.import-stat-value{font-weight:600;font-size:14px;padding:2px 8px;border-radius:4px;background:#e5e7eb;color:#374151}.import-stat-value.success{background:#d1fae5;color:#166534}.import-stat-value.warning{background:#fef3c7;color:#92400e}.import-stat-value.error{background:#fee2e2;color:#dc2626}.import-errors{margin-bottom:20px;flex:1;min-height:0;display:flex;flex-direction:column}.import-errors h4{margin:0 0 12px;font-size:16px;font-weight:600;color:#dc2626}.import-errors-list{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px;flex:1;min-height:0;max-height:200px;overflow-y:auto}.import-error-item{font-size:14px;color:#991b1b;margin-bottom:6px;line-height:1.4}.import-error-item:last-child{margin-bottom:0}.import-error-item.more{font-style:italic;color:#7c2d12}.import-dialog-footer{padding:16px 24px 20px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;flex-shrink:0}.import-dialog-button{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s}.import-dialog-button.primary{background:#22c55e;color:#fff}.import-dialog-button.primary:hover{background:#16a34a;transform:translateY(-1px)}.import-dialog-button.primary:active{transform:translateY(0)}@media (max-width: 600px){.import-dialog-overlay{padding:10px}.import-dialog{max-width:100%;margin:0}.import-dialog-header{padding:16px 20px 12px}.import-dialog-content{padding:16px 20px}.import-dialog-footer{padding:12px 20px 16px}.import-dialog-title{font-size:18px}.import-stats-grid{gap:6px}.import-stat-item{padding:6px 10px}}.employee-title{font-size:2.1rem;font-weight:700;color:#14532d;margin-bottom:2px}.employee-subtitle{font-size:1.08rem;color:#388e3c;margin-bottom:0}.attendance-date-picker-container{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:200px;position:relative}.selected-date-display{margin-top:4px;font-size:1.08rem;color:#15803d;background:#e8f5e9;border-radius:6px;padding:3px 8px;font-weight:600;box-shadow:0 1px 4px #22c55e12;transition:background .2s,color .2s;animation:fadeIn .4s}.attendance-datepicker{padding:8px 32px 8px 12px;border-radius:6px;border:1.5px solid #a5d6a7;font-size:1.08rem;background:#f9fff9;color:#14532d;transition:border .22s,box-shadow .22s;box-shadow:0 1px 4px #43a04714;font-weight:500}.attendance-datepicker:focus,.attendance-datepicker.selected{outline:none;border:2px solid #22c55e;box-shadow:0 0 0 2px #bbf7d0;background:#fff;color:#166534;animation:fadeIn .3s}.attendance-today-btn{margin-top:6px;padding:6px 16px;background:linear-gradient(90deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:1rem;cursor:pointer;transition:background .18s,box-shadow .18s;box-shadow:0 2px 8px #22c55e17}.attendance-today-btn:hover{background:#16a34a}@media (max-width: 900px){.employee-header-flex{flex-direction:column;align-items:stretch;gap:10px}.attendance-date-picker-container{min-width:100%;width:100%}.attendance-table{min-width:520px;font-size:.98rem}.attendance-table th,.attendance-table td{padding:12px 6px}.attendance-table th:nth-child(2),.attendance-table td:nth-child(2){max-width:150px;min-width:100px}}@media (max-width: 600px){.employee-header-flex{flex-direction:column;align-items:stretch;gap:8px}.attendance-date-picker-container{min-width:100%;width:100%}.attendance-datepicker{width:100%;font-size:1rem}.selected-date-display{font-size:1rem;padding:4px 6px}.attendance-table{min-width:720px;font-size:.98rem}.attendance-table th,.attendance-table td{padding:12px 8px;font-size:.9rem}.attendance-table th:nth-child(1),.attendance-table td:nth-child(1){max-width:80px;min-width:70px}.attendance-table th:nth-child(2),.attendance-table td:nth-child(2){max-width:180px;min-width:140px;white-space:normal;word-wrap:break-word;line-height:1.4}.attendance-table th:nth-child(3),.attendance-table td:nth-child(3){max-width:110px;min-width:90px}.attendance-table th:nth-child(4),.attendance-table td:nth-child(4){max-width:130px;min-width:110px}.attendance-table th:nth-child(5),.attendance-table td:nth-child(5),.attendance-table th:nth-child(6),.attendance-table td:nth-child(6),.attendance-table th:nth-child(7),.attendance-table td:nth-child(7),.attendance-table th:nth-child(8),.attendance-table td:nth-child(8){max-width:85px;min-width:70px;text-align:center;font-size:.85rem}}.react-datepicker__close-icon{right:10px!important;left:auto!important;top:55%;transform:translateY(-55%);position:absolute;z-index:2;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent!important;box-shadow:none!important;padding:0}.react-datepicker__close-icon:after{background:transparent!important;color:#888!important;border-radius:50%;font-size:2em;width:24px;height:24px;min-width:24px;min-height:24px;line-height:24px;display:flex;align-items:center;justify-content:center;box-shadow:none!important;transition:color .18s;content:"×";font-weight:700}.react-datepicker__close-icon:hover:after{color:#e11d48!important;background:transparent!important}.react-datepicker{box-shadow:0 8px 32px #228b222e,0 1.5px 6px #43a04717;border-radius:14px!important;border:1.5px solid #a5d6a7;margin-top:6px}.react-datepicker__header{background:linear-gradient(90deg,#e8f5e9,#d1fae5);border-top-left-radius:14px!important;border-top-right-radius:14px!important;border-bottom:1px solid #a5d6a7}.react-datepicker__day--selected,.react-datepicker__day--keyboard-selected{background:#22c55e!important;color:#fff!important;border-radius:50%!important}.my-attendance-btn.enhanced{padding:11px 0;background:linear-gradient(90deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:1rem;cursor:pointer;margin-right:12px;box-shadow:0 2px 8px #22c55e1a;transition:background .2s,box-shadow .2s,transform .1s}.my-attendance-btn.enhanced:hover,.my-attendance-btn.enhanced:focus{background:linear-gradient(90deg,#16a34a,#22c55e);box-shadow:0 4px 16px #16a34a26;transform:translateY(-2px) scale(1.03);outline:none}.my-attendance-btn.enhanced.active{background:linear-gradient(90deg,#15803d,#22c55e);box-shadow:0 4px 20px #22c55e40;border:2px solid #22c55e;color:#fff}.mobile-datepicker{width:100%!important;padding:8px 10px!important;border:1px solid #90EE90!important;border-radius:8px!important;font-size:14px!important;outline:none!important;background-color:#fff!important;min-height:40px!important;transition:all .2s ease!important}.mobile-datepicker:focus{border-color:#32cd32!important;box-shadow:0 0 0 2px #90ee9033!important}.mobile-datepicker:hover{border-color:#32cd32!important}@media (max-width: 768px){.desktop-filters{display:none!important}.mobile-filters{display:flex!important;flex-direction:column!important;gap:8px!important;width:100%!important;align-items:stretch!important}.mobile-filters label,.mobile-import-section label,.mobile-manage-remarks label{font-size:11px!important;margin-bottom:2px!important}.mobile-filters select,.mobile-filters .mobile-datepicker,.mobile-filters .employee-select-button,.mobile-filters .attendance-department-select,.mobile-filters button[type=button]{min-height:36px!important;padding:6px 10px!important;font-size:13px!important}.mobile-import-section{display:flex!important;flex-direction:row!important;gap:6px!important;align-items:center!important;width:100%!important;margin-top:2px!important}.mobile-import-section button:not([style*="#28a745"]):not([style*="#007bff"]){flex:1!important;min-height:40px!important;padding:8px 12px!important;font-size:14px!important;font-weight:600!important;border-radius:6px!important;border:none!important;cursor:pointer!important;transition:all .2s ease!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important}.mobile-import-section button:first-child:not([style*="#007bff"]){background:linear-gradient(90deg,#007bff#22c55e 0%,#16a34a 100%)!important;color:#fff!important;box-shadow:0 2px 8px #22c55e26!important}.mobile-import-section button:first-child:not([style*="#28a745"]):not([style*="#007bff"]):hover{background:linear-gradient(90deg,0%,#16a34a 100%)!important;transform:translateY(-1px)!important;box-shadow:0 4px 12px #22c55e40!important}.mobile-import-section button:nth-child(2):not([style*="#28a745"]):not([style*="#007bff"]){background:linear-gradient(90deg,#22c55e,#16a34a)!important;color:#fff!important;box-shadow:0 2px 8px #22c55e26!important}.mobile-import-section button:nth-child(2):not([style*="#28a745"]):not([style*="#007bff"]):hover{background:linear-gradient(90deg,#16a34a,#15803d)!important;transform:translateY(-1px)!important;box-shadow:0 4px 12px #22c55e40!important}.mobile-manage-remarks{display:block!important;width:100%!important;order:5!important;margin-top:4px!important}.mobile-manage-remarks button{padding:8px 12px!important;font-size:12px!important;gap:6px!important}.mobile-manage-holidays{display:block!important}.employee-header-flex{flex-direction:column;gap:8px}.employee-header-flex>div:first-child{margin-bottom:0}.employee-header-flex>div:last-child{margin-top:0}.mobile-date-filters{display:flex!important;flex-direction:column!important;gap:6px!important;width:100%!important}.mobile-date-filters>div{width:100%!important}.attendance-department-select{width:100%;padding:6px 10px!important;border:1px solid #90EE90!important;border-radius:8px!important;font-size:13px!important;background-color:#fff!important;min-height:36px!important}.employee-select-button{width:100%!important;min-height:36px!important;align-items:center!important}.mobile-filters select,.mobile-filters button,.mobile-filters .employee-select-button,.mobile-filters .attendance-department-select,.mobile-filters .attendance-datepicker,.mobile-filters .mobile-datepicker,.mobile-filters input[type=text],.mobile-filters input[type=search],.mobile-filters .react-select__control{width:100%!important;box-sizing:border-box}.employee-header-flex>div{width:100%!important}}@media (min-width: 769px){.mobile-filters,.mobile-import-section{display:none!important}.desktop-filters{display:flex!important}}@media (max-width: 480px){.mobile-filters{max-width:100%;gap:6px!important}.mobile-date-filters{gap:6px!important}.mobile-date-filters>div{width:100%!important}.mobile-import-section{width:100%!important;justify-content:space-between!important;gap:4px!important}.mobile-manage-remarks{width:100%!important;margin-top:4px!important}.mobile-filters label{font-size:11px!important;font-weight:600;color:#333;margin-bottom:2px!important;display:block}.mobile-datepicker{font-size:13px!important;padding:6px 10px!important;min-height:36px!important;width:100%!important}.mobile-import-section button{font-size:11px!important;padding:6px 8px!important;min-height:32px!important;flex:1!important}.mobile-import-section label{font-size:11px!important;margin-bottom:2px!important}.mobile-import-section span{font-size:11px!important}.mobile-import-section>div{padding:6px 8px!important;min-height:36px!important}}@media (max-width: 360px){.mobile-date-filters{gap:6px!important}.mobile-datepicker{font-size:13px!important;padding:6px 8px!important;min-height:36px!important}.mobile-filters label{font-size:11px!important}.mobile-import-section{gap:4px!important}.mobile-import-section label,.mobile-import-section span{font-size:11px!important}.mobile-import-section button{font-size:11px!important;padding:5px 8px!important;min-width:65px!important}.mobile-import-section>div{padding:6px 8px!important;min-height:36px!important}}.mobile-filters *{transition:all .2s ease}.mobile-datepicker:focus,.mobile-filters button:focus{outline:2px solid #32CD32;outline-offset:2px}.attendance-datepicker{width:100%;padding:8px 12px;border:1px solid #90EE90;border-radius:6px;font-size:14px;outline:none;background-color:#fff;transition:border-color .2s ease,box-shadow .2s ease}.attendance-datepicker:focus{border-color:#32cd32;box-shadow:0 0 0 2px #90ee9033}.attendance-datepicker:hover{border-color:#32cd32}.month-year-picker-wrapper{position:relative;display:inline-block;min-width:180px}.month-year-picker-button{position:relative;width:100%;text-align:left;padding-right:28px!important;cursor:pointer;background:#fff}.month-year-picker-button .mypicker-caret{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;color:#166534;pointer-events:none}.month-year-popover{position:absolute;top:calc(100% + 6px);left:0;background:#fff;border:1px solid #a5d6a7;border-radius:12px;box-shadow:0 8px 24px #105e1e2e;padding:12px 14px 16px;z-index:10000;width:260px;animation:fadeIn .18s ease-out}.month-year-popover:focus{outline:none}.mypicker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.mypicker-year{font-weight:600;color:#14532d;font-size:16px}.mypicker-nav-btn{background:linear-gradient(90deg,#e8f5e9,#d1fae5);border:1px solid #a5d6a7;width:38px;height:34px;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;color:#166534;display:flex;align-items:center;justify-content:center;transition:all .18s}.mypicker-nav-btn:hover{background:#22c55e;color:#fff;border-color:#16a34a}.mypicker-month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mypicker-month-btn{background:#f9fff9;border:1px solid #d1fae5;border-radius:8px;padding:8px 0;font-size:13px;font-weight:500;cursor:pointer;color:#14532d;transition:all .18s}.mypicker-month-btn:hover{background:#bbf7d0;border-color:#22c55e;color:#065f46}.mypicker-month-btn.selected{background:#22c55e;border-color:#15803d;color:#fff;font-weight:600;box-shadow:0 2px 8px #22c55e40}@media (max-width:480px){.month-year-popover{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:280px;max-width:90vw}.mypicker-month-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:481px) and (max-width:768px){.month-year-popover{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:300px}.mypicker-month-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.mobile-date-filters .month-year-picker-wrapper{min-width:0!important;width:100%!important;flex:1 1 0!important}.mobile-date-filters .month-year-picker-wrapper .month-year-picker-button{padding:6px 10px!important}}@media (max-width: 768px){.attendance-datepicker,.mobile-datepicker{font-size:13px!important;padding:6px 10px!important;min-height:36px!important}}@media (max-width: 768px){.desktop-filters label,.mobile-filters label{font-size:12px!important;font-weight:500!important}}.memo-modal-header{background:#f8f9fa;padding:1.5rem 2rem;border-bottom:1px solid #e9ecef;display:flex;align-items:center;justify-content:space-between}.memo-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#333}.memo-modal-close{background:none;border:none;font-size:1.8rem;color:#666;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.memo-modal-close:hover{color:#333}.memo-modal-form{padding:2rem;overflow-y:auto}.memo-form-group:last-child{margin-bottom:0}@media (max-width: 768px){.desktop-date-filters{display:none!important}.mobile-date-filters{display:flex!important;flex-direction:row!important;gap:8px!important;width:100%!important}.employee-header-flex{flex-direction:column;gap:8px}.employee-header-flex>div:last-child{width:100%}.mobile-date-filters>div{flex:1;min-width:0}.mobile-datepicker{font-size:16px}}@media (min-width: 769px){.mobile-date-filters{display:none!important}.desktop-date-filters{display:flex!important}}@media (max-width: 480px){.mobile-date-filters{gap:4px}.mobile-datepicker{padding:6px 10px;font-size:16px}.mobile-date-filters label{font-size:11px}}.react-datepicker-popper{z-index:9999!important}.react-datepicker-popper[data-placement^=bottom]{margin-top:8px!important}.react-datepicker-popper[data-placement^=top]{margin-bottom:8px!important}@media (max-width: 768px){.react-datepicker-popper{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;z-index:10000!important}.react-datepicker-popper:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:-1}.react-datepicker{width:90vw!important;max-width:320px!important;font-size:14px!important;box-shadow:0 20px 60px #0000004d!important}.react-datepicker__month-container{width:100%!important}.react-datepicker__header{padding:12px 0!important}.react-datepicker__day{width:2.5rem!important;height:2.5rem!important;line-height:2.5rem!important;font-size:14px!important}.react-datepicker__day-name{width:2.5rem!important;height:2rem!important;line-height:2rem!important;font-size:12px!important}}.react-datepicker{box-shadow:0 8px 32px #228b222e,0 1.5px 6px #43a04717;border-radius:14px!important;border:1.5px solid #a5d6a7;margin-top:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.react-datepicker__header{background:linear-gradient(90deg,#e8f5e9,#d1fae5);border-top-left-radius:14px!important;border-top-right-radius:14px!important;border-bottom:1px solid #a5d6a7;padding:12px 0}.react-datepicker__navigation{top:0!important;background:transparent!important;border:none!important;width:32px!important;height:32px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .2s ease!important}.react-datepicker__navigation:hover{background:#22c55e1a!important}.react-datepicker__navigation-icon{width:8px!important;height:8px!important;border:none!important;background:transparent!important}.react-datepicker__navigation-icon:before{border-color:#166534!important;border-width:2px 2px 0 0!important;width:8px!important;height:8px!important}.react-datepicker__navigation:hover .react-datepicker__navigation-icon:before{border-color:#15803d!important}.react-datepicker__navigation--previous{left:8px!important}.react-datepicker__navigation--next{right:8px!important}.react-datepicker{box-shadow:0 8px 32px #228b222e,0 1.5px 6px #43a04717;border-radius:14px!important;border:1.5px solid #a5d6a7;margin-top:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#fff!important}.react-datepicker__header{background:linear-gradient(90deg,#e8f5e9,#d1fae5);border-top-left-radius:14px!important;border-top-right-radius:14px!important;border-bottom:1px solid #a5d6a7;padding:12px 0;position:relative}.react-datepicker__current-month{color:#166534!important;font-weight:600!important;font-size:16px!important}.react-datepicker__day--selected,.react-datepicker__day--keyboard-selected{background:#22c55e!important;color:#fff!important;border-radius:50%!important;font-weight:600!important}.react-datepicker__day:hover{background:#bbf7d0!important;color:#166534!important;border-radius:50%!important}.react-datepicker__day--today{background:#fef3c7!important;color:#92400e!important;border-radius:50%!important;font-weight:600!important}@media (max-width: 768px){.react-datepicker__navigation{width:36px!important;height:36px!important;top:-2px!important}.react-datepicker__navigation--previous{left:12px!important}.react-datepicker__navigation--next{right:12px!important}.react-datepicker__navigation-icon:before{width:10px!important;height:10px!important;border-width:2px 2px 0 0!important}}@media (max-width: 480px){.react-datepicker__navigation{width:40px!important;height:40px!important;top:-4px!important}.react-datepicker__navigation--previous{left:16px!important}.react-datepicker__navigation--next{right:16px!important}.react-datepicker__navigation-icon:before{width:12px!important;height:12px!important;border-width:2px 2px 0 0!important}}@media (max-width: 768px){.employee-title{font-size:1.5rem!important;line-height:1.2!important;margin-bottom:4px!important}.employee-subtitle{font-size:.9rem!important;line-height:1.3!important;color:#666!important}}@media (max-width: 480px){.employee-title{font-size:1.3rem!important;line-height:1.1!important;margin-bottom:3px!important}.employee-subtitle{font-size:.8rem!important;line-height:1.2!important;color:#666!important}}@media (max-width: 768px){.attendance-table thead th{font-size:11px!important;padding:6px 4px!important;font-weight:600!important}.attendance-table tbody td{font-size:12px!important;padding:6px 4px!important}.attendance-table{font-size:12px!important}}@media (max-width: 480px){.attendance-table thead th{font-size:10px!important;padding:4px 2px!important;font-weight:600!important}.attendance-table tbody td{font-size:11px!important;padding:4px 2px!important}.attendance-table{font-size:11px!important}.attendance-table th:nth-child(1),.attendance-table td:nth-child(1){min-width:60px!important;max-width:80px!important}.attendance-table th:nth-child(2),.attendance-table td:nth-child(2){min-width:80px!important;max-width:120px!important}.attendance-table th:nth-child(3),.attendance-table td:nth-child(3){min-width:60px!important;max-width:80px!important}.attendance-table th:nth-child(4),.attendance-table td:nth-child(4){min-width:80px!important;max-width:100px!important}.attendance-table th:nth-child(5),.attendance-table td:nth-child(5),.attendance-table th:nth-child(6),.attendance-table td:nth-child(6),.attendance-table th:nth-child(7),.attendance-table td:nth-child(7),.attendance-table th:nth-child(8),.attendance-table td:nth-child(8){min-width:50px!important;max-width:70px!important}}@media (max-width: 360px){.attendance-table thead th{font-size:9px!important;padding:3px 1px!important}.attendance-table tbody td{font-size:10px!important;padding:3px 1px!important}.attendance-table{font-size:10px!important}}@media (max-width: 768px){.attendance-table{min-width:450px!important}.attendance-table th:nth-child(1),.attendance-table td:nth-child(1){min-width:100px!important;max-width:130px!important}.attendance-table th:nth-child(2),.attendance-table td:nth-child(2),.attendance-table th:nth-child(3),.attendance-table td:nth-child(3),.attendance-table th:nth-child(4),.attendance-table td:nth-child(4),.attendance-table th:nth-child(5),.attendance-table td:nth-child(5){min-width:70px!important;max-width:90px!important;text-align:center!important}.attendance-table th:nth-child(2)[style*=Standard],.attendance-table td:nth-child(2),.attendance-table th:nth-child(3)[style*=Actual],.attendance-table td:nth-child(3),.attendance-table th:nth-child(4)[style*=OT],.attendance-table td:nth-child(4){min-width:80px!important;max-width:100px!important;text-align:center!important}}@media (max-width: 600px){.attendance-table{min-width:400px!important}.attendance-table th,.attendance-table td{padding:8px 4px!important;font-size:12px!important}.attendance-table thead th{font-size:11px!important;font-weight:600!important}.attendance-table th:nth-child(1),.attendance-table td:nth-child(1){min-width:85px!important;max-width:110px!important}.attendance-table th:nth-child(2),.attendance-table td:nth-child(2),.attendance-table th:nth-child(3),.attendance-table td:nth-child(3),.attendance-table th:nth-child(4),.attendance-table td:nth-child(4),.attendance-table th:nth-child(5),.attendance-table td:nth-child(5){min-width:60px!important;max-width:75px!important}}@media (max-width: 480px){.attendance-table{min-width:360px!important}.attendance-table th,.attendance-table td{padding:6px 2px!important;font-size:11px!important}.attendance-table thead th{font-size:10px!important;font-weight:600!important}.attendance-table th:nth-child(1),.attendance-table td:nth-child(1){min-width:75px!important;max-width:95px!important}.attendance-table th:nth-child(2),.attendance-table td:nth-child(2),.attendance-table th:nth-child(3),.attendance-table td:nth-child(3),.attendance-table th:nth-child(4),.attendance-table td:nth-child(4),.attendance-table th:nth-child(5),.attendance-table td:nth-child(5){min-width:50px!important;max-width:65px!important}}@media (max-width: 360px){.attendance-table{min-width:320px!important}.attendance-table th,.attendance-table td{padding:4px 1px!important;font-size:10px!important}.attendance-table thead th{font-size:9px!important;font-weight:600!important}.attendance-table th:nth-child(1),.attendance-table td:nth-child(1){min-width:65px!important;max-width:80px!important}.attendance-table th:nth-child(2),.attendance-table td:nth-child(2),.attendance-table th:nth-child(3),.attendance-table td:nth-child(3),.attendance-table th:nth-child(4),.attendance-table td:nth-child(4),.attendance-table th:nth-child(5),.attendance-table td:nth-child(5){min-width:45px!important;max-width:55px!important}}@media (max-width: 768px){.desktop-filters label{font-size:12px!important;font-weight:500!important}.mobile-filters label{font-size:13px!important;font-weight:600!important}.attendance-datepicker,.attendance-department-select,.import-file-input{font-size:13px!important}.import-status-text{font-size:12px!important}.employee-header-flex>div:last-child label{font-size:12px!important;font-weight:500!important}}@media (max-width: 480px){.desktop-filters label{font-size:11px!important;font-weight:500!important}.mobile-filters label{font-size:12px!important;font-weight:600!important}.attendance-datepicker,.attendance-department-select,.import-file-input{font-size:12px!important}.import-status-text{font-size:11px!important}.mobile-filters span,.mobile-filters button{font-size:12px!important}.employee-header-flex>div:last-child label{font-size:11px!important;font-weight:500!important}}@media (max-width: 360px){.desktop-filters label{font-size:10px!important;font-weight:500!important}.mobile-filters label{font-size:11px!important;font-weight:600!important}.attendance-datepicker,.attendance-department-select,.import-file-input{font-size:11px!important}.import-status-text{font-size:10px!important}.mobile-filters span,.mobile-filters button{font-size:11px!important}.employee-header-flex>div:last-child label{font-size:10px!important;font-weight:500!important}}.generate-report-button,button[onclick*=handlePrintMonthly],div[style*="width: auto"] button[style*="#007bff"]{background:#007bff!important;background-color:#007bff!important;border-color:#007bff!important}.generate-report-button:hover,button[onclick*=handlePrintMonthly]:hover,div[style*="width: auto"] button[style*="#007bff"]:hover{background:#0056b3!important;background-color:#0056b3!important;border-color:#0056b3!important}.mobile-manage-remarks{display:none}.mobile-manage-remarks button,.manage-remarks-button{padding:8px 16px;background:#f8fafc;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000001a;min-height:40px;display:flex;align-items:center;justify-content:center;width:100%}.mobile-manage-remarks button:hover,.manage-remarks-button:hover{background:#f1f5f9;border-color:#9ca3af;transform:translateY(-1px);box-shadow:0 2px 6px #00000026}@media (max-width: 768px){.mobile-manage-remarks{display:block!important}button[style*=background-color][style*="#007bff"],button[style*=backgroundColor][style*="#007bff"]{background:#007bff!important;background-color:#007bff!important}button[style*=background-color][style*="#007bff"]:hover,button[style*=backgroundColor][style*="#007bff"]:hover{background:#0056b3!important;background-color:#0056b3!important}}@media (max-width: 480px){.mobile-manage-remarks button{font-size:12px!important;padding:8px 12px!important;min-height:36px!important}}.import-button{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(90deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #22c55e26}.import-button:hover{background:linear-gradient(90deg,#16a34a,#15803d);transform:translateY(-1px);box-shadow:0 4px 12px #22c55e40}.import-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.import-button-icon{font-size:16px}.import-button-icon:before{content:"⬇";color:#fff}.mobile-import-button{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:linear-gradient(90deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #22c55e26;min-height:36px}.mobile-import-button:hover{background:linear-gradient(90deg,#16a34a,#15803d);transform:translateY(-1px);box-shadow:0 4px 12px #22c55e40}.mobile-import-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.mobile-import-button-icon{font-size:14px}.mobile-import-button-icon:before{content:"⬇";color:#fff}.import-status{margin-left:12px;color:#16a34a;font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:8px}.mobile-import-status{margin-left:8px;color:#16a34a;font-size:12px;font-weight:500;display:inline-flex;align-items:center;gap:6px}.import-loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10001;padding:20px;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.import-loading-modal{background:#fff;border-radius:16px;box-shadow:0 25px 70px #0006;max-width:320px;width:100%;padding:40px 30px;animation:slideIn .4s ease-out;text-align:center;border:1px solid #e5e7eb}.import-loading-header{display:none}.import-loading-icon{display:flex;justify-content:center;margin-bottom:20px}.import-loading-title{margin:0 0 20px;font-size:18px;font-weight:600;color:#374151}.import-loading-content{padding:0}.import-loading-message{margin:0 0 24px;font-size:14px;color:#6b7280;line-height:1.5;text-align:center;font-weight:400}.import-progress-container{display:flex;flex-direction:column;justify-content:center;align-items:center;margin-bottom:20px}.import-spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top:4px solid #22c55e;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.import-progress-bar{width:100%;max-width:300px;height:8px;background-color:#f3f4f6;border-radius:4px;overflow:hidden;margin-bottom:8px}.import-progress-fill{height:100%;background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:4px;transition:width .3s ease;min-width:2px}.import-progress-percentage{font-size:14px;font-weight:600;color:#16a34a;margin-bottom:8px}.import-progress-text{margin-top:12px;text-align:center;font-size:13px;color:#6b7280;font-weight:400;min-height:18px}.import-records-count{margin-top:16px;text-align:center;font-size:12px;color:#16a34a;background:#f0fdf4;padding:6px 12px;border-radius:6px;border:1px solid #bbf7d0;font-weight:500}.attendance-row{display:flex;align-items:center;border-bottom:1px solid #f3f3f3;transition:background-color .1s ease}.attendance-row:hover{background-color:#f8fafc!important}.attendance-cell{padding:8px 4px;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loading-row{background-color:#f9fafb;font-style:italic}@media (max-width: 768px){.virtualized-table-container{overflow-x:auto}}@media (max-width: 600px){.import-loading-modal{max-width:280px;margin:0 10px;padding:30px 20px}.import-loading-title{font-size:16px}.import-loading-message{font-size:13px}.import-spinner{width:35px;height:35px;border-width:3px}.import-progress-text{font-size:12px}.import-records-count{font-size:11px;padding:5px 10px}}.employee-select-button{padding:8px 12px;border:1px solid #90EE90;border-radius:6px;font-size:14px;background-color:#fff;color:#333;cursor:pointer;min-width:140px;text-align:left;display:flex;align-items:center;justify-content:space-between;transition:border-color .2s ease,background-color .2s ease}.employee-select-button:hover{border-color:#22c55e;background-color:#f0fdf4}.employee-select-button.selected{background-color:#e8f5e9;color:#16a34a;border-color:#16a34a}.employee-modal-list{max-height:300px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px}.employee-modal-item{width:100%;padding:12px 16px;border:none;border-bottom:1px solid #f3f4f6;background-color:#fff;color:#374151;font-size:14px;font-weight:400;cursor:pointer;text-align:left;transition:all .2s ease;display:flex;flex-direction:column;align-items:flex-start}.employee-modal-item:hover{background-color:#f9fafb}.employee-modal-item.selected{background-color:#e8f5e9;color:#16a34a;font-weight:600}.employee-modal-item:last-child{border-bottom:none}@media (max-width: 768px){.employee-select-button{min-width:120px;font-size:13px;padding:10px 12px}.employee-modal-list{max-height:250px}.employee-modal-item{padding:14px 16px;font-size:15px}}@media (max-width: 480px){.employee-select-button{min-width:100px;font-size:12px;padding:10px 8px}.employee-modal-list{max-height:200px}}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.3rem;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + .85rem);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.5rem;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media (max-width: 400px),(max-height: 550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;margin:.4rem;padding-right:.2rem;padding-left:.2rem;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.manual-time-grid-2x2{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;margin-top:12px;margin-bottom:12px}@media (max-width: 640px){.manual-time-grid-2x2{grid-template-columns:1fr;grid-template-rows:repeat(4,1fr)}}.manual-time-entry-modal::-webkit-scrollbar{width:10px;background:#f3f4f6;border-radius:8px}.manual-time-entry-modal::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:8px;min-height:40px}.manual-time-entry-modal::-webkit-scrollbar-thumb:hover{background:#b6bbc6}.modal-content{scrollbar-width:thin;scrollbar-color:#d1d5db #f3f4f6}.modal-content::-webkit-scrollbar{width:10px;background:#f3f4f6;border-radius:8px}.modal-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:8px;min-height:40px}.modal-content::-webkit-scrollbar-thumb:hover{background:#b6bbc6}.manual-time-grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:12px;margin-bottom:12px}.manual-time-col{display:flex;flex-direction:column;gap:12px}.manual-time-col-header{font-weight:700;color:#14532d;font-size:1rem;margin-bottom:8px;letter-spacing:.5px}@media (max-width: 640px){.manual-time-grid-2col{grid-template-columns:1fr;gap:0}.manual-time-col-header{margin-top:12px}}.manual-time-entry-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;animation:fadeIn .2s ease-out}.manual-time-entry-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:slideIn .3s ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;font-size:24px;font-weight:600;color:#16a34a}.close-button{background:none;border:none;font-size:28px;color:#6b7280;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background-color .2s,color .2s}.close-button:hover{background:#f3f4f6;color:#374151}.modal-content{padding:20px 24px 24px;flex:1 1 auto;overflow-y:auto;background:#fff}.employee-info{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #bbf7d0;border-radius:10px;padding:16px 14px 14px;margin-bottom:16px;box-shadow:0 2px 8px #22c55e14;position:relative;overflow:hidden}.employee-info:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,#22c55e,#16a34a,#15803d)}.employee-info:after{content:"Employee Details";position:absolute;top:4px;left:12px;font-size:9px;font-weight:600;color:#22c55e;text-transform:uppercase;letter-spacing:.5px;background:#fffffff2;padding:1px 5px;border-radius:8px;border:1px solid rgba(34,197,94,.2);box-shadow:0 1px 2px #22c55e14}.employee-info p{margin:0 0 8px;color:#166534;font-size:14px}.employee-info p:last-child{margin-bottom:0}.employee-info-grid{display:grid;grid-template-columns:1.6fr 1fr;column-gap:12px;row-gap:6px;align-items:start;margin-top:4px}.info-row{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#ffffffb3;border-radius:6px;border:1px solid rgba(187,247,208,.4);transition:all .3s ease;box-shadow:0 1px 3px #22c55e0a}.span-2{grid-column:1 / -1}.info-row:hover{background:#ffffffe6;border-color:#22c55e4d;transform:translate(4px);box-shadow:0 4px 12px #22c55e1f}.info-label{font-weight:700;color:#14532d;text-align:left;min-width:80px;font-size:10px;text-transform:uppercase;letter-spacing:.4px;position:relative;display:flex;align-items:center}.info-label:before{content:"";width:4px;height:4px;background:#22c55e;border-radius:50%;margin-right:5px;display:inline-block}.info-label:after{content:":";color:#22c55e;margin-left:2px;font-weight:600}.info-value{color:#065f46;word-break:break-word;font-weight:600;font-size:12px;background:linear-gradient(135deg,#22c55e14,#22c55e1f);padding:4px 8px;border-radius:5px;border:1px solid rgba(34,197,94,.15);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}@media (max-width: 640px){.employee-info{padding:16px}.employee-info-grid{grid-template-columns:1fr}.info-row{gap:8px;padding:6px 10px}.info-label{min-width:75px;font-size:12px}.info-value{font-size:13px;padding:3px 6px}}.form-group{margin-bottom:24px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:#fffc;border:1px solid rgba(34,197,94,.2);border-radius:8px;margin-bottom:16px}.toggle-text{font-weight:600;color:#14532d;font-size:13px;text-transform:uppercase;letter-spacing:.3px}.toggle-switch{position:relative;display:inline-block;width:44px;height:20px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-switch .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#e5e7eb;border:2px solid #d1d5db;transition:all .3s ease;border-radius:9999px;box-shadow:inset 0 1px 3px #0000001a}.toggle-switch .slider:before{content:"";position:absolute;height:12px;width:12px;left:2px;bottom:2px;background-color:#fff;border-radius:50%;transition:all .3s ease;box-shadow:0 2px 4px #0003}.toggle-switch:hover .slider{border-color:#22c55e;box-shadow:inset 0 1px 3px #0000001a,0 0 0 3px #22c55e1a}.toggle-switch input:checked+.slider{background:#22c55e;border-color:#22c55e;box-shadow:inset 0 1px 3px #0000001a}.toggle-switch input:checked+.slider:before{transform:translate(22px)}.toggle-switch input:focus-visible+.slider{box-shadow:0 0 0 3px #22c55e40}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#374151;font-size:14px}.date-picker{width:100%;padding:12px 16px;border:2px solid #d1d5db;border-radius:8px;font-size:16px;transition:border-color .2s,box-shadow .2s}.date-picker:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.loading-message{text-align:center;padding:20px;color:#6b7280;font-style:italic}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:12px}.time-slot-option{position:relative;border:2px solid #e5e7eb;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease;background:#fff}.time-slot-option:hover:not(.disabled){border-color:#22c55e;background:#f0fdf4;transform:translateY(-2px);box-shadow:0 4px 12px #22c55e26}.time-slot-option.selected{border-color:#22c55e;background:#f0fdf4;box-shadow:0 4px 12px #22c55e26}.time-slot-option.disabled{background:#f9fafb;border-color:#e5e7eb;cursor:not-allowed;opacity:.6}.time-slot-option input[type=radio]{position:absolute;opacity:0;width:0;height:0}.time-slot-option label{cursor:pointer;margin:0;display:block}.slot-label{font-weight:600;color:#374151;margin-bottom:4px;font-size:16px}.slot-time{color:#22c55e;font-weight:500;font-size:14px;margin-bottom:4px}.existing-time{color:#f59e0b;font-size:12px;font-style:italic}.custom-time-input{width:100%;padding:16px 20px;border:2px solid #d1d5db;border-radius:12px;font-size:16px;margin-top:16px;margin-bottom:8px;transition:all .3s ease;background:#ffffffe6;color:#374151;font-weight:500;box-shadow:0 2px 8px #0000000d;position:relative}.custom-time-input:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e26,0 4px 12px #22c55e1a;background:#fff;transform:translateY(-1px)}.custom-time-input:hover{border-color:#22c55e;background:#fff;box-shadow:0 4px 12px #0000001a}.time-picker-container{margin-top:10px;padding:10px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000d}.time-picker-label{display:block;margin-bottom:12px;font-weight:600;color:#374151;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.time-input-wrapper{position:relative;margin-top:12px}.time-input-wrapper:before{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:16px;z-index:1;pointer-events:none}.time-input-wrapper .custom-time-input{padding-left:48px}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;color:#dc2626;font-size:14px;margin-bottom:16px}.manual-time-entry-form{display:flex;flex-direction:column;max-height:90vh}.memo-modal-form{flex:1 1 auto;overflow-y:auto}.cancel-button,.submit-button{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;min-width:100px}.cancel-button{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.cancel-button:hover:not(:disabled){background:#e5e7eb;transform:translateY(-1px)}.submit-button{background:#22c55e;color:#fff}.submit-button:hover:not(:disabled){background:#16a34a;transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d}.submit-button:disabled,.cancel-button:disabled{opacity:.6;cursor:not-allowed;transform:none}@keyframes slideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 640px){.manual-time-entry-overlay{padding:10px}.manual-time-entry-modal{max-width:100%;border-radius:12px}.modal-header{padding:20px 20px 16px}.modal-header h3{font-size:20px}.modal-content{padding:16px 20px 20px}.time-slots-grid{grid-template-columns:1fr;gap:10px}.time-slot-option{padding:14px}.memo-modal-actions{flex-direction:column-reverse;gap:10px}.cancel-button,.submit-button{width:100%;padding:14px 24px}}.react-datepicker-wrapper,.react-datepicker__input-container{width:100%}.react-datepicker{border:2px solid #22c55e;border-radius:12px;box-shadow:0 10px 25px #22c55e26}.react-datepicker__header{background:#22c55e;border-bottom:none;border-radius:10px 10px 0 0}.react-datepicker__current-month{color:#fff;font-weight:600}.react-datepicker__day--selected,.react-datepicker__day--keyboard-selected{background:#22c55e;color:#fff}.react-datepicker__day:hover{background:#dcfce7;color:#166534}.react-datepicker__day--today{background:#fef3c7;color:#92400e}.react-datepicker__navigation:hover *:before{border-color:#fff}.memo-modal-form{padding:1.5rem;overflow-y:auto;flex:1;max-height:calc(90vh - 80px);scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9;padding-bottom:140px}.react-datepicker-popper{z-index:10000!important}.memo-modal-actions{display:flex;gap:1rem;justify-content:flex-end;background:transparent;border-top:none!important;box-shadow:none!important;padding:.75rem 1.5rem;position:sticky;bottom:0}.memo-btn{padding:.75rem 1.5rem;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:all .2s ease}.memo-btn-create{background:linear-gradient(135deg,#0aa02a,#12a705);color:#fff}.memo-btn-create:hover:not(:disabled){background:linear-gradient(135deg,#026627,#017831);transform:translateY(-1px)}.memo-btn-create:disabled,.memo-btn-cancel:disabled{opacity:.6;cursor:not-allowed;transform:none}.manual-history-content{padding:0;max-height:70vh;display:flex;flex-direction:column}.manual-history-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:0 20px;flex-shrink:0}.manual-history-search{flex:1;max-width:400px}.manual-history-search-input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.manual-history-search-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.manual-history-sort{display:flex;align-items:center}.manual-history-sort-select{padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff}.manual-history-loading,.manual-history-error,.manual-history-empty{text-align:center;padding:40px 20px;color:#666;font-size:14px}.manual-history-error{color:#dc3545;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;margin:0 20px}.manual-history-list{flex:1;overflow:hidden;padding:0 20px;display:flex;flex-direction:column}.manual-history-table{width:100%;border:1px solid #ddd;border-radius:4px;overflow:hidden;display:flex;flex-direction:column;flex:1;min-height:0}.manual-history-table-header{display:grid;grid-template-columns:1fr 120px 100px 120px 90px 120px 80px;background:#f8f9fa;border-bottom:1px solid #ddd;font-weight:600;font-size:12px;text-transform:uppercase;color:#666;padding:0;flex-shrink:0}.manual-history-table-header>div{padding:12px 8px;border-right:1px solid #ddd;display:flex;align-items:center}.manual-history-table-header>div:last-child{border-right:none}.manual-history-table-body{max-height:400px;overflow-y:auto;overflow-x:hidden;flex:1}.manual-history-table-body::-webkit-scrollbar{width:8px}.manual-history-table-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.manual-history-table-body::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.manual-history-table-body::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.manual-history-table-row{display:grid;grid-template-columns:1fr 120px 100px 120px 90px 120px 80px;border-bottom:1px solid #eee;align-items:center;min-height:60px}.manual-history-table-row:hover{background:#f8f9fa}.manual-history-table-row>div{padding:12px 8px;border-right:1px solid #eee;font-size:13px;display:flex;align-items:center;word-wrap:break-word;overflow-wrap:break-word}.manual-history-table-row>div:last-child{border-right:none}.manual-history-employee-info{display:flex;flex-direction:column;gap:2px;width:100%}.manual-history-employee-name{font-weight:500;color:#333;word-break:break-word;line-height:1.2}.manual-history-employee-id{font-size:11px;color:#666;white-space:nowrap}.manual-history-time-slot-badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:500;text-transform:uppercase;color:#fff}.manual-history-time-slot-badge.am_arrival{background:#28a745}.manual-history-time-slot-badge.am_departure{background:#ffc107;color:#333}.manual-history-time-slot-badge.pm_arrival{background:#17a2b8}.manual-history-time-slot-badge.pm_departure{background:#dc3545}.manual-history-created-time{font-size:11px;color:#666;margin-top:2px}.manual-history-undo-btn{background:#dc3545;color:#fff;border:none;padding:4px 8px;border-radius:3px;font-size:11px;cursor:pointer;transition:background .2s}.manual-history-undo-btn:hover:not(:disabled){background:#c82333}.manual-history-undo-btn:disabled{background:#ccc;cursor:not-allowed}.manual-history-confirm-details{background:#f8f9fa;padding:12px;border-radius:4px;margin:16px 0;border-left:4px solid #007bff}.manual-history-confirm-warning{color:#dc3545;font-weight:500;margin-top:16px}@media (max-width: 768px){.manual-history-controls{flex-direction:column;align-items:stretch;gap:12px}.manual-history-search{max-width:none}.manual-history-sort{justify-content:stretch}.manual-history-sort-select{width:100%}.manual-history-table{font-size:12px}.manual-history-table-header,.manual-history-table-row{grid-template-columns:1fr 80px 80px 90px 70px 90px 60px}.manual-history-table-header>div,.manual-history-table-row>div{padding:8px 4px;font-size:11px}.manual-history-employee-name{font-size:12px}.manual-history-employee-id{font-size:10px}.manual-history-time-slot-badge{font-size:10px;padding:2px 6px}.manual-history-undo-btn{font-size:10px;padding:3px 6px}.manual-history-table-row{min-height:50px}}@media (max-width: 480px){.manual-history-table-header,.manual-history-table-row{grid-template-columns:1fr 60px 60px 70px 50px 70px 45px}.manual-history-table-header>div,.manual-history-table-row>div{padding:6px 2px;font-size:10px}.manual-history-table-row{min-height:45px}}.flexi-input-wrapper{position:relative}.flexi-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px #0000001f;max-height:240px;overflow-y:auto}.flexi-option{padding:10px 12px;cursor:pointer}.flexi-option:hover{background:#f5f7fa}.flexi-option.selected{background:#e8f8ef}.flexi-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.flexi-modal{background:#fff;border-radius:10px;box-shadow:0 10px 30px #0003;width:min(960px,96vw);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.flexi-modal button{display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:max-content}.flexi-modal-header{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid #eee}.flexi-modal-header h2{margin:0;font-size:18px}.flexi-close{background:#ef4444;color:#fff;border:none;border-radius:6px;padding:8px 10px;cursor:pointer}.flexi-primary{background:#22c55e;color:#fff;border:none;border-radius:6px;padding:8px 12px;cursor:pointer}.flexi-secondary{background:#e5e7eb;color:#111827;border:none;border-radius:6px;padding:8px 12px;cursor:pointer}.flexi-refresh{background:#16a34a;color:#fff;border:none;border-radius:6px;padding:8px 12px;cursor:pointer}.flexi-body{padding:16px;overflow:auto;flex:1}.flexi-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px}.flexi-toolbar input{width:300px;padding:8px 10px;border:1px solid #d1fae5;border-radius:6px}.flexi-department-filter{font-size:12px;color:#6b7280;background:#f3f4f6;padding:4px 8px;border-radius:4px;white-space:nowrap}.flexi-toolbar .flexi-refresh{background-color:#1db954;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;padding:6px 12px;width:auto;max-width:max-content;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.flexi-toolbar{display:flex;gap:8px;align-items:center;justify-content:space-between}.flexi-toolbar>*{flex:0 0 auto}.flexi-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;padding:8px 12px;border-radius:6px}.flexi-empty{padding:20px;text-align:center;color:#6b7280}.flexi-table{width:100%;border-collapse:collapse}.flexi-table th,.flexi-table td{border-bottom:1px solid #f1f5f9;padding:8px 10px;text-align:left;font-size:13px}.flexi-sub{margin-top:8px;color:#6b7280;font-size:12px}.flexi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.flexi-field label{display:block;margin-bottom:6px;font-weight:600;font-size:13px;color:#111827}.flexi-field input,.flexi-field select,.flexi-field textarea{width:100%;padding:8px 10px;border:1px solid #d1fae5;border-radius:6px;font-size:14px}.flexi-field.full{grid-column:1/-1}.flexi-dropdown{border:1px solid #e5e7eb;border-radius:8px;margin-top:6px;max-height:220px;overflow:auto}.flexi-option{padding:8px 10px;cursor:pointer}.flexi-option:hover{background:#f0fdf4}.flexi-option.selected{background:#dcfce7}.opt-name{font-weight:600}.opt-meta{font-size:12px;color:#6b7280}.selected-badge{margin-top:8px;background:#ecfeff;color:#0e7490;border:1px solid #cffafe;padding:6px 8px;border-radius:6px;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.selected-remove{background:#ef4444;color:#fff;border:none;border-radius:4px;padding:2px 8px;cursor:pointer;line-height:1}.selected-remove:hover{background:#dc2626}.flexi-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.flexi-footer-bar{border-top:1px solid #eee;background:#fff;padding:12px 16px;display:flex;align-items:center}.flexi-footer-left{display:flex;align-items:center;gap:8px}.hint{color:#6b7280;font-size:12px}.flexi-delete-btn{background:transparent;border:none;color:#ef4444;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.flexi-delete-btn:hover{background:#fee2e2;color:#dc2626}.flexi-edit-btn{background:transparent;border:none;color:#3b82f6;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.flexi-edit-btn:hover{background:#dbeafe;color:#2563eb}.flexi-delete{background:#ef4444;color:#fff;border:none;border-radius:6px;padding:8px 12px;cursor:pointer;font-weight:500}.flexi-delete:hover:not(:disabled){background:#dc2626}.flexi-delete:disabled{opacity:.6;cursor:not-allowed}.flexi-edit-modal{background:#fff;border-radius:10px;box-shadow:0 10px 30px #0000004d;width:min(720px,90vw);overflow:hidden;max-height:80vh;display:flex;flex-direction:column}.flexi-edit-body{padding:20px;overflow-y:auto;flex:1}.flexi-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.flexi-edit-grid .flexi-field{display:flex;flex-direction:column}.flexi-edit-grid .flexi-field.full{grid-column:1 / -1}.flexi-edit-grid .flexi-field label{margin-bottom:6px;font-weight:600;font-size:13px;color:#111827}.flexi-edit-grid .flexi-field input,.flexi-edit-grid .flexi-field textarea{width:100%;padding:8px 10px;border:1px solid #d1fae5;border-radius:6px;font-size:14px;box-sizing:border-box}.flexi-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100}.flexi-confirm-modal{background:#fff;border-radius:10px;box-shadow:0 10px 30px #0000004d;width:min(400px,90vw);overflow:hidden}.flexi-confirm-header{padding:16px 20px;border-bottom:1px solid #eee}.flexi-confirm-header h3{margin:0;font-size:16px;font-weight:600;color:#111827}.flexi-confirm-body{padding:20px}.flexi-confirm-body p{margin:0 0 12px;font-size:14px;color:#374151;line-height:1.5}.flexi-confirm-body p:last-child{margin-bottom:0}.flexi-warning{color:#b91c1c!important;font-size:13px!important}.flexi-confirm-footer{padding:16px 20px;border-top:1px solid #eee;display:flex;gap:8px;justify-content:flex-end}.flexi-hint{color:#6b7280;font-size:12px;margin-top:4px}.flexi-date-picker{border:1px solid #d1fae5;border-radius:8px;padding:8px;background:#fff}.flexi-date-picker .react-datepicker{border:none}.flexi-date-picker .react-datepicker__header{background:#f0fdf4;border-bottom:1px solid #d1fae5}.flexi-date-picker .react-datepicker__day--selected,.flexi-date-picker .react-datepicker__day--keyboard-selected{background:#22c55e;color:#fff}.flexi-date-picker .react-datepicker__day:hover{background:#dcfce7}.flexi-date-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}.flexi-date-sidebar{width:100%;border:1px solid #e5e7eb;border-radius:8px;padding:10px;background:#f9fafb}.flexi-date-sidebar-header{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:13px;color:#111827;margin-bottom:8px}.flexi-date-clear{border:none;background:#fee2e2;color:#b91c1c;font-size:12px;padding:4px 8px;border-radius:6px;cursor:pointer}.flexi-date-clear:disabled{opacity:.6;cursor:not-allowed}.flexi-date-empty{font-size:12px;color:#6b7280;margin-bottom:6px}.flexi-date-chip-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-content:flex-start}.flexi-date-chip{border:1px solid #d1fae5;background:#ecfdf3;color:#065f46;border-radius:16px;padding:4px 10px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.flexi-date-chip:hover{background:#d1fae5}.flexi-date-chip-remove{font-weight:700;font-size:12px}@media (max-width: 768px){.flexi-date-layout{grid-template-columns:1fr}.flexi-date-sidebar{max-width:none}}.flexi-day-picker{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.flexi-day-chip{padding:6px 12px;border:1px solid #d1d5db;border-radius:20px;background:#fff;color:#374151;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;width:auto!important;max-width:max-content!important;flex:0 0 auto}.flexi-day-chip:hover{border-color:#22c55e;color:#16a34a}.flexi-day-chip.active{background:#22c55e;color:#fff;border-color:#22c55e}.flexi-day-shortcut{padding:4px 10px;border:1px dashed #9ca3af;border-radius:14px;background:transparent;color:#6b7280;font-size:11px;cursor:pointer;margin-left:4px;width:auto!important;max-width:max-content!important;flex:0 0 auto}.flexi-day-shortcut:hover{border-color:#22c55e;color:#16a34a}.flexi-per-day-grid{display:flex;flex-direction:column;gap:8px}.flexi-per-day-row{display:flex;align-items:center;gap:10px}.flexi-per-day-label{min-width:90px;font-weight:600;font-size:13px;color:#374151}.flexi-per-day-row input[type=time]{padding:6px 8px;border:1px solid #d1fae5;border-radius:6px;font-size:13px;width:130px}.flexi-per-day-sep{color:#9ca3af;font-size:13px}.flexi-per-day-break-label{color:#6b7280;font-size:12px;font-weight:600;min-width:44px}.flexi-clickable-row{cursor:pointer;transition:background .15s ease}.flexi-clickable-row:hover{background:#f0fdf4}.flexi-view-btn{background:#e0f2fe;color:#0369a1;border:none;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.flexi-view-btn:hover{background:#bae6fd;color:#0c4a6e}.flexi-back-btn{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.flexi-back-btn:hover{background:#e5e7eb;color:#111827}.flexi-detail-employee-name{font-weight:700;font-size:15px;color:#111827}.flexi-detail-dept{font-size:13px;color:#6b7280;background:#f3f4f6;padding:3px 8px;border-radius:4px}.flexi-campus-filter{padding:6px 10px;border:1px solid #d1fae5;border-radius:6px;font-size:13px;background:#fff;color:#111827;cursor:pointer;min-width:140px}.flexi-detail-table .flexi-group-first-row td{border-top:2px solid #e5e7eb}.flexi-detail-table .flexi-group-sub-row td{border-bottom:1px solid #f3f4f6}.flexi-detail-table td[rowspan]{vertical-align:middle}.flexi-exception-list .selected-badge{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;max-width:100%}.flexi-exception-list .selected-badge span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flexi-exception-list .flexi-exception-remove-btn{flex:0 0 auto;width:24px;min-width:24px;height:24px;padding:0}.flexi-mode-note{font-size:12px;color:#155e75;background:#ecfeff;border:1px solid #bae6fd;border-radius:8px;padding:8px 10px}.flexi-schedule-name-wrap{display:flex;flex-direction:column;gap:4px}.flexi-mode-chip{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;color:#166534;background:#dcfce7;border:1px solid #86efac}@media (max-width: 768px){.flexi-grid,.flexi-edit-grid{grid-template-columns:1fr}.flexi-toolbar{flex-wrap:wrap;align-items:stretch}.flexi-toolbar input,.flexi-campus-filter,.flexi-toolbar .flexi-refresh{width:100%;max-width:100%}.flexi-per-day-row{flex-wrap:wrap;gap:6px}.flexi-per-day-label{width:100%;min-width:100%}.flexi-modal{width:min(980px,98vw)}}.req-justification-textarea{width:100%;padding:12px 16px;border:2px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;min-height:80px;transition:border-color .2s,box-shadow .2s;background:#ffffffe6}.req-justification-textarea:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.req-justification-textarea::placeholder{color:#9ca3af}.req-justification-char-count{text-align:right;font-size:11px;color:#9ca3af;margin-top:4px}.req-justification-note{margin-top:8px;padding:8px 12px;background:#fef3c7;border:1px solid #fde68a;border-radius:6px;font-size:12px;color:#92400e;font-style:italic}.req-justification-status{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.req-justification-status.pending{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.req-justification-status.approved{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.req-justification-status.rejected{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.req-justification-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.req-justification-list{display:flex;flex-direction:column;gap:10px;padding:0 16px;flex:1;min-height:0;overflow-y:auto}.req-justification-card{border:1px solid #e5e7eb;border-radius:8px;padding:12px 14px;background:#fff;transition:box-shadow .2s}.req-justification-card:hover{box-shadow:0 2px 8px #00000014}.req-justification-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.req-justification-card-date{font-weight:600;color:#374151;font-size:14px}.req-justification-card-body{display:flex;flex-wrap:wrap;gap:3px 16px;font-size:13px;color:#6b7280}.req-justification-detail{white-space:nowrap}.req-justification-card-body .label{font-weight:600;color:#374151}.req-justification-card-reason{margin-top:6px;padding:6px 10px;background:#f9fafb;border-radius:6px;font-size:13px;color:#4b5563;border-left:3px solid #22c55e}.req-justification-card-review{margin-top:6px;padding:6px 10px;background:#f0f9ff;border-radius:6px;font-size:12px;color:#1e40af;border-left:3px solid #3b82f6}.req-justification-card-actions{margin-top:8px;display:flex;gap:8px;justify-content:flex-end}.req-justification-generate-btn{background:#2563eb;color:#fff;border:none;padding:6px 0;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background .2s;width:100%}.req-justification-generate-btn:hover:not(:disabled){background:#1d4ed8}.req-justification-generate-btn:disabled{background:#93c5fd;cursor:not-allowed}.req-justification-delete-btn{background:#ef4444;color:#fff;border:none;padding:6px 0;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background .2s;width:100%}@media (min-width: 769px){.req-justification-generate-btn,.req-justification-delete-btn{width:auto;padding:6px 20px}}.req-justification-delete-btn:hover:not(:disabled){background:#dc2626}.req-justification-delete-btn:disabled{background:#ccc;cursor:not-allowed}.req-justification-review-form{display:flex;flex-direction:column;gap:16px}.req-justification-admin-time{padding:12px 16px;border:2px solid #d1d5db;border-radius:8px;font-size:16px;transition:border-color .2s,box-shadow .2s;background:#ffffffe6;width:100%}.req-justification-admin-time:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.req-justification-table{width:100%;border:1px solid #ddd;border-radius:4px;overflow:auto;display:flex;flex-direction:column;flex:1;min-height:0}.req-justification-table-header{display:grid;grid-template-columns:.9fr 140px 110px 300px;background:#f8f9fa;border-bottom:1px solid #ddd;font-weight:600;font-size:12px;text-transform:uppercase;color:#666;flex-shrink:0;min-width:680px}.req-justification-table-header>div{padding:12px 8px;border-right:1px solid #ddd;display:flex;align-items:center}.req-justification-table-header>div:last-child{border-right:none}.req-justification-table-body{max-height:400px;overflow-y:auto;flex:1}.req-justification-table-body::-webkit-scrollbar{width:8px}.req-justification-table-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.req-justification-table-body::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.req-justification-table-row{display:grid;grid-template-columns:.9fr 140px 110px 300px;border-bottom:1px solid #eee;align-items:center;min-height:60px;min-width:680px}.req-justification-table-row:hover{background:#f8f9fa}.req-justification-table-row>div{padding:10px 8px;border-right:1px solid #eee;font-size:13px;word-wrap:break-word;overflow-wrap:break-word}.req-justification-table-row>div:last-child{border-right:none}.req-justification-approve-btn{background:#22c55e;color:#fff;border:none;padding:4px 8px;border-radius:3px;font-size:11px;cursor:pointer;transition:background .2s;margin-right:4px}.req-justification-approve-btn:hover:not(:disabled){background:#16a34a}.req-justification-reject-btn{background:#ef4444;color:#fff;border:none;padding:4px 8px;border-radius:3px;font-size:11px;cursor:pointer;transition:background .2s}.req-justification-reject-btn:hover:not(:disabled){background:#dc2626}.req-justification-approve-btn:disabled,.req-justification-reject-btn:disabled{background:#ccc;cursor:not-allowed}.req-justification-action-row{display:flex;align-items:center;gap:6px;white-space:nowrap}.req-justification-action-row .req-justification-approve-btn{margin-right:0}.req-justification-action-row-pending{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.req-justification-action-row-pending .req-justification-approve-btn,.req-justification-action-row-pending .req-justification-reject-btn,.req-justification-action-row-pending .req-justification-generate-icon-btn{width:100%;margin-right:0;justify-content:center}.req-justification-action-row-reviewed{justify-content:space-between}.req-justification-generate-icon-btn{min-height:24px;min-width:116px;border:none;border-radius:4px;background:#2563eb;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:background .2s;padding:4px 8px;font-size:11px;font-weight:500;white-space:nowrap}.req-justification-generate-icon-btn svg{flex-shrink:0}.req-justification-generate-label{display:inline-block;line-height:1;white-space:nowrap}.req-justification-generate-icon-btn:hover:not(:disabled){background:#1d4ed8}.req-justification-generate-icon-btn:disabled{background:#93c5fd;cursor:not-allowed}.req-justification-loading,.req-justification-empty,.req-justification-error{text-align:center;padding:40px 20px;color:#666;font-size:14px}.req-justification-error{color:#dc3545;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;margin:0 20px}.req-justification-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:0 20px;flex-shrink:0}.req-justification-search{flex:1;max-width:300px}.req-justification-search-input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.req-justification-search-input:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 2px #22c55e40}.req-justification-filter-select{padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff}@media (max-width: 768px){.req-justification-controls{flex-direction:column;align-items:stretch;gap:12px}.req-justification-search{max-width:none}.req-justification-table-header,.req-justification-table-row{grid-template-columns:.9fr 100px 90px 280px;min-width:620px}.req-justification-table-header>div,.req-justification-table-row>div{padding:8px 4px;font-size:11px}.req-justification-approve-btn,.req-justification-reject-btn,.req-justification-generate-icon-btn{font-size:10px;padding:4px 6px}.req-justification-card-body{gap:2px 12px}}@media (max-width: 480px){.memo-modal-overlay:has(.memo-modal-large){align-items:center}.memo-modal.memo-modal-large{max-height:90vh;height:auto;align-self:center}.req-justification-content{flex:0 1 auto}.req-justification-list{padding:0 10px;gap:8px;overflow-y:auto}.req-justification-card{padding:10px}.req-justification-card-date{font-size:13px}.req-justification-card-body{font-size:12px;gap:1px 10px}.req-justification-card-reason,.req-justification-card-review{font-size:12px;padding:5px 8px}.memo-modal.memo-modal-large .memo-modal-actions{margin-top:0;padding:.75rem}}@media (max-width: 768px){.manual-time-entry-form .form-group{margin-bottom:12px}.manual-time-entry-form .manual-time-grid-2x2{grid-template-rows:auto auto;margin-top:8px;margin-bottom:8px;gap:8px}.manual-time-entry-form .memo-modal-form{padding:1rem}.manual-time-entry-form .toggle-row{padding:8px 12px;margin-bottom:8px}.manual-time-entry-form .req-justification-note{margin-top:4px}}@media (max-width: 768px){.manual-time-entry-form .memo-modal-actions{position:relative;bottom:auto}}.remarks-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background-color:#00000080}.remarks-modal-overlay--dim{background-color:#0009}.remarks-modal-overlay--primary{z-index:1000}.remarks-modal-overlay--front{z-index:1100}.remarks-modal-overlay--alert{z-index:1200}.remarks-modal{background-color:#fff;border-radius:12px;padding:24px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:remarks-slide-in .3s ease-out}.remarks-modal--wide{max-width:800px}.remarks-modal--compact{max-width:450px;max-height:none;box-shadow:0 25px 70px #0006}.remarks-modal--alert{max-width:400px;width:90%;padding:30px;max-height:none;text-align:center;box-shadow:0 4px 20px #00000026}.remarks-modal__header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:20px;border-bottom:1px solid #e5e7eb;padding-bottom:16px}.remarks-modal__title{margin:0;font-size:20px;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:8px}.remarks-section{margin-bottom:24px}.remarks-section__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:12px}.remarks-section__title{margin:0;font-size:16px;font-weight:600;color:#374151;display:flex;align-items:center;gap:6px}.remarks-controls,.remarks-controls__filters,.remarks-controls__actions{display:flex;align-items:center;gap:8px}.remarks-input,.remarks-select{padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;outline:none;transition:border-color .2s ease;box-sizing:border-box;background-color:#fff}.remarks-input:focus,.remarks-select:focus{border-color:#22c55e}.remarks-input--info:focus,.remarks-select--info:focus{border-color:#3b82f6}.remarks-input--search{width:140px}.remarks-input--lg{padding:12px;border-radius:6px;width:100%}.remarks-btn{border:none;border-radius:6px;padding:6px 12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.remarks-btn--lg{padding:12px 24px}.remarks-btn--wide{min-width:80px}.remarks-btn--success{background-color:#22c55e;color:#fff}.remarks-btn--success:hover{background-color:#16a34a}.remarks-btn--raised{box-shadow:0 2px 4px #22c55e33}.remarks-btn--raised:hover{transform:translateY(-1px);box-shadow:0 4px 8px #22c55e4d}.remarks-btn--danger{background-color:#dc2626;color:#fff}.remarks-btn--danger:hover{background-color:#b91c1c}.remarks-btn--info{background-color:#3b82f6;color:#fff}.remarks-btn--info:hover{background-color:#2563eb}.remarks-btn--outline{background-color:#fff;border:1px solid #d1d5db;color:#374151}.remarks-btn--outline:hover{background-color:#f9fafb}.remarks-btn--neutral{background-color:#f3f4f6;color:#374151}.remarks-btn--neutral:hover{background-color:#e5e7eb}.remarks-btn:disabled{background-color:#ccc;cursor:not-allowed;box-shadow:none}.remarks-btn:disabled:hover{background-color:#ccc}.remarks-list{max-height:300px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px;background-color:#f9fafb}.remarks-list-item{padding:12px 16px;border-bottom:1px solid #e5e7eb;background-color:#fff;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease;gap:0}.remarks-list-item:last-child{border-bottom:none}.remarks-list-item:hover{background-color:#f8fafc}.remarks-list-content{display:flex;flex-direction:column;flex:1;min-width:0}.remarks-list-name{font-weight:500;color:#1f2937;font-size:14px;word-break:break-word}.remarks-list-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px;align-items:center}.remarks-list-date{font-size:12px;color:#6b7280}.remarks-type-pill{font-size:12px;color:#16a34a;background-color:#dcfce7;padding:2px 6px;border-radius:3px;font-weight:500}.remarks-time-tags{display:flex;gap:4px;flex-wrap:wrap}.remarks-time-tag{font-size:10px;padding:1px 4px;border-radius:2px;font-weight:500;border:1px solid}.remarks-time-tag--am-in{color:#0369a1;background-color:#e0f2fe;border-color:#0ea5e9}.remarks-time-tag--am-out{color:#7c2d12;background-color:#fef7ed;border-color:#ea580c}.remarks-time-tag--pm-in{color:#166534;background-color:#f0fdf4;border-color:#22c55e}.remarks-time-tag--pm-out{color:#7c2d12;background-color:#fdf2f8;border-color:#ec4899}.remarks-time-tag--auto{color:#4b5563;background-color:#f3f4f6;border-color:#9ca3af}.remarks-list-actions{display:flex;gap:8px;flex-shrink:0}.remarks-icon-btn{padding:6px;border:1px solid #d1d5db;border-radius:4px;background-color:#fff;color:#6b7280;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:28px;height:28px}.remarks-icon-btn--edit:hover{background-color:#f3f4f6;border-color:#9ca3af}.remarks-icon-btn--delete{border-color:#fca5a5;color:#dc2626}.remarks-icon-btn--delete:hover{background-color:#fef2f2;border-color:#f87171}.remarks-empty{padding:20px;text-align:center;background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.remarks-empty-svg{display:block;margin:0 auto 8px}.remarks-empty-icon{font-size:24px;margin-bottom:8px;display:block}.remarks-empty-text{margin:0;color:#6b7280;font-size:14px}.remarks-modal__footer{display:flex;justify-content:flex-end;border-top:1px solid #e5e7eb;padding-top:16px}.remarks-form-group{margin-bottom:20px}.remarks-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.remarks-helper{font-size:12px;color:#6b7280;margin-top:4px;text-align:right}.remarks-helper--left{text-align:left}.remarks-checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.remarks-checkbox-row{margin-top:12px}.remarks-checkbox{display:flex;align-items:center;cursor:pointer;font-size:13px;font-weight:500;color:#495057}.remarks-checkbox-input{margin-right:8px;width:16px;height:16px}.remarks-checkbox-input--success{accent-color:#22c55e}.remarks-checkbox-input--info{accent-color:#3b82f6}.remarks-form-actions{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #e5e7eb;padding-top:16px}.remarks-alert-icon{font-size:48px;margin-bottom:16px}.remarks-alert-icon--success{color:#22c55e}.remarks-alert-icon--error{color:#ef4444}.remarks-alert-icon--warn{color:#f59e0b}.remarks-alert-title{margin:0 0 8px;font-size:20px;font-weight:600}.remarks-alert-title--success{color:#166534}.remarks-alert-title--error{color:#dc2626}.remarks-alert-text{margin:0 0 24px;color:#6b7280;font-size:16px}.remarks-alert-actions{display:flex;gap:12px;justify-content:center}.datepicker-wrapper{width:100%}@media (max-width: 768px){.remarks-modal-overlay{padding:10px}.remarks-modal{border-radius:8px;padding:16px;max-height:95vh}.remarks-modal--compact{padding:20px;max-height:90vh}.remarks-modal__header{margin-bottom:16px;padding-bottom:12px}.remarks-modal__title{font-size:18px;gap:6px}.remarks-section{margin-bottom:20px}.remarks-section__header{flex-direction:column;align-items:flex-start;width:100%}.remarks-section__title{font-size:15px}.remarks-controls{flex-direction:column;align-items:stretch;width:100%;gap:8px}.remarks-controls__filters,.remarks-controls__actions{width:100%}.remarks-controls__filters .remarks-select{flex:1}.remarks-controls__actions .remarks-btn,.remarks-input--search{width:100%}.remarks-list{max-height:250px}.remarks-list-item{padding:10px 12px;flex-direction:column;align-items:flex-start;gap:8px}.remarks-list-name{font-size:13px}.remarks-list-meta{flex-direction:column;align-items:flex-start;gap:4px}.remarks-list-date,.remarks-type-pill{font-size:11px}.remarks-list-actions{align-self:flex-end;gap:6px}.remarks-icon-btn{width:26px;height:26px}.remarks-modal__footer{padding-top:12px}.remarks-btn--wide{min-width:100px}.remarks-form-group{margin-bottom:16px}.remarks-form-actions{flex-direction:column;gap:8px;padding-top:12px}.remarks-form-actions .remarks-btn{width:100%}.remarks-btn--mobile-order-1{order:1}.remarks-btn--mobile-order-2{order:2}}@media (max-width: 480px){.remarks-modal--alert{padding:24px}}@keyframes remarks-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.emergency-attendance{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));padding:40px;background-color:#f5f7fa;min-height:100vh;transition:margin-left .3s ease;overflow-x:hidden}.emergency-attendance-header{margin-bottom:40px}.page-title{color:#4a5568;font-size:2.25rem;font-weight:700;margin:0;line-height:1.2}.page-subtitle{color:#718096;font-size:1rem;margin:8px 0 0;font-weight:400;text-align:left}.search-create-section{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;gap:16px;flex-wrap:wrap}.search-container{position:relative;flex:1;max-width:500px;min-width:180px}.search-create-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex-shrink:1}.search-input{width:100%;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background-color:#fff;transition:all .2s ease;outline:none;box-sizing:border-box;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23a0aec0'%3e%3cpath fill-rule='evenodd' d='M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z' clip-rule='evenodd'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:12px center;background-size:16px 16px;padding:12px 16px 12px 44px}.search-input:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.search-input::placeholder{color:#a0aec0}.create-btn{background-color:#38a169;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;width:fit-content}.create-btn:hover{background-color:#2f855a;transform:translateY(-1px);box-shadow:0 4px 8px #38a16933}.weekday-pinned-card{background:linear-gradient(135deg,#fff,#f6fbff);border:1px solid #d9e7f7;border-radius:10px;padding:12px;margin-bottom:14px;box-shadow:0 4px 10px #0f4c810d;position:relative}.weekday-pinned-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-top:10px;margin-bottom:6px}.weekday-pinned-header-actions{display:inline-flex;align-items:center;gap:6px}.weekday-curtain-toggle{border:1px solid #d5e4f5;background:#fff;color:#3d5774;width:26px;height:26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background-color .2s ease,border-color .2s ease}.weekday-curtain-toggle:hover{background:#eef5fd;border-color:#c1d8f0}.weekday-curtain-toggle svg{transition:transform .2s ease}.weekday-curtain-toggle.expanded svg{transform:rotate(180deg)}.weekday-pinned-label{position:absolute;top:6px;left:12px;margin:0;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#5a6f8f;font-weight:700}.weekday-pinned-title{margin:2px 0 0;color:#1f2c3b;font-size:1rem;font-weight:700}.weekday-state-chip{padding:4px 9px;border-radius:999px;font-size:.68rem;font-weight:700;white-space:nowrap}.weekday-state-chip.active{background:#d8f3dc;color:#1f6b2f}.weekday-state-chip.inactive{background:#f5e1e1;color:#8d2525}.weekday-pinned-body{display:flex;flex-direction:column;gap:8px;max-height:620px;opacity:1;overflow:hidden;transition:max-height .28s ease,opacity .2s ease}.weekday-pinned-body.collapsed{max-height:0;opacity:0;pointer-events:none}.weekday-pinned-card.curtained{overflow:hidden}.weekday-pinned-card.curtained:after{content:"";position:absolute;left:12px;right:12px;bottom:12px;height:28px;border-radius:8px;background:linear-gradient(180deg,#f6fbff00,#f6fbffd9 70%,#f6fbff);pointer-events:none}.weekday-meta-row{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#5b6b7e;font-size:.82rem}.weekday-scope-note{color:#4e6178;font-size:.78rem;margin-top:-2px}.weekday-email-pref-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid #dbe7f6;border-radius:8px;background:#fff}.weekday-email-pref-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.weekday-email-pref-title{color:#1f2c3b;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.weekday-email-pref-note{color:#546476;font-size:.76rem;line-height:1.2}.weekday-email-switch{width:48px;height:28px;border:none;border-radius:999px;padding:0;position:relative;cursor:pointer;transition:background-color .2s ease,opacity .2s ease;flex-shrink:0}.weekday-email-switch.on{background:#16a34a}.weekday-email-switch.off{background:#94a3b8}.weekday-email-switch:disabled{opacity:.65;cursor:not-allowed}.weekday-email-switch-thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0003;transition:transform .2s ease}.weekday-email-switch.on .weekday-email-switch-thumb{transform:translate(20px)}.weekday-records-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.weekday-record-box{background:#fff;border:1px solid #dce7f3;border-radius:8px;padding:8px 9px;display:flex;flex-direction:column;gap:1px}.weekday-record-label{color:#5c708b;font-size:.69rem;font-weight:600;text-transform:uppercase}.weekday-record-value,.weekday-record-empty{color:#21344a;font-size:.84rem;font-weight:600}.weekday-time-chip-list{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;padding-bottom:2px}.weekday-time-chip{display:inline-flex;align-items:center;white-space:nowrap;padding:2px 8px;border-radius:999px;border:1px solid #cfe0f3;background:#fff;color:#2f4b67;font-size:.75rem;font-weight:600}.weekday-action-row{display:flex;gap:8px;flex-wrap:wrap}.weekday-action-row .btn{padding:8px 12px;font-size:.8rem}.weekday-split-row{margin-top:2px;padding-top:8px;border-top:1px dashed #c9dbef;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}.weekday-admin-panel{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;flex:1 1 56%}.weekday-user-status{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 56%}.weekday-inline-note{color:#556579;font-size:.78rem;text-transform:none}.weekday-record-panel{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto;justify-content:flex-end;flex:1 1 42%}.weekday-record-panel-text{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.weekday-record-panel .btn{width:auto;padding:7px 12px;font-size:.78rem}.weekday-loading,.weekday-reason{font-size:.8rem;color:#556579}.weekday-admin-row{margin-top:2px;padding-top:8px;border-top:1px dashed #c9dbef;display:flex;justify-content:space-between;align-items:center;gap:8px}.weekday-admin-info{color:#38506c;font-size:.78rem}.weekday-toggle-btn{border:none;border-radius:7px;padding:8px 12px;font-size:.78rem;font-weight:700;color:#fff;width:auto;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;min-width:84px}.weekday-toggle-btn.on{background:#c0392b}.weekday-toggle-btn.off{background:#1f7a3e}.weekday-toggle-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 10px #00000026}.weekday-toggle-btn:disabled{opacity:.6;cursor:not-allowed}.weekday-group-btn{border:1px solid #1d4ed8;border-radius:7px;padding:8px 12px;font-size:.78rem;font-weight:700;color:#fff;background:#1d4ed8;width:auto;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease,background-color .2s ease;min-width:84px}.weekday-group-btn.active{background:#1d4ed8;color:#fff}.weekday-group-btn:hover:not(:disabled){background:#1d4ed8;color:#fff;border-color:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 10px #1d4ed833}.weekday-group-btn:disabled{opacity:.6;cursor:not-allowed}.weekday-admin-panel .weekday-toggle-btn,.weekday-admin-panel .weekday-group-btn{width:220px;min-width:220px;height:34px}.emergency-sessions-content{margin-top:24px}.emergency-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px;color:#718096}.loading-spinner{width:20px;height:20px;border:2px solid #e2e8f0;border-top:2px solid #3182ce;border-radius:50%;animation:spin 1s linear infinite}.emergency-error{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px;color:#e53e3e;text-align:center}.retry-btn{background-color:#3182ce;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:background-color .2s}.retry-btn:hover{background-color:#2c5282}.emergency-list{display:flex;flex-direction:column;gap:12px}.emergency-empty-state{text-align:center;padding:60px 20px;color:#a0aec0}.empty-icon{font-size:3rem;margin-bottom:16px}.empty-title{font-size:1.25rem;font-weight:600;color:#4a5568;margin-bottom:8px}.empty-subtitle{font-size:1rem;line-height:1.5;max-width:400px;margin:0 auto}.emergency-list-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;transition:all .2s ease;cursor:pointer}.emergency-list-card:hover{border-color:#cbd5e0;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.emergency-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.emergency-session-info{display:flex;align-items:flex-start;gap:8px;flex:1}.emergency-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px}.emergency-title-section{flex:1;min-width:0}.emergency-list-title{font-size:1.1rem;font-weight:600;color:#2d3748;margin:0 0 4px;line-height:1.3}.emergency-list-description{font-size:.85rem;color:#718096;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.emergency-status-badge{padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;flex-shrink:0}.status-active{background-color:#c6f6d5;color:#22543d}.status-upcoming{background-color:#bee3f8;color:#2c5282}.status-past{background-color:#fed7d7;color:#742a2a}.status-inactive{background-color:#e5e7eb;color:#4b5563}.emergency-card-content{margin-top:8px}.emergency-card-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.emergency-date-info{display:flex;align-items:center;gap:12px}.emergency-single-date{display:flex;align-items:center;gap:4px;font-size:.85rem;color:#718096}.date-icon{color:#a0aec0;flex-shrink:0}.emergency-campus-info{display:flex;align-items:center;gap:4px;font-size:.85rem;color:#718096}.campus-icon{color:#a0aec0;flex-shrink:0}.emergency-card-actions{display:flex;gap:8px}.emergency-edit-btn,.emergency-delete-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s ease;font-weight:500}.emergency-edit-btn{background:#f8f9fa;border-color:#28a745;color:#28a745}.emergency-edit-btn:hover{background:#28a745;color:#fff}.emergency-delete-btn{background:#f8f9fa;border-color:#dc3545;color:#dc3545}.emergency-delete-btn:hover{background:#dc3545;color:#fff}.emergency-edit-btn svg,.emergency-delete-btn svg{width:16px;height:16px}@media (max-width: 1024px){.emergency-attendance{margin-left:200px;width:calc(100% - 200px)}}@media (max-width: 768px){.emergency-attendance{margin-left:0;width:100%;padding:20px}.page-title{font-size:1.75rem}.search-create-section{flex-direction:column;align-items:stretch;gap:12px}.weekday-meta-row{flex-direction:column;align-items:flex-start}.weekday-email-pref-row{align-items:flex-start}.weekday-email-pref-note{font-size:.74rem}.weekday-split-row{align-items:flex-start}.weekday-admin-panel,.weekday-user-status,.weekday-record-panel{flex:1 1 100%}.weekday-split-row.with-admin{flex-wrap:nowrap;align-items:center;gap:6px;overflow-x:auto}.weekday-split-row.with-admin .weekday-admin-panel,.weekday-split-row.with-admin .weekday-record-panel{flex:0 0 auto}.weekday-split-row.with-admin .weekday-admin-panel{display:flex;flex-direction:column;align-items:stretch;gap:6px}.weekday-split-row.with-admin .weekday-admin-panel .weekday-toggle-btn,.weekday-split-row.with-admin .weekday-admin-panel .weekday-group-btn{width:100%}.weekday-split-row.with-admin .weekday-record-panel{margin-left:auto;justify-content:flex-end}.weekday-split-row.with-admin .weekday-toggle-btn,.weekday-split-row.with-admin .weekday-record-panel .btn{padding:6px 10px;font-size:.74rem;white-space:nowrap}.weekday-split-row.without-admin{justify-content:flex-end}.weekday-split-row.without-admin .weekday-user-status{flex:1 1 auto}.weekday-split-row.without-admin .weekday-record-panel{flex:0 0 auto;margin-left:auto;justify-content:flex-end}.weekday-split-row.without-admin .weekday-record-panel-text{justify-content:flex-end}.weekday-record-panel{margin-left:0;justify-content:flex-start}.weekday-record-panel-text{justify-content:flex-start}.weekday-record-panel .btn{width:auto}.weekday-records-row{grid-template-columns:1fr}.search-container{max-width:none}.search-create-right{flex-wrap:wrap;gap:8px}.create-btn{width:fit-content;align-self:flex-start;padding:10px 18px;font-size:13px}.emergency-list-card{padding:12px}.emergency-card-header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:8px}.emergency-card-footer{flex-direction:column;align-items:flex-start;gap:8px}.emergency-card-actions{align-self:stretch}.emergency-view-btn{justify-content:center;width:100%}}@media (max-width: 480px){.emergency-attendance{padding:12px}.page-title{font-size:1.5rem}.page-subtitle{font-size:.9rem}.search-create-right{flex-direction:column;align-items:stretch;width:100%}.create-btn{width:100%;text-align:center;justify-content:center}.emergency-list{gap:8px}.emergency-list-card{padding:10px}.emergency-card-content{margin-top:6px}}.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;overflow-y:auto}.modal{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;position:relative;margin:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;margin-bottom:0;border-bottom:1px solid #e2e8f0;flex-shrink:0}.modal-title{font-size:1.5rem;font-weight:600;color:#2d3748;margin:0}.modal-close{background:none;border:none;cursor:pointer;padding:8px;border-radius:6px;color:#718096;transition:all .2s}.modal-close:hover{background-color:#f7fafc;color:#2d3748}.modal-form{display:flex;flex-direction:column;overflow:hidden;min-height:0;padding:0}.modal-form-content{overflow-y:auto;padding:20px 24px 0}.form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:6px}.form-input,.form-textarea{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-input:focus,.form-textarea:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.form-textarea{resize:vertical;font-family:inherit}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px;border-top:1px solid #e2e8f0;flex-shrink:0}.btn{padding:12px 24px;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;border:none}.btn-primary{background-color:#3182ce;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2c5282}.btn-primary:disabled{background-color:#a0aec0;cursor:not-allowed}.btn-secondary{background-color:#f7fafc;color:#4a5568;border:1px solid #e2e8f0}.btn-secondary:hover{background-color:#edf2f7}.btn.no-hover-bg:hover,.btn.no-hover-bg:focus{background-color:#f7fafc}.btn-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.success-modal{background:#fff;border-radius:12px;max-width:400px;width:100%;padding:32px;text-align:center;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.success-content{display:flex;flex-direction:column;align-items:center;gap:16px}.success-icon{width:64px;height:64px;background-color:#c6f6d5;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#22543d}.success-title{font-size:1.25rem;font-weight:600;color:#2d3748;margin:0}.success-message{color:#4a5568;margin:0;line-height:1.5}.error-modal{background:#fff;border-radius:12px;max-width:400px;width:100%;padding:32px;text-align:center;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.error-content{display:flex;flex-direction:column;align-items:center;gap:16px}.error-icon{width:64px;height:64px;background-color:#fed7d7;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#742a2a}.error-title{font-size:1.25rem;font-weight:600;color:#2d3748;margin:0}.error-message{color:#4a5568;margin:0;line-height:1.5}@media (max-width: 768px){.modal-overlay{padding:40px 20px 20px;align-items:flex-start}.modal{max-width:calc(100vw - 40px);width:100%;margin:0 auto;max-height:calc(100vh - 80px)}.modal-header{padding:16px 20px}.modal-form-content{padding:16px 20px 0}.modal-actions{flex-direction:column-reverse;gap:8px;padding:16px 20px}.btn{width:100%;justify-content:center;padding:14px 24px}.success-modal,.error-modal{padding:24px;max-width:calc(100vw - 40px);margin:0 auto}}@media (max-width: 480px){.modal-overlay{padding:20px 16px 16px}.modal{max-width:calc(100vw - 32px);max-height:calc(100vh - 40px)}.modal-header{padding:12px 16px}.modal-form-content{padding:12px 16px 0}.modal-actions{padding:12px 16px}.modal-title{font-size:1.25rem;line-height:1.3}.form-group{margin-bottom:16px}.form-input,.form-textarea{padding:10px 12px;font-size:16px}.success-modal,.error-modal{padding:20px;max-width:calc(100vw - 32px)}}.emergency-list-card.clickable{cursor:pointer;transition:all .2s ease}.emergency-list-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:#007bff}.emergency-list-card.clickable:active{transform:translateY(0)}.time-entry-modal{background:#fff;border-radius:12px;padding:0;max-width:500px;width:90%;box-shadow:0 20px 60px #00000026;animation:modalSlideIn .3s ease-out}.time-entry-content{padding:0}.time-entry-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #eee;margin-bottom:24px}.time-entry-title{margin:0;font-size:20px;font-weight:600;color:#212529}.session-info{padding:0 24px;margin-bottom:24px}.session-title{margin:0 0 8px;font-size:18px;font-weight:600;color:#007bff}.session-date{margin:0 0 12px;color:#6c757d;font-size:14px}.session-date-sub{margin:-6px 0 12px;color:#94a3b8;font-size:12px}.session-description{margin:0;color:#495057;font-size:14px;line-height:1.5}.time-type-selection{padding:0 24px;margin-bottom:24px}.time-type-label{display:block;margin-bottom:12px;font-weight:600;color:#212529;font-size:14px}.time-type-options{display:flex;gap:16px}.time-type-option{display:flex;align-items:center;cursor:pointer;padding:12px 16px;border:2px solid #e9ecef;border-radius:8px;background:#f8f9fa;transition:all .2s ease;flex:1}.time-type-option:hover:not(.disabled){border-color:#007bff;background:#f0f8ff}.time-type-option.disabled{opacity:.5;cursor:not-allowed;background:#f8f9fa;border-color:#e9ecef}.time-type-option.disabled input[type=radio]{cursor:not-allowed}.time-type-option.disabled .time-type-text{color:#adb5bd}.time-type-option input[type=radio]{margin-right:8px;width:16px;height:16px}.time-type-option input[type=radio]:checked+.time-type-text{color:#007bff;font-weight:600}.time-type-option:has(input:checked){border-color:#007bff;background:#f0f8ff}.time-type-text{display:flex;align-items:center;gap:8px;font-size:14px;color:#495057}.time-entry-actions{display:flex;gap:12px;justify-content:flex-end;padding:24px;border-top:1px solid #eee;margin-top:24px}.delete-modal{background:#fff;border-radius:12px;padding:0;max-width:480px;width:90%;box-shadow:0 20px 60px #00000026;animation:modalSlideIn .3s ease-out}.delete-content{padding:32px;text-align:center}.delete-icon{width:64px;height:64px;background:#fee;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.delete-icon svg{color:#dc3545}.delete-title{margin:0 0 16px;font-size:20px;font-weight:600;color:#212529}.delete-message{margin:0 0 32px;color:#6c757d;font-size:15px;line-height:1.5}.delete-actions{display:flex;gap:12px;justify-content:center}.weekday-toggle-scope-section{margin:0 0 24px;padding:14px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;text-align:left}.weekday-toggle-scope-title{margin:0 0 10px;font-size:.9rem;color:#1f2937;font-weight:600}.weekday-toggle-scope-option{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#374151;margin-bottom:8px;cursor:pointer}.weekday-toggle-scope-option input[type=radio]{accent-color:#2563eb}.weekday-toggle-group-picker{margin-top:12px;padding-top:12px;border-top:1px dashed #d1d5db}.weekday-toggle-group-label{display:block;margin:0 0 6px;font-size:.8rem;color:#4b5563;font-weight:600}.weekday-toggle-group-select{width:100%;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px;font-size:.85rem;background:#fff;color:#1f2937}.weekday-toggle-group-hint{margin:8px 0 0;font-size:.78rem;color:#6b7280}.weekday-group-modal .delete-title{color:#1e3a8a}.weekday-group-icon{background:#e0ecff}.weekday-group-icon svg{color:#1d4ed8}.weekday-group-list{display:flex;flex-direction:column;gap:10px;margin-top:6px}.weekday-group-list-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #dbe7f8;border-radius:8px;background:#fff}.weekday-group-list-item.active{border-color:#1d4ed8;background:#eff6ff}.weekday-group-list-name{font-size:.86rem;color:#1f2937;font-weight:600}.weekday-group-list-actions{display:inline-flex;align-items:center;gap:8px}.weekday-group-list-members-btn{width:34px;height:34px;border-radius:999px;border:1px solid #c7d8f3;background:#eff6ff;color:#1d4ed8;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .2s ease,opacity .2s ease}.weekday-group-list-members-btn:hover:not(:disabled){background:#dbeafe;border-color:#93c5fd;transform:translateY(-1px)}.weekday-group-list-members-btn:disabled{opacity:.65;cursor:not-allowed}.weekday-group-list-btn{border:none;border-radius:999px;padding:0 8px;width:78px;height:32px;font-size:.7rem;font-weight:700;color:#fff;position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease,background-color .2s ease}.weekday-group-list-btn.on{background:#16a34a}.weekday-group-list-btn.off{background:#dc2626}.weekday-group-list-switch-thumb{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0f172a33;transition:transform .2s ease}.weekday-group-list-btn.on .weekday-group-list-switch-thumb{transform:translate(46px)}.weekday-group-list-switch-text{position:absolute;top:50%;transform:translateY(-50%);z-index:1;letter-spacing:.04em}.weekday-group-list-btn.off .weekday-group-list-switch-text{right:10px}.weekday-group-list-btn.on .weekday-group-list-switch-text{left:10px}.weekday-group-list-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 10px #0f172a38}.weekday-group-list-btn:disabled{opacity:.6;cursor:not-allowed}.assigned-employees-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto;padding-right:2px}.assigned-employee-item{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.assigned-employee-avatar{width:34px;height:34px;border-radius:999px;background:#e0ecff;color:#1d4ed8;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.assigned-employee-info{display:flex;flex-direction:column;gap:2px;min-width:0}.assigned-employee-name{font-size:.86rem;font-weight:600;color:#1f2937;line-height:1.2}.assigned-employee-email{font-size:.78rem;color:#6b7280;line-height:1.2}.btn-danger{background:#dc3545;color:#fff;border:1px solid #dc3545}.btn-danger:hover:not(:disabled){background:#c82333;border-color:#bd2130}.btn-danger:disabled{background:#dc3545;opacity:.7;cursor:not-allowed}@media (max-width: 768px){.delete-modal{max-width:calc(100vw - 40px);width:100%;margin:0 auto}.delete-content{padding:24px}.delete-actions{flex-direction:column-reverse;gap:8px}.delete-actions .btn{width:100%;justify-content:center;padding:14px 24px}.weekday-group-list-item{align-items:flex-start;flex-direction:column}.weekday-group-list-actions{width:100%;justify-content:flex-end}.weekday-group-list-btn{width:78px;min-width:78px;align-self:flex-end}.emergency-card-actions{flex-direction:column;width:100%;gap:6px}.emergency-edit-btn,.emergency-delete-btn{width:100%;justify-content:center}.time-entry-modal{max-width:calc(100vw - 40px);width:100%;margin:0 auto}.time-entry-header{padding:20px 20px 0;margin-bottom:20px}.session-info,.time-type-selection{padding:0 20px;margin-bottom:20px}.time-type-options{flex-direction:column;gap:12px}.time-entry-actions{flex-direction:column-reverse;padding:20px;margin-top:20px;gap:8px}.time-entry-actions .btn{width:100%;justify-content:center;padding:14px 24px}.multi-date-picker-row{flex-direction:column;align-items:stretch}.multi-date-add-btn{width:100%;justify-content:center}.range-date-row{grid-template-columns:1fr}}@media (max-width: 480px){.delete-modal{max-width:calc(100vw - 32px)}.delete-content{padding:20px}.delete-title{font-size:18px}.delete-message{font-size:14px}.time-entry-modal{max-width:calc(100vw - 32px)}.time-entry-header{padding:16px 16px 0}.time-entry-title{font-size:18px}.session-info,.time-type-selection{padding:0 16px}.time-entry-actions{padding:16px}.time-type-option{padding:10px 12px}.time-type-text{font-size:13px}.attendance-status-info{margin:16px;padding:16px}.attendance-status-title{font-size:15px}.attendance-status-grid{gap:12px}.attendance-status-item{padding:10px}.attendance-status-item .status-icon{width:28px;height:28px;margin-right:8px}.attendance-status-item .status-label{font-size:11px}.attendance-status-item .status-value{font-size:13px}}.session-status-message{padding:24px;text-align:center;margin-bottom:24px}.session-status-message .status-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.session-status-message.past .status-icon{background-color:#fed7d7;color:#742a2a}.session-status-message.upcoming .status-icon{background-color:#bee3f8;color:#2c5282}.session-status-message.inactive .status-icon{background-color:#e5e7eb;color:#4b5563}.session-status-message .status-title{margin:0 0 12px;font-size:18px;font-weight:600;color:#2d3748}.session-status-message .status-description{margin:0;color:#4a5568;font-size:14px;line-height:1.5}.status-message-actions{display:flex;justify-content:center;padding:24px;border-top:1px solid #eee;margin-top:24px}.attendance-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px}.attendance-column{background-color:#fff;border-radius:12px;border:1px solid #e2e8f0;overflow:hidden}.column-header{display:flex;align-items:center;gap:8px;padding:16px;background-color:#f8fafc;border-bottom:1px solid #e2e8f0;font-weight:600;color:#2d3748;font-size:14px}.column-header svg{color:#4a5568;flex-shrink:0}.time-entries{padding:12px;min-height:120px;max-height:250px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cbd5e0 #f7fafc}.time-entries::-webkit-scrollbar{width:6px}.time-entries::-webkit-scrollbar-track{background:#f7fafc;border-radius:3px}.time-entries::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.time-entries::-webkit-scrollbar-thumb:hover{background:#a0aec0}.time-entry{display:flex;flex-direction:column;padding:6px 8px;margin-bottom:6px;border-radius:6px;border:1px solid #e2e8f0;transition:all .2s ease;text-align:center}.time-entry:last-child{margin-bottom:0}.time-entry.recorded{background-color:#f0fff4;border-color:#48bb78}.time-entry.not-recorded{background-color:#f7fafc;border-color:#cbd5e0;text-align:center;color:#718096;font-style:italic}.entry-time{font-size:14px;font-weight:600;color:#2d3748;margin-bottom:2px}.entry-type{font-size:12px;color:#718096;text-transform:uppercase;letter-spacing:.5px}.entry-message{font-size:14px;color:#a0aec0}@media (max-width: 640px){.attendance-columns{grid-template-columns:1fr 1fr;gap:12px}.time-entries{min-height:80px;max-height:150px}}.attendance-status-loading{display:flex;align-items:center;justify-content:center;padding:16px;margin-bottom:24px;background-color:#f7fafc;border-radius:8px;border:1px solid #e2e8f0}.attendance-status-loading .loading-spinner{width:16px;height:16px;border:2px solid #e2e8f0;border-top:2px solid #3182ce;border-radius:50%;animation:spin 1s linear infinite;margin-right:8px}.attendance-status-info{margin-bottom:24px;padding:20px;background-color:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.attendance-status-title{margin:0 0 16px;font-size:16px;font-weight:600;color:#2d3748}.attendance-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.attendance-status-item{display:flex;align-items:center;padding:12px;background-color:#fff;border-radius:8px;border:1px solid #e2e8f0;transition:all .2s ease}.attendance-status-item.recorded{border-color:#48bb78;background-color:#f0fff4}.attendance-status-item.not-recorded{border-color:#fed7d7;background-color:snow}.attendance-status-item .status-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:12px;flex-shrink:0}.attendance-status-item.recorded .status-icon{background-color:#c6f6d5;color:#22543d}.attendance-status-item.not-recorded .status-icon{background-color:#fed7d7;color:#742a2a}.attendance-status-item .status-text{display:flex;flex-direction:column;min-width:0}.attendance-status-item .status-label{font-size:12px;font-weight:500;color:#4a5568;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.attendance-status-item .status-value{font-size:14px;font-weight:600;color:#2d3748;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attendance-status-item.recorded .status-value{color:#22543d}.attendance-status-item.not-recorded .status-value{color:#742a2a}.attendance-complete-message{display:flex;align-items:center;justify-content:center;padding:16px;margin-bottom:16px;background-color:#f0fff4;border:1px solid #9ae6b4;border-radius:8px;color:#22543d;font-weight:500}.attendance-complete-message .complete-icon{width:24px;height:24px;margin-right:8px;color:#38a169}.time-type-option.disabled{opacity:.5;cursor:not-allowed}.time-type-option.disabled input{cursor:not-allowed}.time-type-option.disabled .time-type-text{cursor:not-allowed;color:#a0aec0}@media (max-width: 640px){.attendance-status-grid{grid-template-columns:1fr}.attendance-status-item{padding:10px}.attendance-status-item .status-icon{width:28px;height:28px;margin-right:10px}}.assignment-switch-row{display:flex;align-items:center;gap:12px;margin-top:4px}.assignment-switch-label{font-size:14px;color:#9ca3af;font-weight:500;transition:color .2s}.assignment-switch-label.active{color:#374151;font-weight:600}.assignment-switch{position:relative;width:44px;height:24px;background-color:#d1d5db;border:none;border-radius:12px;cursor:pointer;padding:0;transition:background-color .2s;flex-shrink:0}.assignment-switch.active{background-color:#3b82f6}.assignment-switch-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.assignment-switch.active .assignment-switch-thumb{transform:translate(20px)}.assignment-mode-options{display:flex;gap:20px;margin-top:4px}.schedule-type-options{display:flex;flex-wrap:nowrap;gap:8px;margin-top:6px}.schedule-type-btn{border:1px solid #d1d5db;background:#fff;color:#4b5563;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.schedule-type-btn:hover,.schedule-type-btn.active{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.schedule-type-hint{margin:6px 0 0;font-size:12px;color:#6b7280}.range-date-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.range-date-field{display:flex;flex-direction:column;gap:6px}.range-date-label{font-size:12px;color:#6b7280;font-weight:600}.range-weekend-toggle{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;margin-top:10px;background-color:#f8fafc;border:1px solid #d1d5db;border-radius:8px;font-size:13px;color:#374151;font-weight:500;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none;line-height:1}.range-weekend-toggle:hover{background-color:#f0f7ff;border-color:#3b82f6}.range-weekend-toggle input[type=checkbox]{accent-color:#3b82f6;width:18px;height:18px;margin:0;vertical-align:middle;flex-shrink:0}.range-weekend-toggle span{line-height:1;vertical-align:middle}.range-weekend-toggle:has(input:checked){background-color:#eff6ff;border-color:#3b82f6;color:#1d4ed8;box-shadow:0 1px 3px #3b82f61a}.radio-option{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#374151}.radio-option input[type=radio]{cursor:pointer;accent-color:#3b82f6}.employee-search-container{position:relative}.search-spinner-container{position:absolute;right:12px;top:10px}.employee-search-dropdown{position:absolute;z-index:50;width:100%;margin-top:4px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 12px #00000026;max-height:200px;overflow-y:auto}.employee-search-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;cursor:pointer;transition:background-color .15s}.employee-search-item:hover{background-color:#eff6ff}.employee-search-info{display:flex;align-items:center;gap:6px}.employee-search-name{font-weight:500;color:#1f2937;font-size:14px}.employee-search-id{color:#9ca3af;font-size:13px}.employee-search-dept{color:#6b7280;font-size:12px}.selected-employees-list{margin-top:12px;border:1px solid #e5e7eb;border-radius:6px;padding:8px;max-height:180px;overflow-y:auto}.selected-employees-count{font-size:13px;color:#6b7280;margin-bottom:6px;padding:0 4px}.selected-employee-item{position:relative;display:flex;align-items:center;padding:6px 28px 6px 8px;border-radius:4px;transition:background-color .15s}.selected-employee-item:hover{background-color:#f9fafb}.selected-employee-name{font-size:13px;color:#1f2937}.selected-employee-dept{color:#9ca3af}.selected-employee-campus{color:#6b7280;font-size:12px}.selected-employee-remove{position:absolute;top:4px;right:4px;background:none;border:none;color:#9ca3af;cursor:pointer;padding:2px;border-radius:50%;display:flex;align-items:center;justify-content:center;width:20px;height:20px;transition:all .15s}.selected-employee-remove:hover{color:#ef4444;background-color:#fef2f2}.assignment-warning{color:#d97706;font-size:13px;margin-top:8px}.multi-date-picker-row{display:flex;gap:8px;align-items:center}.multi-date-picker-row .form-input{flex:1}.multi-date-add-btn{width:auto;white-space:nowrap;padding:10px 14px}.multi-date-list{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.multi-date-chip{display:inline-flex;align-items:center;gap:8px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;color:#1e3a8a;font-size:12px;font-weight:600;padding:6px 10px}.multi-date-remove-btn{border:none;background:transparent;color:#1e3a8a;width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.multi-date-remove-btn:hover{background:#dbeafe}.multi-date-count{margin:8px 0 0;font-size:12px;color:#6b7280}.emergency-assignment-badge{display:inline-flex;align-items:center;gap:4px;background-color:#dbeafe;color:#1e40af;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500}.emergency-assigned-btn{display:inline-flex;align-items:center;gap:5px;background-color:#dbeafe;color:#1e40af;border:1px solid #bfdbfe;border-radius:6px;padding:5px 10px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease;white-space:nowrap}.emergency-assigned-btn:hover{background-color:#bfdbfe;box-shadow:0 1px 3px #1e40af33}.assigned-employees-modal{max-width:480px;width:90%;max-height:70vh;display:flex;flex-direction:column}.assigned-employees-list{display:flex;flex-direction:column;gap:8px;max-height:45vh;overflow-y:auto}.assigned-employee-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.assigned-employee-avatar{width:36px;height:36px;border-radius:50%;background-color:#dbeafe;color:#1e40af;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.assigned-employee-info{display:flex;flex-direction:column;min-width:0}.assigned-employee-name{font-size:.9rem;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assigned-employee-email{font-size:.8rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.period-type-options{display:flex;gap:12px;margin-top:8px}.period-type-option{display:flex;align-items:center;gap:8px;padding:10px 16px;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#fff}.period-type-option:hover{border-color:#3b82f6;background:#f0f7ff}.period-type-option.active{border-color:#3b82f6;background:#eff6ff}.period-type-option input[type=radio]{display:none}.period-type-text{font-size:14px;font-weight:500;color:#374151}.period-type-option.active .period-type-text{color:#1d4ed8}.period-type-info{margin-bottom:12px}.period-badge{display:inline-block;padding:4px 12px;background:#fef3c7;color:#92400e;border-radius:16px;font-size:13px;font-weight:500}.period-type-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;margin-bottom:8px}.period-type-badge.am_only{background:#dbeafe;color:#1e40af}.period-type-badge.pm_only{background:#fce7f3;color:#9d174d}.attendance-columns.single-column{display:block}.attendance-column.full-width{width:100%;max-width:none}.sidebar{width:230px;height:100vh;background:linear-gradient(135deg,#221f5f 80%,#4c3a99);padding:1.2rem 1rem;box-shadow:2px 0 16px #2d1f6e26;display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:100;border-radius:0 20px 20px 0;border-right:2px solid #e0e0e0;justify-content:flex-start;overflow:hidden;transition:width .2s ease,padding .2s ease}.sidebar-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.sidebar-content nav{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.sidebar-content nav::-webkit-scrollbar{width:0;height:0}.app-layout{display:flex}main{margin-left:0;width:100vw;min-height:100vh}.sidebar-title{color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:1.3rem;letter-spacing:1px;text-align:center}.sidebar-header{position:relative;display:flex;flex-direction:column;align-items:center}.sidebar-collapse-toggle{position:absolute;top:0;right:0;background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.22);width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,transform .2s ease}.sidebar-collapse-toggle:hover{background:#fff3;transform:translateY(-1px)}.sidebar-list{list-style:none;padding:0;margin:0}.sidebar-item{margin-bottom:.5rem;display:flex;align-items:center;width:100%}.sidebar-link{display:flex;align-items:center;color:#e0f2f1;text-decoration:none;font-size:1.08rem;padding:.5rem .8rem;border-radius:12px;transition:background .2s,color .2s;font-weight:500;width:100%;box-sizing:border-box;position:relative}.sidebar-link .sidebar-icon{margin-right:.8rem;font-size:1.2rem}.sidebar-label{white-space:nowrap}.sidebar-notification-badge{background:#ef4444;color:#fff;font-size:.7rem;font-weight:700;padding:2px 5px;border-radius:8px;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;margin-left:auto;flex-shrink:0;line-height:1}.sidebar-link.active,.sidebar-link:hover{background:#c4b5fd4d;color:#fff}.logout{margin-top:auto;margin-bottom:1rem}.logout-link{color:#ff5252;font-weight:700;transition:background .2s,color .2s}.logout-link:hover{background:#ffcdd2;color:#d32f2f;border-radius:12px;transform:translate(5px);box-shadow:0 2px 8px #f443364d}.sidebar-logo{width:120px;height:auto;max-height:100px;object-fit:contain;display:block;margin:0 auto .4rem;border-radius:50%;background:transparent;box-shadow:none}.sidebar.collapsed{width:76px;padding:1rem .6rem}.sidebar.collapsed .sidebar-title{display:none}.sidebar.collapsed .sidebar-logo{width:48px;max-height:48px;margin:.2rem auto .8rem}.sidebar.collapsed .sidebar-link{justify-content:center;padding:.55rem}.sidebar.collapsed .sidebar-icon{margin-right:0;font-size:1.35rem}.sidebar.collapsed .sidebar-label{display:none}.sidebar.collapsed .sidebar-notification-badge{position:absolute;top:6px;right:8px}.sidebar.collapsed .sidebar-collapse-toggle{position:static;margin:.2rem auto .8rem}.sidebar-hamburger{display:none;position:fixed;top:1.2rem;left:1.2rem;z-index:201;background:#1a1145d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;border:1.5px solid #c4b5fd;border-radius:50%;width:48px;height:48px;padding:0;cursor:pointer;box-shadow:0 4px 24px #1a114521,0 1.5px 4px #00000012;transition:background .22s,box-shadow .22s,transform .18s,filter .18s}.sidebar-hamburger:hover{background:#1a1145f2;filter:brightness(1.08);transform:scale(1.07);box-shadow:0 8px 32px #1a11452e,0 2px 8px #0000001a}.sidebar-close{display:none;position:absolute;top:1.2rem;right:1.2rem;background:transparent;color:#fff;border:none;cursor:pointer;z-index:202}.sidebar-overlay{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;z-index:200}.sidebar-mobile-header{display:none}.sidebar-mobile-title{font-size:1.2rem;font-weight:700;color:#2563eb;margin-left:12px;letter-spacing:1px}@media (max-width: 768px){.sidebar{transform:translate(-110%);transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;left:0;top:0;height:100vh;z-index:202}.sidebar.open{transform:translate(0)}.sidebar-hamburger{display:flex;align-items:center;justify-content:center}.sidebar-overlay{display:block}.sidebar-close{display:block;position:absolute;top:16px;right:16px;background:#fff;color:#221f5f;border:none;cursor:pointer;z-index:202;width:40px;height:40px;border-radius:50%;box-shadow:0 2px 8px #00000012;display:flex;align-items:center;justify-content:center}.sidebar-collapse-toggle{display:none}.sidebar.collapsed{width:230px;padding:1.2rem 1rem}.sidebar.collapsed .sidebar-title{display:block}.sidebar.collapsed .sidebar-logo{width:120px;max-height:100px;margin:0 auto .4rem}.sidebar.collapsed .sidebar-link{justify-content:flex-start;padding:.5rem .8rem}.sidebar.collapsed .sidebar-icon{margin-right:.8rem;font-size:1.2rem}.sidebar.collapsed .sidebar-label{display:inline}.sidebar.collapsed .sidebar-notification-badge{position:static}main{margin-left:0}.sidebar-mobile-header{display:flex;align-items:center;position:fixed;top:0;left:0;width:100vw;height:64px;background:#fff;z-index:300;box-shadow:0 2px 8px #00000012;padding:0 1.2rem}.sidebar.open~.sidebar-mobile-header,.sidebar-mobile-header.sidebar-hide{display:none!important}.sidebar-hamburger{position:static;margin-right:8px;background:#221f5f;color:#fff;border:none;width:40px;height:40px;box-shadow:none;display:flex;align-items:center;justify-content:center}.sidebar-hamburger.green{background:#221f5f;color:#fff}.sidebar-mobile-title{display:none}.sidebar{top:0}.app-layout,main,.attendance-container{padding-top:64px!important}}.toast-container{position:fixed;top:16px;right:16px;display:flex;flex-direction:column;gap:10px;z-index:2000;pointer-events:none}.toast{background:#fff;color:#14532d;border-radius:12px;box-shadow:0 10px 24px #02061726;border:1px solid #d1fae5;padding:10px 12px;min-width:280px;max-width:380px;display:flex;align-items:flex-start;gap:10px;pointer-events:auto;position:relative;transform:translate(32px);opacity:0;animation:toast-slide-in .38s ease-out forwards;will-change:transform,opacity}.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#22c55e;border-top-left-radius:12px;border-bottom-left-radius:12px}.toast-content{display:grid;gap:4px}.toast-badge{display:inline-block;background:#22c55e;color:#fff;border-radius:9999px;padding:2px 8px;font-size:.72rem;font-weight:600;width:fit-content}.toast-title{font-weight:700;font-size:.98rem;color:#166534}.toast-message{font-size:.9rem;color:#14532d;opacity:.95}.toast-close{background:transparent;color:#166534;border:none;font-size:18px;line-height:1;cursor:pointer;margin-left:auto;border-radius:6px;width:24px;height:24px}.toast-close:hover{background:#ecfdf5}@media (max-width: 768px){.toast-container{right:10px;left:10px;top:10px;align-items:flex-end}.toast{max-width:min(400px,95vw);width:max-content}}@keyframes toast-slide-in{0%{transform:translate(40px);opacity:0}60%{transform:translate(-2px);opacity:1}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.evidence-modal,.delete-confirmation-modal{width:95%;margin:10px}.evidence-modal-header,.evidence-modal-content{padding:15px}.evidence-modal-footer{padding:15px;flex-direction:column;gap:15px;align-items:stretch}.delete-confirmation-actions{flex-direction:column;gap:10px}.confirm-delete-btn,.cancel-delete-btn,.footer-left,.footer-right{width:100%}.footer-right{flex-direction:column;gap:12px}.upload-info{justify-content:center;text-align:center}.employee-selection{flex-direction:column;align-items:flex-start;gap:8px}.employee-select,.upload-btn,.close-btn-footer{width:100%;text-align:center}.evidence-item{flex-direction:column;align-items:flex-start;gap:10px}.evidence-actions{align-self:flex-end}.evidence-meta{flex-direction:column;gap:5px}}@media (max-width: 768px){.evidence-modal-footer{flex-direction:column;gap:12px;padding:16px}.footer-left{width:100%;justify-content:center;text-align:center}.footer-right{width:100%;justify-content:center}.upload-btn,.close-btn-footer{flex:1;min-width:120px}}.check-btn:hover{background:#218838;transform:translateY(-1px);box-shadow:0 2px 8px #28a74540}.x-btn:hover{background:#c82333;transform:translateY(-1px);box-shadow:0 2px 8px #dc354540}.reset-btn:hover{background:#5a6268;transform:translateY(-1px);box-shadow:0 2px 8px #6c757d40}.cancel-btn:hover{background:#e0a800;transform:translateY(-1px);box-shadow:0 2px 8px #ffc10740}.travelorder-container{min-height:100vh;margin-left:var(--sidebar-width);padding:48px 64px;background:#fff;position:relative;overflow-x:hidden;overflow-y:auto}.document-count-info{margin-top:8px;margin-bottom:8px;padding:4px 0}.travelorder-container:before{content:none}.travelorder-container>*{position:relative;z-index:1}.travelorder-title{font-size:2.2rem;font-weight:600;color:#1e293b;margin-bottom:0;letter-spacing:1px}.travelorder-subtitle{font-size:1.08rem;color:#64748b;margin-bottom:24px;margin-top:4px}.filter-controls-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.sort-tabs{display:flex;gap:4px;background:#f8fafc;padding:4px;border-radius:12px;border:1px solid #e5e7eb;width:fit-content}.sort-tab{background:transparent;border:none;padding:8px 16px;border-radius:8px;font-size:.9rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .3s ease;outline:none;position:relative;overflow:hidden;min-width:75px;text-align:center}.sort-tab:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.sort-tab:hover:before{left:100%}.sort-tab:hover{background:#e2e8f0;color:#475569;transform:translateY(-1px)}.sort-tab-active{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 16px #22c55e40;transform:translateY(-1px)}.sort-tab-active:hover{background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-2px);box-shadow:0 6px 20px #22c55e59}.sort-tab-active:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent)}.status-filter-with-refresh{display:flex;align-items:center;gap:8px}.status-filter-dropdown{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:8px 32px 8px 12px;font-size:.9rem;font-weight:500;color:#1e293b;cursor:pointer;transition:all .3s ease;outline:none;min-width:140px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' 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 8px center;background-size:16px}.status-filter-dropdown:focus{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a;background-color:#fff}.status-filter-dropdown:hover{border-color:#cbd5e1;background-color:#fff}.refresh-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.refresh-btn:hover:before{left:100%}.refresh-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d;background:linear-gradient(135deg,#16a34a,#15803d)}.refresh-btn:active{transform:translateY(0);box-shadow:0 2px 6px #22c55e33}.refresh-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.refresh-btn:disabled:hover{transform:none;box-shadow:none;background:linear-gradient(135deg,#22c55e,#16a34a)}.refresh-btn svg{transition:transform .3s ease}.refresh-btn:hover:not(:disabled) svg{transform:rotate(180deg)}.refresh-btn-compact{padding:8px;min-width:auto;width:auto;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:6px}.refresh-btn-compact:hover{transform:translateY(-1px);box-shadow:0 2px 8px #22c55e4d}.travelorder-search-create-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;padding:0 2px}.search-input{flex:1;max-width:400px;padding:12px 16px 12px 44px;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;background:#f8fafc;color:#1e293b;transition:all .2s ease;outline:none;position:relative;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cpath d='m21 21-4.35-4.35'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:14px center;background-size:20px}.search-input:focus{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a;background-color:#fff}.search-input::placeholder{color:#94a3b8;font-style:italic}.travelorder-divider{border-bottom:2px solid #e5e7eb;margin-bottom:36px;margin-top:16px;position:relative}.travelorder-divider:after{content:"";position:absolute;bottom:-2px;left:0;width:60px;height:2px;background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:2px}.travelorder-card-grid{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:20px;box-shadow:0 10px 40px #2563eb1a;padding:44px 36px;border:1.5px solid #e5e7eb;min-height:200px;position:relative;overflow:hidden}.travelorder-card-grid:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#22c55e,#16a34a,#0ea5e9)}.travelorder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}.travelorder-card{border:1.5px solid #e5e7eb;border-radius:14px;padding:24px 20px;background:#f8fafc;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:0;min-height:120px;position:relative;overflow:visible;transition:box-shadow .2s,border .2s;cursor:pointer;border-color:#22c55e}.travelorder-card:hover{box-shadow:0 4px 16px #22c55e21;border-color:#16a34a}.travelorder-card-content{display:flex;flex-direction:column;gap:4px}.travelorder-card-title{font-weight:600;font-size:1.15rem;color:#1e293b;margin-bottom:2px}.travelorder-card-date{color:#64748b;font-size:1.01rem}.travelorder-card-actions{display:flex;align-items:center;gap:12px;margin-left:12px}.status-badge{display:inline-flex;align-items:center;padding:6px 16px;border-radius:20px;font-size:.9rem;font-weight:600;color:#fff;background:#22c55e;text-align:center;min-width:0;line-height:1.2;box-shadow:0 2px 8px #22c55e33;transition:all .2s ease;position:relative;overflow:hidden}.status-badge:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.status-approved{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 2px 8px #22c55e33}.status-pending{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 8px #f59e0b33}.status-rejected{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px #ef444433}.status-declined{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px #ef444433;color:#fff}.create-button-wrapper{display:flex;justify-content:flex-end;margin-bottom:24px}.create-button{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:12px;padding:12px 24px 12px 18px;font-weight:600;font-size:1rem;cursor:pointer;box-shadow:0 4px 20px #22c55e40;width:auto;min-width:180px;display:flex;align-items:center;gap:10px;transition:all .3s ease;outline:none;position:relative;overflow:hidden}.create-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.create-button:hover:before{left:100%}.create-button:hover{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 6px 30px #22c55e66;transform:translateY(-2px)}.create-button:active{transform:translateY(0);box-shadow:0 2px 10px #22c55e4d}.create-btn-icon{display:inline-block;width:1.3em;height:1.3em;margin-right:0;vertical-align:middle;stroke:currentColor;stroke-width:2.5;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#1e293b66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.modal-content{background:#fff;border-radius:20px;box-shadow:0 20px 60px #2563eb26;padding:36px 36px 28px;width:100%;max-width:420px;margin:0 auto;position:relative;max-height:90vh;overflow-y:auto;animation:slideInUp .3s ease-out;border:1px solid rgba(255,255,255,.2)}@keyframes slideInUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-title{font-size:1.4rem;font-weight:600;margin-bottom:20px;color:#1e293b;text-align:center}.modal-form{display:flex;flex-direction:column;gap:14px}.form-group{display:flex;flex-direction:column}.form-label{font-weight:600;margin-bottom:6px;color:#374151;font-size:.95rem;display:block;position:relative}.form-label:after{content:"";position:absolute;bottom:-2px;left:0;width:20px;height:2px;background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:2px;opacity:0;transition:opacity .3s ease}.form-group:focus-within .form-label:after{opacity:1}.form-input{width:100%;padding:12px 16px;border-radius:10px;border:2px solid #e5e7eb;margin-top:6px;font-size:.95rem;background:#f8fafc;color:#1e293b;transition:all .3s ease;outline:none;position:relative}.form-input:focus{border-color:#22c55e;box-shadow:0 0 0 4px #22c55e1a;background-color:#fff;transform:translateY(-1px)}.form-input::placeholder{color:#94a3b8;font-style:italic}.date-type-option:hover{background-color:#f9fafb}.date-type-option input[type=radio]{margin:0;cursor:pointer;accent-color:#22c55e}.date-type-option span{font-size:.9rem;font-weight:500;color:#374151;cursor:pointer}.date-range-inputs{display:flex;gap:16px;margin-top:8px}.date-input-group{flex:1;display:flex;flex-direction:column;gap:6px}.date-input-label{font-size:.85rem;font-weight:500;color:#6b7280;margin-bottom:4px}.date-input-group .form-input{margin-top:0}@media (max-width: 768px){.date-range-inputs,.date-type-options{flex-direction:column;gap:12px}}.memo-requirement-option{margin-top:8px}.memo-checkbox-option{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;border-radius:6px;transition:background-color .2s ease}.memo-checkbox-option:hover{background-color:#f9fafb}.memo-checkbox-option input[type=checkbox]{margin:0;cursor:pointer;accent-color:#22c55e}.memo-checkbox-option span{font-size:.9rem;font-weight:500;color:#374151;cursor:pointer}.memo-select{cursor:pointer}.memo-loading-state,.memo-empty-state{padding:12px;text-align:center;background-color:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;margin-top:8px;font-size:.9rem;color:#64748b}.memo-empty-state{background-color:#fef2f2;border-color:#fecaca;color:#dc2626}.memo-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;font-size:.85rem;font-weight:500;color:#0369a1}.memo-badge svg{width:14px;height:14px;stroke:#0369a1}.form-textarea{width:100%;padding:12px 16px;border-radius:10px;border:2px solid #e5e7eb;margin-top:6px;font-size:.95rem;background:#f8fafc;color:#1e293b;transition:all .3s ease;outline:none;position:relative;min-height:120px;resize:vertical;line-height:1.5;font-family:inherit}.form-textarea:focus{border-color:#22c55e;box-shadow:0 0 0 4px #22c55e1a;background-color:#fff;transform:translateY(-1px)}.form-textarea::placeholder{color:#94a3b8;font-style:italic}.form-select{width:100%;padding:12px 16px;border-radius:10px;border:2px solid #e5e7eb;margin-top:6px;font-size:.95rem;background:#f8fafc;color:#1e293b;transition:all .3s ease;outline:none;cursor:pointer}.form-select:focus{border-color:#22c55e;box-shadow:0 0 0 4px #22c55e1a;background-color:#fff;transform:translateY(-1px)}.form-error{color:#ef4444;font-size:.98rem}.form-actions{display:flex;gap:10px;margin-top:8px}.btn-cancel{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:8px;padding:12px 24px;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.btn-cancel:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(71,85,105,.1),transparent);transition:left .4s}.btn-cancel:hover:before{left:100%}.btn-cancel:hover{background:#e2e8f0;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 2px 8px #4755691a}.btn-cancel:active{transform:translateY(0);box-shadow:0 1px 4px #4755691a}.btn-submit{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:8px;padding:12px 24px;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:0 2px 10px #22c55e33}.btn-submit:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-submit:hover:before{left:100%}.btn-submit:hover{background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-1px);box-shadow:0 4px 20px #22c55e4d}.btn-submit:active{transform:translateY(0);box-shadow:0 2px 8px #22c55e33}.btn-submit:disabled{background:#94a3b8;cursor:not-allowed;transform:none;box-shadow:none}.btn-submit:disabled:before{display:none}.btn-delete{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:8px;padding:12px 24px;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:0 2px 10px #ef444433}.btn-delete:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-delete:hover:before{left:100%}.btn-delete:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 20px #ef44444d}.btn-delete:active{transform:translateY(0);box-shadow:0 2px 8px #ef444433}.btn-delete:disabled{background:#94a3b8;cursor:not-allowed;transform:none;box-shadow:none}.btn-delete:disabled:before{display:none}.skeleton-card{border:1.5px solid #e5e7eb;border-radius:14px;padding:24px 20px;background:#f8fafc;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;gap:8px;min-height:80px;position:relative;overflow:hidden}.skeleton{background:#e5e7eb;position:relative;overflow:hidden}.shimmer{background:#e5e7eb}@keyframes shimmer{0%{background-position:0 0}to{background-position:0 0}}.empty-state{color:#64748b;text-align:center;font-size:1.1rem;padding:60px 20px;display:flex;flex-direction:column;align-items:center;gap:16px}.empty-state:before{content:"📋";font-size:3rem;opacity:.5;margin-bottom:8px}.error-message{color:#ef4444;text-align:center;font-size:1.1rem;padding:40px 20px;background:#fef2f2;border-radius:12px;border:1px solid #fecaca}.assign-card{background:#fff;border-radius:14px;box-shadow:0 4px 24px #1e293b1a;padding:24px 20px 18px;margin-top:18px;margin-bottom:10px}.assign-title{font-size:1.35rem;font-weight:700;color:#1e293b;margin-bottom:16px}.assign-modal-search{width:100%;padding:10px 14px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:1.08rem;margin-bottom:18px;outline:none;transition:border .2s;background:#f8fafc}.assign-modal-search:focus{border-color:#2563eb}.assign-employee-list-wrapper{max-height:220px;overflow-y:auto;margin-bottom:10px}.assign-employee-list{list-style:none;padding:0;margin:0}.assign-employee-item{display:flex;align-items:center;margin-bottom:12px;font-size:1.08rem;color:#1e293b}.assign-checkbox{width:20px;height:20px;margin-right:12px;accent-color:#2563eb}.assign-actions{display:flex;justify-content:space-between;gap:16px;margin-top:18px}.assign-cancel-btn,.assign-submit-btn{flex:1;padding:14px 0;border-radius:10px;font-size:1.13rem;font-weight:700;border:none;cursor:pointer;transition:background .18s,color .18s}.assign-cancel-btn{background:#f1f5f9;color:#334155;margin-right:8px}.assign-cancel-btn:hover{background:#e2e8f0}.assign-submit-btn{background:linear-gradient(90deg,#22c55e,#16a34a);color:#fff;font-weight:700;box-shadow:0 2px 8px #22c55e1a}.assign-submit-btn:enabled{background:linear-gradient(90deg,#16a34a,#22c55e);color:#fff}.assign-submit-btn:disabled{background:#cbd5e1;color:#fff;cursor:not-allowed}.assign-submit-btn:hover:enabled{filter:brightness(1.08);box-shadow:0 4px 16px #22c55e2e}.delete-icon-btn{background:#ef44441a;border:1px solid rgba(239,68,68,.2);padding:10px;border-radius:10px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.delete-icon-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(239,68,68,.1),transparent);transition:left .4s}.delete-icon-btn:hover:before{left:100%}.delete-icon-btn:hover{background:#ef444426;border-color:#ef44444d;transform:translateY(-1px);box-shadow:0 4px 12px #ef444433}.delete-icon-btn:active{transform:translateY(0);box-shadow:0 2px 6px #ef444426}.delete-icon-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.delete-icon-btn:disabled:hover{background:#ef44441a;border-color:#ef444433;transform:none;box-shadow:none}.edit-icon-btn{background:none;border:none;padding:8px;border-radius:8px;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.edit-icon-btn:hover{background-color:#3b82f61a}.edit-icon{width:22px;height:22px}.assign-icon-btn{background:none;border:none;padding:8px;border-radius:8px;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.assign-icon-btn:hover{background-color:#10b9811a}.assign-icon{width:22px;height:22px;stroke:#10b981;stroke-width:1.7}.delete-icon{display:block;width:20px;height:20px;stroke:#ef4444;stroke-width:2;transition:all .2s ease}.delete-icon-btn:hover .delete-icon{stroke:#dc2626;transform:scale(1.1)}.current-badge{background:#10b981;color:#fff;font-size:.75rem;padding:2px 6px;border-radius:10px;margin-left:8px;font-weight:500}.removed-badge{background:#ef4444;color:#fff;font-size:.75rem;padding:2px 6px;border-radius:10px;margin-left:8px;font-weight:500}.added-badge{background:#3b82f6;color:#fff;font-size:.75rem;padding:2px 6px;border-radius:10px;margin-left:8px;font-weight:500}.employee-removed{opacity:.6;background-color:#ef44440d;border-radius:6px;padding:4px;margin:2px 0}.employee-added{background-color:#22c55e1a;border-left:3px solid #22c55e}.current-assignments{border:1.5px solid #e5e7eb;border-radius:12px;padding:20px;background:#f8fafc;margin-top:8px}.current-employees-list{margin:12px 0 16px}.current-employees{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.current-employee-item{background:#e2e8f0;color:#475569;padding:6px 12px;border-radius:8px;font-size:.9rem;font-weight:500;border:1px solid #cbd5e1}.edit-assignments-btn{background:linear-gradient(90deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:10px;padding:12px 24px;font-weight:600;font-size:.95rem;cursor:pointer;box-shadow:0 2px 8px #3b82f626;transition:background .2s,box-shadow .2s,transform .15s;outline:none;width:100%}.edit-assignments-btn:hover:enabled{background:linear-gradient(90deg,#2563eb,#1d4ed8);box-shadow:0 4px 16px #3b82f640;transform:translateY(-1px)}.edit-assignments-btn:disabled{background:#94a3b8;cursor:not-allowed;transform:none;box-shadow:none}.modal-subtitle{font-size:.95rem;color:#64748b;margin-bottom:20px;font-style:italic}.tab-btn{background:#f3f4f6;color:#15803d;border:1.5px solid #bbf7d0;border-radius:10px 10px 0 0;padding:10px 28px;font-size:1.1rem;font-weight:600;cursor:pointer;outline:none;transition:background .18s,color .18s,border .18s;margin-bottom:-2px}.tab-btn-active{background:#fff;color:#16a34a;border-bottom:2.5px solid #16a34a;z-index:2}.tab-btn:not(.tab-btn-active):hover{background:#e0f2f1;color:#16a34a;border-color:#a7f3d0}@media (max-width: 600px){.section-title-with-button{flex-direction:column;align-items:flex-start;gap:8px}.section-title-with-button .add-employee-btn{align-self:flex-end;margin-left:auto}.section-title-left{text-align:left;width:100%}.travelorder-container{margin-left:0;padding:16px 4vw}.travelorder-title{font-size:1.4rem;text-align:center}.travelorder-subtitle{font-size:.98rem;text-align:center}.filter-controls-row{flex-direction:column;align-items:stretch;gap:16px;margin-bottom:16px}.sort-tabs{flex-direction:column;width:100%;gap:2px;padding:4px}.sort-tab{min-width:auto;padding:8px 12px;font-size:.85rem}.status-filter-container{flex-direction:column;align-items:flex-start;gap:6px;width:100%}.status-filter-with-refresh{width:100%;flex-direction:row;align-items:center;gap:8px}.status-filter-dropdown{width:100%;min-width:auto;flex:1}.refresh-btn{width:auto;justify-content:center;padding:8px;font-size:.9rem;min-width:auto}.refresh-btn-compact{width:auto;flex-shrink:0}.travelorder-card-grid{padding:16px 4vw;border-radius:10px;box-shadow:0 2px 8px #2563eb0f}.travelorder-grid{grid-template-columns:1fr;gap:14px}.travelorder-card{padding:14px 8px;border-radius:8px;min-height:80px}.travelorder-card-title{font-size:1rem}.travelorder-card-date{font-size:.95rem}.travelorder-card-actions{gap:6px;margin-left:0}.status-badge{padding:4px 10px;font-size:.85rem}.travelorder-search-create-row{flex-direction:column!important;align-items:stretch!important;gap:16px;margin:16px 0 24px!important}.search-input{min-width:0!important;width:100%!important;max-width:none!important;margin-bottom:0;padding:10px 14px 10px 40px;font-size:.95rem;border-radius:10px;background-position:12px center;background-size:18px}.create-button-wrapper{width:100%;margin-bottom:0!important;display:flex;justify-content:center}.create-button{width:100%;justify-content:center;font-size:.95rem;padding:12px 20px;border-radius:10px;gap:8px;min-width:0}.create-btn-icon{width:1.1em;height:1.1em}.modal-content{max-width:98vw;padding:18px 8px 12px;border-radius:10px}.modal-title{font-size:1.05rem;margin-bottom:10px}.modal-form{gap:8px}.form-group,.form-label{font-size:.98rem}.form-input,.form-select{font-size:.98rem;padding:6px;border-radius:5px}.form-actions{flex-direction:column;gap:6px}.btn-cancel,.btn-submit{font-size:1rem;padding:8px 0;border-radius:6px}.skeleton-card{padding:14px 8px;border-radius:8px;min-height:60px}.assign-modal-search{font-size:.98rem;padding:8px;border-radius:6px}.assign-employee-item{font-size:.98rem}.assign-actions{flex-direction:column;gap:8px}.assign-cancel-btn,.assign-submit-btn{font-size:1rem;padding:10px 0;border-radius:7px}.edit-assignments-btn{font-size:.95rem;padding:10px 0;border-radius:7px}.tab-btn{font-size:1rem;padding:8px 10px;border-radius:7px 7px 0 0}.tab-btn-active{border-bottom-width:2px}.download-btn-responsive .download-text{display:none}}@media (max-width: 600px){.travelorder-list-item{padding:16px;flex-direction:column;align-items:stretch;gap:12px}.travelorder-list-item.has-assigned-badge{padding-bottom:52px}.travelorder-assigned-badge{left:16px;bottom:12px}.travelorder-list-meta{flex-direction:column;gap:8px;align-items:flex-start}.travelorder-list-actions{justify-content:space-between;align-items:center}.details-modal-content{max-width:95vw;padding:20px;margin:10px}.details-modal-header{flex-direction:column;align-items:flex-start;gap:12px}.details-modal-title{font-size:1.2rem}.details-info-grid{grid-template-columns:1fr;gap:12px}.details-actions{flex-direction:column;gap:8px}.details-action-btn{width:100%;justify-content:center}}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:12px}.card-content{display:flex;flex-direction:column;gap:16px}.card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.card-footer{margin-top:auto;padding-top:16px;border-top:1px solid #e5e7eb}.employee-assignment-section{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.employee-assignment-left{margin-bottom:8px}.employee-assignment-right{display:flex;flex-direction:column;gap:8px}.assigned-employees{margin-top:8px}.assigned-label{font-size:.9rem;color:#374151;margin-bottom:8px}.assigned-employees-list{display:flex;flex-direction:column;gap:6px}.employee-badge{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:8px 12px;font-size:.85rem}.employee-status{font-size:.75rem;padding:2px 8px;border-radius:12px;font-weight:500}.employee-status.status-pending{background:#fef3c7;color:#92400e}.employee-status.status-approved{background:#d1fae5;color:#065f46}.employee-status.status-declined{background:#fee2e2;color:#991b1b}.employee-status.status-assigned{background:#e0e7ff;color:#3730a3}.employee-status.status-awaiting{background:#fef3c7;color:#92400e;position:relative}.loading-employee-details{display:flex;align-items:center;gap:6px;color:#6b7280;font-size:.75rem}.loading-spinner-inline{width:12px;height:12px;border:2px solid #e5e7eb;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.document-section{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.document-left{font-size:.9rem;color:#374151;margin-bottom:8px}.document-right{display:flex;flex-direction:column;gap:8px}.document-loading{font-size:.85rem;color:#6b7280;font-style:italic}.document-loading-spinner{display:inline-block;margin-right:8px}.documents-list{display:flex;flex-direction:column;gap:8px}.document-item{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:8px 12px}.document-item-left{display:flex;align-items:center;gap:8px}.document-icon{width:16px;height:16px;color:#6b7280}.document-info{display:flex;flex-direction:column;gap:2px}.document-name{font-size:.85rem;font-weight:500;color:#374151}.document-actions{display:flex;gap:4px}.document-action-btn{display:flex;align-items:center;gap:4px;background:#3b82f6;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:.75rem;cursor:pointer;transition:background-color .2s}.document-action-btn:hover{background:#2563eb}.document-delete-btn{background:#dc2626}.document-delete-btn:hover{background:#b91c1c}.documents-empty{text-align:center;padding:16px;color:#6b7280}.documents-empty-icon{width:32px;height:32px;margin:0 auto 8px;color:#d1d5db}.documents-empty-title{font-size:.9rem;font-weight:500;margin-bottom:4px}.documents-empty-subtitle{font-size:.8rem;color:#9ca3af}.delete-document-warning,.delete-document-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;margin-top:16px;font-size:14px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 0;border-bottom:1px solid #e5e7eb}.modal-close-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .2s}.modal-body{flex:1;overflow:auto}.modal-footer{padding:20px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:12px}.travelorder-list{display:flex;flex-direction:column;gap:16px}.travelorder-list-item{border:1.5px solid #e5e7eb;border-radius:16px;padding:24px 28px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);box-shadow:0 4px 12px #0000000f;transition:all .3s ease;cursor:pointer;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.travelorder-list-item.has-assigned-badge{padding-bottom:56px}.travelorder-list-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(34,197,94,.05),transparent);transition:left .6s}.travelorder-list-item:hover:before{left:100%}.travelorder-list-item:hover{box-shadow:0 8px 25px #22c55e26;border-color:#16a34a;transform:translateY(-2px);background:linear-gradient(135deg,#fff,#f8fafc)}.travelorder-list-content{display:flex;flex-direction:column;gap:4px;flex:1}.travelorder-list-title{font-weight:600;font-size:1.2rem;color:#1e293b;margin-bottom:4px}.travelorder-list-meta{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.travelorder-list-date{color:#64748b;font-size:.95rem;display:flex;align-items:center;gap:6px}.evidence-warning-indicator{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 6px;background-color:#fef3c7;color:#d97706;border:1px solid #fbbf24;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em;transition:all .2s ease}.evidence-warning-indicator:hover{background-color:#fde68a;border-color:#f59e0b;transform:translateY(-1px)}.evidence-warning-indicator svg{width:12px;height:12px;stroke-width:2.5}.attachment-status-indicator{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 6px;border:1px solid;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em;transition:all .2s ease}.attachment-status-indicator:hover{transform:translateY(-1px)}.attachment-status-indicator svg{width:12px;height:12px;stroke-width:2.5}.attachment-status-indicator.missing{background-color:#fef3c7;color:#d97706;border-color:#fbbf24}.attachment-status-indicator.missing:hover{background-color:#fde68a;border-color:#f59e0b}.attachment-status-indicator.approved{background-color:#dcfce7;color:#16a34a;border-color:#4ade80}.attachment-status-indicator.approved:hover{background-color:#bbf7d0;border-color:#22c55e}.attachment-status-indicator.rejected{background-color:#fee2e2;color:#dc2626;border-color:#f87171}.attachment-status-indicator.rejected:hover{background-color:#fecaca;border-color:#ef4444}.attachment-status-indicator.mixed{background-color:#dbeafe;color:#2563eb;border-color:#60a5fa}.attachment-status-indicator.mixed:hover{background-color:#bfdbfe;border-color:#3b82f6}.attachment-status-indicator.pending{background-color:#f3f4f6;color:#6b7280;border-color:#d1d5db}.attachment-status-indicator.pending:hover{background-color:#e5e7eb;border-color:#9ca3af}.attachment-status-indicator.attached{background-color:#ecfeff;color:#0e7490;border-color:#22d3ee}.attachment-status-indicator.attached:hover{background-color:#cffafe;border-color:#06b6d4}.travelorder-list-employees{color:#64748b;font-size:.95rem;display:flex;align-items:center;gap:6px}.travelorder-assigned-badge{position:absolute;left:28px;bottom:18px;z-index:2}.travelorder-list-status{display:flex;align-items:center;gap:8px;margin-right:12px}.details-modal-content{background:#fff;border-radius:18px;box-shadow:0 8px 32px #2563eb14;padding:32px;width:100%;max-width:700px;margin:0 auto;position:relative;max-height:90vh;overflow-y:auto}.details-modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.details-modal-title{font-size:1.5rem;font-weight:600;color:#1e293b;margin:0}.details-modal-close{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .2s;width:28px;height:28px}.details-modal-close:hover{background:#f3f4f6;color:#374151}.details-modal-body{display:flex;flex-direction:column;gap:24px}.details-section{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.details-section-title{font-size:1.1rem;font-weight:600;color:#374151;margin-bottom:16px;display:flex;align-items:center;gap:8px}.details-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.details-info-item{display:flex;flex-direction:column;gap:4px}.details-info-item.full-width{grid-column:1 / -1}.details-info-label{font-size:.9rem;color:#6b7280;font-weight:500}.details-info-value{font-size:1rem;color:#374151;font-weight:500}.details-employee-list{display:flex;flex-direction:column;gap:8px}.details-employee-item{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:12px 16px}.details-employee-name{font-size:.95rem;font-weight:500;color:#374151}.details-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}.details-action-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;position:relative;overflow:hidden}.details-action-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.details-action-btn:hover:before{left:100%}.details-edit-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 10px #3b82f633}.details-edit-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 20px #3b82f64d}.details-delete-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 10px #ef444433}.details-delete-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 20px #ef44444d}.details-approve-btn{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:12px;padding:12px 24px;font-weight:600;font-size:.95rem;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:0 4px 16px #22c55e40;min-width:120px;justify-content:center}.details-approve-btn: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}.details-approve-btn:hover:before{left:100%}.details-approve-btn:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 6px 24px #22c55e59;transform:translateY(-2px)}.details-approve-btn:active{transform:translateY(0);box-shadow:0 3px 12px #22c55e33}.details-approve-btn:disabled{background:linear-gradient(135deg,#94a3b8,#6b7280);cursor:not-allowed;transform:none;box-shadow:0 2px 8px #94a3b833;opacity:.7}.details-decline-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:12px;padding:12px 24px;font-weight:600;font-size:.95rem;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:0 4px 16px #ef444440;min-width:120px;justify-content:center}.details-decline-btn: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}.details-decline-btn:hover:before{left:100%}.details-decline-btn:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 24px #ef444459;transform:translateY(-2px)}.details-decline-btn:active{transform:translateY(0);box-shadow:0 3px 12px #ef444433}.details-decline-btn:disabled{background:linear-gradient(135deg,#94a3b8,#6b7280);cursor:not-allowed;transform:none;box-shadow:0 2px 8px #94a3b833;opacity:.7}.approval-actions-section{display:flex;gap:12px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.details-actions .status-info{display:flex;align-items:center;gap:12px;color:#64748b;font-size:.9rem;font-weight:500}.details-actions .status-approved-info{color:#16a34a;display:flex;align-items:center;gap:8px;font-weight:600}.details-actions .status-declined-info{color:#dc2626;display:flex;align-items:center;gap:8px;font-weight:600}@media (max-width: 768px){.details-approve-btn,.details-decline-btn{padding:12px 20px;font-size:.9rem;min-width:100px}.approval-actions-section{gap:10px;justify-content:center}}@media (max-width: 480px){.details-approve-btn,.details-decline-btn{padding:14px 20px;font-size:.9rem;width:100%;max-width:150px}.approval-actions-section{flex-direction:column;gap:12px;width:100%}.details-actions{flex-direction:column!important;gap:16px!important}}.loading-spinner{display:inline-block;width:24px;height:24px;border:3px solid #e5e7eb;border-top:3px solid #22c55e;border-radius:50%;animation:spin 1s linear infinite;margin-right:8px}.empty-state.loading:before{content:"";width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid #22c55e;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.approval-actions{display:flex;gap:8px;margin-top:8px}.approve-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;box-shadow:0 2px 4px #3b82f633}.approve-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.approve-btn:active{transform:translateY(0);box-shadow:0 2px 4px #3b82f633}.approve-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.decline-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;box-shadow:0 2px 4px #ef444433}.decline-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 8px #ef44444d}.decline-btn:active{transform:translateY(0);box-shadow:0 2px 4px #ef444433}.cancel-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;box-shadow:0 2px 4px #f59e0b33;max-width:160px;width:auto}.cancel-btn:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 4px 8px #f59e0b4d}.cancel-btn:active{transform:translateY(0);box-shadow:0 2px 4px #f59e0b33}.cancel-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.modal-actions{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}.modal-btn{flex:1;padding:12px 24px;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:8px}.modal-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.modal-btn:hover:before{left:100%}.modal-btn.secondary{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#475569;border:1px solid #cbd5e1;box-shadow:0 2px 4px #4755691a}.modal-btn.secondary:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);transform:translateY(-1px);box-shadow:0 4px 12px #47556926}.modal-btn.danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px #ef444433}.modal-btn.danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 16px #ef44444d}.modal-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.modal-btn:disabled:before{display:none}.form-error{color:#ef4444;font-size:.875rem;margin-top:8px;padding:8px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;display:flex;align-items:center;gap:8px}.form-error:before{content:"⚠";font-size:1rem;color:#dc2626}.modal-subtitle{font-size:.95rem;color:#64748b;margin-bottom:20px;font-style:italic;text-align:center;line-height:1.5}.travelorder-item-layout{display:flex;justify-content:space-between;align-items:center;width:100%;gap:20px}.status-approval-section{display:flex;align-items:center;gap:12px}.approve-btn,.decline-btn,.cancel-btn{padding:8px 16px;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;white-space:nowrap}.approve-btn{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 2px 8px #22c55e33}.approve-btn:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 16px #22c55e4d;transform:translateY(-1px)}.approve-btn:disabled{background:#94a3b8;cursor:not-allowed;transform:none;box-shadow:none}.decline-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px #ef444433}.decline-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 16px #ef44444d;transform:translateY(-1px)}.cancel-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 8px #f59e0b33}.cancel-btn:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 4px 16px #f59e0b4d;transform:translateY(-1px)}.approval-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:.95rem}@media (max-width: 768px){.travelorder-item-layout{flex-direction:column;align-items:stretch;gap:16px}.travelorder-list-content{width:100%}.travelorder-list-actions{width:100%;justify-content:flex-end}.status-approval-section{flex-direction:column;align-items:flex-end;gap:12px}.approval-actions{flex-direction:row;justify-content:flex-end;gap:8px}.approve-btn,.decline-btn,.cancel-btn{padding:10px 16px;font-size:.9rem}.status-badge-wrapper{align-self:flex-end}.travelorder-list-meta{flex-direction:column;gap:8px;align-items:flex-start}.travelorder-list-date,.travelorder-list-employees{font-size:.9rem}.evidence-warning-indicator{font-size:.7rem;padding:1px 4px;margin-left:6px}.evidence-warning-indicator svg{width:10px;height:10px}.travelorder-list-title{font-size:1.1rem}}@media (max-width: 480px){.filter-controls-row{gap:12px;margin-bottom:12px}.sort-tabs{gap:2px;padding:3px}.sort-tab{padding:6px 10px;font-size:.8rem;font-weight:500}.status-filter-label{font-size:.85rem}.status-filter-dropdown{padding:6px 28px 6px 8px;font-size:.85rem;flex:1}.refresh-btn{padding:6px;font-size:.85rem;min-width:auto;width:auto}.refresh-btn-compact{padding:6px;width:auto;flex-shrink:0}.travelorder-item-layout{gap:12px}.status-approval-section{gap:8px}.approval-actions{flex-direction:column;width:100%;gap:6px}.approve-btn,.decline-btn,.cancel-btn{width:100%;justify-content:center;padding:12px 16px;font-size:.9rem}.travelorder-list-title{font-size:1.05rem}.travelorder-list-date,.travelorder-list-employees{font-size:.85rem}}@media (max-width: 360px){.travelorder-list-item{padding:16px 12px}.travelorder-item-layout{gap:10px}.travelorder-list-title{font-size:1rem}.approve-btn,.decline-btn,.cancel-btn{padding:10px 12px;font-size:.85rem}.status-badge{padding:4px 10px;font-size:.8rem}}@media (max-width: 768px){.travelorder-container{margin-left:0;padding:24px 16px;min-height:calc(100vh - 60px)}.travelorder-title{font-size:1.8rem;margin-bottom:8px;text-align:center}.travelorder-subtitle{font-size:1rem;margin-bottom:20px;text-align:center}.travelorder-search-create-row{flex-direction:column;gap:16px;margin-bottom:24px}.search-input{max-width:100%;padding:14px 16px 14px 44px;font-size:1rem}.create-button{width:100%;justify-content:center;padding:14px 24px;font-size:1rem;min-width:auto}.travelorder-card-grid{padding:24px 16px;border-radius:16px;margin:0 -4px}.travelorder-grid{grid-template-columns:1fr;gap:16px}.travelorder-card{padding:20px 16px;border-radius:12px;min-height:100px}.travelorder-card-title{font-size:1.1rem;margin-bottom:4px}.travelorder-card-date{font-size:.95rem}.travelorder-card-actions{gap:8px;margin-left:0;margin-top:8px;flex-wrap:wrap}.status-badge{padding:6px 12px;font-size:.85rem;border-radius:16px}.modal-overlay{padding:40px 16px 16px;align-items:flex-start}.modal-content{padding:24px 20px;border-radius:16px;max-width:100%;width:100%;max-height:calc(100vh - 80px);margin:0}.modal-title{font-size:1.25rem;margin-bottom:16px}.modal-form{gap:16px}.form-group{margin-bottom:4px}.form-label{font-size:.9rem;margin-bottom:8px}.form-input,.form-textarea,.form-select{padding:14px 16px;font-size:1rem;border-radius:8px}.form-textarea{min-height:100px}.form-actions{gap:12px;margin-top:16px}.btn-cancel,.btn-submit,.btn-delete{padding:14px 20px;font-size:1rem;border-radius:8px;flex:1}.assign-card{padding:20px 16px;margin-top:16px;border-radius:12px}.assign-title{font-size:1.2rem;margin-bottom:16px;text-align:center}.assign-modal-search{padding:12px 16px;font-size:1rem;border-radius:8px}.assign-employee-list-wrapper{max-height:180px}.assign-employee-item{font-size:1rem;padding:8px 0;margin-bottom:8px}.assign-checkbox{width:18px;height:18px;margin-right:12px}.assign-actions{gap:12px;margin-top:20px}.assign-cancel-btn,.assign-submit-btn{padding:14px 16px;font-size:1rem;border-radius:8px}.delete-icon-btn,.edit-icon-btn,.assign-icon-btn{padding:8px;border-radius:8px;min-width:40px;min-height:40px}.delete-icon,.edit-icon,.assign-icon{width:20px;height:20px}.empty-state{padding:40px 16px;font-size:1rem}.empty-state:before{font-size:2.5rem}.error-message{padding:32px 16px;font-size:1rem;border-radius:10px}.skeleton-card{padding:16px;border-radius:12px;min-height:70px}.current-assignments{padding:16px;border-radius:12px;margin-bottom:16px}.current-employees{gap:8px}.current-employee-item{padding:8px 12px;font-size:.9rem;border-radius:16px}.edit-assignments-btn{padding:10px 16px;font-size:.9rem;border-radius:8px}.current-badge,.removed-badge,.added-badge{font-size:.7rem;padding:2px 6px;border-radius:8px}}@media (max-width: 480px){.travelorder-container{padding:16px 12px}.travelorder-title{font-size:1.6rem}.travelorder-subtitle{font-size:.95rem}.travelorder-card-grid{padding:16px 12px;margin:0 -2px}.travelorder-card{padding:16px 12px}.travelorder-card-title{font-size:1.05rem}.travelorder-card-date{font-size:.9rem}.search-input{padding:12px 14px 12px 40px;font-size:.95rem}.create-button{padding:12px 20px;font-size:.95rem}.modal-content{padding:20px 16px}.modal-title{font-size:1.15rem}.form-input,.form-textarea,.form-select{padding:12px 14px;font-size:.95rem}.btn-cancel,.btn-submit,.btn-delete{padding:12px 16px;font-size:.95rem}.assign-card{padding:16px 12px}.assign-title{font-size:1.15rem}.assign-modal-search{padding:10px 14px;font-size:.95rem}.assign-employee-item{font-size:.95rem}.assign-cancel-btn,.assign-submit-btn{padding:12px 14px;font-size:.95rem}}@media (max-width: 640px) and (orientation: landscape){.travelorder-container{padding:20px 16px}.modal-overlay{padding:20px 12px 12px}.modal-content{max-height:calc(100vh - 40px)}.assign-employee-list-wrapper{max-height:120px}}@media (min-width: 769px) and (max-width: 1024px){.travelorder-container{margin-left:0;padding:32px 24px}.travelorder-title{font-size:2rem}.travelorder-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.travelorder-card-grid{padding:32px 24px}.search-input{max-width:350px}.create-button{min-width:160px}.modal-content{max-width:460px;padding:32px 28px}}.travelorder-item-layout{display:flex;justify-content:space-between;align-items:center;width:100%;gap:20px;position:relative}.travelorder-list-content{flex:1;display:flex;flex-direction:column;gap:8px}.travelorder-list-title{font-weight:600;font-size:1.2rem;color:#1e293b;margin:0;line-height:1.3}.travelorder-list-meta{display:flex;flex-direction:column;gap:6px}.travelorder-list-date,.travelorder-list-employees{display:flex;align-items:center;gap:8px;color:#64748b;font-size:.95rem;font-weight:500}.travelorder-list-date svg,.travelorder-list-employees svg{width:16px;height:16px;flex-shrink:0}.travelorder-list-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.status-approval-section{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.status-badge-wrapper{display:flex;align-items:center}.approval-actions{display:flex;gap:8px;align-items:center}.approve-btn,.decline-btn,.cancel-btn{padding:10px 18px;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:6px;white-space:nowrap;position:relative;overflow:hidden;min-width:80px;justify-content:center}.approve-btn:before,.decline-btn:before,.cancel-btn: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}.approve-btn:hover:before,.decline-btn:hover:before,.cancel-btn:hover:before{left:100%}.approve-btn{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 12px #22c55e40}.approve-btn:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 6px 20px #22c55e59;transform:translateY(-2px)}.approve-btn:active{transform:translateY(0);box-shadow:0 3px 8px #22c55e33}.approve-btn:disabled{background:linear-gradient(135deg,#94a3b8,#6b7280);cursor:not-allowed;transform:none;box-shadow:none}.decline-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 12px #ef444440}.decline-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 20px #ef444459;transform:translateY(-2px)}.decline-btn:active{transform:translateY(0);box-shadow:0 3px 8px #ef444433}.cancel-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 4px 12px #f59e0b40}.cancel-btn:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 6px 20px #f59e0b59;transform:translateY(-2px)}.cancel-btn:active{transform:translateY(0);box-shadow:0 3px 8px #f59e0b33}.cancel-btn:disabled{background:linear-gradient(135deg,#94a3b8,#6b7280);cursor:not-allowed;transform:none;box-shadow:none}.travelorder-list-item{border:2px solid #e5e7eb;border-radius:18px;padding:24px;background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:0 4px 16px #00000014;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden;margin-bottom:16px}.travelorder-list-item:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#22c55e,#16a34a,#0ea5e9);opacity:0;transition:opacity .3s ease}.travelorder-list-item:hover:before{opacity:1}.travelorder-list-item:hover{border-color:#22c55e;box-shadow:0 8px 32px #22c55e26;transform:translateY(-4px);background:linear-gradient(135deg,#fff,#f0fdf4)}.status-badge{display:inline-flex;align-items:center;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #0000001a;position:relative;overflow:hidden}.status-badge: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 .8s}.status-badge:hover:before{left:100%}.status-approved{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 12px #22c55e4d}.status-pending{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #f59e0b4d}.status-declined{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d}.approval-error{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #fecaca;color:#dc2626;padding:16px 20px;border-radius:12px;margin-bottom:20px;font-size:.95rem;font-weight:500;display:flex;align-items:center;gap:12px;box-shadow:0 4px 12px #ef44441a}.approval-error:before{content:"⚠️";font-size:1.2rem;flex-shrink:0}@media (min-width: 1024px){.travelorder-container{padding:48px 32px}.travelorder-title{font-size:2.5rem;text-align:left}.travelorder-subtitle{font-size:1.2rem;text-align:left}.travelorder-list-item{padding:32px;margin-bottom:20px}.travelorder-item-layout{gap:32px}.travelorder-list-title{font-size:1.4rem}.travelorder-list-meta{flex-direction:row;gap:32px}.status-approval-section{gap:16px}.approve-btn,.decline-btn,.cancel-btn{padding:12px 24px;font-size:.95rem;min-width:100px}}@media (min-width: 768px) and (max-width: 1023px){.travelorder-container{margin-left:0;padding:32px 24px}.travelorder-title{font-size:2.2rem;text-align:center}.travelorder-subtitle{font-size:1.1rem;text-align:center}.travelorder-list-item{padding:28px}.travelorder-item-layout{gap:24px}.travelorder-list-title{font-size:1.3rem}.travelorder-list-meta{flex-direction:row;gap:24px}.approve-btn,.decline-btn,.cancel-btn{padding:11px 20px;font-size:.9rem}}@media (max-width: 767px){.travelorder-container{margin-left:0;padding:20px 16px}.travelorder-title{font-size:1.8rem;text-align:center;margin-bottom:12px}.travelorder-subtitle{font-size:1rem;text-align:center;margin-bottom:24px}.travelorder-list-item{padding:20px 16px;border-radius:16px;margin-bottom:12px}.travelorder-item-layout{flex-direction:column;align-items:stretch;gap:16px}.travelorder-list-content{width:100%}.travelorder-list-title{font-size:1.15rem;text-align:left}.travelorder-list-meta{flex-direction:column;gap:8px;align-items:flex-start}.travelorder-list-date,.travelorder-list-employees{font-size:.9rem}.travelorder-list-actions{width:100%;justify-content:flex-end;margin-top:8px}.status-approval-section{flex-direction:column;align-items:flex-end;gap:12px;width:100%}.status-badge-wrapper{align-self:flex-end}.approval-actions{flex-direction:row;justify-content:flex-end;gap:8px;width:100%}.approve-btn,.decline-btn,.cancel-btn{padding:12px 16px;font-size:.85rem;min-width:70px;flex:0 0 auto}}@media (max-width: 480px){.travelorder-container{padding:16px 12px}.travelorder-title{font-size:1.6rem}.travelorder-subtitle{font-size:.95rem}.travelorder-list-item{padding:16px 12px;border-radius:14px}.travelorder-item-layout{gap:12px}.travelorder-list-title{font-size:1.1rem}.travelorder-list-date,.travelorder-list-employees{font-size:.85rem}.status-approval-section{gap:10px}.approval-actions{flex-direction:column;gap:8px}.approve-btn,.decline-btn,.cancel-btn{width:100%;padding:14px 16px;font-size:.9rem;justify-content:center}.status-badge{padding:6px 12px;font-size:.8rem}}@media (max-width: 360px){.travelorder-container{padding:12px 8px}.travelorder-title{font-size:1.5rem}.travelorder-list-item{padding:14px 10px;border-radius:12px}.travelorder-item-layout{gap:10px}.travelorder-list-title{font-size:1.05rem}.approve-btn,.decline-btn,.cancel-btn{padding:12px 14px;font-size:.85rem}.status-badge{padding:5px 10px;font-size:.75rem}}.search-input{transition:all .3s ease;box-shadow:0 2px 8px #0000000f}.search-input:focus{box-shadow:0 4px 20px #22c55e26;transform:translateY(-1px)}.travelorder-card-grid{box-shadow:0 8px 32px #2563eb14;border:2px solid #e5e7eb}.travelorder-card-grid:before{height:6px}.empty-state{padding:80px 20px;text-align:center;color:#64748b;font-size:1.1rem}.empty-state:before{content:"📋";font-size:4rem;display:block;margin-bottom:16px;opacity:.6}.error-message{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #fecaca;color:#dc2626;padding:24px;border-radius:16px;text-align:center;font-size:1.1rem;font-weight:500;box-shadow:0 4px 16px #ef44441a}.travelorder-list-item{position:relative}.status-badge-responsive-wrapper{display:flex;align-items:center;justify-content:flex-end}@media (max-width: 600px){.status-badge-responsive-wrapper{position:absolute;top:16px;right:16px;z-index:2;justify-content:flex-end;width:auto}}@media (max-width: 600px){.modal-content{max-width:99vw;width:100vw;padding:10px 0 18px;border-radius:0;box-shadow:none;border:none;margin:0;background:#fff}.details-modal-content,.assign-card,.current-assignments,.details-section{border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:0 2px 4px #0000001a!important;padding-left:0!important;padding-right:0!important;background:#fff!important}.details-modal-header{padding-left:12px!important;padding-right:12px!important;border-bottom:none!important}.details-modal-title{font-size:1.1rem!important;text-align:center;width:100%}.details-section-title{font-size:1rem!important;margin-bottom:10px!important;padding-left:12px;padding-right:12px}.details-info-grid,.details-employee-list{padding-left:12px;padding-right:12px}.details-actions{padding-left:12px;padding-right:12px;border-top:none!important;margin-top:18px!important}.assign-title{font-size:1rem!important;text-align:center;margin-bottom:10px!important}.assign-modal-search,.assign-employee-list-wrapper,.assign-actions{margin-left:12px;margin-right:12px}.btn-submit,.btn-delete,.assign-submit-btn,.assign-cancel-btn{border-radius:8px!important;width:100%;min-width:0;margin:0}.details-employee-item{border:1px solid #e2e8f0!important;border-radius:8px!important;padding:10px 8px!important;margin-bottom:8px;background:#f8fafc!important}.current-employee-item{border:1px solid #e2e8f0!important;border-radius:8px!important;padding:6px 8px!important;background:#f8fafc!important}.document-item{border:1px solid #e2e8f0!important;border-radius:8px!important;padding:10px 8px!important;margin-bottom:8px;background:#f8fafc!important}}.delete-btn-list{padding:8px 12px;border-radius:8px;background:#faeaea;border:none;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:none;width:40px;height:40px;min-width:0;min-height:0}.delete-btn-list svg{width:20px;height:20px}.evidence-btn-list{padding:8px 12px;border-radius:8px;background:#e8f4fd;border:none;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s;box-shadow:none;height:40px;min-width:auto;white-space:nowrap;color:#1976d2;font-size:14px;font-weight:500}.evidence-btn-list:hover{background:#bbdefb;transform:translateY(-1px)}.evidence-btn-list svg{width:16px;height:16px;flex-shrink:0}.evidence-btn-list span{color:inherit}.travelorder-action-buttons{display:flex;gap:8px;align-items:center}.modal-content-wide{max-width:800px;width:90vw}.modal-form-layout{display:flex;gap:20px}.modal-form-section-left{flex:1}.modal-form-section-right{flex:1;border-left:1px solid #e5e7eb;padding-left:20px;display:flex;flex-direction:column;min-height:500px}.modal-section-title{margin-bottom:15px;font-size:16px;color:#333}.form-textarea-style{resize:vertical;min-height:100px;font-family:inherit}.employee-search-input{margin-bottom:10px}.employee-list-container{flex:1;overflow-y:auto;border:1px solid #e5e7eb;border-radius:6px;padding:8px;max-height:400px;margin-bottom:10px}.employee-loading-state,.employee-empty-state{text-align:center;padding:20px;color:#666}.employee-item-modal{display:flex;align-items:center;padding:8px 4px;border-bottom:1px solid #f3f4f6}.employee-checkbox-modal{margin-right:8px}.employee-label-modal{cursor:pointer;font-size:14px;flex:1}.employee-department-span{color:#888;font-size:12px;margin-left:6px}.employee-department-span-assign{color:#888;font-size:13px;margin-left:6px}.selected-employees-count{font-size:14px;color:#666;flex-shrink:0}.form-error-margin{margin-top:15px}.form-actions-margin{margin-top:20px}.modal-content-compact{max-width:400px;width:90vw}.modal-title-small{font-size:18px}.modal-subtitle-margin{margin-bottom:20px;font-size:14px;color:#666}.modal-actions-layout{display:flex;justify-content:flex-end;gap:10px}.btn-modal-flex{flex:1;padding:10px;font-size:14px}.btn-modal-delete{flex:1;padding:10px;font-size:14px;background-color:#e3342f;color:#fff}.btn-modal-approve{flex:1;padding:10px;font-size:14px;background-color:#22c55e;color:#fff}.details-modal-layout{max-width:600px;width:95vw;max-height:90vh;display:flex;flex-direction:column;background:#fff;border-radius:10px;overflow:hidden;position:relative}.details-modal-close-btn{position:absolute;right:24px;top:20px;background:none;border:none;padding:0;cursor:pointer;z-index:10}.details-modal-header-layout{flex:none;border-bottom:1px solid #eee;background:#fff;z-index:2;padding:20px 24px 10px;display:flex;align-items:center;justify-content:center}.details-modal-title-centered{flex:1;text-align:center;margin:0}.details-modal-body-layout{overflow-y:auto;flex:1;min-height:0;padding:24px;background:#fafbfc}.section-title-with-button{display:flex;align-items:center;justify-content:space-between}.section-title-left{display:flex;align-items:center;gap:8px}.add-employee-btn{font-size:12px;padding:6px 8px;height:auto;min-height:auto;width:auto;min-width:auto;display:flex;align-items:center;gap:4px;border-radius:6px;background-color:#4f46e5;color:#fff;border:none;cursor:pointer;transition:all .2s}.add-employee-btn:hover{background-color:#4338ca}.employee-item-details{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:#fff;border-radius:8px;margin-bottom:8px;border:1px solid #e5e7eb}.employee-name-details{font-weight:500;color:#374151;flex:1}.employee-actions-details{display:flex;align-items:center;gap:8px}.memo-personnel-list{display:flex;flex-direction:column;gap:8px}.memo-personnel-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:#fff;border-radius:8px;margin-bottom:8px;border:1px solid #e5e7eb}.memo-personnel-info{display:flex;flex-direction:column;gap:2px;min-width:0;width:100%;text-align:left}.memo-personnel-name{font-weight:600;color:#1f2937;word-break:break-word;text-align:left}.memo-personnel-details{font-size:.85rem;color:#6b7280;text-align:left}@media (max-width: 600px){.memo-personnel-item,.employee-item-details,.details-employee-item{flex-direction:column;align-items:flex-start;gap:8px}.employee-name-details,.details-employee-name{width:100%;text-align:left!important}.employee-actions-details{width:100%;justify-content:space-between}.employee-actions-details .employee-status{margin-right:8px}.remove-employee-btn{width:32px;height:32px;padding:6px}}.remove-employee-btn{background:none;border:none;padding:6px;border-radius:4px;cursor:pointer;color:#dc3545;display:flex;align-items:center;justify-content:center;transition:all .2s;width:28px;height:28px;min-width:28px;flex-shrink:0}.remove-employee-btn:hover{background-color:#fee;color:#dc2626}.empty-state-assigned{padding:20px;font-size:.9rem}.details-actions-footer{flex:none;border-top:1px solid #eee;background:#fff;z-index:2;padding:12px 24px;display:flex;gap:10px;justify-content:flex-end}.documents-empty-state{padding:20px;font-size:.9rem}.loading-modal-content{text-align:center;padding:40px 20px}.loading-spinner-large{width:48px;height:48px;margin:0 auto 24px;color:#22c55e;animation:spin 1s linear infinite}.loading-modal-title{font-size:1.5rem;font-weight:600;color:#1e293b;margin-bottom:8px}.loading-modal-subtitle{font-size:1rem;color:#64748b;margin:0;line-height:1.4}.success-modal-content{text-align:center;padding:40px 20px}.success-modal-icon{width:48px;height:48px;margin:0 auto 24px;color:#22c55e;display:flex;align-items:center;justify-content:center;background:#22c55e1a;border-radius:50%;padding:12px}.success-modal-title{font-size:1.5rem;font-weight:600;color:#1e293b;margin-bottom:12px}.success-modal-message{font-size:1rem;color:#64748b;margin:0 0 32px;line-height:1.5}.success-modal-actions{display:flex;justify-content:center}.success-modal-btn{min-width:120px;padding:12px 24px;font-size:1rem;font-weight:600;border-radius:8px;transition:all .2s ease}.success-modal-btn:hover{transform:translateY(-1px);box-shadow:0 4px 20px #22c55e4d}@media (max-width: 480px){.loading-modal-content,.success-modal-content{padding:32px 16px}.loading-spinner-large,.success-modal-icon{width:40px;height:40px;margin-bottom:20px}.loading-modal-title,.success-modal-title{font-size:1.3rem;margin-bottom:8px}.loading-modal-subtitle,.success-modal-message{font-size:.9rem}.success-modal-btn{min-width:100px;padding:10px 20px;font-size:.9rem}}.conflict-modal{max-width:700px;width:90%;max-height:80vh;overflow-y:auto}.conflict-modal-title{color:#dc2626;display:flex;align-items:center;gap:8px;font-size:1.4rem;margin-bottom:16px}.conflict-modal-subtitle{color:#64748b;font-size:1rem;margin-bottom:20px;line-height:1.5}.conflicts-list{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:16px;margin-bottom:20px;max-height:300px;overflow-y:auto}.conflict-item{background:#fff;border:1px solid #f3f4f6;border-radius:8px;padding:16px;margin-bottom:12px}.conflict-item:last-child{margin-bottom:0}.conflict-employee{font-size:1.1rem;color:#1e293b;margin-bottom:8px}.conflict-details{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:#64748b}.conflict-travel-order,.conflict-dates,.conflict-status{display:flex;align-items:center;gap:4px}.conflict-title{font-weight:600;color:#3730a3}.conflict-modal-warning{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:12px 16px;margin-bottom:20px;color:#856404;font-size:.9rem;line-height:1.4}.conflict-modal-actions{display:flex;gap:12px;justify-content:flex-end}.conflict-cancel-btn{background:#64748b;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.conflict-cancel-btn:hover{background:#475569;transform:translateY(-1px)}.conflict-proceed-btn{background:#dc2626;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.conflict-proceed-btn:hover{background:#b91c1c;transform:translateY(-1px)}.status-approved{color:#065f46;background:#d1fae5;padding:2px 8px;border-radius:4px;font-size:.8rem;font-weight:500}@media (max-width: 768px){.conflict-modal{width:95%;margin:20px auto;max-height:85vh}.conflict-modal-actions{flex-direction:column;gap:8px}.conflict-cancel-btn,.conflict-proceed-btn{width:100%}.conflict-details{font-size:.85rem}}.memo-checkbox-option input[type=checkbox]{width:18px;height:18px;accent-color:#10b981;cursor:pointer}.memo-checkbox-option span{font-size:14px;color:#374151;font-weight:500}.memo-selection-display{margin-top:8px;padding:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.selected-memo-info{display:flex;justify-content:space-between;align-items:center;gap:12px}.selected-memo-text{flex:1;font-size:14px;color:#374151;font-weight:500;background:#fff;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;min-height:36px;display:flex;align-items:center}.select-memo-btn,.change-memo-btn{padding:8px 16px;border:1px solid #3b82f6;background:#3b82f6;color:#fff;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:100px;display:flex;align-items:center;justify-content:center}.select-memo-btn:hover,.change-memo-btn:hover{background:#2563eb;border-color:#2563eb;transform:translateY(-1px)}.select-memo-btn:active,.change-memo-btn:active{transform:translateY(0)}.date-type-options{display:flex;gap:20px;margin-top:8px}.date-type-option{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;border-radius:6px;transition:background-color .2s ease}.date-type-option:hover{background-color:#f3f4f6}.date-type-option input[type=radio]{width:18px;height:18px;accent-color:#10b981;cursor:pointer}.date-type-option span{font-size:14px;color:#374151;font-weight:500}.form-input{border:1px solid #d1d5db;border-radius:8px;padding:12px 16px;font-size:14px;transition:all .2s ease;background:#fff}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-label{font-size:14px;font-weight:600;color:#374151;margin-bottom:8px;display:block}.form-group{margin-bottom:20px}.date-range-inputs{display:flex;gap:16px}.date-input-group{flex:1}.date-input-label{font-size:13px;font-weight:500;color:#6b7280;margin-bottom:6px;display:block}.modal-form-section-left{padding-right:24px;border-right:1px solid #e5e7eb}.modal-form-section-right{padding-left:24px}.modal-section-title{font-size:16px;font-weight:600;color:#1f2937;margin-bottom:20px;padding-bottom:8px;border-bottom:2px solid #e5e7eb}.btn-submit{background:#10b981;border:1px solid #10b981;color:#fff;padding:12px 24px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease}.btn-submit:hover{background:#059669;border-color:#059669;transform:translateY(-1px)}.btn-cancel{background:#fff;border:1px solid #d1d5db;color:#374151;padding:12px 24px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:#f9fafb;border-color:#9ca3af}.memo-modal{max-width:600px;max-height:80vh;display:flex;flex-direction:column}.memo-modal-form{flex:1;min-height:0;overflow-y:auto}.memo-modal-footer{display:flex;justify-content:center;gap:12px;padding:16px;border-top:1px solid #e5e7eb;background:#fff}.memo-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.modal-close-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.modal-close-btn:hover{background:#f3f4f6;color:#374151}.memo-modal-subtitle{color:#6b7280;font-size:14px;margin-bottom:20px}.memo-search-section{margin-bottom:20px}.search-input-wrapper{position:relative}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.memo-search-input{width:100%;padding:12px 16px 12px 44px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s ease;background:#fff}.memo-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.memo-list-container{flex:1;min-height:0;display:flex;flex-direction:column}.memo-list-header{padding:8px 0;border-bottom:1px solid #e5e7eb;margin-bottom:12px}.memo-count{font-size:13px;color:#6b7280;font-weight:500}.memo-list-wrapper{flex:1;min-height:200px;max-height:300px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb}.memo-list{padding:8px}.memo-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .2s ease}.memo-item:last-child{margin-bottom:0}.memo-item:hover{border-color:#3b82f6;box-shadow:0 2px 4px #0000000d}.memo-item-selected{border-color:#10b981;background:#f0fdf4;box-shadow:0 2px 8px #10b98126}.memo-item-radio input[type=radio]{width:18px;height:18px;accent-color:#10b981}.memo-item-content{flex:1;min-width:0}.memo-item-title{font-size:14px;font-weight:600;color:#374151;margin-bottom:4px;line-height:1.4}.memo-item-date{font-size:12px;color:#6b7280}.memo-item-selected-icon{color:#10b981;display:flex;align-items:center}.memo-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#6b7280;gap:12px}.loading-spinner{width:24px;height:24px;border:2px solid #e5e7eb;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.memo-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.empty-state-icon{color:#d1d5db;margin-bottom:16px}.empty-state-text h3{font-size:16px;font-weight:600;color:#374151;margin:0 0 8px}.empty-state-text p{font-size:14px;color:#6b7280;margin:0;line-height:1.5}.memo-modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #e5e7eb}.memo-cancel-btn{padding:10px 20px}.memo-select-btn{padding:10px 20px;display:flex;align-items:center;gap:8px}.memo-select-btn:disabled{background:#d1d5db;border-color:#d1d5db;color:#9ca3af;cursor:not-allowed;transform:none}.memo-select-btn:disabled:hover{background:#d1d5db;border-color:#d1d5db;transform:none}.memo-requirement-section{display:flex;flex-direction:column;gap:12px}.memo-checkbox-option{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 0}.memo-checkbox-option input[type=checkbox]{margin:0;transform:scale(1.1)}.memo-selection-display{margin-top:8px}.selected-memo-info{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:12px}.selected-memo-text{flex:1;font-size:.95rem;color:#374151;font-weight:500}.change-memo-btn,.select-memo-btn{padding:6px 12px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.change-memo-btn:hover,.select-memo-btn:hover{background:#2563eb;transform:translateY(-1px)}.select-memo-btn{padding:10px 20px;font-size:.95rem;background:#059669}.select-memo-btn:hover{background:#047857}.assign-employee-list li.assign-employee-item input[type=radio]{margin-right:12px;transform:scale(1.1)}.assign-employee-list li.assign-employee-item label{cursor:pointer;flex:1;display:flex;align-items:center;gap:8px}@media (max-width: 768px){.selected-memo-info{flex-direction:column;align-items:stretch;gap:8px}.change-memo-btn,.select-memo-btn{width:100%;text-align:center}}.upload-button-container{display:flex;align-items:center;gap:8px}.upload-btn-small{display:flex;align-items:center;justify-content:center;padding:6px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;min-width:32px;height:32px;box-shadow:0 2px 4px #0000001a}.upload-btn-small:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6a4190);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.upload-btn-small:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0000001a}.upload-btn-small:disabled{opacity:.6;cursor:not-allowed;transform:none}.upload-spinner{animation:spin 1s linear infinite}.delete-btn-responsive{background:none!important;color:#dc3545!important;border:none;border-radius:4px;padding:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;flex-shrink:0}.delete-btn-responsive:hover:not(:disabled){background-color:#fee!important;color:#dc2626!important}.delete-btn-responsive:disabled{opacity:.6;cursor:not-allowed}.btn-danger{background-color:#dc3545;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn-danger:hover:not(:disabled){background-color:#c82333}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.delete-modal-content{text-align:center;padding:24px}.delete-modal-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:0 auto 16px;background-color:#fee2e2;border-radius:50%;color:#dc3545}.delete-modal-title{font-size:1.5rem;font-weight:600;color:#1f2937;margin-bottom:12px}.delete-modal-message{font-size:1rem;color:#6b7280;margin-bottom:24px;line-height:1.5}.delete-modal-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.documents-action-btn{display:flex;align-items:center;gap:.1rem;padding:.2rem .35rem;font-size:.6rem;font-weight:500;border:none;border-radius:3px;cursor:pointer;transition:all .2s ease;white-space:nowrap}@media (max-width: 600px){.documents-list{display:flex;flex-direction:column;gap:18px;padding:16px 0}.document-item{background:#fff;border-radius:16px;box-shadow:0 4px 24px #3b82f614;border:1px solid #e5e7eb;padding:22px 16px;display:flex;flex-direction:column;gap:12px;transition:box-shadow .2s,border-color .2s;position:relative}.document-item:hover{box-shadow:0 8px 32px #3b82f626;border-color:#3b82f6}.document-title{font-size:1.2rem;font-weight:700;color:#1e293b;margin-bottom:4px;letter-spacing:.5px}.document-meta{font-size:1rem;color:#64748b;margin-bottom:6px}.documents-actions{display:flex;flex-direction:row;align-items:center;gap:8px;margin-top:10px;width:100%;flex-wrap:nowrap}.documents-action-btn{width:auto;max-width:none;align-self:auto;justify-content:center;padding:12px 14px;font-size:1rem;border-radius:10px;background:linear-gradient(90deg,#f3f4f6,#e0e7ff);color:#2563eb;border:1px solid #d1d5db;font-weight:600;transition:background .2s,color .2s,box-shadow .2s;box-shadow:0 2px 8px #3b82f60a}.documents-action-btn svg{width:14px;height:14px}.documents-actions .upload-btn-small{margin-left:auto;width:40px;min-width:40px;height:40px;padding:0;border-radius:10px;color:#fff;border:none;background:linear-gradient(135deg,#6d28d9,#7c3aed,#8b5cf6);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #7c3aed33}.documents-actions .upload-btn-small:hover{filter:brightness(.98);box-shadow:0 4px 14px #7c3aed47}.documents-list .document-item{align-items:center;flex-direction:row}.documents-list .document-item-left,.documents-list .document-info,.documents-list .document-name{text-align:left}.documents-list .document-item-left{flex:1}.documents-list .document-actions{margin-left:auto;align-self:center;gap:8px}.documents-list .document-actions .document-action-btn.download-btn-responsive{background:#fff;border:1px solid #e2e8f0;color:#334155;width:36px;height:36px;padding:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.documents-list .document-actions .document-action-btn.download-btn-responsive svg{width:18px;height:18px}.documents-list .document-actions .delete-btn-responsive{background:#fff!important;border:1px solid #e2e8f0;width:36px;height:36px;padding:0;border-radius:8px}.documents-list .document-actions .delete-btn-responsive svg{width:18px;height:18px}.documents-action-btn:hover{background:linear-gradient(90deg,#2563eb,#3b82f6);color:#fff;border-color:#2563eb;box-shadow:0 4px 16px #3b82f61f}.documents-empty-state{padding:36px 16px;font-size:1.15rem;color:#64748b;background:#f3f4f6;border-radius:14px;text-align:center;margin-top:20px;box-shadow:0 2px 12px #0000000a}.documents-empty-state svg{width:44px;height:44px;color:#d1d5db;margin-bottom:12px}.documents-empty-state-title{font-size:1.18rem;font-weight:700;color:#374151;margin-bottom:8px}.documents-empty-state-desc{font-size:1rem;color:#64748b;margin-bottom:0}}@media (max-width: 600px){.modal-overlay{align-items:flex-start;justify-content:flex-start;padding:0!important;margin:0!important}.modal-content,.modal-content-wide{width:100vw!important;min-width:100vw!important;max-width:100vw!important;height:100vh!important;min-height:100vh!important;max-height:100vh!important;border-radius:0!important;padding:0!important;margin:0!important;box-shadow:none!important;overflow-y:auto;display:flex;flex-direction:column}.modal-title{font-size:1.2rem;padding:12px 0!important;margin:0!important}.modal-form{padding:0!important;margin:0!important}.modal-form-layout{display:flex!important;flex-direction:row!important;gap:16px!important;padding:16px!important;margin:0!important;width:100%}.modal-form-section-left,.modal-form-section-right{width:50%!important;min-width:50%!important;max-width:50%!important;padding:10px!important;margin:0!important;border:none!important;box-sizing:border-box!important}.form-group{margin-bottom:14px!important;padding:0!important}.form-actions{padding:10px 0 0!important;margin:0!important;gap:10px!important}.modal-section-title{padding:0 0 10px!important;margin-bottom:10px!important}.form-error,.form-error-margin,.form-actions-margin{margin:0!important;padding:0!important}}.details-employee-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;margin-bottom:.75rem;transition:all .2s ease}.details-employee-card:hover{border-color:#cbd5e1;box-shadow:0 2px 4px #0000000d}.employee-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.employee-name-large{font-size:1.1rem;font-weight:600;color:#1f2937}.employee-actions-right{display:flex;align-items:center;gap:.75rem}.employee-details-line{margin-top:.5rem}.employee-detail-text{font-size:.875rem;color:#6b7280;font-weight:500}.details-employee-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.details-employee-details{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:#6b7280}.employee-detail-item{display:flex;align-items:center;gap:.25rem}.employee-detail-item strong{color:#374151;font-weight:600}.employee-detail-separator{color:#d1d5db;font-weight:300}.details-employee-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.details-employee-name{font-weight:600;color:#1f2937;margin-bottom:.25rem}.memo-search-section .sort-tab{background:#f3f4f6;color:#374151;border-radius:6px}.memo-search-section .sort-tab-active{background:#10b981;color:#fff}.memo-selection-display{margin-bottom:1.5rem}.memo-selection-label{display:flex;align-items:center;font-weight:600;color:#374151;font-size:.9rem;margin-bottom:.75rem}.selected-memo-info{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:12px;padding:1.25rem;display:flex;align-items:center;justify-content:space-between;transition:all .2s ease;box-shadow:0 2px 8px #0000000d}.selected-memo-info:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014}.selected-memo-content{flex:1;min-width:0}.selected-memo-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem;gap:1rem}.selected-memo-title{font-weight:600;color:#1e293b;font-size:1rem;line-height:1.4;flex:1;min-width:0}.selected-memo-number{background:#10b981;color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap;flex-shrink:0}.selected-memo-details{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.selected-memo-date,.selected-memo-status{display:flex;align-items:center;gap:.375rem;font-size:.8rem;color:#64748b}.selected-memo-date svg,.selected-memo-status svg{color:#94a3b8}.selected-memo-status{color:#059669}.selected-memo-status svg{color:#10b981}.selected-memo-actions{flex-shrink:0;margin-left:1rem}.change-memo-btn{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.625rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #10b98133}.change-memo-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 8px #10b9814d}.change-memo-btn:active{transform:translateY(0)}.change-memo-btn svg{width:14px;height:14px}@media (max-width: 768px){.selected-memo-info{flex-direction:column;align-items:stretch;gap:1rem}.selected-memo-header{flex-direction:column;align-items:flex-start;gap:.5rem}.selected-memo-details{gap:1rem}.selected-memo-actions{margin-left:0;align-self:stretch}.change-memo-btn{justify-content:center;width:100%}.attachment-status-indicator{padding:1px 4px;font-size:.65rem;margin-left:4px}.attachment-status-indicator svg{width:10px;height:10px}}.infinite-scroll-loader{display:flex;justify-content:center;align-items:center;padding:20px;min-height:60px}.loading-spinner-small{display:flex;align-items:center;gap:12px;color:#059669;font-size:14px;font-weight:500}.spinner-small{width:20px;height:20px;border:2px solid #e5e7eb;border-top:2px solid #059669;border-radius:50%;animation:spin 1s linear infinite}.load-more-trigger{color:#6b7280;font-size:14px;opacity:.6}.end-of-results{display:flex;justify-content:center;align-items:center;padding:20px;color:#6b7280;font-size:14px;font-style:italic;border-top:1px solid #f3f4f6;margin-top:20px}body{background:#f8fafc}.leave-request-container{max-width:none;width:calc(100% - var(--sidebar-width));margin-left:var(--sidebar-width);background:transparent;border-radius:0;box-shadow:none;padding:24px 28px 64px;border:none;box-sizing:border-box;overflow-x:hidden}@media (max-width: 768px){.leave-request-container{width:100%;margin-left:0;padding:16px 12px 64px;box-sizing:border-box;overflow-x:hidden}}.leave-request-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:0;padding-left:0}.leave-request-title{font-size:2.1rem;font-weight:700;color:#14532d;margin-bottom:8px;text-align:left}.leave-request-subtitle{font-size:1.1rem;color:#388e3c;margin-bottom:36px;text-align:left}@media (max-width: 768px){.leave-request-title{font-size:1.8rem;margin-bottom:6px}.leave-request-subtitle{font-size:1rem;margin-bottom:24px}}.leave-request-actions{margin-bottom:32px;display:flex;justify-content:flex-start}.leave-request-actions-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.leave-request-actions-left{display:flex;align-items:center;flex:1}.leave-request-actions-right{display:flex;align-items:center}.leave-search{display:flex;gap:8px;align-items:center;width:30%}.leave-search-input{flex:1;width:100%;max-width:none;min-width:0;padding:12px 16px 12px 44px;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;background:#f8fafc;color:#1e293b;transition:all .2s ease;outline:none;position:relative;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cpath d='m21 21-4.35-4.35'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center}.leave-search-input:focus{border-color:#22c55e;box-shadow:0 0 0 6px #22c55e0f;background-color:#fff}.leave-search-input::placeholder{color:#94a3b8}.leave-search-btn,.leave-search-clear{padding:10px 12px;border-radius:8px;border:none;cursor:pointer;font-weight:600}.leave-search-btn{background:#10b981;color:#fff}.leave-search-clear{background:#f3f4f6;color:#374151}@media (max-width: 768px){.leave-request-actions-bar{flex-direction:column;gap:12px;align-items:stretch;margin-bottom:16px}.leave-request-actions-left{order:2;flex:1}.leave-request-actions-right{justify-content:stretch;order:1;flex:1}.leave-search{width:100%}.leave-search-input{min-width:0;font-size:.9rem;padding:10px 14px 10px 40px}.leave-request-create-btn{width:100%;font-size:1rem;padding:12px 24px}}@media (max-width: 600px){.leave-request-actions-bar{gap:10px;margin-bottom:12px}.leave-request-create-btn{width:100%;font-size:.95rem;padding:10px 16px}.leave-search-input{font-size:.85rem;padding:8px 12px 8px 36px}.leave-search-btn,.leave-search-clear{padding:8px 10px;font-size:.8rem}}.leave-request-controls-bar{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:8px 0 12px}.leave-request-controls-right{display:flex;align-items:center;gap:10px}.status-sort-label{color:#374151;font-weight:600}.status-sort-select{padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#374151;font-size:.95rem}.status-sort-select.department-filter-select{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-sort-select:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 4px #22c55e1f}.refresh-btn{padding:8px 12px;border-radius:8px;border:none;background:#10b981;color:#fff;font-weight:600;cursor:pointer;transition:background .18s ease,box-shadow .18s ease,transform .12s ease}.refresh-btn:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b98138}.refresh-btn:active{transform:translateY(0);box-shadow:none}.archive-btn{padding:8px 12px;border-radius:8px;border:none;background:#6366f1;color:#fff;font-weight:600;cursor:pointer;transition:background .18s ease,box-shadow .18s ease,transform .12s ease}.archive-btn:hover{background:#4f46e5;transform:translateY(-1px);box-shadow:0 4px 12px #6366f138}.archive-btn:active{transform:translateY(0);box-shadow:none}.table-action-btn.archive{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none}.table-action-btn.archive:hover{background:linear-gradient(135deg,#4f46e5,#4338ca)}.archive-bulk-btn{padding:8px 14px;border-radius:8px;border:none;background:#6366f1;color:#fff;font-weight:600;font-size:.85rem;cursor:pointer;transition:background .18s ease}.archive-bulk-btn:hover{background:#4f46e5}.archive-bulk-btn:disabled{background:#a5b4fc;cursor:not-allowed}.archive-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}.archive-modal{background:#fff;border-radius:16px;width:min(95vw,1100px);max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000040;border:1px solid #e5e7eb;position:relative}.archive-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px 12px;border-bottom:1px solid #e5e7eb}.archive-modal-title{font-weight:700;font-size:1.2rem;color:#14532d}.archive-modal-subtitle{font-size:.9rem;color:#6b7280;margin-top:4px}.archive-modal-close{position:absolute;top:10px;right:10px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#6b7280;cursor:pointer;line-height:1;padding:0;transition:background .15s ease,color .15s ease}.archive-modal-close:hover{background:#e5e7eb;color:#374151}.archive-modal-body{flex:1;overflow-y:auto;padding:16px 24px 24px}@media (max-width: 768px){.archive-modal{width:98vw;max-height:90vh;border-radius:12px}.archive-modal-header{padding:16px 16px 10px;flex-direction:column;gap:10px}.archive-modal-body{padding:12px 12px 16px}.archive-btn{padding:8px 12px;font-size:.85rem;white-space:nowrap;flex-shrink:0}}@media (max-width: 768px){.leave-request-controls-bar{justify-content:center;margin:6px 0 12px;flex-wrap:wrap;gap:6px}.leave-request-controls-right{display:flex;flex-direction:row;gap:6px;align-items:center;width:100%;justify-content:flex-start;flex-wrap:wrap}.status-sort-label{font-size:.75rem;margin-right:2px;white-space:nowrap;font-weight:500;display:none}.status-sort-select{font-size:.75rem;padding:5px 6px;flex:0 1 auto;min-width:0;max-width:none;height:28px;border-radius:6px;min-width:90px}.refresh-btn,.archive-btn{padding:5px 8px;font-size:.75rem;white-space:nowrap;flex-shrink:0;height:28px;border-radius:6px}}@media (max-width: 600px){.leave-request-controls-bar{flex-direction:row;gap:6px;flex-wrap:wrap;margin-bottom:8px}.leave-request-controls-right{flex-direction:row;width:100%;justify-content:flex-start;gap:6px;flex-wrap:wrap}.status-sort-label{font-size:.65rem;margin-right:0;display:none;margin-bottom:1px;font-weight:600}.status-sort-select{width:auto;font-size:.65rem;padding:3px 4px;height:26px;border-radius:5px;flex:0 1 auto;min-width:80px}.refresh-btn,.archive-btn{width:auto;font-size:.65rem;padding:3px 6px;height:26px;border-radius:5px;white-space:nowrap}}@media (max-width: 480px){.leave-request-controls-bar{gap:4px;margin-bottom:6px}.leave-request-controls-right{gap:4px}.status-sort-select,.refresh-btn,.archive-btn{font-size:.6rem;padding:2px 3px;height:24px;min-width:70px}}.leave-request-table th:nth-child(1){width:24%}.leave-request-table th:nth-child(2){width:16%}.leave-request-table th:nth-child(3){width:10%}.leave-request-table th:nth-child(4){width:16%}.leave-request-table th:nth-child(5){width:14%}.leave-request-table th:nth-child(6){width:10%}.leave-request-table th:nth-child(7){width:180px}.table-actions{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:6px}.table-action-btn{padding:8px 14px;font-size:.8rem;white-space:nowrap;display:inline-flex;align-items:center;gap:8px;border-radius:8px;width:auto;min-width:0}.table-action-icon{width:16px;height:16px;display:inline-block}@media (max-width: 380px){.table-action-btn{padding:6px 8px;font-size:.75rem}}@media (max-width: 768px){.leave-request-table-wrapper{border-radius:8px;margin:0 -4px}.leave-request-table th,.leave-request-table td{padding:8px 6px;font-size:.8rem}.leave-request-table thead th{font-size:.8rem;padding:10px 6px}.leave-request-table th:nth-child(1){width:20%}.leave-request-table th:nth-child(2){width:12%}.leave-request-table th:nth-child(3){width:15%}.leave-request-table th:nth-child(4){width:8%}.leave-request-table th:nth-child(5){width:12%}.leave-request-table th:nth-child(6){width:10%}.leave-request-table th:nth-child(7){width:8%}.leave-request-table th:nth-child(8){width:8%}.leave-request-table th:nth-child(9){width:150px}.table-actions{gap:4px;flex-wrap:nowrap;justify-content:center}.table-action-btn{padding:6px 8px;font-size:.75rem;gap:4px;min-width:60px}.table-action-icon{width:14px;height:14px}.table-status-badge{font-size:.7rem;padding:2px 6px}}@media (max-width: 480px){.leave-request-table th,.leave-request-table td{padding:6px 4px;font-size:.75rem}.table-action-btn{padding:4px 6px;font-size:.7rem;min-width:50px}.table-action-icon{width:12px;height:12px}}.leave-request-create-btn{background:linear-gradient(90deg,#22c55e,#16a34a);color:#fff;font-weight:600;font-size:1.13rem;border:none;border-radius:8px;padding:14px 38px;cursor:pointer;transition:background .18s,box-shadow .18s;box-shadow:0 2px 12px #22c55e21;letter-spacing:.01em;width:auto;min-width:200px}.leave-request-create-btn:hover{background:linear-gradient(90deg,#16a34a,#22c55e);transform:translateY(-1px);box-shadow:0 4px 16px #22c55e33}.leave-request-actions-right .leave-request-create-btn{position:static;box-shadow:0 8px 26px #10b9812e}@media (max-width: 600px){.leave-request-actions-right .leave-request-create-btn{position:static;width:100%;box-shadow:0 2px 12px #22c55e21}}.leave-request-error{color:#dc2626;background:#fef2f2;border:1.5px solid #fecaca;border-radius:8px;padding:14px 22px;margin:22px 0 0;font-size:1.09rem}.leave-request-success{color:#059669;background:#ecfdf5;border:1.5px solid #a7f3d0;border-radius:8px;padding:14px 22px;margin:22px 0 0;font-size:1.09rem}.leave-request-list-section{margin-top:24px;margin-left:0;margin-right:0;width:100%;max-width:none}.leave-request-table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fff;border-radius:12px;box-shadow:0 4px 16px #00000014;border:1px solid #e5e7eb}.leave-request-table{width:100%;max-width:100%;min-width:0;border-collapse:collapse;background:#fff;table-layout:auto}.leave-request-table th,.leave-request-table td{padding:12px 16px;border-bottom:1px solid #e5e7eb;color:#374151;font-size:.9rem;vertical-align:middle;word-break:break-word}.leave-request-table thead th{background:#374151;color:#fff;text-align:left;font-weight:600;font-size:.9rem;border-bottom:2px solid #1f2937;white-space:nowrap}@media (max-width: 1200px){.leave-request-container{width:calc(100% - 220px);padding:20px 20px 48px}}@media (max-width: 900px){.leave-request-container{margin-left:0;width:100%;padding:12px 16px 32px}.leave-request-table th:nth-child(2){width:22%}.leave-request-table th:nth-child(6){width:28%}}@media (max-width: 768px){.leave-request-table{font-size:.85rem}.leave-request-table th,.leave-request-table td{padding:6px 4px;font-size:.75rem}.table-actions{flex-direction:row;flex-wrap:nowrap;gap:4px;align-items:center}.table-action-btn{padding:6px 8px;font-size:.75rem;width:auto;justify-content:center}}.table-action-btn.approve{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;box-shadow:0 2px 6px #10b98126}.table-action-btn.approve:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 6px 14px #10b98140}.table-action-btn.cancel{background:linear-gradient(135deg,#fff7ed,#ffedd5);color:#b45309;border:1px solid #fed7aa;box-shadow:0 2px 6px #f59e0b1f}.table-action-btn.cancel:hover:not(:disabled){background:linear-gradient(135deg,#f59e0b,#d97706);color:#111827;transform:translateY(-1px);box-shadow:0 6px 14px #f59e0b3d;border-color:#f59e0b}.table-action-btn.delete{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff5f5,#fef2f2);color:#ef4444;border:1px solid #fecaca;box-shadow:0 2px 6px #ef444414}.table-action-btn.delete:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transition:left .5s ease}.table-action-btn.delete:hover:before{left:100%}.table-action-btn.delete:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;border-color:#dc2626;transform:translateY(-1px) scale(1.02);box-shadow:0 6px 14px #ef444438}.table-action-btn.delete:active{transform:translateY(0) scale(.99)}.table-action-btn.delete:disabled,.table-action-btn.cancel:disabled,.table-action-btn.approve:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.table-action-btn.view{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none}.table-action-btn.view:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.leave-request-table th:nth-child(4),.leave-request-table td:nth-child(4),.leave-request-table th:nth-child(5),.leave-request-table td:nth-child(5),.leave-request-table th:nth-child(6),.leave-request-table td:nth-child(6){text-align:center}.leave-request-table td:nth-child(4),.leave-request-table td:nth-child(5),.leave-request-table td:nth-child(6){white-space:nowrap;word-break:normal}.table-status-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-weight:600;font-size:.8rem;text-transform:capitalize;white-space:nowrap;line-height:1;min-width:96px;border:1px solid transparent}.table-status-badge.approved{background:#ecfdf5;color:#065f46;border-color:#bbf7d0}.table-status-badge.pending{background:#fff7ed;color:#b45309;border-color:#fed7aa}.table-status-badge.denied{background:#fff1f2;color:#991b1b;border-color:#fecaca}.table-status-badge.revoked{background:#f3f4f6;color:#374151;border-color:#d1d5db}@media (max-width: 600px){.leave-request-table td:nth-child(3){white-space:nowrap}.leave-request-table td:nth-child(4),.leave-request-table td:nth-child(5){font-size:.78rem}}@media (max-width: 768px){.leave-card-grid{grid-template-columns:1fr;gap:1rem}.leave-card{min-height:200px}.leave-card-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem .5rem}.leave-card-footer{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.75rem 1.25rem}}.leave-card:focus{outline:2px solid #3b82f6;outline-offset:2px}.leave-request-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#6b7280}.leave-request-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top:3px solid #22c55e;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}.leave-request-loading-text{font-size:.9rem;color:#6b7280}.leave-request-placeholder{text-align:center;padding:40px 20px;color:#6b7280;font-size:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.leave-request-list-title{font-size:1.5rem;font-weight:600;color:#14532d;margin-bottom:16px}@media (max-width: 768px){.leave-request-loading{padding:30px 16px}.leave-request-placeholder{padding:30px 16px;font-size:.9rem}.leave-request-list-title{font-size:1.3rem;margin-bottom:12px}.leave-request-loading-text{font-size:.85rem}}@media (max-width: 768px){div[style*="position: fixed"][style*="rgba(0,0,0,0.35)"],div[style*="position: fixed"][style*="rgba(0,0,0,0.5)"]{padding:10px!important}div[style*="position: fixed"]>div[style*="background: #ffffff"]{width:calc(100vw - 20px)!important;max-width:none!important;margin:0!important;border-radius:8px!important}}.memo-modal.memo-modal-large{max-width:1000px;min-width:700px;width:95vw;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000002e;padding:0;display:flex;flex-direction:column;animation:fadeIn .2s;position:relative;z-index:10000}.memo-modal-form.memo-modal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 24px;padding:24px 32px 0}.memo-modal-form-col{display:flex;flex-direction:column;gap:18px}.memo-form-section{background:#fafbfc;border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin-bottom:20px}.memo-section-title{color:#14532d;font-size:1.1rem;font-weight:700;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #22c55e}.memo-three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}@media (max-width: 768px){.memo-three-col{grid-template-columns:1fr}}.memo-modal-header{padding:20px 32px 0;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;justify-content:space-between}.memo-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 32px 24px;border-top:1px solid #f0f0f0;background:#fafbfc;border-radius:0 0 16px 16px}@media (max-width: 900px){.memo-modal.memo-modal-large{min-width:unset;width:98vw;max-width:99vw}.memo-modal-form.memo-modal-form-grid{grid-template-columns:1fr;padding:18px 16px 0;gap:18px 0}.memo-modal-header,.memo-modal-footer{padding-left:16px;padding-right:16px}.memo-form-section{padding:16px}}.memo-modal-form-col:not(:last-child){border-right:1px solid #f0f0f0;padding-right:18px}@media (max-width: 900px){.memo-modal-form-col:not(:last-child){border-right:none;padding-right:0}}.memo-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:fadeIn .2s ease-out}.memo-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:10000}.memo-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:#fff;border-bottom:1px solid #e0e0e0}.memo-modal-close{background:none;border:none;font-size:1.8rem;color:#6b7280;width:40px;height:40px;border-radius:8px;cursor:pointer;transition:all .2s}.memo-modal-form{padding:1.5rem;overflow-y:auto;flex:1;max-height:calc(90vh - 140px);scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.memo-form-section{display:flex;flex-direction:column;gap:12px}.memo-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.memo-section-divider{height:1px;background:#e5e7eb;margin:12px 0 16px}.memo-form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#374151;font-size:.95rem}.memo-form-group input{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;background:#f8fafc;transition:all .2s ease}.memo-form-group input:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a;background-color:#fff}.memo-form-group input::placeholder{color:#9ca3af}.memo-form-select{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;background:#f8fafc;transition:all .2s ease;cursor:pointer}.memo-form-select:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a;background-color:#fff}.memo-form-select option{padding:.5rem;background:#fff;color:#374151}.memo-form-select option:hover{background:#f3f4f6}.memo-radio-group{display:flex;gap:16px;flex-wrap:wrap}.memo-radio-label{display:flex;align-items:center;gap:6px;color:#374151}.memo-checkbox-group{display:flex;flex-direction:column;gap:12px;margin-top:8px}.memo-checkbox-group{margin-left:0;padding-left:0}.memo-checkbox-group .memo-checkbox-label{margin-left:0!important}.memo-checkbox-label{display:flex;align-items:center;gap:8px;color:#374151;font-size:.95rem;cursor:pointer;padding:4px 0}.memo-checkbox-label input[type=checkbox]{width:auto;margin:0;accent-color:#22c55e;transform:scale(1.1)}.memo-checkbox-label:hover{color:#14532d}.memo-stack{display:flex;flex-direction:column;gap:8px}.memo-form-error{border-color:#ef4444!important;background-color:#fef2f2!important}.memo-form-error:focus{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef44441a!important}.memo-validation-error{color:#ef4444;font-size:.85rem;margin-top:.25rem;font-weight:500}.memo-form-help-text{color:#6b7280;font-size:.85rem;margin-top:.25rem;font-style:italic}.memo-multiple-date-row{display:flex;gap:8px;align-items:center}.memo-multiple-date-row input[type=date]{flex:1}.memo-add-date-btn{border:none;border-radius:7px;padding:.46rem .72rem;background:#15803d;color:#fff;font-weight:600;font-size:.82rem;line-height:1.2;width:auto;min-width:92px;flex:0 0 auto;cursor:pointer;transition:background .18s ease}.memo-add-date-btn:hover{background:#166534}.memo-multiple-date-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}.memo-multiple-date-summary{color:#166534;font-size:.78rem;font-weight:700;margin-bottom:2px}.memo-multiple-date-items{display:flex;flex-wrap:wrap;gap:8px}.memo-multiple-date-item{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;padding:6px 9px;background:#f8fafc;border:1px solid #d1fae5;border-radius:999px}.memo-multiple-date-text{color:#14532d;font-size:.86rem;font-weight:600;white-space:nowrap}.memo-multiple-date-remove{border:none;background:transparent;color:#b91c1c;border-radius:999px;cursor:pointer;width:20px!important;height:20px!important;min-width:20px!important;max-width:20px!important;padding:0!important;line-height:1;display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 20px}.memo-multiple-date-remove:hover{background:#fee2e2}.memo-multiple-date-remove svg{width:13px;height:13px;display:block}.file-upload-wrapper{display:flex;align-items:center;gap:12px;margin-top:4px}.file-upload-input{padding:8px 0;border:none;background:none;font-size:1rem;color:#14532d;cursor:pointer}.file-upload-input::-webkit-file-upload-button{background:linear-gradient(90deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:6px;padding:8px 16px;font-weight:600;font-size:.9rem;cursor:pointer;transition:background .2s;margin-right:10px}.file-upload-input:hover::-webkit-file-upload-button{background:linear-gradient(90deg,#16a34a,#22c55e)}.file-upload-filename{color:#15803d;font-size:.9rem;font-weight:500;background:#e0f7ef;border-radius:6px;padding:4px 12px;border:1.5px solid #bbf7d0;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memo-error-message{color:#dc2626;background:#fef2f2;border:1.5px solid #fecaca;border-radius:8px;padding:12px 16px;margin-top:1rem;font-size:.9rem}.memo-modal-footer{display:flex;gap:1rem;justify-content:flex-end;padding:1.25rem 1.5rem;background:#f9fafb;border-top:1px solid #e5e7eb}.memo-btn{padding:.75rem 1.5rem;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.95rem}.memo-btn-cancel{background:#f3f4f6;color:#6b7280}.memo-btn-cancel:hover{background:#e5e7eb;color:#374151}.memo-btn-create{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.memo-btn-create:hover{background:linear-gradient(135deg,#16a34a,#22c55e);transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d}.memo-btn-create:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 640px){.memo-modal{max-width:95vw;max-height:95vh}.memo-modal-header{padding:1rem}.memo-modal-header h2{font-size:1.25rem}.memo-modal-form{padding:1rem}.memo-modal-footer{padding:1rem;flex-direction:column}.memo-btn{width:100%;padding:.875rem 1rem}.file-upload-wrapper{flex-direction:column;align-items:flex-start;gap:8px}.file-upload-filename{max-width:100%}.memo-two-col{grid-template-columns:1fr}}.sc-container{min-height:100vh;margin-left:var(--sidebar-width);padding:48px 64px;background:linear-gradient(135deg,#f6f8fa 70%,#e8f5e9);box-sizing:border-box;overflow-x:hidden}.sc-tab-bar{display:flex;gap:0;margin-bottom:18px;align-items:center;flex-wrap:nowrap}.sc-tab{flex:1 1 0;padding:10px 4px;border:1px solid #ddd;border-radius:0;background:transparent;color:#666;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;text-align:center}.sc-tab:hover{background:#e8f0fe;color:#1976d2}.sc-tab--active{background:#1976d2;color:#fff;border-color:#1976d2}.sc-tab--active:hover{background:#145da0;color:#fff}.sc-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:0;padding-left:0}.sc-title{font-size:2.1rem;font-weight:700;color:#14532d;margin:0 0 8px;text-align:left}.sc-subtitle{font-size:1.1rem;color:#388e3c;margin:0 0 36px;text-align:left}.sc-total-card{background:#fff;border:1px solid #e0e0e0;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000000f;max-width:420px;position:relative}.sc-total-label{font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:#666}.sc-total-value{font-size:48px;font-weight:600;color:#1976d2;margin:10px 0 4px}.sc-toggle-btn{background:#1976d2;color:#fff;border:none;padding:8px 14px;border-radius:4px;cursor:pointer;font-size:14px}.sc-toggle-btn:hover{background:#145da0}.sc-adjust-btn{background:#1976d2;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;display:inline-flex;align-items:center;justify-content:center;width:auto}.sc-adjust-btn:hover{background:#145da0}.sc-edit-btn{background:transparent;border:none;color:#3b82f6;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.sc-edit-btn:hover{background:#dbeafe;color:#2563eb}.sc-delete-btn{background:transparent;border:none;color:#ef4444;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.sc-delete-btn:hover{background:#fee2e2;color:#dc2626}.sc-delete-solid-btn{background:#ef4444;color:#fff;border:none;border-radius:6px;padding:8px 12px;cursor:pointer;font-weight:500}.sc-delete-solid-btn:hover:not(:disabled){background:#dc2626}.sc-delete-solid-btn:disabled{opacity:.6;cursor:not-allowed}.sc-employee-search{padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px;background:#fff;min-width:160px}.sc-employee-search:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.sc-department-filter{padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px;background:#fff;cursor:pointer;min-width:140px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sc-department-filter:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.sc-error{color:#c62828}.sc-success{color:#2e7d32}.sc-admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:16px}.sc-admin-controls,.sc-filter-adjust-group{display:flex;align-items:center;gap:12px}.sc-transactions{margin-top:28px}.sc-subtitle{margin:0 0 12px;font-size:20px}.sc-empty{padding:20px;background:#fafafa;border:1px dashed #ccc;border-radius:6px}.sc-table{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 2px 4px #0000000d;table-layout:fixed}.sc-table th,.sc-table td{padding:10px 12px;border:1px solid #e5e5e5;text-align:left;font-size:14px;word-wrap:break-word;overflow-wrap:break-word}.sc-table th{background:#f5f5f5;font-weight:600}.sc-table tbody tr:hover{background:#f0f7ff}.sc-table .clickable{cursor:pointer}.sc-table .clickable:hover{background:#e8f0fe}.sc-infinite-sentinel{margin-top:12px;text-align:center;color:#666;font-size:13px;padding:10px 0}@media (max-width: 1100px){.sc-container{margin-left:min(var(--sidebar-width),200px);padding:40px}}@media (max-width: 900px){.sc-container{margin-left:0;padding:32px 24px}.sc-tab-bar{flex-wrap:wrap;gap:0}.sc-tab{flex:1 1 50%;min-width:0;padding:8px 6px;font-size:12px;box-sizing:border-box}.sc-tab:first-child{flex:1 1 100%}.sc-admin-header{flex-direction:column;align-items:stretch;gap:12px}.sc-admin-controls{justify-content:center;flex-wrap:wrap;gap:8px}.sc-employee-search,.sc-department-filter{min-width:auto;flex:1;max-width:180px}}@media (max-width: 480px){.sc-tab{padding:6px 4px;font-size:10px}}@media (max-width: 600px){.sc-total-value{font-size:40px}.sc-table th,.sc-table td{font-size:12px;padding:8px 6px}.sc-admin-controls{flex-direction:column;gap:8px}.sc-employee-search{width:100%;max-width:none}.sc-filter-adjust-group{width:100%;gap:8px;flex-wrap:wrap}.sc-department-filter{flex:1;max-width:none;min-width:0}.sc-adjust-btn{flex:0 0 auto;white-space:nowrap}}.sc-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.sc-modal{background:#fff;width:min(1000px,92vw);max-height:85vh;border-radius:8px;border:1px solid #e0e0e0;box-shadow:0 12px 30px #0003;display:flex;flex-direction:column}.sc-modal-header{padding:14px 18px;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between}.sc-modal-title{margin:0;font-size:18px}.sc-modal-close{background:none;border:none;font-size:22px;cursor:pointer;line-height:1}.sc-modal-body{padding:16px 18px;overflow:auto}.sc-modal-footer{padding:12px 18px;border-top:1px solid #eee;display:flex;justify-content:flex-end}.sc-modal-input{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;padding:9px 10px;font-size:14px}.sc-modal-input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.sc-password-input-wrapper{position:relative}.sc-password-input-wrapper .sc-modal-input{width:100%;padding-right:44px}.sc-password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;margin:0!important;padding:0!important;border:none!important;border-radius:999px;background:transparent!important;box-shadow:none!important;color:#94a3b8;display:inline-flex!important;align-items:center;justify-content:center;cursor:pointer;z-index:2}.sc-password-toggle:hover,.sc-password-toggle:focus,.sc-password-toggle:active,.sc-password-toggle:focus-visible{background:transparent!important;box-shadow:none!important;color:#2e7d32}.sc-password-toggle:disabled{opacity:.55;cursor:not-allowed}.settings-list-item:hover,.settings-btn:hover{background:#f3f4f6}.settings-list-item{width:100%;max-width:none;box-sizing:border-box}.settings-container{min-height:100vh;margin-left:var(--sidebar-width);padding:48px 64px;background:linear-gradient(135deg,#f6f8fa 70%,#e8f5e9);box-sizing:border-box}.settings-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:0;padding-left:0}.settings-title{font-size:2.1rem;font-weight:700;color:#14532d;margin:0 0 8px;text-align:left}.settings-subtitle{font-size:1.1rem;color:#388e3c;margin:0 0 36px;text-align:left}.settings-section{margin-top:12px}.settings-section-title{font-size:1.25rem;margin:0 0 12px;color:#14532d}.settings-muted{color:#64748b}.settings-error-text{color:#c62828}.settings-profile-card{background:#fff;box-shadow:0 8px 32px #43a04721,0 2px 8px #1e293b0f;padding:32px 28px 28px;border:1.5px solid #e5e7eb;position:relative;margin-bottom:12px;overflow:hidden}.settings-profile-header{display:flex;align-items:center;gap:24px;padding-bottom:24px;margin-bottom:24px;border-bottom:1.5px solid #e5e7eb}.settings-profile-avatar{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,#e8f5e9,#a5d6a7);display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700;color:#1b5e20;flex-shrink:0;border:3px solid #43a047;box-shadow:0 2px 12px #43a0471a}.settings-profile-avatar-wrapper{position:relative;flex-shrink:0}.settings-profile-avatar-img{width:88px;height:88px;border-radius:50%;object-fit:cover;border:3px solid #43a047;box-shadow:0 2px 12px #43a0471a;display:block}.settings-profile-avatar-edit{position:absolute;bottom:0;right:0;width:30px;height:30px;border-radius:50%;background:#2e7d32;color:#fff;border:2px solid #fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;box-shadow:0 2px 6px #00000026;transition:background .2s}.settings-profile-avatar-edit:hover{background:#1b5e20}.settings-profile-avatar-edit:disabled{background:#a5d6a7;cursor:not-allowed}.settings-profile-pic-actions{display:flex;gap:8px;margin-top:8px}.settings-btn-sm{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;padding:4px 12px;font-size:.82rem;font-weight:600;cursor:pointer;border-radius:4px;transition:background .2s}.settings-btn-sm:hover{background:#c8e6c9}.settings-btn-sm:disabled{opacity:.6;cursor:not-allowed}.settings-btn-sm-danger{background:#ffebee;color:#c62828;border-color:#ef9a9a}.settings-btn-sm-danger:hover{background:#ffcdd2}.settings-profile-name{font-weight:700;font-size:1.5rem;color:#1e293b;margin:0 0 4px;letter-spacing:.5px}.settings-profile-email{color:#388e3c;font-size:1rem;margin:4px 0 0;font-weight:500}.settings-profile-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:8px}.settings-profile-detail-item{background:#f8fafc;padding:16px 14px;border:1.5px solid #e2e8f0;box-shadow:0 2px 8px #43a0470f}.settings-profile-detail-item strong{color:#388e3c;font-weight:700;font-size:.9rem;display:block;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.settings-profile-detail-item span{color:#1e293b;font-size:1.02rem;font-weight:500}.settings-profile-edit-top{position:absolute;top:16px;right:16px;z-index:2}.settings-profile-edit-modal{max-width:620px}.settings-profile-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.settings-profile-edit-grid label{display:block;margin-bottom:6px}.settings-profile-input{width:100%;box-sizing:border-box;padding:10px 12px;border:1.5px solid #e2e8f0;background:#f8fafc;font-size:.95rem}.settings-profile-input:disabled{opacity:.85;cursor:not-allowed}.settings-profile-save-success{color:#166534;background:#ecfdf5;border:1px solid #86efac;padding:8px 10px;margin-bottom:10px}.dept-row{display:flex;gap:10px;margin:8px 0 14px;justify-content:flex-end}.dept-input{flex:0 1 320px;padding:10px 12px;border:1.5px solid #e2e8f0;background:#f8fafc;font-size:.98rem}.settings-textarea{width:100%;min-height:160px;padding:10px 12px;border:1.5px solid #e2e8f0;background:#f8fafc;font-size:.98rem;box-sizing:border-box;resize:none}.dept-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#2e7d32;color:#fff;border:none;cursor:pointer}.dept-button:disabled{background:#a5d6a7;cursor:not-allowed}.dept-list{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-height:280px;overflow-y:auto;padding-right:6px}.dept-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f8fafc;border:1.5px solid #e2e8f0;min-height:48px}.dept-name{color:#1e293b;font-weight:600}.dept-item .dept-name{flex:1}.dept-edit{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:#2e7d32;color:#fff;border:none;padding:0;cursor:pointer}.dept-edit:disabled{background:#a5d6a7;cursor:not-allowed}.dept-delete{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:#c62828;color:#fff;border:none;padding:0;cursor:pointer}.dept-delete:disabled{background:#ef9a9a;cursor:not-allowed}.signatory-row{display:flex;gap:10px;margin:8px 0 14px;justify-content:flex-end}.signatory-select{flex:0 1 200px;padding:10px 12px;border:1.5px solid #e2e8f0;background:#f8fafc;font-size:.98rem}.signatory-input{flex:0 1 240px;padding:10px 12px;border:1.5px solid #e2e8f0;background:#f8fafc;font-size:.98rem}.signatory-list{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-height:280px;overflow-y:auto;padding-right:6px}.signatory-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f8fafc;border:1.5px solid #e2e8f0;min-height:48px}.signatory-info{flex:1;display:flex;flex-direction:column;gap:2px}.signatory-name{color:#1e293b;font-weight:600;font-size:.95rem}.signatory-dept{color:#64748b;font-size:.85rem}.settings-admin-officer-section{margin-top:4px}.settings-admin-officer-list{display:flex;flex-direction:column;gap:4px}.settings-admin-officer-row{align-items:center;flex-wrap:wrap;margin:2px 0;width:100%}.settings-admin-officer-campus{min-width:180px;color:#1e293b;font-weight:600}.settings-admin-officer-row .dept-input{flex:1 1 280px}.settings-admin-officer-row-superadmin{display:grid;grid-template-columns:190px minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:center;flex-wrap:nowrap}.settings-admin-officer-row-superadmin .dept-input{width:100%;min-width:0;flex:initial}.settings-campus-director-row-superadmin{display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:10px;align-items:center;flex-wrap:nowrap}.settings-campus-director-row-superadmin .dept-input{width:100%;min-width:0;flex:initial}.settings-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.settings-modal{background:#fff;width:90%;max-width:420px;box-shadow:0 10px 40px #0003;border:1px solid #e5e7eb}.settings-modal-header{padding:14px 16px;border-bottom:1px solid #e5e7eb}.settings-modal-body{padding:16px;color:#1e293b}.settings-modal-actions{padding:12px 16px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:10px}.settings-btn{background:#e5e7eb;color:#111827;border:none;padding:8px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;width:auto;max-width:max-content;white-space:nowrap}.settings-btn-primary{background:#2e7d32;color:#fff;border:none;padding:8px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;width:auto;max-width:max-content;white-space:nowrap}.settings-btn-danger{background:#c62828;color:#fff;border:none;padding:8px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;width:auto;max-width:max-content;white-space:nowrap}.settings-profile-card .settings-btn,.settings-profile-card .settings-btn-primary,.settings-profile-card .settings-btn-danger{width:auto!important}.settings-btn:disabled,.settings-btn-primary:disabled,.settings-btn-danger:disabled{opacity:.7;cursor:not-allowed}.settings-back{display:inline-flex;align-items:center;gap:8px;width:fit-content}.settings-back svg{font-size:1.1rem}.settings-password-strength{margin-top:8px}.settings-password-input-wrapper{position:relative}.settings-password-input-wrapper .dept-input{width:100%;padding-right:44px}.settings-password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;margin:0!important;padding:0!important;border:none!important;border-radius:999px;background:transparent!important;box-shadow:none!important;color:#94a3b8;display:inline-flex!important;align-items:center;justify-content:center;cursor:pointer;z-index:2}.settings-password-toggle:hover,.settings-password-toggle:focus,.settings-password-toggle:active,.settings-password-toggle:focus-visible{background:transparent!important;box-shadow:none!important;color:#2e7d32}.settings-password-toggle:disabled{opacity:.55;cursor:not-allowed}.settings-password-strength-track{width:100%;height:6px;background:#e5e7eb;border-radius:999px;overflow:hidden}.settings-password-strength-fill{height:100%;width:0;transition:width .2s ease,background-color .2s ease}.settings-password-strength-fill.is-weak{background:#c62828}.settings-password-strength-fill.is-fair{background:#ef6c00}.settings-password-strength-fill.is-good{background:#f9a825}.settings-password-strength-fill.is-strong{background:#2e7d32}.settings-password-strength-label{margin-top:6px;font-size:.82rem;font-weight:600}.settings-password-strength-label.is-weak{color:#c62828}.settings-password-strength-label.is-fair{color:#ef6c00}.settings-password-strength-label.is-good{color:#b26a00}.settings-password-strength-label.is-strong{color:#2e7d32}@media (max-width: 1100px){.settings-container{margin-left:200px;padding:40px}}@media (max-width: 900px){.settings-container{margin-left:0;padding:32px 24px}.settings-profile-edit-top{top:12px;right:12px}.settings-profile-card{padding:20px}.settings-profile-header{flex-direction:column;align-items:flex-start;gap:14px;padding-bottom:14px;margin-bottom:14px}.settings-profile-avatar{width:70px;height:70px;font-size:1.6rem;border-width:2.5px}.settings-profile-avatar-img{width:70px;height:70px;border-width:2.5px}.settings-profile-avatar-edit{width:26px;height:26px;font-size:12px}.settings-profile-name{font-size:1.25rem}.settings-profile-details{grid-template-columns:1fr;gap:12px}}@media (max-width: 600px){.settings-title{font-size:1.6rem}.settings-subtitle{font-size:.95rem;margin-bottom:24px}.settings-profile-edit-top{position:absolute;top:12px;right:12px;margin-bottom:0}.settings-profile-edit-grid{grid-template-columns:1fr}.settings-profile-card{padding:12px}.settings-profile-header{gap:10px;padding-bottom:10px;margin-bottom:10px}.settings-profile-avatar{width:48px;height:48px;font-size:1.1rem;border-width:2px}.settings-profile-avatar-img{width:48px;height:48px;border-width:2px}.settings-profile-avatar-edit{width:22px;height:22px;font-size:10px}.settings-profile-name{font-size:1.05rem}.settings-profile-detail-item{padding:10px}.settings-admin-officer-campus{min-width:100%}.settings-admin-officer-row-superadmin{grid-template-columns:1fr}}.settings-container h1{margin-bottom:8px}.settings-container h2{margin:0}.pds-card{background:#fff;box-shadow:0 8px 32px #43a04721,0 2px 8px #1e293b0f;padding:0;border:1.5px solid #e5e7eb;margin-top:16px;overflow:hidden;position:relative}.pds-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-bottom:1px solid #a5d6a7}.pds-header-left{display:flex;align-items:center;gap:10px;font-weight:600;color:#1b5e20;font-size:1.05rem}.pds-unsaved-badge{display:inline-flex;align-items:center;padding:2px 8px;background:#fff3e0;color:#c2410c;border:1px solid #fdba74;font-size:.74rem;font-weight:700;letter-spacing:.2px;text-transform:uppercase}.pds-header-right{display:flex;align-items:center;gap:8px}.pds-icon{font-size:1.3rem;color:#2e7d32}.pds-download-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#2e7d32;color:#fff;border:none;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s}.pds-download-btn:hover{background:#1b5e20}.pds-download-btn:disabled{background:#81c784;cursor:not-allowed}.pds-print-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#1565c0;color:#fff;border:none;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s}.pds-print-btn:hover{background:#0d47a1}.pds-print-btn:disabled{background:#90caf9;cursor:not-allowed}.pds-download-btn-pdf{background:#c62828}.pds-download-btn-pdf:hover{background:#b71c1c}.pds-download-btn-pdf:disabled{background:#ef9a9a}.pds-save-btn-header{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#1565c0;color:#fff;border:none;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s}.pds-save-btn-header:hover{background:#0d47a1}.pds-save-btn-header:disabled{background:#90caf9;cursor:not-allowed}.pds-content{padding:24px}.pds-section{margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid #e5e7eb}.pds-section:last-of-type{border-bottom:none;margin-bottom:0}.pds-section-title{font-size:1.1rem;font-weight:700;color:#14532d;margin:0 0 16px;display:flex;align-items:center;justify-content:space-between}.pds-subsection-title{font-size:.95rem;font-weight:600;color:#388e3c;margin:20px 0 12px;display:flex;align-items:center;justify-content:space-between}.pds-subsection-header{display:flex;align-items:center;justify-content:space-between;margin:20px 0 12px;gap:16px}.pds-subsection-title-inline{font-size:.95rem;font-weight:600;color:#388e3c;margin:0;flex:1}.pds-add-child-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px 12px;background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap;width:fit-content;max-width:120px;flex:0 0 auto}.pds-add-child-btn:hover{background:#c8e6c9}.pds-grid{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;align-items:flex-end}.pds-grid-item{background:#f8fafc;padding:12px;border:1px solid #e2e8f0;margin-bottom:8px}.pds-field{display:flex;flex-direction:column;flex:1;min-width:150px}.pds-field-sm{flex:0 0 100px;min-width:80px}.pds-field label{font-size:.82rem;font-weight:600;color:#64748b;margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}.pds-field input,.pds-field select{padding:8px 10px;border:1.5px solid #e2e8f0;background:#f8fafc;font-size:.95rem;color:#1e293b;transition:border-color .2s,box-shadow .2s}.pds-field input:focus,.pds-field select:focus{outline:none;border-color:#43a047;box-shadow:0 0 0 3px #43a0471a}.pds-field input:disabled,.pds-field select:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.pds-muted{color:#64748b;font-size:.9rem;font-style:italic}.pds-error{background:#ffebee;color:#c62828;padding:10px 16px;margin:0;font-size:.9rem}.pds-success{background:#e8f5e9;color:#2e7d32;padding:10px 16px;margin:0;font-size:.9rem}.pds-warning{background:#fff7ed;color:#9a3412;padding:10px 16px;margin:0;font-size:.9rem;border-top:1px solid #fed7aa;border-bottom:1px solid #fed7aa}.pds-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000061;display:flex;align-items:center;justify-content:center;z-index:2200;padding:16px}.pds-modal{width:min(92vw,460px);background:#fff;border:1px solid #e5e7eb;box-shadow:0 16px 40px #0f172a38}.pds-modal-header{padding:14px 16px;border-bottom:1px solid #e5e7eb}.pds-modal-header h4{margin:0;color:#14532d;font-size:1.02rem}.pds-modal-body{padding:16px;color:#334155}.pds-modal-body p{margin:0;line-height:1.4}.pds-modal-actions{padding:12px 16px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:10px}.pds-modal-btn,.pds-modal-btn-danger{border:none;padding:8px 12px;font-weight:600;cursor:pointer}.pds-modal-btn{background:#e5e7eb;color:#1f2937}.pds-modal-btn:hover{background:#d1d5db}.pds-modal-btn-danger{background:#b91c1c;color:#fff}.pds-modal-btn-danger:hover{background:#991b1b}.pds-add-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s}.pds-add-btn:hover{background:#c8e6c9}.pds-remove-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:#ffebee;color:#c62828;border:1px solid #ef9a9a;cursor:pointer;flex-shrink:0;align-self:flex-end;margin-bottom:0}.pds-remove-btn:hover{background:#ffcdd2}.pds-education-item{background:#fafafa;border:1px solid #e5e7eb;padding:16px;margin-bottom:12px}.pds-actions{display:flex;justify-content:flex-end;padding-top:16px;border-top:1px solid #e5e7eb;margin-top:16px}.pds-save-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;background:#2e7d32;color:#fff;border:none;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s}.pds-save-btn:hover{background:#1b5e20}.pds-save-btn:disabled{background:#81c784;cursor:not-allowed}@media (max-width: 768px){.pds-content{padding:16px}.pds-grid{flex-direction:column}.pds-field,.pds-field-sm{min-width:100%;flex:1 1 100%}.pds-header{flex-direction:column;gap:12px;align-items:flex-start}.pds-header-right{width:100%;justify-content:space-between}.pds-modal-actions{flex-direction:column-reverse}.pds-modal-btn,.pds-modal-btn-danger{width:100%}}.pds-back-to-top{position:fixed;bottom:30px;right:30px;width:44px;height:44px;background:#2e7d32;color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;cursor:pointer;box-shadow:0 4px 12px #2e7d3266;transition:background .2s,transform .2s;z-index:1000}.pds-back-to-top:hover{background:#1b5e20;transform:translateY(-2px)}.pds-date-accomplished{display:flex;justify-content:flex-end;padding-top:20px;margin-top:16px}.pds-date-accomplished .pds-field{flex:0 0 auto;min-width:180px;max-width:200px}.pds-section-title-inline{font-size:1.1rem;font-weight:700;color:#14532d;margin:0;flex:1}.pds-dynamic-item{background:#fafafa;border:1px solid #e5e7eb;padding:16px;margin-bottom:12px;position:relative}.pds-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px dashed #e5e7eb}.pds-item-number{font-weight:600;color:#64748b;font-size:.85rem}.pds-field-checkbox{flex:0 0 auto;min-width:auto;display:flex;align-items:center;padding-bottom:8px}.pds-field-checkbox label{display:flex;align-items:center;gap:6px;font-size:.9rem;font-weight:500;color:#1e293b;text-transform:none;letter-spacing:normal;cursor:pointer;margin:0}.pds-field-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#2e7d32}.pds-hint{font-size:.85rem;color:#64748b;font-style:italic;margin:-8px 0 12px}.pds-item-left{display:flex;align-items:center;gap:8px}.pds-drag-handle{display:flex;align-items:center;justify-content:center;cursor:grab;color:#94a3b8;font-size:1rem;padding:4px;transition:color .2s}.pds-drag-handle:hover{color:#64748b}.pds-drag-handle:active{cursor:grabbing}.pds-dynamic-item.dragging{opacity:.5;border-style:dashed}.pds-dynamic-item.drag-over{border:2px dashed #43a047;background:#e8f5e9}.pds-question-block{background:#f8fafc;border:1px solid #e2e8f0;padding:16px;margin-bottom:16px}.pds-question-text{font-size:.95rem;color:#1e293b;margin:0 0 12px;line-height:1.5}.pds-question-row{display:flex;align-items:center;gap:16px;margin-bottom:8px;flex-wrap:wrap}.pds-question-label{font-size:.9rem;color:#475569;flex:1;min-width:200px}.pds-radio-group{display:flex;gap:16px;align-items:center}.pds-radio{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.9rem;color:#1e293b}.pds-radio input[type=radio]{width:16px;height:16px;cursor:pointer;accent-color:#2e7d32}.pds-details-field{margin-top:12px}.pds-section-note{font-size:.85rem;color:#64748b;font-style:italic;margin:-12px 0 16px}} .admin-tools-converter{margin-top:12px}.admin-tools-upload{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-tools-file{font-weight:600;color:#14532d}.admin-tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}.admin-tools-select{width:100%}.admin-tools-hint{margin-top:12px;background:#f0fdf4;border:1px solid #bbf7d0;color:#14532d;padding:8px 10px;font-size:.9rem}.admin-tools-preview{margin-top:16px}.admin-tools-preview-title{font-weight:600;color:#14532d;margin-bottom:6px}.admin-tools-preview-table{border:1px solid #e5e7eb;background:#f8fafc;max-height:240px;overflow:auto}.admin-tools-preview-table table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-tools-preview-table th,.admin-tools-preview-table td{padding:8px 10px;border-bottom:1px solid #e5e7eb;text-align:left;white-space:nowrap}.admin-tools-preview-table th{background:#f1f5f9;font-weight:600}.admin-tools-actions{display:flex;justify-content:flex-end;margin-top:12px}.admin-tools-success{color:#2e7d32;font-weight:600}.memo-personnel-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.memo-assign-btn{display:flex;align-items:center;justify-content:center;background:#2563eb;color:#fff;border:none;border-radius:10;width:50px;height:32px;padding:0;cursor:pointer;transition:background .18s,box-shadow .18s;box-shadow:0 2px 6px #2563eb14}.memo-assign-btn:hover{background:#1746b0}.memo-assign-icon{display:inline-block;vertical-align:middle;width:18px;height:18px}.memo-modal-header{position:sticky;top:0;left:0;z-index:20;background:#fff;border-bottom:1px solid #e0e0e0}.memo-container{padding:2.5rem;background:#f4f8f6;min-height:100vh;margin-left:var(--sidebar-width)}.memo-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:0;padding-left:0}.memo-title{font-size:2.1rem;font-weight:700;color:#14532d;margin-bottom:8px;text-align:left}.memo-subtitle{font-size:1.1rem;color:#388e3c;margin-bottom:36px;text-align:left}@media (max-width: 900px){.memo-container{margin-left:0;padding:1.5rem}.memo-title{font-size:1.8rem}.memo-subtitle{font-size:1rem;margin-bottom:24px}.memo-search-actions-container{flex-direction:column;gap:1rem}.memo-search-wrapper{max-width:100%}.memo-search-input{font-size:.95rem;padding:.75rem .875rem .75rem 2.75rem}.memo-search-icon{left:.875rem;width:18px;height:18px}.memo-create-btn{width:100%}}.memo-search-actions-container{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}.memo-search-wrapper{position:relative;flex:1;max-width:500px;order:1}.memo-create-btn{background:linear-gradient(135deg,#03b559,#00db54);color:#fff;border:none;padding:.875rem 1.75rem;border-radius:8px;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #2563eb33;width:auto;min-width:200px;margin-top:-2px;order:2;flex-shrink:0}.document-count-info{margin-top:8px;margin-bottom:8px;padding:4px 0;background:transparent;border:none;box-shadow:none}.file-count-info{color:#28a745;font-size:14px;font-weight:500;background:transparent;border:none;border-radius:0;padding:0}.memo-search-input{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;font-weight:500;color:#374151;background:#fff;transition:all .2s ease;box-shadow:0 2px 4px #0000000a}.memo-search-input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a,0 4px 8px #00000014}.memo-search-input::placeholder{color:#9ca3af;font-weight:400}.memo-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#6b7280;pointer-events:none;z-index:1}.memo-search-clear{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:#f3f4f6;border:none;border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#6b7280;cursor:pointer;transition:all .2s ease}.memo-search-clear:hover{background:#e5e7eb;color:#374151}.memo-actions{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.memo-create-btn:hover{background:linear-gradient(135deg,#48ce6e,#46d82c);transform:translateY(-1px);box-shadow:0 4px 8px #2563eb4d}.memo-card{background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014;padding:2rem;border:1px solid #e5e7eb;margin-top:1rem}.memo-desc{color:#6b7280;font-size:1.1rem;font-weight:500;text-align:center;padding:3rem;display:flex;align-items:center;justify-content:center;gap:.75rem}.memo-desc:before{content:"📝";font-size:2rem}.memo-desc:has-text("Loading"){color:#3b82f6}.memo-desc:has-text("Loading"):before{content:"⏳";animation:pulse 2s infinite}.memo-desc[style*="color: #d32f2f"]{color:#dc2626!important}.memo-desc[style*="color: #d32f2f"]:before{content:"⚠️"}.memo-desc:has-text("No memos found"):before{content:"📭"}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.memo-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;list-style:none;padding:0;margin:0}.memo-list-card{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;border:1px solid #e5e7eb;padding:0;display:flex;flex-direction:column;transition:all .3s ease;overflow:hidden;position:relative;min-height:220px}.memo-list-card:hover{box-shadow:0 8px 25px #00000026;border:1px solid #34d399;transform:translateY(-2px)}.memo-card-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem .75rem;border-bottom:1px solid #f3f4f6}.memo-list-memono{font-weight:700;color:#1f2937;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.memo-icon{color:#6366f1;transition:all .2s ease;flex-shrink:0}.memo-status-badge{display:flex;align-items:center}.status-travel{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px #f59e0b33}.status-regular{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px #10b98133}.memo-card-content{padding:.75rem 1.5rem;flex-grow:1}.memo-list-subject{color:#111827;font-size:1.1rem;font-weight:600;margin-bottom:.5rem;line-height:1.4;word-break:break-word}.memo-list-description{display:none}.memo-card-footer{padding:1rem 1.5rem;border-top:1px solid #f3f4f6;background:#fafafa;display:flex;justify-content:space-between;align-items:center;gap:1rem}.memo-date-info{display:flex;align-items:center;color:#6b7280;font-size:.875rem;font-weight:500}.memo-single-date,.memo-date-range{display:flex;align-items:center;gap:.5rem}.memo-no-date{color:#9ca3af;font-style:italic}.date-icon{color:#9ca3af}.memo-card-actions{display:flex;gap:.5rem;align-items:center}.memo-view-btn{display:flex;align-items:center;gap:.375rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:.375rem .75rem;border-radius:6px;font-size:.6875rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #3b82f633;height:32px}.memo-view-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 2px 6px #3b82f64d}.memo-delete-btn{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff5f5,#fef2f2);color:#ef4444;border:1px solid #fecaca;padding:.375rem;border-radius:8px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #ef444414,0 0 0 1px #ef44440d;min-width:32px;height:32px;position:relative;overflow:hidden}.memo-delete-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transition:left .5s}.memo-delete-btn:hover:before{left:100%}.memo-delete-btn:hover{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;border-color:#dc2626;transform:translateY(-2px) scale(1.02);box-shadow:0 4px 6px -1px #dc262626,0 2px 4px -1px #dc26261a,0 0 0 3px #ef444426}.memo-delete-btn:active{transform:translateY(0) scale(.98);box-shadow:0 1px 2px #0000000d}.memo-delete-btn:focus{outline:none;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,0 0 0 3px #3b82f64d}.memo-delete-btn svg{transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1;position:relative}.memo-delete-btn:hover svg{transform:scale(1.15) rotate(5deg);filter:drop-shadow(0 2px 4px rgba(255,255,255,.3))}.memo-delete-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:0 1px 2px #0000000d!important}.memo-delete-btn:disabled:hover{background:linear-gradient(135deg,#fff5f5,#fef2f2);color:#ef4444;border-color:#fecaca;transform:none}.memo-delete-btn:disabled svg{transform:none!important}@media (max-width: 768px){.memo-list{grid-template-columns:1fr;gap:1rem}.memo-card-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem .5rem}.memo-card-footer{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.75rem 1.25rem}.memo-card-actions{width:100%;justify-content:space-between}.memo-view-btn{flex:1;justify-content:center;margin-right:.5rem}.memo-modal-overlay{padding:.5rem}.memo-modal{max-width:95vw;max-height:95vh}.memo-modal-header{padding:1.25rem 1.5rem}.memo-modal-header h2{font-size:1.25rem}.memo-modal-form{padding:1.5rem}.memo-details-grid{grid-template-columns:1fr;gap:1rem}.memo-assign-modal{max-width:95vw}.memo-assign-type-selection{flex-direction:column;gap:.5rem}.memo-assign-content{max-height:300px}}@media (max-width: 480px){.memo-container{padding:1rem}.memo-title{font-size:1.6rem}.memo-subtitle{font-size:.9rem;margin-bottom:20px}.memo-card{padding:1.5rem;margin-top:1rem}.memo-create-btn{width:100%;min-width:auto;padding:1rem 1.5rem;font-size:1rem}.memo-actions{margin-bottom:1rem}.memo-search-actions-container{margin-bottom:1rem;gap:1rem}.memo-search-input{font-size:.9rem;padding:.65rem .75rem .65rem 2.5rem}.memo-search-icon{left:.75rem;width:16px;height:16px}.memo-search-clear{right:.65rem;width:26px;height:26px}.memo-list-card{min-height:auto}.memo-card-header{padding:1rem 1rem .5rem}.memo-card-content{padding:.5rem 1rem}.memo-card-footer{padding:.75rem 1rem}.memo-list-memono{font-size:1rem}.memo-list-subject{font-size:1rem;line-height:1.3}.memo-list-description{font-size:.85rem}.memo-date-info{font-size:.8rem}.memo-view-btn{font-size:.65rem;padding:.35rem .65rem;height:30px}.memo-delete-btn{min-width:30px;height:30px}.memo-modal{max-width:100vw;max-height:100vh;border-radius:0}.memo-modal-header{padding:1rem 1.25rem}.memo-modal-header h2{font-size:1.1rem}.memo-modal-close{width:32px;height:32px;font-size:1.4rem}.memo-modal-form{padding:1.25rem}.memo-form-group{margin-bottom:1.25rem}.memo-form-group label{font-size:.9rem;margin-bottom:.4rem}.memo-form-group input,.memo-form-group textarea{padding:.65rem;font-size:.95rem}.memo-date-type-options{flex-direction:column;gap:.5rem}.memo-radio-label,.memo-checkbox-text{font-size:.9rem}.memo-modal-actions{flex-direction:column;gap:.75rem;margin-top:1.5rem}.memo-btn{width:100%;padding:.875rem 1rem;font-size:.95rem}.memo-personnel-header-row{flex-direction:column;gap:1rem;align-items:stretch;text-align:center}.memo-personnel-item{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem}.memo-personnel-name{font-size:.9rem}.memo-personnel-details{font-size:.8rem}.memo-remove-btn{align-self:flex-end;margin-left:0;margin-top:.5rem}.memo-assign-item{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.875rem}.memo-assign-item-checkbox{align-self:flex-start}.memo-assign-item-name{font-size:.9rem}.memo-assign-item-details{font-size:.8rem}.memo-delete-modal{max-width:95vw}.memo-delete-content{padding:.5rem 0;gap:1rem}.memo-delete-icon{width:60px;height:60px}.memo-delete-icon svg{width:32px;height:32px}.memo-delete-message p{font-size:1rem}.memo-delete-details{padding:.75rem;font-size:.9rem}.memo-delete-warning{font-size:.85rem!important}.memo-modal-form{overflow-x:hidden;-webkit-overflow-scrolling:touch}.memo-assign-content{-webkit-overflow-scrolling:touch}.memo-error-message{padding:.6rem;font-size:.85rem;margin-bottom:.75rem}.status-travel,.status-regular{font-size:.7rem;padding:.2rem .6rem}.memo-list-description{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}.memo-list-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#10b981,#f59e0b);opacity:0;transition:opacity .3s ease}.memo-list-card:hover:before{opacity:1}.memo-list-card:hover .memo-list-subject{color:#059669;transition:color .2s ease}.memo-list-card:hover .memo-list-memono{transform:translate(4px);transition:transform .2s ease}.memo-list-card:hover .memo-icon{color:#4f46e5;transform:scale(1.1)}.memo-view-btn svg{transition:transform .2s ease}.memo-view-btn:hover svg{transform:scale(1.1)}.memo-list-card:focus{outline:2px solid #3b82f6;outline-offset:2px}.memo-view-btn:focus{outline:2px solid #ffffff;outline-offset:2px}@media (max-width: 768px){.memo-list-card{min-height:200px}.memo-view-btn,.memo-delete-btn,.memo-assign-btn,.memo-remove-btn,.memo-modal-close{min-height:44px;min-width:44px}}@media (hover: none){.memo-list-card:hover{transform:none;box-shadow:0 4px 12px #00000014;border:1px solid #e5e7eb}.memo-view-btn:hover,.memo-delete-btn:hover,.memo-create-btn:hover{transform:none}}.memo-card{margin-top:1.5rem}.memo-list-card{cursor:pointer;-webkit-user-select:none;user-select:none}.status-travel,.status-regular{position:relative;overflow:hidden}.status-travel:after,.status-regular:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.memo-list-card:hover .status-travel:after,.memo-list-card:hover .status-regular:after{left:100%}.memo-list-item{display:flex;align-items:center;gap:24px;padding:1.1rem 1.2rem;border-bottom:1px solid #e0e0e0;font-size:1.09rem;background:#f9fefb;border-radius:8px;margin-bottom:10px;transition:background .18s}.memo-list-item:hover{background:#e0f7ef}.memo-no{font-weight:600;color:#2563eb;min-width:90px;font-size:1.08rem}.memo-subject{color:#14532d;font-size:1.08rem;font-weight:500;flex:1;word-break:break-word}.memo-detail-item .document-count-info{background:transparent!important;border:none!important;box-shadow:none!important;padding:4px 0!important}.memo-detail-item .document-count-info .file-count-info{color:#28a745!important;background:transparent!important;border:none!important;border-radius:0!important;padding:0!important;box-shadow:none!important}.memo-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;overflow-y:auto;-webkit-overflow-scrolling:touch}@media (max-width: 768px){.memo-modal-overlay{align-items:flex-start;padding:2rem .5rem .5rem}}@media (max-width: 480px){.memo-modal-overlay{padding:0;padding-top:1rem;align-items:stretch}}.memo-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.memo-modal-form{padding:1.5rem;overflow-y:auto;flex:1;max-height:calc(90vh - 80px);scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.memo-modal-form::-webkit-scrollbar{width:8px}.memo-modal-form::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.memo-modal-form::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.memo-modal-form::-webkit-scrollbar-thumb:hover{background:#94a3b8}.memo-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media (max-width: 768px){.memo-details-grid{grid-template-columns:1fr;gap:1rem}}.memo-detail-item label{font-weight:600;color:#374151;font-size:.9rem}.memo-detail-item span{color:#6b7280;font-size:1rem;background:#f9fafb;padding:.75rem;border-radius:8px;border:1px solid #e5e7eb}.memo-personnel-section{border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb}.memo-personnel-group{margin-bottom:1rem}.memo-personnel-group-title{font-weight:600;color:#374151;padding:1rem 1rem .5rem;border-bottom:1px solid #e5e7eb;background:#fff}.memo-personnel-list{padding:.5rem}.memo-personnel-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:.5rem;transition:all .2s ease}.memo-personnel-item:hover{box-shadow:0 2px 8px #0000001a;border-color:#d1d5db}.memo-personnel-info{flex:1}.memo-personnel-name{font-weight:600;color:#111827;margin-bottom:.25rem}.memo-personnel-details{font-size:.875rem;color:#6b7280}.memo-remove-btn{background:linear-gradient(135deg,#fff5f5,#fef2f2);color:#ef4444;border:1px solid #fecaca;border-radius:10px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);margin-left:1rem;box-shadow:0 1px 2px #ef444414,0 0 0 1px #ef44440d;position:relative;overflow:hidden}.memo-remove-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transition:left .4s}.memo-remove-btn:hover:before{left:100%}.memo-remove-btn:hover{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;border-color:#dc2626;transform:translateY(-1px) scale(1.05);box-shadow:0 2px 4px -1px #dc262626,0 1px 2px -1px #dc26261a,0 0 0 2px #ef444426}.memo-remove-btn:active{transform:translateY(0) scale(.95)}.memo-remove-btn svg{transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1;position:relative}.memo-remove-btn:hover svg{transform:scale(1.1) rotate(3deg);filter:drop-shadow(0 1px 2px rgba(255,255,255,.3))}.memo-no-personnel{text-align:center;color:#9ca3af;font-style:italic;padding:2rem}.memo-personnel-loading{text-align:center;color:#6b7280;padding:2rem}.memo-assign-modal{max-width:700px}.memo-assign-type-selection{display:flex;gap:1rem;margin-bottom:1.5rem;padding:.5rem;background:#f3f4f6;border-radius:10px}.memo-assign-type-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:none;border-radius:8px;background:#fff;color:#6b7280;cursor:pointer;transition:all .2s ease;font-weight:500}.memo-assign-type-btn.active{background:#3b82f6;color:#fff;box-shadow:0 2px 4px #3b82f633}.memo-assign-type-btn:hover:not(.active){background:#e5e7eb;color:#374151}.memo-assign-search-container{margin-bottom:1rem}.memo-assign-search-wrapper{position:relative;width:100%}.memo-assign-search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;font-weight:500;color:#374151;background:#fff;transition:all .2s ease;box-shadow:0 1px 3px #0000000a}.memo-assign-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a,0 2px 4px #00000014}.memo-assign-search-input::placeholder{color:#9ca3af;font-weight:400}.memo-assign-search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:#6b7280;pointer-events:none;z-index:1}.memo-assign-search-clear{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:#f3f4f6;border:none;border-radius:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#6b7280;cursor:pointer;transition:all .2s ease}.memo-assign-search-clear:hover{background:#e5e7eb;color:#374151}.memo-assign-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#6b7280}.memo-loading-spinner{width:32px;height:32px;border:3px solid #f3f4f6;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.memo-success-modal{max-width:450px}.memo-success-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem 0}.memo-success-icon{margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-radius:50%;margin-left:auto;margin-right:auto}.memo-success-message{text-align:center}.memo-success-message p:first-child{color:#111827;font-size:1.1rem;font-weight:600;margin-bottom:.75rem;line-height:1.5}.memo-success-message p:last-child{color:#6b7280;font-size:.9rem;line-height:1.5}.memo-assign-content{max-height:400px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.memo-assign-content::-webkit-scrollbar{width:8px}.memo-assign-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.memo-assign-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.memo-assign-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.memo-assign-list{padding:.5rem}.memo-assign-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:.5rem;cursor:pointer;transition:all .2s ease}.memo-assign-item:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.memo-assign-item.selected{border-color:#3b82f6;background:#eff6ff;box-shadow:0 2px 8px #3b82f626}.memo-assign-item-checkbox input{width:16px;height:16px;accent-color:#3b82f6;cursor:pointer}.memo-assign-item-info{flex:1}.memo-assign-item-name{font-weight:600;color:#111827;margin-bottom:.25rem}.memo-assign-item-details{font-size:.875rem;color:#6b7280}.memo-assign-empty{text-align:center;color:#9ca3af;font-style:italic;padding:3rem}.memo-btn-assign{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.memo-btn-assign:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)}.memo-btn-assign:disabled{opacity:.5;cursor:not-allowed;transform:none}.memo-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e0e0e0}.memo-modal-header h2{margin:0;color:#14532d;font-size:1.5rem;font-weight:700}.memo-modal-close{background:none;border:none;font-size:1.8rem;color:#666;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.memo-modal-close:hover{background:#f5f5f5;color:#333}.memo-modal-form{padding:2rem}.memo-form-group{margin-bottom:1.5rem}.memo-form-group label{display:block;margin-bottom:.5rem;color:#14532d;font-weight:600;font-size:.95rem}.memo-form-group input,.memo-form-group textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s;font-family:inherit}.memo-form-group input:focus,.memo-form-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.memo-form-group textarea{resize:vertical;min-height:100px}.memo-checkbox-group{display:flex;align-items:center}.memo-checkbox-label{display:flex;align-items:center;cursor:pointer;font-weight:500;color:#14532d}.memo-checkbox-label input[type=checkbox]{width:auto;margin-right:.75rem;transform:scale(1.1)}.memo-checkbox-text{font-size:1rem}.memo-error-message{background:#fee;color:#d32f2f;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.95rem;border:1px solid #fcc}.memo-modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.memo-btn{padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.memo-btn-cancel{background:#f5f5f5;color:#666}.memo-btn-cancel:hover{background:#e0e0e0;color:#333}.memo-btn-create{background:linear-gradient(135deg,#0aa02a,#12a705);color:#fff;box-shadow:0 2px 4px #2563eb33}.memo-btn-create:hover:not(:disabled){background:linear-gradient(135deg,#026627,#017831);transform:translateY(-1px);box-shadow:0 4px 8px #2563eb4d}.memo-btn-create:disabled{opacity:.7;cursor:not-allowed;transform:none}.memo-btn-delete{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;box-shadow:0 2px 4px #dc262633}.memo-btn-delete:hover:not(:disabled){background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-1px);box-shadow:0 4px 8px #dc26264d}.memo-btn-delete:disabled{opacity:.7;cursor:not-allowed;transform:none}.memo-delete-modal{max-width:500px}.memo-delete-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem;padding:1rem 0}.memo-delete-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:#fef2f2;border:3px solid #fee2e2;border-radius:50%}.memo-delete-message{display:flex;flex-direction:column;gap:1rem}.memo-delete-message p{margin:0;color:#374151;font-size:1.1rem;font-weight:500}.memo-delete-details{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;color:#111827}.memo-delete-details strong{color:#1f2937;font-weight:600}.memo-delete-warning{color:#dc2626!important;font-size:.95rem!important;font-weight:500!important}.memo-date-type-options{display:flex;gap:1.5rem;margin-top:.5rem}.memo-radio-label{display:flex;align-items:center;cursor:pointer;font-weight:500;color:#14532d;font-size:1rem}.memo-radio-label input[type=radio]{width:auto;margin-right:.5rem;transform:scale(1.1)}.memo-date-range-group{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.memo-date-range-group .memo-form-group{margin-bottom:0}.memo-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.memo-detail-item{display:flex;flex-direction:column;gap:.5rem}.memo-detail-item.full-width{grid-column:1 / -1}.memo-detail-item label{font-weight:600;color:#14532d;font-size:.95rem}.memo-detail-item span{color:#333;font-size:1rem;padding:.5rem;background:#f9f9f9;border-radius:6px;border:1px solid #e0e0e0;word-break:break-word}@media (max-width: 600px){.memo-date-range-group{grid-template-columns:1fr;gap:1rem}.memo-date-range-group .memo-form-group{margin-bottom:1rem}.memo-date-type-options{flex-direction:column;gap:.75rem}.memo-details-grid{grid-template-columns:1fr;gap:1rem}.memo-modal-overlay{padding:.25rem}.memo-personnel-section{padding:.75rem}.memo-personnel-group-title{font-size:.9rem;padding-bottom:.4rem;margin-bottom:.6rem}.memo-assign-btn{width:100%;height:40px;border-radius:8px}}.memo-personnel-loading{color:#666;font-style:italic;padding:1rem;text-align:center;background:#f9f9f9;border-radius:6px;border:1px solid #e0e0e0}.memo-personnel-section{background:#f9f9f9;border-radius:8px;border:1px solid #e0e0e0;padding:1rem}.memo-personnel-group{margin-bottom:1.5rem}.memo-personnel-group:last-child{margin-bottom:0}.memo-personnel-group-title{font-weight:600;color:#14532d;margin-bottom:.75rem;font-size:1rem;border-bottom:1px solid #d0d0d0;padding-bottom:.5rem}.memo-personnel-list{display:flex;flex-direction:column;gap:.5rem}.memo-personnel-item{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:.75rem;transition:border-color .2s}.memo-personnel-item:hover{border-color:#a5d6a7}.memo-personnel-name{font-weight:600;color:#2563eb;font-size:.95rem;margin-bottom:.25rem}.memo-personnel-details{color:#666;font-size:.85rem;line-height:1.3}.memo-no-personnel{color:#666;font-style:italic;text-align:center;padding:1.5rem;background:#fff;border:1px solid #e0e0e0;border-radius:6px}.memo-modal{width:min(600px,95vw);max-width:min(600px,95vw);box-sizing:border-box}.memo-modal-form{overflow-x:hidden}.memo-detail-item{min-width:0}.memo-detail-item label,.memo-detail-item span{max-width:100%;box-sizing:border-box}.memo-detail-item span{overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap}@media (max-width: 900px){.memo-details-grid{grid-template-columns:1fr}}.memo-create-two-column{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.memo-create-column h3{margin-bottom:1rem;color:#14532d;font-size:1.1rem;font-weight:600}.memo-assignment-section{margin-bottom:1.5rem}.memo-assignment-section h4{margin-bottom:.5rem;color:#374151;font-size:.9rem;font-weight:600}.memo-selected-items{margin-bottom:.75rem}.memo-selected-items-label{font-size:.8rem;color:#6b7280;margin-bottom:.5rem}.memo-selected-items-list{display:flex;flex-wrap:wrap;gap:.5rem}.memo-selected-item{display:flex;align-items:center;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;border:1px solid}.memo-selected-item-employee{background-color:#e0f2fe;border-color:#0891b2}.memo-selected-item-department{background-color:#f0fdf4;border-color:#16a34a}.memo-selected-item-remove{margin-left:.5rem;background:none;border:none;cursor:pointer;font-size:.75rem;font-weight:700}.memo-selected-item-employee .memo-selected-item-remove{color:#0891b2}.memo-selected-item-department .memo-selected-item-remove{color:#16a34a}.memo-available-items{max-height:300px;overflow-y:auto;border:1px solid #d1d5db;border-radius:6px;background-color:#f9fafb}.memo-available-item{padding:.5rem .75rem;border-bottom:1px solid #e5e7eb;cursor:pointer;font-size:.8rem;transition:background-color .2s}.memo-available-item:hover{background-color:#f3f4f6}.memo-available-item-name{font-weight:500;color:#111827}.memo-available-item-details{font-size:.75rem;color:#6b7280}.memo-available-empty{padding:.75rem;text-align:center;color:#6b7280;font-size:.8rem}.memo-load-data-btn{width:100%;padding:.75rem;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;margin-bottom:1rem;transition:background-color .2s}.memo-load-data-btn:hover{background-color:#2563eb}.memo-load-data-btn:disabled{opacity:.7;cursor:not-allowed}.memo-search-input-create{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;margin-bottom:.75rem}@media (max-width: 768px){.memo-modal{max-width:95vw!important;width:95vw!important;max-height:95vh;overflow-y:auto}.memo-create-two-column{grid-template-columns:1fr;gap:1.5rem}.memo-modal-form{padding:1rem}.memo-available-items{max-height:150px}.memo-date-range-group{display:flex;flex-direction:column;gap:1rem}}@media (max-width: 480px){.memo-modal{max-width:100vw!important;width:100vw!important;max-height:100vh;border-radius:0}.memo-modal-header{padding:1rem}.memo-modal-header h2{font-size:1.25rem}.memo-selected-items-list{flex-direction:column;gap:.25rem}.memo-selected-item{justify-content:space-between}}.memo-generate-btn,.memo-generate-save-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none}.memo-generate-btn{background:#10b981;color:#fff}.memo-generate-btn:hover:not(:disabled){background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.memo-generate-save-btn{background:#3b82f6;color:#fff}.memo-generate-save-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.memo-generate-btn:disabled,.memo-generate-save-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.memo-documents-loading{padding:1rem;text-align:center;color:#6b7280;font-style:italic}.memo-documents-section{margin-top:1rem}.memo-documents-list{display:flex;flex-direction:column;gap:.75rem}.memo-document-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s}.memo-document-item:hover{background:#f3f4f6;border-color:#d1d5db}.memo-document-item-left{display:flex;align-items:center;gap:.75rem;flex:1}.memo-document-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#dbeafe;border-radius:8px;color:#3b82f6}.memo-document-info{display:flex;flex-direction:column;gap:.25rem}.memo-document-name{font-weight:500;color:#111827;font-size:.875rem}.memo-document-size{font-size:.75rem;color:#6b7280}.memo-document-actions{display:flex;gap:.5rem}.memo-document-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;transition:all .2s;background:transparent}.memo-download-btn{color:#10b981;background:#ecfdf5}.memo-download-btn:hover:not(:disabled){background:#d1fae5;transform:scale(1.05)}.memo-delete-doc-btn{color:#ef4444;background:#fef2f2}.memo-delete-doc-btn:hover:not(:disabled){background:#fee2e2;transform:scale(1.05)}.memo-document-action-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.memo-no-documents{padding:2rem;text-align:center;color:#6b7280;font-style:italic;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.loading-spinner{animation:spin 1s linear infinite}.documents-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.documents-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0}.documents-title{display:flex;align-items:center;gap:.75rem;font-weight:600;font-size:1.1rem;color:#1f2937}.documents-title svg{color:#3b82f6;flex-shrink:0}.documents-count{font-size:.875rem;color:#6b7280;background:#e5e7eb;padding:.25rem .5rem;border-radius:20px;font-weight:500}.documents-actions{display:flex;gap:.75rem}.documents-action-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.documents-action-btn:disabled{opacity:.6;cursor:not-allowed}.generate-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 4px #10b98133}.generate-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 8px #10b9814d;transform:translateY(-1px)}.generate-save-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 4px #3b82f633}.generate-save-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.documents-content{padding:1.5rem}.document-loading{text-align:center;padding:2rem;color:#6b7280}.documents-list{display:flex;flex-direction:column;gap:.5rem}.document-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s ease}.document-item:hover{background:#f3f4f6;border-color:#d1d5db}.document-item-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.document-icon{width:20px;height:20px;color:#6b7280;flex-shrink:0}.document-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.document-name{font-weight:500;color:#1f2937;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-size{font-size:.75rem;color:#6b7280}.document-actions{display:flex;gap:.5rem;flex-shrink:0}.document-action-btn{padding:.5rem;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;background:#fff;border:1px solid #e5e7eb;color:#6b7280}.document-action-btn:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db}.document-action-btn:disabled{opacity:.5;cursor:not-allowed}.download-btn-responsive:hover:not(:disabled){background:#dbeafe;border-color:#3b82f6;color:#3b82f6}.delete-btn-responsive:hover:not(:disabled){background:#fee2e2;border-color:#dc2626;color:#dc2626}.loading-spinner-svg{animation:spin 1s linear infinite}.documents-empty-state{text-align:center;padding:2rem;color:#6b7280;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-style:italic}.memo-evidence-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd;padding:.5rem .75rem;border-radius:8px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;height:32px;min-width:auto;white-space:nowrap;margin-right:.5rem}.memo-evidence-btn:hover{background:#bae6fd;color:#0c4a6e;border-color:#7dd3fc;transform:translateY(-1px);box-shadow:0 2px 4px #0369a11a}.memo-evidence-btn:active{transform:translateY(0);box-shadow:0 1px 2px #0369a11a}.memo-evidence-btn svg{width:14px;height:14px;flex-shrink:0}.memo-evidence-text{font-size:.75rem;font-weight:500}.memo-evidence-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}.memo-evidence-btn:disabled:hover{background:#e0f2fe;color:#0369a1;border-color:#bae6fd;transform:none}.memo-form-group input[type=file]{border:2px dashed #d1d5db!important;background-color:#f9fafb!important;cursor:pointer;transition:all .2s ease;padding:1rem!important;text-align:center}.memo-form-group input[type=file]:hover{border-color:#10b981!important;background-color:#f0fdf4!important}.memo-form-group input[type=file]:focus{border-color:#10b981!important;background-color:#f0fdf4!important;box-shadow:0 0 0 3px #10b9811a!important}.memo-file-preview{margin-top:.5rem;padding:.75rem;background-color:#f0f9ff;border:1px solid #0284c7;border-radius:6px;font-size:.875rem;color:#0284c7;display:flex;align-items:center;gap:.5rem}.memo-file-helper{margin-top:.5rem;font-size:.75rem;color:#6b7280;font-style:italic}.memo-loading-more{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:1rem}.memo-loading-more .loading-spinner{width:24px;height:24px;border:2px solid #e5e7eb;border-top:2px solid #16a34a;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:.5rem}.memo-loading-more p{color:#6b7280;font-size:.875rem;margin:0}.memo-end-results{display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#f3f4f6;border:1px dashed #d1d5db;border-radius:8px;margin-top:1rem}.memo-end-results p{color:#6b7280;font-size:.875rem;font-style:italic;margin:0;text-align:center}.right-filters{margin-left:auto;display:flex;align-items:center;gap:10px}.status-filter-container{display:flex;align-items:center;gap:8px;width:fit-content}.refresh-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;position:relative;overflow:hidden}.refresh-btn:hover{filter:brightness(1.02);transform:translateY(-1px)}.refresh-btn:active{transform:translateY(0)}.refresh-btn:disabled{opacity:.7;cursor:not-allowed}.refresh-btn-compact{padding:8px 12px}.status-filter-container{display:flex;align-items:center;gap:12px;width:fit-content}.status-filter-label{font-size:.9rem;font-weight:500;color:#64748b;white-space:nowrap}.status-filter-dropdown{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:.875rem;cursor:pointer;transition:border-color .2s,box-shadow .2s}.status-filter-dropdown:hover{border-color:#9ca3af}.status-filter-dropdown:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.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}.delete-confirmation-modal{background:#fff;border-radius:8px;padding:20px;width:90%;max-width:400px;box-shadow:0 4px 20px #00000026;z-index:1001}.delete-confirmation-header{margin-bottom:15px}.delete-confirmation-header h4{margin:0;color:#dc3545;font-size:1.2rem}.delete-confirmation-content{margin-bottom:20px}.delete-confirmation-content p{margin:0 0 10px;color:#333}.evidence-filename{font-weight:700;color:#007bff;word-break:break-word}.delete-confirmation-actions{display:flex;gap:10px;justify-content:flex-end}.confirm-delete-btn{padding:10px 20px;background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s}.confirm-delete-btn:hover{background-color:#c82333}.cancel-delete-btn{padding:10px 20px;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s}.cancel-delete-btn:hover{background-color:#5a6268}.evidence-modal{background:#fff;border-radius:8px;width:90%;max-width:800px;max-height:90vh;overflow:hidden;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column}.evidence-modal-header{padding:20px;border-bottom:1px solid #e5e5e5;background-color:#f8f9fa;flex-shrink:0}.evidence-modal-header h3{margin:0 0 5px;color:#333;font-size:1.4rem}.travel-order-title{margin:0;color:#666;font-size:.9rem;font-style:italic}.evidence-modal-content{padding:20px;flex:1;overflow-y:auto;min-height:0}.upload-progress-section{margin-bottom:20px;padding:15px;border:1px solid #e3f2fd;border-radius:6px;background-color:#f3f9ff}.upload-progress{display:flex;align-items:center;gap:10px}.progress-bar{flex:1;height:8px;background-color:#e9ecef;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background-color:#28a745;transition:width .3s ease}.evidence-modal-footer{display:flex;justify-content:space-between;align-items:center;padding:20px;background-color:#f8f9fa;border-top:1px solid #dee2e6;position:sticky;bottom:0;z-index:10}.footer-left{flex:1;display:flex;align-items:center}.footer-right{display:flex;align-items:center;gap:12px}.upload-btn{background:#007bff;color:#fff;border:none;border-radius:6px;padding:10px 20px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:40px}.upload-btn:hover:not(.disabled){background:#0056b3;transform:translateY(-1px);box-shadow:0 2px 8px #007bff40}.upload-btn.disabled{background:#6c757d;cursor:not-allowed;opacity:.65}.close-btn-footer{background:#dc3545;color:#fff;border:none;border-radius:6px;padding:10px 20px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;min-height:40px;display:flex;align-items:center;justify-content:center}.close-btn-footer:hover{background:#c82333;transform:translateY(-1px);box-shadow:0 2px 8px #dc354540}.close-btn-footer:active{transform:translateY(0);box-shadow:0 1px 4px #dc354540}.error-message{background-color:#f8d7da;color:#721c24;padding:12px;border-radius:4px;margin-bottom:15px;border:1px solid #f5c6cb}.success-message{background-color:#d4edda;color:#155724;padding:12px;border-radius:4px;margin-bottom:15px;border:1px solid #c3e6cb}.evidence-list{min-height:200px}.loading{text-align:center;padding:40px;color:#666;font-style:italic}.no-evidence{text-align:center;padding:40px;color:#999;font-style:italic;background-color:#f8f9fa;border-radius:6px}.evidence-grid{display:flex;flex-direction:column;gap:12px}.evidence-item{display:flex;justify-content:space-between;align-items:center;padding:15px;border:1px solid #e5e5e5;border-radius:6px;background-color:#fff;transition:box-shadow .2s}.evidence-item.clickable{cursor:pointer;transition:all .2s ease;border:2px solid transparent}.evidence-item.clickable:hover{background-color:#f8f9fa;border:2px solid #007bff;transform:translateY(-2px);box-shadow:0 4px 12px #007bff26}.evidence-item.clickable:active{transform:translateY(0);box-shadow:0 2px 6px #007bff26}.evidence-item:not(.clickable){opacity:.7;cursor:not-allowed;background-color:#f8f9fa}.evidence-item:not(.clickable) .evidence-name{color:#6c757d}.evidence-item:not(.clickable):hover{background-color:#f8f9fa;box-shadow:none}.evidence-item:hover{box-shadow:0 2px 8px #0000001a}.evidence-info{flex:1}.evidence-name{font-weight:500;color:#333;margin-bottom:4px;word-break:break-word}.evidence-employee{font-size:.85rem;color:#555;margin-bottom:4px}.evidence-employee strong{color:#007bff}.evidence-meta{display:flex;gap:15px;font-size:.85rem;color:#666}.evidence-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}.preview-btn,.download-btn,.delete-btn{background:none;border:1px solid #ddd;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:16px;transition:all .2s}.delete-btn{background:#dc3545;color:#fff;border:none;border-radius:4px;padding:8px 10px;cursor:pointer;font-size:14px;transition:all .2s ease;z-index:10;position:relative;display:flex;align-items:center;justify-content:center;min-width:32px;height:32px}.delete-btn:hover{background:#c82333;transform:scale(1.05)}.delete-btn svg{width:16px;height:16px;fill:currentColor}.preview-btn{display:none}.evidence-item.clickable .evidence-info{pointer-events:none}.evidence-item.clickable:before{content:"📄";position:absolute;top:10px;right:10px;font-size:20px;opacity:.3;transition:opacity .2s ease}.evidence-item.clickable:hover:before{opacity:.7}.status-badge{display:inline-block;white-space:nowrap;vertical-align:middle;transition:all .2s ease}.status-badge.approved{animation:approvedPulse 2s ease-in-out}.status-badge.rejected{animation:rejectedPulse 2s ease-in-out}@keyframes approvedPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes rejectedPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.evidence-item .evidence-name{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.user-evidence-section{display:flex;flex-direction:column;gap:16px}.user-evidence-status{display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:8px;border:2px solid;background:#fff;margin-bottom:8px;transition:all .3s ease}.user-evidence-status.approved{border-color:#28a745;background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724}.user-evidence-status.rejected{border-color:#dc3545;background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24}.user-evidence-status.pending{border-color:#6c757d;background:linear-gradient(135deg,#f8f9fa,#e9ecef);color:#495057}.user-evidence-status.mixed{border-color:#ffc107;background:linear-gradient(135deg,#fff3cd,#ffeaa7);color:#856404}.status-icon{font-size:24px;font-weight:700;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#fffc;box-shadow:0 2px 4px #0000001a}.status-message{font-size:16px;font-weight:600;flex:1}.no-evidence.user-view{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px dashed #dee2e6;padding:40px 20px;text-align:center;border-radius:12px;color:#6c757d}.no-evidence.user-view:before{content:"📁";display:block;font-size:48px;margin-bottom:16px;opacity:.5}.upload-info{display:flex;align-items:center}.upload-restriction{color:#6c757d;font-size:14px;font-style:italic}.file-count-info{color:#28a745;font-size:14px;font-weight:500}.evidence-groups{display:flex;flex-direction:column;gap:20px}.employee-group{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:16px}.employee-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #dee2e6}.employee-info{display:flex;align-items:center;gap:12px;flex:1}.employee-info h4{margin:0;color:#495057;font-size:16px;font-weight:600}.evidence-count{background:#007bff;color:#fff;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.status-indicator{display:inline-flex;align-items:center;gap:4px}.employee-actions{display:flex;align-items:center;gap:8px}.employee-action-btn{width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.employee-action-btn:disabled{opacity:.6;cursor:not-allowed}.employee-action-btn svg{width:16px;height:16px;fill:currentColor}.check-btn{background:#28a745;color:#fff}.check-btn:hover:not(:disabled){background:#218838;transform:translateY(-1px);box-shadow:0 2px 8px #28a74540}.x-btn{background:#dc3545;color:#fff}.x-btn:hover:not(:disabled){background:#c82333;transform:translateY(-1px);box-shadow:0 2px 8px #dc354540}.reset-btn{background:#6c757d;color:#fff}.reset-btn:hover:not(:disabled){background:#5a6268;transform:translateY(-1px);box-shadow:0 2px 8px #6c757d40}.cancel-btn{background:#ffc107;color:#212529}.cancel-btn:hover:not(:disabled){background:#e0a800;transform:translateY(-1px);box-shadow:0 2px 8px #ffc10740}.employee-group .evidence-grid{gap:12px}.employee-group .evidence-item{background:#fff;border:1px solid #e9ecef}.employee-group .evidence-item:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff26}@media (max-width: 768px){.evidence-modal,.delete-confirmation-modal{width:95%;margin:10px}.evidence-modal-header,.evidence-modal-content{padding:15px}.evidence-modal-footer{padding:15px;flex-direction:column;gap:15px;align-items:stretch}.delete-confirmation-actions{flex-direction:column;gap:10px}.confirm-delete-btn,.cancel-delete-btn,.footer-left,.footer-right{width:100%}.footer-right{flex-direction:column;gap:12px}.upload-info{justify-content:center;text-align:center}.employee-selection{flex-direction:column;align-items:flex-start;gap:8px}.employee-select,.upload-btn,.close-btn-footer{width:100%;text-align:center}.evidence-item{flex-direction:column;align-items:flex-start;gap:10px}.evidence-actions{align-self:flex-end}.evidence-meta{flex-direction:column;gap:5px}.employee-header{flex-direction:column;align-items:flex-start;gap:8px}.employee-action-btn{width:36px;height:36px}}@media (min-width: 769px){.evidence-modal-footer{flex-direction:row;justify-content:space-between;align-items:center}.footer-left{flex:1}.footer-right{flex-direction:row;gap:12px}}.document-preview-modal{display:flex;flex-direction:column;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.document-preview-content{background:#f9fafb}.document-preview-content iframe{background:#fff}.zoom-controls button{transition:all .2s ease}.zoom-controls button:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.zoom-controls button:disabled{opacity:.5;cursor:not-allowed}.image-container{background:#f9fafb;border:1px solid #e5e7eb}.image-container::-webkit-scrollbar{display:none}.image-container{-ms-overflow-style:none;scrollbar-width:none}@media (max-width: 768px){.document-preview-modal{max-width:95vw!important;max-height:80vh!important}.document-preview-content{min-height:200px!important}.loading-spinner+p{font-size:.875rem;text-align:center;color:#6b7280}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.verify-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#f1f5f9;padding:1rem;font-family:system-ui,sans-serif}.verify-card{background:#fff;padding:2.5rem 2rem;border-radius:16px;box-shadow:0 8px 24px -4px #00000014,0 4px 12px -2px #0000000a;width:100%;max-width:480px;text-align:center}.verify-card h1{margin:0 0 1rem;font-size:1.75rem;letter-spacing:.5px;color:#1e293b}.verify-card p{margin:.75rem 0;font-size:.95rem;line-height:1.4;color:#334155}.verify-card p.success{color:#059669;font-weight:600}.verify-card p.error{color:#dc2626;font-weight:600}.verify-card p.info{color:#2563eb;font-size:.85rem;margin-top:1rem}.resend-section{margin-top:1.75rem;padding:1.25rem;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;text-align:left}.resend-section h3{margin:.25rem 0 1rem;font-size:1.05rem;color:#0f172a}.resend-section form{display:flex;gap:.65rem}.resend-section input{flex:1;padding:.65rem .85rem;border:1px solid #cbd5e1;border-radius:8px;font-size:.9rem;outline:none;transition:border .2s,box-shadow .2s}.resend-section input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.resend-section button{background:#2563eb;color:#fff;font-weight:600;padding:.65rem 1.1rem;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;letter-spacing:.3px;display:inline-flex;align-items:center;justify-content:center;min-width:110px;transition:background .2s,transform .15s}.resend-section button:hover:not(:disabled){background:#1d4ed8}.resend-section button:active{transform:translateY(1px)}.resend-section button:disabled{opacity:.6;cursor:not-allowed}.small{font-size:.8rem;margin-top:.5rem}.reset-password-page{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:radial-gradient(1000px 600px at 80% 0%,#eef7fb,#f6fbff 35%,#f9fafb)}.reset-password-modal{background:#fff;border-radius:20px;box-shadow:0 20px 60px #00000026;padding:2rem 2.5rem;max-width:480px;width:90%;margin:2rem auto;position:relative;min-height:450px}.reset-password-title{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:.5rem;text-align:center}.reset-password-logo{display:flex;justify-content:center;margin-bottom:1rem}.reset-password-subtitle{color:#6b7280;text-align:center;margin-bottom:2rem;line-height:1.5}.reset-password-form{margin-bottom:1.5rem}.reset-password-form .input-group{position:relative;width:100%}.reset-password-form .input-group input{width:100%;padding-right:2.6rem}.password-toggle{position:absolute;right:.45rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#a0aec0;cursor:pointer;padding:0;margin:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;width:2rem;height:2rem;min-width:2rem;min-height:2rem;line-height:1;z-index:2;transition:color .2s ease}.password-toggle:hover{color:#4ea685;background-color:transparent!important;box-shadow:none!important}.password-toggle:focus,.password-toggle:active,.password-toggle:focus-visible{background-color:transparent!important;box-shadow:none!important}.reset-password-strength{margin-top:8px}.reset-password-strength-track{width:100%;height:6px;background:#e5e7eb;border-radius:999px;overflow:hidden}.reset-password-strength-fill{height:100%;width:0;transition:width .2s ease,background-color .2s ease}.reset-password-strength-fill.is-weak{background:#dc2626}.reset-password-strength-fill.is-fair{background:#ea580c}.reset-password-strength-fill.is-good{background:#d97706}.reset-password-strength-fill.is-strong{background:#16a34a}.reset-password-strength-label{margin-top:6px;font-size:.82rem;font-weight:600}.reset-password-strength-label.is-weak{color:#b91c1c}.reset-password-strength-label.is-fair{color:#c2410c}.reset-password-strength-label.is-good{color:#b45309}.reset-password-strength-label.is-strong{color:#166534}.reset-password-submit-btn{width:100%;padding:.75rem;background-color:var(--primary-color, #4ea685);color:#fff;border:none;border-radius:8px;font-weight:700;font-size:1rem;cursor:pointer;transition:background .3s ease;margin-top:1rem}.reset-password-submit-btn:hover:not(:disabled){background-color:var(--secondary-color, #57b894)}.reset-password-submit-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.reset-password-footer{text-align:center;margin-top:1rem}.reset-password-footer p{color:#6b7280;font-size:.9rem;margin:0}.login-link{color:#4ea685;text-decoration:underline;font-weight:500;transition:color .2s ease}.login-link:hover{color:#57b894}@media (max-width: 600px){.reset-password-page{padding:1.25rem .75rem;background:linear-gradient(180deg,#f0f7fc,#f9fafb)}.reset-password-modal{max-width:93vw;min-width:0;width:98vw;padding:1.5rem 1rem 1rem;min-height:380px;max-height:90vh;height:auto;border-radius:2rem;margin:1rem auto}.reset-password-title{font-size:1.5rem;margin-bottom:.3rem}.reset-password-logo img{width:100px;height:auto}.reset-password-subtitle{font-size:.9rem;margin-bottom:1.5rem}.field-label{font-size:.85rem}.input-group input{font-size:.9rem;padding-right:0}.password-toggle{font-size:1rem;display:none}.reset-password-submit-btn{font-size:.95rem;padding:.65rem}.reset-password-footer p{font-size:.8rem}}@media (max-width: 480px){.reset-password-page{padding:.8rem .5rem}.reset-password-modal{padding:1rem .8rem .8rem;max-width:98vw;margin:.5rem auto;min-height:320px;border-radius:1.5rem}.reset-password-title{font-size:1.3rem;margin-bottom:.2rem}.reset-password-logo img{width:80px}.reset-password-subtitle{font-size:.8rem;margin-bottom:1.2rem}.field-label{font-size:.75rem}.input-group{padding:.3rem 0}.input-group input{font-size:.8rem;padding:.3rem 0}.input-group .input-icon{font-size:.9rem}.password-toggle{font-size:.9rem;right:.3rem;display:none}.reset-password-submit-btn{font-size:.9rem;padding:.6rem;margin-top:.8rem}.reset-password-footer p{font-size:.75rem}}@media (max-width: 360px){.reset-password-page{padding:.6rem .4rem}.reset-password-modal{padding:.8rem .6rem .6rem;max-width:99vw;margin:.3rem auto;min-height:280px;border-radius:1.2rem}.reset-password-title{font-size:1.1rem}.reset-password-logo img{width:60px}.reset-password-subtitle{font-size:.75rem;margin-bottom:1rem}.field-label{font-size:.7rem}.input-group input{font-size:.75rem;padding-right:0}.password-toggle{font-size:.8rem;right:.25rem;display:none}.reset-password-submit-btn{font-size:.85rem;padding:.55rem}.reset-password-footer p{font-size:.7rem}}@tailwind base;@tailwind components;@tailwind utilities;:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--sidebar-width: 230px;--sidebar-collapsed-width: 76px}body.sidebar-collapsed{--sidebar-width: var(--sidebar-collapsed-width)}body{margin:0;min-height:100vh}@media (max-width: 768px){:root{--sidebar-width: 0px}body.sidebar-collapsed{--sidebar-width: 0px}}
