@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap);:root{--primary-blue:#1e3a8a;--accent-blue:#1e3a8a;--background:#f7f8fa;--text-main:#1e3a8a;--text-secondary:#888;--input-border:#b0b0b0;--button-bg:#1e3a8a;--button-text:#fff;--link:#f59e0b;--link-hover:#081435;--shadow:0 2px 12px #223c6c14}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Poppins,sans-serif!important;margin:0;padding:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74d3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-container-width:fit-content;--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-padding:14px;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-toast-shadow:0px 4px 12px #0000001a;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:0.2}.Toastify__toast-container{box-sizing:border-box;color:#fff;display:flex;flex-direction:column;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:fit-content;width:var(--toastify-container-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--top-center{align-items:center;left:50%;top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top);transform:translateX(-50%)}.Toastify__toast-container--top-right{align-items:end;right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--bottom-left{bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{align-items:center;bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{align-items:end;bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right)}.Toastify__toast{--y:0;align-items:center;border-radius:6px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px #0000001a;box-shadow:var(--toastify-toast-shadow);box-sizing:border-box;display:flex;flex:1 1 auto;font-family:sans-serif;font-family:var(--toastify-font-family);margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);padding:14px;padding:var(--toastify-toast-padding);position:relative;touch-action:none;width:320px;width:var(--toastify-toast-width);word-break:break-word;z-index:0}@media only screen and (max-width:480px){.Toastify__toast-container{left:env(safe-area-inset-left);margin:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:env(safe-area-inset-right)}.Toastify__toast{--toastify-toast-width:100%;border-radius:0;margin-bottom:0}}.Toastify__toast-container[data-stacked=true]{width:320px;width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s;width:100%}.Toastify__toast--stacked[data-collapsed] .Toastify__close-button,.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{bottom:100%;content:"";height:calc(var(--g)*1px);left:0;position:absolute;right:0}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{bottom:0;content:"";height:100%;left:0;position:absolute;right:0;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{display:flex;flex-shrink:0;margin-inline-end:10px;width:22px}.Toastify--animate{animation-duration:.5s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74d3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74d3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;position:absolute;right:6px;top:6px;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:auto}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:100%;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:1}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{border-bottom-left-radius:0;left:auto;right:0;transform-origin:right}.Toastify__progress-bar--wrp{border-bottom-left-radius:6px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:6px;border-bottom-right-radius:var(--toastify-toast-bd-radius);bottom:0;height:5px;left:0;overflow:hidden;position:absolute;width:100%}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{height:100%;opacity:.2;opacity:var(--toastify-color-progress-bgo);width:100%}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{opacity:1;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg)}to{opacity:0;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(-110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-duration:.3s;animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-duration:.3s;animation-name:Toastify__slideOutRight;animation-timing-function:ease-in}.Toastify__slide-exit--top-center{animation-duration:.3s;animation-name:Toastify__slideOutUp;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-center{animation-duration:.3s;animation-name:Toastify__slideOutDown;animation-timing-function:ease-in}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loader-root{background:#fff;flex-direction:column;left:0;min-height:100vh;position:fixed;top:0;width:100vw;z-index:9999}.loader-dots,.loader-root{align-items:center;display:flex;justify-content:center}.loader-dots{gap:22px;margin-bottom:18px}.dot{animation:dot-pulse 1.2s cubic-bezier(.4,0,.2,1) infinite;background:#ccc;border-radius:50%;height:22px;opacity:.5;width:22px;will-change:opacity,transform}.dot-blue{animation-delay:0s;background:#22b6f4}.dot-darkblue{animation-delay:.2s;background:#1a3c6c}.dot-orange{animation-delay:.4s;background:#ff9800}@keyframes dot-pulse{0%,80%,to{opacity:.5;transform:scale(1)}40%{opacity:1;transform:scale(1.35)}}.loader-powered-by{animation:fadeInText 1.2s .5s forwards;color:#888;font-size:1.08rem;font-weight:500;letter-spacing:.2px;margin-top:18px;opacity:0;text-align:center}.loader-powered-by--visible{opacity:1}@keyframes fadeInText{0%{opacity:0}to{opacity:1}}@media (max-width:600px){.loader-dots{gap:14px;margin-bottom:12px}.dot{height:16px;width:16px}.loader-powered-by{font-size:.92rem;margin-top:10px}}.welcome-root{background:#f7f9fc;color:#0b1220;display:flex;flex-direction:column;min-height:100vh}.welcome-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#f3f4f6;border-bottom:none;box-shadow:none;box-sizing:border-box;flex-wrap:nowrap;justify-content:space-between;padding:32px 0 24px;position:relative;top:0;width:100%;z-index:10}.nav-left,.welcome-header{align-items:center;display:flex}.nav-left{gap:10px;margin-left:48px}.brand-logo{height:44px;margin-right:10px;object-fit:contain;width:44px}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-main{color:#204080;font-size:1.45rem;font-weight:700;letter-spacing:1.5px}.brand-sub{color:#51607a;font-size:12px}.nav-right{align-items:center;display:flex;gap:24px;margin-right:48px}.nav-link{background:#0000;border:none;border-radius:0;color:var(--text-secondary);cursor:pointer;font-size:1.1rem;font-weight:400;padding:0}.nav-link.active{color:var(--accent-blue)}.btn{border:1px solid #0000;border-radius:10px;font-weight:700;padding:12px 18px;transition:transform .04s ease,box-shadow .2s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:#1f6fff;box-shadow:0 6px 18px #1f6fff40}.btn-primary:hover{filter:brightness(1.05)}.btn-secondary{background:#eef3ff;border-color:#d9e4ff;color:#1f3a8a}.welcome-hero{align-items:center;border-radius:0;display:flex;margin:14px 0 0;min-height:72vh;overflow:hidden;padding:64px 24px;position:relative;width:100%}.welcome-hero:before{background-image:url(/static/media/home.12eae72e144ba17f4b5f.jpg);background-position:50%;background-size:cover;content:"";filter:brightness(.8);inset:0;position:absolute}.welcome-hero:after{background:linear-gradient(180deg,#070e1e26,#070e1e59);content:"";inset:0;position:absolute}.hero-left{color:#fff;max-width:680px;position:relative;z-index:1}.hero-title{color:#fff;display:flex;flex-direction:column;font-size:56px;font-weight:900;gap:6px;letter-spacing:-.5px;line-height:1.05;margin:0 0 16px;text-shadow:0 2px 14px #00000040}.hero-sub{color:#e7eefc;font-size:18px;margin:0 0 22px;text-shadow:0 2px 10px #00000040}.hero-actions{gap:12px}.hero-actions,.hero-right{align-items:center;display:flex}.hero-right{justify-content:center}.illustration-card{background:#f1f6ff;border:1px solid #dbe7ff;border-radius:16px;max-width:440px;padding:18px;position:relative;width:100%}.form-mock{background:#fff;border:1px solid #e6edf7;border-radius:12px;box-shadow:inset 0 0 0 1px #f2f6fd;padding:14px}.form-title{color:#2b3b57;font-size:14px;font-weight:700;margin-bottom:10px}.form-input{background:#eef3ff;border-radius:8px;height:14px;margin:8px 0}.form-button{background:#1f6fff;border-radius:8px;height:28px;margin:10px 0}.form-area{background:#f3f7ff;border-radius:8px;height:64px}.avatars{display:flex;flex-direction:column;gap:10px;left:-28px;position:absolute;top:28px}.avatars span{background:#9cc0ff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 6px #00000014;height:16px;width:16px}.people-illustration{background:linear-gradient(90deg,#9cc0ff20,#1f6fff18);border-radius:14px;height:180px;margin-top:14px;width:100%}.people-illustration-img{display:block;filter:drop-shadow(0 8px 16px rgba(31,111,255,.15));height:auto;margin:16px auto 0;max-width:100%;width:min(520px,45vw)}.features{margin:0 auto;max-width:1200px;padding:28px 24px 48px;width:100%}.features-title{font-size:36px;font-weight:900;margin:8px 0 22px;text-align:center}.features-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}.feature-card{align-items:flex-start;background:#fff;border:1px solid #e8eef6;border-radius:14px;box-shadow:0 6px 18px #0a1f440a;display:flex;flex-direction:column;gap:8px;padding:18px}.feature-icon{align-items:center;background:#e9f1ff;border:1px solid #dbe7ff;border-radius:10px;color:#1f6fff;display:flex;height:42px;justify-content:center;position:relative;width:42px}.feature-icon:before{color:#1f6fff;content:"✓";font-size:18px;font-weight:900}.feature-title{font-weight:800}.feature-desc{color:#51607a;font-size:14px}.welcome-footer{color:#586a86;margin-top:auto;padding:18px 24px;text-align:center}@media (max-width:992px){.welcome-hero{margin:14px auto 0;min-height:64vh;padding:48px 20px}.hero-title{font-size:44px}}@media (max-width:640px){.nav-right .btn{padding:10px 14px}.hero-title{font-size:36px}.features-grid{grid-template-columns:1fr}.hero-actions{align-items:flex-start;flex-direction:column}}@media (min-width:641px) and (max-width:900px){.welcome-hero{gap:24px;padding:36px 20px}.hero-left{max-width:none}}@media (max-width:480px){.welcome-header{padding:12px 16px}.hero-title{font-size:30px;gap:4px}.hero-sub{font-size:16px}.welcome-hero{gap:20px;padding:28px 16px}.hero-actions{width:100%}}.signin-root{animation:fadeIn .7s cubic-bezier(.4,0,.2,1);background:var(--card-bg);display:flex;flex-direction:column;min-height:100vh}.signin-root,.signin-root *,.signin-root :after,.signin-root :before{box-sizing:border-box}.signin-header,.signin-main{transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1)}.signin-header{align-items:center;background:#f3f4f6;box-shadow:none;box-sizing:border-box;display:flex;flex-wrap:nowrap;justify-content:space-between;padding:32px 0 24px;width:100%}.signin-header-left{align-items:center;display:flex;margin-left:48px}.signin-header-logo{height:32px;margin-right:10px;object-fit:contain;vertical-align:middle;width:32px}.signin-header-voltech{color:var(--accent-blue);font-size:1.3rem;font-weight:500;letter-spacing:1px}.signin-header-right{align-items:center;display:flex;gap:24px;margin-right:48px}.signin-header-link{color:var(--text-secondary);font-size:1.1rem;font-weight:400;margin-left:12px;padding-bottom:2px;position:relative;text-decoration:none;transition:color .2s}.signin-header-link.active,.signin-header-link:hover{color:var(--accent-blue)}.signin-header-link.active:after{border-bottom:2.5px solid #f59e0b;border-radius:2px;content:"";display:block;margin:2px auto 0;width:60%}.signin-main{align-items:center;display:flex;flex:1 1;justify-content:center}.signin-form{align-items:stretch;background:#fff;border-radius:6px;box-shadow:0 2px 16px #0000000f;display:flex;flex-direction:column;max-width:400px;min-width:340px;padding:40px 36px 32px;width:100%}.signin-form-title{color:var(--accent-blue);font-size:1.3rem;font-weight:500;margin-bottom:24px;text-align:center}.signin-google-btn{align-items:center;background:var(--card-bg);border:1px solid var(--input-border);border-radius:4px;color:#444;cursor:pointer;display:flex;font-size:1rem;justify-content:center;margin-bottom:22px;padding:10px 0;transition:box-shadow .2s}.signin-google-btn:hover{box-shadow:0 2px 8px #f59e0b1a}.signin-google-icon{color:#ea4335;height:22px;margin-right:12px;width:22px}.signin-or-divider{align-items:center;display:flex;justify-content:center;margin-bottom:18px}.signin-line{background:var(--accent-blue);flex:1 1;height:2px;margin:0 10px;opacity:.5}.signin-or-text{color:var(--accent-blue);font-size:1.1rem;font-weight:500}.signin-input-label{color:var(--text-secondary);font-size:1rem;margin-bottom:4px;margin-top:10px}.signin-input-field{border:1px solid var(--input-border);border-radius:4px;font-size:1rem;margin-bottom:10px;outline:none;padding:10px 12px;transition:border .2s}.signin-input-field:focus{border:1.5px solid var(--accent-blue)}.signin-password-field-wrapper{align-items:center;display:flex;position:relative}.signin-password-field-wrapper .signin-input-field{flex:1 1;padding-right:38px}.signin-eye-icon{color:var(--input-border);cursor:pointer;font-size:1.2rem;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color .2s;z-index:2}.signin-eye-icon:hover{color:var(--accent-blue)}.signin-form-links{display:flex;justify-content:flex-end;margin-bottom:8px}.signin-forgot-link:hover{color:var(--link-hover)}.signin-form-bottom-text{color:var(--text-secondary);font-size:1rem;margin-bottom:18px;text-align:left}.signin-signup-link{color:var(--link);font-weight:500;margin-left:4px;text-decoration:none;transition:color .2s}.signin-signup-link:hover{color:var(--link-hover)}.signin-btn{background:var(--button-bg);border:none;border-radius:4px;color:var(--button-text);cursor:pointer;font-size:1.1rem;font-weight:500;margin-top:8px;padding:12px 0;transition:background .2s}.signin-btn:hover{background:var(--link-hover)}.signin-back-arrow{align-items:center;background:var(--button-bg);border-radius:50%;color:var(--button-text);cursor:pointer;display:flex;font-size:1.2rem;height:34px;justify-content:center;margin-right:14px;transition:background .2s,transform .2s;width:34px}.signin-back-arrow:hover{background:var(--link-hover);transform:translateX(-3px) scale(1.08)}.signin-admin-btn{background:#204080;border:none;border-radius:6px;box-shadow:0 1px 4px #20408012;color:#fff;cursor:pointer;font-size:1.08rem;font-weight:600;letter-spacing:1px;margin-top:16px;padding:12px 0;transition:background .18s,color .18s,box-shadow .18s;width:100%}.signin-admin-btn:focus,.signin-admin-btn:hover{background:#4669b3;box-shadow:0 2px 8px #2040801f;color:#fff}.signin-header .signin-header-group{align-items:center;display:flex;gap:18px}.signin-form-back-arrow{display:flex;justify-content:center;margin-bottom:8px;margin-top:22px}.signin-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:16px;position:fixed;right:0;top:0;z-index:10000}.signin-modal{animation:modalSlideIn .3s cubic-bezier(.34,1.56,.64,1);background:#fff;border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 20px 60px #00000026,0 8px 32px #0000001a;box-sizing:border-box;margin:0 auto;max-width:400px;min-width:320px;padding:32px 28px 28px;position:relative;width:100%}.signin-modal-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.signin-modal-header h2{color:#1e293b;font-size:1.25rem;font-weight:700;letter-spacing:-.025em;margin:0}.signin-close-button{align-items:center;background:none;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:1.75rem;height:32px;justify-content:center;margin-left:12px;padding:0;transition:all .2s ease;width:32px}.signin-close-button:hover{background:#f1f5f9;color:#1e293b}.signin-forgot-form .signin-input-label{color:#374151;display:block;font-size:.95rem;font-weight:600;margin-bottom:6px;margin-top:16px}.signin-forgot-form .signin-input-label:first-child{margin-top:0}.signin-forgot-form .signin-input-field{background:#fafafa;border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;color:#1f2937;font-size:1rem;margin-bottom:16px;outline:none;padding:12px 16px;transition:all .2s ease;width:100%}.signin-forgot-form .signin-input-field:focus{background:#fff;border:2px solid #3b82f6;box-shadow:0 0 0 3px #3b82f61a}.signin-forgot-form .signin-input-field::placeholder{color:#9ca3af}.signin-forgot-form .signin-password-field-wrapper{align-items:center;box-sizing:border-box;display:flex;margin-bottom:16px;position:relative;width:100%}.signin-forgot-form .signin-eye-icon{border-radius:4px;color:#6b7280;cursor:pointer;font-size:1.1rem;padding:4px;position:absolute;right:16px;top:50%;transform:translateY(-50%);transition:all .2s ease;z-index:2}.signin-forgot-form .signin-eye-icon:hover{background:#f3f4f6;color:#3b82f6}.signin-modal .signin-forgot-form{box-sizing:border-box;max-width:400px;min-width:320px;width:100%}.signin-forgot-form .signin-btn{padding:12px 0}.signin-forgot-link{background:none;border:none;color:var(--link);cursor:pointer;font-size:1rem;padding:0;text-decoration:none;transition:color .2s}.signin-error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.9rem;font-weight:500;margin-bottom:16px;padding:8px 12px;text-align:center}.signin-modal-text-btn{background:#3b82f6;border:none;border-radius:8px;box-shadow:0 1px 3px #0000001a;box-sizing:border-box;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:8px;padding:14px 0;transition:all .2s ease;width:100%}.signin-modal-text-btn:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.signin-modal-text-btn:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}@media (max-width:600px){.signin-modal-overlay{padding:10px}.signin-header{align-items:center;flex-direction:row;justify-content:space-between;padding:10px 0}.signin-header-left,.signin-header-right{display:none;margin:0;padding:0}.signin-header .signin-header-group{display:flex;flex-wrap:wrap;gap:10px;margin:0 8px}.signin-header-left{align-items:center;display:flex;margin-left:48px}.signin-header-right{align-items:center;display:flex;gap:24px;margin-right:48px}.signin-header-logo{height:24px;margin-right:6px;width:24px}.signin-header-voltech{font-size:1rem}.signin-header-link{font-size:.95rem;margin-left:6px}.signin-form{max-width:98vw;min-width:90vw;padding:18px 6vw}.signin-form-title{font-size:1.1rem}.signin-google-btn{font-size:.95rem;padding:8px 0}.signin-forgot-link,.signin-form-bottom-text,.signin-input-label{font-size:.95rem}.signin-btn{font-size:1rem;padding:10px 0}.signin-password-field-wrapper .signin-input-field{padding-right:32px}.signin-eye-icon{font-size:1rem;right:8px}.signin-google-icon{height:18px;margin-right:8px;width:18px}.signin-back-arrow{font-size:1rem;height:26px;margin-right:8px;width:26px}.signin-form-back-arrow{margin-bottom:6px;margin-top:18px}.signin-header-back{display:none}.signin-modal{border-radius:12px;margin:20px;max-width:95vw;min-width:85vw;padding:24px 20px;width:85vw}.signin-modal-header{margin-bottom:20px;padding-bottom:12px}.signin-modal-header h2{font-size:1.1rem}.signin-close-button{font-size:1.5rem;height:28px;margin-left:8px;width:28px}.signin-forgot-form .signin-input-label{font-size:.9rem;margin-bottom:4px;margin-top:12px}.signin-forgot-form .signin-input-field{font-size:.95rem;margin-bottom:12px;padding:10px 12px}.signin-forgot-form .signin-password-field-wrapper{margin-bottom:12px}.signin-forgot-form .signin-eye-icon{font-size:1rem;right:12px}.signin-modal .signin-forgot-form{max-width:100%;min-width:100%;width:100%}.signin-modal-text-btn{font-size:.95rem;margin-top:12px;padding:12px 0}.signin-error-message{font-size:.85rem;margin-bottom:12px;padding:6px 10px}}@media (max-width:480px){.signin-modal{margin:10px;max-width:95vw;min-width:90vw;padding:20px 16px;width:90vw}.signin-modal-header h2{font-size:1rem}.signin-forgot-form .signin-input-label{font-size:.85rem}.signin-forgot-form .signin-input-field{font-size:.9rem;padding:8px 10px}.signin-modal-text-btn{font-size:.9rem;padding:10px 0}}.success-message{align-items:center;animation:slideInRight .3s ease-in-out;background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 20px #00000026;display:flex;font-family:inherit;gap:16px;justify-content:space-between;max-width:400px;min-width:300px;padding:20px 24px;position:fixed;right:20px;top:20px;transition:all .3s ease;z-index:10001}.success-message:hover{box-shadow:0 6px 25px #0003;transform:translateY(-2px)}.success-message.error,.success-message.info,.success-message.success,.success-message.warning{background:#fff}.message-content{align-items:center;display:flex;flex:1 1;gap:12px}.message-text{color:#333;flex:1 1;font-size:16px;font-weight:500;line-height:1.5}.message-close{align-items:center;background:#e0e0e0;border:none;border-radius:50%;color:#ff8c00;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:30px;justify-content:center;min-height:30px;min-width:30px;padding:8px;transition:all .2s ease;width:30px}.message-close:hover{background:#d0d0d0;transform:scale(1.05)}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}.signup-root{animation:fadeIn .7s cubic-bezier(.4,0,.2,1);background:var(--card-bg);display:flex;flex-direction:column;min-height:100vh}.signup-top-banner{animation:slideDown .5s ease-out;background:linear-gradient(135deg,#fee2e2,#fecaca);border-bottom:2px solid #ef4444;box-shadow:0 2px 8px #ef44441a;left:0;position:fixed;right:0;top:0;width:100%;z-index:1001}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.signup-banner-content{align-items:center;display:flex;gap:8px;justify-content:center;margin:0 auto;max-width:1200px;padding:12px 20px}.signup-banner-icon{flex-shrink:0;font-size:1.2rem}.signup-banner-text{color:#991b1b;font-size:.95rem;font-weight:600;line-height:1.4;text-align:center}.signup-header,.signup-main{transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1)}.signup-header{align-items:center;background:#f3f4f6;box-shadow:none;box-sizing:border-box;display:flex;flex-wrap:wrap;justify-content:space-between;margin-top:60px;padding:32px 0 24px;position:relative;width:100%;z-index:1002}.signup-header-left{align-items:center;display:flex;margin-left:48px}.signup-header-logo{height:32px;margin-right:10px;object-fit:contain;vertical-align:middle;width:32px}.signup-header-voltech{color:var(--accent-blue);font-size:1.7rem;font-weight:500;letter-spacing:1px}.signup-header-right{align-items:center;display:flex;gap:24px;margin-right:48px}.signup-header-link{color:var(--text-secondary);font-size:1.1rem;font-weight:400;margin-left:12px;padding-bottom:2px;position:relative;text-decoration:none;transition:color .2s}.signup-header-link.active,.signup-header-link:hover{color:var(--accent-blue)}.signup-header-link.active:after{border-bottom:2px solid #f59e0b;content:"";display:block;margin:2px auto 0;width:60%}.signup-main{align-items:center;display:flex;flex:1 1;justify-content:center;position:relative}.signup-main.disabled{opacity:.3;pointer-events:none}.signup-form{align-items:stretch;background:var(--card-bg);border-radius:6px;box-shadow:0 2px 16px #0000000f;display:flex;flex-direction:column;margin-top:40px;max-width:480px;min-width:340px;padding:40px 36px 32px;position:relative;width:100%}.signup-info-message{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-size:.9rem;font-weight:500;margin-bottom:20px;padding:12px 16px;text-align:center}.signup-info-message.signup-warning{background:#fef3c7;border-color:#f59e0b;color:#92400e}.signup-info-message.signup-success{background:#d1fae5;border-color:#10b981;color:#065f46}.signup-info-message.signup-error{background:#fee2e2;border-color:#ef4444;color:#991b1b}.signup-form-disabled-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffe6;border-radius:6px;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.signup-form-disabled-message{background:#fee2e2;border:1px solid #ef4444;border-radius:8px;box-shadow:0 4px 12px #0000001a;color:#991b1b;font-weight:600;padding:16px 24px;text-align:center}.signup-form-title{color:var(--accent-blue);font-size:1.3rem;font-weight:500;margin-bottom:24px;text-align:center}.signup-google-btn{align-items:center;background:var(--card-bg);border:1px solid var(--input-border);border-radius:4px;color:#444;cursor:pointer;display:flex;font-size:1rem;justify-content:center;margin-bottom:22px;padding:10px 0;transition:box-shadow .2s}.signup-google-btn:hover{box-shadow:0 2px 8px #f59e0b1a}.signup-google-icon{color:var(--accent-blue);height:22px;margin-right:12px;width:22px}.signup-or-divider{align-items:center;display:flex;justify-content:center;margin-bottom:18px}.signup-line{background:var(--accent-blue);flex:1 1;height:2px;margin:0 10px;opacity:.5}.signup-or-text{color:var(--accent-blue);font-size:1.1rem;font-weight:500}.signup-input-label{color:var(--text-secondary);font-size:1rem;margin-bottom:4px;margin-top:10px}.signup-input-field{border:1px solid var(--input-border);border-radius:4px;font-size:1rem;margin-bottom:10px;outline:none;padding:10px 12px;transition:border .2s}.signup-input-field:focus{border:1.5px solid var(--accent-blue)}.signup-password-field-wrapper{align-items:center;display:flex;position:relative}.signup-password-field-wrapper .signup-input-field{flex:1 1;padding-right:38px}.signup-eye-icon{color:var(--input-border);cursor:pointer;font-size:1.2rem;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color .2s;z-index:2}.signup-eye-icon:hover{color:var(--accent-blue)}.signup-form-bottom-text{color:var(--text-secondary);font-size:1rem;margin-bottom:18px;text-align:left}.signup-signin-link{color:var(--link);font-weight:500;margin-left:4px;text-decoration:none;transition:color .2s}.signup-signin-link:hover{color:var(--link-hover)}.signup-btn{background:var(--button-bg);border:none;border-radius:4px;color:var(--button-text);cursor:pointer;font-size:1.1rem;font-weight:500;margin-top:8px;padding:12px 0;transition:background .2s}.signup-btn:hover{background:var(--link-hover)}.signup-header .signup-header-group{align-items:center;display:flex;gap:18px}.signup-error-message{color:#dc2626;font-size:.9rem;margin-bottom:10px;text-align:center}@media (max-width:600px){.signup-top-banner{box-shadow:0 4px 12px #ef444433}.signup-banner-content{gap:6px;padding:10px 16px}.signup-banner-icon{font-size:1.1rem}.signup-banner-text{font-size:.85rem;font-weight:600;line-height:1.3}.signup-header{align-items:center;background:#f3f4f6;box-shadow:none;flex-direction:row;justify-content:space-between;margin-top:50px;padding:10px 0}.signup-header .signup-header-group{flex-wrap:wrap;gap:10px;margin:0 8px}.signup-header-left,.signup-header-right{display:none;margin:0;padding:0}.signup-header-logo{height:24px;margin-right:6px;width:24px}.signup-header-voltech{font-size:1rem}.signup-header-link{color:var(--text-secondary);font-size:.95rem;margin-left:6px}.signup-header-link.active,.signup-header-link:hover{color:var(--accent-blue)}.signup-form{background:var(--card-bg);margin-top:0;max-width:98vw;min-width:90vw;padding:18px 6vw}.signup-form-title{color:var(--accent-blue);font-size:1.1rem}.signup-google-btn{background:var(--card-bg);border:1px solid var(--input-border);font-size:.95rem;padding:8px 0}.signup-form-bottom-text,.signup-input-label,.signup-signin-link{color:var(--text-secondary);font-size:.95rem}.signup-btn{background:var(--button-bg);color:var(--button-text);font-size:1rem;padding:10px 0}.signup-btn:hover{background:var(--link-hover)}.signup-password-field-wrapper .signup-input-field{border:1px solid var(--input-border);padding-right:32px}.signup-eye-icon{color:var(--input-border);font-size:1rem;right:8px}.signup-eye-icon:hover,.signup-google-icon{color:var(--accent-blue)}.signup-google-icon{height:18px;margin-right:8px;width:18px}}@media (max-width:400px){.signup-banner-content{gap:4px;padding:8px 12px}.signup-banner-text{font-size:.8rem;line-height:1.2}.signup-header{margin-top:45px}}@keyframes pulse{0%{box-shadow:0 0 0 0 #e53e3eb3}70%{box-shadow:0 0 0 6px #e53e3e00}to{box-shadow:0 0 0 0 #e53e3e00}}.dashboard-section{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px}.disciplinary-table,.enrolment-chart{background:#fff;border-radius:10px;box-shadow:0 2px 8px #2040800a;flex:1 1;min-width:320px;padding:24px}.section-title{color:#222;font-size:1.15rem;font-weight:600;margin-bottom:16px}.chart-placeholder{height:240px;margin-bottom:8px;overflow:visible;position:relative;width:100%}.enrolment-info{color:#666;font-size:.98rem;margin-top:4px}.disciplinary-table table{border-collapse:collapse;margin-top:8px;width:100%}.disciplinary-table td,.disciplinary-table th{font-size:1rem;padding:8px 6px;text-align:left}.disciplinary-table th{background:#f7f8fa;color:#888;font-weight:500}.disciplinary-table tr:nth-child(2n) td{background:#f7f8fa}.admin-container,.admin-header,.dashboard-cards,.dashboard-section,.main-content{box-sizing:border-box;max-width:100vw;overflow-x:hidden}.table-scroll table{border-collapse:collapse;width:100%}@media (max-width:700px){.sidebar{box-shadow:2px 0 8px #20408014;height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.menu-toggle{display:block}.main-content{box-sizing:border-box;margin-left:0;min-width:0;padding:0 8px 12px}.admin-header{align-items:center;flex-direction:row;gap:0;justify-content:space-between;min-width:0;padding:8px 4px 0}.admin-header-left{align-items:center;display:flex;gap:6px;min-width:0}.year-select{font-size:.98rem;margin:0;max-width:100px;min-width:0;width:auto}.admin-actions{flex-shrink:0;gap:6px;justify-content:flex-end;margin-bottom:0;width:auto}.notification-bell{height:28px;margin-right:4px;width:28px}.notification-bell svg{font-size:.9rem!important}.notification-badge{align-items:center;border:1px solid #fff;border-radius:50%;display:flex;font-size:.5rem;height:12px;justify-content:center;line-height:1;padding:0;right:-1px;text-align:center;top:-1px;width:12px}.admin-name{font-size:.98rem;margin-left:4px}.disciplinary-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.disciplinary-table table{min-width:420px}.table-scroll{background:#fff;border-radius:6px;margin-bottom:2px;max-width:100vw;overflow-x:auto}.table-scroll table{min-width:500px;width:max-content}.table-scroll td,.table-scroll th{white-space:nowrap}}.calendar-section{align-items:stretch;display:flex;flex-direction:column;justify-content:flex-start}.calendar-wrapper{align-items:center;padding-top:8px;width:100%}.admin-calendar{background:#f7f8fa;border:none;border-radius:10px;box-shadow:0 2px 8px #2040800a;font-size:1rem;max-width:340px;width:100%}@media (max-width:900px){.calendar-wrapper{max-width:100vw;padding:0}.admin-calendar{font-size:.98rem;max-width:100vw}}@media (max-width:700px){.admin-calendar{border-radius:10px;box-shadow:0 2px 8px #2040800a;font-size:.95rem;margin:8px 5px 16px;overflow-x:auto}.admin-calendar,.calendar-wrapper{max-width:calc(100vw - 10px);min-width:0;width:calc(100vw - 10px)}.calendar-wrapper{align-items:center;justify-content:center;margin:0 auto;padding:0}}.event-calendar{max-width:100%!important;min-width:0!important;overflow-y:visible!important;width:100%!important}.profile-modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.profile-modal-content{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:480px;overflow-y:auto;width:100%}.profile-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:24px 24px 20px}.profile-modal-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.profile-modal-close{background:none;border:none;border-radius:8px;color:#6b7280;cursor:pointer;font-size:1.2rem;padding:8px;transition:all .2s ease}.profile-modal-close:hover{background:#f3f4f6;color:#374151}.profile-modal-body{padding:24px}.profile-image-section{align-items:center;display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.profile-image-preview{align-items:center;background:#f3f4f6;border:4px solid #eaf3ff;border-radius:50%;display:flex;height:120px;justify-content:center;overflow:hidden;position:relative;width:120px}.profile-preview-img{height:100%;object-fit:cover;width:100%}.profile-placeholder{color:#9ca3af;font-size:3rem}.profile-image-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;opacity:0;padding:8px;position:absolute;right:0;transition:opacity .2s ease}.profile-image-preview:hover .profile-image-overlay{opacity:1}.camera-icon{background:#fff3;border-radius:50%;color:#fff;cursor:pointer;font-size:1.2rem;padding:8px;transition:background .2s ease}.camera-icon:hover{background:#ffffff4d}.remove-image-btn{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background .2s ease}.remove-image-btn:hover{background:#dc2626}.profile-input-section{margin-bottom:20px}.profile-input-section label{color:#374151;display:block;font-size:.95rem;font-weight:500;margin-bottom:8px}.profile-input{border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:12px 16px;transition:border-color .2s ease;width:100%}.profile-input:focus{border-color:#204080;box-shadow:0 0 0 3px #2040801a;outline:none}.profile-modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px 24px}.profile-cancel-btn{background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;font-size:.95rem;font-weight:500;padding:12px 24px;transition:all .2s ease}.profile-cancel-btn:hover{background:#e5e7eb}.profile-update-btn{background:#204080;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:12px 24px;transition:background .2s ease}.profile-update-btn:hover:not(:disabled){background:#1b3a4b}.profile-update-btn:disabled{background:#9ca3af;cursor:not-allowed}@media (max-width:700px){.profile-modal-overlay{padding:16px}.profile-modal-content{border-radius:12px;max-width:100%}.profile-modal-header{padding:20px 20px 0}.profile-modal-header h2{font-size:1.3rem}.profile-modal-body{padding:20px}.profile-image-preview{height:100px;width:100px}.profile-placeholder{font-size:2.5rem}.profile-modal-footer{flex-direction:column;padding:16px 20px 20px}.profile-cancel-btn,.profile-update-btn{padding:14px 24px;width:100%}}.sidebar{height:100vh;min-height:0}.sidebar-header{align-items:center;background:#f7f8fa;color:#204080;display:flex;flex-shrink:0;font-size:.68rem;font-weight:700;gap:4px;height:40px;letter-spacing:.5px;padding:0 8px}.sidebar-logo{height:12px;margin-right:2px;width:12px}.logo-text{font-size:.68rem}.sidebar .logo{align-items:center;display:flex;gap:8px}.menu{flex:1 1 auto;margin-top:0;min-height:0;overflow-y:auto;scroll-behavior:smooth}.menu::-webkit-scrollbar{width:8px}.menu::-webkit-scrollbar-track{background:#f0f0f0;border-radius:2px}.menu::-webkit-scrollbar-thumb{background:#204080;border-radius:4px}.menu::-webkit-scrollbar-thumb:hover{background:#102040}.menu::-webkit-scrollbar-button{display:none}.menu{scrollbar-color:#204080 #f0f0f0;scrollbar-width:thin}.menu-item{border-radius:5px;font-size:.58rem;gap:8px;margin:1px 6px;padding:7px 12px;position:relative}.menu-item .icon{flex-shrink:0;font-size:.7rem}.menu-item .menu-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item:focus-visible{outline:2px solid #cbd5e1;outline-offset:2px}.menu-item.has-submenu .chevron{color:#fffc;flex-shrink:0;margin-left:6px;transition:transform .2s ease}.menu-item.has-submenu.expanded .chevron{transform:rotate(180deg)}.submenu{border-left:1px solid #ffffff2e;margin-left:14px;max-height:0;overflow:hidden;padding-left:10px;transition:max-height .25s ease}.submenu.expanded{max-height:600px}.submenu-item{align-items:center;background:none!important;border-radius:5px!important;color:#fff;cursor:pointer;display:flex;font-size:.95rem;gap:8px;margin:4px 6px 4px 8px;padding:6px 10px!important;transition:color .16s,background .16s}.submenu-item .icon{flex-shrink:0;font-size:.95rem;opacity:.95}.submenu-item .menu-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.submenu-item.active,.submenu-item:hover{background:#fff!important;border-radius:5px!important;box-shadow:0 1px 4px #2040800a;color:#204080!important}.see-more-btn{align-items:center;background:none!important;border:none!important;border-radius:5px!important;color:#f59e0b!important;cursor:pointer;display:flex;font-size:.77rem!important;font-weight:600!important;justify-content:center;margin:8px 6px!important;padding:7px 0!important}.see-more-btn:active,.see-more-btn:focus,.see-more-btn:hover{background:none!important;color:#d97706!important}@media (max-width:900px){.dashboard-cards,.dashboard-section{flex-direction:column;gap:18px}}@media (min-width:701px){.admin-header{padding-left:240px;padding-right:24px}}@media (max-width:700px){.sidebar{box-shadow:2px 0 8px #20408014;height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.menu-toggle{display:block}.main-content{box-sizing:border-box;margin-left:0;min-width:0;padding:0 8px 12px}.admin-header{align-items:center;flex-direction:row;gap:0;justify-content:space-between;min-width:0;padding:8px 4px 0}.admin-header-left{align-items:center;display:flex;gap:6px;min-width:0}.year-select{font-size:.98rem;margin:0;max-width:100px;min-width:0;width:auto}.admin-actions{flex-shrink:0;gap:8px;justify-content:flex-end;margin-bottom:0;width:auto}.admin-name{font-size:.98rem;margin-left:4px}.admin-header{padding-left:8px;padding-right:4px}}@media (max-width:480px){.admin-actions{gap:6px}.admin-header-left{gap:4px}.admin-header{padding:6px 2px 0}.admin-header-left img{height:36px!important;width:36px!important}.admin-header-left span{font-size:1.2rem!important}}@media (max-width:360px){.admin-actions{gap:4px}.admin-header-left{gap:3px}.admin-header{padding:4px 1px 0}.admin-header-left img{height:32px!important;width:32px!important}.admin-header-left span{font-size:1.1rem!important}}.submenu-list{margin-left:32px}.teacher-container{background:#f7f8fa;display:flex;min-height:100vh}.teacher-sidebar{background:#204080;bottom:0;color:#fff;left:0;min-height:100vh;position:fixed;top:0;transition:width .2s;width:220px;z-index:1000}.teacher-sidebar.open{width:220px}.teacher-sidebar-header{align-items:center;display:flex;padding:24px 18px 12px}.teacher-sidebar-logo{height:32px;margin-right:8px;object-fit:contain;width:32px}.teacher-logo-text{color:#fff;font-size:1.25rem;font-weight:700;letter-spacing:1.2px}.teacher-menu{display:flex;flex-direction:column;gap:2px;margin-top:10px}.teacher-menu-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:1.08rem;font-weight:500;gap:12px;padding:12px 18px;position:relative;transition:background .13s}.teacher-menu-item.active,.teacher-menu-item:hover{background:#fff;color:#204080}.teacher-menu-item .icon{font-size:1.2em}.teacher-main{background:#f7f8fa;flex:1 1;margin-left:220px;min-height:100vh;transition:margin-left .2s}.teacher-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 2px 8px #2040800f;display:flex;justify-content:space-between;padding:18px 32px 18px 18px;position:sticky;top:0;z-index:1100}.teacher-header-left{align-items:center;display:flex;gap:18px}.teacher-menu-toggle{background:none;border:none;color:#204080;cursor:pointer;font-size:1.5rem;margin-right:8px}.teacher-actions{align-items:center;display:flex;gap:12px}.teacher-sidebar-overlay{background:#20408021;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}@media (max-width:900px){.teacher-main{margin-left:0}.teacher-sidebar{box-shadow:2px 0 8px #20408014;height:100vh;left:0;position:fixed;top:0}.teacher-sidebar.open{transform:translateX(0)}.teacher-menu-toggle{display:block}}@media (max-width:700px){.teacher-main{margin-left:0;padding:0 8px 12px}.teacher-header{padding:8px 4px 0}.teacher-header-left{gap:6px}}.custom-notification-bell{align-items:center;display:inline-block;display:flex;justify-content:center;margin-right:6px;min-height:44px;min-width:44px;position:relative;transition:transform .2s ease}.custom-notification-bell:hover{transform:scale(1.05)}.bell-background{align-items:center;background:#007bff;border-radius:50%;box-shadow:0 2px 8px #007bff4d;display:flex;height:32px;justify-content:center;position:relative;width:32px}.bell-icon{fill:#fff;color:#fff;height:18px;width:18px}.notification-badge{background:#007bff;border:2px solid #fff;box-shadow:0 1px 3px #0003;height:16px;width:16px;z-index:10}@media (max-width:768px){.custom-notification-bell{margin-right:4px}.bell-background{height:26px;width:26px}.bell-icon{height:14px;width:14px}.notification-badge{border-width:1.5px;height:13px;right:-1px;top:-1px;width:13px}.badge-number{font-size:8px}}@media (max-width:480px){.custom-notification-bell{margin-right:3px}.bell-background{height:22px;width:22px}.bell-icon{height:12px;width:12px}.notification-badge{border-width:1px;height:11px;right:-1px;top:-1px;width:11px}.badge-number{font-size:7px}}@media (max-width:360px){.custom-notification-bell{margin-right:2px}.bell-background{height:20px;width:20px}.bell-icon,.notification-badge{height:10px;width:10px}.notification-badge{border-width:1px;right:-1px;top:-1px}.badge-number{font-size:6px}}@media (max-width:768px){.custom-notification-bell{min-height:40px;min-width:40px}}@media (max-width:480px){.custom-notification-bell{min-height:36px;min-width:36px}}@media (max-width:360px){.custom-notification-bell{min-height:32px;min-width:32px}}.custom-message-icon{align-items:center;display:inline-block;display:flex;justify-content:center;margin-right:6px;min-height:44px;min-width:44px;position:relative;transition:transform .2s ease}.custom-message-icon:hover{transform:scale(1.05)}.message-background{align-items:center;background:#007bff;border-radius:50%;box-shadow:0 2px 8px #007bff4d;display:flex;height:32px;justify-content:center;position:relative;width:32px}.message-icon{fill:#fff;color:#fff;height:18px;width:18px}.message-badge{align-items:center;background:#007bff;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px #0003;display:flex;height:16px;justify-content:center;position:absolute;right:-2px;top:-2px;width:16px;z-index:10}.badge-number{color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:10px;font-weight:700;line-height:1;text-align:center}@media (max-width:768px){.custom-message-icon{margin-right:4px}.message-background{height:26px;width:26px}.message-icon{height:14px;width:14px}.message-badge{border-width:1.5px;height:13px;right:-1px;top:-1px;width:13px}.badge-number{font-size:8px}}@media (max-width:480px){.custom-message-icon{margin-right:3px}.message-background{height:22px;width:22px}.message-icon{height:12px;width:12px}.message-badge{border-width:1px;height:11px;right:-1px;top:-1px;width:11px}.badge-number{font-size:7px}}@media (max-width:360px){.custom-message-icon{margin-right:2px}.message-background{height:20px;width:20px}.message-badge,.message-icon{height:10px;width:10px}.message-badge{border-width:1px;right:-1px;top:-1px}.badge-number{font-size:6px}}@media (max-width:768px){.custom-message-icon{min-height:40px;min-width:40px}}@media (max-width:480px){.custom-message-icon{min-height:36px;min-width:36px}}@media (max-width:360px){.custom-message-icon{min-height:32px;min-width:32px}}.sidebar{background:#204080;bottom:0;color:#fff;display:flex;flex-direction:column;left:0;position:fixed;top:0;transform:translateX(0);transition:transform .3s cubic-bezier(.4,0,.2,1);width:240px;z-index:1000}.sidebar .sidebar-header{align-items:center;background:#f7f8fa;color:#204080;display:flex;font-size:1.3rem;font-weight:700;gap:10px;height:64px;letter-spacing:1px;padding:0 24px}.sidebar-logo{height:32px;margin-right:8px;object-fit:contain;width:32px}.logo-text{color:#204080;font-size:1.2rem;font-weight:700}.menu{display:flex;flex:1 1;flex-direction:column;margin-top:24px}.menu-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:1.05rem;gap:16px;margin:2px 12px;padding:12px 24px;transition:background .2s}.menu-item.active,.menu-item:hover{background:#4669b3}.menu-item .icon{font-size:1.2rem}.main-content{flex:1 1;margin-left:240px;padding:0 24px 24px;width:100%}.admin-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;height:64px;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:10}.admin-header-left{align-items:center;display:flex;gap:10px}.menu-toggle{background:none;border:none;display:none;font-size:1.6rem}.menu-toggle,.year-select{color:#204080;cursor:pointer}.year-select{appearance:none;background:#f7f8fa;border:1px solid #e5e7eb;border-radius:6px;font-size:1.1rem;font-weight:500;max-width:180px;min-width:150px;outline:none;padding:6px 18px;transition:border .2s}.year-select:focus{border:1.5px solid #204080}.admin-actions{align-items:center;display:flex;gap:18px}.admin-actions .icon{color:#204080;cursor:pointer;font-size:1.3rem;position:relative}.admin-actions .badge{background:#e53e3e;border-radius:50%;color:#fff;font-size:.7rem;font-weight:700;padding:2px 6px;position:absolute;right:-7px;top:-7px}.admin-actions .badge.orange{background:#f6ad55;color:#fff}.admin-name{color:#204080;font-weight:500;margin-left:8px}.card.students{background:#4eaaff;color:#fff}.card.students .icon{color:#fff}.card.fees{background:#1b3a4b;color:#fff}.card.fees .icon{color:#fff}.card.discipline{background:#204080}.student-section{background:#fff;border-radius:10px;box-shadow:0 2px 8px #2040800a;margin-top:18px;padding:24px}.student-header-row{align-items:center;display:flex;margin-bottom:12px}.add-student-btn{align-items:center;background:#204080;border:none;border-radius:6px;box-shadow:0 1px 4px #20408012;color:#fff;cursor:pointer;display:flex;font-size:1.08rem;font-weight:500;gap:8px;padding:8px 18px;transition:background .18s,color .18s}.add-student-btn:focus,.add-student-btn:hover{background:#4eaaff;color:#fff}.student-table-wrapper{overflow-x:auto;width:100%}.student-table{background:#fff;border-collapse:collapse;min-width:900px;width:100%}.student-table td,.student-table th{font-size:1rem;padding:10px 8px;text-align:left}.student-table th{color:#888;font-weight:500}.student-table th,.student-table tr:nth-child(2n) td{background:#f7f8fa}.student-table td:last-child,.student-table th:last-child{text-align:center}.sidebar-overlay{animation:fadeIn .2s;background:#0000002e;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}@media (max-width:900px){.dashboard-cards{flex-direction:column;gap:18px}}@media (max-width:700px){.sidebar{box-shadow:2px 0 8px #20408014;height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.menu-toggle{display:block}.main-content{box-sizing:border-box;margin-left:0;min-width:0;padding:0 8px 12px}.admin-header{align-items:center;flex-direction:row;gap:0;justify-content:space-between;min-width:0;padding:8px 4px 0}.admin-header-left{align-items:center;display:flex;gap:6px;min-width:0}.year-select{font-size:.98rem;margin:0;max-width:100px;min-width:0;width:auto}.admin-actions{flex-shrink:0;gap:8px;justify-content:flex-end;margin-bottom:0;width:auto}.admin-name{font-size:.98rem;margin-left:4px}.student-section{margin-top:10px;padding:8px}.student-table-wrapper{padding:0}.student-table{font-size:.98rem;min-width:600px}}.logout-btn{align-items:center;background:#fff;border:none;border-radius:6px;box-shadow:0 1px 4px #20408012;color:#204080;cursor:pointer;display:flex;font-size:1.08rem;font-weight:600;gap:10px;justify-content:center;margin:18px 16px 12px;padding:10px 0;transition:background .18s,color .18s;width:calc(100% - 32px)}.logout-btn:focus,.logout-btn:hover{background:#eaf3ff;color:#1b3a4b}.logout-icon{font-size:1.2rem}@media (max-width:700px){.logout-btn{font-size:1rem;margin:14px 12px 10px;padding:9px 0;width:calc(100% - 24px)}}.add-student-fab{align-items:center;background:#204080;border:none;border-radius:50%;box-shadow:0 4px 16px #2040802e;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:60px;justify-content:center;transition:background .18s,box-shadow .18s;width:60px}.add-student-fab:focus,.add-student-fab:hover{background:#4eaaff;box-shadow:0 6px 24px #20408038;color:#fff}.student-search-bar{box-sizing:border-box;font-size:1rem;margin-left:0;margin-right:0;max-width:340px;min-width:180px;transition:box-shadow .18s;width:100%}.print-list-btn,.upload-many-btn{align-items:center;display:flex;font-size:1rem;gap:8px;margin-left:0;margin-right:0;white-space:nowrap}@media (max-width:700px){.student-search-bar{max-width:100vw;min-width:120px}.print-list-btn,.student-search-bar,.upload-many-btn{font-size:.98rem;padding:7px 10px}}@media print{body *{visibility:hidden!important}.print-class-list-area,.print-class-list-area *{visibility:visible!important}.print-class-list-area{background:#fff;box-sizing:border-box;color:#222;font-size:15px;left:0;min-width:100vw;padding:24px 18px;position:absolute;top:0;width:100vw}@page{size:A4 landscape;margin:18mm 10mm 18mm 10mm}}.student-list-report-container{background:#fff;box-sizing:border-box;color:#000;font-family:Arial,sans-serif;margin:0 auto;min-height:297mm;padding:20mm;position:relative;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;width:210mm}.report-table{font-size:10px}.report-table td,.report-table th{padding:6px 4px}.report-table th{font-size:9px}.student-list-report-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:2000}.student-list-report-modal-content{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;max-height:95vh;max-width:95vw;overflow-y:auto;position:relative}.student-list-report-modal-content .student-list-report-container{border-radius:0;box-shadow:none;margin:0 auto;max-width:210mm;padding:15mm;width:100%}@media (max-width:1200px){.student-list-report-modal-content .student-list-report-container{padding:10mm}.report-table{font-size:9px}.report-table td,.report-table th{padding:4px 2px}}@media (max-width:900px){.student-list-report-modal-content .student-list-report-container{padding:8mm}.report-header{align-items:flex-start;flex-direction:column;gap:15px}.report-title-group h1{font-size:24px}.report-title-group h2{font-size:18px}.report-title-group h3{font-size:14px}.report-meta{font-size:11px;text-align:left}.report-table{font-size:8px}.report-table td,.report-table th{padding:3px 1px}}@media (max-width:600px){.student-list-report-modal-content{margin:10px;max-width:calc(100vw - 20px)}.student-list-report-modal-content .student-list-report-container{min-width:0;padding:5mm;width:100%}.report-title-group h1{font-size:20px}.report-title-group h2{font-size:16px}.report-title-group h3{font-size:12px}.report-section h4{font-size:16px}.report-table{display:block;font-size:7px;overflow-x:auto;white-space:nowrap}.report-table tbody,.report-table thead,.report-table tr{display:table;table-layout:fixed;width:100%}.download-pdf-btn{font-size:12px;padding:10px 16px;right:10px;top:10px}}@media print{.student-list-report-modal-content,.student-list-report-modal-overlay{background:none!important;border-radius:0!important;box-shadow:none!important;margin:0!important;max-height:none!important;max-width:none!important;overflow:visible!important;padding:0!important;position:static!important}.student-list-report-container{box-shadow:none!important;margin:0!important;min-height:auto!important;padding:10mm!important;width:100%!important}.download-pdf-btn{display:none!important}.report-table{box-shadow:none!important}.report-table,.report-table th{border:1px solid #000!important}.report-table th{background:#f0f0f0!important;color:#000!important}.report-table td{border:1px solid #000!important}.report-header{border-bottom:2px solid #000!important}.report-footer{border-top:1px solid #000!important}.report-content,.report-info,.report-section,.report-table,.report-table td,.report-table th{background:#0000!important;color:#000!important}}.card.teachers{background:#204080;color:#fff}.card.teachers .icon{color:#fff}.card.discipline{background:#4eaaff;color:#fff}.card.discipline .icon{color:#fff}.teacher-section{background:#fff;border-radius:10px;box-shadow:0 2px 8px #2040800a;margin-top:18px;padding:24px}.teacher-header-row{align-items:center;display:flex;margin-bottom:12px}.add-teacher-btn{align-items:center;background:#204080;border:none;border-radius:6px;box-shadow:0 1px 4px #20408012;color:#fff;cursor:pointer;display:flex;font-size:1.08rem;font-weight:500;gap:8px;padding:8px 18px;transition:background .18s,color .18s}.add-teacher-btn:focus,.add-teacher-btn:hover{background:#4eaaff;color:#fff}@media (max-width:699px){.modal-content{max-height:98vh;max-width:98vw;min-width:0;overflow-y:auto;padding:12px 2vw;width:100vw}.student-modal-form .modal-form-grid,.student-modal-form .modal-form-grid>div{display:flex;flex-direction:column;gap:0}.student-modal-form .modal-form-grid>div>*{margin-right:0;width:100%}}@media (max-width:600px){.modal-content{max-width:98vw;min-width:0;padding:18px 4vw;width:100vw}.student-modal-form .form-title{font-size:1.08rem}.student-modal-form .input-field,.student-modal-form .input-label{font-size:.98rem}}.teacher-table-wrapper{overflow-x:auto;width:100%}.teacher-table{background:#fff;border-collapse:collapse;min-width:900px;width:100%}.teacher-table td,.teacher-table th{font-size:1rem;padding:10px 8px;text-align:left}.teacher-table th{color:#888;font-weight:500}.teacher-table th,.teacher-table tr:nth-child(2n) td{background:#f7f8fa}.action-btn{border-radius:4px;padding:4px 6px;transition:background .18s}.action-btn.edit{color:#2196f3}.action-btn.delete{color:#e53e3e}.action-btn.edit:hover{background:#eaf3ff}.action-btn.delete:hover{background:#ffeaea}.teacher-table td:last-child,.teacher-table th:last-child{text-align:center}.dropdown-multiselect .dropdown-input button{align-items:center;background:none;border:none;color:#888;cursor:pointer;display:none;display:flex;font-size:0;height:22px;justify-content:center;line-height:1;padding:0 4px;width:18px}.teacher-header-row h2{color:#204080;font-size:1.8rem;font-weight:700;margin:0 0 8px;text-align:center}.teacher-header-row p{color:#666;font-size:1rem;font-style:italic;margin:0;text-align:center}.staff-name{color:#204080;font-weight:600}.empty-state{color:#666;padding:80px 24px}.empty-icon{color:#cbd5e0;font-size:4rem;margin-bottom:24px}.empty-state h3{color:#4a5568;font-size:1.5rem;font-weight:600;margin-bottom:12px}.empty-state p{font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:500px}@media (max-width:768px){.teacher-header-row h2{font-size:1.5rem}.teacher-header-row p{font-size:.9rem}.empty-state{padding:60px 16px}.empty-icon{font-size:3rem}.empty-state h3{font-size:1.3rem}.empty-state p{font-size:1rem}}.admin-container{background:#f7f8fa;display:flex;min-height:100vh}.dashboard-cards{display:flex;gap:24px;margin:32px 0 24px}.card{align-items:center;background:#eaf3ff;border-radius:8px;box-shadow:0 2px 8px #2040800a;display:flex;flex:1 1;flex-direction:column;min-height:110px;min-width:180px;padding:24px 0 18px}.card .icon{color:#204080;font-size:2.2rem;margin-bottom:8px}.card.classes{background:#204080;color:#fff}.card.classes .icon{color:#fff}.card.suspended{background:#4eaaff;color:#fff}.card.suspended .icon{color:#fff}.card .count{font-size:2rem;font-weight:700;margin-bottom:4px}.card .desc{font-size:1.05rem;opacity:.95}.class-section{background:#fff;border-radius:10px;box-shadow:0 2px 8px #2040800a;margin-top:18px;padding:24px}.class-header-row{align-items:center;display:flex;margin-bottom:12px}.add-class-btn{align-items:center;background:#204080;border:none;border-radius:6px;box-shadow:0 1px 4px #20408012;color:#fff;cursor:pointer;display:flex;font-size:1.08rem;font-weight:500;gap:8px;padding:8px 18px;transition:background .18s,color .18s}.add-class-btn:focus,.add-class-btn:hover{background:#4eaaff;color:#fff}.class-table-wrapper{overflow-x:auto;width:100%}.class-table{background:#fff;border-collapse:collapse;min-width:600px;width:100%}.class-table td,.class-table th{font-size:1rem;padding:10px 8px;text-align:left}.class-table th{color:#888;font-weight:500}.class-table th,.class-table tr:nth-child(2n) td{background:#f7f8fa}.class-table td:last-child,.class-table th:last-child{text-align:center}.actions{gap:10px}.action-btn{background:none;border:1px solid #0000;font-size:1.1rem;padding:6px 8px;transition:background .18s,color .18s,border-color .18s,box-shadow .18s}.action-btn.edit:hover{background:#eef2ff;border-color:#c7d2fe;box-shadow:0 1px 3px #1d4ed826}.action-btn.delete:hover{background:#fef2f2;border-color:#fecaca;box-shadow:0 1px 3px #dc262626}.modal-actions{gap:10px;margin-top:18px}.modal-btn{border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;padding:10px 16px}.modal-btn.cancel{background:#f3f4f6;color:#374151}.modal-btn.cancel:hover{background:#e5e7eb}.modal-btn.confirm{background:#dc2626;color:#fff}.modal-btn.confirm:hover{background:#b91c1c}.checkbox-group{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:10px}.checkbox-label{align-items:center;color:#204080;display:flex;font-size:1rem;font-weight:500;gap:6px}.modal-overlay{animation:fadeIn .2s;background:#0000002e;z-index:2000}.modal-content{animation:modalPop .25s cubic-bezier(.4,0,.2,1);border-radius:10px;max-width:98vw;max-width:520px;min-width:320px;padding:32px 28px 24px}@keyframes modalPop{0%{opacity:0;transform:translateY(30px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close{color:#888;font-size:1.3rem;top:16px;transition:color .18s;z-index:2}.modal-close:hover{color:#204080}.student-modal-form{display:flex;flex-direction:column;gap:0}.student-modal-form .form-title{color:#204080;font-size:1.25rem;font-weight:500;margin-bottom:18px;text-align:center}.student-modal-form .input-label{color:#444;font-size:1rem;margin-bottom:4px;margin-top:10px}.student-modal-form .input-field{border:1px solid #d1d5db;border-radius:4px;font-size:1rem;margin-bottom:6px;outline:none;padding:10px 12px;transition:border .2s}.student-modal-form .input-field:focus{border:1.5px solid #204080}.student-modal-form .signup-btn{background:#204080;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:500;margin-top:14px;padding:12px 0;transition:background .2s}.student-modal-form .signup-btn:hover{background:#4eaaff}.error-message{background:#fff0f0;border-radius:4px;font-size:1rem;margin:8px 0 0;padding:7px 0 7px 10px}@media (min-width:700px){.student-modal-form .modal-form-grid{grid-gap:18px 24px;display:grid;gap:18px 24px;grid-template-columns:1fr 1fr}.student-modal-form .modal-form-grid>div{display:flex;flex-direction:column}.modal-content{max-width:700px;min-width:520px}}.student-modal-form .modal-form-grid{display:flex;flex-direction:column;gap:0}@media (max-width:700px){.modal-content{box-sizing:border-box}.modal-content,.student-modal-form{display:flex;flex-direction:column;height:100%;max-height:95vh;min-height:60vh;overflow-y:auto}.student-modal-form .signup-btn{background:#204080;border-radius:0 0 8px 8px;bottom:0;color:#fff;font-size:1.1rem;left:0;margin-top:18px;position:sticky;right:0;width:100%;z-index:2}}@media (max-width:600px){.modal-content{box-sizing:border-box}.modal-content,.student-modal-form{display:flex;flex-direction:column;height:100%;max-height:97vh;min-height:60vh;overflow-y:auto}.student-modal-form .signup-btn{background:#204080;border-radius:0 0 8px 8px;bottom:0;color:#fff;font-size:1rem;left:0;margin-top:16px;position:sticky;right:0;width:100%;z-index:2}}.modal-overlay{background:#00000026}.modal{border-radius:8px;box-shadow:0 2px 16px #0000001f;max-width:90vw;min-width:320px;padding:24px;position:relative}.menu-item .dropdown-icon{align-items:center;color:#f59e0b;display:flex;font-size:1.1rem;margin-left:8px;transition:transform .22s cubic-bezier(.4,0,.2,1),color .18s}.menu-item.active .dropdown-icon,.menu-item:hover .dropdown-icon{color:#fff}.card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #2040800f;margin-bottom:18px;padding:24px}.tab-btn.active{border-bottom:3px solid #204080!important;color:#204080!important}.tab-btn{background:none;border:none;color:#888;cursor:pointer;font-size:17px;font-weight:600;outline:none;padding:8px 18px;transition:all .2s}.chat-list-item{align-items:center;border-bottom:1px solid #f2f2f2;cursor:pointer;display:flex;gap:18px;padding:14px 0}.chat-list-item .avatar{background:#f0f0f0;border-radius:50%;height:48px;object-fit:cover;width:48px}.chat-list-item .name{color:#204080;font-size:16px;font-weight:600}.chat-list-item .message{color:#444;font-size:15px;margin-top:2px}.chat-space{display:flex;flex-direction:column;height:400px;margin-top:18px;min-height:320px}.chat-space-header{align-items:center;border-bottom:1px solid #eee;display:flex;gap:14px;padding-bottom:10px}.chat-space-header .avatar{background:#f0f0f0;border-radius:50%;height:44px;object-fit:cover;width:44px}.chat-space-header .name{color:#204080;font-size:17px;font-weight:600}.chat-messages{background:#f7f8fa;border-radius:8px;flex:1 1;margin:18px 0;overflow-y:auto;padding:18px}.chat-message{align-items:flex-end;display:flex;gap:10px;margin-bottom:12px}.chat-message .avatar{border-radius:50%;height:36px;width:36px}.chat-message .bubble{background:#fff;border-radius:8px;box-shadow:0 2px 8px #2040800f;color:#204080;font-size:15px;max-width:320px;padding:10px 16px}.chat-message.me{flex-direction:row-reverse}.chat-message.me .bubble{background:#204080;color:#fff}.chat-input-row{align-items:center;border-top:1px solid #eee;display:flex;gap:10px;padding-top:10px}.emoji-picker{background:#fff;border:1px solid #eee;border-radius:8px;bottom:60px;box-shadow:0 2px 8px #20408021;display:flex;gap:6px;left:40px;padding:10px;position:absolute;z-index:1000}.modal-content{max-width:420px;min-height:180px;width:95vw}.modal-close{font-size:2rem;line-height:1;right:12px;top:10px;z-index:1001}@media (max-width:700px){.modal-close{font-size:2.2rem;right:8px;top:8px}}.new-chat-btn{align-items:center;background:#204080;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;margin-left:auto;padding:8px 18px;transition:background .18s}.new-chat-btn:focus,.new-chat-btn:hover{background:#4669b3}@media (max-width:700px){.new-chat-btn{border-radius:8px;font-size:18px;justify-content:center;margin:12px 0 0;padding:14px 0;width:100%}}.new-chat-btn-row{margin:0 0 12px;width:100%}@media (max-width:700px){.new-chat-btn-row{margin-top:10px;width:100%}}.new-chat-btn-small{border-radius:6px!important;font-size:.9rem!important;padding:8px 0!important}.new-chat-btn-small svg{font-size:1rem!important;margin-right:4px!important}.idcard-grid{display:flex;flex-wrap:wrap;gap:32px;justify-content:flex-start;margin-bottom:40px}.idcard-template{background:linear-gradient(135deg,#6ec6ff,#2196f3);border:2px solid #204080;border-radius:18px;box-shadow:0 4px 16px #20408021;display:flex;flex-direction:column;font-family:Segoe UI,Arial,sans-serif;height:auto;min-height:200px;overflow:hidden;padding:10px 10px 8px;position:relative;width:320px}.idcard-template,.idcard-template *{box-sizing:border-box}.idcard-top-row{align-items:center;display:flex;gap:7px;margin-bottom:4px;z-index:2}.idcard-logo-small{background:#fff;border-radius:4px;box-shadow:0 1px 4px #20408014;height:22px;margin-right:4px;object-fit:contain;width:22px}.idcard-watermark{height:140px;left:50%;opacity:.04;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:140px;z-index:0}.idcard-header{color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.5px;margin-bottom:0;text-align:left;text-shadow:0 1px 4px #20408033;z-index:2}.idcard-motto{color:#e3f2fd;display:block;font-size:.86rem;font-weight:600;line-height:1.15;margin-bottom:8px;max-width:70%;position:relative;text-align:left;text-shadow:0 1px 4px #0b2a6a55;white-space:normal;word-break:break-word;z-index:3}.idcard-row-main{align-items:center;display:flex;flex-direction:row;gap:0;margin-top:2px;min-height:130px;z-index:2}.idcard-photo-stamp-col{flex-direction:column;height:100%;max-width:100px;min-width:100px}.idcard-photo,.idcard-photo-stamp-col{align-items:center;display:flex;justify-content:center;position:relative}.idcard-photo{background:#fff;border:4px solid #fff;border-radius:50%;box-shadow:0 4px 16px #1976d244;height:90px;margin-bottom:0;overflow:hidden;width:90px}.idcard-photo img{background:#f7f8fa;border-radius:50%;height:100%;object-fit:cover;width:100%}.idcard-stamp{background:#fff;border:3px solid #fff;border-radius:50%;bottom:-6px;box-shadow:0 2px 8px #1976d244;height:44px;object-fit:contain;opacity:.82;position:absolute;right:-6px;width:44px;z-index:4}.idcard-info{color:#222;display:flex;flex:1 1;flex-direction:column;justify-content:flex-start;margin-left:16px;z-index:2}.idcard-info,.idcard-info-fields{font-size:.66rem;min-width:0;overflow:visible}.idcard-info-fields{grid-column-gap:6px;grid-row-gap:1px;background:#ffffffe6;border:1.2px solid #e3f2fd;border-radius:6px;box-shadow:0 1px 4px #20408012;color:#0d2547;column-gap:6px;display:grid;grid-template-columns:1.1fr .9fr;padding:6px 6px 6px 8px;row-gap:1px;white-space:normal;word-break:break-word}.idcard-info-fields>div{line-height:1.2;margin:0;padding-right:1px}.idcard-info b{color:#1976d2;font-size:.72rem;font-weight:600}.idcard-template{margin-bottom:10px}.card.idcard-today{background:#4eaaff;color:#fff}.card.idcard-total{background:#204080;color:#fff}@media (max-width:900px){.idcard-grid{gap:12px}.idcard-template{height:auto;max-width:340px;min-width:180px;padding:6px 2px;width:98vw}}@media (max-width:600px){.idcard-grid{align-items:center;flex-direction:column;gap:8px}.idcard-template{height:auto;max-width:340px;min-width:120px;padding:4px 1px;width:98vw}}.download-pdf-btn{background:#1976d2;border-radius:6px;box-shadow:0 2px 8px #1976d222;font-size:16px;padding:8px 22px;transition:all .2s ease}.download-pdf-btn:hover:not(:disabled){background:#1565c0;box-shadow:0 4px 12px #1976d233;transform:translateY(-1px)}.download-pdf-btn:disabled{cursor:not-allowed}.download-pdf-btn:disabled,.download-pdf-btn:disabled:hover{background:#ccc;box-shadow:none;transform:none}.idcard-print-area{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:20px 0;padding:20px}.idcard-print-area .idcard-grid{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;justify-content:flex-start;margin:0;padding:0}.idcard-print-area .idcard-template{background:linear-gradient(135deg,#6ec6ff,#2196f3);border:2px solid #204080;border-radius:18px;box-shadow:0 4px 16px #20408021;box-sizing:border-box;break-inside:avoid;display:flex;flex-direction:column;font-family:Segoe UI,Arial,sans-serif;height:200px;margin:0;max-height:200px;max-width:320px;min-height:200px;min-width:320px;overflow:hidden;padding:8px 10px 8px 8px;page-break-inside:avoid;position:relative;width:320px}.idcard-print-area .idcard-photo img{background:#f7f8fa;border-radius:50%;height:100%;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;object-fit:cover;width:100%}.idcard-print-area .idcard-grid button,.idcard-print-area .idcard-grid select{display:none!important}@media print{@page{size:A4;margin:8mm}body *{visibility:hidden}.idcard-print-area,.idcard-print-area *{visibility:visible}.idcard-print-area{background:#0000;box-sizing:border-box;margin:0;min-height:auto;padding:0;position:static;width:auto}.idcard-grid{grid-gap:6mm 6mm;align-items:start;display:grid;gap:6mm 6mm;grid-template-columns:repeat(2,85.6mm);justify-content:center;page-break-inside:avoid}.idcard-template{background:#fff!important;box-shadow:none!important;break-inside:avoid;margin-bottom:0!important;page-break-inside:avoid}.idcard-header,.idcard-motto{color:#1976d2!important}.idcard-print-area button,.idcard-print-area select{display:none!important}.idcard-template{border-radius:8px!important;break-inside:avoid!important;margin:0!important;min-height:53.98mm!important;padding:2.2mm 2.8mm 2.2mm 2.2mm!important;page-break-inside:avoid!important;width:85.6mm!important}.idcard-grid{grid-gap:6mm 6mm!important;display:grid!important;gap:6mm 6mm!important;grid-template-columns:repeat(2,85.6mm)!important;justify-content:center!important;margin:0!important;padding:0!important}.idcard-photo{border:2px solid #fff!important;height:20mm!important;width:20mm!important}.idcard-photo img{border-radius:50%!important;display:block!important;height:100%!important;object-fit:cover!important;opacity:1!important;visibility:visible!important;width:100%!important}.idcard-header{font-size:.6rem!important}.idcard-motto{font-size:.65rem!important}.idcard-info-fields{grid-column-gap:1.4mm!important;grid-row-gap:.6mm!important;column-gap:1.4mm!important;display:grid!important;font-size:.48rem!important;grid-template-columns:1.1fr .9fr!important;overflow:visible!important;padding:1.6mm 1.6mm 1.6mm 1.8mm!important;row-gap:.6mm!important}.idcard-motto{line-height:1.15!important;max-width:70%!important;white-space:normal!important}.idcard-info-fields>div{line-height:1.1!important;margin-bottom:1px!important}.idcard-logo-small,.idcard-stamp{height:16px!important;width:16px!important}.idcard-stamp{bottom:-6px!important;right:-6px!important}.idcard-row-main{min-height:36mm!important}.idcard-photo-stamp-col{max-width:22mm!important;min-width:22mm!important}.idcard-info{margin-left:4mm!important}}.users-dashboard-cards{display:flex;gap:24px;margin:32px 0 24px}.users-card{align-items:center;background:#eaf3ff;border-radius:8px;box-shadow:0 2px 8px #2040800a;display:flex;flex:1 1;flex-direction:column;min-height:110px;min-width:180px;padding:24px 0 18px}.users-card-title{color:#204080;font-size:1.1rem;font-weight:600;margin-bottom:8px}.users-card-value{color:orange;font-size:2.2rem;font-weight:700}.users-main-content{margin-top:40px}.users-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #20408014;margin-top:24px;padding:24px}.users-table{border-collapse:collapse;margin-top:12px;width:100%}.users-table td,.users-table th{border-bottom:1px solid #eee;padding:12px 10px;text-align:left}.users-table th{color:#204080;font-weight:700}.users-table th,.users-table tr:nth-child(2n) td{background:#f7f8fa}.users-table tr.suspended td{background:#fff6e5!important;color:#b36a00}.users-action-btn{background:none;border:none;border-radius:5px;color:#204080;cursor:pointer;font-weight:600;margin-right:8px;padding:4px 10px;position:relative;transition:background .2s,color .2s}.users-action-btn.delete{color:#e53e3e}.users-action-btn.suspend{color:#f59e42}.users-action-btn:hover{background:#eaf3ff;color:#204080}.users-action-btn.delete:hover{background:#ffeaea;color:#e53e3e}.users-action-btn.suspend:hover{background:#fff6e5;color:#b36a00}.users-action-btn[data-tooltip]:focus:after,.users-action-btn[data-tooltip]:hover:after{background:#222;border-radius:6px;box-shadow:0 2px 8px #20408021;color:#fff;content:attr(data-tooltip);font-size:.95rem;left:50%;padding:4px 10px;pointer-events:none;position:absolute;top:-32px;transform:translateX(-50%);white-space:nowrap;z-index:10}.users-action-btn[data-tooltip]:after{opacity:0;pointer-events:none;transition:opacity .2s}.users-action-btn[data-tooltip]:focus:after,.users-action-btn[data-tooltip]:hover:after{opacity:1}.users-modal-overlay{align-items:center;background:#20408021;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.users-modal{background:#fff;border-radius:12px;box-shadow:0 4px 24px #20408021;max-width:95vw;min-width:320px;padding:32px 28px}.users-edit-form label{color:#204080;display:block;font-weight:600;margin-top:12px}.users-edit-form input{border:1px solid #ddd;border-radius:6px;font-size:1rem;margin-top:4px;padding:8px 10px;width:100%}.users-edit-actions{display:flex;gap:16px;justify-content:flex-end;margin-top:18px}.error-message{color:#e53e3e;margin:12px 0}.users-warning-modal{background:#fffbe6;border:1.5px solid #f59e42;border-radius:10px;box-shadow:0 2px 12px #ff990014;max-width:95vw;min-width:320px;padding:28px 24px;text-align:center}.users-warning-modal h4{color:#b36a00;margin-bottom:12px}.users-warning-modal p{color:#b36a00;font-size:1.08rem;margin-bottom:18px}.users-warning-actions{display:flex;gap:18px;justify-content:center;margin-top:10px}.users-warning-btn{background:none;border:none;border-radius:6px;color:#e53e3e;cursor:pointer;font-size:1rem;font-weight:600;padding:6px 18px;transition:background .2s,color .2s}.users-warning-btn.cancel{color:#204080}.users-warning-btn:hover{background:#ffeaea}@media (max-width:700px){.users-dashboard-cards{flex-direction:column;gap:16px}.users-card{box-sizing:border-box;min-width:0;width:100%}.users-table-container{overflow-x:auto;padding:12px}.users-table{min-width:600px}}.monitor-users-container{background:#f8fafc;margin:0 auto;max-width:1400px;min-height:100vh;padding:2rem}.monitor-header{align-items:flex-start;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 10px 25px #0000001a;color:#fff;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.header-left{flex:1 1}.monitor-title{align-items:center;display:flex;font-size:2.5rem;font-weight:700;gap:1rem;margin:0 0 .5rem}.title-icon{color:#fbbf24;font-size:2rem}.read-only-badge{background:#fff3;border:1px solid #ffffff4d;margin-left:1rem}.header-subtitle{font-size:1.1rem;font-weight:300;margin:0;opacity:.9}.header-actions{gap:1rem}.monitor-action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.monitor-refresh-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;color:#fff}.monitor-refresh-btn:hover{background:#ffffff4d;transform:translateY(-2px)}.monitor-refresh-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.monitor-spinning{animation:monitor-spin 1s linear infinite}@keyframes monitor-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.monitor-error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-weight:500;margin-bottom:1.5rem;padding:1rem}.monitor-stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.monitor-stat-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px #0000000d;display:flex;gap:1rem;padding:1.5rem;transition:all .3s ease}.monitor-stat-card:hover{box-shadow:0 12px 25px #0000001a;transform:translateY(-4px)}.monitor-stat-icon{align-items:center;border-radius:12px;color:#fff;display:flex;font-size:1.5rem;height:60px;justify-content:center;width:60px}.monitor-total-users .monitor-stat-icon{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.monitor-logged-in .monitor-stat-icon{background:linear-gradient(135deg,#10b981,#059669)}.monitor-logged-out .monitor-stat-icon{background:linear-gradient(135deg,#6b7280,#4b5563)}.monitor-total-activities .monitor-stat-icon{background:linear-gradient(135deg,#f59e0b,#d97706)}.monitor-stat-content{flex:1 1}.monitor-stat-number{color:#1f2937;font-size:2rem;font-weight:700;line-height:1;margin-bottom:.25rem}.monitor-stat-label{color:#6b7280;font-size:.9rem;font-weight:500}.monitor-tabs{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 4px #0000000d;display:flex;gap:.5rem;margin-bottom:2rem;padding:.5rem}.monitor-tab-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;flex:1 1;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem 1.5rem;transition:all .3s ease}.monitor-tab-btn:hover{background:#f3f4f6;color:#374151}.monitor-tab-btn.active{background:#3b82f6;box-shadow:0 4px 12px #3b82f64d;color:#fff}.monitor-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.monitor-search-group{flex:1 1;min-width:300px;position:relative}.monitor-search-icon{color:#9ca3af;font-size:1rem;left:1rem;position:absolute;top:50%;transform:translateY(-50%)}.monitor-search-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;padding:.875rem 1rem .875rem 2.75rem;transition:all .3s ease;width:100%}.monitor-search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.monitor-filter-group{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;display:flex;gap:.5rem;padding:.5rem}.monitor-filter-icon{color:#6b7280;font-size:.9rem}.monitor-filter-select{background:#0000;border:none;color:#374151;cursor:pointer;font-size:.9rem;outline:none;padding:.5rem}.monitor-content{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px #0000000d;overflow:hidden}.monitor-loading-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.monitor-loading-spinner{animation:monitor-spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:40px;margin-bottom:1rem;width:40px}.monitor-table-container{max-width:100%;overflow-x:auto}.monitor-table{border-collapse:collapse;font-size:.9rem;width:100%}.monitor-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-weight:600;padding:1rem;text-align:left;white-space:nowrap}.monitor-table td{border-bottom:1px solid #f3f4f6;padding:1rem;vertical-align:middle}.monitor-table tbody tr:hover{background:#f9fafb}.monitor-user-info{align-items:center;display:flex;gap:.75rem}.monitor-user-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;color:#fff;display:flex;font-size:.9rem;font-weight:600;height:40px;justify-content:center;width:40px}.monitor-user-details{display:flex;flex-direction:column;gap:.25rem}.monitor-user-name{color:#1f2937;font-weight:600}.monitor-user-username{color:#6b7280;font-size:.8rem}.monitor-role-badge{background:#dbeafe;color:#1e40af;padding:.25rem .75rem}.monitor-role-badge,.monitor-status-badge{border-radius:20px;font-size:.8rem;font-weight:500}.monitor-status-badge{align-items:center;color:#fff;display:inline-flex;gap:.5rem;padding:.375rem .75rem}.monitor-status-dot{background:currentColor;border-radius:50%;height:6px;width:6px}.monitor-activity-type-badge{background:#fef3c7;color:#92400e}.monitor-activity-type-badge,.monitor-entity-badge{border-radius:20px;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.monitor-entity-badge{background:#f3e8ff;color:#7c3aed}.monitor-activity-content{align-items:center;display:flex;gap:.5rem}.monitor-activity-icon{font-size:1.1rem}.monitor-activity-description{color:#374151}.monitor-date-cell{color:#6b7280;font-size:.85rem;white-space:nowrap}.monitor-ip-cell{color:#6b7280;font-family:Courier New,monospace;font-size:.85rem}.monitor-duration-cell{color:#059669;font-weight:500}.monitor-actions-cell{text-align:center}.monitor-view-btn{background:#3b82f6;border-radius:6px;color:#fff;padding:.5rem;transition:all .3s ease}.monitor-view-btn:hover{background:#2563eb;transform:scale(1.05)}.monitor-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.monitor-modal-content{background:#fff;border-radius:12px;box-shadow:0 25px 50px #00000040;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.monitor-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.monitor-modal-header h3{color:#1f2937;font-size:1.25rem;margin:0}.monitor-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:all .3s ease;width:30px}.monitor-modal-close:hover{background:#f3f4f6;color:#374151}.monitor-modal-body{padding:1.5rem}.monitor-user-detail-grid{grid-gap:1rem;display:grid;gap:1rem}.monitor-detail-item{align-items:center;background:#f9fafb;border-radius:8px;display:flex;justify-content:space-between;padding:.75rem}.monitor-detail-item label{color:#374151;font-weight:600}.monitor-detail-item span{color:#6b7280}@media (max-width:1024px){.monitor-users-container{padding:1.5rem}.monitor-header{flex-direction:column;gap:1rem;text-align:center}.header-actions{justify-content:center}.monitor-stats-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.monitor-tabs{flex-wrap:wrap}.monitor-tab-btn{min-width:120px}}@media (max-width:768px){.monitor-users-container{padding:1rem}.monitor-title{font-size:2rem}.monitor-stats-grid{grid-template-columns:1fr}.monitor-filters{flex-direction:column}.monitor-search-group{min-width:auto}.monitor-table td,.monitor-table th{font-size:.85rem;padding:.75rem .5rem}.monitor-user-avatar{font-size:.8rem;height:32px;width:32px}.monitor-modal-content{margin:1rem;max-height:calc(100vh - 2rem)}}@media (max-width:480px){.monitor-title{font-size:1.75rem}.title-icon{font-size:1.5rem}.monitor-tabs{flex-direction:column}.monitor-tab-btn{width:100%}.monitor-table{font-size:.8rem}.monitor-table td,.monitor-table th{padding:.5rem .25rem}.monitor-user-info{align-items:flex-start;flex-direction:column;gap:.5rem}.monitor-user-avatar{font-size:.75rem;height:28px;width:28px}}@media print{.monitor-users-container{background:#fff;padding:0}.monitor-filters,.monitor-header,.monitor-modal-overlay,.monitor-tabs{display:none}.monitor-table,.monitor-table td,.monitor-table th{border:1px solid #000}}.fee-header{margin-bottom:24px}.fee-header h2{align-items:center;display:flex;gap:1rem}.fee-cards-row{display:flex;flex-wrap:wrap;gap:32px}.fee-card{align-items:flex-start;background:#fff;border-radius:10px;box-shadow:0 2px 12px #20408012;display:flex;flex:1 1;flex-direction:column;margin-bottom:18px;min-width:220px;padding:28px 24px 22px}.fee-card-title{color:#888;font-size:1.1rem;font-weight:500;margin-bottom:10px}.fee-card-value{color:#204080;font-size:2.1rem;font-weight:700}.fee-card.paid{background:linear-gradient(90deg,#eafbe7,#f7f8fa);border-left:7px solid #2ecc71}.fee-card.owed{background:linear-gradient(90deg,#fff0f0,#f7f8fa);border-left:7px solid #e53e3e}.student-search-grid{align-items:center;display:flex;flex-direction:column;gap:12px;margin-top:8px}.student-search-result{background:none;border:none;border-radius:0;box-shadow:none;color:#204080;cursor:pointer;font-size:1.08rem;font-weight:600;margin:0;padding:0;transition:color .15s}.student-search-result:hover{background:none;color:#388e3c}@media (max-width:700px){.fee-cards-row{flex-direction:column;gap:18px}.fee-card{min-width:0;padding:18px 10px 14px 14px;width:100%}.fee-header{margin-bottom:14px}.fee-main-content{box-sizing:border-box;padding-left:16px;padding-right:16px}}.receipt-container{align-items:center;background:#fff;color:#000;display:flex;flex-direction:column;font-family:Times New Roman,serif;height:auto;margin:0 auto;min-height:140mm;overflow:visible;padding:8mm;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;width:210mm}.receipt-container,.receipt-template{box-sizing:border-box;position:relative}.receipt-template{background:linear-gradient(180deg,#fefefe,#f5f5f0);border:1px dotted #000;break-inside:avoid;flex-shrink:0;height:130mm;margin-bottom:6mm;max-height:130mm;min-height:130mm;overflow:hidden;padding:4mm;page-break-inside:avoid;width:100%}.receipt-header{margin-bottom:3mm;text-align:center}.header-with-logo{align-items:center;display:flex;gap:4mm;justify-content:center;margin-bottom:2mm}.school-logo{border-radius:2mm;height:20mm;object-fit:contain;width:20mm}.school-info{flex:1 1;text-align:center}.school-name{color:#333;font-size:11pt;letter-spacing:.5px;margin:0 0 .8mm}.receipt-title,.school-name{font-weight:700;text-transform:uppercase}.receipt-title{font-size:16pt;letter-spacing:1px;margin:0 0 1.5mm}.receipt-meta{margin-top:2mm}.meta-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:1mm}.meta-label{font-size:10pt;font-weight:700;margin-right:1mm}.meta-underline{border-bottom:1px solid #000;display:inline-block;min-width:20mm;padding-bottom:.5mm;text-align:center}.receipt-main{margin-bottom:2.5mm}.main-row{align-items:center;display:flex;flex-wrap:wrap;margin-bottom:2mm}.main-label{font-size:10pt;font-weight:700;margin-right:1mm;white-space:nowrap}.main-underline{margin-right:2mm;min-width:15mm}.main-underline,.main-underline-long{border-bottom:1px solid #000;display:inline-block;padding-bottom:.5mm;text-align:center}.main-underline-long{flex:1 1;margin-left:1mm}.receipt-period{margin-bottom:2.5mm}.period-row{align-items:center;display:flex;gap:2mm}.period-label{font-size:10pt;font-weight:700}.period-underline{border-bottom:1px solid #000;display:inline-block;min-width:12mm;padding-bottom:.5mm;text-align:center}.fee-types-section{margin-bottom:2.5mm}.fee-types-title{font-size:11pt;font-weight:700;margin:0 0 1.5mm;text-align:center;text-decoration:underline}.fee-types-table{border:1px solid #000;border-collapse:collapse;box-sizing:border-box;font-size:7pt;width:100%}.fee-types-table td,.fee-types-table th{border:1px solid #000;box-sizing:border-box;padding:.8mm;text-align:center}.fee-types-table th{background-color:#f0f0f0;font-size:8pt;font-weight:700}.fee-type-name{font-weight:700;text-align:left}.fee-expected,.fee-paid{font-weight:700;text-align:right}.fee-paid{color:#2ecc71}.fee-balance{color:#e53e3e;font-weight:700;text-align:right}.fee-percentage{border-radius:1mm;box-sizing:border-box;font-size:8pt;font-weight:700;padding:.4mm .8mm;text-align:center}.fee-percentage.completed{background-color:#2ecc71;color:#fff}.fee-percentage.partial{background-color:#ffc107;color:#000}.fee-percentage.pending{background-color:#ffebee;color:#c62828}.fee-percentage.no-fee{background-color:#f8f9fa;border:1px solid #dee2e6;color:#6c757d}.amount-summary-section{margin-bottom:1.5mm}.summary-table{border-collapse:collapse}.summary-table,.summary-table td{border:1px solid #000;box-sizing:border-box}.summary-table td{font-size:8pt;padding:.8mm}.summary-label{font-weight:700;text-align:left}.summary-value{font-weight:700;text-align:right}.receipt-footer{bottom:2mm;position:absolute;right:4mm}.footer-text{font-size:9pt;font-style:italic}@media print{.receipt-container{margin:0!important;min-height:auto!important;overflow:visible!important;padding:4mm!important;width:100%!important}.receipt-template{break-inside:avoid;height:130mm!important;margin-bottom:6mm!important;max-height:130mm!important;min-height:130mm!important;overflow:hidden!important;padding:4mm!important;page-break-inside:avoid}.download-pdf-btn{display:none!important}.receipt-template:first-child{page-break-before:auto}.receipt-template:last-child{page-break-after:auto}.fee-types-table,.fee-types-table td,.fee-types-table th,.summary-table,.summary-table td{border:1px solid #000!important}.fee-types-table th{background:#f0f0f0!important}.school-logo{height:20mm!important;object-fit:contain!important;width:20mm!important}}@media (max-width:210mm){.receipt-container{overflow:visible;padding:5mm;width:100%}.receipt-template{height:auto;min-height:110mm;overflow:visible}.main-row,.meta-row,.period-row{align-items:flex-start;flex-direction:column;gap:2mm}.fee-types-table{font-size:7pt}.fee-types-table td,.fee-types-table th{padding:.8mm}}@media (max-width:768px){.receipt-container,.receipt-template{min-height:auto;padding:3mm}.receipt-template{height:auto}.receipt-title{font-size:16pt;margin-bottom:1.5mm}.school-name{font-size:11pt;margin-bottom:.8mm}.fee-types-table{font-size:6pt}.fee-types-table td,.fee-types-table th{padding:.6mm}.fee-status{font-size:6pt;padding:.3mm .6mm}.summary-table td{font-size:8pt;padding:.8mm}}@media (max-width:480px){.receipt-container,.receipt-template{padding:2mm}.receipt-title{font-size:14pt;margin-bottom:1mm}.school-name{font-size:10pt;margin-bottom:.5mm}.fee-types-table{font-size:5pt}.fee-types-table td,.fee-types-table th{padding:.5mm}.fee-status{font-size:5pt;padding:.2mm .5mm}.summary-table td{font-size:7pt;padding:.6mm}}@media print and (max-width:768px){.receipt-container{margin:0!important;width:100%!important}.receipt-container,.receipt-template{min-height:auto!important;overflow:visible!important;padding:3mm!important}.receipt-template{height:auto!important;page-break-inside:avoid}.receipt-title{font-size:16pt!important;margin-bottom:1.5mm!important}.school-name{font-size:11pt!important;margin-bottom:.8mm!important}.fee-types-table{font-size:6pt!important}.fee-types-table td,.fee-types-table th{padding:.6mm!important}.fee-status{font-size:6pt!important;padding:.3mm .6mm!important}.summary-table td{font-size:8pt!important;padding:.8mm!important}.download-pdf-btn{display:none!important}.receipt-template:first-child{page-break-before:auto}.receipt-template:last-child{page-break-after:auto}.fee-types-table,.fee-types-table td,.fee-types-table th,.summary-table,.summary-table td{border:1px solid #000!important}.fee-types-table th{background:#f0f0f0!important}}@media print and (max-width:480px){.receipt-container,.receipt-template{padding:2mm!important}.receipt-title{font-size:14pt!important;margin-bottom:1mm!important}.school-name{font-size:10pt!important;margin-bottom:.5mm!important}.fee-types-table{font-size:5pt!important}.fee-types-table td,.fee-types-table th{padding:.5mm!important}.fee-status{font-size:5pt!important;padding:.2mm .5mm!important}.summary-table td{font-size:7pt!important;padding:.6mm!important}}@media print and (orientation:landscape) and (max-width:768px){.receipt-container,.receipt-template{padding:2mm!important}.fee-types-table{font-size:7pt!important}.fee-types-table td,.fee-types-table th{padding:.7mm!important}}@media print and (-webkit-min-device-pixel-ratio:2){.receipt-template{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.fee-types-table th{background:#f0f0f0!important}.fee-status.completed{background:#2ecc71!important}.fee-status.partial{background:#ffc107!important}.fee-status.pending{background:#ffebee!important}.fee-status.no-fee{background:#f8f9fa!important}}.fee-receipt-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:2000}.fee-receipt-modal-content{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;max-height:95vh;max-width:95vw;overflow-y:auto;position:relative}.fee-receipt-modal-content .receipt-container{border-radius:0;box-shadow:none;margin:0 auto;max-width:210mm;overflow:visible;padding:8mm;width:100%}.fee-receipt-modal-content .receipt-template{height:auto;margin-bottom:15mm;min-height:130mm}.fee-report-container{background:#fff;box-sizing:border-box;color:#000;font-family:Arial,sans-serif;margin:0 auto;min-height:210mm;padding:12mm;position:relative;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;width:297mm}.report-header{align-items:flex-start;border-bottom:3px solid #1976d2;display:flex;justify-content:space-between;margin-bottom:25px;padding-bottom:15px}.report-title-group{text-align:left}.report-title-group h1{color:#1976d2;font-size:28px;font-weight:700;letter-spacing:1px;margin:0}.report-title-group h2{color:#333;font-size:20px;font-weight:600;margin:5px 0}.report-title-group h3{color:#666;font-size:16px;font-weight:500;margin:5px 0 0}.report-meta{color:#666;font-size:12px;text-align:right}.report-meta p{line-height:1.4;margin:3px 0}.report-section{margin-bottom:30px}.report-section h4{border-bottom:2px solid #1976d2;color:#1976d2;font-size:18px;font-weight:700;letter-spacing:.5px;margin-bottom:15px;padding-bottom:8px;text-transform:uppercase}.report-section h5{border-left:4px solid #4caf50;color:#333;font-size:16px;font-weight:600;margin:20px 0 12px;padding-left:8px}.summary-stats{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.stat-item{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6;flex-direction:column;gap:8px;padding:15px;text-align:center}.stat-label{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.stat-value{color:#1976d2;font-size:16px;font-weight:700;line-height:1.2}.stat-value.positive{color:#4caf50}.stat-value.negative{color:#f44336}.report-table{border-collapse:collapse;font-size:11px;margin-bottom:20px;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;width:100%}.report-table td,.report-table th{border:1px solid #ccc;padding:8px 6px;text-align:left;vertical-align:middle}.report-table th{background-color:#1976d2;color:#fff;font-size:10px;font-weight:600;letter-spacing:.3px;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;text-transform:uppercase}.report-table tr:nth-child(2n){background-color:#f8f9fa}.report-table tr:hover{background-color:#e9ecef}.status-badge{border-radius:12px;font-size:10px}.status-badge.completed{background-color:#4caf50;color:#fff}.status-badge.uncompleted{background-color:#f44336;color:#fff}.status-badge.partial{background-color:#ff9800;color:#fff}.report-footer{border-top:2px solid #dee2e6;margin-top:40px;padding-top:20px;text-align:center}.report-footer p{color:#666;font-size:12px;margin:0 0 30px}.signature-area{display:inline-block;margin-top:50px}.signature-line{border-top:1px solid #000;margin-bottom:5px;width:200px}.signature-area p{color:#333;font-size:12px;margin:0}.download-pdf-btn{align-items:center;background:linear-gradient(135deg,#4caf50,#388e3c);border:none;border-radius:8px;box-shadow:0 4px 12px #4caf504d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;position:fixed;right:20px;top:20px;transition:all .3s ease;z-index:1000}.download-pdf-btn:hover{box-shadow:0 6px 16px #4caf5066;transform:translateY(-2px)}.fee-report-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:2000}.fee-report-modal-content{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;max-height:95vh;max-width:95vw;overflow-y:auto;position:relative}.fee-report-modal-content .fee-report-container{border-radius:0;box-shadow:none;margin:0 auto;max-width:210mm;padding:15mm;width:100%}@media (max-width:1200px){.fee-report-modal-content .fee-report-container{padding:10mm}.summary-stats{gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.report-table{font-size:10px}.report-table td,.report-table th{padding:6px 4px}}@media (max-width:900px){.fee-report-modal-content .fee-report-container{padding:8mm}.report-header{align-items:flex-start;flex-direction:column;gap:15px}.report-title-group h1{font-size:24px}.report-title-group h2{font-size:18px}.report-title-group h3{font-size:14px}.report-meta{font-size:11px;text-align:left}.summary-stats{gap:10px;grid-template-columns:1fr}.stat-item{padding:12px}.stat-value{font-size:14px}.report-table{font-size:9px}.report-table td,.report-table th{padding:4px 2px}}@media (max-width:600px){.fee-report-modal-content{margin:10px;max-width:calc(100vw - 20px)}.fee-report-modal-content .fee-report-container{min-width:0;padding:5mm;width:100%}.report-title-group h1{font-size:20px}.report-title-group h2{font-size:16px}.report-title-group h3{font-size:12px}.report-section h4{font-size:16px}.report-section h5{font-size:14px}.stat-item{padding:10px}.stat-label{font-size:11px}.stat-value{font-size:12px}.report-table{display:block;font-size:8px;overflow-x:auto;white-space:nowrap}.report-table tbody,.report-table thead,.report-table tr{display:table;table-layout:fixed;width:100%}.download-pdf-btn{font-size:12px;padding:10px 16px;right:10px;top:10px}}@media print{.fee-report-modal-content,.fee-report-modal-overlay{background:none!important;border-radius:0!important;box-shadow:none!important;margin:0!important;max-height:none!important;max-width:none!important;overflow:visible!important;padding:0!important;position:static!important}.fee-report-container{box-shadow:none!important;margin:0!important;min-height:auto!important;padding:10mm!important;width:100%!important}.download-pdf-btn{display:none!important}.report-table{box-shadow:none!important}.report-table,.report-table th{border:1px solid #000!important}.report-table th{background:#f0f0f0!important;color:#000!important}.report-table td,.stat-item{border:1px solid #000!important}.stat-item{background:#f9f9f9!important}.report-header{border-bottom:2px solid #000!important}.report-footer{border-top:1px solid #000!important}.report-content,.report-info,.report-section,.report-table,.report-table td,.report-table th,.stat-item,.stat-label,.stat-value,.summary-stats{background:#0000!important;color:#000!important}}.fee-main-content{background:#f7f8fa;box-sizing:border-box;padding:32px 18px 18px}.fee-stats-table{background:#fff;border-collapse:collapse;border-radius:12px;box-shadow:0 2px 12px #20408012;margin:24px 0 12px;min-width:900px;overflow:hidden;width:100%}.fee-stats-table td,.fee-stats-table th{border-bottom:1px solid #e5e7eb;font-size:1.05rem;padding:14px 12px;text-align:left}.fee-stats-table th{background:#f5f7fa;color:#204080;font-weight:700}.fee-stats-table td.status-completed{color:#2ecc71;font-weight:700}.fee-stats-table td.status-uncompleted{color:#e53e3e;font-weight:700}.fee-pay-btn-row{padding:18px 0 0;text-align:center}.fee-pay-btn{background:#204080;border:none;border-radius:7px;box-shadow:0 2px 8px #20408014;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:12px 32px;transition:background .15s}.fee-pay-btn:hover{background:#388e3c}.modal-overlay{background:#20408021}.fee-modal-modern{background:#fff;border-radius:16px;box-shadow:0 8px 40px #2040802e;max-width:420px;min-width:0;padding:36px 28px 28px;position:relative;text-align:center;width:98vw}.fee-modal-modern .modal-close{background:none;border:none;color:#888;cursor:pointer;font-size:2rem;position:absolute;right:18px;top:14px}.fee-modal-modern label{color:#204080;display:block;font-weight:600;margin-bottom:8px}.fee-modal-modern input[type=number],.fee-modal-modern select{border:1.5px solid #204080;border-radius:7px;box-sizing:border-box;font-size:1.08rem;margin-bottom:18px;padding:10px 12px;width:100%}.fee-modal-modern button{background:#204080;border:none;border-radius:7px;box-shadow:0 2px 8px #20408014;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:12px 32px;transition:background .15s}.fee-modal-modern button:hover{background:#388e3c}.fee-receipt-header{color:#204080;font-size:1.35rem;font-weight:800;letter-spacing:1px;margin-bottom:18px;text-align:center}.fee-receipt-meta{color:#444;font-size:1.08rem;margin-bottom:8px;text-align:center}.fee-receipt-table{background:#fff;border-collapse:collapse;border-radius:10px;box-shadow:0 2px 12px #20408012;margin:24px 0 12px;overflow:hidden;width:100%}.fee-receipt-table td,.fee-receipt-table th{border-bottom:1px solid #e5e7eb;padding:12px 10px;text-align:left}.fee-receipt-table th{background:#204080;color:#fff;font-weight:700}@media (max-width:900px){.fee-receipt-table,.fee-stats-table{font-size:.98rem;min-width:700px}}@media (max-width:700px){.fee-main-content{padding-left:6px;padding-right:6px}.fee-receipt-table,.fee-stats-table{font-size:.93rem;min-width:600px}.fee-modal-modern{max-width:98vw;padding:18px 6px}}.fee-main-content{overflow-x:auto}.message-box-overlay{align-items:center;background:#00000080;bottom:0;box-sizing:border-box;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.message-box{animation:messageBoxFadeIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-sizing:border-box;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}@keyframes messageBoxFadeIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.message-box-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;border-radius:12px 12px 0 0;box-sizing:border-box;display:flex;justify-content:space-between;padding:1.5rem 2rem}.message-box-title{word-wrap:break-word;color:#495057;font-size:1.25rem;font-weight:600;line-height:1.2;margin:0}.message-box-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#6c757d;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:background-color .2s ease;width:30px}.message-box-close-btn:hover{background:#e9ecef;color:#495057}.message-box-body{box-sizing:border-box;padding:2rem}.message-box-message{word-wrap:break-word;color:#495057;font-size:1rem;line-height:1.5;margin:0}.message-box-footer{background:#f8f9fa;border-radius:0 0 12px 12px;border-top:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem}.message-box-btn{align-items:center;border:none;border-radius:8px;box-sizing:border-box;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;min-width:100px;padding:.75rem 1.5rem;transition:all .2s ease;white-space:nowrap}.message-box-cancel-btn{background:#6c757d;color:#fff}.message-box-cancel-btn:hover{background:#5a6268;transform:translateY(-2px)}.message-box-confirm-btn{background:#007bff;color:#fff}.message-box-confirm-btn:hover{background:#0056b3;transform:translateY(-2px)}.message-box-info .message-box-header{background:linear-gradient(135deg,#007bff,#6610f2);color:#fff}.message-box-info .message-box-close-btn,.message-box-info .message-box-title{color:#fff}.message-box-info .message-box-close-btn:hover{background:#fff3;color:#fff}.message-box-info .message-box-confirm-btn{background:linear-gradient(135deg,#007bff,#6610f2)}.message-box-success .message-box-header{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.message-box-success .message-box-close-btn,.message-box-success .message-box-title{color:#fff}.message-box-success .message-box-close-btn:hover{background:#fff3;color:#fff}.message-box-success .message-box-confirm-btn{background:linear-gradient(135deg,#28a745,#20c997)}.message-box-warning .message-box-header{background:linear-gradient(135deg,#ffc107,#fd7e14);color:#fff}.message-box-warning .message-box-close-btn,.message-box-warning .message-box-title{color:#fff}.message-box-warning .message-box-close-btn:hover{background:#fff3;color:#fff}.message-box-warning .message-box-confirm-btn{background:linear-gradient(135deg,#ffc107,#fd7e14)}.message-box-error .message-box-header{background:linear-gradient(135deg,#dc3545,#e83e8c);color:#fff}.message-box-error .message-box-close-btn,.message-box-error .message-box-title{color:#fff}.message-box-error .message-box-close-btn:hover{background:#fff3;color:#fff}.message-box-error .message-box-confirm-btn{background:linear-gradient(135deg,#dc3545,#e83e8c)}@media (max-width:768px){.message-box{margin:10px;max-height:95vh;width:calc(100% - 20px)}.message-box-header{padding:1rem 1.5rem}.message-box-title{font-size:1.1rem}.message-box-body{padding:1.5rem}.message-box-footer{flex-direction:column;padding:1rem 1.5rem}.message-box-btn{width:100%}}@media (max-width:576px){.message-box-header{padding:.75rem 1rem}.message-box-title{font-size:1rem}.message-box-body{padding:1rem}.message-box-footer{padding:.75rem 1rem}}.salary-receipt-container{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;break-inside:avoid;color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.4;margin:0 auto;max-width:800px;padding:1.5rem;page-break-inside:avoid}.salary-receipt-header{border-bottom:3px solid #0056b3;margin-bottom:1.5rem;padding-bottom:1rem;text-align:center}.salary-receipt-title-group h1{color:#0056b3;font-size:2rem;font-weight:700;letter-spacing:1px;margin:0 0 .25rem;text-transform:uppercase}.salary-receipt-title-group h2{color:#333;font-size:1.2rem;font-weight:600;letter-spacing:.5px;margin:0 0 .25rem;text-transform:uppercase}.salary-receipt-title-group h3{color:#666;font-size:1rem;font-weight:500;letter-spacing:.5px;margin:0 0 .75rem;text-transform:uppercase}.salary-receipt-meta{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-top:.75rem}.salary-receipt-meta p{color:#666;font-size:.8rem;margin:0}.salary-receipt-section{background:#f8f9fa;border-left:3px solid #0056b3;border-radius:6px;break-inside:avoid;margin-bottom:1.25rem;padding:1rem;page-break-inside:avoid}.salary-receipt-section-title{color:#0056b3;font-size:1rem;font-weight:600;letter-spacing:.5px;margin:0 0 .75rem;text-transform:uppercase}.salary-receipt-employee-info{grid-gap:.5rem;display:grid;gap:.5rem}.salary-receipt-info-row{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:.375rem 0}.salary-receipt-info-row:last-child{border-bottom:none}.salary-receipt-info-label{color:#495057;font-size:.85rem;font-weight:600;min-width:120px}.salary-receipt-info-value{color:#333;font-size:.85rem;font-weight:500;text-align:right}.salary-receipt-payment-details{grid-gap:.5rem;display:grid;gap:.5rem}.salary-receipt-payment-row{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:.5rem 0}.salary-receipt-payment-row:last-child{border-bottom:none}.salary-receipt-payment-label{color:#495057;font-size:.85rem;font-weight:600;min-width:120px}.salary-receipt-payment-amount{color:#28a745;font-size:1.1rem;font-weight:700;text-align:right}.salary-receipt-payment-value{color:#333;font-size:.85rem;font-weight:500;text-align:right}.salary-receipt-payment-status{color:#28a745;font-size:.85rem;font-weight:700;letter-spacing:.5px;text-align:right;text-transform:uppercase}.salary-receipt-summary{background:#e3f2fd;border:2px solid #2196f3;border-radius:6px;padding:.75rem}.salary-receipt-summary-row{align-items:center;display:flex;justify-content:space-between}.salary-receipt-summary-label{color:#1976d2;font-size:1rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.salary-receipt-summary-amount{color:#28a745;font-size:1.2rem;font-weight:700;text-align:right}.salary-receipt-footer{align-items:flex-end;border-top:2px solid #e9ecef;break-inside:avoid;display:flex;justify-content:space-between;margin:1.5rem 0 1rem;padding-top:1rem;page-break-inside:avoid}.salary-receipt-signature-section{flex:1 1;text-align:center}.salary-receipt-signature-line{background:#333;height:2px;margin:0 auto .375rem;width:150px}.salary-receipt-signature-label{color:#666;font-size:.8rem;font-weight:500;margin:0}.salary-receipt-stamp-section{flex:1 1;text-align:center}.salary-receipt-stamp{align-items:center;background:#28a745;border:2px solid #28a745;border-radius:50%;display:flex;height:60px;justify-content:center;margin:0 auto;transform:rotate(-15deg);width:60px}.salary-receipt-stamp-text{color:#fff;font-size:.7rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;transform:rotate(15deg)}.salary-receipt-notes{background:#fff3cd;border-left:3px solid #ffc107;border-radius:6px;break-inside:avoid;margin-top:1.5rem;padding:.75rem;page-break-inside:avoid}.salary-receipt-note{color:#856404;font-size:.8rem;line-height:1.4;margin:0 0 .375rem}.salary-receipt-note:last-child{font-weight:600;margin-bottom:0;text-align:center}@media (max-width:768px){.salary-receipt-container{margin:.5rem;padding:1rem}.salary-receipt-title-group h1{font-size:1.75rem}.salary-receipt-title-group h2{font-size:1.1rem}.salary-receipt-title-group h3{font-size:.9rem}.salary-receipt-meta{flex-direction:column;text-align:center}.salary-receipt-section{padding:.75rem}.salary-receipt-info-row,.salary-receipt-payment-row{align-items:flex-start;flex-direction:column;gap:.25rem}.salary-receipt-info-label,.salary-receipt-payment-label{min-width:auto}.salary-receipt-info-value,.salary-receipt-payment-amount,.salary-receipt-payment-status,.salary-receipt-payment-value{text-align:left}.salary-receipt-footer{align-items:center;flex-direction:column;gap:.75rem}.salary-receipt-signature-line{width:120px}.salary-receipt-stamp{height:50px;width:50px}.salary-receipt-stamp-text{font-size:.6rem}}@media (max-width:576px){.salary-receipt-container{margin:.25rem;padding:.75rem}.salary-receipt-title-group h1{font-size:1.5rem}.salary-receipt-title-group h2{font-size:1rem}.salary-receipt-title-group h3{font-size:.85rem}.salary-receipt-section{padding:.5rem}.salary-receipt-section-title{font-size:.9rem}.salary-receipt-payment-amount{font-size:1rem}.salary-receipt-summary-amount{font-size:1.1rem}.salary-receipt-signature-line{width:100px}.salary-receipt-stamp{height:45px;width:45px}.salary-receipt-stamp-text{font-size:.55rem}}@media print{.salary-receipt-container{border:1px solid #ccc;box-shadow:none;break-inside:avoid;margin:0;max-height:100vh;overflow:hidden;padding:1rem;page-break-after:avoid;page-break-before:avoid;page-break-inside:avoid}.salary-receipt-header{margin-bottom:1rem;padding-bottom:.75rem}.salary-receipt-title-group h1{font-size:1.75rem;margin-bottom:.2rem}.salary-receipt-title-group h2{font-size:1.1rem;margin-bottom:.2rem}.salary-receipt-title-group h3{font-size:.9rem;margin-bottom:.5rem}.salary-receipt-meta{gap:.5rem;margin-top:.5rem}.salary-receipt-meta p{font-size:.75rem}.salary-receipt-section{break-inside:avoid;margin-bottom:1rem;padding:.75rem;page-break-inside:avoid}.salary-receipt-section-title{font-size:.9rem;margin-bottom:.5rem}.salary-receipt-employee-info{gap:.375rem}.salary-receipt-info-row{padding:.25rem 0}.salary-receipt-info-label,.salary-receipt-info-value{font-size:.8rem}.salary-receipt-payment-details{gap:.375rem}.salary-receipt-payment-row{padding:.375rem 0}.salary-receipt-payment-label,.salary-receipt-payment-status,.salary-receipt-payment-value{font-size:.8rem}.salary-receipt-payment-amount{font-size:1rem}.salary-receipt-summary{padding:.5rem}.salary-receipt-summary-label{font-size:.9rem}.salary-receipt-summary-amount{font-size:1.1rem}.salary-receipt-footer{break-inside:avoid;margin:1rem 0 .75rem;padding-top:.75rem;page-break-inside:avoid}.salary-receipt-signature-line{margin-bottom:.25rem;width:120px}.salary-receipt-signature-label{font-size:.75rem}.salary-receipt-stamp{height:50px;width:50px}.salary-receipt-stamp-text{font-size:.65rem}.salary-receipt-notes{break-inside:avoid;margin-top:1rem;padding:.5rem;page-break-inside:avoid}.salary-receipt-note{font-size:.75rem;margin-bottom:.25rem}*{break-inside:avoid;page-break-inside:avoid}}.salary-container{background:#f8f9fa;box-sizing:border-box;margin:0 auto;max-width:1400px;min-height:calc(100vh - 80px);padding:20px;width:100%}.salary-loading{align-items:center;color:#666;display:flex;flex-direction:column;height:50vh;justify-content:center;text-align:center}.salary-loading-text{color:#666;font-size:1.2rem;margin-top:1rem}.salary-loading-spinner{animation:spin 1s linear infinite;border:4px solid #e3e3e3;border-radius:50%;border-top-color:#007bff;height:40px;margin-bottom:1rem;width:40px}.salary-header{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem;padding:2rem;text-align:center}.salary-title{-webkit-text-fill-color:#0000;align-items:center;background:#0a2746;-webkit-background-clip:text;background-clip:text;color:#0f243a;display:flex;font-size:2.5rem;font-weight:700;gap:1rem;justify-content:center;margin:0 0 .5rem}.read-only-badge{-webkit-text-fill-color:unset;-webkit-background-clip:unset;background-clip:initial}.salary-subtitle{color:#6c757d;font-size:1.1rem;font-weight:500;margin:0}.salary-stats-container{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.salary-stat-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;display:flex;gap:1.5rem;overflow:hidden;padding:2rem;position:relative;transition:all .3s ease}.salary-stat-card:before{background:#0056b3;content:"";height:4px;left:0;position:absolute;right:0;top:0}.salary-stat-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-5px)}.salary-paid-card:before{background:#0056b3}.salary-pending-card:before{background:#007bff}.salary-approved-card:before{background:#0056b3}.salary-stat-icon{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.5rem;height:60px;justify-content:center;width:60px}.salary-approved-card .salary-stat-icon,.salary-paid-card .salary-stat-icon,.salary-pending-card .salary-stat-icon{background:#0056b3}.salary-stat-content{flex:1 1}.salary-stat-title{color:#495057;font-size:1.1rem;font-weight:600;letter-spacing:.5px;margin:0 0 .5rem;text-transform:uppercase}.salary-stat-amount{color:#2c3e50;font-size:2rem;font-weight:700;line-height:1.2;margin:0 0 .25rem}.salary-stat-label{color:#6c757d;font-size:.9rem;font-weight:500;margin:0}.salary-table-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;box-sizing:border-box;overflow:hidden;width:100%}.salary-table-header{align-items:center;background:#0056b3;border-bottom:1px solid #e9ecef;color:#fff;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1.5rem 2rem}.salary-table-title{color:#fff;font-size:1.5rem;font-weight:600;margin:0}.salary-table-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.salary-pay-btn{align-items:center;background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.salary-pay-btn:hover:not(:disabled){background:#218838;transform:translateY(-1px)}.salary-pay-btn:disabled{cursor:not-allowed;opacity:.6}.salary-payslip-btn{align-items:center;background:#17a2b8;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.salary-payslip-btn:hover{background:#138496;transform:translateY(-1px)}.salary-delete-all-btn{align-items:center;background:#0056b3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.salary-delete-all-btn:hover{box-shadow:0 4px 12px #dc354566;transform:translateY(-2px)}.salary-empty-state{color:#6c757d;padding:4rem 2rem;text-align:center}.salary-empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.salary-empty-state h3{color:#495057;font-size:1.5rem;margin:0 0 1rem}.salary-empty-state p{font-size:1rem;line-height:1.5;margin:0 auto;max-width:500px}.salary-table-responsive{box-sizing:border-box;overflow-x:auto;width:100%}.salary-table{border-collapse:collapse;font-size:14px;min-width:800px;width:100%}.salary-table-header-cell{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#495057;font-weight:600;padding:1rem;position:sticky;text-align:left;top:0;white-space:nowrap;z-index:10}.salary-table-cell{word-wrap:break-word;border-bottom:1px solid #e9ecef;padding:1rem;vertical-align:middle}.salary-table-row{transition:background-color .2s ease}.salary-table-row:hover{background-color:#f8f9fa}.salary-table-row:after{background:#0056b3;bottom:0;content:"";height:2px;left:0;position:absolute;right:0;transform:scaleX(0);transition:transform .3s ease}.salary-table-row:hover:after{transform:scaleX(1)}.salary-applicant-info{display:flex;flex-direction:column;gap:.25rem}.salary-applicant-name{color:#2c3e50;font-size:1rem;font-weight:600}.salary-amount-cell{min-width:120px}.salary-amount{color:#28a745;font-size:1rem;font-weight:600}.salary-edit-container{align-items:center;display:flex;gap:.5rem}.salary-edit-input{border:2px solid #e9ecef;border-radius:6px;box-sizing:border-box;font-size:14px;font-weight:500;padding:.5rem;transition:border-color .2s ease;width:100px}.salary-edit-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.salary-status-cell{min-width:120px}.salary-status-badge{border-radius:20px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.375rem .75rem;text-transform:uppercase;white-space:nowrap}.salary-status-badge.salary-paid{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.salary-status-badge.salary-pending{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.salary-status-badge.salary-not-set{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.salary-status-paid{display:flex;flex-direction:column;gap:.25rem}.salary-paid-details{display:flex;flex-direction:column;gap:.125rem}.salary-paid-month{color:#155724;font-size:.7rem;font-weight:500}.salary-paid-date{color:#6c757d;font-size:.65rem;font-style:italic}.salary-status-pending{display:flex;flex-direction:column;gap:.25rem}.salary-previously-paid{display:flex;flex-direction:column;gap:.125rem}.salary-previously-paid-label{color:#856404;font-size:.7rem;font-weight:500}.salary-previously-paid-months{word-wrap:break-word;color:#6c757d;font-size:.65rem;font-style:italic;line-height:1.2}.salary-actions-cell{min-width:100px}.salary-action-buttons{align-items:center;display:flex;gap:.5rem}.salary-action-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.salary-action-btn:hover{transform:translateY(-1px)}.salary-edit-btn{background:#007bff;color:#fff}.salary-edit-btn:hover{background:#0056b3}.salary-save-btn{background:#28a745;color:#fff}.salary-save-btn:hover{background:#218838}.salary-cancel-btn{background:#dc3545;color:#fff}.salary-cancel-btn:hover{background:#c82333}.salary-pay-modal-overlay{align-items:center;background:#00000080;bottom:0;box-sizing:border-box;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.salary-pay-modal{animation:salaryModalFadeIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-sizing:border-box;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}@keyframes salaryModalFadeIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.salary-pay-modal-header{align-items:center;background:#0056b3;border-bottom:1px solid #e9ecef;border-radius:12px 12px 0 0;box-sizing:border-box;color:#fff;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1.5rem 2rem}.salary-pay-modal-title{word-wrap:break-word;align-items:center;display:flex;font-size:1.25rem;font-weight:600;gap:.5rem;line-height:1.2;margin:0}.salary-pay-modal-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:background-color .2s ease;width:30px}.salary-pay-modal-close-btn:hover{background:#fff3}.salary-pay-modal-body{box-sizing:border-box;padding:2rem}.salary-pay-form-group{box-sizing:border-box;margin-bottom:1.5rem;width:100%}.salary-pay-form-label{word-wrap:break-word;color:#495057;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.salary-pay-form-input,.salary-pay-form-select{background:#fff;border:2px solid #e9ecef;border-radius:8px;box-sizing:border-box;font-size:.9rem;padding:.75rem 1rem;transition:border-color .2s ease;width:100%}.salary-pay-form-input:focus,.salary-pay-form-select:focus{border-color:#28a745;box-shadow:0 0 0 3px #28a7451a;outline:none}.salary-pay-form-input:read-only{background:#f8f9fa;color:#6c757d;cursor:not-allowed}.salary-pay-academic-year-display{background:#e3f2fd;border:2px solid #2196f3;border-radius:8px;padding:.75rem 1rem;text-align:center}.salary-pay-academic-year-text{color:#1976d2;display:block;font-size:1.1rem;font-weight:700;margin-bottom:.25rem}.salary-pay-academic-year-note{color:#666;font-size:.8rem;font-style:italic}.salary-pay-form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.salary-pay-search-container,.salary-pay-search-input-wrapper{position:relative;width:100%}.salary-pay-search-icon{color:#6c757d;font-size:.9rem;left:1rem;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.salary-pay-search-input{background:#fff;border:2px solid #e9ecef;border-radius:8px;box-sizing:border-box;font-size:.9rem;padding:.75rem 1rem .75rem 2.5rem;transition:border-color .2s ease;width:100%}.salary-pay-search-input:focus{border-color:#28a745;box-shadow:0 0 0 3px #28a7451a;outline:none}.salary-pay-search-results{background:#fff;border:2px solid #e9ecef;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 4px 6px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10}.salary-pay-search-result-btn{background:none;border:none;border-bottom:1px solid #f8f9fa;color:#495057;cursor:pointer;font-size:.9rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.salary-pay-search-result-btn:hover{background:#f8f9fa;color:#28a745}.salary-pay-search-result-btn:last-child{border-bottom:none}.salary-pay-no-results{background:#f8f9fa;border:2px solid #e9ecef;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 4px 6px #0000001a;left:0;padding:1rem;position:absolute;right:0;top:100%;z-index:10}.salary-pay-no-results p{color:#6c757d;font-size:.85rem;margin:0 0 .5rem;text-align:center}.salary-pay-no-results p:last-child{color:#adb5bd;font-size:.8rem;margin-bottom:0}.salary-pay-selected-info{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:8px;margin-top:1rem;padding:1rem}.salary-pay-selected-info h4{color:#1976d2;font-size:1rem;font-weight:600;margin:0 0 .75rem}.salary-pay-selected-info p{color:#333;font-size:.9rem;line-height:1.4;margin:0 0 .5rem}.salary-pay-selected-info p:last-child{margin-bottom:0}.salary-pay-selected-info strong{color:#1976d2}.salary-pay-modal-footer{background:#f8f9fa;border-radius:0 0 12px 12px;border-top:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem}.salary-pay-modal-cancel-btn,.salary-pay-modal-pay-btn{align-items:center;border:none;border-radius:8px;box-sizing:border-box;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;min-width:100px;padding:.75rem 1.5rem;transition:all .2s ease;white-space:nowrap}.salary-pay-modal-cancel-btn{background:#6c757d;color:#fff}.salary-pay-modal-cancel-btn:hover{background:#5a6268;transform:translateY(-2px)}.salary-pay-modal-pay-btn{background:#0056b3;color:#fff}.salary-pay-modal-pay-btn:hover:not(:disabled){box-shadow:0 4px 12px #28a74566;transform:translateY(-2px)}.salary-pay-modal-pay-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.salary-receipt-modal-overlay{align-items:center;background:#00000080;bottom:0;box-sizing:border-box;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1001}.salary-receipt-modal{animation:salaryModalFadeIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-sizing:border-box;max-height:95vh;max-width:900px;overflow-y:auto;width:100%}.salary-receipt-modal-header{align-items:center;background:#0056b3;border-bottom:1px solid #e9ecef;border-radius:12px 12px 0 0;box-sizing:border-box;color:#fff;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1.5rem 2rem}.salary-receipt-modal-title{word-wrap:break-word;align-items:center;display:flex;font-size:1.25rem;font-weight:600;gap:.5rem;line-height:1.2;margin:0}.salary-receipt-modal-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:background-color .2s ease;width:30px}.salary-receipt-modal-close-btn:hover{background:#fff3}.salary-receipt-modal-body{box-sizing:border-box;padding:2rem}.salary-receipt-modal-footer{background:#f8f9fa;border-radius:0 0 12px 12px;border-top:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem}.salary-receipt-modal-close-btn-footer,.salary-receipt-modal-download-btn{align-items:center;border:none;border-radius:8px;box-sizing:border-box;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;min-width:100px;padding:.75rem 1.5rem;transition:all .2s ease;white-space:nowrap}.salary-receipt-modal-close-btn-footer{background:#6c757d;color:#fff}.salary-receipt-modal-close-btn-footer:hover{background:#5a6268;transform:translateY(-2px)}.salary-receipt-modal-download-btn{background:#0056b3;color:#fff}.salary-receipt-modal-download-btn:hover{box-shadow:0 4px 12px #007bff66;transform:translateY(-2px)}@media (max-width:1200px){.salary-container{padding:16px}.salary-stats-container{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.salary-stat-card{padding:1.5rem}.salary-stat-amount{font-size:1.75rem}}@media (max-width:992px){.salary-container{padding:12px}.salary-title{font-size:2rem}.salary-stats-container{gap:1rem;grid-template-columns:1fr}.salary-stat-card{padding:1.25rem}.salary-table-header{padding:1rem 1.5rem}.salary-table-title{font-size:1.25rem}.salary-table-actions{flex-direction:column;gap:.75rem;width:100%}.salary-delete-all-btn,.salary-pay-btn{justify-content:center;width:100%}}@media (max-width:768px){.salary-container{padding:10px}.salary-header{margin-bottom:1.5rem;padding:1.5rem}.salary-title{font-size:1.75rem}.salary-subtitle{font-size:1rem}.salary-stat-card{flex-direction:column;gap:1rem;text-align:center}.salary-stat-icon{font-size:1.25rem;height:50px;width:50px}.salary-stat-amount{font-size:1.5rem}.salary-table-header{align-items:stretch;flex-direction:column;gap:1rem;padding:.75rem 1rem}.salary-table-title{font-size:1.1rem;text-align:center}.salary-pay-btn{justify-content:center;width:100%}.salary-table{font-size:12px;min-width:600px}.salary-table-cell,.salary-table-header-cell{padding:.75rem .5rem}.salary-edit-input{font-size:12px;padding:.375rem;width:80px}.salary-action-btn{font-size:10px;height:28px;width:28px}.salary-pay-modal{margin:10px;max-height:95vh;width:calc(100% - 20px)}.salary-pay-modal-body{padding:1.5rem}.salary-pay-form-row{gap:.75rem;grid-template-columns:1fr}.salary-pay-modal-footer{flex-direction:column}.salary-pay-modal-cancel-btn,.salary-pay-modal-pay-btn{width:100%}.salary-receipt-modal{margin:10px;max-height:95vh;width:calc(100% - 20px)}.salary-receipt-modal-body{padding:1.5rem}.salary-receipt-modal-footer{flex-direction:column}.salary-receipt-modal-close-btn-footer,.salary-receipt-modal-download-btn{width:100%}}@media (max-width:576px){.salary-container{padding:8px}.salary-header{padding:1rem}.salary-title{font-size:1.5rem}.salary-stat-card{padding:1rem}.salary-stat-icon{font-size:1rem;height:40px;width:40px}.salary-stat-amount{font-size:1.25rem}.salary-table-header{padding:.5rem .75rem}.salary-table-title{font-size:1rem}.salary-table{font-size:11px;min-width:500px}.salary-table-cell,.salary-table-header-cell{padding:.5rem .375rem}.salary-edit-input{font-size:11px;padding:.25rem;width:70px}.salary-action-btn{font-size:9px;height:24px;width:24px}.salary-empty-state{padding:2rem 1rem}.salary-empty-icon{font-size:3rem}.salary-empty-state h3{font-size:1.25rem}.salary-empty-state p{font-size:.9rem}.salary-pay-modal-header,.salary-receipt-modal-header{padding:1rem 1.5rem}.salary-pay-modal-title,.salary-receipt-modal-title{font-size:1.1rem}.salary-pay-modal-body,.salary-receipt-modal-body{padding:1rem}.salary-pay-modal-footer,.salary-receipt-modal-footer{padding:1rem 1.5rem}}.salary-table-row{position:relative}.salary-table-responsive::-webkit-scrollbar{height:6px}.salary-table-responsive::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.salary-table-responsive::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.salary-table-responsive::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.salary-pay-modal::-webkit-scrollbar,.salary-receipt-modal::-webkit-scrollbar{width:6px}.salary-pay-modal::-webkit-scrollbar-track,.salary-receipt-modal::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.salary-pay-modal::-webkit-scrollbar-thumb,.salary-receipt-modal::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.salary-pay-modal::-webkit-scrollbar-thumb:hover,.salary-receipt-modal::-webkit-scrollbar-thumb:hover{background:#a8a8a8}body{overflow-x:hidden;width:100%}*,body{box-sizing:border-box}.teacher-payslip-container{background:#f7f8fa;box-sizing:border-box;min-height:100vh;padding:32px 18px 18px}.teacher-payslip-header{background:#fff;border-radius:16px;box-shadow:0 4px 20px #20408014;margin-bottom:24px;padding:24px}.teacher-payslip-header-content{align-items:center;display:flex;gap:16px;justify-content:space-between}.teacher-payslip-header-text{flex:1 1}.teacher-payslip-title{color:#204080;font-size:2rem;font-weight:700;margin:0 0 6px}.teacher-payslip-subtitle{color:#666;margin:0}.teacher-payslip-search{max-width:380px;position:relative;width:100%}.teacher-payslip-search-icon{color:#666;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.teacher-payslip-search-input{border:2px solid #e1e5e9;border-radius:8px;padding:12px 12px 12px 38px;width:100%}.teacher-payslip-search-input:focus{border-color:#204080;outline:none}.teacher-payslip-table-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #20408014;overflow:hidden}.teacher-payslip-loading{padding:48px;text-align:center}.teacher-payslip-loading-spinner{animation:spin 1s linear infinite;border:4px solid #e1e5e9;border-radius:50%;border-top-color:#204080;height:36px;margin:0 auto 12px;width:36px}.teacher-payslip-empty{color:#666;padding:48px;text-align:center}.teacher-payslip-table-responsive{overflow-x:auto}.teacher-payslip-table{border-collapse:collapse;width:100%}.teacher-payslip-table thead{background:#f8f9fa}.teacher-payslip-table td,.teacher-payslip-table th{border-bottom:1px solid #e1e5e9;font-size:.95rem;padding:14px 12px;text-align:left}.teacher-payslip-table th{color:#204080;font-weight:700}.teacher-payslip-amount{color:#28a745;font-weight:600}.teacher-payslip-date{color:#666;font-size:.9rem}.teacher-payslip-actions{display:flex;gap:8px}.teacher-payslip-download-btn,.teacher-payslip-view-btn{align-items:center;background:none;border:none;border-radius:6px;color:#204080;cursor:pointer;display:inline-flex;gap:6px;padding:8px 10px;transition:background .2s ease}.teacher-payslip-view-btn:hover{background:#eaf3ff}.teacher-payslip-download-btn{color:#155724}.teacher-payslip-download-btn:hover{background:#e9f7ef}@media (max-width:768px){.teacher-payslip-header-content{align-items:stretch;flex-direction:column}.teacher-payslip-title{font-size:1.6rem}}.admin2-payslip-container{background:#f7f8fa;box-sizing:border-box;min-height:100vh;padding:32px 18px 18px}.admin2-payslip-header{background:#fff;border-radius:16px;box-shadow:0 4px 20px #20408014;margin-bottom:24px;padding:32px}.admin2-payslip-header-content{align-items:center;display:flex;justify-content:space-between}.admin2-payslip-header-text{flex:1 1}.admin2-payslip-title{color:#204080;font-size:2.5rem;font-weight:700;letter-spacing:2px;margin:0 0 8px;text-transform:uppercase}.admin2-payslip-subtitle{color:#666;font-size:1.1rem;font-weight:500;margin:0}.admin2-payslip-settings-btn{align-items:center;background:#204080;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:8px;padding:12px 16px;transition:all .3s ease}.admin2-payslip-settings-btn:hover{background:#1a3373;transform:translateY(-2px)}.admin2-payslip-controls{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 20px #20408014;display:flex;gap:24px;justify-content:space-between;margin-bottom:24px;padding:24px}.admin2-payslip-search-section{flex:1 1}.admin2-payslip-search-container{max-width:400px;position:relative}.admin2-payslip-search-icon{color:#666;font-size:1rem;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.admin2-payslip-search-input{border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;padding:12px 12px 12px 40px;transition:border-color .3s ease;width:100%}.admin2-payslip-search-input:focus{border-color:#204080;outline:none}.admin2-payslip-filters{align-items:center;display:flex;gap:16px}.admin2-payslip-filter-group{display:flex;flex-direction:column;gap:4px}.admin2-payslip-filter-label{color:#333;font-size:.9rem;font-weight:600}.admin2-payslip-filter-select{background:#fff;border:2px solid #e1e5e9;border-radius:6px;cursor:pointer;font-size:.9rem;padding:8px 12px;transition:border-color .3s ease}.admin2-payslip-filter-select:focus{border-color:#204080;outline:none}.admin2-payslip-stats{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:24px}.admin2-payslip-stat-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 20px #20408014;display:flex;gap:16px;padding:24px;transition:transform .3s ease}.admin2-payslip-stat-card:hover{transform:translateY(-4px)}.admin2-payslip-stat-icon{background:#eaf3ff;border-radius:12px;color:#204080;font-size:2rem;padding:16px}.admin2-payslip-stat-content h3{color:#666;font-size:1rem;font-weight:600;margin:0 0 4px}.admin2-payslip-stat-content p{color:#204080;font-size:1.5rem;font-weight:700;margin:0}.admin2-payslip-table-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #20408014;overflow:hidden}.admin2-payslip-table-header{align-items:center;border-bottom:1px solid #e1e5e9;display:flex;justify-content:space-between;padding:24px}.admin2-payslip-table-title{color:#204080;font-size:1.5rem;font-weight:700;margin:0}.admin2-payslip-refresh-btn{background:#204080;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;padding:10px 16px;transition:all .3s ease}.admin2-payslip-refresh-btn:hover:not(:disabled){background:#1a3373}.admin2-payslip-refresh-btn:disabled{background:#ccc;cursor:not-allowed}.admin2-payslip-loading{padding:60px 24px;text-align:center}.admin2-payslip-loading-spinner{animation:spin 1s linear infinite;border:4px solid #e1e5e9;border-radius:50%;border-top-color:#204080;height:40px;margin:0 auto 16px;width:40px}.admin2-payslip-loading p{color:#666;font-size:1rem;margin:0}.admin2-payslip-empty-state{padding:60px 24px;text-align:center}.admin2-payslip-empty-icon{font-size:3rem;margin-bottom:16px}.admin2-payslip-empty-state h3{color:#204080;font-size:1.5rem;font-weight:600;margin:0 0 8px}.admin2-payslip-empty-state p{color:#666;font-size:1rem;margin:0}.admin2-payslip-table-responsive{overflow-x:auto}.admin2-payslip-table{border-collapse:collapse;width:100%}.admin2-payslip-table-head{background:#f8f9fa}.admin2-payslip-table-header-cell{border-bottom:2px solid #e1e5e9;color:#333;font-size:.9rem;font-weight:600;padding:16px 12px;text-align:left}.admin2-payslip-sortable{cursor:pointer;transition:background-color .3s ease;-webkit-user-select:none;user-select:none}.admin2-payslip-sortable:hover{background:#e9ecef}.admin2-payslip-sort-icon{color:#666;font-size:.8rem;margin-left:8px}.admin2-payslip-table-body{background:#fff}.admin2-payslip-table-row{border-bottom:1px solid #e1e5e9;transition:background-color .3s ease}.admin2-payslip-table-row:hover{background:#f8f9fa}.admin2-payslip-table-cell{color:#333;font-size:.9rem;padding:16px 12px}.admin2-payslip-name-cell{min-width:200px}.admin2-payslip-employee-info{display:flex;flex-direction:column;gap:4px}.admin2-payslip-employee-name{color:#204080;font-weight:600}.admin2-payslip-amount-cell{text-align:right}.admin2-payslip-amount{color:#28a745;font-weight:600}.admin2-payslip-period{color:#204080;font-weight:500}.admin2-payslip-date{color:#666;font-size:.8rem}.admin2-payslip-actions-cell{min-width:120px;text-align:center}.admin2-payslip-action-buttons{display:flex;gap:8px;justify-content:center}.admin2-payslip-action-btn{background:none;border:none;border-radius:6px;cursor:pointer;font-size:1rem;padding:8px;transition:all .3s ease}.admin2-payslip-view-btn{color:#204080}.admin2-payslip-view-btn:hover{background:#eaf3ff;color:#1a3373}.admin2-payslip-download-btn{color:#28a745}.admin2-payslip-download-btn:hover{background:#d4edda;color:#1e7e34}.admin2-payslip-settings-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.admin2-payslip-settings-modal{background:#fff;border-radius:16px;max-height:80vh;max-width:600px;overflow-y:auto;width:90%}.admin2-payslip-settings-modal-header{align-items:center;border-bottom:1px solid #e1e5e9;display:flex;justify-content:space-between;padding:24px}.admin2-payslip-settings-modal-title{align-items:center;color:#204080;display:flex;font-size:1.5rem;font-weight:700;gap:8px;margin:0}.admin2-payslip-settings-modal-close-btn{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:1.5rem;padding:4px;transition:background-color .3s ease}.admin2-payslip-settings-modal-close-btn:hover{background:#f8f9fa}.admin2-payslip-settings-modal-body{padding:24px}.admin2-payslip-settings-section h4{color:#204080;font-size:1.2rem;font-weight:600;margin:0 0 8px}.admin2-payslip-settings-description{color:#666;font-size:.9rem;margin:0 0 24px}.admin2-payslip-settings-input-group{display:flex;gap:12px;margin-bottom:24px}.admin2-payslip-settings-input{border:2px solid #e1e5e9;border-radius:6px;flex:1 1;font-size:.9rem;padding:10px 12px;transition:border-color .3s ease}.admin2-payslip-settings-input:focus{border-color:#204080;outline:none}.admin2-payslip-settings-add-btn{background:#204080;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:10px 16px;transition:background-color .3s ease}.admin2-payslip-settings-add-btn:hover{background:#1a3373}.admin2-payslip-settings-list{margin-bottom:16px}.admin2-payslip-settings-empty{color:#666;font-style:italic;padding:24px;text-align:center}.admin2-payslip-settings-items{display:flex;flex-direction:column;gap:8px}.admin2-payslip-settings-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;justify-content:space-between;padding:12px}.admin2-payslip-settings-item-info{align-items:center;display:flex;gap:16px}.admin2-payslip-settings-item-description{color:#333;font-weight:500}.admin2-payslip-settings-item-percentage{background:#204080;border-radius:4px;color:#fff;font-size:.8rem;font-weight:600;padding:4px 8px}.admin2-payslip-settings-remove-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:6px 8px;transition:background-color .3s ease}.admin2-payslip-settings-remove-btn:hover{background:#c82333}.admin2-payslip-settings-total{background:#eaf3ff;border-radius:8px;color:#204080;font-weight:600;padding:12px;text-align:right}.admin2-payslip-settings-modal-footer{border-top:1px solid #e1e5e9;display:flex;gap:12px;justify-content:flex-end;padding:24px}.admin2-payslip-settings-modal-cancel-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:10px 20px;transition:background-color .3s ease}.admin2-payslip-settings-modal-cancel-btn:hover{background:#5a6268}.admin2-payslip-settings-modal-save-btn{align-items:center;background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;gap:8px;padding:10px 20px;transition:background-color .3s ease}.admin2-payslip-settings-modal-save-btn:hover:not(:disabled){background:#218838}.admin2-payslip-settings-modal-save-btn:disabled{background:#ccc;cursor:not-allowed}.admin2-payslip-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.admin2-payslip-modal{background:#fff;border-radius:16px;max-height:90vh;max-width:800px;overflow-y:auto;width:90%}.admin2-payslip-modal-header{align-items:center;border-bottom:1px solid #e1e5e9;display:flex;justify-content:space-between;padding:24px}.admin2-payslip-modal-title{align-items:center;color:#204080;display:flex;font-size:1.5rem;font-weight:700;gap:8px;margin:0}.admin2-payslip-modal-close-btn{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:1.5rem;padding:4px;transition:background-color .3s ease}.admin2-payslip-modal-close-btn:hover{background:#f8f9fa}.admin2-payslip-modal-body{padding:24px}.admin2-payslip-content{background:#fff;border:2px solid #e1e5e9;border-radius:8px;font-family:Arial,sans-serif;padding:40px}.admin2-payslip-header-section{align-items:flex-start;border-bottom:3px solid #204080;display:flex;justify-content:space-between;margin-bottom:40px;padding-bottom:20px}.admin2-payslip-company-info{flex:1 1}.admin2-payslip-company-name{color:#204080;font-size:2rem;font-weight:700;letter-spacing:2px;margin:0 0 8px;text-transform:uppercase}.admin2-payslip-logo{height:80px;width:80px}.admin2-payslip-logo-img{height:100%;object-fit:contain;width:100%}.admin2-payslip-document-info{text-align:right}.admin2-payslip-document-title{color:#204080;font-size:2.5rem;font-weight:700;letter-spacing:3px;margin:0 0 16px;text-transform:uppercase}.admin2-payslip-date,.admin2-payslip-period{color:#333;font-size:1rem;font-weight:500;margin:4px 0}.admin2-payslip-employee-section{margin-bottom:40px}.admin2-payslip-employee-details h3{border-bottom:2px solid #e1e5e9;color:#204080;font-size:1.5rem;font-weight:600;margin:0 0 20px;padding-bottom:8px}.admin2-payslip-employee-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.admin2-payslip-employee-field{display:flex;flex-direction:column;gap:4px}.admin2-payslip-employee-field label{color:#666;font-size:.9rem;font-weight:600}.admin2-payslip-employee-field span{color:#333;font-size:1rem;font-weight:500}.admin2-payslip-salary-section{margin-bottom:40px}.admin2-payslip-salary-section h3{border-bottom:2px solid #e1e5e9;color:#204080;font-size:1.5rem;font-weight:600;margin:0 0 20px;padding-bottom:8px}.admin2-payslip-salary-table{width:100%}.admin2-payslip-salary-details{border-collapse:collapse;width:100%}.admin2-payslip-salary-details tr{border-bottom:1px solid #e1e5e9}.admin2-payslip-salary-details tr:last-child{border-bottom:2px solid #204080}.admin2-payslip-salary-label{color:#333;font-weight:500;padding:12px 8px;text-align:left;width:60%}.admin2-payslip-salary-amount{color:#333;font-weight:600;padding:12px 8px;text-align:right;width:40%}.admin2-payslip-section-heading td{background:#f1f5ff;border-bottom:1px solid #e1e5e9;border-top:1px solid #e1e5e9;color:#1a3373;font-weight:700;padding:10px 12px}.admin2-payslip-deduction-amount{color:#c0392b}.admin2-payslip-total-deductions{color:#c0392b;font-weight:700}.admin2-payslip-total-deductions .admin2-payslip-salary-amount,.admin2-payslip-total-deductions .admin2-payslip-salary-label{color:#dc3545;font-weight:600}.admin2-payslip-salary-total{background:#eaf3ff}.admin2-payslip-salary-total .admin2-payslip-salary-amount,.admin2-payslip-salary-total .admin2-payslip-salary-label{color:#204080;font-size:1.1rem;font-weight:700}.admin2-payslip-footer{margin-top:40px}.admin2-payslip-signature-section{display:flex;justify-content:space-between;margin-bottom:30px}.admin2-payslip-signature-box{flex:1 1;margin:0 20px;text-align:center}.admin2-payslip-signature-box p{color:#333;font-size:.9rem;font-weight:600;margin:0 0 8px}.admin2-payslip-signature-line{background:#333;height:2px;margin-top:40px}.admin2-payslip-notes{border-top:1px solid #e1e5e9;padding-top:20px}.admin2-payslip-notes p{color:#333;font-weight:600;margin:0 0 12px}.admin2-payslip-notes ul{margin:0;padding-left:20px}.admin2-payslip-notes li{color:#666;font-size:.9rem;margin-bottom:4px}.admin2-payslip-modal-footer{border-top:1px solid #e1e5e9;display:flex;gap:12px;justify-content:flex-end;padding:24px}.admin2-payslip-modal-close-btn-footer{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:10px 20px;transition:background-color .3s ease}.admin2-payslip-modal-close-btn-footer:hover{background:#5a6268}.admin2-payslip-modal-download-btn{align-items:center;background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;gap:8px;padding:10px 20px;transition:background-color .3s ease}.admin2-payslip-modal-download-btn:hover{background:#218838}@media (max-width:768px){.admin2-payslip-container{padding:20px 12px 12px}.admin2-payslip-header{padding:24px 20px}.admin2-payslip-title{font-size:2rem}.admin2-payslip-controls{align-items:stretch;flex-direction:column;gap:16px}.admin2-payslip-filters{flex-direction:column;gap:12px}.admin2-payslip-stats{gap:16px;grid-template-columns:1fr}.admin2-payslip-table-responsive{overflow-x:auto}.admin2-payslip-table{min-width:800px}.admin2-payslip-employee-grid{grid-template-columns:1fr}.admin2-payslip-signature-section{flex-direction:column;gap:20px}.admin2-payslip-signature-box{margin:0}}@media (max-width:480px){.admin2-payslip-header{padding:20px 16px}.admin2-payslip-title{font-size:1.8rem}.admin2-payslip-content{padding:20px}.admin2-payslip-company-name{font-size:1.5rem}.admin2-payslip-document-title{font-size:2rem}.admin2-payslip-settings-input-group{flex-direction:column}.admin2-payslip-settings-item-info{align-items:flex-start;flex-direction:column;gap:8px}}.template-wrapper{background:#fff;color:#000;padding:16px}.template-header{margin-bottom:10px}.template-brand{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.template-brand-left{align-items:center;display:flex;gap:10px}.template-logo{height:36px;object-fit:contain;width:36px}.template-brand-title{font-size:16px;font-weight:800;letter-spacing:.5px}.template-brand-sub{color:#333;font-size:10px}.template-row{font-size:12px;margin:2px 0}.template-label{font-weight:700;min-width:170px}.template-label,.template-value{display:inline-block}.template-bold{font-style:italic;font-weight:700}.template-table{border-collapse:collapse;font-size:12px;width:100%}.template-table td,.template-table th{border:1px solid #000;padding:6px 8px;vertical-align:top}.col-sn{width:50px}.col-heading{width:auto}.col-credit,.col-debit{width:120px}.col-percent{width:60px}.col-remark{width:180px}.cell.number{text-align:right}.cell.text{text-align:left}.cell.sn{text-align:center}.row-section .heading,.row-subtotal td,.row-total td{font-weight:700}.row-net td{font-size:13px}@media print{.template-wrapper{padding:0}.template-table td,.template-table th{padding:4px 6px}.row-net,.row-section,.row-subtotal,.row-total,.template-brand,.template-header,.template-table,.template-table tbody,.template-table thead,.template-table tr{break-inside:avoid!important;page-break-inside:avoid!important}.template-table,.template-table tr{page-break-after:auto}.template-table tr{page-break-before:auto}.template-table thead{display:table-header-group}.template-table tfoot{display:table-footer-group}.row-net,.row-total{break-inside:avoid;page-break-inside:avoid}}.admin-discipline-container{margin:0 auto;max-width:1400px;padding:24px}.case-status{align-items:center;gap:8px}.status-icon{font-size:1.2rem}.status-icon.resolved{color:#28a745}.status-icon.pending{color:#ffc107}.status-icon.escalated{color:#dc3545}.status-icon.default{color:#6c757d}.status-text{font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.resolution-notes{background:#f8f9fa;border-left:4px solid #28a745;padding:12px}.resolution-notes strong{color:#28a745;font-size:.9rem}.resolution-notes p{color:#555;font-size:.9rem;line-height:1.4;margin:4px 0 0}.case-modal{max-width:600px}@media (max-width:768px){.admin-discipline-container{padding:16px}.page-header h1{font-size:2rem}.stats-cards{gap:16px;grid-template-columns:1fr}.stat-card{padding:20px}.stat-content h3{font-size:2rem}.cases-grid{gap:16px;grid-template-columns:1fr}.case-card,.cases-grid{padding:16px}.case-header{align-items:flex-start;flex-direction:column;gap:8px}.modal-overlay{padding:10px}.case-modal{max-height:95vh}.modal-content,.modal-header{padding:16px}.detail-grid{gap:12px;grid-template-columns:1fr}}@media (max-width:480px){.page-header h1{font-size:1.8rem}.page-header p{font-size:1rem}.stat-card{padding:16px}.stat-icon{font-size:1.5rem}.stat-content h3{font-size:1.8rem}.case-info{gap:6px}.info-item{font-size:.85rem}}.admin-counselling-container{margin:0 auto;max-width:1400px;padding:24px}.page-header{margin-bottom:32px;text-align:center}.page-header h1{color:#204080;font-size:2.5rem;font-weight:700;margin-bottom:8px}.page-header p{color:#666;font-size:1.1rem;margin:0}.stats-cards{grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:40px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transition:transform .2s ease}.stat-card.pending{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-card.resolved{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-card.high{background:linear-gradient(135deg,#ff9a9e,#fecfef)}.stat-icon{opacity:.9}.stat-content h3{font-size:2.5rem;line-height:1;margin:0}.stat-content p{color:#fff;margin:4px 0 0;opacity:.9}.cases-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 20px #00000014;overflow:hidden}.table-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:24px}.table-header h2{color:#204080;font-size:1.5rem;font-weight:600;margin:0}.no-cases{color:#666;padding:60px 24px}.no-cases svg{font-size:3rem;opacity:.5}.cases-grid{padding:24px}.case-card{border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 8px #0000000d;cursor:pointer;padding:20px}.case-card:hover{border-color:#204080;box-shadow:0 4px 20px #0000001a}.case-header{align-items:center;border-bottom:1px solid #f1f3f4;padding-bottom:12px}.case-priority{align-items:center;display:flex;gap:8px}.priority-icon{font-size:1.2rem}.priority-icon.high{color:#dc3545}.priority-icon.medium{color:#ffc107}.priority-icon.low{color:#28a745}.priority-icon.default{color:#6c757d}.priority-text{font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.case-date{align-items:center;color:#666;display:flex;font-size:.9rem;gap:6px}.case-info{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.info-item{align-items:center;color:#555;font-size:.9rem;gap:8px}.info-item svg{color:#204080;width:14px}.case-description{margin-bottom:16px}.case-description p{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;color:#333;display:-webkit-box;line-height:1.5;margin:0;overflow:hidden}.case-notes{background:#f8f9fa;border-left:4px solid #204080;border-radius:6px;padding:12px}.case-notes strong{color:#204080;font-size:.9rem}.case-notes p{color:#555;font-size:.9rem;line-height:1.4;margin:4px 0 0}.case-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:700px;overflow-y:auto;width:100%}.modal-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;border-radius:12px 12px 0 0;padding:24px}.close-button{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:1.5rem;padding:4px;transition:background-color .2s ease}.close-button:hover{background:#e9ecef;color:#333}.detail-section{margin-bottom:24px}.detail-section h3{border-bottom:2px solid #e9ecef;color:#204080;font-size:1.2rem;font-weight:600;margin-bottom:16px;padding-bottom:8px}.detail-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-item{flex-direction:column;gap:4px}.detail-item label{color:#666;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.detail-item span{color:#333;font-size:1rem}.priority-badge{border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.priority-badge,.status-badge{align-self:flex-start;display:inline-block}.status-badge.open{background-color:#ffc107}.status-badge.closed{background-color:#28a745}.description-box{background:#f8f9fa;border-left:4px solid #204080;border-radius:8px;padding:16px}.description-box p{color:#333;line-height:1.6;margin:0}.sessions-list{gap:16px}.session-item{background:#f8f9fa;border:1px solid #e9ecef}.session-header{border-bottom:1px solid #e9ecef;margin-bottom:12px;padding-bottom:8px}.session-type{align-items:center;color:#204080;display:flex;font-size:.9rem;font-weight:600;gap:8px}.session-date{color:#666;font-size:.85rem}.session-notes p{color:#333;line-height:1.5;margin:0}.loading-container{color:#666;height:400px}.spinner{color:#204080;font-size:2rem}@media (max-width:768px){.admin-counselling-container{padding:16px}.page-header h1{font-size:2rem}.stats-cards{gap:16px;grid-template-columns:repeat(2,1fr)}.stat-card{padding:20px}.stat-content h3{font-size:2rem}.cases-grid{gap:16px;grid-template-columns:1fr}.case-card,.cases-grid{padding:16px}.case-header{align-items:flex-start;flex-direction:column;gap:8px}.modal-overlay{padding:10px}.case-modal{max-height:95vh}.modal-content,.modal-header{padding:16px}.detail-grid{gap:12px;grid-template-columns:1fr}.session-header{align-items:flex-start;flex-direction:column;gap:8px}}@media (max-width:480px){.page-header h1{font-size:1.8rem}.page-header p{font-size:1rem}.stats-cards{grid-template-columns:1fr}.stat-card{padding:16px}.stat-icon{font-size:1.5rem}.stat-content h3{font-size:1.8rem}.case-info{gap:6px}.info-item{font-size:.85rem}}.admin-hods-container{margin:0 auto;max-width:1400px;padding:24px}.admin-hods-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:32px}.admin-hods-header h1{color:#1a1a1a;font-size:28px;font-weight:700;margin:0}.admin-hods-create-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.admin-hods-create-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.admin-hods-create-btn:active{transform:translateY(0)}.admin-hods-stats-cards{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.admin-hods-stat-card{align-items:center;background:#fff;border:1px solid #e1e5e9;border-radius:12px;box-shadow:0 2px 12px #00000014;display:flex;gap:20px;padding:24px;transition:all .3s ease}.admin-hods-stat-card:hover{box-shadow:0 8px 25px #0000001f;transform:translateY(-4px)}.admin-hods-stat-icon{align-items:center;border-radius:12px;color:#fff;display:flex;font-size:24px;height:60px;justify-content:center;width:60px}.admin-hods-stat-card.admin-hods-total .admin-hods-stat-icon{background:linear-gradient(135deg,#667eea,#764ba2)}.admin-hods-stat-card.admin-hods-suspended .admin-hods-stat-icon{background:linear-gradient(135deg,#f093fb,#f5576c)}.admin-hods-stat-card.admin-hods-active .admin-hods-stat-icon{background:linear-gradient(135deg,#4facfe,#00f2fe)}.admin-hods-stat-content h3{color:#1a1a1a;font-size:32px;font-weight:700;margin:0 0 4px}.admin-hods-stat-content p{color:#666;font-size:14px;font-weight:500;margin:0}.admin-hods-table-container{background:#fff;border:1px solid #e1e5e9;border-radius:12px;box-shadow:0 2px 12px #00000014;padding:24px}.admin-hods-table-container h2{color:#1a1a1a;font-size:20px;font-weight:600;margin:0 0 24px}.admin-hods-table{overflow-x:auto;width:100%}.admin-hods-table-header{background:#f8f9fa;border-radius:8px;color:#495057;font-size:14px;font-weight:600;margin-bottom:16px}.admin-hods-table-header,.admin-hods-table-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:2fr 2fr 2fr 1fr 1fr 1fr 1fr;padding:16px}.admin-hods-table-row{align-items:center;border-bottom:1px solid #e9ecef;transition:background-color .2s ease}.admin-hods-table-row:hover{background-color:#f8f9fa}.admin-hods-table-row.admin-hods-suspended{background-color:#fff5f5;opacity:.7}.admin-hods-table-cell{align-items:center;display:flex;font-size:14px;gap:12px}.admin-hods-cell-icon{color:#6c757d;font-size:16px;min-width:20px}.admin-hods-subject-name,.admin-hods-user-name{color:#1a1a1a;font-weight:600}.admin-hods-subject-code,.admin-hods-user-username{color:#6c757d;font-size:12px}.admin-hods-status-badge{border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.admin-hods-status-badge.admin-hods-active{background-color:#d4edda;color:#f8faf8}.admin-hods-status-badge.admin-hods-suspended{background-color:#f8d7da;color:#721c24}.admin-hods-actions{display:flex;gap:8px;justify-content:flex-start}.admin-hods-action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.admin-hods-action-btn.admin-hods-edit{background-color:#fff3cd;color:#856404}.admin-hods-action-btn.admin-hods-edit:hover{background-color:#ffeaa7}.admin-hods-action-btn.admin-hods-suspend{background-color:#f8d7da;color:#721c24}.admin-hods-action-btn.admin-hods-suspend:hover{background-color:#f5c6cb}.admin-hods-action-btn.admin-hods-activate{background-color:#d4edda;color:#155724}.admin-hods-action-btn.admin-hods-activate:hover{background-color:#c3e6cb}.admin-hods-action-btn.admin-hods-delete{background-color:#f8d7da;color:#721c24}.admin-hods-action-btn.admin-hods-delete:hover{background-color:#f5c6cb}.admin-hods-loading,.admin-hods-no-data{color:#6c757d;font-size:16px;padding:48px;text-align:center}.admin-hods-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.admin-hods-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.admin-hods-modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 24px 0}.admin-hods-modal-header h2{color:#1a1a1a;font-size:24px;font-weight:600;margin:0}.admin-hods-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#6c757d;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:background-color .2s ease;width:32px}.admin-hods-close-btn:hover{background-color:#f8f9fa}.admin-hods-modal form{padding:0 24px 24px}.admin-hods-form-group{margin-bottom:24px}.admin-hods-form-group label{color:#1a1a1a;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.admin-hods-form-group input,.admin-hods-form-group select{border:2px solid #e9ecef;border-radius:8px;box-sizing:border-box;font-size:14px;padding:12px 16px;transition:border-color .2s ease;width:100%}.admin-hods-form-group input:focus,.admin-hods-form-group select:focus{border-color:#667eea;outline:none}.admin-hods-teachers-selection{background-color:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;max-height:200px;overflow-y:auto;padding:16px}.admin-hods-teacher-checkbox{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:8px;transition:background-color .2s ease}.admin-hods-teacher-checkbox:hover{background-color:#e9ecef}.admin-hods-teacher-checkbox input[type=checkbox]{margin:0;width:auto}.admin-hods-teacher-info{flex:1 1}.admin-hods-teacher-name{color:#1a1a1a;font-size:14px;font-weight:600}.admin-hods-teacher-username{color:#6c757d;font-size:12px}.admin-hods-modal-actions{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.admin-hods-modal-actions button{border:2px solid #0000;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.admin-hods-modal-actions button:first-child{background-color:#f8f9fa;border-color:#e9ecef;color:#6c757d}.admin-hods-modal-actions button:first-child:hover{background-color:#e9ecef}.admin-hods-submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff}.admin-hods-submit-btn:hover{box-shadow:0 4px 15px #667eea4d;transform:translateY(-1px)}@media (max-width:1024px){.admin-hods-container{padding:16px}.admin-hods-stats-cards{gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.admin-hods-table-header,.admin-hods-table-row{gap:12px;grid-template-columns:1.5fr 1.5fr 1.5fr 1fr 1fr 1fr 1.5fr}}@media (max-width:768px){.admin-hods-header{align-items:stretch;flex-direction:column}.admin-hods-create-btn{align-self:stretch;justify-content:center}.admin-hods-stats-cards{grid-template-columns:1fr}.admin-hods-table-header,.admin-hods-table-row{gap:8px;grid-template-columns:1fr}.admin-hods-table-header{display:none}.admin-hods-table-row{border:1px solid #e9ecef;border-radius:8px;margin-bottom:16px;padding:16px}.admin-hods-table-cell{border-bottom:1px solid #f1f3f4;justify-content:space-between;padding:8px 0}.admin-hods-table-cell:last-child{border-bottom:none}.admin-hods-table-cell:before{color:#495057;content:attr(data-label);font-weight:600;margin-right:16px}.admin-hods-modal{margin:20px;max-height:calc(100vh - 40px)}.admin-hods-modal-actions{flex-direction:column}.admin-hods-modal-actions button{width:100%}}@media (max-width:480px){.admin-hods-container{padding:12px}.admin-hods-header h1{font-size:24px}.admin-hods-stat-card{padding:16px}.admin-hods-stat-content h3{font-size:24px}.admin-hods-modal{margin:10px}.admin-hods-modal form{padding:0 16px 16px}.admin-hods-modal-header{padding:16px 16px 0}}.marks-container{margin:0 auto;max-width:1200px;padding:20px}.marks-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.marks-header h1{color:#333;font-size:2rem;font-weight:600;margin:0}.upload-marks-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:8px;padding:12px 24px;transition:all .3s ease}.upload-marks-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.stats-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{border:1px solid #e0e0e0;box-shadow:0 4px 20px #0000001a;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 30px #00000026;transform:translateY(-4px)}.stat-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:24px;height:60px;justify-content:center;width:60px}.stat-icon.status{background:linear-gradient(135deg,#4caf50,#45a049)}.stat-content h3{color:#333;font-size:2rem;font-weight:700;margin:0 0 4px}.stat-content p{color:#666;font-size:.9rem;font-weight:500;margin:0}.error-message{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;gap:12px;margin-bottom:20px;padding:16px}.application-status-message{margin-bottom:30px}.loading-message{align-items:center;background:#e3f2fd;border:1px solid #bbdefb;border-radius:8px;color:#1565c0;display:flex;gap:12px;padding:16px}.loading-spinner{border:2px solid #e3f2fd;border-top-color:#1565c0}.status-message{align-items:flex-start;border:1px solid;border-radius:8px;display:flex;font-size:.95rem;gap:12px;padding:16px}.status-message.approved{background:#d4edda;border-color:#c3e6cb;color:#155724}.status-message.pending{background:#fff3cd;border-color:#ffeaa7;color:#856404}.status-message.rejected{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.status-message.no-application{background:#e3f2fd;border-color:#bbdefb;color:#1565c0}.status-message svg{flex-shrink:0;font-size:1.2rem;margin-top:2px}.status-content{flex:1 1}.status-content h4{font-size:1.1rem;font-weight:600;margin:0 0 8px}.status-content p{line-height:1.5;margin:0 0 12px}.submit-application-btn{background:#204080;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:background .3s ease}.submit-application-btn:hover{background:#1a365d}.marks-table-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin-top:30px;padding:24px}.marks-table-container h2{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 20px}.marks-table{overflow-x:auto}.marks-table table{background:#fff;border-collapse:collapse;width:100%}.marks-table th{background:#f8f9fa;border-bottom:2px solid #e0e0e0;color:#333;font-size:.9rem;font-weight:600;padding:16px 12px;text-align:left}.marks-table td{border-bottom:1px solid #e0e0e0;color:#555;padding:16px 12px}.marks-table tr:hover{background:#f8f9fa}.delete-btn,.edit-btn{background:none;border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:8px;transition:all .3s ease}.edit-btn{color:#007bff}.edit-btn:hover{background:#e3f2fd;color:#0056b3}.delete-btn{color:#dc3545}.delete-btn:hover{background:#ffebee;color:#c82333}.status-badge{font-weight:500;padding:4px 12px}.status-badge.uploaded{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-badge.pending{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.status-badge.reviewed{background:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.modal-overlay{background:#0009}.modal-content{animation:modalSlideIn .3s ease;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:600px}.modal-header{border-bottom:1px solid #e0e0e0}.modal-header h2{color:#333;font-size:1.5rem}.close-btn{background:none;border:none;border-radius:50%;color:#666;cursor:pointer;font-size:20px;padding:8px;transition:all .3s ease}.close-btn:hover{background:#f0f0f0;color:#333}.modal-body{padding:0 24px 24px}.step-content h3{color:#333;font-size:1.3rem;font-weight:600;margin:0 0 20px}.class-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:20px}.class-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;padding:20px;text-align:center;transition:all .3s ease}.class-card:hover{border-color:#667eea;box-shadow:0 8px 25px #667eea33;transform:translateY(-2px)}.class-card h4{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 8px}.class-card p{color:#666;font-size:.9rem;margin:0}.subject-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:20px}.subject-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;padding:20px;text-align:center;transition:all .3s ease}.subject-card:hover{border-color:#667eea;box-shadow:0 8px 25px #667eea33;transform:translateY(-2px)}.subject-card h4{color:#333;font-size:1rem;font-weight:600;margin:0}.sequence-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:20px}.sequence-card{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;padding:16px;text-align:center;transition:all .3s ease}.sequence-card:hover{background:#f0f4ff;border-color:#667eea;transform:translateY(-2px)}.sequence-card h4{color:#333;font-size:1rem;font-weight:600;margin:0}.download-info{background:#e3f2fd;border:1px solid #bbdefb;border-radius:8px;margin-bottom:20px;padding:16px}.download-info p{color:#1976d2;font-weight:500;margin:8px 0}.download-btn{align-items:center;background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:8px;margin-bottom:16px;padding:12px 24px;transition:all .3s ease}.download-btn:hover{box-shadow:0 4px 15px #4caf504d;transform:translateY(-2px)}.download-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.download-note{color:#666;font-size:.9rem;line-height:1.5;margin-top:16px;text-align:center}.skip-download-section{border-top:1px solid #e0e0e0;margin-top:20px;padding-top:20px;text-align:center}.skip-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;margin-top:10px;padding:10px 20px;transition:all .3s ease}.skip-btn:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.skip-btn:disabled{background:#adb5bd;cursor:not-allowed;transform:none}.upload-info{background:#fff3e0;border:1px solid #ffcc02;border-radius:8px;margin-bottom:20px;padding:16px}.upload-info p{color:#333;font-weight:500;margin:8px 0}.upload-note{background:#e3f2fd;border:1px solid #2196f3;border-radius:6px;margin:16px 0;padding:12px}.upload-note p{color:#1976d2;font-size:.9rem;line-height:1.4;margin:0}.file-upload{margin-bottom:20px}.file-upload input[type=file]{display:none}.file-upload-label{align-items:center;background:#f8f9fa;border:2px dashed #ccc;border-radius:8px;color:#666;cursor:pointer;display:inline-flex;font-weight:500;gap:8px;padding:16px 24px;transition:all .3s ease}.file-upload-label:hover{background:#f0f4ff;border-color:#667eea;color:#667eea}.selected-file{color:#4caf50;font-size:.9rem;font-weight:500;margin:12px 0 0}.upload-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:all .3s ease;width:100%}.upload-btn:hover:not(:disabled){box-shadow:0 4px 15px #667eea4d;transform:translateY(-2px)}.upload-btn:disabled{cursor:not-allowed;opacity:.6}.edit-table-container{margin:20px 0;max-height:400px;overflow-y:auto}.edit-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden;width:100%}.edit-table th{background:#f8f9fa;border-bottom:2px solid #e0e0e0;color:#333;font-size:.9rem;font-weight:600;padding:12px;text-align:left}.edit-table td{border-bottom:1px solid #e0e0e0;color:#555;padding:12px}.edit-table tr:hover{background:#f8f9fa}.edit-input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;transition:border-color .3s ease;width:100%}.edit-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33;outline:none}.modal-footer{border-top:1px solid #e0e0e0;gap:12px;margin-top:20px;padding-top:20px}.save-btn{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:all .3s ease}.save-btn:hover:not(:disabled){box-shadow:0 4px 15px #4caf504d;transform:translateY(-2px)}.save-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.cancel-btn{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:all .3s ease}.cancel-btn:hover{background:#5a6268;transform:translateY(-2px)}.upload-info-message{margin-top:30px}.info-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 8px 30px #667eea4d;color:#fff;padding:30px;text-align:center}.info-card h3{font-size:1.5rem;font-weight:600;margin:0 0 16px}.info-card p{font-size:1.1rem;margin:0 0 20px;opacity:.9}.info-card ul{margin:0 auto;max-width:400px;padding-left:20px;text-align:left}.info-card li{font-size:1rem;margin:8px 0;opacity:.9}@media (max-width:768px){.marks-header{align-items:flex-start;flex-direction:column;gap:16px}.marks-header h1{font-size:1.5rem}.class-grid,.stats-cards{grid-template-columns:1fr}.sequence-grid{grid-template-columns:repeat(2,1fr)}.modal-content{margin:20px;max-height:calc(100vh - 40px)}.marks-table{font-size:.9rem}.marks-table td,.marks-table th{padding:12px 8px}}@media (max-width:480px){.marks-container{padding:16px}.sequence-grid{grid-template-columns:1fr}.modal-header{padding:16px 16px 0}.modal-body{padding:0 16px 16px}.edit-table-container{max-height:300px}.edit-table td,.edit-table th{font-size:.8rem;padding:8px}.edit-input{font-size:.8rem;padding:6px 8px}.modal-footer{flex-direction:column}.cancel-btn,.save-btn{margin-bottom:8px;width:100%}}.preview-modal{max-height:90vh;max-width:90vw;overflow-y:auto}.preview-content{padding:20px 0}.preview-info{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;margin-bottom:20px;padding:20px}.preview-info h3{color:#333;font-size:1rem;font-weight:600;margin:0 0 8px}.preview-info h3:last-child{margin-bottom:0}.preview-table-container{margin-top:20px}.preview-table-container h4{color:#333;font-size:1.2rem;font-weight:600;margin:0 0 15px}.table-responsive{border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow-x:auto}.preview-table{background:#fff;border-collapse:collapse;min-width:500px;width:100%}.preview-table th{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;font-size:.9rem;font-weight:600;padding:12px 15px;text-align:left}.preview-table th:first-child{border-top-left-radius:8px}.preview-table th:last-child{border-top-right-radius:8px}.preview-table td{border-bottom:1px solid #e0e0e0;color:#333;font-size:.9rem;padding:12px 15px}.preview-table tr:hover{background-color:#f8f9fa}.preview-table tr:last-child td{border-bottom:none}.preview-table tr:last-child td:first-child{border-bottom-left-radius:8px}.preview-table tr:last-child td:last-child{border-bottom-right-radius:8px}.no-data-message{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;color:#856404;padding:20px;text-align:center}.no-data-message p{font-weight:500;margin:0 0 10px}.no-data-message p:last-child{font-size:.9rem;margin-bottom:0;opacity:.8}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.loading-container p{color:#666;font-weight:500;margin:15px 0 0}.preview-btn{align-items:center;background:linear-gradient(135deg,#17a2b8,#138496);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;justify-content:center;margin-right:8px;padding:8px 12px;transition:all .3s ease}.preview-btn:hover{box-shadow:0 4px 12px #17a2b84d;transform:translateY(-1px)}.preview-btn:active{transform:translateY(0)}@media (max-width:768px){.preview-modal{margin:10px;max-width:95vw}.preview-info{padding:15px}.preview-info h3{font-size:.9rem}.preview-table{min-width:400px}.preview-table td,.preview-table th{font-size:.8rem;padding:8px 10px}}@media (max-width:480px){.preview-modal{margin:5px;max-width:98vw}.preview-table{min-width:300px}.preview-table td,.preview-table th{font-size:.75rem;padding:6px 8px}.preview-info h3{font-size:.8rem}}.admin3-marksheet-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin-bottom:30px;padding:24px}.marksheet-header{border-bottom:2px solid #f0f0f0;margin-bottom:24px;padding-bottom:16px;text-align:center}.marksheet-header h2{color:#333;font-size:1.8rem;font-weight:600;margin:0 0 8px}.marksheet-header p{color:#666;font-size:1rem;margin:0}.class-selector-section{align-items:center;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:12px;margin-bottom:24px;padding:16px}.class-selector-section label{color:#333;font-size:1rem;font-weight:600;min-width:100px}.class-select-dropdown{background:#fff;border:2px solid #ddd;border-radius:6px;color:#333;cursor:pointer;flex:1 1;font-size:1rem;max-width:300px;padding:10px 12px;transition:border-color .3s ease}.class-select-dropdown:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.marksheet-container{margin-top:20px}.marksheet-table-wrapper{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.marksheet-controls{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 20px}.marksheet-controls h3{color:#333;font-size:1.2rem;font-weight:600;margin:0}.save-marksheet-btn{align-items:center;background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:6px;box-shadow:0 2px 8px #4caf504d;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:8px;padding:10px 20px;transition:all .3s ease}.save-marksheet-btn:hover:not(:disabled){box-shadow:0 4px 12px #4caf5066;transform:translateY(-1px)}.save-marksheet-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.loading-spinner-small{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.marksheet-table-container{max-width:100%;overflow-x:auto}.marksheet-table{border-collapse:collapse;font-size:.9rem;min-width:1200px;width:100%}.marksheet-table th{background:#667eea;border:1px solid #5a6fd8;color:#fff;font-weight:600;padding:12px 8px;text-align:center;white-space:nowrap}.marksheet-table th:first-child{border-left:none}.marksheet-table th:last-child{border-right:none}.marksheet-table td{border:1px solid #e0e0e0;padding:8px;text-align:center;vertical-align:middle}.marksheet-table tr:nth-child(2n){background:#f8f9fa}.marksheet-table tr:hover{background:#e3f2fd}.serial-number{background:#f0f0f0!important;color:#333;font-weight:600;min-width:50px}.student-name{word-wrap:break-word;color:#333;font-weight:500;max-width:200px;min-width:150px;text-align:left}.student-id{color:#666;font-weight:500;min-width:100px}.mark-cell{min-width:80px;padding:4px!important}.mark-input{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:6px 8px;text-align:center;transition:border-color .3s ease;width:100%}.mark-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}.mark-input:invalid{border-color:#f44336;box-shadow:0 0 0 2px #f443361a}.average-cell{background:#e8f5e8!important;color:#4caf50;font-weight:600;min-width:60px}@media (max-width:1200px){.marksheet-table{min-width:1000px}.student-name{max-width:150px;min-width:120px}.mark-cell{min-width:70px}}@media (max-width:768px){.admin3-marksheet-section{margin-bottom:20px;padding:16px}.marksheet-header h2{font-size:1.5rem}.class-selector-section{align-items:stretch;flex-direction:column;gap:8px}.class-selector-section label{min-width:auto}.class-select-dropdown{max-width:none}.marksheet-controls{align-items:stretch;flex-direction:column;gap:12px}.marksheet-controls h3{text-align:center}.save-marksheet-btn{justify-content:center}.marksheet-table{font-size:.8rem;min-width:800px}.mark-input{font-size:.8rem;padding:4px 6px}}@media (max-width:480px){.admin3-marksheet-section{padding:12px}.marksheet-header h2{font-size:1.3rem}.marksheet-table{font-size:.75rem;min-width:600px}.mark-input{font-size:.75rem;padding:3px 4px}.student-name{max-width:120px;min-width:100px}}.clean-modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000002e;display:flex;inset:0;justify-content:center;overflow:hidden;padding:1rem;position:fixed;z-index:9999}.clean-modal-container{align-items:center;background:#fff;border-radius:16px;box-sizing:border-box;display:flex;flex-direction:column;gap:1rem;max-height:90vh;max-width:800px;min-width:300px;padding:1.5rem 2rem;position:relative;width:60vw}.clean-modal-scroll{max-height:calc(90vh - 4rem);overflow-y:auto;padding-right:.5rem;width:100%}.clean-modal-scroll::-webkit-scrollbar{width:8px}.clean-modal-scroll::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.clean-modal-scroll::-webkit-scrollbar-thumb{background:#204080;border-radius:4px}.clean-modal-scroll::-webkit-scrollbar-thumb:hover{background:#102040}.clean-modal-close-btn{align-items:center;background:#fff;border:none;border-radius:50%;box-shadow:0 3px 8px #00000026;color:#555;cursor:pointer;display:flex;font-size:1rem;height:30px;justify-content:center;position:absolute;right:-3rem;top:-1rem;transition:color .2s ease,box-shadow .2s ease;width:30px;z-index:10}.clean-modal-close-btn:hover{box-shadow:0 5px 15px #007bff33;opacity:.8}.clean-modal-title{color:#222;font-size:1.2rem;font-weight:700;margin:0;padding:0;text-align:center;width:100%}.clean-modal-scroll>* .react-select__menu{position:absolute!important;z-index:1000}@media (max-width:480px){.clean-modal-container{max-height:90vh;max-width:90vw;padding:1.5rem 1.8rem 1.8rem}.clean-modal-close-btn{font-size:1.1rem;height:32px;right:-.75rem;top:-.75rem;width:32px}.clean-modal-title{font-size:1.4rem}}.data-table{border-collapse:collapse;font-family:Arial,sans-serif;min-width:600px;width:100%}.data-table thead{background-color:#204080;color:#fff}.data-table td,.data-table th{border:1px solid #ccc;height:50px;overflow:hidden;padding:12px 15px;text-align:left;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.table-row:hover{background-color:#f2f9ff;cursor:pointer}.cell-truncate{max-width:180px;position:relative}.cell-truncate:hover{background-color:#fff;box-shadow:0 2px 8px #00000026;overflow:visible;white-space:normal;z-index:1}.action-buttons{flex-direction:row;flex-wrap:nowrap;gap:10px;justify-content:flex-start}.btn{background:none;border-radius:4px;font-size:1rem;padding:8px;transition:background-color .2s ease}.btn-edit{color:#204080}.btn-delete{color:#ec392d;font-weight:400}.btn-delete:active,.btn-delete:hover,.btn-edit:active,.btn-edit:hover{opacity:.8}.modal-buttons{display:flex;gap:10px;justify-content:space-between;width:100%}.btn-cancel{background-color:#ccc;border:none;border-radius:6px;color:#333;cursor:pointer;font-weight:400;padding:8px 16px}.btn-cancel:hover{opacity:.8}.btn-cancel:active{opacity:.6}.btn-delete-confirm{background-color:#d93025;border-radius:6px;color:#fff;font-weight:500;padding:8px 16px}.btn-delete-confirm:hover{background-color:#a81e1b}.table-wrapper{border-radius:8px;margin-bottom:1.5rem;overflow-x:auto;width:100%}@keyframes loadingBlink{0%,to{background-color:#e0e0e0}50%{background-color:#f0f0f0}}.loading-row .loading-box{animation:loadingBlink 1.5s ease-in-out infinite;border-radius:4px;height:16px}.loading-box.action-loading{height:24px;margin:0 auto;width:60px}.no-data{color:#777;font-style:italic;padding:16px;text-align:center}.pagination{display:flex;gap:4px;justify-content:center;margin-top:10px}.pagination-btn{background:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;padding:4px 8px}.pagination-btn:hover:not(:disabled){background:#2040801a}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-btn.active{background:#204080;border-color:#204080;color:#fff}.table-controls{align-items:center;display:flex;gap:1rem;justify-content:space-between}.table-search{flex-grow:0.5;max-width:400px;min-width:200px}@media (max-width:600px){.table-controls{align-items:flex-start;flex-direction:column;gap:.5rem}.table-search{flex-grow:0.2}.data-table td,.data-table th{height:auto;min-width:80px}.action-buttons{flex-wrap:nowrap;gap:6px}}:root{--bg:#fff;--bg-elev:#fff;--muted:#6d7280;--border:#e6e9ee;--accent:#204080;--danger:#e04b4b;--shadow:0 6px 18px #2040800f;--hover-bg:#f6f8fb;--ring:#20408040;--ring-soft:#2040800a;--transition:0.18s ease}.ci-wrapper,.ci-wrapper *{box-sizing:border-box}.ci-wrapper{--control-h:44px;--radius:10px;--pad-x:14px;--pad-clear:44px;text-align:left;width:100%}.ci-external-label{align-items:center;display:flex;gap:6px;margin-bottom:6px}.ci-external-text{color:#111;font-size:11px;font-weight:600;line-height:1.1}.ci-required{color:#e04b4b;color:var(--danger);font-weight:700}.ci-field{margin:6px 0 18px;position:relative}.ci-field.active .ci-input,.ci-field:focus-within .ci-input,.ci-field:focus-within .ci-select,.ci-field[data-open=true] .ci-input,.ci-field[data-open=true] .ci-select{border-color:#20408040;border-color:var(--ring);box-shadow:0 6px 18px #2040800f;box-shadow:var(--shadow)}.ci-field.error .ci-input,.ci-input[aria-invalid=true],.ci-select[aria-invalid=true]{border-color:#e04b4b;border-color:var(--danger)}.ci-error,.ci-help{font-size:12px;line-height:1.3;margin-top:6px}.ci-help{color:#6d7280;color:var(--muted)}.ci-error{color:#e04b4b;color:var(--danger)}.ci-field.disabled .ci-input,.ci-field.disabled .ci-select,.ci-input:disabled,.ci-input[aria-disabled=true],.ci-select:disabled,.ci-select[aria-disabled=true]{background:#f7f9fc;color:#8a90a0;cursor:not-allowed}.ci-input[readonly]{background:#fff;background:var(--bg);cursor:default}.ci-input,.ci-select{background:#fff;background:var(--bg);border:1px solid #e6e9ee;border:1px solid var(--border);border-radius:var(--radius);color:#111;font-size:14px;height:var(--control-h);padding:0 var(--pad-clear) 0 var(--pad-x);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition),color var(--transition);width:100%}.ci-input:focus-visible,.ci-select:focus-visible{outline:1px solid #2040800a;outline:1px solid var(--ring-soft)}.ci-input::placeholder{color:#6d7280;color:var(--muted);opacity:.8}.ci-input:-webkit-autofill,.ci-input:-webkit-autofill:focus,.ci-input:-webkit-autofill:hover{-webkit-text-fill-color:#111;-webkit-transition:background-color 9999s ease-in-out 0s;transition:background-color 9999s ease-in-out 0s}.ci-clear{background:#0000;border:none;border-radius:6px;color:#6d7280;color:var(--muted);cursor:pointer;padding:6px;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:color .18s ease,background .18s ease;transition:color var(--transition),background var(--transition)}.ci-clear[hidden],.ci-field:not([data-has-value=true]) .ci-clear{display:none}.ci-clear:hover{background:#f6f8fb;background:var(--hover-bg);color:#111}.ci-adornment{align-items:center;color:#6d7280;color:var(--muted);display:inline-flex;height:var(--control-h);pointer-events:none;position:absolute;top:0}.ci-adornment.left{left:10px}.ci-adornment.right{right:40px}.ci-field[data-has-left=true] .ci-input,.ci-field[data-has-left=true] .ci-select{padding-left:calc(var(--pad-x) + 24px)}.ci-field[data-has-right=true] .ci-input,.ci-field[data-has-right=true] .ci-select{padding-right:calc(var(--pad-clear) + 20px)}.ci-select{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:0 var(--pad-x)}.ci-select-text{color:#111;flex:1 1;font-size:14px;line-height:1;text-align:left}.ci-arrow{color:#6d7280;color:var(--muted);margin-left:8px;transition:transform .18s ease,color .18s ease;transition:transform var(--transition),color var(--transition)}.ci-field[data-open=true] .ci-arrow,.ci-select[aria-expanded=true] .ci-arrow{color:#111;transform:rotate(180deg)}.ci-dropdown{background:#fff;background:var(--bg-elev);border:1px solid #e6e9ee;border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #2040800f;box-shadow:var(--shadow);left:0;margin-top:6px;max-height:240px;overflow-y:auto;padding:6px 0;position:absolute;right:0;z-index:100}.ci-dropdown[data-placement=top]{bottom:calc(100% + 6px);margin-top:0;top:auto}.ci-option{color:#222;cursor:pointer;font-size:14px;padding:10px 14px;transition:background .18s ease,color .18s ease;transition:background var(--transition),color var(--transition)}.ci-option:focus,.ci-option:hover{background:#f6f8fb;background:var(--hover-bg);outline:none}.ci-option.is-selected,.ci-option[aria-selected=true]{background:#2040800f}.ci-calendar{background:#fff;background:var(--bg-elev);border:1px solid #e6e9ee;border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #2040800f;box-shadow:var(--shadow);left:0;margin-top:6px;padding:12px;position:absolute;right:0;z-index:110}.ci-calendar[data-placement=top]{bottom:calc(100% + 6px);margin-top:0;top:auto}.ci-cal-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.ci-cal-title{font-size:13px;min-width:110px;text-align:center}.ci-cal-btn,.ci-cal-title{color:#111;font-weight:600}.ci-cal-btn{background:#0000;border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:6px 8px;transition:background .18s ease;transition:background var(--transition)}.ci-cal-btn:hover{background:#f6f8fb;background:var(--hover-bg)}.ci-cal-btn:focus-visible{outline:2px solid #2040800a;outline:2px solid var(--ring-soft);outline-offset:2px}.ci-cal-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(7,1fr)}.ci-cal-day{color:#6d7280;color:var(--muted);font-size:11px;text-align:center}.ci-cal-cell{background:#0000;border:none;border-radius:6px;cursor:pointer;height:34px;line-height:34px;transition:background .18s ease,color .18s ease,box-shadow .18s ease;transition:background var(--transition),color var(--transition),box-shadow var(--transition)}.ci-cal-cell.clickable:hover{background:#f6f8fb;background:var(--hover-bg)}.ci-cal-cell:focus-visible{outline:2px solid #2040800a;outline:2px solid var(--ring-soft);outline-offset:2px}.ci-cal-cell.today{box-shadow:inset 0 0 0 1px #20408033}.ci-cal-cell.selected,.ci-cal-cell[aria-selected=true]{background:#2040801f}.ci-cal-cell.disabled{color:#6d7280;color:var(--muted);cursor:not-allowed;opacity:.6}.ci-cal-cell.empty{visibility:hidden}.submit-btn{background:#204080;background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:500;margin-bottom:16px;padding:.8rem 0;transition:opacity .18s ease,transform .18s ease;transition:opacity var(--transition),transform var(--transition);-webkit-user-select:none;user-select:none;width:100%}.submit-btn:hover{opacity:.88}.submit-btn:active{opacity:.7;transform:translateY(.5px)}.ci-field[data-size=sm]{--control-h:36px;--radius:8px;--pad-x:12px;--pad-clear:40px}.ci-field[data-size=lg]{--control-h:50px;--radius:12px}.ci-input[type=number]::-webkit-inner-spin-button,.ci-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ci-input[type=number]{-moz-appearance:textfield}.ci-btn{background:none;border:none;cursor:pointer;font-size:1.2rem;transition:.18s ease;transition:var(--transition)}.ci-btn:hover{opacity:.8}@media (max-width:520px){.ci-wrapper{--control-h:40px;--radius:8px;--pad-x:12px;--pad-clear:40px}.ci-external-label{margin-bottom:4px}}@media (prefers-reduced-motion:reduce){.ci-arrow,.ci-cal-btn,.ci-cal-cell,.ci-clear,.ci-input,.ci-option,.ci-select,.submit-btn{transition:none!important}}@media (forced-colors:active){.ci-calendar,.ci-dropdown,.ci-input,.ci-select{border-color:CanvasText}.ci-cal-cell:focus-visible,.ci-input:focus-visible,.ci-select:focus-visible{outline-color:Highlight!important}}.dark .ci-wrapper,[data-theme=dark] .ci-wrapper{--bg:#0f1115;--bg-elev:#151821;--muted:#8a90a0;--border:#222738;--accent:#6ea2ff;--danger:#ff6b6b;--hover-bg:#ffffff0f;--shadow:0 6px 18px #00000059}.btn-create{background-color:#204080;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;margin-bottom:15px;padding:.8rem 2rem;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.btn-create:hover{opacity:.8}.btn-create:active{opacity:.6}.modal-form{width:100%}.modal-form input,.modal-form select{border:1.5px solid #ccc;border-radius:6px;font-family:Arial,sans-serif;font-size:1rem;margin-top:6px;padding:8px 10px;transition:border-color .2s ease}.set-active-prompt-btn{align-items:center;display:flex;justify-content:space-between;width:100%}.modal-form input:focus,.modal-form select:focus{border-color:#204080;outline:none}.btn-confirm{background-color:#204080;color:#fff;padding:8px 16px}.btn-create-submit{background-color:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;padding:8px 16px;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.btn-create-submit:hover{background-color:#3a8d3a}@media (max-width:600px){.btn-create{font-size:1rem;font-weight:600}}.page-title{align-items:center;display:flex;gap:1rem;justify-content:center;margin-bottom:.5rem}.academic-year-details{background:#f8f9fc;border-radius:12px;box-shadow:0 6px 16px #2040800f;display:flex;flex-direction:column;gap:12px;padding:1rem;width:100%}.detail-row{align-items:center;border-radius:8px;display:flex;justify-content:space-between;padding:8px 12px;transition:background .2s ease}.detail-row:hover{background:#2040800d}.detail-label{color:#222;font-size:14px;font-weight:600}.detail-value{color:#333;font-size:14px;font-weight:500}.status-active{color:#0a9d58;font-weight:600}.status-inactive{color:#e04b4b;font-weight:600}.status-pending{color:#f0ad4e;font-weight:600}:root{--accent-1:#204080;--accent-3:#1a5f1a;--accent-2:#f59e0b;--card-bg:#fff;--border:#e5e9f2;--title:#475569;--value:#1f2937}.stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:2rem 0;width:100%}.stat-card{--accent:var(--accent-1);background:var(--card-bg);border:1px solid #e5e9f2;border:1px solid var(--border);border-radius:10px;box-shadow:none!important;cursor:pointer;font-family:Arial,sans-serif;gap:12px;padding:12px;position:relative;transition:border-color .18s ease,background-color .18s ease}.stat-card:hover{background-color:#fafbff}.stat-card:before{background:var(--accent);border-radius:3px;content:"";height:3px;left:8px;position:absolute;right:8px;top:0}.stat-icon{border-radius:8px;color:var(--accent);display:grid;flex:0 0 40px;height:40px;place-items:center;width:40px}.stat-content{line-height:1.2;min-width:0}.stat-title{color:#475569;color:var(--title);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-value{color:#1f2937;color:var(--value);font-size:22px;font-weight:800;line-height:1.1;margin-top:2px}.stats-grid .stat-card:nth-child(3n+1){--accent:var(--accent-1)}.stats-grid .stat-card:nth-child(3n+2){--accent:var(--accent-2)}.stats-grid .stat-card:nth-child(3n+3){--accent:var(--accent-3)}.stat-icon svg{fill:currentColor!important;background:none!important;border:none!important;color:var(--accent)!important;font-size:2rem}.stat-icon{background:none;border:none;padding:0}@media (max-width:480px){.stats-grid{gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.stat-title{font-size:10px}.stat-value{font-size:20px}.stat-icon{flex-basis:36px;height:36px;width:36px}}.subject-details{background:#fff;border-radius:8px;color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:1rem auto;width:100%}.subject-details h2{border-bottom:2px solid #204080;color:#204080;font-size:1.8rem;font-weight:700;letter-spacing:.02em;margin-bottom:24px;padding-bottom:8px}.details-grid{grid-row-gap:16px;grid-column-gap:24px;align-items:center;column-gap:24px;display:grid;grid-template-columns:140px 1fr;row-gap:16px}.details-grid .label{color:#6c757d;font-size:.875rem;font-weight:600;letter-spacing:.05em;text-align:left;text-transform:uppercase}.details-grid span{font-size:1rem;font-weight:400;text-align:right;word-break:break-word}.details-grid span.text-capitalize{text-transform:capitalize}@media (max-width:480px){.details-grid{column-gap:8px;row-gap:8px}.details-grid .label{margin-top:12px}}.assign-course-modal{display:flex;flex-direction:column;gap:1rem;margin:auto;padding:1rem;width:100%}.stepper{border-bottom:2px solid #eee;display:flex;justify-content:space-between;margin-bottom:1rem}.step{color:#777;flex:1 1;font-weight:500;padding:.5rem;position:relative;text-align:center}.step.active{border-bottom:3px solid #204080;color:#000;font-weight:700}.step-content{display:flex;flex-direction:column;gap:1rem;min-width:30vh}.dropdown{font-size:.95rem}.class-teacher-assign{background:#fafafa;border:1px solid #eee;border-radius:6px;padding:.75rem}.review p{margin:.25rem 0}.modal-footer{display:flex;gap:.5rem;justify-content:flex-end}.btn-primary,.btn-secondary,.btn-success{border:none;border-radius:6px;cursor:pointer;font-weight:700;padding:.5rem 1rem}.btn-secondary{background:#ccc;color:#000}.btn-success{background:#204080;color:#fff}.btn-primary:disabled{background:#aaa;cursor:not-allowed}.info-text{color:#666;font-size:.9rem}.btn-danger-assign{background-color:#c0392b;color:#fff!important;font-weight:500!important}.btn-danger-assign:hover{opacity:.8}.btn-danger-assign:active{opacity:.6}@media (max-width:600px){.assign-course-modal{padding:.5rem}.stepper{border-bottom:none;flex-direction:column}.step{border-bottom:1px solid #eee}}.class-details-card{background:#fff;border-radius:16px;color:#333;font-family:Segoe UI,sans-serif;margin:0 auto;width:100%}.class-details-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.class-details-header h2{font-size:1.8rem;font-weight:700;margin:0}.status-badge{border-radius:50px;color:#fff;font-size:.9rem;padding:6px 14px}.status-badge.active{background-color:#204080}.status-badge.suspended{background-color:#dc3545}.class-details-body{display:flex;flex-direction:column;gap:20px}.info-group{display:flex;gap:20px;justify-content:space-between}.info-item{background:#f7f8fa;border-radius:12px;box-shadow:inset 0 2px 5px #00000008;display:flex;flex:1 1;flex-direction:column;padding:12px 16px;text-align:center}.info-item i{color:#555;font-size:1.2rem;margin-bottom:6px}.info-item span{color:#222;font-weight:600;margin-top:4px}.fee-group{background:#fefefe;border-radius:12px;box-shadow:0 2px 6px #0000000d;padding:15px 20px}.fee-group h4{color:#555;font-size:1.1rem;font-weight:600;margin:0 0 10px}.fee-item{display:flex;font-weight:500;justify-content:space-between;padding:6px 0}.fee-item.total{border-top:1px solid #eee;font-size:1.05rem;font-weight:700;margin-top:8px;padding-top:10px}.form-react-select{margin:6px 0 18px}.academic-bands-page{margin:0 auto;max-width:1000px;padding:20px}.page-header{justify-content:space-between;margin-bottom:20px}.page-header,.page-header h2{align-items:center;display:flex}.page-header h2{font-size:28px;gap:1rem;margin:0}.btn{border:none;border-radius:6px;font-weight:500;padding:8px 16px;transition:background .2s}.btn-primary{background-color:#204080}.btn-primary:hover{opacity:.8}.form-react-select{margin-bottom:15px}.bands-table-wrapper{margin-top:20px}.year-block{margin-bottom:30px}.year-block h3{color:#081435;font-size:24px;font-weight:700;margin-bottom:10px}.department-block{background-color:#f9f9f9;border-left:4px solid #204080;border-radius:4px;margin-bottom:15px;padding:10px 10px 10px 15px}.department-block h4{color:#3060a0;font-size:20px;font-weight:600;margin-bottom:8px}.class-block{background-color:#fff;border-left:2px solid #3060a0;border-radius:4px;margin-bottom:10px;padding:6px 6px 6px 15px}.class-block h5{color:#4080c0;font-size:18px;font-weight:500;margin-bottom:6px}.class-block table{border-collapse:collapse;width:100%}.class-block td,.class-block th{border:1px solid #ddd;padding:6px 8px;text-align:left}.class-block th{background-color:#204080;color:#fff}.band-row{align-items:center;display:flex;gap:10px;margin-bottom:10px}.band-row .CustomInput{flex:1 1}.skeleton-container{display:flex;flex-direction:column;gap:16px}.skeleton{animation:blink 1.2s ease-in-out infinite;background-color:#ddd;border-radius:4px}.skeleton-text{margin-bottom:8px}.skeleton-row{display:flex;gap:12px;margin-bottom:6px}.skeleton-table{margin-bottom:12px;margin-top:4px}.filters-row{grid-column-gap:12px;grid-row-gap:1px;border-radius:8px;column-gap:12px;display:grid;grid-template-columns:repeat(3,1fr);padding:12px 16px;row-gap:1px}.filters-row .CustomInput,.filters-row .form-react-select{flex:1 1 180px;min-width:150px}.filters-row .btn-secondary{background-color:#204080;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 14px;transition:opacity .2s}.filters-row .btn-secondary:hover{opacity:.8}.class-block tr.filtered-band{background-color:#f0f8ff}@keyframes blink{0%,to{opacity:.4}50%{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.modal-content{max-height:70vh}.marks-upload-page{background-color:#f9f9f9;min-height:100%;padding:20px}.marks-upload-page h2{color:#333;font-size:28px;margin-bottom:20px}.filters-row{align-items:center;gap:15px;margin-bottom:20px}.form-react-select{flex:1 1;min-width:200px}.marks-table-wrapper{margin-bottom:20px;overflow-x:auto}.marks-table-wrapper table{background-color:#fff;border-collapse:collapse;box-shadow:0 2px 4px #0000001a;width:100%}.marks-table-wrapper td,.marks-table-wrapper th{border-bottom:1px solid #e0e0e0;padding:10px 12px;text-align:left}.marks-table-wrapper th{background-color:#f0f0f0;color:#555;font-weight:600}.marks-table-wrapper tr:hover{background-color:#f9f9f9}.buttons-row{gap:15px}input[type=file]{cursor:pointer}.CustomInput{width:100%}.no-data-msg{color:#888;font-style:italic;margin-bottom:1rem}.back-btn{background:none;color:#081435;display:flex;font-weight:500;gap:10px}.back-btn:hover,.btn-upload-excel:hover{opacity:.8}.back-btn:active,.btn-upload-excel:active{opacity:.6}.buttons-row{align-items:center;margin-bottom:2rem}.btn-upload-excel{border:none;color:#fff;cursor:pointer;font-weight:500;transition:background-color .2s ease-in-out}@media (max-width:768px){.filters-row{display:grid;grid-template-columns:1fr}.form-react-select{min-width:0;min-width:auto;width:100%}.buttons-row{align-items:flex-start;flex-direction:column}}@keyframes react-loading-skeleton{to{transform:translateX(100%)}}.react-loading-skeleton{--base-color:#ebebeb;--highlight-color:#f5f5f5;--animation-duration:1.5s;--animation-direction:normal;--pseudo-element-display:block;background-color:var(--base-color);border-radius:.25rem;display:inline-flex;line-height:1;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;width:100%}.react-loading-skeleton:after{animation-direction:var(--animation-direction);animation-duration:var(--animation-duration);animation-iteration-count:infinite;animation-name:react-loading-skeleton;animation-timing-function:ease-in-out;background-image:linear-gradient(90deg,var(--base-color) 0,var(--highlight-color) 50%,var(--base-color) 100%);background-image:var(
    --custom-highlight-background,linear-gradient(90deg,var(--base-color) 0,var(--highlight-color) 50%,var(--base-color) 100%)
  );background-repeat:no-repeat;content:" ";display:var(--pseudo-element-display);height:100%;left:0;position:absolute;right:0;top:0;transform:translateX(-100%)}@media (prefers-reduced-motion){.react-loading-skeleton{--pseudo-element-display:none}}.report-card-home-page{background:#f9f9f9;min-height:100vh;padding:2rem}.report-card-home-page h2{align-items:center;display:flex;font-size:1.8rem;font-weight:600;gap:1rem;justify-content:center;margin-bottom:1.5rem}.read-only-badge{align-items:center;background:#6c757d1a;border:1px solid #6c757d4d;border-radius:20px;color:#6c757d;display:inline-flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.5rem 1rem}.read-only-text{color:#6c757d;font-size:.9rem;font-style:italic}.back-btn{align-items:center;background:#e0e0e0;border:none;border-radius:6px;cursor:pointer;display:inline-flex;gap:.5rem;margin-bottom:1rem;padding:.5rem 1rem;transition:background .2s}.back-btn:hover{background:#d5d5d5}.filters-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.form-react-select{flex:1 1 180px;min-width:150px}.buttons-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.btn-view:hover{background-color:#059669}.custom-upload-wrapper{position:relative}.hidden-file-input{display:none}.students-table-wrapper{background:#fff;border-radius:8px;box-shadow:0 2px 6px #0000000d;overflow-x:auto;overflow-y:visible;padding:1rem;width:100%}.students-table-wrapper table{border-collapse:collapse;table-layout:auto;width:100%}.students-table-wrapper td,.students-table-wrapper th{border-bottom:1px solid #e0e0e0;font-size:.95rem;padding:.75rem 1rem;text-align:left;vertical-align:middle}.students-table-wrapper th{background-color:#f3f4f6;font-weight:600}.students-table-wrapper tr:last-child td{border-bottom:none}.students-table-wrapper .react-select__menu{z-index:1000}.master-sheet-holder{display:flex;gap:2rem;justify-content:right}.master-sheet-holder .btn.btn-create[disabled]{cursor:not-allowed;filter:grayscale(20%);opacity:.5;pointer-events:none}.pdf-progress-overlay{align-items:center;background:#11182799;display:flex;inset:0;justify-content:center;position:fixed;z-index:10000}.pdf-progress-card{background:#fff;border-radius:14px;box-shadow:0 20px 50px #00000040;padding:22px 22px 18px;text-align:center;width:min(560px,92vw)}.pdf-progress-emoji{font-size:28px;margin-bottom:6px}.pdf-progress-card h3{margin:0 0 6px}.pdf-progress-card p{color:#4b5563;margin:0 0 16px}.pdf-progress-bar{background:#eef2f7;border-radius:999px;height:10px;overflow:hidden;position:relative;width:100%}.pdf-progress-fill{background:linear-gradient(90deg,#c9a96e,#204080);box-shadow:inset 0 0 6px #00000026;height:100%;transition:width .5s ease;width:0}.pdf-progress-percent{font-weight:600;margin-top:8px}@media (max-width:768px){.buttons-row{flex-direction:column}.form-react-select{flex:1 1 100%}}.report-card-container{align-items:flex-start;background:#f5f5f5;display:flex;justify-content:center;min-height:100vh;padding:20px}.report-card{border:2px solid #204080;box-shadow:0 0 20px #0000001a;font-family:Arial,sans-serif;font-size:12px;line-height:1.3;margin:0 auto;max-width:1200px;overflow:hidden;padding:20px;position:relative;width:100%}.document-header{background:linear-gradient(135deg,#f8f9ff,#fff);border-bottom:2px solid #204080;border-radius:6px;margin-bottom:15px;padding:15px}.header-content{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:15px}.left-section,.right-section{flex:1 1;font-size:10px;line-height:1.4;text-align:center}.center-emblem{align-items:center;display:flex;flex:0 0 180px;flex-direction:column;justify-content:center;text-align:center}.report-card-logo{height:4rem;margin-bottom:8px;object-fit:cover;width:4rem}.center-text{text-align:center}.igniting-text{color:#204080;font-size:12px;font-weight:700;letter-spacing:1px;margin-bottom:4px;text-transform:uppercase}.center-motto{color:#c9a96e;font-size:9px;font-style:italic;font-weight:600}.republic-text{color:#204080;font-size:11px;font-weight:700;margin-bottom:3px;text-transform:uppercase}.motto{color:#c9a96e;font-style:italic;font-weight:600}.ministry,.motto{font-size:9px;margin-bottom:3px}.ministry{color:#204080;font-weight:700;text-transform:uppercase}.department{font-size:8px}.department,.school-name-header{color:#204080;font-weight:700;margin-bottom:3px;text-transform:uppercase}.school-name-header{font-size:10px;letter-spacing:1px}.location{color:#666;font-size:9px;font-weight:600}.document-title{margin-top:15px;text-align:center}.document-title h1{color:#204080;font-size:18px;font-weight:700;letter-spacing:2px;margin-bottom:5px;text-transform:uppercase}.term-info{color:#666;font-size:12px}.student-info{background:linear-gradient(135deg,#f8f9ff,#fff);border:1px solid #204080;border-radius:4px;margin-bottom:15px;padding:10px}.info-table{border-collapse:initial;border-spacing:15px 5px;width:100%}.info-table td{font-size:11px;padding:4px 8px;vertical-align:middle}.info-table .label{color:#204080;font-weight:700;white-space:nowrap;width:120px}.info-table .value{border-bottom:1px solid #204080;color:#333;font-weight:600;min-width:150px}.subjects-section{break-inside:avoid;margin-bottom:15px;page-break-inside:avoid}.section-header{background:linear-gradient(135deg,#204080,#3a5a9a);border-radius:4px 4px 0 0;color:#fff;display:flex!important;justify-content:center!important;margin-bottom:0;padding:8px;text-align:center}.section-header h3{font-size:13px;font-weight:700;margin:0;text-transform:uppercase}.subjects-table{border:1px solid #204080;border-collapse:collapse;border-radius:0 0 4px 4px;overflow:hidden;width:100%}.subjects-table td,.subjects-table th{border:1px solid #204080;font-size:9px;line-height:1.2;padding:4px 3px;text-align:center;vertical-align:middle}.subjects-table th{background:linear-gradient(135deg,#e8eeff,#f0f4ff);color:#204080;font-size:8px;font-weight:700;height:30px;text-transform:uppercase}.code-cell{color:#204080;font-weight:700;width:40px}.subject-cell{color:#333;font-size:8px;font-weight:400;min-width:140px;padding-left:6px;text-align:left}.avg-cell,.coef-cell,.score-cell,.total-cell{color:#333;font-weight:700;width:35px}.avg-cell,.total-cell{color:#204080;font-size:9px;font-weight:700}.remark-cell{width:70px}.remark-cell span{color:#333;display:inline-block;font-size:8px;font-weight:700;min-width:50px}.remark-excellent{color:#0d5f0d}.remark-vgood{color:#1a5f1a}.remark-good{color:#204080}.remark-fairly-good{color:#b8860b}.remark-average{color:#ff8c00}.remark-weak{color:#c00}.teacher-cell{color:#666;font-size:7px;min-width:80px;padding-left:4px;text-align:left}.subtotal-row{background:linear-gradient(135deg,#e8eeff,#f0f4ff);border-top:2px solid #204080;font-weight:700}.subtotal-label{color:#204080;font-size:9px;padding-right:10px;text-align:right;text-transform:uppercase}.subtotal-value{font-size:10px}.subtotal-remark,.subtotal-value{color:#204080;font-weight:700}.performance-summary{background:linear-gradient(135deg,#f8f9ff,#fff);border:1px solid #204080;border-radius:4px;margin-bottom:15px;padding:10px}.summary-table{border-collapse:initial;border-spacing:15px 6px;width:100%}.summary-table td{font-size:11px;font-weight:700;padding:4px 10px}.summary-label{color:#204080;text-transform:uppercase}.summary-value{border-bottom:1px solid #204080;color:#333;min-width:80px}.bottom-section{display:flex;gap:15px;margin-bottom:15px}.center-column,.left-column,.right-column{flex:1 1}.admin-section,.conduct-section,.grading-scale{background:linear-gradient(135deg,#f8f9ff,#fff);border:1px solid #204080;border-radius:4px;height:100%;padding:10px}.admin-section h4,.conduct-section h4,.grading-scale h4{border-bottom:1px solid #204080;color:#204080;font-size:11px;font-weight:700;margin-bottom:10px;padding-bottom:5px;text-align:center}.admin-table,.conduct-table,.scale-table{border-collapse:initial;border-spacing:0 4px;width:100%}.admin-table td,.conduct-table td,.scale-table td{font-size:9px;padding:3px 5px}.admin-table td:first-child,.conduct-table td:first-child,.scale-table td:first-child{color:#204080;font-weight:700}.admin-table td:last-child,.conduct-table td:last-child,.scale-table td:last-child{color:#333;font-weight:700;text-align:right}.signature-section{display:flex;gap:15px;margin-bottom:15px}.signature-box{background:linear-gradient(135deg,#f8f9ff,#fff);border:1px solid #204080;border-radius:4px;flex:1 1;min-height:80px;padding:15px 10px;text-align:center}.signature-title{color:#204080;font-size:10px;font-weight:700;margin-bottom:10px;text-transform:uppercase}.signature-line{background-color:#204080;height:1px;margin:15px 0;width:100%}.signature-name{color:#333;font-size:9px;font-weight:700;margin-bottom:3px}.signature-date{color:#666;font-size:8px;font-style:italic}.report-card:before{background:url(/static/media/logo.90a047b404fc5d9de3b4.png) no-repeat 50%;background-size:contain;content:"";height:600px;left:50%;opacity:.04;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(-15deg);width:600px;z-index:10}.footer-text{bottom:0;color:#666;display:flex;display:none;font-size:12px;justify-content:center;left:0;position:fixed;right:0}.low-score{color:#c00}.admin-section h4,.conduct-section h4,.grading-scale h4{font-size:.8rem!important}@media print{:root{--page-width-mm:210;--page-height-mm:297;--page-margin-mm:10;--print-scale:1}@page{size:A4 portrait;margin:calc(var(--page-margin-mm)*1mm)}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body,html{background:#fff!important;margin:0!important;overflow:visible!important;padding:0!important;width:100vw!important}.footer-text{bottom:2rem;display:flex!important}.report-card:before{background:url(/static/media/logo.90a047b404fc5d9de3b4.png) no-repeat 50%;background-size:contain;content:"";height:600px;left:50%;opacity:.08;pointer-events:none;position:absolute;top:60%;transform:translate(-50%,-50%) rotate(-15deg);width:600px;z-index:10}.report-card-container{background:#fff!important;box-shadow:none!important;font-size:15px!important;height:auto!important;line-height:1.12!important;margin:0!important;min-height:auto!important;padding:0!important;width:100%!important}.report-card-container,.report-card-container *{visibility:visible!important}.report-card{background:#fff!important;border:none!important;box-shadow:none!important;break-inside:avoid!important;font-size:12px!important;line-height:1.1!important;margin:0!important;overflow:visible!important;padding:6px!important;page-break-after:avoid!important;page-break-before:avoid!important;page-break-inside:avoid!important;transform:scale(var(--print-scale))!important;transform-origin:top center!important;width:100%!important}.document-header{background:#fff!important;border-bottom:1px solid #204080!important;margin-bottom:6px!important;padding:4px!important}.header-content{display:flex!important;gap:10px!important;margin-bottom:6px!important}.left-section,.right-section{font-size:15px!important;line-height:1.2!important}.center-emblem{flex:0 0 120px!important}.report-card-logo{height:3rem!important;margin-bottom:4px!important;width:3rem!important}.igniting-text{font-size:10px!important;margin-bottom:2px!important;width:100%!important}.center-motto{font-size:8px!important}.republic-text{font-size:11px!important;margin-bottom:2px!important}.ministry,.motto{font-size:9px!important;margin-bottom:2px!important}.department{font-size:8px!important;margin-bottom:2px!important}.school-name-header{font-size:10px!important;margin-bottom:2px!important}.location{font-size:9px!important}.document-title h1{font-size:14px!important;margin-bottom:3px!important}.term-info{font-size:12px!important}.student-info{background:#fff!important;margin-bottom:6px!important;padding:4px!important}.info-table{border-spacing:6px 2px!important}.info-table td{font-size:14px!important;font-weight:400!important;padding:1px 3px!important}.subjects-section{break-inside:avoid!important;margin-bottom:6px!important;page-break-inside:avoid!important}.section-header{background:#204080!important;color:#fff!important;padding:3px!important}.section-header h3{font-size:16px!important}.subjects-table td,.subjects-table th{font-size:13px!important;line-height:1!important;padding:1px 2px!important}.subjects-table th{background:#e8eeff!important;color:#204080!important;font-size:11px!important;height:18px!important}.subject-cell{font-size:10px!important;padding-left:2px!important}.teacher-cell{font-size:9px!important;padding-left:2px!important}.remark-cell span{font-size:11px!important}.subtotal-row{background:#e8eeff!important}.performance-summary{background:#fff!important;break-inside:avoid!important;margin-bottom:6px!important;padding:4px!important;page-break-inside:avoid!important}.summary-table{border-spacing:4px 2px!important}.summary-table td{font-size:13px!important;padding:2px 4px!important}.bottom-section{break-inside:avoid!important;gap:6px!important;margin-bottom:6px!important;page-break-inside:avoid!important}.admin-section,.conduct-section,.grading-scale{background:#fff!important;padding:4px!important}.admin-section h4,.conduct-section h4,.grading-scale h4{font-size:13px!important;margin-bottom:4px!important;padding-bottom:2px!important}.admin-table td,.conduct-table td,.scale-table td{font-size:12px!important;padding:1px 2px!important}.admin-table,.conduct-table,.scale-table{border-spacing:0 1px!important}.signature-section{break-inside:avoid!important;gap:6px!important;margin-bottom:0!important;page-break-inside:avoid!important}.signature-box{background:#fff!important;min-height:40px!important;padding:6px 4px!important}.signature-title{font-size:12px!important;margin-bottom:12px!important}.signature-line{height:1px!important;margin:4px 0!important;width:100%!important}.signature-name{font-size:11px!important;margin-bottom:1px!important}.signature-date{font-size:10px!important}.bottom-section,.document-header,.performance-summary,.signature-section,.student-info,.subjects-section{break-inside:avoid!important;page-break-inside:avoid!important}.admin-section,.conduct-section,.document-header,.grading-scale,.performance-summary,.signature-box,.student-info{background:#fff!important;box-shadow:none!important}.low-score{color:#c00!important}.no-print{display:none!important}.report-card{max-height:calc((var(--page-height-mm) - 2*var(--page-margin-mm))*1mm)!important;overflow:hidden!important}}@media (max-width:768px){.report-card-container{padding:10px}.report-card{max-width:100%;padding:15px}.header-content{text-align:center}.center-emblem,.left-section,.right-section{margin-bottom:10px}.info-table{border-spacing:8px 4px}.subjects-table td,.subjects-table th{font-size:8px;padding:3px 2px}.bottom-section,.signature-section{gap:10px}}@media (max-width:480px){.report-card{font-size:10px;padding:10px}.subjects-table td,.subjects-table th{font-size:7px;padding:2px 1px}.header-content{gap:10px}.center-emblem{flex:0 0 100px}.report-card-logo{height:2.5rem;width:2.5rem}}.report-page{align-items:center;background:#fff;display:flex;flex-direction:column;font-family:Times New Roman,serif;min-height:100vh;padding:20px}.report-page-header{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:20px;max-width:950px;width:100%}.report-page-header h2{color:#204080;font-size:24px;margin-bottom:10px;text-transform:uppercase}.report-actions{gap:10px}.action-btn{box-shadow:0 2px 6px #00000026;font-size:14px;font-weight:700;gap:6px;padding:8px 14px;transition:all .3s ease}.back-btn{background-color:#ccc;color:#333}.back-btn:hover{background-color:#b3b3b3}.print-btn{background-color:#204080;color:#fff}.print-btn:hover{background-color:#3a5a9a}.report-card-container{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000001a;max-width:1200px;overflow-x:auto;padding:10px;width:100%}.report-page-footer{color:#666;font-size:12px;margin-top:15px;max-width:950px;text-align:center;width:100%}.report-card-content{transform:none!important}@media print{body *{visibility:hidden}.report-card-wrapper,.report-card-wrapper *{visibility:visible}.report-card-wrapper{bottom:0;left:0;position:absolute;right:0;top:0;transform:scale(.95)}@page{size:A4;margin:0}}body,html{max-width:100vw;overflow-x:hidden;position:relative;width:100vw}.ds-container{background:#f7f8fa;display:flex;min-height:100vh}.ds-sidebar{background:#204080;bottom:0;color:#fff;display:flex;flex-direction:column;height:100vh;left:0;min-height:0;position:fixed;top:0;width:220px;z-index:1000}.ds-logo{align-items:center;background:#f7f8fa;display:flex;font-size:1.3rem;height:64px;letter-spacing:1px;margin:0;padding:0 24px}.ds-logo,.ds-logo-text{color:#204080;font-weight:700}.ds-logo-text{font-size:1.2rem}.ds-menu{display:flex;flex:1 1 auto;flex-direction:column;margin-top:0;min-height:0;overflow-y:auto}.ds-menu-item{align-items:center;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1.05rem;gap:8px;margin:2px 12px;padding:12px 24px;transition:background .2s}.ds-menu-item.active,.ds-menu-item:hover{background:#4669b3;color:#fff}.ds-menu-item .icon{font-size:1.2rem}.ds-main{background:#f7f8fa;flex:1 1;margin-left:220px;margin-top:64px;padding:48px 40px}.ds-header{background:#fff;border-bottom:1px solid #e5e7eb;box-sizing:border-box;flex-wrap:nowrap;height:64px;justify-content:space-between;max-width:100%;padding:0 24px;position:sticky;top:0;width:100%;z-index:10}.ds-header,.ds-header-left{align-items:center;display:flex;flex-shrink:1;min-width:0;overflow:visible}.ds-header-left{gap:10px}.ds-menu-toggle{background:none;border:none;color:#204080;cursor:pointer;display:none;font-size:1.6rem}.ds-actions{flex-shrink:1;gap:18px;min-width:0;overflow:visible}.ds-actions,.notification-bell{align-items:center;display:flex}.notification-bell{border-radius:50%;cursor:pointer;height:40px;justify-content:center;margin-right:8px;position:relative;transition:transform .2s ease;transition:background-color .2s ease;width:40px}.notification-bell:hover{background-color:#eaf3ff;transform:scale(1.05)}.notification-bell svg{color:#204080!important;font-size:1.3rem!important}.notification-badge{align-items:center;background:#e53e3e;border:1px solid #fff;border-radius:50%;box-shadow:0 1px 3px #e53e3e66;color:#fff;display:flex;font-size:.6rem;font-weight:700;height:14px;justify-content:center;line-height:1;padding:0;position:absolute;right:-2px;text-align:center;top:-2px;width:14px;z-index:1000}.ds-sidebar-overlay{animation:fadeIn .2s;background:#0000002e;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ds-dashboard-cards{align-items:stretch;display:flex;gap:24px;margin-bottom:32px}.ds-card{align-items:center;border-radius:14px;box-shadow:0 2px 8px #20408014;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-height:140px}.ds-card .ds-icon{color:#204080;font-size:2.2rem;margin-bottom:8px}.ds-card-students{background:#4eaaff;color:#fff}.ds-card-students .ds-icon{color:#fff}.ds-desc{font-size:1.05rem;opacity:.95}.ds-dashboard-section{display:flex;flex-wrap:nowrap;gap:24px}.ds-dashboard-section>div{background:#fff;border-radius:14px;box-shadow:0 2px 8px #2040800f;display:flex;flex:1 1;flex-direction:column;flex-shrink:0;margin-bottom:24px;min-width:0;overflow:visible;padding:24px;width:100%}.ds-table-scroll{width:100%}.ds-table-scroll table{min-width:800px}.ds-table-scroll thead tr{background:#f7f8fa;color:#204080;font-weight:600}.ds-table-scroll td,.ds-table-scroll th{padding:12px 10px;text-align:left}.ds-table-scroll tbody tr:nth-child(2n){background:#f7f8fa}.admin-header,.dashboard-cards,.dashboard-section,.discipline-container,.discipline-main{box-sizing:border-box;max-width:100vw;overflow-x:hidden}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto;width:100%}.ds-card,.ds-container,.ds-dashboard-cards,.ds-dashboard-section,.ds-main,.ds-table-scroll{box-sizing:border-box;max-width:100vw;min-width:0;overflow-x:hidden;width:100vw}.ds-menu .ds-menu-item:first-child{margin-top:10px}.ds-dashboard-cards,.ds-dashboard-section,.ds-main{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:1200px;width:100%}.ds-card{box-sizing:border-box;min-width:0;width:100%}.ds-table-scroll{background:#fff;border-radius:8px;box-shadow:0 2px 8px #2040800a;margin-bottom:18px;overflow-x:auto;padding:0 4px}.ds-table-scroll::-webkit-scrollbar{background:#f0f0f0;border-radius:8px;height:8px}.ds-table-scroll::-webkit-scrollbar-thumb{background:#e0e7ef;border-radius:8px}.ds-table-scroll table{border-collapse:initial;border-spacing:0;display:table;min-width:600px;table-layout:auto;width:100%}.ds-table-scroll td,.ds-table-scroll th{background:#fff;border-bottom:1px solid #f0f0f0;color:#222;font-size:1rem;padding:10px 8px}.ds-table-scroll th{background:#f7f8fa;color:#204080;font-weight:600}@media (max-width:700px){.ds-table-scroll{border-radius:6px;margin-bottom:12px;max-width:100vw;padding:0 2px}.ds-table-scroll table{display:block;min-width:400px!important;width:max-content!important}.ds-table-scroll td,.ds-table-scroll th{font-size:.98rem;overflow:hidden;padding:8px 6px;text-overflow:ellipsis;white-space:nowrap}}.ds-actions button{max-width:180px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:900px){.ds-dashboard-cards,.ds-dashboard-section{flex-direction:column;gap:18px}}@media (max-width:700px){.ds-sidebar{box-shadow:2px 0 8px #20408014;height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.ds-sidebar.open{transform:translateX(0)}.ds-menu-toggle{display:block}.ds-main{background:#f7f8fa;margin-left:0;margin-top:48px;max-width:100vw!important;overflow-x:hidden;padding:0!important}.ds-dashboard-cards,.ds-main{box-sizing:border-box;min-width:0!important;width:100%!important}.ds-dashboard-cards{background:#0000;flex-direction:column!important;gap:0!important;margin:18px 0 0!important;max-width:100%!important;padding:0 12px!important}.ds-card{background:inherit;border-radius:14px!important;box-shadow:0 2px 8px #20408014!important;margin:0 0 18px!important;width:100%!important}.ds-card,.ds-dashboard-section{box-sizing:border-box;min-width:0!important}.ds-dashboard-section{gap:0!important;margin:0!important;max-width:100vw!important;overflow-x:auto!important;padding:0!important;width:100vw!important}.ds-table-scroll{-webkit-overflow-scrolling:touch;background:#fff;border-radius:6px;margin-bottom:2px;max-width:100vw;overflow-x:auto!important}.ds-table-scroll table{box-sizing:border-box;display:block;min-width:600px!important;width:max-content!important}.ds-table-scroll td,.ds-table-scroll th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-header{box-sizing:border-box;flex-wrap:wrap;gap:4px!important;margin-bottom:10px!important;max-width:100vw!important;min-width:0!important;overflow-x:hidden!important;padding:0 8px!important;width:100%!important}.ds-actions,.ds-header-left{flex-shrink:1;gap:8px!important;min-width:0!important}.ds-actions{overflow-x:hidden!important}.notification-bell{height:28px;margin-right:4px;width:28px}.notification-bell svg{font-size:.9rem!important}.notification-badge{align-items:center;border:1px solid #fff;border-radius:50%;display:flex;font-size:.5rem;height:12px;justify-content:center;line-height:1;padding:0;right:-1px;text-align:center;top:-1px;width:12px}.ds-menu .ds-menu-item:first-child{margin-top:10px!important}}@media (max-width:480px){.ds-actions{gap:6px!important}.ds-header-left{gap:4px!important}.ds-header{padding:0 4px!important}.ds-header-left img{height:36px!important;width:36px!important}.ds-header-left span{font-size:1.2rem!important}}@media (max-width:360px){.ds-actions{gap:4px!important}.ds-header-left{gap:3px!important}.ds-header{padding:0 2px!important}.ds-header-left img{height:32px!important;width:32px!important}.ds-header-left span{font-size:1.1rem!important}}.attendance-container{margin:0 auto;max-width:1100px;padding:24px}.att-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1118278c;display:flex;inset:0;justify-content:center;padding:12px;position:fixed;z-index:1000}.att-modal{animation:att-pop .12s ease-out;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 20px 40px #0003;max-width:92vw;min-width:340px;padding:20px 20px 16px}.att-modal h2{color:#0f172a;font-size:18px;margin:0 0 14px}.att-btn-group{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.att-chip{background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;color:#1e3a8a;font-weight:800;padding:8px 14px}.att-chip.selected{background:#4338ca;border-color:#4338ca;color:#fff}.att-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.att-select{border:1px solid #e5e7eb;border-radius:10px;padding:12px;width:100%}.att-grid-2{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.att-input-group{display:flex;flex-direction:column;gap:6px}.att-input-group label{color:#374151;font-weight:700}.att-input-group input{border:1px solid #e5e7eb;border-radius:10px;padding:11px}.att-sheet{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 8px 18px #0000000f;margin-top:14px;padding:16px}.att-sheet-header h3{color:#111827;margin:0 0 12px}.att-table-wrapper{overflow:auto;width:100%}.att-table{border-collapse:collapse;width:100%}.att-table td,.att-table th{border:1px solid #e5e7eb;padding:10px;text-align:center}.att-table th{background:#f9fafb;color:#1f2937}.att-pa-buttons{display:flex;gap:10px;justify-content:center}.att-pa-btn{border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-weight:900;height:34px;width:40px}.att-pa-btn.present{background:#ecfdf5;color:#065f46}.att-pa-btn.absent{background:#fef2f2;color:#991b1b}.att-pa-btn.active.present{background:#065f46;color:#fff}.att-pa-btn.active.absent{background:#991b1b;color:#fff}.att-sheet-actions{display:flex;justify-content:flex-end;margin-top:12px}.att-report{padding:8px}.att-report-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;gap:12px;margin-bottom:10px;padding-bottom:10px}.att-report-logo img{height:60px;width:auto}.att-report-title-group h1{color:#111827;font-size:20px;margin:0}.att-report-title-group h2{color:#1f2937;font-size:16px;margin:2px 0 0}.att-report-title-group h3{color:#374151;font-size:14px;margin:6px 0 0}.att-report-meta{color:#374151;margin:6px 0 10px}.att-report .att-table-wrapper{max-width:100%;overflow-x:auto}.att-report .att-table{font-size:11px;min-width:max-content}.att-report .att-table td,.att-report .att-table th{padding:6px 4px;text-align:center;white-space:nowrap}.att-report .att-table th{background:#f9fafb;color:#1f2937;font-size:10px;font-weight:700}.att-report .att-table td{font-size:10px}.att-report .att-table td:first-child,.att-report .att-table th:first-child{max-width:150px;min-width:120px;text-align:left}.att-report .att-table td:nth-child(2),.att-report .att-table th:nth-child(2){max-width:50px;min-width:40px}.att-report .att-table td:not(:first-child):not(:nth-child(2)),.att-report .att-table th:not(:first-child):not(:nth-child(2)){max-width:40px;min-width:35px}.att-report .att-table td:last-child,.att-report .att-table td:nth-last-child(2),.att-report .att-table th:last-child,.att-report .att-table th:nth-last-child(2){font-weight:700;max-width:50px;min-width:45px}.att-report .present-cell{background-color:#ecfdf5;color:#065f46;font-weight:600}.att-report .absent-cell{background-color:#fef2f2;color:#991b1b;font-weight:600}.att-report .total-present{background-color:#dbeafe;color:#1e40af;font-weight:700}.att-report .total-absent{background-color:#fed7d7;color:#c53030;font-weight:700}.att-sessions-table{margin-top:18px}.sessions-list{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.session-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px}.session-class{color:#111827;font-weight:800;margin-bottom:4px}.session-time{color:#374151}.status-badge{border-radius:4px;font-size:12px;padding:4px 8px}.status-badge.present{background-color:#dcfce7;color:#166534}.status-badge.absent{background-color:#fef2f2;color:#dc2626}.status-badge.late{background-color:#fffbeb;color:#d97706}.status-badge.half-day{background-color:#faf5ff;color:#7c3aed}.attendance-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:20px}.attendance-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000a;padding:16px}.attendance-card .title{color:#1f2937;font-weight:700;margin-bottom:8px}.attendance-card .stats{display:flex;gap:14px;margin-bottom:6px}.attendance-card .present{color:#065f46;font-weight:600}.attendance-card .absent{color:#991b1b;font-weight:600}.attendance-card .total{color:#374151;font-weight:600}.actions-row{display:flex;justify-content:flex-start;margin:10px 0 20px}.att-primary-btn{background:#2563eb;border:none;border-radius:10px;box-shadow:0 6px 18px #2563eb40;color:#fff;cursor:pointer;font-weight:800;padding:12px 18px;transition:transform .06s ease,box-shadow .2s ease}.att-primary-btn:hover{box-shadow:0 10px 24px #2563eb40;transform:translateY(-1px)}.att-primary-btn:disabled{cursor:not-allowed;opacity:.6}.att-ghost-btn{background:#fff;border:1px solid #d1d5db;border-radius:10px;color:#1f2937;font-weight:700;padding:10px 16px}@keyframes att-pop{0%{opacity:.8;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.discipline-cases-container{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1400px;padding:24px}.dc-header{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;margin-bottom:32px}.dc-title-section h1{color:#1f2937;font-size:2.25rem;font-weight:700;line-height:1.2;margin:0 0 8px}.dc-title-section p{color:#6b7280;font-size:1.1rem;line-height:1.5;margin:0}.dc-actions{display:flex;flex-shrink:0;gap:12px}.dc-primary-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;box-shadow:0 2px 8px #3b82f64d;color:#fff;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:8px;padding:12px 20px;transition:all .2s ease}.dc-primary-btn:hover:not(:disabled){box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.dc-primary-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.dc-danger-btn{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:8px;box-shadow:0 2px 8px #ef44444d;color:#fff;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:8px;padding:12px 20px;transition:all .2s ease}.dc-danger-btn:hover:not(:disabled){box-shadow:0 4px 12px #ef444466;transform:translateY(-1px)}.dc-ghost-btn{align-items:center;background:#0000;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:8px;padding:12px 20px;transition:all .2s ease}.dc-ghost-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.dc-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.dc-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px;text-align:center;transition:transform .2s ease}.dc-stat-card:hover{transform:translateY(-2px)}.dc-stat-card .stat-number{color:#3b82f6;font-size:2.5rem;font-weight:700;margin-bottom:8px}.dc-stat-card .stat-label{color:#6b7280;font-size:.95rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.dc-admin-stats{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:32px;padding:24px}.dc-admin-stats h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 20px;text-align:center}.dc-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.dc-stat-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:20px;text-align:center}.stat-user{margin-bottom:16px}.stat-user strong{color:#1f2937;display:block;font-size:1.1rem;margin-bottom:4px}.stat-role{color:#6b7280;font-size:.9rem;font-style:italic}.stat-numbers{display:flex;justify-content:space-around;margin-bottom:12px}.stat-numbers span{font-size:1.5rem;font-weight:700}.stat-total{color:#1f2937}.stat-resolved{color:#059669}.stat-pending{color:#d97706}.stat-labels{color:#6b7280;display:flex;font-size:.8rem;font-weight:500;justify-content:space-around;text-transform:uppercase}.dc-content{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.dc-loading{font-size:1.1rem;padding:60px}.dc-empty,.dc-loading{color:#6b7280;text-align:center}.dc-empty{padding:80px 40px}.dc-empty svg{color:#d1d5db;font-size:4rem;margin-bottom:24px}.dc-empty h3{color:#374151;font-size:1.5rem;margin:0 0 16px}.dc-empty p{font-size:1.1rem;margin:0 0 24px}.dc-table-wrapper{overflow-x:auto}.dc-table{border-collapse:collapse;font-size:.9rem;width:100%}.dc-table th{background:#f8fafc;border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:16px 12px;text-align:left;white-space:nowrap}.dc-table td{border-bottom:1px solid #f1f5f9;padding:16px 12px;vertical-align:top}.recorded-by-info{text-align:center}.recorded-by-name{color:#1f2937;font-weight:600;margin-bottom:4px}.recorded-by-role{color:#6b7280;font-size:.8rem;font-style:italic;text-transform:capitalize}.dc-table tbody tr:hover{background:#f8fafc}.case-type-badge{border-radius:20px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.case-type-badge.student{background:#dbeafe;color:#1d4ed8}.case-type-badge.teacher{background:#fef3c7;color:#d97706}.student-info{display:flex;flex-direction:column;gap:4px}.student-name{color:#1f2937;font-weight:600}.student-sex{color:#6b7280;font-size:.8rem;text-transform:uppercase}.teacher-info{display:flex;flex-direction:column;gap:4px}.teacher-name{color:#1f2937;font-weight:600}.teacher-sex{color:#6b7280;font-size:.8rem;text-transform:uppercase}.case-description{max-width:300px}.description-text{color:#374151;line-height:1.5;margin-bottom:8px}.resolution-notes{background:#ecfdf5;border-left:3px solid #10b981;border-radius:6px;color:#059669;font-size:.85rem;padding:8px 12px}.status-badge{align-items:center;display:inline-flex;gap:6px;white-space:nowrap}.status-badge.resolved{background:#ecfdf5;color:#059669}.status-badge.not-resolved{background:#fef3c7;color:#d97706}.date-info{color:#6b7280;display:flex;flex-direction:column;font-size:.85rem;gap:4px}.dc-action-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.9rem;height:36px;justify-content:center;transition:all .2s ease;width:36px}.dc-action-btn.edit{background:#dbeafe;color:#1d4ed8}.dc-action-btn.edit:hover{background:#bfdbfe;transform:scale(1.05)}.dc-action-btn.delete{background:#fee2e2;color:#dc2626}.dc-action-btn.delete:hover{background:#fecaca;transform:scale(1.05)}.dc-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.dc-modal-tabs{border-bottom:1px solid #e5e7eb;display:flex;margin:0 24px}.dc-tab{background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:16px 24px;transition:all .2s ease}.dc-tab:hover{background:#f9fafb;color:#374151}.dc-tab.active{background:#eff6ff;border-bottom-color:#3b82f6;color:#3b82f6}.dc-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.dc-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 24px 0}.dc-modal-header h2{color:#1f2937;font-size:1.5rem;margin:0}.dc-modal-close{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:1.5rem;padding:4px;transition:all .2s ease}.dc-modal-close:hover{background:#f3f4f6;color:#374151}.dc-modal-body{padding:0 24px}.dc-modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding:24px}.dc-form-group{margin-bottom:20px}.dc-form-group label{color:#374151;display:block;font-weight:600;margin-bottom:8px}.dc-select,.dc-textarea{border:2px solid #e5e7eb;border-radius:8px;font-family:inherit;font-size:.95rem;padding:12px 16px;transition:border-color .2s ease;width:100%}.dc-select:focus,.dc-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.dc-textarea{min-height:80px;resize:vertical}.current-status{background:#f8fafc;border:2px solid #e5e7eb;border-radius:8px;padding:12px 16px}.dc-warning{background:#fef3c7;border:2px solid #fbbf24;border-radius:8px;color:#92400e;padding:24px;text-align:center}.dc-warning svg{color:#f59e0b;font-size:3rem;margin-bottom:16px}.dc-warning p{font-size:1rem;margin:8px 0}.dc-warning strong{color:#78350f}@media (max-width:768px){.discipline-cases-container{padding:16px}.dc-header{align-items:stretch;flex-direction:column;gap:16px}.dc-title-section h1{font-size:1.75rem}.dc-actions{justify-content:stretch}.dc-actions button{flex:1 1;justify-content:center}.dc-stats{gap:16px;grid-template-columns:1fr}.dc-table-wrapper{font-size:.8rem}.dc-table td,.dc-table th{padding:12px 8px}.dc-modal{margin:20px;max-height:calc(100vh - 40px)}.dc-modal-body,.dc-modal-footer,.dc-modal-header{padding:16px}}@media (max-width:480px){.dc-title-section h1{font-size:1.5rem}.dc-table{font-size:.75rem}.dc-table td,.dc-table th{padding:8px 6px}.action-buttons{flex-direction:column;gap:4px}.dc-action-btn{font-size:.8rem;height:32px;width:32px}}.user-events-container{margin:0 auto;max-width:1200px;padding:24px}.user-events-header{margin-bottom:32px;text-align:center}.user-events-header h1{color:#204080;font-size:2.5rem;font-weight:700;margin-bottom:8px}.user-events-header p{color:#6b7280;font-size:1.1rem;margin:0}.user-events-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:40px}.stat-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:16px;padding:24px;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.stat-card.total{border-left:4px solid #204080}.stat-card.upcoming{border-left:4px solid #10b981}.stat-card.past{border-left:4px solid #6b7280}.stat-icon{color:#204080;font-size:2rem}.stat-card.upcoming .stat-icon{color:#10b981}.stat-card.past .stat-icon{color:#6b7280}.stat-content{flex:1 1}.stat-number{color:#1f2937;font-size:2rem;font-weight:700;margin-bottom:4px}.stat-label{color:#6b7280;font-size:.9rem;font-weight:500}.user-events-content{grid-gap:32px;align-items:start;display:grid;gap:32px;grid-template-columns:1fr 2fr}.calendar-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.calendar-section h2{color:#204080;font-size:1.5rem;font-weight:600;margin-bottom:20px}.calendar-wrapper{display:flex;justify-content:center;margin-bottom:16px}.user-events-calendar{border:none;border-radius:8px;font-family:inherit;max-width:320px;width:100%}.calendar-legend{display:flex;gap:16px;justify-content:center}.legend-item{align-items:center;color:#6b7280;display:flex;font-size:.9rem;gap:8px}.legend-dot{border-radius:50%;height:8px;width:8px}.event-dot.user-event,.legend-dot.user-event{background-color:#204080}.event-dot.user-event{border-radius:50%;height:6px;width:6px}.events-lists{display:flex;flex-direction:column;gap:32px}.events-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.events-section h2{color:#204080;font-size:1.5rem;font-weight:600;margin-bottom:20px}.events-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.event-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:20px;position:relative;transition:all .2s ease}.event-card:hover{border-color:#204080;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.event-card.upcoming{border-left:4px solid #10b981}.event-card.past{border-left:4px solid #6b7280;opacity:.8}.event-header{margin-bottom:12px}.event-type{font-size:.8rem}.event-card.upcoming .event-type{background:#10b981}.event-card.past .event-type{background:#6b7280}.event-date{font-size:.9rem}.event-title{font-size:1.1rem;transition:color .2s ease}.event-title:hover{color:#204080}.event-description{font-size:.9rem;margin-bottom:12px}.event-details{flex-direction:column;font-size:.85rem;gap:6px}.event-creator,.event-time{align-items:center;display:flex;gap:6px}.loading,.no-events{color:#6b7280;font-size:1rem;padding:40px;text-align:center}.event-modal-overlay{align-items:center;background:#2040802e;box-sizing:border-box;display:flex;height:100vh;justify-content:center;left:0;padding:16px;position:fixed;top:0;width:100vw;z-index:10000}.event-modal-content{background:#fff;border-radius:14px;box-shadow:0 4px 32px #20408021;max-height:90vh;max-width:500px;overflow-y:auto;padding:24px;position:relative;width:100%}.event-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#204080;cursor:pointer;display:flex;font-size:22px;height:30px;justify-content:center;padding:0;position:absolute;right:16px;top:12px;transition:background-color .2s ease;width:30px;z-index:10}.event-modal-close:hover{background-color:#f3f4f6}.event-modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px;padding-right:40px}.event-modal-type{background:#204080;border-radius:6px;color:#fff;font-size:.9rem;font-weight:500;padding:6px 12px}.event-modal-date{color:#6b7280;font-size:.9rem}.event-modal-title{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:16px}.event-modal-description{margin-bottom:20px}.event-modal-description h3{color:#374151;font-size:1.1rem;font-weight:600;margin-bottom:8px}.event-modal-description p{color:#6b7280;line-height:1.6;margin:0}.event-modal-details{display:flex;flex-direction:column;gap:12px}.detail-item{align-items:center;color:#6b7280;display:flex;font-size:.95rem;gap:10px}.detail-item svg{color:#204080;flex-shrink:0;width:16px}.event-modal-content form{display:flex;flex-direction:column;gap:16px}.event-modal-content input,.event-modal-content select,.event-modal-content textarea{background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:15px;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease}.event-modal-content input:focus,.event-modal-content select:focus,.event-modal-content textarea:focus{border-color:#204080;box-shadow:0 0 0 3px #2040801a;outline:none}.event-modal-content textarea{min-height:80px;resize:vertical}.event-modal-content button[type=submit]{background:#204080;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px 0;transition:background-color .2s ease}.event-modal-content button[type=submit]:hover{background:#1a365d}.participants-grid{grid-gap:8px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));max-height:120px;overflow-y:auto;padding:12px}@media (max-width:1024px){.user-events-content{gap:24px;grid-template-columns:1fr}.calendar-section{order:2}.events-lists{order:1}}@media (max-width:768px){.user-events-container{padding:16px}.user-events-header h1{font-size:2rem}.user-events-stats{gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-card{padding:20px}.stat-number{font-size:1.5rem}.events-grid{grid-template-columns:1fr}.calendar-section,.events-section{padding:20px}.event-modal-content{max-height:95vh;padding:20px}}@media (max-width:480px){.user-events-container{padding:12px}.user-events-header h1{font-size:1.8rem}.user-events-header p{font-size:1rem}.user-events-stats{gap:12px;grid-template-columns:1fr}.stat-card{padding:16px}.stat-icon{font-size:1.5rem}.stat-number{font-size:1.3rem}.calendar-section,.events-section{padding:16px}.events-section h2{font-size:1.3rem}.event-card{padding:16px}.event-modal-overlay{padding:8px}.event-modal-content{max-height:98vh;padding:16px}.event-modal-title{font-size:1.3rem}.event-modal-header{align-items:flex-start;flex-direction:column;gap:8px;padding-right:0}.participants-grid{grid-template-columns:1fr}}@media (max-width:360px){.user-events-container{padding:8px}.user-events-header h1{font-size:1.6rem}.calendar-section,.event-card,.event-modal-content,.events-section,.stat-card{padding:12px}}.react-calendar{background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em;max-width:100%;width:350px}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{margin:.5em;width:50%}.react-calendar,.react-calendar *,.react-calendar :after,.react-calendar :before{box-sizing:border-box}.react-calendar button{border:0;margin:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{background:none;min-width:44px}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:focus,.react-calendar__navigation button:enabled:hover{background-color:#e6e6e6}.react-calendar__month-view__weekdays{font:inherit;font-size:.75em;font-weight:700;text-align:center;text-transform:uppercase}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{align-items:center;display:flex;font:inherit;font-size:.75em;font-weight:700;justify-content:center}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__century-view__decades__decade--neighboringCentury,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__month-view__days__day--neighboringMonth{color:#757575}.react-calendar__century-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__year-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{background:none;line-height:16px;font:inherit;font-size:.833em;max-width:100%;padding:10px 6.6667px;text-align:center}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__century-view__decades__decade--neighboringCentury:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__month-view__days__day--neighboringMonth:disabled{color:#cdcdcd}.react-calendar__tile:enabled:focus,.react-calendar__tile:enabled:hover{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:focus,.react-calendar__tile--now:enabled:hover{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:focus,.react-calendar__tile--hasActive:enabled:hover{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:focus,.react-calendar__tile--active:enabled:hover{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.teacher-dashboard-cards{display:flex;gap:28px;margin-bottom:36px;margin-top:18px}.teacher-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 16px #20408012;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-height:140px;padding:32px 18px 24px;transition:box-shadow .15s}.teacher-card:hover{box-shadow:0 8px 24px #20408021}.teacher-card-icon{color:#204080;font-size:2.7rem;margin-bottom:10px}.teacher-card-title{color:#204080;font-size:2.4rem;font-weight:800;margin-bottom:2px}.teacher-card-desc{color:#204080;font-size:1.13rem;font-weight:500;margin-top:2px;opacity:.88}.teacher-dashboard-main{display:flex;flex-wrap:wrap;gap:32px}.teacher-performance,.teacher-schedule{background:#fff;border-radius:16px;box-shadow:0 2px 8px #2040800f;flex:1 1 380px;margin-bottom:24px;padding:28px 22px}.teacher-section-title{color:#204080;font-size:1.22rem;font-weight:700;letter-spacing:.2px;margin-bottom:18px}.teacher-schedule-list{display:flex;flex-direction:column;gap:14px}.teacher-schedule-item{align-items:center;background:#f7f8fa;border-radius:10px;box-shadow:0 1px 2px #20408008;display:flex;font-size:1.09rem;justify-content:space-between;padding:13px 18px}.teacher-schedule-task{color:#222;font-weight:600}.teacher-schedule-meta{align-items:center;color:#204080;display:flex;font-size:1.01rem;font-weight:500;gap:10px;opacity:.9}.teacher-schedule-meta span{background:#e0e7ef;border-radius:8px;color:#204080;font-size:.99em;font-weight:600;margin-left:8px;padding:3px 12px}.teacher-performance-list{display:flex;flex-direction:column;gap:14px}.teacher-performance-item{align-items:center;background:#f7f8fa;border-radius:10px;box-shadow:0 1px 2px #20408008;display:flex;font-size:1.09rem;justify-content:space-between;padding:13px 18px}.teacher-performance-class{color:#204080;font-weight:700}.teacher-performance-class span{color:#888;font-size:.99em;font-weight:500;margin-left:10px}.teacher-performance-score{align-items:center;display:flex;font-size:1.13em;font-weight:800;gap:8px}.teacher-performance-up{color:#0e7c3a;font-size:1em;font-weight:700;margin-left:8px}.teacher-performance-down{color:#e53e3e;font-size:1em;font-weight:700;margin-left:8px}@media (max-width:1100px){.teacher-dashboard-cards,.teacher-dashboard-main{flex-direction:column;gap:18px}}@media (max-width:700px){.teacher-dashboard-cards,.teacher-dashboard-main{flex-direction:column;gap:12px}.teacher-performance,.teacher-schedule{padding:16px 6px}}.dean-event-container{margin:0 auto;max-width:1200px;padding:32px 16px}.dean-event-cards{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:32px}.dean-event-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 12px #223c6c14;display:flex;flex:1 1 220px;flex-direction:column;min-width:220px;padding:24px 32px;transition:box-shadow .2s ease,transform .2s ease}.dean-event-card:hover{box-shadow:0 4px 16px #223c6c26;transform:translateY(-2px)}.dean-event-card.total{border-left:6px solid #1e3a8a}.dean-event-card.upcoming{border-left:6px solid #f59e0b}.dean-event-card-title{color:#888;font-size:1.1rem;font-weight:500;margin-bottom:8px}.dean-event-card-value{color:#1e3a8a;font-size:2.2rem;font-weight:700}.dean-event-calendar-wrapper{background:#fff;border-radius:12px;box-shadow:0 2px 12px #223c6c14;margin-bottom:32px;overflow-x:auto;padding:24px}.react-calendar{border:none;font-family:inherit;width:100%}.react-calendar__tile--active{background:#f59e0b!important;border-radius:8px!important;color:#fff!important}.react-calendar__tile--active:enabled:focus,.react-calendar__tile--active:enabled:hover{background:#d97706!important}.calendar-event-indicator{align-items:center;display:flex;justify-content:center;margin-top:2px;position:relative}.event-dot{background-color:#204080;border-radius:50%;height:6px;margin:0 1px;width:6px}.event-count{color:#204080;font-size:10px;font-weight:600;margin-left:2px}.events-list-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 12px #223c6c14;margin-bottom:32px;padding:24px}.events-list-section h3{color:#204080;font-size:20px;font-weight:600;margin-bottom:20px}.events-list{display:flex;flex-direction:column;gap:16px}.event-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}.event-item:hover{background:#f3f4f6;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.event-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.event-type{background:#204080;border-radius:4px;color:#fff;font-size:12px;font-weight:500;padding:4px 8px}.event-date{color:#6b7280;font-size:14px}.event-title{color:#1f2937;font-size:16px;font-weight:600;margin-bottom:8px}.event-description{color:#6b7280;font-size:14px;line-height:1.5;margin-bottom:8px}.event-details{color:#6b7280;display:flex;font-size:13px;gap:16px}.event-time{font-weight:500}.event-participants{font-style:italic}.loading,.no-events{color:#6b7280;font-size:16px;padding:40px;text-align:center}.no-events{font-style:italic}.modal-overlay{background:#2040802e;box-sizing:border-box;height:100vh;padding:16px;width:100vw;z-index:10000}.modal-content{background:#fff;border-radius:14px;box-shadow:0 4px 32px #20408021;max-height:90vh;max-width:500px;overflow-y:auto;padding:24px;position:relative;width:100%}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#204080;cursor:pointer;display:flex;font-size:22px;height:30px;justify-content:center;padding:0;position:absolute;right:16px;top:12px;transition:background-color .2s ease;width:30px;z-index:10}.modal-close:hover{background-color:#f3f4f6}.modal-title{color:#204080;font-size:18px;font-weight:600;margin-bottom:20px;padding-right:40px}.event-form{display:flex;flex-direction:column;gap:16px}.form-row{display:flex;gap:12px}.form-row input,.form-row select{flex:1 1}.event-form input,.event-form select,.event-form textarea{background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:15px;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease}.event-form input:focus,.event-form select:focus,.event-form textarea:focus{border-color:#204080;box-shadow:0 0 0 3px #2040801a;outline:none}.event-form textarea{min-height:80px;resize:vertical}.event-date-readonly,.event-select{cursor:pointer}.participants-section{display:flex;flex-direction:column;gap:12px}.participants-label{color:#374151;font-size:14px;font-weight:600}.participants-list{grid-gap:8px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));max-height:200px;overflow-y:auto;padding:12px}.participant-checkbox{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:8px 12px;transition:background-color .2s ease}.participant-checkbox:hover{background:#f3f4f6}.participant-checkbox input[type=checkbox]{accent-color:#204080;height:16px;width:16px}.participant-name{color:#374151;font-size:14px;font-weight:500}.selected-participants{background:#eaf3ff;border:1px solid #204080;border-radius:6px;color:#204080;font-size:14px;padding:12px}.create-event-btn{background:#204080;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px 0;transition:background-color .2s ease}.create-event-btn:hover{background:#1a365d}.create-event-btn:disabled{background:#9ca3af;cursor:not-allowed}.event-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.event-actions button{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:4px;padding:6px 12px;transition:all .2s ease}.event-actions button:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.event-actions button:first-child{background:#10b981;color:#fff}.event-actions button:last-child{background:#ef4444;color:#fff}.event-actions button svg{font-size:11px}@media (max-width:900px){.dean-event-cards{flex-direction:column;gap:16px}.dean-event-calendar-wrapper{padding:12px}.event-header,.form-row{flex-direction:column;gap:8px}.event-header{align-items:flex-start}.event-details{flex-direction:column;gap:4px}.participants-list{grid-template-columns:1fr}}@media (max-width:600px){.dean-event-container{padding:12px 2px}.dean-event-card{min-width:140px;padding:16px 8px}.modal-overlay{padding:8px}.modal-content{border-radius:12px;margin:0;max-height:95vh;max-width:100%;padding:20px 16px}.modal-title{font-size:16px;margin-bottom:16px;padding-right:30px}.event-form{gap:12px}.event-form input,.event-form select,.event-form textarea{border-radius:6px;font-size:16px;padding:12px 14px}.participants-list{gap:6px;max-height:120px;padding:8px}.participant-checkbox{padding:8px 10px}.participant-name{font-size:14px}.create-event-btn{border-radius:6px;font-size:16px;padding:14px 0}.form-row{gap:8px}}@media (max-width:480px){.modal-overlay{padding:4px}.modal-content{max-height:98vh;padding:16px 12px}.modal-title{font-size:15px;margin-bottom:12px}.event-form{gap:10px}.event-form input,.event-form select,.event-form textarea{font-size:15px;padding:10px 12px}.participants-list{max-height:100px;padding:6px}.participant-checkbox{padding:6px 8px}.participant-name{font-size:13px}.selected-participants{font-size:12px;padding:8px}.create-event-btn{font-size:15px;padding:12px 0}}@media (max-width:360px){.modal-content{padding:12px 8px}.modal-title{font-size:14px;padding-right:25px}.event-form{gap:8px}.event-form input,.event-form select,.event-form textarea{font-size:14px;padding:8px 10px}.participants-list{max-height:80px}.participant-checkbox{padding:4px 6px}.participant-name{font-size:12px}}.lesson-plan-container{margin:0 auto;max-width:1200px;padding:20px}.lesson-plan-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.lesson-plan-card{background:#fff;border:1px solid #e1e5e9;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:24px;transition:transform .2s ease,box-shadow .2s ease}.lesson-plan-card:hover{box-shadow:0 8px 15px #00000026;transform:translateY(-2px)}.lesson-plan-card .count{color:#2563eb;font-size:2.5rem;font-weight:700;margin-bottom:8px}.lesson-plan-card .desc{color:#6b7280;font-size:1rem;font-weight:500}.lesson-plan-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.upload-plan-btn{align-items:center;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease}.upload-plan-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.upload-plan-btn:active{transform:translateY(0)}.lesson-plan-table-wrapper{background:#fff;border:1px solid #e1e5e9;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.lesson-plan-table{border-collapse:collapse;font-size:.9rem;width:100%}.lesson-plan-table th{background:#f8fafc;border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:16px 12px;text-align:left}.lesson-plan-table td{border-bottom:1px solid #f3f4f6;padding:16px 12px;vertical-align:middle}.lesson-plan-table tr:hover{background:#f9fafb}.status-badge{border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.status-pending{background:#fef3c7;color:#d97706}.status-approved{background:#d1fae5;color:#059669}.status-rejected{background:#fee2e2;color:#dc2626}.period-type-badge{border-radius:6px;font-size:.75rem;font-weight:500;padding:4px 8px;text-transform:capitalize}.period-weekly{background:#dbeafe;color:#1d4ed8}.period-monthly{background:#e0e7ff;color:#7c3aed}.period-yearly{background:#fef3c7;color:#d97706}.actions{align-items:center;gap:8px}.action-btn{font-size:.9rem;padding:8px}.action-btn.edit{background:#dbeafe;color:#1d4ed8}.action-btn.edit:hover{background:#bfdbfe;transform:scale(1.05)}.action-btn.delete{background:#fee2e2;color:#dc2626}.action-btn.delete:hover{background:#fecaca;transform:scale(1.05)}.action-btn.approve{background:#d1fae5;color:#059669}.action-btn.approve:hover{background:#a7f3d0;transform:scale(1.05)}.action-btn.reject{background:#fef3c7;color:#d97706}.action-btn.reject:hover{background:#fde68a;transform:scale(1.05)}.action-btn.view{background:#f3f4f6;color:#374151}.action-btn.view:hover{background:#e5e7eb;transform:scale(1.05)}.lesson-plan-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.lesson-plan-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:500px;overflow-y:auto;padding:32px;position:relative;width:100%}.lesson-plan-modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:background .2s ease;width:32px}.lesson-plan-modal-close:hover{background:#f3f4f6;color:#374151}.lesson-plan-form-title{color:#111827;font-size:1.5rem;font-weight:600;margin-bottom:24px;text-align:center}.lesson-plan-form-grid{grid-gap:20px;display:grid;gap:20px;margin-bottom:24px}.lesson-plan-input-group{display:flex;flex-direction:column;gap:8px}.lesson-plan-input-label{color:#374151;font-size:.9rem;font-weight:500}.lesson-plan-input-field{background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;padding:12px 16px;transition:border-color .2s ease}.lesson-plan-input-field:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.lesson-plan-select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:.95rem;padding:12px 16px;transition:border-color .2s ease}.lesson-plan-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.lesson-plan-file-input{cursor:pointer;display:inline-block;position:relative}.lesson-plan-file-input input[type=file]{cursor:pointer;height:100%;opacity:0;position:absolute;width:100%}.lesson-plan-file-label{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:.95rem;gap:8px;justify-content:center;padding:12px 16px;transition:all .2s ease}.lesson-plan-file-label:hover{background:#eff6ff;border-color:#2563eb;color:#2563eb}.lesson-plan-file-label.has-file{background:#ecfdf5;border-color:#10b981;color:#059669}.lesson-plan-submit-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 24px;transition:all .2s ease;width:100%}.lesson-plan-submit-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.lesson-plan-submit-btn:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;font-size:.9rem;margin-bottom:16px}.review-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:600px;overflow-y:auto;padding:32px;position:relative;width:100%}.review-form-grid{grid-gap:20px;display:grid;gap:20px;margin-bottom:24px}.review-actions{display:flex;gap:12px;justify-content:flex-end}.review-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;transition:all .2s ease}.review-btn.approve{background:#10b981;color:#fff}.review-btn.approve:hover{background:#059669;transform:translateY(-1px)}.review-btn.reject{background:#f59e0b;color:#fff}.review-btn.reject:hover{background:#d97706;transform:translateY(-1px)}.review-btn.cancel{background:#6b7280;color:#fff}.review-btn.cancel:hover{background:#4b5563;transform:translateY(-1px)}@media (max-width:768px){.lesson-plan-container{padding:16px}.lesson-plan-cards{gap:16px;grid-template-columns:1fr}.lesson-plan-header{align-items:stretch;flex-direction:column}.upload-plan-btn{justify-content:center;width:100%}.lesson-plan-table{font-size:.8rem}.lesson-plan-table td,.lesson-plan-table th{padding:12px 8px}.actions{flex-direction:column;gap:4px}.action-btn{font-size:.8rem;padding:6px}.lesson-plan-modal-content,.review-modal-content{margin:16px;padding:24px}.review-actions{flex-direction:column}.review-btn{width:100%}}@media (max-width:480px){.lesson-plan-card{padding:20px}.lesson-plan-card .count{font-size:2rem}.lesson-plan-table{font-size:.75rem}.lesson-plan-table td,.lesson-plan-table th{padding:8px 4px}.period-type-badge,.status-badge{font-size:.7rem;padding:4px 6px}}.lesson-plan-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:24px}.lesson-plan-stat-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-left-width:6px;border-radius:12px;box-shadow:0 2px 8px #0000000f;display:flex;gap:14px;padding:18px}.lesson-plan-stat-card .stat-icon{align-items:center;border-radius:10px;color:#fff;display:flex;font-size:18px;height:44px;justify-content:center;width:44px}.lesson-plan-stat-card.total{border-left-color:#2563eb}.lesson-plan-stat-card.pending{border-left-color:#f59e0b}.lesson-plan-stat-card.approved{border-left-color:#10b981}.lesson-plan-stat-card.rejected{border-left-color:#ef4444}.lesson-plan-stat-card.total .stat-icon{background:#2563eb}.lesson-plan-stat-card.pending .stat-icon{background:#f59e0b}.lesson-plan-stat-card.approved .stat-icon{background:#10b981}.lesson-plan-stat-card.rejected .stat-icon{background:#ef4444}.lesson-plan-stat-card .stat-content{line-height:1.1}.lesson-plan-stat-card .stat-number{color:#111827;font-size:1.6rem;font-weight:700}.lesson-plan-stat-card .stat-label{color:#374151;font-weight:600;margin-top:2px}.lesson-plan-stat-card .stat-sublabel{color:#9ca3af;font-size:.85rem;margin-top:2px}.header-left h2{color:#111827;font-size:1.4rem;margin:0}.header-subtitle{color:#6b7280;font-size:.95rem;margin:2px 0 0}.header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.action-btn.report-btn{align-items:center;background:#0ea5e9;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;gap:8px;padding:10px 14px}.action-btn.report-btn:hover{background:#0284c7}.action-btn.upload-btn{align-items:center;background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;gap:8px;padding:10px 14px}.action-btn.upload-btn:hover{background:#1d4ed8}.lesson-plan-filters{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.filter-group{align-items:center;display:flex;gap:8px}.filter-select{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px}.search-group{flex:1 1;min-width:220px}.search-input{border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;width:100%}.table-container{overflow-x:auto;width:100%}.title-cell .title-text{color:#111827;font-weight:600}.teacher-cell .teacher-name{color:#374151;font-weight:500}.role-badge{background:#eef2ff;border-radius:6px;color:#4f46e5;display:inline-block;font-size:.8rem;padding:4px 8px}.reviewed-badge{background:#ecfdf5;color:#059669}.not-reviewed-badge,.reviewed-badge{border-radius:6px;display:inline-block;font-size:.8rem;font-weight:600;padding:4px 8px}.not-reviewed-badge{background:#f3f4f6;color:#6b7280}.period-badge{border-radius:6px;font-size:.8rem;font-weight:600;padding:4px 8px;text-transform:capitalize}.period-badge.period-weekly,.period-weekly{background:#dbeafe;color:#1d4ed8}.period-badge.period-monthly,.period-monthly{background:#fef3c7;color:#d97706}.period-badge.period-yearly,.period-yearly{background:#f3e8ff;color:#7c3aed}.status-badge .status-dot{background:currentColor;border-radius:9999px;display:inline-block;height:6px;margin-right:6px;width:6px}.status-badge.status-pending{background:#fef3c7;color:#d97706}.status-badge.status-approved{background:#d1fae5;color:#059669}.status-badge.status-rejected{background:#fee2e2;color:#dc2626}.action-buttons{gap:8px}.action-buttons,.loading-state{align-items:center;display:flex}.loading-state{color:#6b7280;flex-direction:column;justify-content:center;padding:40px}.loading-spinner{border:4px solid #e5e7eb;border-top-color:#2563eb;height:36px;margin-bottom:12px;width:36px}.empty-state{color:#6b7280;padding:48px 16px;text-align:center}.empty-state .empty-icon{color:#9ca3af;font-size:42px;margin-bottom:10px}.content-cell a{color:#2563eb;text-decoration:none}.content-cell a:hover{text-decoration:underline}@media (max-width:768px){.lesson-plan-stats-grid{grid-template-columns:1fr}.header-actions{width:100%}.action-btn.report-btn,.action-btn.upload-btn{justify-content:center;width:100%}.lesson-plan-filters{align-items:stretch;flex-direction:column}}.inventory-container{background:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:100%;min-height:100vh;padding:16px}.inv-root *{box-sizing:border-box}.inv-root .inv-report-table{border-collapse:collapse;width:100%}.inv-root .inv-report-table td,.inv-root .inv-report-table th{border:1px solid #ddd;padding:8px}.inv-root .inv-status-badge{border-radius:999px;font-size:12px;font-weight:700;padding:4px 10px}.inv-root .inv-status-badge.completed{background:#e8f5e9;color:#1b5e20}.inv-root .inv-status-badge.uncompleted{background:#ffebee;color:#b71c1c}.inv-root .inv-status-badge.partial{background:#fff8e1;color:#f57f17}@media print{.inv-root .report-table td,.inv-root .report-table th{border:1px solid #000}}:not(.inv-root) .inv-receipt-footer,:not(.inv-root) .inv-receipt-header,:not(.inv-root) .inv-receipt-meta,:not(.inv-root) .inv-receipt-template,:not(.inv-root) .inv-receipt-title,:not(.inv-root) .inv-receipt-wrapper,:not(.inv-root) .inv-report-header,:not(.inv-root) .inv-report-logo,:not(.inv-root) .inv-report-meta,:not(.inv-root) .inv-report-section,:not(.inv-root) .inv-report-table,:not(.inv-root) .inv-report-title-group,:not(.inv-root) .inv-status-badge,:not(.inv-root) .inv-summary-table{clip:auto!important;all:initial!important;animation:none 0s ease 0s 1 normal none running!important;backface-visibility:visible!important;background:#0000 none repeat 0 0/auto auto padding-box border-box scroll!important;border:none!important;border-collapse:initial!important;border-image:none!important;border-radius:0!important;border-spacing:0!important;bottom:auto!important;box-shadow:none!important;box-sizing:initial!important;caption-side:top!important;clear:none!important;color:#000!important;column-fill:balance!important;column-gap:normal!important;column-rule:medium none currentColor!important;column-span:1!important;columns:auto!important;content:normal!important;counter-increment:none!important;counter-reset:none!important;cursor:auto!important;direction:ltr!important;display:inline!important;empty-cells:show!important;float:none!important;font-family:serif!important;font-size:medium!important;font-stretch:normal!important;font-style:normal!important;font-variant:normal!important;font-weight:400!important;height:auto!important;-webkit-hyphens:none!important;hyphens:none!important;left:auto!important;letter-spacing:normal!important;line-height:normal!important;list-style:disc none outside!important;margin:0!important;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:1!important;orphans:2!important;outline:medium none invert!important;overflow:visible!important;overflow-x:visible!important;overflow-y:visible!important;padding:0!important;page-break-after:auto!important;page-break-before:auto!important;page-break-inside:auto!important;perspective:none!important;perspective-origin:50% 50%!important;position:static!important;right:auto!important;tab-size:8!important;table-layout:auto!important;text-align:left!important;text-align-last:auto!important;text-decoration:none!important;text-indent:0!important;text-shadow:none!important;text-transform:none!important;top:auto!important;transform:none!important;transform-origin:initial!important;transform-style:flat!important;transition:none 0s ease 0s!important;unicode-bidi:normal!important;vertical-align:initial!important;visibility:visible!important;white-space:normal!important;widows:2!important;width:auto!important;word-spacing:normal!important;z-index:auto!important}.inv-inventory-header{background:linear-gradient(135deg,#1e3a8a,#3b82f6);border-radius:16px;box-shadow:0 8px 32px #1e3a8a4d;color:#fff;margin-bottom:32px;padding:24px;text-align:center}.inv-inventory-header h1{font-size:2rem;font-weight:700;margin-bottom:8px;text-shadow:0 2px 4px #0000001a}.inv-inventory-header p{font-size:1.1rem;margin:0;opacity:.9}.inv-dashboard-summary{margin-bottom:32px}.inv-summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.inv-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 20px #0000001a;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.inv-summary-card:before{background:#0a0a63;content:"";height:4px;left:0;position:absolute;right:0;top:0}.inv-summary-card.expenditure:before{background:linear-gradient(90deg,#e53e3e,#c53030)}.inv-summary-card.assets:before{background:linear-gradient(90deg,#3b82f6,#1e3a8a)}.inv-summary-card.net-worth:before{background:linear-gradient(90deg,#8b5cf6,#6d28d9)}.inv-summary-card:hover{box-shadow:0 12px 32px #00000026;transform:translateY(-4px)}.inv-summary-card .inv-card-icon{align-items:center;background:#1e40af;border-radius:16px;color:#fff;display:flex;font-size:24px;height:56px;justify-content:center;margin-bottom:16px;width:56px}.inv-summary-card.expenditure .inv-card-icon{background:linear-gradient(135deg,#e53e3e,#c53030)}.inv-summary-card.assets .inv-card-icon{background:linear-gradient(135deg,#3b82f6,#1e3a8a)}.inv-summary-card.net-worth .inv-card-icon{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.inv-summary-card h3{color:#6b7280;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.inv-summary-card p{color:#1f2937;font-size:1.875rem;font-weight:700;line-height:1.2;margin:0}.inv-financial-summary{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 20px #0000001a;padding:24px}.inv-financial-summary h3{color:#1e3a8a;font-size:1.25rem;font-weight:700;margin-bottom:20px;text-align:center}.inv-summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.inv-summary-item{align-items:center;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:12px;display:flex;justify-content:space-between;padding:16px}.inv-summary-item.total{background:#1e3a8a;color:#fff;font-weight:600}.inv-summary-item .inv-amount{font-size:1.125rem;font-weight:600}.inv-summary-item .inv-amount.positive{color:#1c1083}.inv-summary-item .inv-amount.negative{color:#e53e3e}.inv-summary-item .inv-amount.neutral{color:#6b7280}.inv-summary-item.total .inv-amount{color:#fff}.inv-inventory-tabs{background:#f8f9fa;border-radius:16px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:24px;padding:8px}.inv-tab-button{align-items:center;background:#0000;border:none;border-radius:12px;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:8px;min-height:44px;padding:12px 20px;transition:all .2s ease;white-space:nowrap}.inv-tab-button:hover{background:#1e3a8a0d;color:#1e3a8a;transform:translateY(-1px)}.inv-tab-button.active{background:#1e3a8a;box-shadow:0 4px 12px #1e3a8a4d;color:#fff}.inv-tab-icon{font-size:16px}.inv-tab-label{font-weight:500}.inv-tab-content{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;margin-bottom:20px;overflow:hidden}.inv-tab-panel{padding:24px}.inv-panel-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.inv-panel-header h3{color:#1e3a8a;font-size:1.5rem;font-weight:700;margin:0}.inv-primary-btn{align-items:center;background:#1c1083;border:none;border-radius:12px;box-shadow:0 4px 12px #22bb334d;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:8px;min-height:44px;padding:12px 24px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.inv-primary-btn:hover{box-shadow:0 6px 16px #2b118b66;transform:translateY(-2px)}.inv-secondary-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;color:#6b7280;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:8px;min-height:44px;padding:12px 24px;transition:all .2s ease}.inv-secondary-btn:hover{background:#f8f9fa;border-color:#1e3a8a;color:#1e3a8a}.inv-danger-btn{background:#e53e3e;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;min-height:44px;padding:12px 24px;transition:all .2s ease}.inv-danger-btn:hover{background:#c53030;transform:translateY(-1px)}.inv-action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;height:36px;justify-content:center;margin-right:8px;min-height:36px;min-width:36px;transition:all .2s ease;width:36px}.inv-action-btn.edit{background:#4299e1;color:#fff}.inv-action-btn.edit:hover{background:#3182ce;transform:scale(1.05)}.inv-action-btn.delete{background:#e53e3e;color:#fff}.inv-action-btn.delete:hover{background:#c53030;transform:scale(1.05)}.inventory-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-top:20px;overflow-x:auto}.inventory-table{background:#fff;border-collapse:collapse;font-size:.875rem;min-width:800px;width:100%}.inventory-table th{background:#f1f5f9;border-bottom:2px solid #e5e7eb;color:#1f2937;font-weight:600;padding:16px;position:sticky;text-align:left;top:0;white-space:nowrap;z-index:10}.inventory-table td{border-bottom:1px solid #f3f4f6;color:#1f2937;padding:16px;vertical-align:middle}.inventory-table tr:hover{background:#f8f9fa}.inventory-table tr:last-child td{border-bottom:none}.inventory-table .actions{white-space:nowrap}.inv-budget-heads-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.inv-budget-head-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:all .2s ease}.inv-budget-head-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.inv-budget-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.inv-budget-header h4{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0}.inv-budget-category{border-radius:20px;font-size:.75rem;font-weight:600;padding:4px 12px;text-transform:uppercase}.inv-budget-category.income{background:#dcfce7;color:#166534}.inv-budget-category.expenditure{background:#fee2e2;color:#991b1b}.inv-budget-category.asset{background:#dbeafe;color:#1e40af}.inv-budget-details p{color:#6b7280;font-size:.875rem;margin:8px 0}.inv-budget-details strong{color:#1f2937}.inv-budget-actions{margin-top:16px;text-align:right}.inv-asset-categories-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.inv-asset-category-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:all .2s ease}.inv-asset-category-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.inv-category-header h4{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 16px}.inv-category-details p{color:#6b7280;font-size:.875rem;margin:8px 0}.inv-category-details strong{color:#1f2937}.inv-category-actions{margin-top:16px;text-align:right}.inv-no-data-message{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;color:#6b7280;grid-column:1/-1;padding:40px;text-align:center}.inv-no-data-message p{font-size:1.1rem;font-weight:500;margin:0}.depreciation-info{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:12px;padding:24px}.depreciation-info h4{color:#1e3a8a;font-size:1.25rem;font-weight:600;margin-bottom:12px}.depreciation-info p{color:#6b7280;line-height:1.6;margin-bottom:20px}.depreciation-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;padding:16px}.stat-item span:first-child{color:#6b7280;font-weight:500}.stat-item span:last-child{color:#1f2937;font-weight:600}.reports-section{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.report-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px;text-align:center}.report-card h4{color:#1e3a8a;font-size:1.25rem;font-weight:600;margin-bottom:12px}.report-card p{color:#6b7280;line-height:1.6;margin-bottom:20px}.report-actions{display:flex;flex-wrap:wrap;gap:12px}.balance-sheet-content,.financial-summary-content{margin-bottom:20px;text-align:left}.balance-sheet-date,.summary-period{background:#f8f9fa;border-radius:8px;color:#6b7280;font-size:.875rem;margin-bottom:16px;padding:12px;text-align:center}.balance-sheet-sections{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.balance-section{background:#f8f9fa;border-left:4px solid #1e3a8a;border-radius:8px;padding:16px}.balance-section h5{color:#1e3a8a;font-size:1rem;font-weight:600;margin:0 0 12px;text-transform:uppercase}.balance-item{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:8px 0}.balance-item:last-child{border-bottom:none}.balance-item.total{border-top:2px solid #1e3a8a;color:#1f2937;font-weight:600;margin-top:8px;padding-top:12px}.balance-totals{background:#1e3a8a;border-radius:8px;color:#fff;margin-bottom:20px;padding:16px}.total-item{align-items:center;display:flex;font-weight:600;justify-content:space-between;padding:8px 0}.quick-actions{display:flex;flex-direction:column;gap:12px}.quick-actions .secondary-btn{justify-content:center}.asset-category-form,.budget-form,.depreciation-form,.inventory-form{display:flex;flex-direction:column;gap:20px}.inv-form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.inv-form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#1f2937;font-size:.875rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:.875rem;min-height:44px;padding:12px 16px;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#1e3a8a;box-shadow:0 0 0 3px #1e3a8a1a}.inv-form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.inv-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:16px;position:fixed;right:0;top:0;z-index:1000}.inv-modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:600px;overflow-y:auto;padding:24px;width:100%}.modal-content h3{color:#1e3a8a;font-size:1.5rem;font-weight:700;margin-bottom:24px;text-align:center}.delete-confirmation{max-width:400px;text-align:center}.delete-confirmation h3{color:#e53e3e;margin-bottom:16px}.delete-confirmation p{color:#6b7280;line-height:1.6;margin-bottom:24px}.inv-error-message{background:#fef2f2;border-left:4px solid #e53e3e;border-radius:12px;font-weight:500;justify-content:space-between;margin-bottom:16px;padding:16px}.inv-error-close,.inv-error-message{align-items:center;color:#dc2626;display:flex}.inv-error-close{background:none;border:none;cursor:pointer;font-size:1.5rem;height:24px;justify-content:center;padding:0;width:24px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1200px){.summary-cards{gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.budget-heads-grid,.inv-asset-categories-grid,.reports-section{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width:992px){.inventory-container{padding:12px}.inventory-header{margin-bottom:24px;padding:20px}.inventory-header h1{font-size:1.75rem}.summary-cards{gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.summary-card{padding:18px}.summary-card p{font-size:1.5rem}.inv-form-row{gap:16px;grid-template-columns:1fr}}@media (max-width:768px){.inventory-container{padding:8px}.inventory-header{border-radius:12px;margin-bottom:20px;padding:16px}.inventory-header h1{font-size:1.5rem;line-height:1.3}.inventory-header p{font-size:.95rem;line-height:1.4}.summary-cards{gap:12px;grid-template-columns:1fr;margin-bottom:24px}.summary-card{border-radius:12px;padding:16px}.summary-card .card-icon{font-size:20px;height:48px;margin-bottom:12px;width:48px}.summary-card h3{font-size:.8rem}.summary-card p{font-size:1.25rem}.financial-summary{border-radius:12px;padding:20px}.financial-summary h3{font-size:1.1rem}.summary-grid{gap:12px;grid-template-columns:1fr}.summary-item{border-radius:8px;padding:12px}.summary-item .amount{font-size:1rem}.inventory-tabs{align-items:stretch;background:#f8f9fa;border-radius:12px;flex-direction:column;gap:4px;margin:-8px -8px 20px;padding:6px;position:sticky;top:0;z-index:100}.tab-button{border-radius:8px;font-size:.9rem;justify-content:center;min-height:48px;padding:14px 16px}.tab-icon{font-size:14px}.tab-content{border-radius:12px;margin-bottom:16px}.tab-panel{padding:16px}.panel-header{align-items:stretch;flex-direction:column;gap:12px;margin-bottom:20px}.panel-header h3{font-size:1.25rem;text-align:center}.inventory-table-container{border-radius:8px;margin-top:16px}.inventory-table{font-size:.8rem;min-width:600px}.inventory-table td,.inventory-table th{padding:10px 8px}.budget-heads-grid,.inv-asset-categories-grid{gap:16px;grid-template-columns:1fr}.budget-head-card,.inv-asset-category-card{border-radius:8px;padding:16px}.budget-header,.category-header{align-items:flex-start;flex-direction:column;gap:8px}.inv-budget-category{align-self:flex-start}.reports-section{gap:16px;grid-template-columns:1fr}.report-card{border-radius:8px;padding:20px}.report-actions{align-items:stretch;flex-direction:column;gap:8px}.balance-sheet-sections{gap:12px;grid-template-columns:1fr}.form-group input,.form-group select,.form-group textarea{font-size:16px;min-height:48px}.inv-form-actions{flex-direction:column;gap:8px}.danger-btn,.primary-btn,.secondary-btn{font-size:.9rem;justify-content:center;min-height:48px}.inv-modal-overlay{padding:8px}.inv-modal-content{border-radius:12px;margin:8px;max-height:85vh;padding:20px}.modal-content h3{font-size:1.25rem}.inv-action-btn{font-size:16px;height:40px;min-height:40px;min-width:40px;width:40px}.inv-no-data-message{border-radius:8px;padding:32px 20px}.inv-no-data-message p{font-size:1rem}}@media (max-width:480px){.inventory-container{padding:6px}.inventory-header{margin-bottom:16px;padding:12px}.inventory-header h1{font-size:1.25rem}.inventory-header p{font-size:.9rem}.summary-cards{gap:8px;margin-bottom:20px}.summary-card{border-radius:8px;padding:12px}.summary-card .card-icon{font-size:18px;height:40px;margin-bottom:8px;width:40px}.summary-card h3{font-size:.75rem}.summary-card p{font-size:1.1rem}.financial-summary{padding:16px}.financial-summary h3{font-size:1rem}.summary-item{padding:10px}.summary-item .amount{font-size:.9rem}.inventory-tabs{margin:-6px -6px 16px;padding:4px}.tab-button{font-size:.85rem;min-height:44px;padding:12px}.tab-icon{font-size:12px}.tab-panel{padding:12px}.panel-header h3{font-size:1.1rem}.inventory-table{font-size:.75rem;min-width:500px}.inventory-table td,.inventory-table th{padding:8px 6px}.budget-heads-grid,.inv-asset-categories-grid{gap:12px}.budget-head-card,.inv-asset-category-card{padding:12px}.reports-section{gap:12px}.report-card{padding:16px}.report-card h4{font-size:1.1rem}.report-card p{font-size:.9rem}.form-group input,.form-group select,.form-group textarea{font-size:16px;min-height:44px;padding:10px 12px}.form-group label{font-size:.85rem}.danger-btn,.primary-btn,.secondary-btn{font-size:.85rem;min-height:44px;padding:10px 20px}.inv-modal-content{border-radius:8px;margin:6px;padding:16px}.modal-content h3{font-size:1.1rem}.inv-action-btn{font-size:14px;height:36px;min-height:36px;min-width:36px;width:36px}.inv-no-data-message{padding:24px 16px}.inv-no-data-message p{font-size:.9rem}}@media (max-width:768px) and (orientation:landscape){.inventory-header{padding:12px 20px}.inventory-header h1{font-size:1.3rem}.summary-cards{gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.summary-card{padding:12px}.summary-card p{font-size:1.1rem}.inventory-tabs{flex-direction:row;flex-wrap:wrap;gap:4px;justify-content:center}.tab-button{font-size:.8rem;min-height:40px;padding:8px 12px}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.inventory-container{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.asset-category-card,.budget-head-card,.report-card,.summary-card{box-shadow:0 2px 8px #00000014}}@media (hover:none) and (pointer:coarse){.action-btn:hover,.asset-category-card:hover,.budget-head-card:hover,.primary-btn:hover,.report-card:hover,.secondary-btn:hover,.summary-card:hover,.tab-button:hover{transform:none}.inv-action-btn{min-height:44px;min-width:44px}.danger-btn,.primary-btn,.secondary-btn,.tab-button{min-height:48px}}@media (max-width:768px){.fee-receipt-modal-overlay{padding:8px}.fee-receipt-modal-content{border-radius:12px;max-height:95vh;max-width:98vw}.inv-receipt-wrapper{max-width:100%;padding:0}.inv-receipt-template{border-radius:8px;font-size:8pt;min-height:auto;padding:4mm}.inv-school-name{font-size:10pt}.inv-receipt-title{font-size:14pt}.inv-fee-types-table{font-size:7pt}.inv-fee-types-table td,.inv-fee-types-table th{padding:.5mm}.inv-meta-row{flex-direction:column;gap:1mm}.inv-meta-underline{min-width:15mm}.main-underline-long{min-width:30mm}.inv-receipt-actions{padding:16px}.download-pdf-btn{font-size:.9rem;justify-content:center;min-height:48px;width:100%}}@media (max-width:480px){.fee-receipt-modal-overlay{padding:4px}.fee-receipt-modal-content{border-radius:8px;max-height:98vh;max-width:99vw}.inv-receipt-template{border-radius:6px;font-size:7pt;padding:3mm}.inv-school-name{font-size:9pt}.receipt-title{font-size:12pt}.inv-fee-types-table{font-size:6pt}.inv-fee-types-table td,.inv-fee-types-table th{padding:.3mm}.inv-meta-underline{min-width:12mm}.main-underline-long{min-width:25mm}.receipt-actions{padding:12px}.download-pdf-btn{font-size:.85rem;min-height:44px}}.inv-receipt-template{box-sizing:border-box;overflow:visible}.inv-fee-types-table{max-width:100%;overflow-x:auto}.inv-fee-types-table td,.inv-fee-types-table th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.inv-receipt-template{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.inv-receipt-template{background:#fff!important;color:#000!important;contain:none;height:auto!important;isolation:isolate;max-height:none!important;min-height:auto!important;overflow:visible!important}.inv-receipt-template *{display:block!important;opacity:1!important;visibility:visible!important}.inv-receipt-template table,.inv-receipt-template td,.inv-receipt-template th,.inv-receipt-template tr{display:table!important;opacity:1!important;visibility:visible!important}.inv-receipt-template tbody,.inv-receipt-template thead{display:table-header-group!important;opacity:1!important;visibility:visible!important}.inv-receipt-template tbody{display:table-row-group!important}.inv-receipt-template .inv-fee-types-section,.inv-receipt-template .inv-receipt-footer,.inv-receipt-template .inv-receipt-header{background:#fff!important;color:#000!important;opacity:1!important;visibility:visible!important}.inv-fee-types-table{table-layout:auto}.inv-fee-types-table td,.inv-fee-types-table th{word-wrap:break-word;overflow:visible;white-space:normal}.inv-amount-summary-section,.inv-fee-types-section,.inv-receipt-header{break-inside:avoid;margin-bottom:20px;page-break-inside:avoid}.inv-fee-types-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:24px;padding:16px;width:100%}.inv-fee-types-title{border-bottom:2px solid #3b82f6;color:#1f2937;font-size:16px;font-weight:700;margin:0 0 16px;padding:8px 0}.inv-fee-types-table{background:#fff;border-collapse:collapse;border-radius:6px;box-shadow:0 1px 3px #0000001a;margin-bottom:16px;overflow:hidden;width:100%}.inv-fee-types-table td,.inv-fee-types-table th{border-bottom:1px solid #e5e7eb;padding:12px 16px;text-align:left}.inv-fee-types-table th{background:#f3f4f6;color:#374151;font-size:14px;font-weight:700}.inv-fee-types-table td{color:#1f2937;font-size:13px}.inv-fee-type-name{color:#1f2937;font-weight:600}.inv-fee-expected{color:#059669;font-weight:600;text-align:right}.inv-fee-status{border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-align:center;text-transform:uppercase}.inv-fee-status.completed{background:#d1fae5;color:#065f46}.inv-fee-status.pending{background:#fef3c7;color:#92400e}.inv-fee-status.partial{background:#dbeafe;color:#1e40af}.inv-receipt-header{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #e2e8f0;border-radius:12px;margin-bottom:32px;padding:24px;text-align:center}.inv-school-name{color:#1e293b;font-size:24px;font-weight:700;letter-spacing:1px;margin:0 0 8px;text-transform:uppercase}.inv-receipt-title{color:#374151;font-size:20px;font-weight:600;margin:0 0 16px}.inv-receipt-meta{color:#6b7280;font-size:14px;margin-top:16px}.inv-meta-row{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;justify-content:space-between;margin:8px 0;padding:8px 16px}.inv-meta-label{color:#374151;font-weight:600}.inv-meta-underline{color:#1f2937;font-weight:500;text-decoration:underline}.inv-receipt-footer{background:#f8f9fa;border:1px solid #e9ecef;margin-top:32px}.inv-receipt-footer p{font-size:13px}.fee-breakdown-details,.fee-breakdown-summary,.inv-class-fees-details{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin:16px 0;padding:16px}.fee-breakdown-details h4,.fee-breakdown-summary h4,.inv-class-fees-details h4{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:14px;font-weight:600;margin:0 0 12px;padding-bottom:8px}@media (max-width:768px){.inventory-container{overflow-x:hidden}.fee-receipt-modal-content,.inv-modal-content,.inventory-container,.inventory-table-container,.tab-content{-webkit-overflow-scrolling:touch}.inventory-table-container{overflow-x:auto}.inventory-table{min-width:100%}}@media (max-width:360px){.inventory-container{padding:4px}.inventory-header{padding:10px}.inventory-header h1{font-size:1.1rem}.inventory-header p{font-size:.85rem}.summary-cards{gap:6px}.summary-card{padding:10px}.summary-card .card-icon{font-size:16px;height:36px;width:36px}.summary-card h3{font-size:.7rem}.summary-card p{font-size:1rem}.tab-button{font-size:.8rem;min-height:40px;padding:10px}.tab-icon{font-size:11px}.inv-action-btn{font-size:12px;height:32px;min-height:32px;min-width:32px;width:32px}}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#1e3a8a;display:inline-block;height:20px;width:20px}.inv-success-message{background:#f0f9ff;border-left:4px solid #0ea5e9;border-radius:12px;font-weight:500;justify-content:space-between;margin-bottom:16px;padding:16px}.inv-success-close,.inv-success-message{align-items:center;color:#0369a1;display:flex}.inv-success-close{background:none;border:none;cursor:pointer;font-size:1.5rem;height:24px;justify-content:center;padding:0;width:24px}.info-message{background:#fefce8;border-left:4px solid #eab308;border-radius:12px;font-weight:500;justify-content:space-between;margin-bottom:16px;padding:16px}.info-close,.info-message{align-items:center;color:#a16207;display:flex}.info-close{background:none;border:none;cursor:pointer;font-size:1.5rem;height:24px;justify-content:center;padding:0;width:24px}.form-group input:invalid{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.form-group input:valid{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.form-help-text{color:#6b7280;font-size:.75rem;margin-top:4px}.form-error-text{color:#e53e3e;font-size:.75rem;margin-top:4px}.primary-btn:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.secondary-btn:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed;transform:none}.danger-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.inventory-table tr.selected{background:#eff6ff;border-left:4px solid #1e3a8a}.inventory-table tr.selected td{color:#1e3a8a;font-weight:500}.asset-category-card:hover,.budget-head-card:hover,.report-card:hover{border-color:#1e3a8a;box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.inv-modal-content{animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.tab-button{overflow:hidden;position:relative}.tab-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.tab-button:hover:before{left:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 4px 12px #1e3a8a26;transform:translateY(-1px)}.primary-btn:hover{background:#1e40af;box-shadow:0 8px 20px #1e3a8a66;transform:translateY(-2px)}.secondary-btn:hover{background:#f8fafc;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.danger-btn:hover{background:#dc2626;box-shadow:0 4px 12px #dc262666;transform:translateY(-1px)}.loading-overlay{align-items:center;background:#fffc;border-radius:12px;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.success-checkmark{color:#10b981}.error-icon,.success-checkmark{font-size:1.5rem;margin-right:8px}.error-icon{color:#e53e3e}.info-icon{color:#0ea5e9;font-size:1.5rem;margin-right:8px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.action-btn:focus,.danger-btn:focus,.primary-btn:focus,.secondary-btn:focus,.tab-button:focus{outline:2px solid #1e3a8a;outline-offset:2px}@media print{.inventory-container{background:#fff;padding:0}.inventory-header{background:#fff;box-shadow:none;color:#000}.danger-btn,.inv-action-btn,.inventory-tabs,.primary-btn,.secondary-btn,.summary-cards{display:none}.tab-content{border:1px solid #e5e7eb;box-shadow:none}.inventory-table{font-size:12pt}.inventory-table td,.inventory-table th{padding:8pt}}.comprehensive-summary-section,.fee-reports-section,.financial-overview-section,.salary-reports-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:32px;padding:20px}.comprehensive-summary-section h5,.fee-reports-section h5,.financial-overview-section h5,.salary-reports-section h5{align-items:center;color:#1f2937;display:flex;font-size:1.1rem;font-weight:700;gap:8px;margin:0 0 16px}.reports-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.report-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;font-weight:500;justify-content:space-between;padding:12px 16px}.report-item span:first-child{color:#374151}.report-item .amount{font-size:1.1rem;font-weight:700}.report-item .amount.positive{color:#10b981}.report-item .amount.negative{color:#ef4444}.report-item .amount.neutral{color:#3b82f6}.report-item .amount.percentage{color:#8b5cf6}.fee-breakdown-section,.inv-class-fees-section{grid-column:1/-1;margin-top:16px}.fee-breakdown-section h6,.inv-class-fees-section h6{color:#374151;font-size:1rem;font-weight:600;margin:0 0 12px}.fee-breakdown-list,.inv-class-fees-list{display:flex;flex-direction:column;gap:8px}.inv-fee-breakdown-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;font-size:.9rem;justify-content:space-between;padding:10px 16px}.inv-fee-breakdown-item .inv-fee-type{color:#374151;flex:1 1;font-weight:600}.inv-fee-breakdown-item .inv-fee-amount{color:#10b981;font-weight:700;margin:0 12px}.inv-fee-breakdown-item .inv-fee-count{color:#6b7280;font-size:.8rem}.inv-class-fee-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;justify-content:space-between;padding:12px 16px}.inv-class-info{display:flex;flex-direction:column;gap:4px}.inv-class-name{color:#374151;font-size:.95rem;font-weight:600}.inv-class-students{color:#6b7280;font-size:.8rem}.inv-class-amounts{align-items:center;display:flex;gap:8px}.inv-collected{color:#10b981;font-size:1rem;font-weight:700}.inv-expected{color:#6b7280;font-size:.9rem}.comprehensive-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.comprehensive-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;font-weight:500;justify-content:space-between;padding:16px}.comprehensive-item span:first-child{color:#374151;font-size:.95rem}.comprehensive-item .amount{font-size:1.1rem;font-weight:700}.comprehensive-item .status{border-radius:20px;font-size:1rem;font-weight:700;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.comprehensive-item .status.positive{background:#dcfce7;color:#166534}.comprehensive-item .status.negative{background:#fef2f2;color:#991b1b}.comprehensive-item .status.balanced{background:#fef3c7;color:#92400e}.comprehensive-item .status.unknown{background:#f3f4f6;color:#374151}.fee-breakdown-summary h4{background:#f0f9ff;border-left:4px solid #3b82f6;border-radius:6px;color:#1f2937;font-size:1.1rem;font-weight:700;margin:16px 0 12px;padding:12px}.fee-breakdown-details,.inv-class-fees-details{margin:20px 0}.fee-breakdown-details h4,.inv-class-fees-details h4{border-bottom:2px solid #e5e7eb;color:#374151;font-size:1rem;font-weight:600;margin:0 0 12px;padding:8px 0}.inv-receipt-footer{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:40px;padding:20px;text-align:center}.inv-receipt-footer p{color:#6b7280;font-size:.9rem;line-height:1.5;margin:8px 0}.inv-receipt-footer p:first-child{color:#374151;font-weight:600}@media print{.inv-receipt-template{background:#fff!important;box-shadow:none!important;color:#000!important;font-family:Arial,sans-serif!important;height:auto!important;margin:0!important;max-height:none!important;max-width:none!important;min-height:auto!important;overflow:visible!important;padding:12mm!important;position:relative;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;width:100%!important}.report-header{align-items:flex-start!important;border-bottom:3px solid #1976d2!important;display:flex!important;justify-content:space-between!important;margin-bottom:25px!important;padding-bottom:15px!important}.report-title-group{text-align:left!important}.report-title-group h1{color:#1976d2!important;font-size:33px!important;font-weight:700!important;letter-spacing:1px!important;margin:0!important}.report-title-group h2{color:#333!important;font-size:25px!important;font-weight:600!important;margin:5px 0!important}.report-title-group h3{color:#666!important;font-size:21px!important;font-weight:500!important;margin:5px 0 0!important}.report-logo{height:12mm!important;margin-right:12px!important;object-fit:contain!important;width:12mm!important}.report-meta{color:#666!important;font-size:17px!important;text-align:right!important}.report-meta p{line-height:1.4!important;margin:3px 0!important}.report-section{break-inside:avoid!important;margin-bottom:30px!important;orphans:3!important;page-break-inside:avoid!important;widows:3!important}.report-section h4{border-bottom:2px solid #1976d2!important;color:#1976d2!important;font-size:23px!important;font-weight:700!important;letter-spacing:.5px!important;margin-bottom:15px!important;padding-bottom:8px!important;text-transform:uppercase!important}.report-section h5{border-left:4px solid #4caf50!important;color:#333!important;font-size:21px!important;font-weight:600!important;margin:20px 0 12px!important;padding-left:8px!important}.summary-stats{grid-gap:15px!important;display:grid!important;gap:15px!important;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important;margin-bottom:20px!important}.stat-item{background:linear-gradient(135deg,#f8f9fa,#e9ecef)!important;border:2px solid #dee2e6!important;border-radius:8px!important;display:flex!important;flex-direction:column!important;gap:8px!important;padding:15px!important;text-align:center!important}.stat-label{color:#666!important;font-size:17px!important;font-weight:600!important;letter-spacing:.5px!important;text-transform:uppercase!important}.stat-value{color:#1976d2!important;font-size:21px!important;font-weight:700!important;line-height:1.2!important}.stat-value.positive{color:#4caf50!important}.stat-value.negative{color:#f44336!important}.main-report-table{border-collapse:collapse!important;break-inside:auto!important;font-size:16px!important;margin:20px 0!important;page-break-inside:auto!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;width:100%!important}.main-report-table th{background-color:#1976d2!important;color:#fff!important;font-size:15px!important;font-weight:600!important;letter-spacing:.3px!important;padding:12px 8px!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;text-transform:uppercase!important}.main-report-table td,.main-report-table th{border:1px solid #ccc!important;text-align:left!important;vertical-align:middle!important}.main-report-table td{break-inside:avoid!important;padding:10px 8px!important;page-break-inside:avoid!important}.main-report-table tr:nth-child(2n){background-color:#f8f9fa!important}.main-report-table tr.section-header td{background-color:#e3f2fd!important;border:2px solid #1976d2!important;color:#1976d2!important;text-align:center!important}.main-report-table tr.section-header td,.main-report-table tr.summary-row td{font-size:18px!important;font-weight:700!important;padding:15px 8px!important}.main-report-table tr.summary-row td{background-color:#f5f5f5!important;border:2px solid #333!important;color:#333!important}.report-table{border-collapse:collapse!important;font-size:16px!important;margin-bottom:20px!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;width:100%!important}.report-table,.report-table td,.report-table th{break-inside:avoid!important;page-break-inside:avoid!important}.report-table td,.report-table th{border:1px solid #ccc!important;padding:12px 8px!important;text-align:left!important;vertical-align:middle!important}.report-table th{background-color:#1976d2!important;color:#fff!important;font-size:15px!important;font-weight:600!important;letter-spacing:.3px!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;text-transform:uppercase!important}.report-table tr{break-inside:avoid!important;page-break-inside:avoid!important}.report-table tr:nth-child(2n){background-color:#f8f9fa!important}.summary-table{border:3px solid #1976d2!important;margin-top:30px!important}.summary-table th{background-color:#1976d2!important;font-size:18px!important;font-weight:700!important}.summary-table td{background-color:#f0f8ff!important;font-size:16px!important;font-weight:700!important}.status-badge{border-radius:12px!important;display:inline-block!important;font-size:15px!important;font-weight:600!important;letter-spacing:.5px!important;padding:6px 12px!important;text-transform:uppercase!important}.status-badge.completed{background-color:#4caf50!important;color:#fff!important}.status-badge.uncompleted{background-color:#f44336!important;color:#fff!important}.status-badge.partial{background-color:#ff9800!important;color:#fff!important}.report-footer{border-top:2px solid #dee2e6!important;margin-top:40px!important;padding-top:20px!important;text-align:center!important}.report-footer p{color:#666!important;font-size:17px!important;margin:0 0 30px!important}.inv-fee-types-section{background:#fff!important;border:1px solid #000!important;border-radius:0!important;break-inside:avoid;margin-bottom:20px!important;min-height:50px!important;padding:12px!important;page-break-inside:avoid}.main-report-table{border:1px solid #000!important;box-shadow:none!important}.main-report-table th{background:#f0f0f0!important;color:#000!important}.main-report-table td,.main-report-table th{border:1px solid #000!important}.main-report-table tr.section-header td{background:#e0e0e0!important;border:2px solid #000!important;color:#000!important}.main-report-table tr.summary-row td{background:#d0d0d0!important;border:2px solid #000!important;color:#000!important}.report-table{box-shadow:none!important}.report-table,.report-table th{border:1px solid #000!important}.report-table th{background:#f0f0f0!important;color:#000!important}.report-table td{border:1px solid #000!important}.summary-table{border:3px solid #000!important}.summary-table th{background:#000!important;border:1px solid #000!important;color:#fff!important}.summary-table td{background:#f0f0f0!important;color:#000!important}.stat-item,.summary-table td{border:1px solid #000!important}.stat-item{background:#f9f9f9!important}.report-header{border-bottom:2px solid #000!important}.report-footer{border-top:1px solid #000!important}.report-content,.report-info,.report-section,.report-table,.report-table td,.report-table th,.stat-item,.stat-label,.stat-value,.summary-stats{background:#0000!important;color:#000!important}.report-header{break-after:avoid!important;page-break-after:avoid!important}.stat-item,.summary-stats{break-inside:avoid!important;page-break-inside:avoid!important}.report-table thead{display:table-header-group!important}.report-table tbody{display:table-row-group!important}.report-table tfoot{display:table-footer-group!important}h4,h5{break-after:avoid!important;page-break-after:avoid!important}.report-section+.report-section{break-before:auto!important;page-break-before:auto!important}}.psycho-dashboard-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px;margin-top:20px}.psycho-card{background:#204080;border-radius:15px;box-shadow:0 8px 25px #20408026;color:#fff;overflow:hidden;padding:25px;position:relative;transition:transform .3s ease,box-shadow .3s ease}.psycho-card:before{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.psycho-card:hover{box-shadow:0 15px 35px #20408040;transform:translateY(-5px)}.psycho-card-icon{font-size:2.5rem;margin-bottom:15px;opacity:.9}.psycho-card-title{font-size:2.5rem;font-weight:700;line-height:1;margin-bottom:8px}.psycho-card-desc{font-size:.95rem;font-weight:500;opacity:.9}.psycho-card-cases,.psycho-card-progress,.psycho-card-sessions,.psycho-card-students{background:#204080}.psycho-dashboard-main{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr;margin-top:20px}.psycho-section-title{border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:1.4rem;font-weight:600;margin-bottom:20px;padding-bottom:10px}.psycho-schedule{background:#fff;border-radius:15px;box-shadow:0 4px 20px #00000014;padding:25px}.psycho-schedule-list{display:flex;flex-direction:column;gap:15px}.psycho-schedule-item{background:#f7fafc;border-left:4px solid #204080;border-radius:10px;padding:15px;transition:all .3s ease}.psycho-schedule-item:hover{background:#edf2f7;transform:translateX(5px)}.psycho-schedule-task{color:#2d3748;font-size:.95rem;font-weight:600;margin-bottom:5px}.psycho-schedule-meta{align-items:center;color:#718096;display:flex;font-size:.85rem;justify-content:space-between}.psycho-schedule-meta span{background:#204080;border-radius:12px;color:#fff;font-size:.75rem;font-weight:500;padding:3px 8px}.psycho-stats{background:#fff;border-radius:15px;box-shadow:0 4px 20px #00000014;padding:25px}.psycho-stats-list{display:flex;flex-direction:column;gap:20px}.psycho-stats-item{display:flex;flex-direction:column;gap:8px}.psycho-stats-category{align-items:center;color:#2d3748;display:flex;font-size:.9rem;font-weight:500;justify-content:space-between}.psycho-stats-category span{color:#204080;font-weight:600}.psycho-stats-progress{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden}.psycho-stats-bar{background:#204080;border-radius:4px;height:100%;transition:width .8s ease}.psycho-content-section{background:#fff;border-radius:15px;box-shadow:0 4px 20px #00000014;margin-bottom:20px;margin-top:20px;padding:25px}.psycho-cases-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.psycho-case-card{background:#f7fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .3s ease}.psycho-case-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.psycho-case-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.psycho-case-header h3{color:#2d3748;font-size:1.1rem;margin:0}.psycho-case-status{border-radius:20px;font-size:.8rem;font-weight:600;padding:4px 12px;text-transform:uppercase}.psycho-case-status.active{background:#c6f6d5;color:#22543d}.psycho-case-status.resolved{background:#bee3f8;color:#2a4365}.psycho-case-status.pending{background:#fed7d7;color:#742a2a}.psycho-case-details{margin-bottom:15px}.psycho-case-details p{color:#4a5568;font-size:.9rem;margin:8px 0}.psycho-case-actions{display:flex;gap:10px}.psycho-lesson-plans{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.psycho-lesson-plan-card{background:#f7fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .3s ease}.psycho-lesson-plan-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.psycho-lesson-plan-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.psycho-lesson-plan-header h3{color:#2d3748;font-size:1.1rem;margin:0}.psycho-lesson-plan-status{border-radius:20px;font-size:.8rem;font-weight:600;padding:4px 12px;text-transform:uppercase}.psycho-lesson-plan-status.approved{background:#c6f6d5;color:#22543d}.psycho-lesson-plan-status.pending{background:#fed7d7;color:#742a2a}.psycho-lesson-plan-details{margin-bottom:15px}.psycho-lesson-plan-details p{color:#4a5568;font-size:.9rem;margin:8px 0}.psycho-lesson-plan-actions{display:flex;gap:10px}.psycho-reports-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.psycho-report-card{background:#f7fafc;border:1px solid #e2e8f0;border-radius:12px;padding:25px;text-align:center;transition:all .3s ease}.psycho-report-card:hover{box-shadow:0 10px 30px #0000001a;transform:translateY(-3px)}.psycho-report-icon{color:#204080;font-size:3rem;margin-bottom:15px}.psycho-report-card h3{color:#2d3748;font-size:1.1rem;margin:0 0 10px}.psycho-report-card p{color:#4a5568;font-size:.9rem;line-height:1.5;margin:0 0 20px}.psycho-messages-container{max-width:600px}.psycho-message-list{display:flex;flex-direction:column;gap:15px}.psycho-message-item{background:#f7fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:15px;padding:15px;transition:all .3s ease}.psycho-message-item:hover{background:#edf2f7;transform:translateX(5px)}.psycho-message-avatar{align-items:center;background:#204080;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.9rem;font-weight:600;height:40px;justify-content:center;width:40px}.psycho-message-content{flex:1 1}.psycho-message-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.psycho-message-header h4{color:#2d3748;font-size:1rem;margin:0}.psycho-message-time{color:#718096;font-size:.8rem}.psycho-message-content p{color:#4a5568;font-size:.9rem;line-height:1.4;margin:0}.psycho-btn{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:.9rem;font-weight:500;padding:8px 16px;text-align:center;text-decoration:none;transition:all .3s ease}.psycho-btn-primary{background:#204080;color:#fff}.psycho-btn-primary:hover{box-shadow:0 4px 15px #2040804d;transform:translateY(-1px)}.psycho-btn-secondary{background:#e2e8f0;color:#4a5568}.psycho-btn-secondary:hover{background:#cbd5e0;transform:translateY(-1px)}.psycho-cases-redirect{background:#fff;border-radius:12px;box-shadow:0 2px 8px #2040800f;padding:60px 20px;text-align:center}.psycho-cases-redirect p{color:#4a5568;font-size:18px;margin-bottom:24px}.psycho-cases-redirect .psycho-btn{font-size:16px;padding:12px 32px}@media (max-width:1024px){.psycho-dashboard-main{gap:20px;grid-template-columns:1fr}.psycho-dashboard-cards{gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.psycho-cases-grid,.psycho-lesson-plans,.psycho-reports-grid{grid-template-columns:1fr}}@media (max-width:768px){.psycho-dashboard-cards{gap:15px;grid-template-columns:1fr}.psycho-card{padding:20px}.psycho-card-title{font-size:2rem}.psycho-section-title{font-size:1.2rem}.psycho-content-section,.psycho-schedule,.psycho-stats{padding:20px}.psycho-case-actions,.psycho-lesson-plan-actions{flex-direction:column}}@media (max-width:480px){.psycho-dashboard-cards{gap:12px}.psycho-card{padding:18px}.psycho-card-icon{font-size:2rem}.psycho-card-title{font-size:1.8rem}.psycho-content-section,.psycho-schedule,.psycho-stats{padding:15px}.psycho-message-item{flex-direction:column;text-align:center}.psycho-message-avatar{align-self:center}}.cases-container{margin:0 auto;max-width:1200px;padding:24px}.cases-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:32px}.cases-header h1{color:#204080;font-size:28px;font-weight:700;margin:0}.add-case-btn{align-items:center;background:#204080;border:none;border-radius:8px;box-shadow:0 2px 8px #20408033;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease}.add-case-btn:hover{background:#1a3668;box-shadow:0 4px 12px #2040804d;transform:translateY(-1px)}.error-message{background:#fed7d7;border-radius:8px;color:#c53030;font-weight:500;gap:8px;margin-bottom:24px;padding:12px 16px}.cases-loading,.error-message{align-items:center;display:flex}.cases-loading{color:#204080;flex-direction:column;height:400px;justify-content:center}.spinner{animation:spin 1s linear infinite;font-size:32px;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.cases-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));margin-bottom:32px}.case-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #2040800f;padding:24px;transition:all .2s ease}.case-card:hover{box-shadow:0 4px 16px #2040801a;transform:translateY(-2px)}.case-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.case-header h3{color:#204080;flex:1 1;font-size:18px;font-weight:600;line-height:1.3;margin:0}.case-status{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.priority-badge,.status-badge{border-radius:6px;color:#fff;font-size:12px;font-weight:600;padding:4px 8px;text-transform:capitalize}.case-details{margin-bottom:20px}.case-details p{color:#4a5568;font-size:14px;line-height:1.4;margin:8px 0}.case-details strong{color:#2d3748;font-weight:600}.case-actions{display:flex;flex-wrap:wrap;gap:8px}.action-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:500;gap:4px;justify-content:center;min-width:80px;padding:8px 12px;transition:all .2s ease}.view-btn{background:#4299e1;color:#fff}.view-btn:hover{background:#3182ce}.edit-btn{background:#48bb78;color:#fff}.edit-btn:hover{background:#38a169}.session-btn{background:#ed8936;color:#fff}.session-btn:hover{background:#dd6b20}.report-btn{background:#9f7aea;color:#fff}.report-btn:hover{background:#805ad5}.delete-btn{background:#f56565;color:#fff}.delete-btn:hover{background:#e53e3e}.no-cases{color:#718096;padding:60px 20px;text-align:center}.no-cases svg{color:#cbd5e0;font-size:64px;margin-bottom:16px}.no-cases h3{color:#4a5568;font-size:24px;margin-bottom:8px}.no-cases p{font-size:16px;margin-bottom:24px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.large-modal{max-width:800px}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 24px 0}.modal-header h2{color:#204080;font-size:20px;font-weight:600;margin:0}.modal-header button{align-items:center;background:none;border:none;border-radius:4px;color:#718096;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:background-color .2s ease;width:32px}.modal-header button:hover{background:#f7fafc;color:#4a5568}.modal form{padding:0 24px 24px}.form-group{margin-bottom:20px}.form-group label{color:#2d3748;display:block;font-size:14px;font-weight:600;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{border:1px solid #e2e8f0;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 12px;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#204080;box-shadow:0 0 0 3px #2040801a;outline:none}.form-group textarea{min-height:80px;resize:vertical}.modal-actions{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.modal-actions button{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 20px;transition:all .2s ease}.modal-actions button[type=button]{background:#e2e8f0;border:none;color:#4a5568}.modal-actions button[type=button]:hover{background:#cbd5e0}.modal-actions button[type=submit]{background:#204080;border:none;color:#fff}.modal-actions button[type=submit]:hover{background:#1a3668}.case-view-content{padding:0 24px 24px}.case-info{margin-bottom:32px}.case-info h3{color:#204080;font-size:18px;font-weight:600;margin-bottom:16px}.info-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.info-grid>div{border-bottom:1px solid #f7fafc;color:#4a5568;font-size:14px;padding:8px 0}.info-grid strong{color:#2d3748;font-weight:600}.case-notes,.issue-description{margin-top:20px}.case-notes h4,.issue-description h4{color:#204080;font-size:16px;font-weight:600;margin-bottom:8px}.case-notes p,.issue-description p{color:#4a5568;line-height:1.6;margin:0}.case-sessions h3{color:#204080;font-size:18px;font-weight:600;margin-bottom:16px}.sessions-list{display:flex;flex-direction:column;gap:12px}.session-item{background:#f7fafc;border-left:4px solid #204080;border-radius:8px;padding:16px}.session-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:8px}.session-date{color:#2d3748;font-weight:600}.session-time{color:#718096;font-size:14px}.session-status{border-radius:4px;font-size:12px;font-weight:600;padding:2px 8px;text-transform:capitalize}.session-status.scheduled{background:#bee3f8;color:#2b6cb0}.session-status.completed{background:#c6f6d5;color:#2f855a}.session-status.cancelled{background:#fed7d7;color:#c53030}.session-status.rescheduled{background:#fef5e7;color:#d69e2e}.session-details p{color:#4a5568;font-size:14px;margin:4px 0}.session-details strong{color:#2d3748;font-weight:600}@media (max-width:768px){.cases-container{padding:16px}.cases-header{align-items:stretch;flex-direction:column;gap:12px}.cases-header h1{font-size:24px;text-align:center}.add-case-btn{justify-content:center;width:100%}.cases-grid{gap:16px;grid-template-columns:1fr}.case-card{padding:16px}.case-header{align-items:flex-start;flex-direction:column;gap:8px}.case-status{align-items:center;flex-direction:row;justify-content:flex-start;width:100%}.case-actions{flex-direction:column}.action-btn{width:100%}.modal{margin:10px;max-height:95vh}.large-modal{max-width:calc(100vw - 20px)}.modal-header{padding:16px 16px 0}.case-view-content,.modal form{padding:0 16px 16px}.info-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column}.modal-actions button{justify-content:center;width:100%}}@media (max-width:480px){.case-card,.cases-container{padding:12px}.case-header h3{font-size:16px}.priority-badge,.status-badge{font-size:11px;padding:3px 6px}.action-btn{font-size:12px;padding:6px 8px}}:root{--brand-blue:#204080;--brand-blue-600:#1b376f;--brand-gold:#c9a96e;--gray-50:#fafafa;--gray-100:#f5f5f5;--gray-150:#f2f2f2;--gray-200:#eaeaea;--gray-300:#d9d9d9;--gray-400:#cfcfcf;--gray-500:#9a9a9a;--text:#000;--paper:#fff}.ms-wrapper{color:#000;color:var(--text);font-family:Arial,Helvetica,sans-serif;padding:16px}.ms-card,.ms-wrapper{background:#fff;background:var(--paper)}.ms-card{border:1px solid #cfcfcf;border:1px solid var(--gray-400);border-radius:6px;padding:12px}.ms-controls{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.ms-btn{background:#204080;background:var(--brand-blue);border:1px solid #204080;border:1px solid var(--brand-blue);border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 12px}.ms-btn:hover{background:#1b376f;background:var(--brand-blue-600)}.ms-header{border-bottom:2px solid #204080;border-bottom:2px solid var(--brand-blue);padding-bottom:8px}.ms-header h1{color:#204080;color:var(--brand-blue);font-size:20px;font-weight:800;letter-spacing:.3px;margin:0 0 6px;text-align:center;text-transform:uppercase}.ms-meta{font-size:13px}.ms-meta-row{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between}.ms-meta-row span:nth-child(2),.ms-meta-row span:nth-child(3){color:#204080;color:var(--brand-blue);font-size:16px;font-weight:700}.ms-table-wrapper{margin-top:10px;overflow-x:auto}.ms-table{background:#fff;background:var(--paper);border-collapse:collapse;font-size:12px;min-width:100%;table-layout:fixed;width:max-content}.ms-table thead th{background:#f1f4fb;border:1px solid #9a9a9a;border-bottom:2px solid #204080;border:1px solid var(--gray-500);border-bottom:2px solid var(--brand-blue);color:#000;color:var(--text);font-weight:700;padding:6px;text-align:center;vertical-align:middle;white-space:nowrap}.ms-group{background:#eaf0fb;border-top:3px solid #204080;border-top:3px solid var(--brand-blue)}.ms-subcol,.ms-subject{background:#f2f2f2;background:var(--gray-150)}.ms-cell.ms-coef,.ms-subcol.ms-coef{background:#fbf6ea;border-color:#c9a96e;border-color:var(--brand-gold);font-weight:700}.ms-table td{border:1px solid #cfcfcf;border:1px solid var(--gray-400);color:#000;color:var(--text);padding:6px;text-align:center;vertical-align:middle;white-space:nowrap}.ms-table tbody tr:nth-child(2n) td{background:#fbfcff}.ms-name{text-align:left}.ms-sticky-col{background:inherit!important;left:auto!important;position:static!important;z-index:auto!important}.ms-block-end{border-right:2px solid #c9a96e;border-right:2px solid var(--brand-gold)}.ms-footer{margin-top:12px}.ms-stats{background:#fafafa;background:var(--gray-50);border:1px solid #eaeaea;border:1px solid var(--gray-200);border-radius:6px;display:flex;flex-wrap:wrap;font-size:13px;gap:16px;padding:8px}.ms-signatures{display:flex;gap:16px;justify-content:space-between;margin-top:12px;max-width:600px}.ms-sign{text-align:center}.ms-sign-role{color:#204080;color:var(--brand-blue);font-weight:700;margin-bottom:18px}.ms-sign-name{border-top:1px solid #204080;border-top:1px solid var(--brand-blue);font-weight:600;min-width:200px;padding-top:6px}.master-sheet-btns{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin:1rem 0;width:100%}@media print{.ms-controls{display:none!important}.ms-wrapper{background:#fff!important;padding:0}.ms-card{border:none;padding:0}.ms-table-wrapper{overflow:visible!important}.ms-table td,.ms-table thead th{background:#fff!important;border:1px solid #000!important;color:#000!important;padding:4px!important}thead{display:table-header-group}tfoot{display:table-footer-group}td,th,tr{page-break-inside:avoid}}@media (max-width:900px){.ms-meta-row{gap:6px 12px}}.unauth-page{background:#f9faff;display:flex;flex-direction:column;font-family:Arial,sans-serif;justify-content:space-between;min-height:100vh}.unauth-main{align-items:center;display:flex;flex:1 1;justify-content:center;padding:2rem}.unauth-card{background:#fff;border-radius:16px;box-shadow:0 8px 24px #20408014;max-width:480px;padding:2rem;text-align:center;width:100%}.lock-wrap{display:inline-block;margin-bottom:1rem;position:relative}.lock{height:64px;width:64px}.sparkle{animation:sparkleAnim 1.5s infinite alternate;font-size:1rem;position:absolute}.s1{left:-12px;top:-8px}.s2{right:-10px;top:-6px}.s3{bottom:-4px;left:50%;transform:translateX(-50%)}@keyframes sparkleAnim{0%{opacity:.2;transform:scale(.8) rotate(0deg)}to{opacity:1;transform:scale(1.2) rotate(15deg)}}h1{color:#204080;font-size:1.6rem;margin:.5rem 0}.lead{color:#555;font-size:.95rem;margin-bottom:1.5rem}.actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}.btn{border-radius:8px;cursor:pointer;font-weight:600;padding:.6rem 1.2rem;text-decoration:none;transition:all .2s ease}.btn-primary{background:#204080;border:none;color:#fff}.btn-primary:hover{background:#102040}.btn-outline{background:#0000;border:2px solid #204080;color:#204080}.btn-outline:hover{background:#204080;color:#fff}.btn-ghost{background:#0000;border:none;color:#204080}.btn-ghost:hover{text-decoration:underline}.unauth-footer{color:#888;font-size:.85rem;padding:1rem 0;text-align:center}@media (max-width:480px){.unauth-card{padding:1.5rem}h1{font-size:1.4rem}}
/*# sourceMappingURL=main.4c0a0edc.css.map*/