@import url(https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Tiro+Bangla&display=swap);@import url(https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@400;500;600;700&family=Noto+Serif+Bengali:wght@600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&display=swap);body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fafc;color:#1e293b;font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.btn-primary:hover{box-shadow:0 10px 20px #667eea4d}.btn-secondary{border:2px solid #667eea;color:#667eea}.btn-secondary:hover{background:#667eea;color:#fff}.skeleton-loader-wrapper{width:100%}@keyframes skeleton-loading{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-block,.skeleton-card,.skeleton-cell,.skeleton-form,.skeleton-image,.skeleton-input,.skeleton-table-row,.skeleton-text,.skeleton-textarea,.skeleton-title{animation:skeleton-loading 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:8px}.skeleton-card{background:#fff;border:1px solid #eee;margin-bottom:20px;overflow:hidden;padding:0}.skeleton-image{border-radius:8px 8px 0 0;height:200px;width:100%}.skeleton-content{padding:20px}.skeleton-title{height:24px;margin-bottom:12px;width:70%}.skeleton-text{height:16px;margin-bottom:8px;width:100%}.skeleton-text.short{width:60%}.skeleton-table-row{background:#fff;border-bottom:1px solid #eee;display:flex;gap:15px;padding:15px}.skeleton-cell{flex:1 1;height:20px}.skeleton-form{background:#fff;padding:20px}.skeleton-input{height:40px;margin-bottom:15px;width:100%}.skeleton-block,.skeleton-textarea{height:100px;width:100%}.skeleton-block{margin-bottom:15px}.ph-root{box-shadow:0 4px 20px #00000024;font-family:Hind Siliguri,sans-serif;position:relative;z-index:100}.ph-topstrip{background:#1b5e20;padding:4px 0}.ph-topstrip-inner{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin:0 auto;max-width:1280px;padding:0 16px}.ph-topstrip-inner span{color:#ffffffd9;font-family:Hind Siliguri,sans-serif;font-size:11.5px;white-space:nowrap}.ph-brand-bar{background:#fff;border-bottom:2px solid #e0e0e0;padding:10px 0}.ph-brand-inner{gap:12px;margin:0 auto;max-width:1280px;padding:0 16px}.ph-brand,.ph-brand-inner{align-items:center;display:flex}.ph-brand{cursor:pointer;flex:1 1;gap:14px;min-width:0;outline:none}.ph-brand-logo{filter:drop-shadow(0 2px 8px rgba(0,0,0,.15));flex-shrink:0;height:70px;object-fit:contain;transition:transform .25s;width:70px}.ph-brand:hover .ph-brand-logo{transform:scale(1.05)}.ph-brand-text{display:flex;flex-direction:column;gap:1px;min-width:0}.ph-brand-name{color:#0d47a1;font-family:Hind Siliguri,sans-serif;font-size:22px;font-weight:700;line-height:1.2;margin:0;overflow:hidden;text-overflow:ellipsis;transition:color .2s;white-space:nowrap}.ph-brand:hover .ph-brand-name{color:#1b5e20}.ph-brand-sub{color:#555;font-size:12px}.ph-brand-addr,.ph-brand-sub{font-family:Hind Siliguri,sans-serif;margin:0;white-space:nowrap}.ph-brand-addr{color:#999;font-size:11px;overflow:hidden;text-overflow:ellipsis}.ph-login-btn{background:linear-gradient(135deg,#1b5e20,#2e7d32);border:none;border-radius:22px;box-shadow:0 2px 8px #1b5e204d;color:#fff;cursor:pointer;flex-shrink:0;font-family:Hind Siliguri,sans-serif;font-size:14px;font-weight:700;padding:9px 22px;transition:all .2s;white-space:nowrap}.ph-login-btn:hover{background:linear-gradient(135deg,#0a3d12,#1b5e20);box-shadow:0 4px 14px #1b5e2073;transform:translateY(-1px)}.ph-ham{background:none;border:1.5px solid #ddd;border-radius:8px;color:#333;cursor:pointer;display:none;flex-shrink:0;margin-left:auto;padding:7px 9px;transition:all .2s}.ph-ham:hover{background:#f5f5f5;border-color:#bbb}.ph-nav-bar{background:linear-gradient(180deg,#111827,#1f2937);border-bottom:3px solid #374151}.ph-nav-inner{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin:0 auto;max-width:1280px;padding:8px 12px}.ph-nav-item{position:relative}.ph-pill{align-items:center;background:#1565c0;background:var(--pc,#1565c0);border:none;border-radius:5px;box-shadow:0 2px 6px #00000040;color:#fff;color:var(--tc,#fff);cursor:pointer;display:inline-flex;font-family:Hind Siliguri,sans-serif;font-size:18px;font-weight:700;gap:5px;letter-spacing:.2px;padding:7px 14px;text-decoration:none!important;transition:all .2s;white-space:nowrap}.ph-pill:hover{box-shadow:0 4px 12px #00000059;filter:brightness(1.15);transform:translateY(-2px)}.ph-pill.active{box-shadow:0 4px 14px #0006;filter:brightness(1.18);outline:2px solid #4e5851;transform:translateY(-2px)}.ph-arr{transition:transform .2s}.ph-arr-up{transform:rotate(180deg)}.ph-dd{animation:ddPop .16s ease;background:#fff;border-radius:0 8px 8px 8px;border-top:4px solid #1565c0;border-top:4px solid var(--dc,#1565c0);box-shadow:0 14px 40px #0003;left:0;min-width:220px;overflow:hidden;position:absolute;top:calc(100% + 8px);z-index:9999}@keyframes ddPop{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.ph-dd-a{align-items:center;border-bottom:1px solid #f5f5f5;color:#333!important;display:flex;font-family:Hind Siliguri,sans-serif;font-size:18px;font-weight:500;gap:10px;padding:10px 16px;text-decoration:none!important;transition:all .16s}.ph-dd-a:last-child{border-bottom:none}.ph-dd-a.active,.ph-dd-a:hover{background:#f8f8f8;color:#1565c0!important;color:var(--dc,#1565c0)!important;padding-left:22px}.ph-dd-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.ph-ticker{background:linear-gradient(90deg,#0d47a1,#1565c0,#0d47a1);height:34px;overflow:hidden}.ph-ticker,.ph-tk-badge{align-items:center;display:flex}.ph-tk-badge{background:#ffd600;color:#1a237e;flex-shrink:0;font-family:Hind Siliguri,sans-serif;font-size:16px;font-weight:800;height:100%;padding:0 14px;white-space:nowrap}.ph-tk-track{flex:1 1;overflow:hidden}.ph-tk-belt{animation:tkRun 60s linear infinite;display:flex;width:-webkit-max-content;width:max-content}.ph-tk-track:hover .ph-tk-belt{animation-play-state:paused}.ph-tk-txt{color:#ffffffed;font-family:Hind Siliguri,sans-serif;font-size:18px;font-weight:600;white-space:nowrap}@keyframes tkRun{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.ph-tk-all{align-items:center;background:#ffd600;color:#1a237e!important;display:flex;flex-shrink:0;font-family:Hind Siliguri,sans-serif;font-size:16px;font-weight:800;height:100%;padding:0 14px;text-decoration:none!important;transition:background .2s;white-space:nowrap}.ph-tk-all:hover{background:#ffca28}.ph-mob-drawer{background:#fff;border-top:3px solid #1b5e20;box-shadow:0 8px 24px #00000026;max-height:80vh;overflow-y:auto}.ph-mob-item{border-bottom:1px solid #f0f0f0}.ph-mob-row{align-items:center;border-left:5px solid #0000;cursor:pointer;display:flex;gap:8px;justify-content:space-between;padding:10px 14px;transition:background .16s}.ph-mob-row:hover{background:#f9f9f9}.ph-mob-label-pill{border-radius:16px;display:inline-block;flex:1 1;font-family:Hind Siliguri,sans-serif;font-size:14.5px;font-weight:700;letter-spacing:.2px;padding:5px 14px}.ph-mob-sub{background:#f9f9f9;padding:4px 0}.ph-mob-sub-a{align-items:center;border-bottom:1px solid #ebebeb;color:#444!important;display:flex;font-family:Hind Siliguri,sans-serif;font-size:13.5px;font-weight:500;gap:10px;padding:9px 28px;text-decoration:none!important;transition:all .16s}.ph-mob-sub-a:last-child{border-bottom:none}.ph-mob-sub-a.active,.ph-mob-sub-a:hover{background:#f0f7ff;color:#1565c0!important;padding-left:34px}.ph-mob-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.ph-mob-footer{background:#f5f5f5;border-top:1px solid #e0e0e0;padding:14px 18px}.ph-mob-login{background:linear-gradient(135deg,#1b5e20,#2e7d32);border:none;border-radius:22px;color:#fff;cursor:pointer;font-family:Hind Siliguri,sans-serif;font-size:15px;font-weight:700;padding:12px;transition:all .2s;width:100%}.ph-mob-login:hover{background:linear-gradient(135deg,#0a3d12,#1b5e20)}@media (min-width:1024px){.ph-brand-bar{display:none}}@media (max-width:1024px){.ph-login-btn,.ph-nav-bar,.ph-tk-all{display:none}.ph-ham{display:flex}}@media (max-width:768px){.ph-brand-logo{height:50px;width:50px}.ph-brand-name{font-size:15px}.ph-brand-sub{font-size:10px}.ph-brand-addr,.ph-topstrip{display:none}}@media (max-width:420px){.ph-brand-logo{height:40px;width:40px}.ph-brand-name{font-size:13px}.ph-brand-sub{display:none}}.pf-root{font-family:Hind Siliguri,sans-serif;margin-top:24px}.pf-main{background:linear-gradient(135deg,#1b5e20,#2e7d32 50%,#33691e);padding:36px 0 28px}.pf-inner{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1.5fr 1fr 1fr 1fr;margin:0 auto;max-width:1200px;padding:0 16px}.pf-col-title{border-bottom:2px solid #ffd6004d;color:#ffd600;font-family:Hind Siliguri,sans-serif;font-size:20px;font-weight:700;margin:0 0 14px;padding-bottom:8px}.pf-logo-row{align-items:center;display:flex;gap:12px;margin-bottom:14px}.pf-logo{background:#ffffff1f;border-radius:50%;box-shadow:0 2px 8px #00000040;flex-shrink:0;height:60px;object-fit:contain;padding:3px;width:60px}.pf-cname{color:#fff;font-family:Hind Siliguri,sans-serif;font-size:20px;font-weight:700;line-height:1.3;margin:0 0 3px}.pf-csub{color:#a5d6a7;margin:0}.pf-contact p,.pf-csub{font-family:Hind Siliguri,sans-serif;font-size:15px}.pf-contact p{align-items:flex-start;color:#c8e6c9;display:flex;gap:7px;line-height:1.5;margin:0 0 7px}.pf-link{align-items:center;border-bottom:1px solid #ffffff12;color:#c8e6c9!important;display:flex;font-family:Hind Siliguri,sans-serif;font-size:16.5px;font-weight:500;gap:5px;padding:5px 0;text-decoration:none!important;transition:all .18s}.pf-link:last-child{border-bottom:none}.pf-link:hover{color:#ffd600!important;padding-left:8px}.pf-larr{color:#69f0ae;flex-shrink:0;font-size:15px}.pf-info-row{align-items:flex-start;display:flex;gap:8px;margin-bottom:7px}.pf-ilbl{color:#a5d6a7;flex-shrink:0;font-size:14.5px;font-weight:600;white-space:nowrap}.pf-ilbl,.pf-ival{font-family:Hind Siliguri,sans-serif}.pf-ival{color:#fff;font-size:14px;font-weight:500}.pf-bottom{background:#0a3d0a;border-top:3px solid #ffd600;padding:12px 0}.pf-bottom-inner{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 16px}.pf-bottom-inner p{color:#a5d6a7;font-family:Hind Siliguri,sans-serif;font-size:16px;margin:0}.pf-bottom-inner a{color:#ffd600!important;font-weight:600;text-decoration:none!important}.pf-bottom-inner a:hover{text-decoration:underline!important}@media(max-width:1024px){.pf-inner{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.pf-inner{grid-template-columns:1fr}.pf-bottom-inner{flex-direction:column;text-align:center}}*,:after,:before{font-family:Tiro Bangla,serif}.ph-page{background:#f5f5f5;color:#1a1a1a;font-family:Hind Siliguri,sans-serif;min-height:100vh}.ph-hero{background:#1b5e20;height:480px;overflow:hidden;position:relative;width:100%}.ph-slide{inset:0;opacity:0;pointer-events:none;position:absolute;z-index:1}.ph-slide.ph-active{opacity:1;pointer-events:auto;z-index:2}.ph-t-slide3d-out{animation:s3dOut .75s cubic-bezier(.77,0,.18,1) forwards;z-index:3}.ph-t-slide3d-in{animation:s3dIn .75s cubic-bezier(.77,0,.18,1) forwards;z-index:4}@keyframes s3dOut{0%{opacity:1;transform:perspective(1100px) rotateY(0) translateX(0)}to{opacity:.1;transform:perspective(1100px) rotateY(20deg) translateX(-110%)}}@keyframes s3dIn{0%{opacity:.2;transform:perspective(1100px) rotateY(-25deg) translateX(110%)}to{opacity:1;transform:perspective(1100px) rotateY(0) translateX(0)}}.ph-t-cube-out{animation:cubeOut .75s ease-in-out forwards;z-index:3}.ph-t-cube-in{animation:cubeIn .75s ease-in-out forwards;z-index:4}@keyframes cubeOut{0%{opacity:1;transform:perspective(900px) rotateY(0)}to{opacity:0;transform:perspective(900px) rotateY(-88deg) translateX(-48%)}}@keyframes cubeIn{0%{opacity:0;transform:perspective(900px) rotateY(88deg) translateX(48%)}to{opacity:1;transform:perspective(900px) rotateY(0)}}.ph-t-flip-out{animation:flipOut .75s ease forwards;z-index:3}.ph-t-flip-in{animation:flipIn .75s ease forwards;z-index:4}@keyframes flipOut{0%{opacity:1;transform:perspective(800px) rotateX(0)}to{opacity:0;transform:perspective(800px) rotateX(88deg) scaleY(.8)}}@keyframes flipIn{0%{opacity:0;transform:perspective(800px) rotateX(-88deg) scaleY(.8)}to{opacity:1;transform:perspective(800px) rotateX(0)}}.ph-t-zoom-out{animation:zoomOut .75s ease forwards;z-index:3}.ph-t-zoom-in{animation:zoomIn .75s ease forwards;z-index:4}@keyframes zoomOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.2)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.ph-t-swipe-out{animation:swipeOut .75s cubic-bezier(.4,0,.2,1) forwards;z-index:3}.ph-t-swipe-in{animation:swipeIn .75s cubic-bezier(.4,0,.2,1) forwards;z-index:4}@keyframes swipeOut{0%{opacity:1;transform:translateX(0)}to{opacity:.3;transform:translateX(-100%)}}@keyframes swipeIn{0%{opacity:.3;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.ph-slide-img{display:block;height:100%;object-fit:cover;width:100%}.isk-wrap{background:#e0e0e0;overflow:hidden;position:relative}.isk-sk{z-index:1}.isk-img,.isk-sk{inset:0;position:absolute}.isk-img{height:100%;object-fit:cover;opacity:0;transition:opacity .4s ease;width:100%;z-index:2}.isk-show{opacity:1}.isk-err{align-items:center;background:#f5f5f5;color:#bbb;font-size:30px;inset:0;z-index:2}.isk-err,.ph-glass-bar{display:flex;justify-content:center;position:absolute}.ph-glass-bar{background:linear-gradient(0deg,#0000008c 0,#0003 45%,#0000);bottom:0;left:0;padding-bottom:22px;pointer-events:none;right:0;z-index:10}.ph-glass-pill{align-items:center;background:#0000;border:none;box-shadow:none;display:flex;gap:14px;max-width:860px;padding:0;width:calc(100% - 32px)}.ph-glass-logo{filter:drop-shadow(0 2px 10px rgba(0,0,0,.7));flex-shrink:0;height:70px;object-fit:contain;width:70px}.ph-glass-texts{flex:1 1;text-align:left}.ph-glass-title{color:#fff;font-size:24px;font-weight:800;letter-spacing:.3px;line-height:1.25;margin:0 0 4px;text-shadow:0 2px 12px #000000e6,0 0 30px #0009}.ph-glass-sub,.ph-glass-title{font-family:Hind Siliguri,sans-serif}.ph-glass-sub{color:#ffffffeb;font-size:16px;font-weight:500;margin:0 0 6px;text-shadow:0 1px 8px #000c}.ph-glass-meta{align-items:center;color:#dcffdce6;display:flex;flex-wrap:wrap;font-family:Hind Siliguri,sans-serif;font-size:12px;gap:8px;text-shadow:0 1px 6px #000c}.ph-glass-meta .sep{color:#fff6}.ph-ctrl{align-items:center;background:#0000006b;border:2px solid #ffffff80;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:26px;height:46px;justify-content:center;line-height:1;position:absolute;top:50%;transform:translateY(-50%);transition:all .22s;width:46px;z-index:15}.ph-ctrl:hover{background:#1b5e20d9;border-color:#fff;transform:translateY(-50%) scale(1.1)}.ph-prev{left:14px}.ph-next{right:14px}.ph-dots{bottom:10px;display:flex;gap:8px;left:50%;position:absolute;transform:translateX(-50%);z-index:15}.ph-dot{background:#ffffff73;border:2px solid #ffffffb3;border-radius:50%;cursor:pointer;height:12px;transition:all .22s;width:12px}.ph-dot.on{background:#fff;transform:scale(1.3)}.ph-hnb{background:#1a1a1a;border-bottom:2px solid #ffd600;padding:7px 0}.ph-hnb-inner{display:flex;flex-wrap:wrap;gap:5px;margin:0 auto;max-width:1200px;padding:0 12px}.ph-hnb-btn{border-radius:3px;color:#fff!important;display:inline-block;font-family:Hind Siliguri,sans-serif;font-size:15.5px;font-weight:700;padding:6px 13px;text-decoration:none!important;transition:all .2s;white-space:nowrap}.ph-hnb-btn:hover{box-shadow:0 3px 8px #0000004d;filter:brightness(1.2);transform:translateY(-2px)}.ph-main{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr 300px;margin:16px auto;max-width:1200px;padding:0 14px}.ph-content{display:flex;flex-direction:column}.ph-box{background:#fff;border-radius:6px;box-shadow:0 2px 8px #00000017;margin-bottom:14px;overflow:hidden}.ph-box-head{align-items:center;display:flex;gap:9px;padding:10px 14px}.ph-box-head.green{background:linear-gradient(90deg,#2e7d32,#43a047)}.ph-box-head h3{color:#fff;font-family:Hind Siliguri,sans-serif;font-size:26px;font-weight:700;margin:0}.ph-box-head span{font-size:20px}.ph-box-body{padding:12px 14px}.ph-notice-row{align-items:flex-start;border-bottom:1px dashed #e0e0e0;display:flex;gap:7px;padding:7px 0}.ph-notice-row:last-of-type{border-bottom:none}.ph-nr-dot{color:#2e7d32;flex-shrink:0;font-size:13px;margin-top:4px}.ph-nr-link{color:#1565c0!important;flex:1 1;font-family:Hind Siliguri,sans-serif;font-size:18.5px;font-weight:500;line-height:1.4;text-decoration:none!important;transition:color .18s}.ph-nr-link:hover{color:#c62828!important;text-decoration:underline!important}.ph-nr-new{background:#c62828;font-size:14px}.ph-nr-new,.ph-nr-urgent{border-radius:10px;color:#fff;flex-shrink:0;font-weight:700;padding:1px 7px;white-space:nowrap}.ph-nr-urgent{background:#e65100;font-size:11px}.ph-more-btn{background:#2e7d32;border-radius:20px;color:#fff!important;display:inline-block;font-family:Hind Siliguri,sans-serif;font-size:18px;font-weight:700;padding:5px 14px;text-decoration:none!important;transition:background .2s}.ph-more-btn:hover{background:#1b5e20}.ph-grid{grid-gap:13px;display:grid;gap:13px;grid-template-columns:repeat(2,1fr);margin-bottom:14px}.ph-card{background:#fff;border-radius:6px;box-shadow:0 2px 8px #00000017;overflow:hidden;transition:transform .2s,box-shadow .2s}.ph-card:hover{box-shadow:0 6px 16px #00000021;transform:translateY(-2px)}.ph-card-head{align-items:center;color:#fff;display:flex;gap:7px;padding:9px 12px}.ph-card-head h4{font-family:Hind Siliguri,sans-serif;font-size:20px;font-weight:700;line-height:1.3;margin:0}.ph-card-body{padding:8px 10px}.ph-card-row{align-items:flex-start;border-bottom:1px dashed #f0f0f0;display:flex;gap:6px;padding:5px 0}.ph-card-row:last-child{border-bottom:none}.ph-row-arr{color:#2e7d32;flex-shrink:0;font-size:13px;margin-top:4px}.ph-row-link{color:#1565c0!important;font-family:Hind Siliguri,sans-serif;font-size:18px;font-weight:500;line-height:1.4;text-decoration:none!important;transition:color .18s}.ph-row-link:hover{color:#c62828!important;text-decoration:underline!important}.ph-gallery-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);padding:12px}.ph-gallery-thumb{aspect-ratio:4/3;background:#e0e0e0;border:none;border-radius:4px;cursor:pointer;display:block;overflow:hidden;padding:0;position:relative}.ph-gallery-img{display:block;height:100%;object-fit:cover;transition:transform .3s;width:100%}.ph-gallery-thumb:hover .ph-gallery-img{transform:scale(1.08)}.ph-gallery-ov{align-items:center;background:#00000070;display:flex;font-size:26px;inset:0;justify-content:center;opacity:0;pointer-events:none;position:absolute;transition:opacity .22s}.ph-gallery-thumb:hover .ph-gallery-ov{opacity:1}.lb-overlay{align-items:center;animation:lbFd .2s ease;background:#000000ed;display:flex;inset:0;justify-content:center;position:fixed;z-index:99999}@keyframes lbFd{0%{opacity:0}to{opacity:1}}.lb-close{align-items:center;background:#ffffff26;border:2px solid #fff6;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:44px;justify-content:center;position:absolute;right:20px;top:16px;transition:background .2s;width:44px;z-index:10}.lb-close:hover{background:#ffffff4d}.lb-nav{align-items:center;background:#ffffff26;border:2px solid #ffffff61;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:30px;height:52px;justify-content:center;line-height:1;position:absolute;top:50%;transform:translateY(-50%);transition:background .2s;width:52px;z-index:10}.lb-nav:hover{background:#ffffff47}.lb-prev{left:20px}.lb-next{right:20px}.lb-center{align-items:center;display:flex;flex-direction:column;max-height:90vh;max-width:90vw}.lb-img{border-radius:6px;box-shadow:0 8px 40px #0009;max-height:80vh;max-width:90vw;object-fit:contain}.lb-caption{color:#ffffffbf;font-family:Hind Siliguri,sans-serif;font-size:16px;margin-top:10px}.lb-dots{bottom:20px;display:flex;gap:8px;left:50%;position:absolute;transform:translateX(-50%);z-index:10}.lb-dot{background:#ffffff61;border:2px solid #fff9;border-radius:50%;cursor:pointer;height:10px;transition:all .2s;width:10px}.lb-dot.on{background:#fff;transform:scale(1.35)}.ph-sidebar{display:flex;flex-direction:column;gap:13px}.ph-sb-card{background:#fff;border-radius:6px;box-shadow:0 2px 8px #00000017;overflow:hidden}.ph-sb-head{color:#fff;font-family:Hind Siliguri,sans-serif;font-size:20px;font-weight:700;padding:8px 12px}.ph-sb-head.green{background:linear-gradient(90deg,#2e7d32,#43a047)}.ph-sb-head.gdark{background:linear-gradient(90deg,#1b5e20,#2e7d32)}.ph-sb-head.red{background:linear-gradient(90deg,#c62828,#e53935)}.ph-sb-body{padding:10px 12px}.ph-sb-body.no-pad{padding:0}.ph-sb-photo{border-radius:4px;display:block;height:195px;margin-bottom:8px;object-fit:cover;width:100%}.ph-sb-name{color:#1a1a1a;font-size:18px;font-weight:700;margin:4px 0 2px}.ph-sb-name,.ph-sb-title{font-family:Hind Siliguri,sans-serif}.ph-sb-title{color:#666;font-size:15px;margin:0 0 8px}.ph-sb-view{color:#1565c0!important;display:inline-block;font-size:14px;font-weight:600;text-decoration:none!important}.ph-sb-view:hover{color:#c62828!important}.ph-sb-link{align-items:center;border-bottom:1px solid #f0f0f0;color:#1a1a1a!important;display:flex;font-family:Hind Siliguri,sans-serif;font-size:16px;font-weight:500;gap:5px;padding:7px 12px;text-decoration:none!important;transition:all .18s}.ph-sb-link:hover{background:#e8f5e9;color:#1b5e20!important;padding-left:18px}.ph-sbl-arr{color:#2e7d32;flex-shrink:0;font-size:14px}.ph-hotlines{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.ph-hot-item{align-items:center;border:2px solid #e0e0e0;border-radius:6px;display:flex;flex-direction:column;padding:6px;text-align:center;transition:all .2s}.ph-hot-item:hover{background:#f5f5f5;transform:scale(1.04)}.ph-hot-num{font-size:20px;font-weight:700;line-height:1}.ph-hot-lbl,.ph-hot-num{font-family:Hind Siliguri,sans-serif}.ph-hot-lbl{color:#555;font-size:15px;margin-top:3px}.ph-cal{font-family:Hind Siliguri,sans-serif}.ph-cal-head{background:#c62828;border-radius:4px;color:#fff;font-size:20px;font-weight:700;margin-bottom:8px;padding:6px;text-align:center}.ph-cal-grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr);text-align:center}.ph-cal-dn{color:#666;font-size:16px;font-weight:700;padding:3px 0}.ph-cal-d{border-radius:3px;color:#333;font-size:16.5px;padding:4px 2px}.ph-cal-d.today{background:#c62828;border-radius:50%;color:#fff;font-weight:700}.ph-cal-d.empty{background:#0000}@media (max-width:1024px){.ph-main{grid-template-columns:1fr}.ph-sidebar{display:grid;grid-template-columns:repeat(2,1fr)}.ph-hero{height:360px}}@media (max-width:768px){.ph-hero{height:260px}.ph-glass-title{font-size:18px}.ph-glass-sub{font-size:14px}.ph-glass-meta{font-size:12px}.ph-glass-logo{height:50px;width:50px}.ph-glass-pill{gap:10px}.ph-grid{grid-template-columns:1fr}.ph-gallery-grid{grid-template-columns:repeat(2,1fr)}.ph-sidebar{grid-template-columns:1fr}.ph-hnb-btn{font-size:12.5px;padding:5px 10px}.lb-prev{left:4px}.lb-next{right:4px}}.auth-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{animation:slideUp .5s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:450px;padding:40px;width:100%}.auth-header{margin-bottom:30px;text-align:center}.auth-icon{align-items:center;border-radius:50%;color:#fff;display:flex;height:100px;justify-content:center;margin:0 auto 20px;width:100px}.auth-icon img{border-radius:50%;height:100%;object-fit:cover;width:100%}.auth-header h1{color:#333;font-size:28px;margin-bottom:8px}.auth-header p{color:#666;font-size:14px}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group input,.form-group select{border:2px solid #e1e8ed;border-radius:10px;padding:12px 16px}.form-group input:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{padding-right:45px;width:100%}.password-toggle-btn{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:12px;transition:color .2s}.password-toggle-btn:hover{color:#667eea}.password-toggle-btn:focus{color:#667eea;outline:none}.btn-primary{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 15px #10b9814d;font-size:16px;margin-top:10px;overflow:hidden;padding:14px;position:relative}.btn-primary:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.btn-primary:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 25px #10b98166}.btn-primary:active{box-shadow:0 2px 10px #10b9814d;transform:translateY(0) scale(.98)}.btn-primary:active:before{height:300px;transition:width .3s,height .3s;width:300px}.btn-primary:disabled{background:linear-gradient(135deg,#10b981,#059669)}.btn-primary:disabled:hover{box-shadow:0 4px 15px #10b9814d;transform:none}.auth-footer{border-top:1px solid #e1e8ed;margin-top:20px;padding-top:20px;text-align:center}.auth-footer p{color:#666;font-size:14px}.auth-footer a{color:#667eea;font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.modern-navbar{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 2px 10px #00000014;position:relative;z-index:100}.navbar-container{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:1fr auto 1fr;max-width:100%;padding:1rem 2rem}.navbar-left{justify-content:flex-start}.navbar-center,.navbar-left{align-items:center;display:flex}.navbar-center{justify-content:center;padding-right:80px}.school-logo{align-items:center;cursor:pointer;display:flex;gap:1rem;transition:transform .3s ease}.school-logo:hover{transform:scaleY(1.2);transform:1s}.logo-circle{align-items:center;background:#0000;border-radius:12px;color:#fff;display:flex;font-size:1.25rem;font-weight:700;height:50px;justify-content:center;width:50px}.logo-text h3{color:#1e293b;font-size:1.35rem;font-weight:700;margin:0}.logo-text p{color:#64748b;font-size:.85rem;margin:0}.navbar-right{gap:1rem;justify-content:flex-end}.navbar-btn,.navbar-right{align-items:center;display:flex}.navbar-btn{border:none;border-radius:10px;cursor:pointer;font-size:.95rem;font-weight:600;gap:.5rem;padding:.65rem 1.25rem;transition:all .3s ease;white-space:nowrap}.navbar-btn:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.back-btn{background:linear-gradient(135deg,#0ea5e9,#0284c7)!important;color:#fff!important}.back-btn:hover{box-shadow:0 6px 20px #0ea5e966!important}.logout-btn{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.logout-btn:hover{box-shadow:0 6px 20px #f093fb66}.notification-btn{background:#fff7ed;color:#f97316;position:relative}.notification-btn:hover{background:#fed7aa}.notification-badge{align-items:center;background:#ef4444;border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:.7rem;font-weight:700;height:20px;justify-content:center;position:absolute;right:.25rem;top:.25rem;width:20px}.user-profile-section{align-items:center;background:#f8fafc;border-radius:12px;cursor:pointer;display:flex;gap:.75rem;padding:.5rem 1rem;transition:all .3s ease}.user-profile-section:hover{background:#e2e8f0}.user-profile-section img{border:2px solid #667eea;border-radius:10px;height:45px;object-fit:cover;width:45px}.user-details{display:flex;flex-direction:column}.user-name{color:#1e293b;font-size:.95rem;font-weight:600}.user-role{color:#64748b;font-size:.8rem;text-transform:capitalize}@media (max-width:1024px){.navbar-container{padding:1rem 1.5rem}.logo-text h4{font-size:1.2rem}.logo-text p{font-size:.75rem}.back-text,.logout-text{display:none}.navbar-btn{padding:.75rem}.user-details{display:none}.user-profile-section{padding:.5rem}}@media (max-width:768px){.navbar-container{grid-template-columns:auto 1fr auto;padding:1rem}.logo-text h4{font-size:.9rem}.notification-btn,.user-profile-section{display:none}.logout-btn{display:flex}.back-btn,.logout-btn{padding:.65rem}.back-text,.logout-text{display:none}.logo-circle{font-size:1.1rem;height:45px;width:45px}.navbar-left{justify-content:flex-start}.navbar-center{justify-content:center}.navbar-right{justify-content:flex-end}}@media (max-width:480px){.navbar-container{gap:.5rem;padding:.75rem}.back-btn,.logout-btn{padding:.6rem}.logo-circle{font-size:1rem;height:40px;width:40px}}@media (max-width:768px){.dashboard-home-container{padding:1.5rem}.welcome-header h1{font-size:2rem}.welcome-header p{font-size:1rem}.dashboard-cards-grid{gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.dashboard-card{padding:2rem}.card-icon{height:70px;width:70px}.card-icon svg{height:35px;width:35px}.dashboard-card h3{font-size:1.25rem}}@media (max-width:480px){.dashboard-home-container{padding:1rem}.welcome-header{margin-bottom:2rem}.welcome-header h1{font-size:1.75rem}.welcome-header p{font-size:.95rem}.dashboard-cards-grid{gap:1rem;grid-template-columns:1fr}.dashboard-card{padding:1.75rem}.card-icon{height:60px;width:60px}.card-icon svg{height:30px;width:30px}.dashboard-card h3{font-size:1.15rem}.card-arrow{bottom:1rem;font-size:1.25rem;right:1rem}}.students-page{animation:fadeIn .3s ease;padding:24px}.page-header{gap:16px}.header-left h1{color:#1a202c;font-size:32px;font-weight:700}.header-left p{color:#718096;margin:4px 0 0}.btn-primary:hover{box-shadow:0 6px 16px #667eea66}.filters-section{border-radius:12px;box-shadow:0 2px 8px #0000000d;gap:16px;margin-bottom:24px}.search-form{gap:12px;min-width:280px}.search-input-group{position:relative}.search-input-group svg{color:#a0aec0;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.search-input-group input{border:2px solid #e2e8f0;border-radius:10px;padding:12px 12px 12px 40px;transition:all .3s ease}.search-input-group input:focus{border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;outline:none}.btn-search{background:#667eea;padding:12px 24px;transition:all .3s ease;white-space:nowrap}.btn-search:hover{background:#5568d3}.filter-group{gap:12px}.filter-group svg{color:#718096}.filter-group select{min-width:150px;padding:12px 16px}.filter-group select:focus{border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.filter-group select:disabled{background:#f7fafc;color:#a0aec0}.students-stats{margin-bottom:24px}.stat-item{box-shadow:0 2px 8px #0000000d;padding:24px;transition:all .3s ease}.stat-item:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-4px)}.stat-item h3{margin:0 0 8px}.stat-item p{color:#718096;font-weight:500}.desktop-view{display:block}.mobile-view{display:none}.table-container{border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow-x:auto}.data-table thead{background:#23a7ff;color:#fff}.data-table thead th{font-size:14px;font-weight:600;letter-spacing:.5px;padding:16px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table tbody tr{border-bottom:1px solid #e2e8f0;transition:all .2s ease}.data-table tbody tr:hover{background:#f7fafc}.data-table tbody td{color:#2d3748;font-size:14px;padding:16px 12px}.student-photo{border:2px solid #e2e8f0}.student-name{color:#2d3748}.status-badge{letter-spacing:.5px}.status-badge.active{background:#c6f6d5;color:#22543d}.status-badge.inactive{background:#fed7d7;color:#742a2a}.action-buttons{align-items:center;flex-wrap:wrap}.btn-view{background:#bee3f8;color:#2c5282}.btn-view:hover{background:#90cdf4}.btn-edit{background:#feebc8;color:#7c2d12}.btn-edit:hover{background:#fbd38d}.btn-toggle{background:#e9d8fd;color:#553c9a}.btn-toggle:hover{background:#d6bcfa}.btn-delete{background:#fed7d7;color:#742a2a}.btn-delete:hover{background:#fc8181}.student-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:16px;padding:16px;transition:all .3s ease}.student-card:hover{box-shadow:0 4px 16px #0000001f}.student-card-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;gap:16px;margin-bottom:16px;padding-bottom:16px}.student-card-photo{border:3px solid #e2e8f0;border-radius:50%;height:60px;object-fit:cover;width:60px}.student-card-info{flex:1 1}.student-card-info h3{color:#1a202c;font-size:18px;margin:0 0 4px}.student-card-info .student-id{color:#718096;font-size:14px;margin:0 0 8px}.student-card-details{margin-bottom:16px}.detail-row{border-bottom:1px solid #f7fafc}.detail-row .label{color:#4a5568;font-size:14px;font-weight:600}.detail-row .value{color:#2d3748;font-size:14px}.student-card-actions{display:flex;gap:8px;justify-content:flex-end}.pagination-container{flex-direction:column;gap:16px;margin-top:32px}.pagination-info{color:#718096;font-size:14px;text-align:center}.pagination{flex-wrap:wrap;gap:8px}.pagination-btn{border:2px solid #e2e8f0;color:#4a5568;font-size:14px;gap:6px;padding:10px 16px;transition:all .3s ease}.pagination-numbers{gap:6px}.pagination-number{border:2px solid #e2e8f0;color:#4a5568;font-size:14px;font-weight:600;transition:all .3s ease}.pagination-number:hover:not(.active):not(.dots){border-color:#667eea;color:#667eea}.pagination-number.active{background:#23a7ff;border-color:#667eea}.pagination-number.dots{border:none;cursor:default}.spinner{color:#667eea}.no-data{color:#718096;font-size:16px}.modal-overlay{background:#0009}.modal-content{animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{border-bottom:2px solid #f7fafc}.modal-header h2{color:#1a202c}.close-btn{background:#f7fafc;color:#718096;font-size:24px;height:32px;width:32px}.close-btn:hover{color:#2d3748}.student-detail-card{gap:24px}.detail-photo{border:4px solid #f7fafc;height:120px;margin:0 auto;width:120px}.detail-info{gap:16px}.detail-info .info-row{grid-gap:12px;border-bottom:1px solid #f7fafc;display:grid;gap:12px;grid-template-columns:140px 1fr;padding:12px 0}.detail-info .info-row:last-child{border-bottom:none}.detail-info .info-row label{color:#4a5568;font-size:14px;font-weight:600}.detail-info .info-row span{color:#2d3748;font-size:14px}@media (max-width:1200px){.students-page{padding:20px}}@media (max-width:992px){.desktop-view{display:none}.mobile-view{display:block}}@media (max-width:768px){.students-page{padding:16px}.page-header{align-items:flex-start;flex-direction:column}.header-left{width:100%}.header-left h1{font-size:24px}.btn-primary{justify-content:center;width:100%}.filters-section{align-items:stretch;flex-direction:column;padding:16px}.search-form{flex-direction:column;min-width:100%}.btn-search{width:100%}.filter-group{align-items:stretch;flex-direction:column}.filter-group svg{display:none}.filter-group select{min-width:100%;width:100%}.students-stats{gap:12px;grid-template-columns:1fr}.stat-item{padding:16px}.stat-item h3{font-size:28px}.pagination{gap:6px}.pagination-btn{font-size:13px;padding:8px 12px}.pagination-number{font-size:13px;height:36px;width:36px}.modal-content{border-radius:12px;margin:0;max-width:100%}.detail-info .info-row{gap:4px;grid-template-columns:1fr}.detail-info .info-row label{color:#718096;font-size:12px}}@media (max-width:480px){.students-page{padding:12px}.header-left h1{font-size:20px}.header-left svg{height:24px;width:24px}.btn-primary{font-size:13px;padding:10px 20px}.student-card{padding:12px}.student-card-photo{height:50px;width:50px}.student-card-info h3{font-size:16px}.student-card-actions{gap:6px}.btn-icon{height:32px;width:32px}.pagination-numbers{gap:4px}.pagination-number{font-size:12px;height:32px;width:32px}.pagination-btn{font-size:12px;padding:8px 10px}}.page-header-icon{align-items:center;background:#fff;border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:46px;justify-content:center;width:46px}.btn-idcard{align-items:center;background:linear-gradient(135deg,#0d5c2a,#1a7a3e);border:none;border-radius:9px;box-shadow:0 4px 14px #0d5c2a47;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:700;gap:7px;padding:9px 18px;transition:all .2s;white-space:nowrap}.btn-idcard:hover{box-shadow:0 6px 18px #0d5c2a66;transform:translateY(-1px)}.students-stats{grid-gap:12px;gap:12px;grid-template-columns:repeat(4,1fr)}.stat-card{border:1.5px solid #e8eef0;border-radius:11px;box-shadow:0 1px 6px #0000000f;gap:12px;padding:14px 16px}.stat-icon{border-radius:10px;height:42px;width:42px}.stat-total .stat-icon{background:#e8f4fd;color:#1a7ab8}.stat-active .stat-icon{background:#eaf6ed;color:#1a7a3e}.stat-inactive .stat-icon{background:#fdf2f2;color:#c0392b}.stat-filtered .stat-icon{background:#fef8e8;color:#b8850e}.stat-num{color:#1a2a3a;font-size:22px;font-weight:800;line-height:1}.stat-lbl{color:#7a8a94;font-size:11px;font-weight:600;margin-top:2px}.filter-row{flex-wrap:wrap;gap:10px;justify-content:space-between}.filter-right,.filter-row{align-items:center;display:flex}.filter-right{gap:8px}.btn-clear-filter{align-items:center;background:#fee;border:1px solid #fcc;border-radius:7px;color:#c0392b;display:inline-flex;font-family:inherit;font-size:12px;gap:5px;padding:6px 12px}.btn-clear-filter:hover{background:#fdd}.btn-refresh{align-items:center;background:#fff;border:1.5px solid #e0e8e2;border-radius:7px;color:#5a7a68;cursor:pointer;display:flex;height:34px;justify-content:center;transition:all .18s;width:34px}.btn-refresh:hover{border-color:#1a7a3e;color:#1a7a3e}.view-toggle{background:#f0f4f0;border-radius:7px;display:flex;padding:2px}.vt-btn{align-items:center;background:none;border:none;border-radius:5px;color:#7a9a82;cursor:pointer;display:flex;height:30px;justify-content:center;transition:all .16s;width:30px}.vt-btn.active{background:#fff;box-shadow:0 1px 4px #0000001a;color:#0d5c2a}.search-clear-btn{background:none;border:none;color:#aaa;cursor:pointer;display:flex;padding:3px}.search-clear-btn:hover{color:#666}.student-id-badge{background:#edf7f1;border:1px solid #c2deca;border-radius:6px;color:#0d5c2a;font-family:monospace;font-size:11px;font-weight:700;padding:2px 8px}.student-name-cell .student-email{color:#999;font-size:11px}.btn-idcard-sm{background:#edf7f1!important;border:1.5px solid #c2deca!important;color:#0d5c2a!important}.btn-idcard-sm:hover{background:#d4f0de!important}.students-card-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-bottom:24px}.student-grid-card{background:#fff;border:1.5px solid #e8eef0;border-radius:12px;box-shadow:0 1px 6px #0000000f;overflow:hidden;transition:box-shadow .2s,transform .2s}.student-grid-card:hover{box-shadow:0 6px 20px #0000001a;transform:translateY(-2px)}.student-grid-card.inactive-card{opacity:.75}.sgc-header{align-items:flex-start;display:flex;gap:10px;padding:14px 14px 8px}.sgc-photo{flex-shrink:0}.sgc-info{flex:1 1;min-width:0}.sgc-name{color:#1a2a3a;font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sgc-id{color:#7a9a82;font-family:monospace;font-size:10px;margin-bottom:5px}.sgc-details{border-top:1px solid #f0f4f0;padding:0 14px 8px}.sgc-row{border-bottom:1px dotted #f0f0f0;display:flex;font-size:12px;justify-content:space-between;padding:4px 0}.sgc-row span:first-child{color:#7a9a82;font-weight:600}.sgc-row span:last-child{color:#1a2a3a;font-weight:500}.sgc-actions{gap:5px;padding:8px 14px 12px}.empty-state,.sgc-actions{display:flex;justify-content:center}.empty-state{align-items:center;flex-direction:column;gap:14px}.empty-state-icon{color:#c0d0c8}.empty-state h3{color:#3a5a48;font-size:20px;margin:0}.empty-state p{color:#7a9a82;font-size:14px}.modal-actions{flex-wrap:wrap;margin-top:16px}@media (max-width:768px){.students-stats{grid-template-columns:repeat(2,1fr)}.header-actions{gap:6px}.btn-idcard span{display:none}.students-card-grid{grid-template-columns:1fr}}@media (max-width:480px){.students-stats{grid-template-columns:1fr 1fr}}.student-form-page{animation:fadeIn .3s ease;margin:0 auto;max-width:1200px;padding:24px}.form-header{margin-bottom:30px}.form-header h1{color:#1a202c;font-size:32px;font-weight:700;margin-bottom:8px}.form-header .subtitle{color:#718096;font-size:16px;margin-top:8px}.back-btn{border:2px solid #e2e8f0;border-radius:10px;color:#4a5568;display:inline-flex;font-weight:600;margin-bottom:20px;transition:all .3s ease}.back-btn:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;color:#667eea;transform:translateX(-5px)}.student-form{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:32px}.form-section{border-bottom:2px solid #f7fafc;margin-bottom:40px;padding-bottom:40px}.form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h3{align-items:center;color:#2d3748;display:flex;font-size:20px;font-weight:600;gap:8px;margin-bottom:24px}.form-section h3:before{background:#23a7ff;border-radius:2px;content:"";height:24px;width:4px}.image-upload-container{background:#f7fafc;border-radius:12px;gap:20px;padding:20px}.image-preview{background:#fff;border:4px solid #fff;box-shadow:0 4px 12px #0000001a}.placeholder{background:linear-gradient(135deg,#f7fafc,#edf2f7);color:#a0aec0;height:100%;justify-content:center;width:100%}.placeholder svg{margin-bottom:8px}.placeholder p{font-size:14px;font-weight:500}.upload-btn{box-shadow:0 4px 12px #667eea4d;font-size:14px;padding:12px 28px;transition:all .3s ease}.upload-btn:hover{box-shadow:0 6px 16px #667eea66}.upload-btn:active{transform:translateY(0)}.form-grid{grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.form-group label{color:#2d3748;gap:4px}.form-group label .required{color:#e53e3e;font-size:16px}.form-group input,.form-group select,.form-group textarea{background:#fff;color:#2d3748;padding:12px 16px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 0 0 4px #667eea1a}.form-group input:disabled,.form-group select:disabled{background:#f7fafc;color:#a0aec0;cursor:not-allowed}.form-group input::placeholder,.form-group textarea::placeholder{color:#a0aec0}.form-group textarea{line-height:1.6;min-height:100px}.form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%234a5568' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:40px}.form-actions{border-top:2px solid #f7fafc;gap:16px;margin-top:32px;padding-top:32px}.btn-primary,.btn-secondary{gap:8px;padding:12px 28px;transition:all .3s ease}.btn-primary{box-shadow:0 4px 12px #667eea4d}.btn-primary:hover:not(:disabled){box-shadow:0 6px 16px #667eea66}.btn-primary:disabled{transform:none}.btn-secondary{border:2px solid #e2e8f0;color:#4a5568}.btn-secondary:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0}.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.loading-container .spinner{animation:spin 1s linear infinite;color:#667eea}.loading-container p{color:#718096}@media (max-width:1024px){.student-form-page{padding:20px}.form-grid{gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){.student-form-page{padding:16px}.form-header h1{font-size:24px}.form-header .subtitle{font-size:14px}.student-form{padding:24px 20px}.form-section{margin-bottom:32px;padding-bottom:32px}.form-section h3{font-size:18px}.form-grid{gap:20px;grid-template-columns:1fr}.image-preview{height:120px;width:120px}.form-actions{flex-direction:column-reverse;gap:12px}.btn-primary,.btn-secondary{justify-content:center;padding:14px 24px;width:100%}.back-btn{font-size:14px;padding:10px 16px}}@media (max-width:480px){.student-form-page{padding:12px}.student-form{border-radius:12px;padding:20px 16px}.form-header h1{font-size:22px}.form-section h3{font-size:16px}.form-group input,.form-group select,.form-group textarea{font-size:14px;padding:10px 14px}.upload-btn{font-size:13px;padding:10px 24px}.btn-primary,.btn-secondary{font-size:14px;padding:12px 20px}}.teachers-page{padding:20px}.teachers-stats{grid-gap:20px;gap:20px;margin-bottom:30px}.teachers-grid{grid-gap:25px;gap:25px}.teacher-card{border-radius:15px;box-shadow:0 2px 10px #0000000d;transition:transform .3s,box-shadow .3s}.teacher-card:hover{box-shadow:0 5px 20px #0000001a;transform:translateY(-5px)}.teacher-card-header{padding:25px 25px 60px}.teacher-avatar{border:5px solid #fff;box-shadow:0 4px 15px #0003}.teacher-card-header .status-badge{position:absolute;right:15px;top:15px}.teacher-card-body{padding:15px 25px 25px}.teacher-card-body h3{color:#333;font-size:20px;margin:0 0 5px;text-align:center}.teacher-id{color:#999;font-size:13px;margin-bottom:5px;text-align:center}.teacher-qualification{color:#667eea;font-size:14px;font-weight:600;margin-bottom:15px;text-align:center}.teacher-subjects{border-bottom:1px solid #f5f7fa;gap:8px;justify-content:center;margin-bottom:15px;padding-bottom:15px}.subject-tag{background:#f5f7fa;color:#667eea;font-size:12px;font-weight:600;padding:5px 12px}.subject-tag.more{background:#667eea;color:#fff}.teacher-info{gap:10px}.info-item{justify-content:space-between}.info-item .label{color:#666;font-weight:600}.info-item .value{color:#333}.teacher-card-actions{background:#f5f7fa;border-top:1px solid #e1e8ed;gap:10px;padding:15px 25px}@media (max-width:768px){.teachers-grid{grid-template-columns:1fr}}.teachers-page{margin:0 auto;max-width:1400px;padding:2rem}.page-header{gap:1rem}.header-left p{margin:.25rem 0 0}.btn-primary{font-size:1rem;font-weight:500}.filters-section{gap:1rem;margin-bottom:2rem}.search-form{gap:.5rem}.search-input-group{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:.5rem;padding:.75rem 1rem}.search-input-group svg{color:#94a3b8}.search-input-group input{font-size:.95rem}.btn-search{background:#3b82f6;border-radius:8px;font-weight:500;padding:.75rem 1.5rem;transition:all .3s}.btn-search:hover{background:#2563eb}.filter-group{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem 1rem}.filter-group svg{color:#64748b}.filter-group select{border:none;padding:.25rem}.teachers-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-item h3{font-size:2rem}.stat-item p{color:#64748b;font-size:.95rem}.teachers-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.teacher-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;transition:all .3s}.teacher-card:hover{box-shadow:0 8px 24px #00000026;transform:translateY(-4px)}.teacher-card-header{background:#23a7ff;padding:2rem 1.5rem 1rem;position:relative;text-align:center}.teacher-avatar{border:4px solid #fff;border-radius:50%;box-shadow:0 4px 12px #0000001a;height:100px;object-fit:cover;width:100px}.status-badge{position:absolute;right:1rem;top:1rem}.status-badge.active{background:#10b981;color:#fff}.status-badge.inactive{background:#ef4444;color:#fff}.teacher-card-body{padding:1.5rem}.teacher-card-body h3{color:#1e293b;font-size:1.25rem;margin:0 0 .5rem}.teacher-id{color:#64748b;font-size:.85rem;margin:0 0 .5rem}.teacher-qualification{color:#475569;font-size:.9rem;margin:0 0 1rem}.teacher-subjects{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.subject-tag{background:#dbeafe;border-radius:20px;color:#1e40af;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.subject-tag.more{background:#e0e7ff;color:#4338ca}.teacher-info{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.info-item{color:#64748b;font-size:.85rem;gap:.5rem}.info-item svg{flex-shrink:0}.teacher-footer{align-items:center;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;padding-top:1rem}.experience-badge,.salary-badge{background:#f1f5f9;border-radius:6px;color:#475569;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.teacher-card-actions{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:.5rem;justify-content:center;padding:1rem}.btn-icon{background:#fff;padding:.5rem}.btn-view:hover{background:#dbeafe}.btn-edit:hover{background:#fef3c7}.no-data{border-radius:12px;gap:1rem}.no-data svg{color:#cbd5e1}.no-data p{color:#64748b;font-size:1.1rem}.modal-header{border-bottom:1px solid #e2e8f0}.close-btn{height:30px;padding:0;width:30px}.close-btn:hover{color:#ef4444}.teacher-detail-card{display:flex;flex-direction:column;gap:1.5rem}.detail-photo{align-self:center;border:4px solid #3b82f6}.detail-info{display:flex;flex-direction:column;gap:1rem}.info-row{background:#f8fafc;border-radius:8px;padding:.75rem}.info-row label{color:#475569}.info-row span{color:#1e293b;text-align:right}.status-active{color:#10b981;font-weight:600}.status-inactive{color:#ef4444;font-weight:600}.selected-subjects{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.selected-subjects .subject-tag{align-items:center;background:#3b82f6;color:#fff;display:flex;gap:.5rem;padding:.5rem .75rem}.remove-subject{background:none;border:none;color:#fff;cursor:pointer;font-size:1.25rem;font-weight:700;line-height:1;padding:0}.remove-subject:hover{color:#fee2e2}@media (max-width:768px){.teachers-page{padding:1rem}.page-header{align-items:flex-start}.filters-section,.page-header{flex-direction:column}.search-form{min-width:100%}.teachers-grid,.teachers-stats{grid-template-columns:1fr}}.pagination{align-items:center;background:#fff;border-radius:12px;display:flex;gap:1rem;justify-content:center;margin-top:2rem;padding:1.5rem}.pagination-btn{border:1px solid #e2e8f0;border-radius:8px;color:#475569;font-weight:500;gap:.5rem;padding:.75rem 1.25rem}.pagination-btn:hover:not(:disabled){background:#f8fafc;border-color:#3b82f6;color:#3b82f6}.pagination-numbers{display:flex;gap:.5rem}.pagination-number{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;font-weight:500;height:40px;justify-content:center;transition:all .3s;width:40px}.pagination-number:hover{background:#f8fafc;border-color:#3b82f6;color:#3b82f6}.pagination-number.active{background:#3b82f6;border-color:#3b82f6;color:#fff}@media (max-width:768px){.pagination{flex-wrap:wrap}.pagination-numbers{justify-content:center;order:-1;width:100%}}.teacher-form-page{margin:0 auto;max-width:1200px;padding:2rem}.form-header{flex-direction:column;gap:1rem;margin-bottom:2rem}.back-btn{background:#fff;border:1px solid #e2e8f0;color:#64748b;font-size:.95rem;padding:.5rem 1rem;width:-webkit-fit-content;width:fit-content}.back-btn:hover{background:#f8fafc;color:#3b82f6}.teacher-form{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.form-section{border-bottom:1px solid #e2e8f0;padding-bottom:2rem}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h3{color:#1e293b;font-size:1.25rem;margin-bottom:1.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #e2e8f0}.form-group input:disabled{background:#f1f5f9}.image-upload-container{align-items:center;display:flex;flex-direction:column;gap:1rem}.image-preview{align-items:center;background:#f8fafc;border:4px solid #e2e8f0;border-radius:50%;display:flex;height:150px;justify-content:center;width:150px}.image-preview img{height:100%;object-fit:cover}.placeholder{align-items:center;color:#94a3b8;display:flex;flex-direction:column;gap:.5rem}.upload-btn{background:#3b82f6;border:none;border-radius:8px;font-weight:500;padding:.75rem 1.5rem;transition:all .3s}.upload-btn:hover{background:#2563eb}.multi-select-grid{grid-gap:.75rem;background:#f8fafc;border-radius:8px;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));padding:1rem}.checkbox-label{border-radius:6px;gap:.5rem;transition:all .3s}.checkbox-label:hover{background:#fff}.checkbox-label input[type=checkbox]{accent-color:#3b82f6;height:18px;width:18px}.checkbox-label span{font-size:.9rem}.form-actions{border-top:1px solid #e2e8f0}.btn-primary,.btn-secondary{display:flex;font-weight:500}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #3b82f64d}.btn-primary:disabled{background:#94a3b8}.btn-secondary{border:1px solid #e2e8f0;color:#64748b}.btn-secondary:hover{background:#f8fafc}@media (max-width:768px){.teacher-form-page{padding:1rem}.form-grid,.multi-select-grid{grid-template-columns:1fr}}.classes-page{padding:2rem}.header-left h1{font-size:2rem}.btn-primary{gap:.5rem;padding:.75rem 1.5rem}.classes-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-item{border-radius:12px}.stat-item h3{color:#3b82f6;font-size:2.5rem;margin:0 0 .5rem}.classes-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.class-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;transition:all .3s}.class-card:hover{box-shadow:0 8px 20px #00000026;transform:translateY(-4px)}.class-card-header{align-items:center;background:#23a7ff;color:#fff;display:flex;justify-content:space-between;padding:1.5rem}.class-name h3{font-size:1.5rem;margin:0 0 .5rem}.section-badge{background:#ffffff4d;border-radius:20px;font-size:.9rem;padding:.25rem .75rem}.class-icon{opacity:.8}.class-card-body{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.class-info-item{align-items:center;display:flex;gap:1rem}.class-info-item svg{color:#3b82f6;flex-shrink:0}.info-label{color:#6b7280;font-size:.85rem;margin:0 0 .25rem}.info-value{color:#1f2937;font-weight:600;margin:0}.class-card-actions{border-top:1px solid #e5e7eb;display:flex;gap:.5rem;justify-content:flex-end;padding:1rem 1.5rem}.btn-view{color:#1e40af}.btn-view:hover{background:#bfdbfe;transform:scale(1.1)}.btn-edit{color:#92400e}.btn-edit:hover{background:#fde68a;transform:scale(1.1)}.btn-delete:hover{background:#fecaca;transform:scale(1.1)}.no-data{color:#6b7280;font-size:1.1rem;padding:3rem}.modal-header{border-bottom:1px solid #e5e7eb}.close-btn{font-size:2rem;line-height:1}.class-details{display:flex;flex-direction:column;gap:2rem}.detail-section h3{border-bottom:2px solid #e5e7eb;color:#1f2937;font-size:1.25rem;margin:0 0 1rem;padding-bottom:.5rem}.info-row{border-bottom:1px solid #f3f4f6;padding:.75rem 0}.info-row label{color:#6b7280}.info-row span{color:#1f2937}.subject-item{background:#f9fafb;padding:1rem}@media (max-width:768px){.classes-page{padding:1rem}.classes-grid{grid-template-columns:1fr}.page-header{align-items:flex-start;flex-direction:column;gap:1rem}.btn-primary{justify-content:center;width:100%}}.add-class-page{margin:0 auto;max-width:1200px;padding:2rem}.page-header{gap:1.5rem}.back-btn{background:#f3f4f6;font-size:1rem;gap:.5rem;padding:.75rem 1.5rem}.back-btn:hover{background:#e5e7eb;transform:translateX(-4px)}.header-title{align-items:center;display:flex;gap:1rem}.header-title svg{color:#3b82f6}.header-title h1{color:#1f2937;font-size:2rem;margin:0}.header-title p{color:#6b7280;margin:0}.form-container{border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.form-section{margin-bottom:2rem}.form-section h2{border-bottom:2px solid #e5e7eb;color:#1f2937;font-size:1.5rem;margin-bottom:1.5rem;padding-bottom:.75rem}.form-grid{grid-gap:1.5rem;gap:1.5rem}.form-group label{margin-bottom:.5rem}.required{color:#ef4444}.form-group input,.form-group select{border-radius:8px;font-size:1rem;padding:.75rem 1rem;transition:all .3s}.add-subject-form{background:#f9fafb;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.subject-inputs{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:1fr 1fr auto}.subject-inputs input,.subject-inputs select{border:1px solid #d1d5db;border-radius:8px;font-size:1rem;padding:.75rem 1rem}.btn-add-subject{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s}.btn-add-subject:hover{background:#2563eb;transform:translateY(-2px)}.subjects-list{display:flex;flex-direction:column;gap:.75rem}.subject-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;padding:1rem 1.5rem;transition:all .3s}.subject-item:hover{box-shadow:0 2px 8px #0000001a}.subject-info{display:flex;flex-direction:column;gap:.25rem}.subject-teacher{color:#6b7280;font-size:.9rem}.btn-remove{align-items:center;background:#fee2e2;border:none;border-radius:6px;color:#dc2626;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .3s;width:36px}.btn-remove:hover{background:#fecaca;transform:scale(1.1)}.form-actions{border-top:2px solid #e5e7eb;margin-top:2rem;padding-top:2rem}.btn-primary,.btn-secondary{font-size:1rem;padding:.75rem 2rem}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #3b82f666}.btn-secondary:hover:not(:disabled){background:#d1d5db}@media (max-width:768px){.add-class-page{padding:1rem}.form-grid,.subject-inputs{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}.attendance-page{margin:0 auto;max-width:1400px;padding:2rem}.attendance-filters{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.filter-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;padding:1.25rem}.filter-card svg{color:#3b82f6;flex-shrink:0}.filter-card>div{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.filter-card label{color:#374151;font-size:.875rem;font-weight:600}.filter-card input,.filter-card select{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;color:#1f2937;font-size:.875rem;padding:.625rem;transition:all .2s;width:100%}.filter-card input:focus,.filter-card select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.filter-card select:disabled{background:#f3f4f6;cursor:not-allowed}.attendance-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-item{align-items:center;border-left:4px solid;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;padding:1.5rem}.stat-item.total{border-left-color:#3b82f6}.stat-item.present{border-left-color:#10b981}.stat-item.absent{border-left-color:#ef4444}.stat-item.late{border-left-color:#f59e0b}.stat-item.leave{border-left-color:#8b5cf6}.stat-item svg{flex-shrink:0}.stat-item.total svg{color:#3b82f6}.stat-item.present svg{color:#10b981}.stat-item.absent svg{color:#ef4444}.stat-item.late svg{color:#f59e0b}.stat-item.leave svg{color:#8b5cf6}.stat-item h3{color:#1f2937;font-size:1.875rem;margin:0}.stat-item p{color:#6b7280;font-size:.875rem;margin:.25rem 0 0}.info-banner{align-items:center;background:#dbeafe;border:1px solid #3b82f6;border-radius:.5rem;color:#1e40af;display:flex;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.info-banner svg{flex-shrink:0}.quick-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.attendance-form{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.attendance-table-container{max-height:600px;overflow-x:auto;overflow-y:auto}.attendance-table{border-collapse:collapse;width:100%}.attendance-table thead{background:#f9fafb;position:-webkit-sticky;position:sticky;top:0;z-index:10}.attendance-table th{border-bottom:2px solid #e5e7eb;color:#374151;font-size:.875rem;font-weight:600;padding:1rem;text-align:left;white-space:nowrap}.attendance-table td{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:.875rem;padding:1rem}.attendance-table tbody tr:hover{background:#f9fafb}.attendance-options{display:flex;flex-wrap:wrap;gap:.5rem}.attendance-option{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:.375rem;cursor:pointer;display:flex;font-size:.875rem;gap:.375rem;padding:.5rem .875rem;transition:all .2s}.attendance-option:hover{background:#f9fafb;border-color:#d1d5db}.attendance-option input{display:none}.attendance-option svg{flex-shrink:0}.attendance-option.present{color:#059669}.attendance-option.present.selected{background:#d1fae5;border-color:#10b981;color:#047857;font-weight:600}.attendance-option.absent{color:#dc2626}.attendance-option.absent.selected{background:#fee2e2;border-color:#ef4444;color:#b91c1c;font-weight:600}.attendance-option.late{color:#d97706}.attendance-option.late.selected{background:#fef3c7;border-color:#f59e0b;color:#b45309;font-weight:600}.attendance-option.leave{color:#7c3aed}.attendance-option.leave.selected{background:#ede9fe;border-color:#8b5cf6;color:#6d28d9;font-weight:600}.form-actions{background:#f9fafb;border-top:1px solid #e5e7eb;gap:1rem;padding:1.5rem}@media (max-width:768px){.attendance-page{padding:1rem}.page-header{align-items:flex-start;flex-direction:column;gap:1rem}.attendance-filters{grid-template-columns:1fr}.attendance-stats{grid-template-columns:repeat(2,1fr)}.quick-actions{flex-direction:column}.quick-actions button{width:100%}.attendance-table-container{max-height:500px}.attendance-options{flex-direction:column;width:100%}.attendance-option{justify-content:center;width:100%}.form-actions{flex-direction:column}.form-actions button{width:100%}}.attendance-report-page{margin:0 auto;max-width:1400px;padding:2rem}.page-header{padding-bottom:1rem}.header-left{gap:1rem}.page-header h1{font-size:1.875rem}.page-header p{font-size:.875rem;margin:.25rem 0 0}.report-filters{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:2rem}.filters-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.filter-group label{color:#374151}.filter-group input,.filter-group select{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;color:#1f2937;font-size:.875rem;padding:.75rem;transition:all .2s;width:100%}.filter-group input:focus,.filter-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.filter-group select:disabled{background:#f3f4f6;cursor:not-allowed}.filter-actions{display:flex;flex-wrap:wrap;gap:1rem}.report-info{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.info-card{align-items:center;background:#fff;border-left:4px solid #3b82f6;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;padding:1.5rem}.info-card svg{color:#3b82f6;flex-shrink:0}.info-card h3{color:#1f2937;font-size:1.25rem;margin:0}.info-card p{color:#6b7280;font-size:.875rem;margin:.25rem 0 0}.report-table-container{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.report-table{border-collapse:collapse;width:100%}.report-table thead{background:#f9fafb}.report-table th{border-bottom:2px solid #e5e7eb;color:#374151;font-size:.875rem;font-weight:600;padding:1rem;text-align:left;white-space:nowrap}.report-table td{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:.875rem;padding:1rem}.report-table tbody tr:hover{background:#f9fafb}.student-photo-small{border:2px solid #e5e7eb;border-radius:50%;height:40px;object-fit:cover;width:40px}.student-name{color:#1f2937;font-weight:500}.present-cell{color:#059669;font-weight:600}.absent-cell{color:#dc2626;font-weight:600}.late-cell{color:#d97706;font-weight:600}.leave-cell{color:#7c3aed;font-weight:600}.percentage-badge{border-radius:9999px;display:inline-block;font-size:.875rem;font-weight:600;padding:.375rem .75rem}.percentage-badge.good{background:#d1fae5;color:#047857}.percentage-badge.medium{background:#fef3c7;color:#b45309}.percentage-badge.poor{background:#fee2e2;color:#b91c1c}.btn-primary,.btn-secondary{align-items:center;border-radius:.375rem;display:inline-flex;font-size:.875rem;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s;white-space:nowrap}.btn-primary:hover:not(:disabled){box-shadow:0 4px 6px #3b82f64d}.btn-secondary{background:#fff;border:1px solid #d1d5db}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.loading-container{border-radius:.5rem;box-shadow:0 1px 3px #0000001a;gap:1rem;padding:4rem 2rem}.loading-container p{font-size:.875rem}.no-data-message{align-items:center;background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem 2rem}.no-data-message svg{color:#d1d5db}.no-data-message h3{color:#1f2937;font-size:1.25rem;margin:0}.no-data-message p{color:#6b7280;font-size:.875rem;margin:0}@media (max-width:768px){.attendance-report-page{padding:1rem}.report-filters{padding:1.5rem}.filters-grid{grid-template-columns:1fr}.filter-actions{flex-direction:column}.filter-actions button{width:100%}.report-info{grid-template-columns:1fr}.report-table-container{overflow-x:auto}.report-table{min-width:800px}}.payments-page{padding:20px}.page-header{gap:15px}.header-left svg{color:#667eea}.header-actions{align-items:center;flex-wrap:wrap}.btn-delete-all{align-items:center;background:linear-gradient(135deg,#f93e3e,#e74c3c);border:none;border-radius:10px;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s}.btn-delete-all:hover{box-shadow:0 5px 15px #f93e3e4d}.btn-primary:hover{box-shadow:0 5px 15px #667eea4d}.payment-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{border-left:4px solid;border-radius:15px;box-shadow:0 2px 10px #0000000d}.stat-card:hover{box-shadow:0 5px 20px #0000001a;transform:translateY(-3px)}.stat-card.total{border-left-color:#667eea}.stat-card.paid{border-left-color:#43e97b}.stat-card.pending{border-left-color:#ffa502}.stat-card.total .stat-icon{background:#667eea1a;color:#667eea}.stat-card.paid .stat-icon{background:#43e97b1a;color:#43e97b}.stat-card.pending .stat-icon{background:#ffa5021a;color:#ffa502}.stat-info h3{color:#333;font-size:28px;margin:0 0 5px}.stat-info p{color:#666;font-size:14px;margin:0}.filter-container{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d;margin-bottom:30px;padding:20px}.filter-header{align-items:center;color:#333;display:flex;gap:10px;margin-bottom:15px}.filter-header svg{color:#667eea}.filter-header h3{font-size:18px;font-weight:600;margin:0}.filter-buttons{flex-wrap:wrap;gap:12px}.filter-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:10px;color:#666;display:flex;font-weight:600;gap:8px;padding:12px 20px;position:relative}.filter-btn:hover{box-shadow:0 3px 10px #0000001a;transform:translateY(-2px)}.filter-btn.active{background:#23a7ff;border-color:#667eea;color:#fff}.filter-btn.pending:not(.active){border-color:#ffa502;color:#ffa502}.filter-btn.pending.active{background:linear-gradient(135deg,#ffa502,#ff6348);border-color:#ffa502}.filter-btn.paid:not(.active){border-color:#43e97b;color:#43e97b}.filter-btn.paid.active{background:linear-gradient(135deg,#43e97b,#38f9d7);border-color:#43e97b}.filter-btn.rejected:not(.active){border-color:#f93e3e;color:#f93e3e}.filter-btn.rejected.active{background:linear-gradient(135deg,#f93e3e,#e74c3c);border-color:#f93e3e}.filter-btn.overdue:not(.active){border-color:#e74c3c;color:#e74c3c}.filter-btn.overdue.active{background:linear-gradient(135deg,#e74c3c,#c0392b);border-color:#e74c3c}.filter-count{background:#0000001a;border-radius:20px;font-size:12px;font-weight:700;min-width:25px;padding:2px 10px;text-align:center}.filter-btn.active .filter-count{background:#ffffff4d}.payments-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.payment-card{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d;overflow:hidden;transition:transform .3s,box-shadow .3s}.payment-card:hover{box-shadow:0 5px 20px #0000001a;transform:translateY(-5px)}.payment-header{align-items:flex-start;background:#23a7ff;display:flex;justify-content:space-between;padding:20px}.payment-info h3{color:#fff;font-size:32px;margin:0 0 5px}.payment-purpose{color:#ffffffe6;font-size:14px;margin:0;text-transform:capitalize}.status-badge{padding:6px 16px}.status-badge.success{background:#43e97b;color:#fff}.status-badge.warning{background:#ffa502;color:#fff}.status-badge.danger{background:#f93e3e;color:#fff}.status-badge.error{background:#e74c3c;color:#fff}.payment-body{padding:20px}.info-row{border-bottom:1px solid #f5f7fa;justify-content:space-between;padding:10px 0}.info-row .label{color:#666;font-size:14px}.info-row .value{color:#333;font-size:14px;font-weight:600;text-align:right}.payment-actions{background:#f5f7fa;display:flex;flex-wrap:wrap;gap:10px;padding:15px 20px}.btn-pay{align-items:center;background:#23a7ff;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-weight:600;gap:8px;justify-content:center;padding:10px 20px;transition:all .3s}.btn-pay:hover{box-shadow:0 5px 15px #667eea4d;transform:translateY(-2px)}.btn-view{background:#3498db;border-radius:8px;flex:1 1;justify-content:center}.btn-view:hover{box-shadow:0 5px 15px #3498db4d}.btn-approve{align-items:center;background:#43e97b;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-weight:600;gap:8px;justify-content:center;padding:10px 20px;transition:all .3s}.btn-approve:hover{box-shadow:0 5px 15px #43e97b4d;transform:translateY(-2px)}.btn-reject{align-items:center;background:#f93e3e;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-weight:600;gap:8px;justify-content:center;padding:10px 20px;transition:all .3s}.btn-reject:hover{box-shadow:0 5px 15px #f93e3e4d;transform:translateY(-2px)}.btn-delete{align-items:center;background:#e74c3c;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-weight:600;gap:8px;justify-content:center;padding:10px 20px;transition:all .3s}.btn-delete:hover{box-shadow:0 5px 15px #e74c3c4d;transform:translateY(-2px)}.payment-details{background:#f5f7fa;border-radius:10px;margin-bottom:20px;padding:20px}.payment-details h3{color:#333;margin:0 0 15px}.detail-row{justify-content:space-between;padding:8px 0}.detail-row strong{color:#667eea;font-size:18px}.modal-overlay{padding:20px}.modal-content{border-radius:15px;box-shadow:0 10px 40px #0003}.modal-header{border-bottom:1px solid #e0e0e0;padding:20px}.modal-header h2{font-size:22px}.close-btn{font-size:28px;height:35px;transition:all .3s;width:35px}.close-btn:hover{color:#333}.modal-body{padding:20px}.form-group{margin-bottom:20px}.form-group label{display:block}.form-group input,.form-group select,.form-group textarea{box-sizing:border-box;width:100%}.form-group small{color:#999;display:block;font-size:12px;margin-top:5px}.modal-actions{border-top:1px solid #e0e0e0;padding-top:20px}.btn-secondary{background:#e0e0e0;padding:12px 24px;transition:all .3s}.btn-secondary:hover{background:#d0d0d0}.confirm-modal{max-width:500px}.confirm-modal .modal-header{align-items:center;color:#f93e3e;display:flex;gap:10px}.confirm-modal .modal-body{padding:20px;text-align:center}.confirm-modal .modal-body p{color:#333;font-size:16px;margin:10px 0}.warning-text{color:#f93e3e!important;font-size:14px!important;font-weight:600}.btn-danger{align-items:center;background:linear-gradient(135deg,#f93e3e,#e74c3c);display:flex;gap:8px;justify-content:center;padding:12px 24px;transition:all .3s}.btn-danger:hover{box-shadow:0 5px 15px #f93e3e4d}.loading-container{padding:60px 20px}.spinner{border:4px solid #f3f3f3}.no-data{box-shadow:0 2px 10px #0000000d;font-size:18px}@media (max-width:768px){.payments-grid{grid-template-columns:1fr}.payment-actions{flex-direction:column}.btn-approve,.btn-delete,.btn-pay,.btn-reject,.btn-view{width:100%}.header-actions{flex-direction:column;width:100%}.btn-delete-all,.btn-primary{width:100%}.filter-buttons{flex-direction:column}.filter-btn{justify-content:space-between;width:100%}.page-header{align-items:flex-start;flex-direction:column}.payment-stats{grid-template-columns:1fr}}@media (max-width:480px){.payments-page{padding:10px}.header-left h1{font-size:22px}.payment-info h3{font-size:24px}.stat-info h3{font-size:22px}}.mk-page{max-width:100%;padding:20px 24px}.mk-header{margin-bottom:20px}.mk-header h1{color:#1e293b;font-size:1.7rem;font-weight:800;margin:0 0 4px}.mk-header p{color:#64748b;font-size:.875rem;margin:0}.mk-filters{align-items:flex-end;background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px;padding:16px 20px}.mk-fg{display:flex;flex-direction:column;gap:5px;min-width:165px}.mk-fg label{color:#64748b;font-size:.72rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.mk-fg select{background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;color:#1e293b;cursor:pointer;font-size:.875rem;padding:9px 12px;transition:border-color .2s}.mk-fg select:focus{border-color:#6366f1;outline:none}.mk-class-badge{align-items:flex-end;display:flex}.badge-inner{background:#ede9fe;border-radius:8px;color:#5b21b6;font-size:.875rem;font-weight:700;padding:8px 16px}.mk-tabs{border-bottom:2px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:2px;margin-bottom:20px}.mk-tabs button,.tab-ext{background:#0000;border:none;border-bottom:3px solid #0000;border-radius:6px 6px 0 0;color:#64748b;cursor:pointer;display:inline-block;font-size:.875rem;font-weight:500;margin-bottom:-2px;padding:10px 18px;text-decoration:none;transition:all .2s}.mk-tabs button:hover,.tab-ext:hover{background:#f8fafc}.mk-tabs button.active{background:#f5f3ff;border-bottom-color:#6366f1;color:#6366f1;font-weight:700}.tab-ext{color:#0284c7}.tab-ext:hover{background:#f0f9ff}.tab-ext.green{color:#16a34a}.tab-ext.green:hover{background:#f0fdf4}.mk-empty{background:#fff;border:1px solid #e2e8f0;border-radius:12px;color:#94a3b8;padding:60px 20px;text-align:center}.mk-empty span{display:block;font-size:3rem;margin-bottom:12px}.mk-empty p{font-size:1rem;margin-bottom:16px}.btn-retry{background:#f1f5f9;border:1.5px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-weight:600;padding:8px 20px}.btn-retry:hover{background:#e2e8f0}.mk-loading{align-items:center;color:#6366f1;display:flex;font-size:1rem;font-weight:500;gap:12px;justify-content:center;padding:60px}.spin{animation:spin .7s linear infinite;border:3px solid #e0e7ff;border-radius:50%;border-top-color:#6366f1;height:22px;width:22px}.mk-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.mk-toolbar{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:14px 20px}.mk-toolbar-info{color:#1e293b;font-size:.9rem;font-weight:600}.mk-count{color:#64748b;font-weight:400}.mk-toolbar-btns{display:flex;flex-wrap:wrap;gap:8px}.btn-save{background:#6366f1;border-radius:8px;display:inline-flex;font-size:.85rem;gap:6px;padding:9px 18px;transition:background .2s}.btn-save:hover{background:#4f46e5}.btn-save:disabled{background:#a5b4fc}.btn-publish{background:#16a34a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:700;padding:9px 18px;transition:background .2s}.btn-publish:hover{background:#15803d}.btn-unp{background:#dc2626;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.82rem;font-weight:600;padding:8px 14px}.btn-unp:hover{background:#b91c1c}.btn-print{background:#0284c7;border:none;border-radius:7px;color:#fff;cursor:pointer;display:inline-block;font-size:.82rem;font-weight:600;padding:8px 14px;text-decoration:none}.btn-print:hover{background:#0369a1}.btn-spin{animation:spin .7s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}.mk-table-wrap{max-height:65vh;overflow-x:auto;overflow-y:auto}.mk-table{border-collapse:collapse;font-size:.8rem;min-width:600px;width:100%}.mk-table th{background:#f1f5f9;color:#374151;font-weight:700;padding:9px 8px;position:-webkit-sticky;position:sticky;top:0;white-space:nowrap;z-index:3}.mk-table td,.mk-table th{border:1px solid #e2e8f0;text-align:center}.mk-table td{padding:5px 6px;vertical-align:middle}.mk-table tbody tr:nth-child(2n){background:#fafafa}.mk-table tbody tr:hover{background:#f0f4ff!important}.col-roll{width:46px}.col-name{min-width:140px;text-align:left!important}.col-subj{background:#ede9fe!important;color:#5b21b6!important;min-width:120px}.col-subj small{color:#7c3aed;font-size:.7rem}.col-inp{width:70px}.col-abs,.col-inp{font-size:.72rem!important}.col-abs{width:38px}.col-sum{background:#f0fdf4!important;color:#15803d!important;min-width:55px}.td-roll{color:#4f46e5;font-weight:700}.td-name{padding-left:8px!important;text-align:left}.td-inp{padding:3px 4px!important}.td-pct,.td-sum{font-weight:700}.td-pct{color:#059669}.td-b,.td-grade{font-weight:700}.td-pos{color:#f59e0b;font-weight:800}.td-ab{color:#dc2626}.s-pic{border-radius:50%;flex-shrink:0;height:24px;margin-right:6px;object-fit:cover;vertical-align:middle;width:24px}.minput{background:#fafafa;border:1.5px solid #cbd5e1;border-radius:5px;font-size:.8rem;padding:5px 4px;text-align:center;width:62px}.minput:focus{background:#fff;border-color:#6366f1;outline:none}.minput.absent{background:#fff1f2;border-color:#fda4af;color:#be123c}.minput::-webkit-inner-spin-button{-webkit-appearance:none}.ab-chk{accent-color:#dc2626;cursor:pointer;height:16px;width:16px}.mk-footer{align-items:center;border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:10px;padding:14px 20px}.mk-hint{color:#94a3b8;font-size:.78rem}.res-table{min-width:900px}.row-fail{background:#fff5f5!important}.ab-tag{background:#fee2e2;border-radius:4px;color:#dc2626;font-size:.7rem;font-weight:700;padding:2px 7px}.sub-g{font-size:.68rem}.res-chip{border-radius:20px;font-size:.72rem;font-weight:700;padding:3px 10px;white-space:nowrap}.res-chip.pass{background:#dcfce7;color:#16a34a}.res-chip.fail{background:#fee2e2;color:#dc2626}.res-chip.not-published{background:#f1f5f9;color:#64748b}.pub-yes{color:#16a34a}.pub-no,.pub-yes{font-size:.72rem;font-weight:600}.pub-no{color:#f59e0b}.stats-sec{padding:20px}.stats-sec h2{color:#1e293b;font-size:1rem;font-weight:700;margin:0 0 20px}.s-grid{grid-gap:12px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.s-grid,.s-row2{display:grid;gap:12px;margin-bottom:12px}.s-row2{grid-gap:12px;grid-template-columns:1fr 1fr}.s-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:16px 14px;text-align:center}.s-card.wide{text-align:left}.s-card.full-w{grid-column:1/-1}.s-val{font-size:1.9rem;font-weight:800;line-height:1}.s-lbl{color:#64748b;font-size:.72rem;font-weight:600;margin-top:4px;text-transform:uppercase}.s-detail{color:#374151;font-size:.88rem;margin-top:6px}.g-bars{flex-direction:column;margin-top:14px}.g-bar-row,.g-bars{display:flex;gap:10px}.g-bar-row{align-items:center}.g-lbl{font-size:.82rem;font-weight:800;text-align:right;width:26px}.g-bg{background:#f1f5f9;flex:1 1;height:20px;overflow:hidden}.g-bg,.g-fill{border-radius:10px}.g-fill{height:100%;min-width:4px;transition:width .4s}.g-cnt{color:#475569;font-size:.75rem;font-weight:600;min-width:70px;text-align:right}@media (max-width:768px){.mk-page{padding:12px}.mk-filters{flex-direction:column}.s-grid{grid-template-columns:repeat(2,1fr)}.s-row2{grid-template-columns:1fr}}.notifications-page{padding:20px}.notification-icon-wrapper{position:relative}.notification-count{background:#f93e3e;border-radius:50%;font-size:12px;font-weight:700;height:24px;justify-content:center;position:absolute;right:-5px;top:-5px;width:24px}.btn-mark-all,.notification-count{align-items:center;color:#fff;display:flex}.btn-mark-all{background:#667eea;border:none;border-radius:10px;cursor:pointer;font-weight:600;gap:8px;padding:12px 24px;transition:opacity .3s}.btn-mark-all:hover{opacity:.9}.notifications-container{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d;overflow:hidden}.no-notifications{color:#999;padding:80px 20px;text-align:center}.no-notifications svg{color:#ccc;margin-bottom:20px}.no-notifications h3{color:#666;margin:0 0 10px}.no-notifications p{margin:0}.notifications-list{display:flex;flex-direction:column}.notification-item{align-items:flex-start;border-bottom:1px solid #e1e8ed;cursor:pointer;display:flex;gap:15px;padding:20px;position:relative;transition:background .3s}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:#f5f7fa}.notification-item.unread{background:#f0f4ff}.notification-item.unread:hover{background:#e8eeff}.notification-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:50px;justify-content:center;width:50px}.notification-item.payment .notification-icon{background:#667eea1a;color:#667eea}.notification-item.marks .notification-icon{background:#43e97b1a;color:#43e97b}.notification-item.attendance .notification-icon{background:#ffa5021a;color:#ffa502}.notification-item.notice .notification-icon{background:#3498db1a;color:#3498db}.notification-item.general .notification-icon{background:#95a5a61a;color:#95a5a6}.notification-content{flex:1 1;min-width:0}.notification-header{align-items:center;display:flex;gap:10px;margin-bottom:8px}.notification-header h4{color:#333;font-size:16px;font-weight:600;margin:0}.unread-dot{background:#667eea;border-radius:50%;flex-shrink:0;height:8px;width:8px}.notification-message{color:#666;font-size:14px;line-height:1.5;margin:0 0 8px}.notification-time{color:#999;font-size:12px}.notification-actions{display:flex;flex-shrink:0;gap:8px}.btn-icon-small{align-items:center;background:#667eea1a;border:none;border-radius:8px;color:#667eea;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .3s;width:32px}.btn-icon-small:hover{background:#667eea;color:#fff}.btn-delete-small{background:#f93e3e1a;color:#f93e3e}.btn-delete-small:hover{background:#f93e3e;color:#fff}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:15px}.btn-mark-all{justify-content:center;width:100%}.notification-item{padding:15px}.notification-icon{height:40px;width:40px}.notification-actions{flex-direction:column}}.website-settings-page{padding:20px}.settings-form{margin:0 auto;max-width:1400px}.settings-section{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d;margin-bottom:30px;padding:30px}.section-header{align-items:center;border-bottom:2px solid #f5f7fa;display:flex;gap:15px;margin-bottom:30px;padding-bottom:15px}.section-header svg{color:#667eea}.section-header h2{color:#333;font-size:22px;margin:0}.form-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.form-group{gap:10px}.form-group input,.form-group textarea{font-family:inherit;padding:12px 16px;transition:all .3s}.form-group input:focus,.form-group textarea:focus{box-shadow:0 0 0 3px #667eea1a;outline:none}.images-grid{grid-gap:30px;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.image-upload-box{display:flex;flex-direction:column;gap:15px}.image-upload-box>label{color:#333;font-size:14px;font-weight:600}.image-preview-container{align-items:center;background:#f9fafb;border:2px dashed #e1e8ed;border-radius:15px;display:flex;height:250px;justify-content:center;overflow:hidden;width:100%}.image-preview-container.wide{height:200px}.image-preview{height:100%;object-fit:cover}.image-placeholder{color:#999;text-align:center}.image-placeholder svg{color:#ccc;margin-bottom:10px}.image-placeholder p{font-size:14px;margin:0}.upload-btn{align-items:center;background:#23a7ff;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:10px;justify-content:center;padding:12px 24px;transition:transform .2s}.upload-btn:hover{transform:translateY(-2px)}.form-actions{justify-content:center}.btn-save{align-items:center;background:linear-gradient(135deg,#43e97b,#38f9d7);border:none;border-radius:12px;cursor:pointer;display:flex;font-size:16px;font-weight:700;gap:10px;padding:15px 40px;transition:transform .2s,box-shadow .2s}.btn-save:hover{box-shadow:0 10px 25px #43e97b4d;transform:translateY(-3px)}.btn-save:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.settings-section{padding:20px}.form-grid,.images-grid{grid-template-columns:1fr}.btn-save{width:100%}}.settings-info-box{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border:2px solid #667eea;border-radius:15px;margin-top:30px;padding:25px}.settings-info-box h3{color:#333;font-size:18px;margin:0 0 15px}.settings-info-box ul{color:#555;line-height:2;margin:0;padding-left:20px}.settings-info-box ul ul{color:#666;font-size:14px;margin-top:8px}.settings-info-box li{margin-bottom:8px}.btn-spinner{animation:spin .8s linear infinite;border:3px solid #ffffff4d;height:20px;width:20px}.btn-save{min-width:200px}.notices-page{font-family:Inter,system-ui,sans-serif;padding:24px}.page-header{flex-wrap:wrap;gap:14px;margin-bottom:28px}.header-left{color:#1e40af;gap:14px}.header-left h1{font-size:1.6rem;margin:0 0 3px}.header-left p{font-size:.875rem}.loading-container,.no-data{align-items:center;color:#94a3b8;display:flex;flex-direction:column;font-size:15px;gap:14px;padding:60px 20px}.spinner{border:4px solid #e2e8f0;height:36px;width:36px}.notices-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:24px}.notice-card{background:#fff;border:1px solid #f1f5f9;border-radius:14px;box-shadow:0 2px 10px #00000012;display:flex;flex-direction:column;overflow:hidden;transition:transform .25s,box-shadow .25s}.notice-card:hover{box-shadow:0 8px 24px #0000001c;transform:translateY(-4px)}.nc-top-bar{background:#3b82f6;background:var(--tc,#3b82f6);height:4px}.nc-header{align-items:center;display:flex;justify-content:space-between;padding:12px 16px 6px}.nc-body{flex:1 1;padding:4px 16px 12px}.nc-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1e293b;cursor:pointer;display:-webkit-box;font-size:15px;font-weight:700;line-height:1.4;margin:0 0 6px;overflow:hidden;transition:color .2s}.nc-title:hover{color:#2563eb;color:var(--tc,#2563eb);text-decoration:underline}.nc-desc{color:#64748b;font-size:13px;line-height:1.6;margin:0 0 10px}.nc-file-info{display:flex;flex-wrap:wrap;gap:8px}.nc-att-badge,.nc-drive-badge{border-radius:10px;font-size:11px;font-weight:600;padding:3px 10px}.nc-att-badge{background:#e0f2fe;color:#0369a1}.nc-drive-badge{background:#ede9fe;color:#4c1d95}.notice-type-badge{background:#3b82f6;border-radius:20px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.4px;padding:4px 11px;text-transform:uppercase}.notice-type-badge.urgent{background:#ef4444}.notice-type-badge.holiday{background:#10b981}.notice-type-badge.exam{background:#f59e0b}.notice-type-badge.event{background:#6366f1}.notice-type-badge.admission{background:#8b5cf6}.notice-date{align-items:center;color:#94a3b8;display:flex;font-size:12px;gap:5px}.notice-card-actions{background:#f8fafc;border-top:1px solid #f1f5f9;display:flex;gap:10px;justify-content:center;padding:10px 16px}.btn-icon{height:34px;transition:all .2s;width:34px}.btn-view{color:#1d4ed8}.btn-edit{background:#d1fae5;color:#065f46}.btn-edit:hover{background:#10b981}.btn-delete{color:#991b1b}.notices-pagination{flex-wrap:wrap;gap:8px;justify-content:center;margin-top:4px}.notices-pagination,.pg-nav{align-items:center;display:flex}.pg-nav{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;color:#374151;cursor:pointer;font-size:13px;font-weight:600;gap:5px;padding:7px 16px;transition:all .2s}.pg-nav:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.pg-nav:disabled{cursor:not-allowed;opacity:.4}.pg-numbers{display:flex;flex-wrap:wrap;gap:6px}.pg-btn{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:13px;font-weight:600;height:36px;justify-content:center;transition:all .2s;width:36px}.pg-btn:hover{border-color:#3b82f6;color:#3b82f6}.pg-btn.active{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.btn-primary{box-shadow:0 3px 10px #3b82f64d;display:inline-flex;gap:7px;padding:10px 20px;transition:all .25s}.btn-primary:hover:not(:disabled){box-shadow:0 5px 14px #3b82f666;transform:translateY(-1px)}.btn-primary:disabled{opacity:.65}.btn-secondary{border-radius:10px;padding:9px 18px;transition:background .2s}.btn-spinner{animation:spin .7s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;inset:0;padding:16px}.modal-content{animation:modalIn .3s cubic-bezier(.175,.885,.32,1.275);border-radius:18px;box-shadow:0 24px 60px #00000038;display:flex;flex-direction:column;max-height:93vh;overflow:hidden}.modal-content.form-modal{max-width:780px}.modal-content.view-modal{max-width:900px}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{border-bottom:1px solid #f1f5f9;flex-shrink:0;padding:18px 24px}.modal-header h2{font-size:1.2rem}.close-btn{background:#f1f5f9;border-radius:8px;color:#64748b;height:36px;transition:all .2s;width:36px}.close-btn:hover{background:#e2e8f0;transform:rotate(90deg)}.modal-body{flex:1 1;overflow-y:auto;padding:20px 24px}.modal-actions{border-top:1px solid #f1f5f9;display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;padding:16px 24px}.form-grid{grid-gap:14px;gap:14px;grid-template-columns:1fr 1fr}.form-group{gap:5px}.form-group label{font-size:13px}.req{color:#ef4444;margin-left:2px}.form-group input,.form-group select,.form-group textarea{background:#fafafa;border:1.5px solid #e2e8f0;border-radius:9px;color:#1e293b;padding:9px 12px;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff}.form-group textarea{min-height:90px}.files-area>.files-area-label{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:700;gap:6px;margin-bottom:12px}.files-area-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}@media (max-width:640px){.files-area-grid{grid-template-columns:1fr}}.file-section{background:#fafafa;border:1.5px solid #e2e8f0;border-radius:12px;padding:14px}.file-sec-head{align-items:center;color:#1e293b;display:flex;flex-wrap:wrap;font-size:13px;font-weight:700;gap:8px;margin-bottom:10px}.file-sec-icon.upload{color:#6366f1}.file-sec-icon.drive{color:#7c3aed}.file-count-badge{background:#e0e7ff;border-radius:10px;color:#4338ca;font-size:11px;font-weight:700;margin-left:auto;padding:2px 9px}.btn-add-file-row{align-items:center;background:#7c3aed;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:600;gap:4px;margin-left:auto;padding:5px 12px;transition:background .2s}.btn-add-file-row:hover{background:#6d28d9}.upload-dropzone{align-items:center;background:#fff;border:2px dashed #c7d2fe;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:20px;text-align:center;transition:all .2s}.upload-dropzone:hover{background:#f5f3ff;border-color:#6366f1}.dz-text{color:#374151;font-size:13.5px;font-weight:600}.dz-hint{color:#94a3b8;font-size:11.5px}.existing-files,.file-preview-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}.existing-label{color:#94a3b8;font-size:11.5px;font-weight:600;margin-bottom:4px}.file-preview-item{align-items:center;border-radius:8px;display:flex;font-size:13px;gap:8px;padding:7px 10px}.file-preview-item.new{background:#ede9fe}.file-preview-item.existing{background:#f0fdf4}.fp-name{color:#374151;flex:1 1;font-weight:500;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fp-size{color:#94a3b8;flex-shrink:0;font-size:11px}.fp-remove{background:#fee2e2;border:none;border-radius:5px;color:#ef4444;cursor:pointer;flex-shrink:0;line-height:0;padding:3px 5px}.fp-view-btn{align-items:center;background:#d1fae5;border-radius:6px;color:#065f46;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:600;gap:3px;padding:3px 8px;text-decoration:none}.file-sec-hint{align-items:flex-start;background:#fdf4ff;border:1px solid #e9d5ff;border-radius:8px;display:flex;gap:10px;padding:12px}.file-sec-hint p{color:#6d28d9;font-size:12.5px;line-height:1.6;margin:0}.drive-rows{display:flex;flex-direction:column;gap:8px}.drive-row{align-items:stretch;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;display:flex;gap:6px;gap:8px;overflow:hidden;padding:6px 8px}.drive-row-inputs{display:flex;flex:1 1;flex-direction:column;gap:5px}.drive-lbl-inp,.drive-url-inp{background:#fafafa;border:1.5px solid #e2e8f0;border-radius:7px;font-family:inherit;font-size:13px;outline:none;padding:6px 10px;transition:border-color .2s}.drive-lbl-inp:focus,.drive-url-inp:focus{border-color:#7c3aed}.drive-row-actions{display:flex;flex-direction:column;flex-shrink:0;gap:5px}.drive-preview-btn,.drive-remove-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;height:30px;justify-content:center;line-height:0;text-decoration:none;transition:all .18s;width:30px}.drive-preview-btn{background:#ede9fe;color:#7c3aed}.drive-preview-btn:hover{background:#c4b5fd}.drive-remove-btn{background:#fee2e2;color:#ef4444}.drive-remove-btn:hover{background:#fca5a5}.drive-tip{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#16a34a;font-size:12px;margin-top:8px;padding:8px 10px}.nv-hd{border-bottom:1px solid #f1f5f9;flex-shrink:0;padding:16px 24px 12px}.nv-hd-row{flex-wrap:wrap;gap:10px;margin-bottom:10px}.nv-hd-row,.nv-meta{align-items:center;display:flex}.nv-meta{color:#64748b;font-size:13px;gap:6px;margin-left:auto}.nv-expiry{color:#ef4444}.nv-title{color:#1e293b;font-size:18px;font-weight:700;line-height:1.4;margin:0}.nv-tabs{border-bottom:2px solid #f1f5f9;display:flex;flex-shrink:0;overflow-x:auto}.nv-tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#64748b;cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:600;gap:6px;margin-bottom:-2px;padding:11px 18px;transition:all .2s;white-space:nowrap}.nv-tab:hover{color:#3b82f6}.nv-tab.active{background:#eff6ff;border-bottom-color:#2563eb;color:#2563eb}.nv-tc{background:#2563eb;border-radius:10px;color:#fff;font-size:11px;font-weight:700;padding:1px 7px}.nv-body{flex:1 1;overflow-y:auto;padding:18px 24px}.nv-footer{border-top:1px solid #f1f5f9;display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;padding:14px 24px}.nv-info{display:flex;flex-direction:column;gap:14px}.nv-info-block{background:#f8fafc;border-radius:10px;padding:14px}.nv-lbl{color:#94a3b8;font-size:11px;font-weight:700;letter-spacing:.5px;margin:0 0 6px;text-transform:uppercase}.nv-info-title{color:#1e293b;font-size:16px;font-weight:700;line-height:1.5;margin:0}.nv-desc{color:#374151;font-size:14.5px;line-height:1.9;margin:0;white-space:pre-wrap}.nv-sc-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.nv-sc-pill{align-items:center;border:none;border-radius:20px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:700;gap:6px;padding:7px 14px;transition:all .2s}.nv-sc-pill.drive{background:#ede9fe;border:1.5px solid #c4b5fd;color:#7c3aed}.nv-sc-pill.drive:hover{background:#c4b5fd}.nv-sc-pill.files{background:#e0f2fe;border:1.5px solid #bae6fd;color:#0369a1}.nv-sc-pill.files:hover{background:#bae6fd}.nv-drive-list{display:flex;flex-direction:column;gap:16px}.nv-drive-card{border:1.5px solid #e2e8f0;border-radius:12px;overflow:hidden}.nv-drive-bar{align-items:center;background:#faf5ff;border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:10px;padding:11px 14px}.nv-drive-name{color:#1e293b;flex:1 1;font-size:14px;font-weight:600}.nv-drive-btns{display:flex;flex-shrink:0;gap:8px}.nv-dl-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:5px;padding:6px 14px;text-decoration:none;transition:all .2s}.nv-dl-btn.open{background:#ede9fe;color:#7c3aed}.nv-dl-btn.open:hover{background:#c4b5fd}.nv-dl-btn.dl{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 6px #3b82f64d;color:#fff}.nv-dl-btn.dl:hover{box-shadow:0 4px 10px #3b82f666;transform:translateY(-1px)}.nv-drive-frame-wrap{height:460px;width:100%}.nv-drive-iframe{border:none;display:block;height:100%;width:100%}.nv-att-list{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.nv-att-card{border:1.5px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:box-shadow .2s}.nv-att-card:hover{box-shadow:0 4px 14px #0000001a}.nv-att-thumb{background:#f8fafc;height:140px;overflow:hidden}.nv-att-thumb img{height:100%;object-fit:cover;transition:transform .3s;width:100%}.nv-att-card:hover .nv-att-thumb img{transform:scale(1.05)}.nv-att-pdf-icon{align-items:center;background:#fff5f5;display:flex;flex-direction:column;gap:8px;height:120px;justify-content:center}.nv-att-pdf-icon span{color:#ef4444;font-size:12px;font-weight:700}.nv-att-info{padding:10px 12px}.nv-att-name-row{align-items:center;display:flex;gap:7px;margin-bottom:8px}.nv-att-name{color:#374151;flex:1 1;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nv-att-btns{display:flex;gap:6px}.nv-att-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;flex:1 1;font-size:12.5px;font-weight:700;gap:4px;justify-content:center;padding:6px 8px;text-decoration:none;transition:all .18s}.nv-att-btn.view{background:#e0f2fe;color:#0369a1}.nv-att-btn.view:hover{background:#bae6fd}.nv-att-btn.dl{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 6px #10b98140;color:#fff}.nv-att-btn.dl:hover{box-shadow:0 4px 10px #10b98159;transform:translateY(-1px)}@media (max-width:768px){.files-area-grid,.form-grid,.notices-grid{grid-template-columns:1fr}.nv-drive-frame-wrap{height:300px}.nv-att-list{grid-template-columns:1fr 1fr}.modal-content{border-radius:12px}.nv-drive-btns{gap:6px}}@media (max-width:480px){.notices-page{padding:16px}.modal-body,.nv-body{padding:14px 16px}.nv-att-list{grid-template-columns:1fr}}.manage-settings-page{margin:0 auto;max-width:1400px;padding:2rem}.page-header{border-bottom:2px solid #e5e7eb;margin-bottom:2rem;padding-bottom:1.5rem}.header-left{gap:1.5rem}.page-header h1{color:#1f2937;font-size:1.75rem;font-weight:700;margin:0 0 .5rem}.page-header p{color:#6b7280;margin:0}.settings-tabs{border-bottom:2px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.tab-btn{background:none;border:none;border-bottom:3px solid #0000;font-size:1rem;padding:1rem 1.5rem}.tab-btn:hover{background:#f3f4f6;color:#3b82f6}.tab-btn.active{border-bottom-color:#3b82f6;color:#3b82f6}.settings-content{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.settings-section h2{color:#1f2937;font-size:1.5rem;margin-bottom:.5rem}.section-description{color:#6b7280;margin-bottom:2rem}.add-text-form{display:flex;gap:1rem;margin-bottom:2rem}.add-text-form input{border:2px solid #e5e7eb;border-radius:8px;flex:1 1;font-size:1rem;padding:.875rem 1rem}.add-text-form input:focus{border-color:#3b82f6;outline:none}.scrolling-texts-list{display:flex;flex-direction:column;gap:1rem}.scrolling-text-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;padding:1rem;transition:all .3s}.scrolling-text-item:hover{background:#f3f4f6;box-shadow:0 2px 4px #0000000d}.text-content{align-items:center;display:flex;flex:1 1;gap:1rem}.status-badge{font-size:.75rem;padding:.25rem .75rem;text-transform:uppercase}.text-content p{color:#374151;font-size:.95rem;margin:0}.text-actions{display:flex;gap:.5rem}.btn-delete,.btn-edit,.btn-toggle{background:#0000;border:none;border-radius:6px;cursor:pointer;padding:.5rem;transition:all .2s}.btn-toggle:hover{background:#e5e7eb}.btn-edit{color:#3b82f6}.btn-edit:hover{background:#dbeafe}.btn-delete:hover{background:#fee2e2}.edit-mode{display:flex;gap:.5rem;width:100%}.edit-mode input{border:2px solid #3b82f6;border-radius:6px;flex:1 1;padding:.75rem}.btn-cancel,.btn-save{border:none;border-radius:6px;cursor:pointer;padding:.75rem;transition:all .2s}.btn-save{background:#10b981;color:#fff}.btn-save:hover{background:#059669}.btn-cancel{background:#6b7280;color:#fff}.btn-cancel:hover{background:#4b5563}.upload-section{margin-bottom:3rem}.upload-box{margin-bottom:1rem}.upload-label{display:block}.upload-placeholder{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;display:flex;flex-direction:column;justify-content:center;padding:3rem;transition:all .3s}.upload-placeholder:hover{background:#eff6ff;border-color:#3b82f6}.upload-placeholder svg{color:#9ca3af;margin-bottom:1rem}.upload-placeholder p{color:#374151;font-weight:600;margin:0 0 .5rem}.upload-placeholder span{color:#6b7280;font-size:.875rem}.image-preview{border:2px solid #e5e7eb;border-radius:12px;max-height:400px;object-fit:contain;width:100%}.upload-actions{display:flex;gap:1rem}.btn-primary,.btn-secondary{border-radius:8px;padding:.875rem 1.5rem}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-primary:disabled{background:#9ca3af}.btn-secondary{background:#e5e7eb}.btn-secondary:hover{background:#d1d5db}.hero-images-grid{margin-top:2rem}.grid-header{margin-bottom:1.5rem}.grid-header h3{color:#1f2937;font-size:1.25rem;margin:0}.images-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.image-card{border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;position:relative;transition:transform .3s}.image-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-4px)}.image-card img{height:200px;object-fit:cover;width:100%}.image-overlay{align-items:center;background:#00000080;bottom:0;display:flex;gap:1rem;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s}.image-card:hover .image-overlay{opacity:1}.image-order{background:#3b82f6;border-radius:12px;color:#fff;font-size:.875rem;font-weight:600;left:10px;padding:.25rem .75rem;position:absolute;top:10px}.btn-delete-image{align-items:center;background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1rem;transition:all .3s}.btn-delete-image:hover{background:#dc2626}.current-image-display{margin-bottom:2rem}.current-image-display h3{color:#1f2937;font-size:1.125rem;margin-bottom:1rem}.image-preview-large{max-width:600px;position:relative}.image-preview-large img{border:2px solid #e5e7eb;border-radius:12px;width:100%}.btn-delete-overlay{align-items:center;background:#ef4444;border:none;border-radius:8px;bottom:1rem;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;opacity:0;padding:.75rem 1.5rem;position:absolute;right:1rem;transition:all .3s}.image-preview-large:hover .btn-delete-overlay{opacity:1}.btn-delete-overlay:hover{background:#dc2626}.empty-state{padding:4rem 2rem}.empty-state svg{margin-bottom:1rem}.empty-state p{font-size:1.125rem}.loading-container{padding:4rem}@media (max-width:768px){.manage-settings-page{padding:1rem}.page-header{align-items:flex-start;flex-direction:column;gap:1rem}.settings-tabs{flex-wrap:nowrap;overflow-x:auto}.tab-btn{padding:.75rem 1rem;white-space:nowrap}.add-text-form{flex-direction:column}.images-grid{grid-template-columns:1fr}.upload-actions{flex-direction:column}}.manage-users-container{padding:20px}.page-header h1{color:#333;font-size:28px;margin:0}.filters-section{margin-bottom:30px}.search-box i{color:#666;left:15px;top:50%;transform:translateY(-50%)}.search-box input{border:1px solid #ddd;padding:12px 15px 12px 45px}.role-filter select{border:1px solid #ddd;border-radius:8px;font-size:14px;min-width:200px;padding:12px 15px}.users-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.user-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:20px;transition:transform .2s,box-shadow .2s}.user-card:hover{box-shadow:0 5px 20px #0000001f;transform:translateY(-5px)}.user-image{height:120px;margin:0 auto 20px;position:relative;width:120px}.user-image img{border:4px solid #f0f0f0;border-radius:50%;height:100%;object-fit:cover;width:100%}.role-badge{bottom:0;color:#fff;font-size:11px;padding:5px 12px;position:absolute;right:0}.badge-primary{background:#4caf50}.badge-success{background:#2196f3}.badge-warning{background:#ff9800}.user-info{margin-bottom:20px;text-align:center}.user-info h3{color:#333;font-size:18px;margin-bottom:10px}.user-email,.user-phone{color:#666;font-size:13px;margin:5px 0}.user-email i,.user-phone i{color:#999;margin-right:8px}.user-status{margin-top:10px}.status-badge{border-radius:12px;font-weight:500;padding:4px 12px}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.user-actions{display:flex;gap:10px;justify-content:center}.btn{display:inline-flex}.btn-primary{background:#4caf50}.btn-primary:hover{background:#45a049}.btn-sm{font-size:13px;padding:8px 15px}.btn-info{background:#2196f3;color:#fff}.btn-info:hover{background:#0b7dda}.btn-danger{background:#f44336}.btn-danger:hover{background:#da190b}.loading-spinner{color:#666;font-size:18px;padding:50px;text-align:center}.loading-spinner i{font-size:32px;margin-bottom:15px}.no-data i{font-size:48px;margin-bottom:15px;opacity:.5}@media (max-width:768px){.users-grid{grid-template-columns:1fr}.filters-section{flex-direction:column}.search-box{min-width:100%}.role-filter select{width:100%}}.add-user-container{margin:0 auto;max-width:1200px;padding:20px}.form-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:30px}.profile-upload-section{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;gap:30px;margin-bottom:40px;padding-bottom:30px}.profile-preview{border:4px solid #f0f0f0;border-radius:50%;height:150px;overflow:hidden;width:150px}.profile-preview img{height:100%;object-fit:cover;width:100%}.placeholder-image{align-items:center;background:#23a7ff;display:flex;height:100%;justify-content:center;width:100%}.placeholder-image i{color:#fff;font-size:60px}.upload-button-wrapper{flex:1 1}.btn-outline{align-items:center;background:#fff;border:2px solid #4caf50;color:#4caf50;display:inline-flex;gap:10px;padding:12px 24px}.btn-outline:hover{background:#4caf50;color:#fff}.upload-hint{color:#666;font-size:13px;margin-top:10px}.form-grid{grid-gap:25px;gap:25px;margin-bottom:30px}.form-group label{margin-bottom:8px}.required{color:#f44336}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4caf50}.btn-secondary{background:#6c757d}.btn-secondary:hover{background:#5a6268}@media (max-width:768px){.form-grid{grid-template-columns:1fr}.profile-upload-section{flex-direction:column;text-align:center}.form-actions{flex-direction:column}.form-actions button{width:100%}}.role-dashboard{padding:20px}.welcome-section{align-items:center;background:#23a7ff;border-radius:15px;color:#fff;display:flex;justify-content:space-between;margin-bottom:30px;padding:30px}.welcome-text h1{font-size:32px;margin-bottom:10px}.welcome-text p{font-size:16px;margin:5px 0;opacity:.9}.current-time{font-size:18px;font-weight:600;margin-top:10px}.profile-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:15px;padding:20px;text-align:center}.profile-card img{border:4px solid #fff;border-radius:50%;height:100px;margin-bottom:15px;width:100px}.profile-card h3{font-size:18px;margin-bottom:8px}.role-badge{border-radius:20px;display:inline-block;font-size:13px;padding:6px 16px;text-transform:uppercase}.staff-badge{background:#4caf50}.librarian-badge{background:#2196f3}.accountant-badge{background:#ff9800}.stat-card{box-shadow:0 2px 10px #00000014;gap:20px;padding:25px}.stat-info h3{color:#666;margin-bottom:8px}.stat-number{color:#333;margin:5px 0}.stat-label{color:#999}.dashboard-content-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.content-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:25px}.content-card h2{align-items:center;color:#333;display:flex;font-size:18px;gap:10px;margin-bottom:20px}.book-list,.payment-list,.task-list{list-style:none}.book-list li,.payment-list li,.task-list li{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:15px}.book-list li:last-child,.payment-list li:last-child,.task-list li:last-child{border-bottom:none}.book-title,.payment-title,.task-title{color:#333;font-size:14px}.book-status,.task-status{border-radius:12px;font-size:12px;font-weight:500;padding:5px 12px}.book-status.overdue,.task-status.pending{background:#fff3cd;color:#856404}.task-status.in-progress{background:#cce5ff;color:#004085}.task-status.completed{background:#d4edda;color:#155724}.payment-amount{color:#4caf50;font-size:16px;font-weight:600}.notification-list{list-style:none}.notification-list li{border-bottom:1px solid #f0f0f0;display:flex;gap:15px;padding:15px}.notification-list li:last-child{border-bottom:none}.notification-icon{font-size:24px}.notification-content p{color:#333;font-size:14px;margin-bottom:5px}.notification-content span{color:#999;font-size:12px}.loading-container{color:#666;font-size:18px;height:400px}.field-hint{color:#999;font-size:12px;margin-top:5px}.checkbox-wrapper{align-items:center;display:flex;gap:10px;padding:12px 0}.checkbox-wrapper input[type=checkbox]{cursor:pointer;height:20px;width:20px}.checkbox-wrapper label{cursor:pointer;margin:0}@media (max-width:768px){.welcome-section{flex-direction:column;text-align:center}.welcome-text h1{font-size:24px}.dashboard-content-grid,.stats-grid{grid-template-columns:1fr}}.quick-actions{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.action-card{border-radius:12px;box-shadow:0 2px 10px #0000001a;color:#fff;padding:30px;text-align:center;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease}.action-card:hover{box-shadow:0 5px 20px #0003;transform:translateY(-5px)}.action-card i{display:block;font-size:48px;margin-bottom:15px}.action-card h3{font-size:18px;margin-bottom:8px}.action-card p{font-size:14px;margin:0;opacity:.9}.action-card.library{background:linear-gradient(135deg,#2196f3,#1976d2)}.action-card.notifications{background:linear-gradient(135deg,#4caf50,#388e3c)}.action-card.notices{background:linear-gradient(135deg,#ff9800,#f57c00)}.action-card.payments{background:linear-gradient(135deg,#9c27b0,#7b1fa2)}.quick-links-list{list-style:none;margin:0;padding:0}.quick-links-list li{border-bottom:1px solid #f0f0f0}.quick-links-list li:last-child{border-bottom:none}.quick-links-list a{align-items:center;color:#333;display:flex;gap:15px;padding:15px;text-decoration:none;transition:background .3s ease}.quick-links-list a:hover{background:#f5f5f5}.quick-links-list i{color:#2196f3;font-size:20px;text-align:center;width:30px}.quick-links-list span{font-size:14px}.summary-stats{display:flex;flex-direction:column;gap:15px}.summary-item{align-items:center;background:#f9f9f9;border-radius:8px;display:flex;gap:15px;padding:15px}.summary-item i{color:#2196f3;font-size:32px}.summary-item.overdue i{color:#f44336}.summary-item div{flex:1 1}.summary-item strong{color:#333;display:block;font-size:24px;margin-bottom:5px}.summary-item span{color:#666;font-size:13px}@media (max-width:768px){.quick-actions{grid-template-columns:1fr}}.subjects-container{margin:0 auto;max-width:1400px;padding:2rem}.subjects-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.header-left h1{align-items:center;color:#1e293b;display:flex;font-size:1.75rem;gap:.75rem;margin-bottom:.5rem}.header-left p{color:#64748b;font-size:.95rem}.btn-add{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;box-shadow:0 4px 6px #3b82f64d;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.btn-add:hover{box-shadow:0 6px 12px #3b82f666;transform:translateY(-2px)}.stats-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card{box-shadow:0 2px 8px #00000014;gap:1rem;padding:1.5rem;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 16px #0000001f;transform:translateY(-4px)}.stat-icon{flex-shrink:0;height:56px;width:56px}.stat-icon.blue{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.stat-icon.green{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.stat-icon.purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.stat-icon.orange{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.stat-info h3{color:#1e293b;font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.stat-info p{color:#64748b;font-size:.875rem}.subjects-controls{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.search-box svg{color:#94a3b8;left:1rem;position:absolute}.search-box input{border:2px solid #e2e8f0;font-size:.95rem;padding:.75rem 1rem .75rem 3rem;transition:all .3s ease}.search-box input:focus{box-shadow:0 0 0 3px #3b82f61a}.btn-filter{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.btn-filter:hover{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.filter-panel{grid-gap:1rem;align-items:end;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem;padding:1.5rem}.filter-group{flex-direction:column;gap:.5rem}.filter-group label{color:#475569;font-size:.875rem;font-weight:600}.filter-group select{border:2px solid #e2e8f0;border-radius:6px;font-size:.95rem;padding:.625rem;transition:all .3s ease}.filter-group select:focus{border-color:#3b82f6;outline:none}.btn-clear-filter{background:#f1f5f9;border:none;border-radius:6px;color:#64748b;cursor:pointer;font-weight:600;padding:.625rem 1rem;transition:all .3s ease}.btn-clear-filter:hover{background:#e2e8f0;color:#475569}.subjects-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.subjects-table{border-collapse:collapse;width:100%}.subjects-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.subjects-table th{border-bottom:2px solid #e2e8f0;color:#475569;font-size:.875rem;font-weight:700;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.subjects-table td{border-bottom:1px solid #f1f5f9;color:#475569;font-size:.95rem;padding:1rem}.subjects-table tbody tr{transition:all .2s ease}.subjects-table tbody tr:hover{background:#f8fafc}.subject-code{background:#eff6ff;color:#2563eb;display:inline-block;font-size:.875rem}.badge,.subject-code{border-radius:6px;font-weight:600;padding:.25rem .75rem}.badge{font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.badge-science{background:#dbeafe;color:#1e40af}.badge-arts{background:#fce7f3;color:#be123c}.badge-commerce{background:#fef3c7;color:#b45309}.badge-general{background:#f3f4f6;color:#374151}.text-muted{color:#94a3b8;font-style:italic}.status-badge{border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.8125rem;gap:.375rem;padding:.375rem .75rem;transition:all .3s ease}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.active:hover{background:#a7f3d0}.status-badge.inactive{background:#fee2e2;color:#991b1b}.status-badge.inactive:hover{background:#fecaca}.action-buttons{gap:.5rem}.btn-icon.edit{background:#dbeafe;color:#1e40af}.btn-icon.edit:hover{background:#3b82f6;color:#fff;transform:scale(1.1)}.btn-icon.delete{background:#fee2e2;color:#991b1b}.btn-icon.delete:hover{background:#ef4444;color:#fff;transform:scale(1.1)}.modal-overlay{padding:1rem}.modal-content{border-radius:16px;box-shadow:0 20px 25px -5px #0000001a;width:100%}.modal-small{max-width:500px}.modal-header{border-bottom:2px solid #f1f5f9;padding:1.5rem}.modal-header h2{color:#1e293b;font-size:1.5rem}.btn-close{background:#f1f5f9;border-radius:8px;color:#64748b;height:40px;transition:all .3s ease;width:40px}.btn-close:hover{background:#e2e8f0;color:#1e293b}.modal-body{padding:1.5rem}.modal-body p{color:#475569;line-height:1.6;margin-bottom:1rem}.text-danger{color:#dc2626}.modal-footer{border-top:2px solid #f1f5f9;gap:1rem;padding:1.5rem}.form-grid{grid-gap:1.25rem;gap:1.25rem;grid-template-columns:repeat(2,1fr);padding:1.5rem}.form-group{gap:.5rem}.form-group label{color:#475569;font-size:.875rem}.form-group input,.form-group select,.form-group textarea{border:2px solid #e2e8f0;font-size:.95rem;padding:.75rem;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{font-family:inherit}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:.75rem;padding:.5rem}.checkbox-label input[type=checkbox]{cursor:pointer;height:20px;width:20px}.checkbox-label span{color:#475569;font-size:.95rem;font-weight:600}.btn-danger,.btn-primary,.btn-secondary{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}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb)}.btn-primary:hover{box-shadow:0 6px 12px #3b82f64d}.btn-secondary{background:#f1f5f9;color:#475569}.btn-secondary:hover{background:#e2e8f0}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.btn-danger:hover{box-shadow:0 6px 12px #ef44444d;transform:translateY(-2px)}.loading-spinner{align-items:center;color:#64748b;display:flex;font-size:1.125rem;justify-content:center;padding:4rem}.no-data{color:#94a3b8;padding:4rem}.no-data svg{margin-bottom:1rem;opacity:.5}.no-data p{font-size:1.125rem;font-weight:500}@media (max-width:768px){.subjects-container{padding:1rem}.subjects-header{align-items:flex-start;flex-direction:column}.header-left h1{font-size:1.5rem}.stats-grid{grid-template-columns:1fr}.subjects-controls{flex-direction:column}.search-box{min-width:100%}.filter-panel{grid-template-columns:1fr}.subjects-table-container{overflow-x:auto}.subjects-table{min-width:900px}.form-grid{grid-template-columns:1fr}.modal-content{margin:1rem;max-width:100%}}.class-routine-page{padding:24px}.page-header{margin-bottom:32px}.header-left{gap:16px}.header-left svg{color:#3b82f6}.header-left h1{color:#1f2937;margin:0 0 4px}.header-left p{color:#6b7280;margin:0}.btn-primary{border-radius:8px;font-size:14px;transition:all .3s ease}.btn-primary:hover{box-shadow:0 4px 12px #3b82f666}.routines-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.routine-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:all .3s ease}.routine-card:hover{box-shadow:0 8px 16px #00000026;transform:translateY(-4px)}.routine-card-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:16px}.routine-card-header h3{color:#1f2937;font-size:20px;margin:0}.section-badge{background:#3b82f6;border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 12px}.routine-card-body{margin-bottom:16px}.routine-card-body p{align-items:center;color:#6b7280;display:flex;font-size:14px;gap:8px;margin:8px 0}.routine-card-body svg{color:#9ca3af}.routine-card-actions{display:flex;gap:8px;justify-content:flex-end}.btn-icon{padding:8px;transition:all .3s ease}.btn-view{background:#dbeafe;color:#3b82f6}.btn-view:hover{background:#3b82f6}.btn-edit{background:#fef3c7;color:#f59e0b}.btn-edit:hover{background:#f59e0b}.btn-delete{background:#fee2e2;color:#ef4444}.btn-delete:hover{background:#ef4444}.no-data{color:#9ca3af;gap:16px;padding:64px}.no-data svg{color:#d1d5db}.no-data p{color:#6b7280;font-size:18px}.modal-overlay{background:#00000080;padding:24px;z-index:1000}.routine-modal{max-height:90vh;max-width:1200px;overflow-y:auto;width:100%}.modal-content{border-radius:12px;box-shadow:0 20px 60px #0000004d}.modal-header{border-bottom:2px solid #e5e7eb;padding:24px}.modal-header h2{color:#1f2937}.close-btn{border-radius:4px;color:#6b7280;padding:4px;transition:all .3s ease}.close-btn:hover{background:#f3f4f6;color:#1f2937}.modal-body{padding:24px}.form-section{margin-bottom:24px}.form-row{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group label{color:#374151}.form-group input,.form-group select{border:1px solid #d1d5db;border-radius:6px;color:#1f2937;font-size:14px;padding:10px 12px;transition:all .3s ease}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.schedule-editor{margin-top:24px}.schedule-editor>h3{color:#1f2937;font-size:20px;margin-bottom:16px}.day-schedule-editor{background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;margin-bottom:24px;padding:16px}.day-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.day-header h4{color:#1f2937;font-size:18px;margin:0}.btn-add-period{align-items:center;background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .3s ease}.btn-add-period:hover{background:#059669}.periods-list{display:flex;flex-direction:column;gap:12px}.period-editor{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.period-number-badge{background:#3b82f6;border-radius:12px;color:#fff;display:inline-block;font-size:12px;font-weight:600;margin-bottom:12px;padding:4px 12px}.period-fields{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.btn-remove-period{align-items:center;background:#fee2e2;border:none;border-radius:6px;color:#ef4444;cursor:pointer;display:flex;justify-content:center;padding:10px;transition:all .3s ease}.btn-remove-period:hover{background:#ef4444;color:#fff}.modal-footer{border-top:2px solid #e5e7eb;gap:12px;padding:24px}.btn-secondary{background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .3s ease}.btn-secondary:hover{background:#e5e7eb}.spinner{border:4px solid #e5e7eb;height:48px;width:48px}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:16px}.routines-grid{grid-template-columns:1fr}.routine-modal{border-radius:0;max-height:100vh;max-width:100%}.form-row,.period-fields{grid-template-columns:1fr}}.weekly-routine-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.routine-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.routine-header h2{color:#1f2937;font-size:24px;margin:0}.academic-year{background:#3b82f6;border-radius:20px;color:#fff;font-size:14px;font-weight:500;padding:6px 16px}.routine-table-wrapper{overflow-x:auto}.routine-table{border-collapse:collapse;width:100%}.routine-table thead{background:#f9fafb}.routine-table th{border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:12px 16px;text-align:left}.day-column{width:150px}.periods-column{width:auto}.routine-table tbody tr{border-bottom:1px solid #e5e7eb}.routine-table tbody tr:last-child{border-bottom:none}.day-cell{background:#f9fafb;padding:16px;vertical-align:top}.day-name{color:#1f2937;font-size:16px;font-weight:600}.periods-cell{padding:16px}.periods-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.period-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px;transition:all .3s ease}.period-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.teacher-highlight{background:#dbeafe;border:2px solid #3b82f6}.teacher-highlight:hover{background:#bfdbfe}.period-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:8px}.period-number{color:#3b82f6;font-size:14px;font-weight:600}.period-time{align-items:center;color:#6b7280;display:flex;font-size:12px;gap:4px}.period-body{display:flex;flex-direction:column;gap:6px}.period-info{align-items:center;color:#374151;display:flex;font-size:14px;gap:8px}.period-info svg{color:#6b7280;flex-shrink:0}.subject-name{color:#1f2937;font-weight:600}.room-name,.teacher-name{color:#6b7280}.no-classes{color:#9ca3af;font-style:italic;padding:24px;text-align:center}@media (max-width:768px){.routine-header{align-items:flex-start;flex-direction:column;gap:12px}.periods-grid{grid-template-columns:1fr}.routine-table{font-size:14px}.day-column{width:100px}}.class-routine-view-page{padding:24px}.btn-back{background:#fff;border:1px solid #d1d5db;color:#374151;display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:24px;padding:10px 20px;transition:all .3s ease}.btn-back:hover{background:#f3f4f6;border-color:#9ca3af}.btn-back svg{transition:transform .3s ease}.btn-back:hover svg{transform:translateX(-4px)}.student-routine-view{padding:24px}.loading-container{gap:16px}.spinner{color:#3b82f6}.loading-container p{color:#6b7280;font-size:16px}.no-routine-container{align-items:center;color:#6b7280;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:400px}.no-routine-container svg{color:#9ca3af}.no-routine-container h3{color:#374151;font-size:24px;margin:0}.no-routine-container p{color:#6b7280;font-size:16px;margin:0}.teacher-routine-view{padding:24px}.routine-selector{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:16px;margin-bottom:24px;padding:16px}.routine-selector label{color:#374151;font-size:16px;font-weight:600}.routine-selector select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;flex:1 1;font-size:14px;max-width:400px;padding:10px 16px;transition:all .3s ease}.routine-selector select:hover{border-color:#3b82f6}.routine-selector select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.routine-legend{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:24px;margin-top:24px;padding:16px}.legend-item{align-items:center;display:flex;gap:8px}.legend-color{border:1px solid #e5e7eb;border-radius:4px;height:24px;width:24px}.legend-color.highlighted{background:#dbeafe;border:2px solid #3b82f6}.legend-color.normal{background:#fff;border:1px solid #e5e7eb}.legend-item span{color:#6b7280;font-size:14px}@media (max-width:768px){.routine-selector{align-items:flex-start;flex-direction:column}.routine-selector select{max-width:100%}.routine-legend{flex-direction:column;gap:12px}}.assignments-page{padding:20px}.btn-primary{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s}.search-input-group input{font-size:14px}.filter-group select{background:#fff;border:2px solid #e1e8ed;border-radius:10px;cursor:pointer;font-size:14px;outline:none;padding:10px 15px}.assignments-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.assignment-card{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d;overflow:hidden;transition:all .3s}.assignment-card:hover{box-shadow:0 5px 20px #0000001a;transform:translateY(-5px)}.card-header{background:#23a7ff;color:#fff;padding:20px}.card-title-row{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.card-title-row h3{flex:1 1;font-size:18px;font-weight:600;margin:0}.status-badge{align-items:center;display:flex;font-size:11px;font-weight:700;gap:5px;white-space:nowrap}.status-normal{background:#fff3;color:#fff}.status-urgent{background:#fff5f5;color:#c53030}.card-subject{align-items:center;display:flex;font-size:14px;gap:8px;margin:0;opacity:.9}.card-body{padding:20px}.assignment-description{color:#666;font-size:14px;line-height:1.6;margin-bottom:15px}.assignment-meta{display:flex;flex-direction:column;gap:10px}.meta-item{align-items:center;color:#666;display:flex;font-size:13px;gap:8px}.meta-item .label{color:#333;font-weight:600}.expired-badge{background:#fff5f5;border-radius:12px;color:#c53030;font-size:11px;font-weight:600;padding:4px 10px;width:-webkit-fit-content;width:fit-content}.card-footer{background:#f7fafc;border-top:1px solid #e2e8f0;display:flex;gap:10px;padding:15px 20px}.btn-icon{flex:1 1;padding:10px}.btn-edit{background:#fff3e0;color:#f57c00}.btn-edit:hover{background:#f57c00}.modal-content{max-width:700px}.assignment-modal{max-width:800px}.detail-row{border-bottom:1px solid #e1e8ed;gap:5px;padding:15px 0}.detail-row p{color:#666;line-height:1.6;margin:0}.file-preview{background:#f7fafc;border-radius:10px;padding:20px}.file-link{background:#23a7ff;color:#fff;gap:10px;padding:12px 20px}.file-link:hover{box-shadow:0 5px 15px #667eea66}@media (max-width:768px){.assignments-page{padding:15px}.page-header{align-items:flex-start;flex-direction:column;gap:15px}.header-left h1{font-size:24px}.filters-section{flex-direction:column}.search-form{min-width:100%;width:100%}.filter-group{flex-wrap:wrap;width:100%}.filter-group select{flex:1 1;min-width:150px}.assignments-grid{grid-template-columns:1fr}.assignment-card{margin-bottom:15px}.card-title-row{align-items:flex-start;flex-direction:column}.modal-content{max-height:85vh;width:95%}}.add-assignment-page{padding:20px}.assignment-form{display:flex;flex-direction:column;gap:20px}.form-group input,.form-group select,.form-group textarea{border:2px solid #e1e8ed;border-radius:10px;outline:none;padding:12px 15px}.form-group textarea{min-height:120px;resize:vertical}.file-input{background:#f7fafc;border:2px dashed #e1e8ed;border-radius:10px;cursor:pointer;padding:10px;transition:all .3s}.file-input:hover{background:#f0f4ff;border-color:#667eea}.file-selected{align-items:center;background:#e3f2fd;border-radius:10px;color:#1976d2;display:flex;gap:10px;margin-top:10px;padding:12px 15px}.file-selected span{font-size:14px;font-weight:500}.image-preview{border-radius:10px;margin-top:15px;max-width:400px;overflow:hidden}.image-preview img{display:block;height:auto;width:100%}.form-actions{border-top:1px solid #e1e8ed;margin-top:20px;padding-top:20px}.btn-primary,.btn-secondary{font-size:14px}.btn-primary:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:#e2e8f0;color:#333}.btn-secondary:hover{background:#cbd5e0}@media (max-width:768px){.add-assignment-page{padding:15px}.page-header{padding:20px}.header-left h1{font-size:24px}.form-container{padding:20px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}.image-preview{max-width:100%}}.student-assignments-page{padding:20px}.assignments-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.stat-item{padding:25px}.stat-item h3{font-size:36px;font-weight:700}.stat-urgent h3{color:#f56565}.stat-active h3{color:#48bb78}.assignments-list{display:flex;flex-direction:column;gap:15px}.assignment-item{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d;padding:20px;transition:all .3s}.assignment-item:hover{box-shadow:0 5px 20px #0000001a;transform:translateY(-3px)}.assignment-header{align-items:flex-start;display:flex;gap:15px;justify-content:space-between;margin-bottom:15px}.title-section{flex:1 1}.title-section h3{color:#333;font-size:20px;margin:0 0 10px}.urgent-badge{align-items:center;background:#fff5f5;border-radius:20px;color:#c53030;display:inline-flex;font-size:12px;font-weight:700;gap:5px;padding:6px 14px}.btn-view{align-items:center;background:#23a7ff;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s;white-space:nowrap}.btn-view:hover{box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.assignment-content{flex-wrap:wrap;gap:20px;margin-bottom:15px}.assignment-content,.info-item{align-items:center;display:flex}.info-item{color:#666;font-size:14px;gap:8px}.time-remaining{background:#d4f4dd;border-radius:12px;color:#22543d;font-size:12px;font-weight:600;padding:6px 12px}.time-remaining.expired{background:#fff5f5;color:#c53030}.assignment-file{border-top:1px solid #e2e8f0;padding-top:15px}.file-link{align-items:center;background:#e3f2fd;border-radius:10px;color:#1976d2;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 18px;text-decoration:none;transition:all .3s}.file-link:hover{background:#1976d2;color:#fff;transform:translateY(-2px)}.no-data{align-items:center;background:#fff;border-radius:15px;display:flex;flex-direction:column;justify-content:center;padding:60px}.no-data p{font-size:16px;margin-top:15px}.loading-container p{color:#666;margin-top:20px}.modal-content{max-width:800px}.modal-header h2{font-size:24px}.assignment-detail{display:flex;flex-direction:column;gap:15px}.detail-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;gap:15px;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.detail-header h3{color:#333;font-size:22px;margin:0}.detail-row{border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:8px;padding:12px 0}.detail-row:last-child{border-bottom:none}.detail-row label{color:#333;font-size:14px;font-weight:600}.description-text,.detail-row span{color:#666;font-size:14px}.description-text{line-height:1.8;margin:0}.text-danger{color:#c53030}.text-success{color:#22543d;font-weight:600}.detail-file{background:#f7fafc;border-radius:10px;margin-top:10px;padding:20px}.detail-file label{color:#333;display:block;font-weight:600;margin-bottom:15px}.file-download-btn{align-items:center;background:#23a7ff;border-radius:10px;color:#fff;display:inline-flex;font-weight:600;gap:10px;margin-bottom:20px;padding:12px 24px;text-decoration:none;transition:all .3s}.file-download-btn:hover{box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.pdf-preview{border:2px solid #e2e8f0;height:600px}.image-preview-modal,.pdf-preview{border-radius:10px;margin-top:15px;width:100%}.image-preview-modal{height:auto}@media (max-width:768px){.student-assignments-page{padding:15px}.page-header{padding:20px}.header-left h1{font-size:24px}.assignment-header{align-items:flex-start;flex-direction:column}.btn-view{justify-content:center;width:100%}.assignment-content{align-items:flex-start;flex-direction:column;gap:10px}.modal-content{max-height:85vh;width:95%}.detail-header{align-items:flex-start;flex-direction:column}.pdf-preview{height:400px}}.leave-request-page{padding:20px}.form-container{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d;margin:0 auto;max-width:800px;padding:30px}.leave-form{display:flex;flex-direction:column;gap:20px}.form-group label{align-items:center;display:flex;gap:8px}.form-group input,.form-group textarea{border:2px solid #e1e8ed;border-radius:10px;font-size:14px;outline:none;padding:12px 15px}.form-group input:focus,.form-group textarea:focus{border-color:#667eea}.form-row{grid-template-columns:1fr 1fr}.btn-primary,.btn-secondary{border:none;border-radius:10px;cursor:pointer;font-weight:600;padding:12px 30px;transition:all .3s}.btn-primary{background:#23a7ff}.btn-primary:hover{box-shadow:0 5px 15px #667eea66}.btn-secondary{background:#f5f7fa;color:#666}.btn-secondary:hover{background:#e1e8ed}@media (max-width:768px){.form-row{grid-template-columns:1fr}}.my-leaves-page{padding:20px}.leaves-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.leave-card{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d;padding:25px;transition:transform .3s}.leave-card:hover{box-shadow:0 5px 20px #0000001a;transform:translateY(-5px)}.leave-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:15px}.leave-header h3{color:#333;font-size:18px;margin:0}.status-pending{background:#fff3cd;color:#856404}.status-approved{background:#d4edda;color:#155724}.status-rejected{background:#f8d7da;color:#721c24}.leave-description{color:#666;font-size:14px;margin-bottom:15px}.leave-dates{border-top:1px solid #e1e8ed;display:flex;flex-direction:column;gap:10px;padding-top:15px}.date-item{align-items:center;color:#666;display:flex;font-size:14px;gap:8px}.leave-footer{border-top:1px solid #e1e8ed;color:#666;font-size:13px;margin-top:15px;padding-top:15px}.rejection-reason{background:#fff3cd;border-radius:10px;margin-top:15px;padding:15px}.rejection-reason strong{color:#856404;display:block;margin-bottom:5px}.rejection-reason p{color:#856404;font-size:14px;margin:0}.no-data{grid-column:1/-1;padding:60px 20px}.no-data svg{color:#ccc;margin-bottom:20px}@media (max-width:768px){.leaves-grid{grid-template-columns:1fr}}.leave-management-page{padding:20px}.user-info{align-items:center;display:flex;gap:10px}.user-photo{border-radius:50%;height:40px;object-fit:cover;width:40px}.role-badge{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:12px;font-weight:600;padding:4px 10px;text-transform:capitalize}.description{color:#999;font-size:13px;margin:5px 0 0}.date-range{align-items:center;color:#666;display:flex;font-size:13px;gap:5px}.btn-approve{background:#d4edda;color:#155724}.btn-approve:hover{background:#155724;color:#fff}.btn-reject{background:#f8d7da;color:#721c24}.btn-reject:hover{background:#721c24;color:#fff}.modal-footer{border-top:1px solid #e1e8ed;display:flex;gap:10px;justify-content:flex-end;padding:20px 25px}.btn-danger{background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.btn-danger:hover{background:#c82333}@media (max-width:768px){.data-table{font-size:12px}}.dashboard-home-container{margin:0 auto;max-width:1400px;padding:2rem}.welcome-header{margin-bottom:3rem;text-align:center}.welcome-header h1{color:#1e293b;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.welcome-header p{color:#64748b;font-size:1.1rem}.dashboard-cards-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:2rem}.dashboard-card{align-items:center;background:#fff;border:2px solid #0000;border-radius:20px;box-shadow:0 4px 6px #00000012;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;padding:2.5rem;position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.dashboard-card:before{background:var(--card-color);content:"";height:5px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.dashboard-card:hover:before{transform:scaleX(1)}.dashboard-card:hover{border-color:var(--card-color);box-shadow:0 20px 40px #0000001f;transform:translateY(-8px)}.card-icon{align-items:center;border-radius:20px;display:flex;height:80px;justify-content:center;margin-bottom:1.5rem;transition:transform .3s ease;width:80px}.card-icon svg{stroke-width:2;color:#fff;height:40px;width:40px}.dashboard-card:hover .card-icon{transform:scale(1.1) rotate(5deg)}.dashboard-card h3{color:#1e293b;font-size:1.5rem;font-weight:600;margin:0}.card-arrow{bottom:1.5rem;color:var(--card-color);font-size:1.5rem;opacity:0;position:absolute;right:1.5rem;transform:translateX(-10px);transition:all .3s ease}.dashboard-card:hover .card-arrow{opacity:1;transform:translateX(0)}@media (max-width:1200px){.dashboard-cards-grid{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){.dashboard-home-container{padding:1.5rem}.welcome-header h1{font-size:2rem}.welcome-header p{font-size:1rem}.dashboard-cards-grid{gap:1.25rem;grid-template-columns:repeat(2,1fr)}.dashboard-card{padding:2rem}.card-icon{height:70px;width:70px}.card-icon svg{height:35px;width:35px}.dashboard-card h3{font-size:1.25rem}}@media (max-width:480px){.dashboard-home-container{padding:1rem}.welcome-header{margin-bottom:2rem}.welcome-header h1{font-size:1.75rem}.welcome-header p{font-size:.95rem}.dashboard-cards-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.dashboard-card{padding:1.5rem}.card-icon{height:60px;width:60px}.card-icon svg{height:30px;width:30px}.dashboard-card h3{font-size:1.1rem}.card-arrow{bottom:1rem;font-size:1.25rem;right:1rem}}@media (max-width:300px){.dashboard-cards-grid{grid-template-columns:1fr}.dashboard-card{padding:1.25rem}.card-icon{height:50px;width:50px}.card-icon svg{height:25px;width:25px}.dashboard-card h3{font-size:1rem}}.card-icon svg{color:#fff!important}.dm-page{padding:0 0 40px}.dm-header{flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:28px}.dm-header,.dm-header-left h2{align-items:center;display:flex}.dm-header-left h2{color:#111827;font-size:22px;font-weight:700;gap:8px;margin:0 0 4px}.dm-header-left p{color:#6b7280;font-size:13px;margin:0}.dm-stats{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:24px}.dm-stat{background:#fff;border-left:4px solid #2c6c9d;border-left:4px solid var(--stat-color,#2c6c9d);border-radius:14px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;gap:4px;padding:16px 18px;transition:transform .2s,box-shadow .2s}.dm-stat:hover{box-shadow:0 6px 18px #0000001a;transform:translateY(-3px)}.dm-stat-value{color:#2c6c9d;color:var(--stat-color,#2c6c9d);font-size:30px;font-weight:800;line-height:1}.dm-stat-label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.dm-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.dm-search{flex:1 1;min-width:200px;position:relative}.dm-search input{background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;box-sizing:border-box;font-size:14px;outline:none;padding:10px 14px 10px 38px;transition:border-color .2s,box-shadow .2s;width:100%}.dm-search input:focus{border-color:#2c6c9d;box-shadow:0 0 0 3px #667eea1a}.dm-search-icon{color:#9ca3af;font-size:14px;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.dm-filter select{background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;cursor:pointer;font-size:14px;outline:none;padding:10px 14px;transition:border-color .2s}.dm-filter select:focus{border-color:#2c6c9d}.dm-btn-add{align-items:center;background:#2c6c9d;border:none;border-radius:10px;box-shadow:0 3px 10px #667eea59;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 20px;transition:all .2s}.dm-btn-add:hover{box-shadow:0 6px 18px #667eea73;transform:translateY(-2px)}.dm-form-card{animation:slideDown .3s ease-out;background:#fff;border:1px solid #f3f4f6;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:24px;padding:28px}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.dm-form-title{align-items:center;border-bottom:1.5px solid #f3f4f6;color:#111827;display:flex;font-size:17px;font-weight:700;gap:8px;margin:0 0 20px;padding-bottom:14px}.dm-form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.dm-form-grid .full-span{grid-column:1/-1}.dm-form-group{display:flex;flex-direction:column;gap:6px}.dm-form-group label{color:#374151;font-size:13px;font-weight:600}.dm-form-group input,.dm-form-group select,.dm-form-group textarea{background:#fafafa;border:1.5px solid #e5e7eb;border-radius:9px;color:#111827;font-family:inherit;font-size:14px;outline:none;padding:10px 12px;transition:border-color .2s,box-shadow .2s}.dm-form-group input:focus,.dm-form-group select:focus,.dm-form-group textarea:focus{background:#fff;border-color:#2c6c9d;box-shadow:0 0 0 3px #667eea1a}.dm-form-group textarea{min-height:90px;resize:vertical}.dm-image-preview{border:2px solid #e5e7eb;border-radius:10px;height:80px;margin-top:8px;object-fit:cover;width:80px}.dm-image-preview.circle{border-radius:50%}.dm-form-actions{border-top:1.5px solid #f3f4f6;display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:16px}.dm-btn-cancel{background:#f3f4f6;border:none;border-radius:9px;color:#374151;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background .2s}.dm-btn-cancel:hover{background:#e5e7eb}.dm-btn-submit{background:#2c6c9d;border:none;border-radius:9px;box-shadow:0 3px 10px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.dm-btn-submit:hover:not(:disabled){box-shadow:0 5px 14px #667eea66;transform:translateY(-1px)}.dm-btn-submit:disabled{cursor:not-allowed;opacity:.65}.dm-cards-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.dm-member-card{background:#fff;border:1px solid #f3f4f6;border-radius:16px;box-shadow:0 3px 12px #00000012;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.dm-member-card:hover{box-shadow:0 14px 36px #667eea2e;transform:translateY(-6px)}.dm-member-card-top{background:#2c6c9d;height:70px}.dm-member-card-top.blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.dm-member-card-top.green{background:linear-gradient(135deg,#10b981,#047857)}.dm-member-card-top.orange{background:linear-gradient(135deg,#f59e0b,#b45309)}.dm-member-card-top.red{background:linear-gradient(135deg,#ef4444,#b91c1c)}.dm-member-card-top.teal{background:linear-gradient(135deg,#14b8a6,#0f766e)}.dm-member-card-top.pink{background:linear-gradient(135deg,#ec4899,#be185d)}.dm-member-avatar-wrap{display:flex;justify-content:center;margin-top:-36px;position:relative;z-index:1}.dm-member-avatar{background:#f3f4f6;box-shadow:0 4px 12px #0000001f;object-fit:cover}.dm-member-avatar,.dm-member-avatar-placeholder{border:3px solid #fff;border-radius:50%;height:72px;width:72px}.dm-member-avatar-placeholder{align-items:center;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);box-shadow:0 4px 12px #0000001a;display:flex;font-size:28px;justify-content:center}.dm-member-card-body{padding:12px 18px 18px;text-align:center}.dm-member-name{color:#111827;font-size:16px;font-weight:700;margin:0 0 4px}.dm-member-designation{color:#6b7280;font-size:13px;margin:0 0 10px}.dm-member-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;margin-bottom:12px;padding:4px 12px}.dm-member-info{background:#f9fafb;border-radius:10px;display:flex;flex-direction:column;gap:5px;margin-bottom:12px;padding:10px 12px;text-align:left}.dm-member-info-row{align-items:center;color:#4b5563;display:flex;font-size:12.5px;gap:7px}.dm-member-info-row i{color:#9ca3af;flex-shrink:0;text-align:center;width:14px}.dm-member-actions{display:flex;gap:8px;justify-content:center}.dm-action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:5px;padding:7px 14px;transition:all .2s}.dm-action-btn.edit{background:#dbeafe;color:#1e40af}.dm-action-btn.toggle{background:#fef9c3;color:#854d0e}.dm-action-btn.delete{background:#fee2e2;color:#991b1b}.dm-action-btn:hover{filter:brightness(.93);transform:translateY(-1px)}.dm-status-dot{border:2px solid #fff;border-radius:50%;height:10px;position:absolute;right:12px;top:12px;width:10px}.dm-status-dot.active{background:#10b981}.dm-status-dot.inactive{background:#ef4444}.dm-status-dot.leave{background:#f59e0b}.dm-table-wrap{background:#fff;border:1px solid #f3f4f6;border-radius:16px;box-shadow:0 3px 12px #00000012;overflow:hidden}.dm-table{border-collapse:collapse;width:100%}.dm-table thead tr{background:#2c6c9d}.dm-table thead th{color:#ffffffe6;font-size:12px;font-weight:700;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.dm-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .15s}.dm-table tbody tr:last-child{border-bottom:none}.dm-table tbody tr:hover{background:#f9fafb}.dm-table tbody td{color:#1f2937;font-size:13.5px;padding:14px 16px;vertical-align:middle}.dm-table-training-cell{align-items:center;display:flex;gap:12px}.dm-table-training-thumb{background:#2c6c9d;border-radius:10px;flex-shrink:0;height:46px;object-fit:cover;width:46px}.dm-table-training-placeholder{align-items:center;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:10px;display:flex;flex-shrink:0;font-size:20px;height:46px;justify-content:center;width:46px}.dm-table-training-name{color:#111827;font-size:14px;font-weight:700;margin-bottom:2px}.dm-table-training-desc{color:#9ca3af;font-size:12px;line-height:1.4}.dm-tag{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:3px 10px}.dm-tag.type{background:#e0e7ff;color:#4338ca}.dm-tag.status-upcoming{background:#dbeafe;color:#1e40af}.dm-tag.status-ongoing{background:#fef3c7;color:#92400e}.dm-tag.status-completed{background:#d1fae5;color:#065f46}.dm-tag.status-cancelled{background:#fee2e2;color:#991b1b}.dm-tag.status-active{background:#d1fae5;color:#065f46}.dm-tag.status-on-leave{background:#fef3c7;color:#92400e}.dm-tag.status-resigned{background:#fee2e2;color:#991b1b}.dm-tag.status-retired{background:#f3f4f6;color:#4b5563}.dm-empty{color:#9ca3af;padding:60px 20px;text-align:center}.dm-empty-icon{display:block;font-size:52px;margin-bottom:14px;opacity:.5}.dm-empty p{font-size:16px;margin:0}.dm-loading{align-items:center;display:flex;justify-content:center;padding:60px}@media (max-width:768px){.dm-cards-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.dm-form-grid{grid-template-columns:1fr}.dm-form-grid .full-span{grid-column:1}.dm-stats{grid-template-columns:repeat(2,1fr)}.dm-table-wrap{overflow-x:auto}}@media (max-width:480px){.dm-cards-grid{grid-template-columns:1fr}.dm-stats{grid-template-columns:1fr 1fr}}.library-management{margin:0 auto;max-width:1400px;padding:20px}.library-header{margin-bottom:30px}.library-header h1{align-items:center;color:#2c3e50;display:flex;font-size:32px;gap:10px;margin-bottom:8px}.library-header p{color:#7f8c8d;font-size:16px}.loading-container{gap:15px;min-height:400px}.spinner{border:4px solid #f3f4f6;border-top-color:#3b82f6}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:15px;padding:20px;transition:transform .3s,box-shadow .3s}.stat-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-5px)}.stat-icon{align-items:center;border-radius:12px;display:flex;font-size:24px;height:60px;justify-content:center;width:60px}.stat-info h3{color:#7f8c8d;font-size:14px;font-weight:500;margin:0 0 8px}.stat-number{color:#2c3e50;font-size:28px;font-weight:700;margin:0}.stat-label{color:#95a5a6;font-size:12px}.library-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:10px;margin-bottom:30px}.tab-button{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:8px;padding:12px 24px;transition:all .3s}.tab-button:hover{color:#3b82f6}.tab-button.active{border-bottom-color:#3b82f6;color:#3b82f6}.tab-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:30px}.book-inventory{animation:fadeIn .3s}.inventory-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.inventory-header h2{color:#2c3e50;font-size:24px;margin:0}.book-form-container{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;margin-bottom:30px;padding:25px}.form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.form-header h3{color:#2c3e50;font-size:20px;margin:0}.btn-close{align-items:center;background:none;border:none;color:#95a5a6;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;padding:0;transition:color .3s;width:32px}.btn-close:hover{color:#e74c3c}.book-form{display:flex;flex-direction:column;gap:20px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group.full-width{grid-column:1/-1}.form-group label{color:#4b5563;font-size:14px;font-weight:500}.form-group input,.form-group select,.form-group textarea{border:2px solid #e5e7eb;font-family:inherit;font-size:14px;padding:10px 14px;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6}.form-actions{gap:10px;justify-content:flex-end;margin-top:10px}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .3s}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563}.btn-success{background:#10b981;color:#fff}.btn-success:hover{background:#059669}.btn-icon{border-radius:6px;font-size:14px;height:36px;width:36px}.btn-edit{background:#f0f9ff;color:#0284c7}.btn-edit:hover{background:#0284c7;color:#fff}.btn-delete{background:#fef2f2;color:#dc2626}.btn-delete:hover{background:#dc2626}.btn-pay{background:#ecfdf5;color:#059669}.btn-pay:hover{background:#059669;color:#fff}.btn-waive{background:#fef3c7;color:#d97706}.btn-waive:hover{background:#d97706;color:#fff}.search-filter-section{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:25px}.search-box{align-items:center;display:flex;flex:1 1;min-width:300px;position:relative}.search-box i{color:#9ca3af;font-size:16px;left:14px;position:absolute}.search-box input{border:2px solid #e5e7eb;border-radius:8px;font-size:14px;padding:10px 14px 10px 42px;transition:border-color .3s;width:100%}.search-box input:focus{border-color:#3b82f6;outline:none}.filter-select{border:2px solid #e5e7eb;border-radius:8px;font-size:14px;padding:10px 14px;transition:border-color .3s}.filter-select:focus{border-color:#3b82f6;outline:none}.books-table-container,.fines-table-container{border:1px solid #e5e7eb;border-radius:12px;overflow-x:auto}.books-table,.fines-table{background:#fff;border-collapse:collapse;width:100%}.books-table td,.books-table th,.fines-table td,.fines-table th{border-bottom:1px solid #f3f4f6;padding:14px;text-align:left}.books-table th,.fines-table th{background:#f9fafb;color:#374151;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.books-table tbody tr:hover,.fines-table tbody tr:hover{background:#f9fafb}.badge{background:#e0e7ff;border-radius:12px;color:#4338ca;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px}.badge-success{background:#d1fae5;color:#065f46}.badge-danger,.badge-success{border-radius:6px;font-size:12px;font-weight:500;padding:4px 8px}.badge-danger{background:#fee2e2;color:#991b1b}.availability{border-radius:12px;display:inline-block;font-size:13px;font-weight:600;padding:4px 12px}.availability.in-stock{background:#d1fae5;color:#065f46}.availability.out-of-stock{background:#fee2e2;color:#991b1b}.status-badge{border-radius:16px;display:inline-block;padding:6px 12px;text-transform:capitalize}.status-badge.issued{background:#fef3c7;color:#92400e}.status-badge.returned{background:#d1fae5;color:#065f46}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.paid{background:#d1fae5;color:#065f46}.status-badge.waived{background:#e5e7eb;color:#4b5563}.empty-state{color:#9ca3af;padding:60px 20px;text-align:center}.empty-state i{font-size:64px;margin-bottom:20px;opacity:.3}.empty-state p{font-size:18px;margin:0}.book-issue{animation:fadeIn .3s}.issue-tabs{display:flex;gap:10px;margin-bottom:30px}.tab-btn{background:#f3f4f6;border:2px solid #0000;border-radius:8px;color:#6b7280;font-size:15px;font-weight:500;gap:8px;padding:12px 24px}.tab-btn:hover{background:#e5e7eb}.tab-btn.active{background:#dbeafe;border-color:#3b82f6;color:#1e40af}.issue-form-container{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;padding:25px}.issue-form-container h3{color:#2c3e50;font-size:20px;margin-bottom:20px}.issue-form{display:flex;flex-direction:column;gap:20px}.search-results{background:#fff;border:2px solid #e5e7eb;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 4px 12px #0000001a;left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10}.search-result-item{border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:12px 16px;transition:background .2s}.search-result-item:hover{background:#f9fafb}.search-result-item:last-child{border-bottom:none}.search-result-item strong{color:#2c3e50;font-size:14px}.book-author,.student-class,.student-id{color:#6b7280;font-size:13px}.no-results{color:#9ca3af;font-size:14px;padding:16px;text-align:center}.issued-books-container{animation:fadeIn .3s}.issued-books-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:20px}.issued-book-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .3s}.issued-book-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-3px)}.issued-book-card.overdue{background:#fef2f2;border-color:#fca5a5}.card-header{align-items:flex-start;background:#f9fafb;border-bottom:2px solid #e5e7eb;display:flex;gap:10px;justify-content:space-between;padding:16px}.card-header h4{color:#2c3e50;flex:1 1;font-size:16px;margin:0}.card-body{display:flex;flex-direction:column;gap:12px;padding:16px}.info-row{align-items:flex-start;gap:12px}.info-row i{color:#6b7280;margin-top:2px;width:20px}.info-row>div{display:flex;flex:1 1;flex-direction:column;gap:4px}.info-row strong{color:#2c3e50;font-size:14px}.info-row span{color:#6b7280;font-size:13px}.text-muted{color:#9ca3af!important}.text-danger{color:#dc2626!important;font-weight:600}.text-success{color:#059669!important;font-size:13px;gap:6px}.fine-alert,.text-success{align-items:center;display:flex}.fine-alert{background:#fff7ed;border:2px solid #fed7aa;border-radius:8px;color:#92400e;gap:10px;padding:12px}.fine-alert i{color:#f59e0b;font-size:18px}.fine-alert strong{color:#ea580c;font-size:16px}.fine-alert span{color:#92400e;font-size:12px}.card-footer{background:#f9fafb;border-top:2px solid #e5e7eb;padding:16px}.card-footer .btn{justify-content:center;width:100%}.fine-management{animation:fadeIn .3s}.fine-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.summary-card{align-items:center;background:#fff;border-left:4px solid;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:15px;padding:20px}.summary-card.pending{border-left-color:#f59e0b}.summary-card.paid{border-left-color:#10b981}.summary-card.waived{border-left-color:#6b7280}.summary-card i{font-size:32px;opacity:.8}.summary-card.pending i{color:#f59e0b}.summary-card.paid i{color:#10b981}.summary-card.waived i{color:#6b7280}.summary-card h4{color:#6b7280;font-size:14px;margin:0 0 8px}.summary-card .amount{color:#2c3e50;font-size:24px;font-weight:700;margin:0 0 4px}.summary-card .count{color:#9ca3af;font-size:12px}.fine-filters{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:25px}.filter-buttons{display:flex;gap:8px}.filter-btn{background:#f3f4f6;border:2px solid #0000;border-radius:8px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s}.filter-btn:hover{background:#e5e7eb}.filter-btn.active{background:#dbeafe;border-color:#3b82f6;color:#1e40af}.book-info,.student-info{display:flex;flex-direction:column;gap:4px}.book-info strong,.student-info strong{color:#2c3e50;font-size:14px}.amount-text{color:#059669;font-size:16px}@media (max-width:768px){.library-header h1{font-size:24px}.form-grid,.form-row,.stats-grid{grid-template-columns:1fr}.search-filter-section{flex-direction:column}.search-box{min-width:100%}.books-table-container,.fines-table-container{font-size:12px}.books-table td,.books-table th,.fines-table td,.fines-table th{padding:10px 8px}.fine-summary,.issued-books-grid{grid-template-columns:1fr}}:root{--em2:#065f46;--em3:#059669;--emp:#ecfdf5;--emb:#a7f3d0;--am3:#d97706;--am4:#fbbf24;--amp:#fffbeb;--amb:#fde68a;--tl:#0d9488;--w:#fff;--g50:#f8fafc;--g100:#f1f5f9;--g200:#e2e8f0;--g300:#cbd5e1;--g400:#94a3b8;--g500:#64748b;--g600:#475569;--g700:#334155;--g800:#1e293b;--g900:#0f172a;--xl:#16a34a;--xlb:#dcfce7;--xld:#15803d;--fb:"Hind Siliguri",sans-serif;--ft:"Noto Serif Bengali",serif;--fe:"Plus Jakarta Sans",sans-serif;--sh0:0 1px 3px #0000000f;--sh1:0 2px 10px #00000017;--sh2:0 6px 24px #0000001f;--cw:230px;--ch:380px;--topbar:60px;--sbw:276px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}.idcg{background:#f1f5f9;background:var(--g100);display:flex;flex-direction:column;font-family:Hind Siliguri,sans-serif;font-family:var(--fb);min-height:100vh}.idcg-topbar{background:#fff;background:var(--w);border-bottom:1.5px solid #e2e8f0;border-bottom:1.5px solid var(--g200);box-shadow:0 1px 3px #0000000f;box-shadow:var(--sh0);flex-shrink:0;height:60px;height:var(--topbar);justify-content:space-between;padding:0 18px;position:-webkit-sticky;position:sticky;top:0;z-index:200}.idcg-topbar,.idcg-topbar-l{align-items:center;display:flex;gap:10px}.idcg-topbar-l{flex:1 1;min-width:0}.idcg-topbar-r{display:flex;gap:7px}.btn-back,.idcg-topbar-r{align-items:center;flex-shrink:0}.btn-back{background:#f1f5f9;background:var(--g100);border:1.5px solid #e2e8f0;border:1.5px solid var(--g200);border-radius:8px;color:#475569;color:var(--g600);cursor:pointer;display:inline-flex;font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:12px;font-weight:700;gap:5px;padding:6px 12px;transition:all .18s;white-space:nowrap}.btn-back:hover{background:#ecfdf5;background:var(--emp);border-color:#059669;border-color:var(--em3);color:#065f46;color:var(--em2)}.page-heading{align-items:center;display:flex;gap:9px;min-width:0}.page-heading-icon{align-items:center;border-radius:9px;box-shadow:0 4px 10px #065f4647;color:#fff;color:var(--w);display:flex;flex-shrink:0;height:34px;justify-content:center;transition:background .3s;width:34px}.page-heading h1{color:#0f172a;color:var(--g900);font-size:15px;font-weight:800;line-height:1}.page-heading h1,.page-heading p{font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe)}.page-heading p{color:#94a3b8;color:var(--g400);font-size:10px}.prog-topbadge{font-weight:800}.prog-topbadge,.sel-chip{border:1.5px solid;border-radius:20px;font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:11px;padding:3px 10px;white-space:nowrap}.sel-chip{display:flex}.sel-chip,.tbtn{align-items:center;font-weight:700;gap:5px}.tbtn{border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:12px;padding:6px 12px;transition:all .18s;white-space:nowrap}.tbtn.ghost{background:#f1f5f9;background:var(--g100);border:1.5px solid #e2e8f0;border:1.5px solid var(--g200);color:#475569;color:var(--g600)}.tbtn.ghost:hover{background:#e2e8f0;background:var(--g200)}.tbtn.teal{background:#0d9488;background:var(--tl);box-shadow:0 3px 10px #0d94884d;color:#fff;color:var(--w)}.tbtn.teal:hover{background:#0f766e;transform:translateY(-1px)}.tbtn.amber{background:linear-gradient(135deg,#d97706,#fbbf24);background:linear-gradient(135deg,var(--am3),var(--am4));box-shadow:0 3px 10px #d977064d;color:#fff;color:var(--w)}.tbtn.amber:hover:not(:disabled){transform:translateY(-1px)}.tbtn.amber:disabled{cursor:not-allowed;opacity:.5}.tbtn.excel{background:linear-gradient(135deg,#15803d,#16a34a);background:linear-gradient(135deg,var(--xld),var(--xl));box-shadow:0 3px 10px #16a34a47;color:#fff;color:var(--w)}.tbtn.excel:hover:not(:disabled){transform:translateY(-1px)}.tbtn.excel:disabled{cursor:not-allowed;opacity:.5;transform:none}.sidebar-toggle{display:none}.idcg-body{align-items:flex-start;display:flex;flex:1 1;min-height:0}.idcg-sidebar{background:#fff;background:var(--w);border-right:1.5px solid #e2e8f0;border-right:1.5px solid var(--g200);box-shadow:0 1px 3px #0000000f;box-shadow:var(--sh0);display:flex;flex-direction:column;flex-shrink:0;height:100vh;overflow:hidden;position:-webkit-sticky;position:sticky;top:0;width:276px;width:var(--sbw);z-index:100}.sidebar-header{align-items:center;background:#f8fafc;background:var(--g50);border-bottom:1.5px solid #e2e8f0;border-bottom:1.5px solid var(--g200);display:none;flex-shrink:0;height:50px;justify-content:space-between;min-height:50px;padding:0 14px}.sidebar-header-title{align-items:center;color:#065f46;color:var(--em2);display:flex;font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:11px;font-weight:800;gap:7px;letter-spacing:.6px;text-transform:uppercase}.sidebar-close-btn{align-items:center;background:#fff;background:var(--w);border:1.5px solid #e2e8f0;border:1.5px solid var(--g200);border-radius:8px;color:#64748b;color:var(--g500);cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;transition:all .15s;width:30px}.sidebar-close-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.sidebar-scroll{display:flex;flex:1 1;flex-direction:column;gap:8px;min-height:0;overflow-x:hidden;overflow-y:auto;padding:10px 10px 20px;scrollbar-color:#cbd5e1 #f8fafc;scrollbar-color:var(--g300) var(--g50);scrollbar-width:thin}.sidebar-scroll::-webkit-scrollbar{width:5px}.sidebar-scroll::-webkit-scrollbar-track{background:#f8fafc;background:var(--g50);border-radius:3px}.sidebar-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;background:var(--g300);border-radius:3px}.sidebar-scroll::-webkit-scrollbar-thumb:hover{background:#94a3b8;background:var(--g400)}.sidebar-overlay{display:none}.panel{background:#fff;background:var(--w);border:1.5px solid #e2e8f0;border:1.5px solid var(--g200);border-radius:11px;box-shadow:0 1px 3px #0000000f;box-shadow:var(--sh0);flex-shrink:0;overflow:visible;transition:box-shadow .2s,border-color .2s}.panel:focus-within{border-color:#059669;border-color:var(--em3);box-shadow:0 0 0 3px #05966914,0 2px 10px #00000017;box-shadow:0 0 0 3px #05966914,var(--sh1)}.panel-head{align-items:center;background:#f8fafc;background:var(--g50);border:none;border-radius:11px;cursor:pointer;display:flex;justify-content:space-between;padding:10px 13px;transition:background .15s;-webkit-user-select:none;user-select:none;width:100%}.panel-head:hover{background:#f1f5f9;background:var(--g100)}.panel-head-l{align-items:center;color:#065f46;color:var(--em2);display:flex;font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:10.5px;font-weight:800;gap:7px;letter-spacing:.6px;text-transform:uppercase}.panel-badge{background:#d97706;background:var(--am3);border-radius:10px;color:#fff;color:var(--w);font-size:10px;font-weight:800;margin-left:2px;padding:1px 7px}.panel .panel-head:first-child:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0}.panel-body{border-radius:0 0 11px 11px;border-top:1.5px solid #f1f5f9;border-top:1.5px solid var(--g100);display:flex;flex-direction:column;gap:10px;padding:10px 13px 14px}.prog-selector{display:flex;gap:5px}.prog-btn{align-items:center;background:#fff;background:var(--w);border:2px solid;border-radius:9px;cursor:pointer;display:flex;flex:1 1;font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:11px;font-weight:800;gap:4px;justify-content:center;padding:8px 4px;transition:all .2s;white-space:nowrap}.prog-btn:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.prog-swatch-row{display:flex;gap:5px;margin-top:2px}.prog-swatch{border-radius:3px;cursor:pointer;flex:1 1;height:5px;transition:height .2s}.prog-swatch.active{height:7px;outline-offset:2px}.fg{display:flex;flex-direction:column;gap:4px;width:100%}.fg label{color:#64748b;color:var(--g500);font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.fg-2col{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.field-hint{color:#94a3b8;color:var(--g400);font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:10px;line-height:1.5}.fsel{appearance:none;-webkit-appearance:none;background:#fff;background:var(--w);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='m0 0 5 6 5-6z' fill='%2394A3B8'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;background-size:9px 5px;border:1.5px solid #e2e8f0;border:1.5px solid var(--g200);border-radius:8px;color:#1e293b;color:var(--g800);cursor:pointer;font-family:Hind Siliguri,sans-serif;font-family:var(--fb);font-size:12px;outline:none;padding:8px 26px 8px 9px;transition:border-color .2s,box-shadow .2s;width:100%}.fsel:focus{border-color:#059669;border-color:var(--em3);box-shadow:0 0 0 3px #0596691a}.fsel:disabled{background-color:#f8fafc;background-color:var(--g50);cursor:not-allowed;opacity:.42}.date-inp,.text-inp{background:#fff;background:var(--w);border:1.5px solid #e2e8f0;border:1.5px solid var(--g200);border-radius:8px;color:#1e293b;color:var(--g800);font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:12px;outline:none;padding:8px 10px;transition:border-color .2s,box-shadow .2s;width:100%}.date-inp:focus,.text-inp:focus{border-color:#059669;border-color:var(--em3);box-shadow:0 0 0 3px #0596691a}.date-inp::placeholder,.text-inp::placeholder{color:#cbd5e1;color:var(--g300)}.input-icon-wrap{align-items:center;display:flex;position:relative;width:100%}.input-icon-left{left:9px;pointer-events:none}.input-icon-clear,.input-icon-left{align-items:center;color:#94a3b8;color:var(--g400);display:flex;position:absolute;z-index:1}.input-icon-clear{background:none;border:none;border-radius:4px;cursor:pointer;padding:3px;right:8px;transition:color .14s}.input-icon-clear:hover{color:#dc2626}.fsel-padded{padding-left:28px!important;padding-right:28px!important}.upfield{display:flex;flex-direction:column;gap:6px;width:100%}.upfield-label{color:#475569;color:var(--g600);font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:11px;font-weight:700;gap:5px}.upfield-label,.upfield-ok{align-items:center;display:flex}.upfield-ok{color:#059669;color:var(--em3);font-size:10px;gap:3px}.upfield-row{gap:6px;width:100%}.upfield-btn,.upfield-row{align-items:center;display:flex}.upfield-btn{background:#f8fafc;background:var(--g50);border:1.5px dashed #cbd5e1;border:1.5px dashed var(--g300);border-radius:9px;color:#64748b;color:var(--g500);cursor:pointer;flex:1 1;font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:11px;font-weight:600;gap:5px;justify-content:center;min-width:0;padding:8px 10px;transition:all .18s}.upfield-btn:hover{background:#ecfdf5;background:var(--emp);border-color:#059669;border-color:var(--em3);border-style:solid;color:#065f46;color:var(--em2)}.upfield-del{align-items:center;background:#fef2f2;border:1.5px solid #fecaca;border-radius:8px;color:#dc2626;cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;transition:all .14s;width:32px}.upfield-del:hover{background:#fee2e2}.upfield-thumb-wrap{align-items:center;background:#f8fafc;background:var(--g50);border:1.5px solid #e2e8f0;border:1.5px solid var(--g200);border-radius:9px;display:flex;max-width:100%;overflow:hidden;padding:7px;width:100%}.upfield-thumb{border-radius:5px;display:block;height:auto;max-height:68px;max-width:100%;object-fit:contain}.upfield-thumb.sig{max-height:38px}.hint-box{align-items:flex-start;background:#fffbeb;background:var(--amp);border:1px solid #fde68a;border:1px solid var(--amb);border-radius:8px;display:flex;gap:7px;padding:8px 10px}.hint-box span{color:#92400e;font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:10px;line-height:1.55}.sf-wrap{position:relative;width:100%}.sf-ico{align-items:center;color:#94a3b8;color:var(--g400);display:flex;left:9px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.sf-inp{background:#fff;background:var(--w);border:1.5px solid #e2e8f0;border:1.5px solid var(--g200);border-radius:8px;color:#1e293b;color:var(--g800);font-family:Hind Siliguri,sans-serif;font-family:var(--fb);font-size:12px;outline:none;padding:8px 30px;transition:border-color .2s,box-shadow .2s;width:100%}.sf-inp:focus{border-color:#059669;border-color:var(--em3);box-shadow:0 0 0 3px #0596691a}.sf-clr{align-items:center;background:none;border:none;border-radius:4px;color:#94a3b8;color:var(--g400);cursor:pointer;display:flex;padding:3px;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:color .14s}.sf-clr:hover{color:#dc2626}.load-btn{align-items:center;border:none;border-radius:9px;box-shadow:0 4px 12px #065f4638;color:#fff;color:var(--w);cursor:pointer;display:flex;font-family:Hind Siliguri,sans-serif;font-family:var(--fb);font-size:13px;font-weight:700;gap:7px;justify-content:center;padding:9px 12px;transition:all .2s;width:100%}.load-btn:hover:not(:disabled){box-shadow:0 6px 16px #065f4652;transform:translateY(-1px)}.load-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.excel-sidebar-block{background:#dcfce7;background:var(--xlb);border:1.5px solid #86efac;border-radius:10px;display:flex;flex-direction:column;flex-shrink:0;gap:10px;padding:12px;width:100%}.excel-info{align-items:flex-start;display:flex;gap:9px}.excel-info-title{color:#15803d;color:var(--xld);font-size:12px;font-weight:800}.excel-info-sub,.excel-info-title{font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe)}.excel-info-sub{color:#166534;font-size:10px;line-height:1.45;margin-top:2px;word-break:break-word}.excel-btn{background:linear-gradient(135deg,#15803d,#16a34a)!important;background:linear-gradient(135deg,var(--xld),var(--xl))!important;border:none!important;box-shadow:0 3px 10px #16a34a3d!important;color:#fff!important;color:var(--w)!important}.excel-btn:hover:not(:disabled){opacity:.95;transform:translateY(-1px)}.selbar{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--g100);gap:6px;justify-content:space-between;padding:5px 0}.selall-btn,.selbar{align-items:center;display:flex}.selall-btn{background:#f8fafc;background:var(--g50);border:1.5px solid #e2e8f0;border:1.5px solid var(--g200);border-radius:7px;color:#64748b;color:var(--g500);cursor:pointer;flex-shrink:0;font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:11px;font-weight:700;gap:5px;padding:4px 9px;transition:all .14s}.selall-btn:hover{background:#ecfdf5;background:var(--emp);border-color:#059669;border-color:var(--em3);color:#065f46;color:var(--em2)}.selcount{color:#d97706;color:var(--am3);font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:11px;font-weight:800}.slist{background:#f8fafc;background:var(--g50);border:1.5px solid #f1f5f9;border:1.5px solid var(--g100);border-radius:8px;max-height:210px;overflow-x:hidden;overflow-y:auto;scrollbar-color:#e2e8f0 #0000;scrollbar-color:var(--g200) #0000;scrollbar-width:thin}.slist::-webkit-scrollbar{width:4px}.slist::-webkit-scrollbar-thumb{background:#e2e8f0;background:var(--g200);border-radius:2px}.slist-empty{color:#94a3b8;color:var(--g400);flex-direction:column;font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:12px;padding:20px}.slist-empty,.srow{align-items:center;display:flex;gap:7px}.srow{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--g100);border-left:3px solid #0000;cursor:pointer;padding:7px 10px;transition:background .12s}.srow:last-child{border-bottom:none}.srow:hover{background:#f1f5f9;background:var(--g100)}.srow-chk{color:#cbd5e1;color:var(--g300);flex-shrink:0;transition:color .14s}.srow-ava{align-items:center;background:#e2e8f0;background:var(--g200);border:2px solid #fff;border:2px solid var(--w);border-radius:50%;display:flex;flex-shrink:0;height:28px;justify-content:center;overflow:hidden;width:28px}.srow-ava img{height:100%;object-fit:cover;width:100%}.srow-info{flex:1 1;min-width:0}.srow-name{color:#1e293b;color:var(--g800);font-size:11.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srow-meta{color:#94a3b8;color:var(--g400);font-size:9.5px;margin-top:1px}.srow-eye{align-items:center;background:none;border:none;border-radius:4px;color:#cbd5e1;color:var(--g300);cursor:pointer;display:flex;flex-shrink:0;padding:3px;transition:color .14s}.srow-eye.on,.srow-eye:hover{color:#d97706;color:var(--am3)}.action-block{display:flex;flex-direction:column;flex-shrink:0;gap:8px;width:100%}.stat-row{background:#f8fafc;background:var(--g50);border:1.5px solid #e2e8f0;border:1.5px solid var(--g200);border-radius:10px;display:flex;gap:2px;padding:10px 6px}.stat-item{flex:1 1}.stat-v{color:#065f46;color:var(--em2);font-size:19px;font-weight:900;line-height:1}.stat-l,.stat-v{font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe)}.stat-l{color:#94a3b8;color:var(--g400);font-size:9px;font-weight:600;margin-top:2px}.stat-item.hi .stat-v{color:#d97706;color:var(--am3)}.act-btn{align-items:center;border:none;border-radius:9px;cursor:pointer;display:flex;font-family:Hind Siliguri,sans-serif;font-family:var(--fb);font-size:13px;font-weight:700;gap:7px;justify-content:center;padding:10px;transition:all .2s;width:100%}.act-btn:disabled{cursor:not-allowed;opacity:.5}.act-btn.amber{background:linear-gradient(135deg,#d97706,#fbbf24);background:linear-gradient(135deg,var(--am3),var(--am4));box-shadow:0 4px 12px #d977063d;color:#fff;color:var(--w)}.act-btn.amber:hover:not(:disabled){transform:translateY(-1px)}.act-btn.outline{background:#fff;background:var(--w);border:2px solid}.act-btn.outline:hover:not(:disabled){background:#ecfdf5;background:var(--emp)}.idcg-main{flex:1 1;min-width:0;padding:20px}.state-box{align-items:center;color:#94a3b8;color:var(--g400);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:60vh;text-align:center}.state-ico{opacity:.3}.state-box h3{color:#334155;color:var(--g700);font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:22px;font-weight:800}.state-box p{color:#94a3b8;color:var(--g400);font-size:14px}.empty-icon{align-items:center;border-radius:18px;color:#fff;color:var(--w);display:flex;height:80px;justify-content:center;opacity:.22;width:80px}.program-preview-grid{display:flex;gap:10px;margin:6px 0 10px}.prog-preview-card{background:#fff;background:var(--w);border:1.5px solid #e2e8f0;border:1.5px solid var(--g200);border-radius:12px;cursor:pointer;flex:1 1;overflow:hidden;position:relative;transition:all .2s}.prog-preview-card.active,.prog-preview-card:hover{box-shadow:0 6px 24px #0000001f;box-shadow:var(--sh2);transform:translateY(-2px)}.ppc-hdr{height:26px}.ppc-body{padding:8px 10px}.ppc-name{font-size:13px;font-weight:800}.ppc-name,.ppc-sub{font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe)}.ppc-sub{color:#94a3b8;color:var(--g400);font-size:9px;margin-top:2px}.ppc-check{align-items:center;border-radius:50%;display:flex;height:17px;justify-content:center;position:absolute;right:5px;top:5px;width:17px}.howto-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(5,1fr);margin-top:8px;max-width:620px;width:100%}.howto-card{background:#fff;background:var(--w);border:1.5px solid #e2e8f0;border:1.5px solid var(--g200);border-radius:12px;padding:12px 10px}.howto-n{font-size:20px;font-weight:900;margin-bottom:4px}.howto-n,.howto-t{font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe)}.howto-t{color:#1e293b;color:var(--g800);font-size:11px;font-weight:700}.howto-d{color:#94a3b8;color:var(--g400);font-size:10px;margin-top:2px}.toolbar{gap:10px;justify-content:space-between;margin-bottom:12px}.toolbar,.toolbar-left{align-items:center;display:flex;flex-wrap:wrap}.toolbar-left{gap:7px}.toolbar-count{color:#64748b;color:var(--g500);font-size:13px;font-weight:600}.toolbar-count,.toolbar-prog-badge{font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe)}.toolbar-prog-badge{border:1.5px solid;border-radius:12px;font-size:10px;font-weight:800;padding:3px 9px}.toolbar-btns{display:flex;flex-wrap:wrap;gap:6px}.tb{align-items:center;background:#fff;background:var(--w);border:1.5px solid #e2e8f0;border:1.5px solid var(--g200);border-radius:8px;color:#64748b;color:var(--g500);cursor:pointer;display:inline-flex;font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:11px;font-weight:700;gap:5px;padding:6px 11px;transition:all .14s}.tb:hover:not(:disabled){background:#ecfdf5;background:var(--emp);border-color:#059669;border-color:var(--em3);color:#065f46;color:var(--em2)}.tb.amber{background:#d97706;background:var(--am3);border-color:#d97706;border-color:var(--am3);color:#fff;color:var(--w)}.tb.amber:hover{background:#b45309}.tb.teal{background:#0d9488;background:var(--tl);border-color:#0d9488;border-color:var(--tl);color:#fff;color:var(--w)}.tb.teal:hover{background:#0f766e}.tb.excel{background:#16a34a;background:var(--xl);border-color:#16a34a;border-color:var(--xl);color:#fff;color:var(--w)}.tb.excel:hover:not(:disabled){background:#15803d;background:var(--xld)}.tb.excel:disabled{cursor:not-allowed;opacity:.5}.excel-bar{align-items:center;background:#dcfce7;background:var(--xlb);border:1.5px solid #86efac;border-radius:10px;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px;padding:9px 14px}.excel-bar span{color:#166534;flex:1 1;font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:12px;min-width:100px}.excel-bar span strong{font-weight:800}.excel-bar-btn{align-items:center;background:#16a34a;background:var(--xl);border:none;border-radius:7px;color:#fff;color:var(--w);cursor:pointer;display:inline-flex;flex-shrink:0;font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:11px;font-weight:700;gap:5px;padding:5px 13px;transition:all .18s;white-space:nowrap}.excel-bar-btn:hover:not(:disabled){background:#15803d;background:var(--xld)}.excel-bar-btn:disabled{cursor:not-allowed;opacity:.5}.card-list{display:flex;flex-direction:column;gap:10px}.card-row{background:#fff;background:var(--w);border:1.5px solid #e2e8f0;border:1.5px solid var(--g200);border-radius:12px;box-shadow:0 1px 3px #0000000f;box-shadow:var(--sh0);overflow:hidden;transition:all .2s}.card-row:hover{box-shadow:0 2px 10px #00000017;box-shadow:var(--sh1)}.cr-head{justify-content:space-between;padding:11px 14px}.cr-head,.cr-l{align-items:center;display:flex;gap:10px}.cr-l{flex:1 1;min-width:0}.cr-chk{align-items:center;background:none;border:none;color:#cbd5e1;color:var(--g300);cursor:pointer;display:flex;flex-shrink:0;transition:color .14s}.cr-chk:hover{color:#059669;color:var(--em3)}.cr-ava{align-items:center;background:#f1f5f9;background:var(--g100);border:2px solid #e2e8f0;border:2px solid var(--g200);border-radius:50%;display:flex;flex-shrink:0;height:40px;justify-content:center;overflow:hidden;position:relative;width:40px}.cr-ava img{height:100%;object-fit:cover;width:100%}.cr-dot{background:#cbd5e1;background:var(--g300);border:1.5px solid #fff;border:1.5px solid var(--w);border-radius:50%;bottom:1px;height:10px;position:absolute;right:1px;width:10px}.cr-dot.active{background:#10b981}.cr-text{flex:1 1;min-width:0}.cr-name{color:#1e293b;color:var(--g800);font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cr-meta{color:#94a3b8;color:var(--g400);font-size:11px}.cr-r{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:7px;justify-content:flex-end}.cr-badge{background:#f1f5f9;background:var(--g100);border:1px solid #e2e8f0;border:1px solid var(--g200);border-radius:20px;color:#64748b;color:var(--g500);font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:10px;font-weight:700;padding:3px 10px}.cr-badge.active{background:#d1fae5;border-color:#a7f3d0;border-color:var(--emb);color:#065f46;color:var(--em2)}.cr-btn{align-items:center;background:#fff;background:var(--w);border:1.5px solid #e2e8f0;border:1.5px solid var(--g200);border-radius:7px;color:#64748b;color:var(--g500);cursor:pointer;display:inline-flex;font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:11px;font-weight:700;gap:4px;padding:5px 10px;transition:all .14s}.cr-btn:hover{border-color:#059669;border-color:var(--em3);color:#065f46;color:var(--em2)}.cr-btn.amber{background:#d97706;background:var(--am3);border-color:#d97706;border-color:var(--am3);color:#fff;color:var(--w)}.cr-btn.amber:hover{background:#b45309}.cr-drawer{align-items:center;background:#f8fafc;background:var(--g50);border-top:1.5px solid #f1f5f9;border-top:1.5px solid var(--g100);display:flex;flex-direction:column;gap:14px;padding:16px}.cr-tabs{display:flex;gap:6px}.cr-tab{background:#fff;background:var(--w);border:1.5px solid;border-radius:20px;color:#64748b;color:var(--g500);cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:12px;font-weight:700;padding:6px 18px;transition:all .18s}.cr-tab.on{color:#fff;color:var(--w)}.cr-stage{align-items:center;display:flex;flex-direction:column;gap:8px}.cr-card-wrap{filter:drop-shadow(0 8px 20px rgba(6,95,70,.18));transition:transform .3s}.cr-card-wrap:hover{transform:scale(1.015)}.cr-note{color:#94a3b8;color:var(--g400);font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:10px}.spin{animation:spn 1s linear infinite}@keyframes spn{to{transform:rotate(1turn)}}.pg-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000a6;inset:0;justify-content:center;position:fixed;z-index:9999}.pg-box,.pg-overlay{align-items:center;display:flex}.pg-box{background:#fff;background:var(--w);border-radius:20px;box-shadow:0 20px 60px #0000004d;flex-direction:column;gap:10px;min-width:220px;padding:36px 44px;text-align:center}.pg-title{color:#1e293b;color:var(--g800);font-size:18px;font-weight:800}.pg-sub,.pg-title{font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe)}.pg-sub{color:#94a3b8;color:var(--g400);font-size:13px}.idc{background:#fff;background:var(--w);border-radius:12px;box-sizing:border-box;display:flex;flex-direction:column;font-family:Hind Siliguri,sans-serif;font-family:var(--fb);height:380px;height:var(--ch);overflow:hidden;width:230px;width:var(--cw)}.idc-hdr{gap:8px;padding:8px 10px}.idc-hdr,.idc-logo-wrap{align-items:center;display:flex;flex-shrink:0}.idc-logo-wrap{height:40px;justify-content:center;width:40px}.idc-logo-img{display:block;max-height:40px;max-width:40px;object-fit:contain}.idc-logo-fb{align-items:center;background:#ffffff26;border-radius:8px;color:#fff;color:var(--w);display:flex;font-size:20px;font-weight:900;height:40px;justify-content:center;width:40px}.idc-hdr-text{flex:1 1;min-width:0}.idc-cname-bn{color:#fff;color:var(--w);font-family:"Noto Serif Bengali",serif;font-family:var(--ft);font-size:14.5px;font-weight:800;line-height:1.2;text-shadow:0 1px 2px #0003}.idc-cname-bn,.idc-cname-en{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idc-cname-en{color:#ffffffd1;font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:12px;font-weight:600}.idc-stripe{flex-shrink:0;height:3px}.idc-front{background:#fafcff}.idc-label-row{display:flex;flex-shrink:0;justify-content:center;padding:5px 10px 2px}.idc-card-label{border-radius:12px;color:#fff;color:var(--w);font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:10px;font-weight:800;letter-spacing:1.5px;padding:3px 12px;white-space:nowrap}.idc-photo-center{display:flex;flex-shrink:0;justify-content:center;padding:8px 0 4px}.idc-photo-ring{border-radius:50%;height:84px;padding:3px;width:84px}.idc-photo-inner{background:#f1f5f9;background:var(--g100);border:2px solid #fff;border:2px solid var(--w);border-radius:50%;height:100%;overflow:hidden;width:100%}.idc-photo-img{display:block;height:100%;object-fit:cover;width:100%}.idc-photo-ph{align-items:center;color:#cbd5e1;color:var(--g300);display:flex;height:100%;justify-content:center;width:100%}.idc-name-center{flex-shrink:0;padding:6px 10px 2px;text-align:center}.idc-stu-name{font-family:"Noto Serif Bengali",serif;font-family:var(--ft);font-size:16px;font-weight:800;line-height:1.2}.idc-front-divider{flex-shrink:0;height:1.5px;margin:5px 14px}.idc-details-block{flex-shrink:0;padding:0 14px}.idc-detail-row{align-items:baseline;display:grid;grid-template-columns:62px 10px 1fr;padding:2.5px 0}.idc-dl{color:#64748b;color:var(--g500);font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:14px;font-weight:700;line-height:1.4}.idc-dsep{color:#cbd5e1;color:var(--g300);font-size:14px}.idc-dv{color:#1e293b;color:var(--g800);font-size:14px;font-weight:600;line-height:1.4;word-break:break-word}.idc-bot-bar{flex-shrink:0;height:5px;margin-top:auto}.idc-back{background:#f8fafc;background:var(--g50)}.idc-back-hdr{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;padding:8px 10px}.idc-back-id-lbl{color:#ffffffb3;font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase}.idc-back-id-lbl,.idc-back-id-val{font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe)}.idc-back-id-val{color:#fff;color:var(--w);font-size:17px;font-weight:900;letter-spacing:1px;line-height:1.1}.idc-back-rows{flex-shrink:0;padding:6px 12px 4px}.idc-back-row{align-items:baseline;display:grid;grid-template-columns:64px 8px 1fr;padding:2px 0}.idc-brl{color:#64748b;color:var(--g500);font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:14px;font-weight:700;line-height:1.4}.idc-brsep{color:#cbd5e1;color:var(--g300);font-size:14px}.idc-brv{color:#1e293b;color:var(--g800);font-size:14px;font-weight:600;line-height:1.4;word-break:break-word}.idc-notice{align-items:flex-start;background:#fffbeb;background:var(--amp);border:1px solid #fde68a;border:1px solid var(--amb);border-radius:6px;display:flex;flex-shrink:0;gap:5px;margin:5px 10px;padding:5px 8px}.idc-notice span{color:#92400e;font-size:13px;line-height:1.5}.idc-back-spacer{flex:1 1;min-height:4px}.idc-back-bottom-row{align-items:flex-end;display:flex;flex-shrink:0;justify-content:space-between;padding:5px 12px 4px}.idc-back-valid{color:#64748b;color:var(--g500);font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:13px;font-weight:700}.idc-back-sig-block{min-width:80px;text-align:center}.idc-back-sig-img{display:block;height:26px;margin:0 auto 2px;max-width:86px;object-fit:contain}.idc-back-sig-blank{height:26px}.idc-back-sig-rule{height:1px;margin-bottom:3px}.idc-back-sig-cap{color:#64748b;color:var(--g500);font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:13px;font-weight:700}.idc-back-foot{flex-shrink:0;padding:7px 10px}.idc-bf-ids{color:#fff9;font-family:Plus Jakarta Sans,sans-serif;font-family:var(--fe);font-size:12px}.pdf-pool{pointer-events:none;position:fixed;z-index:-1}.pdf-pool,.pdf-slot{left:-9999px;top:-9999px}.pdf-slot{background:#fff;background:var(--w);height:380px;height:var(--ch);overflow:hidden;position:absolute;width:230px;width:var(--cw)}#print-root{display:none}@media print{body>*{display:none!important}#print-root{background:#fff!important;display:block!important;inset:0!important;position:fixed!important;z-index:99999!important}.print-hdr{font-family:Plus Jakarta Sans,Hind Siliguri,sans-serif;font-size:10pt;font-weight:700;padding:5mm 0 3mm;text-align:center}.print-page{align-items:flex-start;break-inside:avoid;display:flex;gap:6mm;padding:3mm 8mm;page-break-inside:avoid}.print-slot{display:flex;flex-direction:column;gap:2mm}.print-lbl{color:#6b7280;font-family:Plus Jakarta Sans,sans-serif;font-size:7pt;font-weight:700;margin:0}.idc{height:90mm!important;width:54mm!important}.idc,.idc-back-foot,.idc-back-hdr,.idc-bot-bar,.idc-card-label,.idc-hdr,.idc-notice,.idc-stripe{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.pdf-pool,.pg-overlay{display:none!important}}@media (max-width:1024px){:root{--sbw:256px}}@media (max-width:860px){.idcg-sidebar{bottom:0;box-shadow:4px 0 32px #0000002e;height:100%;left:-100%;position:fixed;top:0;transition:left .28s cubic-bezier(.4,0,.2,1);width:min(300px,88vw);z-index:500}.idcg-sidebar.open{left:0}.sidebar-header{display:flex}.sidebar-scroll{padding-top:8px}.sidebar-overlay{animation:sbfade .22s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000070;display:block;inset:0;position:fixed;z-index:499}@keyframes sbfade{0%{opacity:0}to{opacity:1}}.sidebar-toggle{display:inline-flex}.idcg-main{padding:14px}.howto-grid{grid-template-columns:1fr 1fr}.program-preview-grid{flex-wrap:wrap}}@media (max-width:640px){.idcg-topbar{gap:6px;padding:0 12px}.page-heading h1{font-size:14px}.btn-back span,.page-heading p,.prog-topbadge,.sel-chip,.tbtn span{display:none}.btn-back,.tbtn{padding:7px 9px}.cr-r{flex-wrap:wrap;gap:5px}.excel-bar{align-items:flex-start;flex-direction:column;gap:6px}.toolbar{gap:5px}.howto-grid{gap:7px;grid-template-columns:1fr 1fr}}@media (max-width:420px){.howto-grid{grid-template-columns:1fr}.cr-card-wrap{transform:scale(.9);transform-origin:top center}.prog-selector{gap:4px}.prog-btn{font-size:10px;padding:7px 3px}.fg-2col{grid-template-columns:1fr}.program-preview-grid{flex-direction:column}}.admission-form-page{background:#266299;min-height:100vh;padding:20px}.admission-header{color:#fff;margin-bottom:30px;position:relative;text-align:center}.back-btn{align-items:center;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:8px;left:0;padding:10px 20px;position:absolute;top:0;transition:all .3s}.back-btn:hover{background:#ffffff4d}.admission-header h1{font-size:2.5rem;margin-bottom:10px}.admission-header p{font-size:1.1rem;opacity:.9}.progress-steps{justify-content:center;margin-bottom:40px;margin-left:auto;margin-right:auto;max-width:900px}.progress-step,.progress-steps{align-items:center;display:flex}.progress-step{flex-direction:column;gap:8px}.step-number{background:#ffffff4d;font-size:1.2rem;transition:all .3s}.progress-step.active .step-number{background:#fff;box-shadow:0 4px 15px #ffffff4d;color:#667eea}.step-label{color:#fff;font-size:.9rem;opacity:.7;text-align:center}.progress-step.active .step-label{font-weight:600;opacity:1}.progress-line{background:#ffffff4d;height:3px;margin:0 10px;transition:all .3s;width:80px}.progress-line.active{background:#fff}.admission-form-container{background:#fff;border-radius:15px;box-shadow:0 10px 40px #0003;margin:0 auto;max-width:900px;padding:40px}.form-step h2{border-bottom:2px solid #f0f0f0;color:#333;gap:12px;margin-bottom:30px;padding-bottom:15px}.form-step h2,.form-step h3{align-items:center;display:flex}.form-step h3{color:#667eea;font-size:1.2rem;gap:8px;margin:25px 0 15px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#333;font-size:.95rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:12px;transition:all .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.checkbox-group{margin:20px 0}.checkbox-group label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:10px}.checkbox-group input[type=checkbox]{cursor:pointer;height:20px;width:20px}.upload-grid{grid-gap:20px;display:grid;grid-template-columns:repeat(2,1fr)}.upload-box label{color:#333;display:block;font-weight:600;margin-bottom:15px}.file-upload-area{align-items:center;background:#f9f9f9;border-radius:8px;display:flex;justify-content:center;min-height:180px;position:relative}.upload-label{align-items:center;color:#667eea;cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:20px;transition:all .3s}.upload-label:hover{color:#5568d3}.file-preview{height:100%;position:relative;width:100%}.file-preview img{border-radius:8px;height:180px;object-fit:cover;width:100%}.file-uploaded{align-items:center;color:#10b981;display:flex;flex-direction:column;gap:10px;padding:20px}.file-uploaded span{color:#333;font-size:.9rem;word-break:break-all}.remove-file{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:30px;justify-content:center;position:absolute;right:10px;top:10px;transition:all .3s;width:30px}.remove-file:hover{background:#dc2626;transform:scale(1.1)}.upload-box small{color:#666;display:block;font-size:.85rem;margin-top:10px}.form-actions{border-top:2px solid #f0f0f0;display:flex;gap:15px;justify-content:space-between;margin-top:40px;padding-top:30px}.btn-next,.btn-prev,.btn-submit{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;padding:14px 30px;transition:all .3s}.btn-prev{background:#e0e0e0;color:#333}.btn-prev:hover{background:#d0d0d0}.btn-next,.btn-submit{background:#266299;color:#fff;margin-left:auto}.btn-next:hover,.btn-submit:hover{box-shadow:0 5px 20px #667eea66;transform:translateY(-2px)}.btn-submit:disabled{cursor:not-allowed;opacity:.6;transform:none}.spinner{animation:spin .8s linear infinite;border:3px solid #ffffff4d;border-top-color:#fff;height:18px;width:18px}@media (max-width:768px){.admission-form-page{padding:10px}.admission-header h1{font-size:1.8rem}.back-btn{margin-bottom:20px;position:static}.progress-steps{overflow-x:auto;padding-bottom:10px}.progress-line{width:40px}.step-label{font-size:.75rem}.admission-form-container{padding:20px}.form-row,.upload-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-next,.btn-submit{margin-left:0}}.document-instructions{background:#23a7ff;border-radius:15px;box-shadow:0 8px 20px #667eea4d;color:#fff;margin-bottom:30px;padding:25px}.document-instructions h3{align-items:center;color:#fff;display:flex;font-size:1.3rem;gap:10px;margin-bottom:20px}.document-instructions ul{list-style:none;margin:0;padding:0}.document-instructions li{align-items:center;border-bottom:1px solid #fff3;display:flex;font-size:1.05rem;gap:10px;padding:12px 0}.document-instructions li:last-child{border-bottom:none}.document-instructions .note{background:#ffffff26;border-radius:10px;font-size:.95rem;font-weight:600;margin-top:20px;padding:15px}.upload-grid{display:flex;gap:20px;justify-content:center;margin-top:20px}.upload-box{border:2px dashed #e0e0e0;border-radius:12px;max-width:400px;text-align:center;width:100%}.admissions-page,.upload-box{padding:20px}.page-header{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d;justify-content:space-between;margin-bottom:30px;padding:25px}.header-left,.page-header{align-items:center;display:flex}.header-left{gap:15px}.header-left h1{color:#333;font-size:28px;margin:0}.header-left p{color:#666;font-size:14px;margin:5px 0 0}.header-actions{display:flex;gap:10px}.btn-danger,.btn-primary{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s}.btn-export{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-export:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.btn-delete-all{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-delete-all:hover{box-shadow:0 4px 12px #ef44444d;transform:translateY(-2px)}.filters-section{align-items:center;background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding:20px}.search-form{display:flex;flex:1 1;gap:10px;min-width:300px}.search-input-group{align-items:center;background:#f5f7fa;border-radius:10px;display:flex;flex:1 1;gap:10px;padding:10px 15px}.search-input-group input{background:#0000;border:none;outline:none;width:100%}.btn-search{background:#23a7ff;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.filter-group{align-items:center;display:flex;gap:10px}.filter-select{border:2px solid #e1e8ed;border-radius:10px;cursor:pointer;outline:none;padding:10px 15px}.students-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.stat-item{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d;padding:20px;text-align:center}.stat-item h3{color:#667eea;font-size:32px;margin:0 0 5px}.stat-item p{color:#666;font-size:14px;margin:0}.table-container{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d;overflow:hidden}.data-table{border-collapse:collapse;width:100%}.data-table thead{background:#f5f7fa}.data-table th{color:#333;font-size:14px;font-weight:600;padding:15px;text-align:left}.data-table td{border-top:1px solid #e1e8ed;color:#666;font-size:14px;padding:15px}.student-photo{border-radius:50%;height:40px;object-fit:cover;width:40px}.student-name{color:#333;font-weight:600}.student-name div{display:flex;flex-direction:column;gap:4px}.student-name small{color:#666;font-size:12px}.reg-no{color:#667eea;font-family:Courier New,monospace}.gpa,.reg-no{font-weight:600}.gpa{color:#10b981}.status-badge{border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:5px 12px}.action-buttons{display:flex;gap:8px}.btn-icon{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .3s;width:32px}.btn-view{background:#e3f2fd;color:#1976d2}.btn-view:hover{background:#1976d2;color:#fff}.btn-delete{background:#ffebee;color:#c62828}.btn-delete:hover{background:#c62828;color:#fff}.no-data{color:#999;padding:40px!important;text-align:center}.loading-container{align-items:center;background:#fff;border-radius:15px;display:flex;flex-direction:column;justify-content:center;padding:60px}.spinner{animation:spin 1s linear infinite;border:5px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pagination-container{border-radius:15px;gap:20px;justify-content:center;margin-top:20px;padding:20px}.pagination-btn,.pagination-container{align-items:center;background:#fff;display:flex}.pagination-btn{border:2px solid #e1e8ed;border-radius:10px;cursor:pointer;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s}.pagination-btn:hover:not(:disabled){border-color:#667eea;color:#667eea}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-info{color:#333;font-weight:600}.modal-overlay{align-items:center;animation:fadeIn .3s;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s;background:#fff;border-radius:20px;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;padding:25px}.modal-header h2{color:#333;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:32px;height:40px;justify-content:center;transition:background .3s;width:40px}.close-btn:hover{background:#f5f7fa}.modal-body{padding:25px}.student-detail-card{align-items:center;display:flex;flex-direction:column;gap:20px}.detail-photo{border-radius:50%;box-shadow:0 4px 15px #0000001a;height:150px;object-fit:cover;width:150px}.detail-info{width:100%}.info-row{border-bottom:1px solid #e1e8ed;display:flex;padding:12px 0}.info-row:last-child{border-bottom:none}.info-row label{color:#333;font-weight:600;min-width:150px}.info-row span{color:#666;flex:1 1}@media (max-width:768px){.page-header{align-items:flex-start;gap:15px}.filters-section,.page-header{flex-direction:column}.search-form{width:100%}.filter-group{flex-wrap:wrap;width:100%}.data-table{font-size:12px}.data-table td,.data-table th{padding:10px 5px}}.install-guide-wrapper{display:flex;flex-direction:column;min-height:100vh}.install-guide-container{flex:1 1;margin:0 auto;max-width:1000px;padding:40px 20px}.install-guide-header{background:#23a7ff;border-radius:20px;color:#fff;margin-bottom:50px;padding:30px 20px;text-align:center}.header-icon{animation:bounce 2s infinite;background:#fff3;border-radius:50%;display:inline-block;margin-bottom:20px;padding:20px}.download a{background:#01875f;border-radius:0;color:#f5f7fa;display:inline-block;font-size:16px;padding:10px;text-decoration:none}.download a:hover{color:#adff2f}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.install-guide-header h1{font-size:36px;font-weight:700;margin-bottom:10px}.install-guide-header p{font-size:18px;margin:0;opacity:.9}.platform-tabs{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:40px}.tab-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:12px;color:#666;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:10px;padding:15px 30px;transition:all .3s}.tab-btn:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea33;color:#667eea;transform:translateY(-2px)}.tab-btn.active{background:#23a7ff;border-color:#667eea;box-shadow:0 6px 20px #667eea4d;color:#fff}.steps-container{display:flex;flex-direction:column;gap:30px;margin-bottom:50px}.step-card{background:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;gap:25px;padding:30px;transition:all .3s}.step-card:hover{border-color:#667eea;box-shadow:0 8px 30px #0000001f;transform:translateY(-5px)}.step-number{align-items:center;background:#23a7ff;border-radius:50%;box-shadow:0 4px 12px #667eea4d;color:#fff;display:flex;flex-shrink:0;font-size:24px;font-weight:700;height:50px;justify-content:center;width:50px}.step-content{flex:1 1}.step-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.step-icon{color:#667eea}.step-header h3{color:#333;font-size:22px;font-weight:600;margin:0}.step-description{color:#666;font-size:16px;line-height:1.6;margin-bottom:20px}.step-image-wrapper{background:#f5f5f5;border-radius:12px;box-shadow:0 4px 15px #0000001a;overflow:hidden;width:100%}.step-image-wrapper img{display:block;height:auto;transition:transform .3s;width:100%}.step-card:hover .step-image-wrapper img{transform:scale(1.02)}.benefits-section{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:20px;margin-bottom:40px;padding:50px 30px}.benefits-section h2{color:#333;font-size:32px;font-weight:700;margin-bottom:40px;text-align:center}.benefits-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.benefit-card{background:#fff;border-radius:16px;box-shadow:0 4px 15px #00000014;padding:30px;text-align:center;transition:all .3s}.benefit-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-8px)}.benefit-card svg{color:#667eea;margin-bottom:15px}.benefit-card h4{color:#333;font-size:20px;font-weight:600;margin-bottom:10px}.benefit-card p{color:#666;font-size:14px;line-height:1.6;margin:0}.video-tutorial-section{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:30px;padding:40px;text-align:center}.video-tutorial-section h2{color:#333;font-size:28px;font-weight:600;margin-bottom:15px}.video-tutorial-section p{color:#666;font-size:16px;margin-bottom:25px}.video-links{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.video-link{align-items:center;background:linear-gradient(135deg,red,#c00);border-radius:12px;box-shadow:0 4px 15px #ff00004d;color:#fff;display:inline-flex;font-size:16px;font-weight:600;gap:8px;padding:15px 30px;text-decoration:none;transition:all .3s}.video-link:hover{box-shadow:0 6px 20px #f006;transform:translateY(-3px)}.help-section{background:#fff;border:2px dashed #667eea;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:40px;text-align:center}.help-section h3{color:#333;font-size:24px;font-weight:600;margin-bottom:15px}.help-section p{color:#666;font-size:16px;line-height:1.6;margin-bottom:10px}.help-section strong{color:#667eea}@media (max-width:768px){.install-guide-container{padding:20px 15px}.install-guide-header{margin-bottom:30px;padding:20px 15px}.install-guide-header h1{font-size:28px}.install-guide-header p{font-size:16px}.step-card{flex-direction:column;gap:15px;padding:20px}.step-number{font-size:20px;height:40px;width:40px}.step-header h3{font-size:18px}.step-description{font-size:14px}.benefits-section{padding:30px 20px}.benefits-section h2{font-size:24px}.benefits-grid{gap:20px;grid-template-columns:1fr}.video-tutorial-section{padding:30px 20px}.video-tutorial-section h2{font-size:22px}.video-links{flex-direction:column;gap:15px}.video-link{justify-content:center;width:100%}.help-section{padding:25px 20px}.help-section h3{font-size:20px}.help-section p,.tab-btn{font-size:14px}.tab-btn{padding:12px 20px}}@media (max-width:480px){.install-guide-header h1{font-size:24px}.install-guide-header p{font-size:14px}.platform-tabs{flex-direction:column;gap:10px}.tab-btn{justify-content:center;width:100%}.step-header{align-items:flex-start;flex-direction:column}.benefits-section h2{font-size:20px}}.pl-root{background:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.pl-main{flex:1 1}
/*# sourceMappingURL=main.ce06569e.css.map*/