html,body,#root,.app-wrapper{max-width:100vw;overflow-x:hidden}.app-sidebar{color:#f8fafc!important;background-color:#0f172a!important;border-right:1px solid #1e293b!important;transition:width .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),margin-left .3s cubic-bezier(.4,0,.2,1)!important}.app-main,.app-footer,.app-header{transition:margin-left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1)!important}.app-sidebar .sidebar-brand{white-space:nowrap;overflow:hidden;background-color:#020617!important;border-bottom:1px solid #1e293b!important}.app-sidebar .sidebar-brand h6{letter-spacing:.5px;color:#f8fafc!important}.app-sidebar .sidebar-brand small{color:#94a3b8!important}.app-sidebar .nav-link{white-space:nowrap;margin-bottom:4px;padding:12px 16px;font-weight:600;transition:all .2s;overflow:hidden;color:#cbd5e1!important;border-radius:12px!important}.app-sidebar .nav-link:hover{transform:translate(4px);color:#fff!important;background-color:#ffffff14!important}.app-sidebar .nav-link.active,.app-sidebar .nav-link.active:focus,.app-sidebar .nav-link.active:hover{color:#fff!important;background:linear-gradient(135deg,#4f46e5 0%,#6366f1 100%)!important;box-shadow:0 4px 14px #4f46e566!important}.app-sidebar .nav-link.active i{color:#fff!important}@media (width>=992px){body:not(.sidebar-collapse) .app-sidebar,.app-wrapper:not(.sidebar-collapse) .app-sidebar{visibility:visible!important;opacity:1!important;z-index:1038!important;width:250px!important;min-width:250px!important;max-width:250px!important;display:block!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important;transform:none!important}body:not(.sidebar-collapse) .app-main,body:not(.sidebar-collapse) .app-header,body:not(.sidebar-collapse) .app-footer,.app-wrapper:not(.sidebar-collapse) .app-main,.app-wrapper:not(.sidebar-collapse) .app-header,.app-wrapper:not(.sidebar-collapse) .app-footer{width:calc(100% - 250px)!important;margin-left:250px!important}body.sidebar-collapse .app-sidebar,.app-wrapper.sidebar-collapse .app-sidebar{visibility:visible!important;opacity:1!important;z-index:1038!important;width:4.8rem!important;min-width:4.8rem!important;max-width:4.8rem!important;margin-left:0!important;display:block!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important;transform:none!important}body.sidebar-collapse .app-sidebar .sidebar-brand,.app-wrapper.sidebar-collapse .app-sidebar .sidebar-brand{text-align:center!important;justify-content:center!important;padding:16px 4px!important}body.sidebar-collapse .app-sidebar .sidebar-brand h6,body.sidebar-collapse .app-sidebar .sidebar-brand small,body.sidebar-collapse .app-sidebar .nav-link span,.app-wrapper.sidebar-collapse .app-sidebar .sidebar-brand h6,.app-wrapper.sidebar-collapse .app-sidebar .sidebar-brand small,.app-wrapper.sidebar-collapse .app-sidebar .nav-link span{display:none!important}body.sidebar-collapse .app-sidebar .nav-link,.app-wrapper.sidebar-collapse .app-sidebar .nav-link{text-align:center!important;border-radius:12px!important;justify-content:center!important;gap:0!important;width:3.2rem!important;margin:0 auto 6px!important;padding:12px 0!important}body.sidebar-collapse .app-sidebar .nav-link i,.app-wrapper.sidebar-collapse .app-sidebar .nav-link i{margin:0!important;font-size:1.4rem!important}body.sidebar-collapse .app-main,body.sidebar-collapse .app-footer,body.sidebar-collapse .app-header,.app-wrapper.sidebar-collapse .app-main,.app-wrapper.sidebar-collapse .app-footer,.app-wrapper.sidebar-collapse .app-header{width:calc(100% - 4.8rem)!important;margin-left:4.8rem!important}}@media (width<=991.98px){body:not(.sidebar-open) .app-sidebar,.app-wrapper:not(.sidebar-mobile-open):not(.sidebar-open) .app-sidebar{z-index:1050!important;visibility:visible!important;width:270px!important;height:100vh!important;transition:transform .3s cubic-bezier(.4,0,.2,1)!important;display:block!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important;transform:translate(-100%)!important}body.sidebar-open .app-sidebar,.app-wrapper.sidebar-mobile-open .app-sidebar,.app-wrapper.sidebar-open .app-sidebar{z-index:1050!important;visibility:visible!important;opacity:1!important;width:270px!important;height:100vh!important;display:block!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important;transform:translate(0)!important;box-shadow:0 0 35px #000000b3!important}body.sidebar-open .app-sidebar .nav-link span,.app-wrapper.sidebar-mobile-open .app-sidebar .nav-link span,.app-wrapper.sidebar-open .app-sidebar .nav-link span{display:inline-block!important}body.sidebar-open .app-sidebar .nav-link,.app-wrapper.sidebar-mobile-open .app-sidebar .nav-link,.app-wrapper.sidebar-open .app-sidebar .nav-link{justify-content:flex-start!important;width:100%!important;padding:12px 16px!important}.sidebar-backdrop{z-index:1040!important;-webkit-backdrop-filter:blur(3px)!important;backdrop-filter:blur(3px)!important;background:#0009!important;position:fixed!important;inset:0!important}.app-main,.app-footer,.app-header{width:100%!important;margin-left:0!important}}@media (width<=576px){.brand-text-full{display:none!important}.brand-text-short{display:inline!important}.user-name-text,.btn-header-text{display:none!important}.app-header .btn,.app-header .badge{padding:6px 10px!important;font-size:.8rem!important}}.card{margin-bottom:24px;padding:28px;transition:all .2s;box-shadow:0 4px 25px #0000000f;background-color:var(--bs-body-bg)!important;color:var(--bs-body-color)!important;border:1px solid var(--bs-border-color)!important;border-top:4px solid #4f46e5!important;border-radius:16px!important}.card h1,.card h2,.card h3,.card h4,.card h5,.card h6{color:var(--bs-body-color)!important}.card-gradient-hero{text-align:center;padding:40px 20px;color:#fff!important;background:linear-gradient(135deg,#4f46e5 0%,#3730a3 100%)!important;border-top:none!important;border-radius:16px!important;box-shadow:0 10px 30px #4f46e54d!important}.card-gradient-hero h1,.card-gradient-hero h2,.card-gradient-hero h3,.card-gradient-hero h4,.card-gradient-hero p,.card-gradient-hero span,.card-gradient-hero label,.card-gradient-hero div{color:#fff!important}.page-title{color:var(--bs-body-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:6px;font-size:1.8rem;font-weight:800;display:flex}.page-subtitle{color:var(--bs-secondary-color);margin-bottom:24px;font-size:1rem}.form-group{margin-bottom:20px}.form-label{color:var(--bs-body-color);font-size:.95rem;font-weight:700;margin-bottom:8px!important;display:block!important}.form-input,.form-select,.form-textarea{border:1.5px solid var(--bs-border-color);background-color:var(--bs-body-bg);width:100%;color:var(--bs-body-color);box-sizing:border-box;border-radius:10px;padding:12px 16px;font-size:1rem;transition:border-color .15s,box-shadow .15s;display:block}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 3px #4f46e533}.form-textarea{resize:vertical;min-height:120px}.btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-size:.95rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary{box-shadow:0 4px 12px #4f46e54d;color:#fff!important;background:linear-gradient(135deg,#4f46e5 0%,#4338ca 100%)!important;border:none!important}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #4f46e566;color:#fff!important;background:linear-gradient(135deg,#4338ca 0%,#3730a3 100%)!important}.btn-warning{color:#fff!important;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)!important;border:none!important;box-shadow:0 4px 12px #f59e0b59!important}.btn-warning:hover{transform:translateY(-1px);box-shadow:0 6px 16px #f59e0b73;color:#fff!important;background:linear-gradient(135deg,#d97706 0%,#b45309 100%)!important}[data-bs-theme=light] .btn-outline-primary{color:#3730a3!important;background-color:#e0e7ff!important;border:2px solid #6366f1!important}[data-bs-theme=light] .btn-outline-primary:hover{color:#312e81!important;background-color:#c7d2fe!important}[data-bs-theme=light] .btn-outline-warning{color:#92400e!important;background-color:#fef3c7!important;border:2px solid #f59e0b!important}[data-bs-theme=light] .btn-outline-warning:hover{color:#78350f!important;background-color:#fde68a!important}[data-bs-theme=dark] .btn-outline-primary{color:#e0e7ff!important;background-color:#6366f133!important;border:2px solid #818cf8!important}[data-bs-theme=dark] .btn-outline-primary:hover{color:#fff!important;background-color:#6366f159!important}[data-bs-theme=dark] .btn-outline-warning{color:#fef3c7!important;background-color:#f59e0b33!important;border:2px solid #fbbf24!important}[data-bs-theme=dark] .btn-outline-warning:hover{color:#fff!important;background-color:#f59e0b59!important}.btn-secondary{background-color:var(--bs-secondary-bg);color:var(--bs-body-color);border:1px solid var(--bs-border-color)}.btn-secondary:hover{background-color:var(--bs-tertiary-bg)}.btn-success{box-shadow:0 4px 12px #10b9814d;color:#fff!important;background:linear-gradient(135deg,#10b981 0%,#059669 100%)!important}.btn-success:hover{transform:translateY(-1px);box-shadow:0 6px 16px #10b98166}.btn-danger{box-shadow:0 4px 12px #ef44444d;color:#fff!important;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)!important}.btn-danger:hover{transform:translateY(-1px)}.table-container{border:1px solid var(--bs-border-color);background-color:var(--bs-body-bg);border-radius:12px;overflow-x:auto}table{border-collapse:collapse;width:100%}th{background-color:var(--bs-tertiary-bg);text-align:left;color:var(--bs-secondary-color);border-bottom:2px solid var(--bs-border-color);padding:14px 16px;font-size:.9rem;font-weight:700}td{border-bottom:1px solid var(--bs-border-color);vertical-align:middle;color:var(--bs-body-color);padding:14px 16px;font-size:.95rem}tr:last-child td{border-bottom:none}tr:hover td{background-color:#4f46e50a}.action-btn{cursor:pointer;border:none;border-radius:8px;margin:0 2px;padding:6px 12px;font-size:.85rem;font-weight:700;transition:all .15s}.action-btn.edit{color:#4f46e5;background:#4f46e51f}.action-btn.delete{color:#ef4444;background:#ef44441f}.action-btn:hover{filter:brightness(.9);transform:translateY(-1px)}.camera-scanner-container{border:2px solid var(--bs-border-color);background:#000;border-radius:16px;width:100%;max-width:420px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 10px 25px #0006}.camera-scanner-video{object-fit:cover;width:100%;height:320px;display:block}.camera-scanner-overlay{pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.camera-target-box{border:3px solid #10b981;border-radius:16px;width:220px;height:220px;position:relative;box-shadow:0 0 0 9999px #0006}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#000000b3;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal-content{color:var(--bs-body-color);border:1px solid var(--bs-border-color);z-index:10001;border-radius:16px;width:90%;max-width:600px;max-height:90vh;padding:32px;position:relative;overflow-y:auto;box-shadow:0 20px 50px #0006;background-color:var(--bs-body-bg)!important}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-close{cursor:pointer;color:var(--bs-secondary-color);background:0 0;border:none;font-size:1.5rem}.toast,.app-toast{color:#fff!important;opacity:0!important;z-index:99999!important;background:linear-gradient(135deg,#059669 0%,#047857 100%)!important;border:1px solid #ffffff4d!important;border-radius:14px!important;align-items:center!important;gap:10px!important;padding:16px 28px!important;font-size:1.05rem!important;font-weight:700!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;display:flex!important;position:fixed!important;bottom:32px!important;right:32px!important;transform:translateY(100px)!important;box-shadow:0 10px 30px #0006!important}.toast.show,.app-toast.show{opacity:1!important;transform:translateY(0)!important}.toast.toast-success,.app-toast.toast-success{color:#fff!important;background:linear-gradient(135deg,#059669 0%,#047857 100%)!important;border:1px solid #10b981!important;box-shadow:0 12px 35px #10b98166!important}.toast.toast-error,.app-toast.toast-error{color:#fff!important;background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%)!important;border:1px solid #ef4444!important;box-shadow:0 12px 35px #ef444466!important}.toast *,.app-toast *{color:#fff!important}@media print{@page{size:215mm 330mm;margin:5mm}html,body,.app-wrapper,.app-main,.modal-overlay,.modal-content,#printable-bulk-cards,#printable-bulk-teacher-cards-area,.single-card-print-container{color:#000!important;background:#fff!important;width:100%!important;margin:0!important;padding:0!important;overflow:visible!important}.app-header,.app-sidebar,.app-footer,.modal-header,.modal-close,.btn,.toast,.page-title,.page-subtitle,.d-print-none,.card:not(#printable-single-student-card):not(#printable-teacher-card):not(#printable-bulk-cards):not(#printable-bulk-teacher-cards-area):not(#printable-class-journal):not(#printable-teacher-journal-report):not(.printable-card){display:none!important}.app-wrapper,.app-main{box-shadow:none!important;background:0 0!important;border:none!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.modal-overlay,.modal-content{width:100%!important;max-width:100%!important;box-shadow:none!important;background:0 0!important;border:none!important;margin:0!important;padding:0!important;display:block!important;position:absolute!important;top:0!important;left:0!important;overflow:visible!important}.single-card-print-container{box-sizing:border-box!important;grid-template-rows:repeat(4,auto)!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;max-width:190mm!important;margin:0 auto!important;display:grid!important}#printable-bulk-cards,#printable-bulk-teacher-cards-area{box-sizing:border-box!important;width:100%!important;max-width:190mm!important;margin:0 auto!important;display:block!important}.print-f4-page-grid>div{box-sizing:border-box!important;grid-template-rows:repeat(4,auto)!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;display:grid!important}.single-f4-card{visibility:visible!important;box-shadow:none!important;box-sizing:border-box!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;width:100%!important;max-width:100%!important;display:block!important}.single-f4-card *{visibility:visible!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.single-f4-card svg{visibility:visible!important;display:block!important}}
