.landing-container{min-height:100vh;display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f7fafc;color:#2d3748}.landing-container .landing-nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:#fff;box-shadow:0 2px 4px #0000000d}.landing-container .landing-nav .brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:1.2rem;color:#1a365d}.landing-container .landing-nav .brand img{height:40px}.landing-container .landing-nav .brand .brand-details{display:flex;flex-direction:column;line-height:1.1}.landing-container .landing-nav .brand .desc-concern{font-size:.8rem;color:#4a5568;font-weight:400}.landing-container .landing-nav .login-btn{padding:.6rem 1.5rem;background-color:#3182ce;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.landing-container .landing-nav .login-btn:hover{background-color:#2b6cb0}.landing-container .hero-section{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:4rem 2rem;background:linear-gradient(135deg,#ebf8ffa8,#ffffffbd),url(/assets/Ornika-BwoevEm0.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}.landing-container .hero-section h1{font-size:3.5rem;margin-bottom:1rem;color:#2d3748;line-height:1.2}.landing-container .hero-section p{font-size:1.25rem;color:#000;max-width:600px;margin-bottom:2.5rem;display:inline-block;background-image:linear-gradient(to right,#3649f0 50%,transparent 50%);background-size:200% 100%;background-position:100% 0;background-repeat:no-repeat;animation:selectingTest 4.5s ease-in-out infinite}.landing-container .hero-section .hero-actions{display:flex;gap:15px}.landing-container .hero-section .hero-actions button{padding:.8rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .1s}.landing-container .hero-section .hero-actions button:active{transform:translateY(1px)}.landing-container .hero-section .hero-actions .primary-btn{background-color:#3182ce;color:#fff;border:none;box-shadow:0 4px 6px #3182ce4d}.landing-container .hero-section .hero-actions .primary-btn:hover{background-color:#2c5282}.landing-container .hero-section .hero-actions .secondary-btn{background-color:#fff;color:#3182ce;border:2px solid #3182ce}.landing-container .hero-section .hero-actions .secondary-btn:hover{background-color:#ebf8ff}.landing-container .features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;padding:4rem 2rem;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.landing-container .features .card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000000d;border:1px solid #e2e8f0;text-align:center;transition:transform .2s}.landing-container .features .card:hover{transform:translateY(-5px);box-shadow:0 10px 15px #0000000d}.landing-container .features .card h3{color:#2d3748;margin-bottom:.5rem;font-size:1.25rem}.landing-container .features .card p{color:#718096;line-height:1.5}.landing-container .landing-footer{padding:2rem;text-align:center;background-color:#2d3748;color:#cbd5e0;font-size:.9rem}.landing-container .landing-footer p{margin:5px 0}@media(max-width:768px){.landing-container .hero-section h1{font-size:2.5rem}}@keyframes selectingTest{0%{background-position:100% 0;color:#718096}15%,55%{background-position:0% 0;color:#fff}70%,to{background-position:100% 0;color:#718096}}.marks-entry-container{padding:20px;background:#f8f9fa;height:100vh;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.marks-entry-container .add-student-bar{background:#fff;padding:15px;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:20px;display:flex;align-items:center;gap:20px;flex-shrink:0}.marks-entry-container .add-student-bar h3{margin:0;font-size:1rem;color:#4a5568;width:250px}.marks-entry-container .add-student-bar .inputs{display:flex;gap:10px}.marks-entry-container .add-student-bar .inputs input{padding:8px;border:1px solid #cbd5e0;border-radius:4px}.marks-entry-container .add-student-bar .inputs input.input-roll{width:80px}.marks-entry-container .add-student-bar .inputs input.input-name{width:250px}.marks-entry-container .add-student-bar .inputs button{background:#3182ce;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-weight:700}.marks-entry-container .status-bar{position:fixed;bottom:30px;left:20px;background:#2d3748;color:#fff;padding:8px 20px;border-radius:4px;font-weight:700;z-index:2000}.marks-entry-container .status-bar.saving{background:#d69e2e;color:#000}.marks-entry-container .status-bar.saved{background:#38a169}.marks-entry-container .status-bar.error{background:#e53e3e}.marks-entry-container .table-wrapper{background:#fff;border-radius:8px;flex-grow:1;overflow:auto;position:relative;border:1px solid #e2e8f0;padding-bottom:100px}.marks-entry-container .table-wrapper table{width:100%;min-width:max-content;border-collapse:separate;border-spacing:0}.marks-entry-container .table-wrapper table thead{position:sticky;top:0;z-index:100}.marks-entry-container .table-wrapper table thead th{background:#fff;border:1px solid #e2e8f0;text-align:center;padding:10px}.marks-entry-container .table-wrapper table thead tr:nth-child(2) th{top:41px}.marks-entry-container .table-wrapper table tbody td{border:1px solid #e2e8f0;text-align:center;padding:8px;background:#fff}.marks-entry-container .table-wrapper table .fixed-col{position:sticky;left:0;background:#fff;z-index:10;border-right:2px solid #e2e8f0}.marks-entry-container .table-wrapper table .fixed-col.roll-col{width:65px;min-width:65px;padding:8px 4px}.marks-entry-container .table-wrapper table .fixed-col.name-col{left:65px;min-width:200px;text-align:left}.marks-entry-container .table-wrapper table .edit-metadata-input{border:1px solid transparent;background:transparent;width:100%;padding:5px}.marks-entry-container .table-wrapper table .edit-metadata-input.roll-edit{font-weight:700;text-align:center}.marks-entry-container .table-wrapper table .student-id-subtext{font-size:.7rem;color:#a0aec0}.marks-entry-container .table-wrapper table .subject-header{background:#2b6cb0;color:#fff}.marks-entry-container .table-wrapper table .sub-th{background:#ebf8ff;font-size:.8rem}.marks-entry-container .table-wrapper table .total-cell{font-weight:700;background:#f7fafc}.marks-entry-container .table-wrapper table input:not(.edit-metadata-input){width:50px;text-align:center;border:1px solid #edf2f7;border-radius:4px;padding:4px}.marks-entry-container .table-wrapper table .delete-btn{color:#e53e3e;background:none;border:none;cursor:pointer}@media print{@page{size:A4 portrait;margin:0}body{margin:0;padding:0}.no-print{display:none!important}.print-layout-container{display:block;background:#fff}.detailed-card-page:not(:last-child){page-break-after:always!important;break-after:page!important}}.print-layout-container{display:flex;height:calc(100vh - 60px);background:#cbd5e0}.print-layout-container .sidebar{width:280px;background:#fff;padding:15px;overflow-y:auto;border-right:1px solid #a0aec0}.print-layout-container .sidebar .btn-group-main{display:flex;gap:5px;margin-bottom:15px}.print-layout-container .sidebar .btn-group-main button{flex:1;padding:10px 5px;border:none;cursor:pointer;color:#fff;font-weight:700;border-radius:4px;font-size:.85rem}.print-layout-container .sidebar .btn-group-main button.print-all{background:#2b6cb0}.print-layout-container .sidebar .btn-group-main button.download-all{background:#2d3748}.print-layout-container .sidebar .student-list .list-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px;cursor:pointer}.print-layout-container .sidebar .student-list .list-item.active{border-color:#3182ce;background:#ebf8ff}.print-layout-container .sidebar .student-list .list-item .name-info{display:flex;flex-direction:column}.print-layout-container .sidebar .student-list .list-item .name-info .roll{font-weight:700;font-size:.8rem}.print-layout-container .sidebar .student-list .list-item .individual-dl{background:#e53e3e;color:#fff;border:none;padding:6px;border-radius:4px;display:flex;align-items:center}.print-layout-container .preview-area{flex:1;overflow-y:auto;padding:20px;display:block}.print-layout-container .preview-area .preview-controls{width:210mm;margin:0 auto 15px;display:flex;justify-content:space-between;align-items:center;background:#fff;padding:10px 20px;border-radius:8px}.print-layout-container .preview-area .preview-controls .dl-current-btn{background:#38a169;color:#fff;border:none;padding:8px 16px;border-radius:4px;font-weight:700;display:flex;align-items:center;gap:8px}.print-layout-container .preview-area .card-wrapper{width:210mm;margin:0 auto;background:#fff}.detailed-card-page{width:210mm;height:296.5mm;background:#fff;padding:12mm;box-sizing:border-box;font-family:Times New Roman,serif;position:relative;margin:0!important}.detailed-card-page .school-header{text-align:center;margin-bottom:15px}.detailed-card-page .school-header h1{margin-top:15px;margin-bottom:0;font-size:26pt;text-transform:uppercase;color:#1a365d}.detailed-card-page .school-header .address{margin:2px 0 5px;color:#555;font-size:11pt}.detailed-card-page .school-header .school-logo{width:90px;position:absolute;left:12mm;top:12mm}.detailed-card-page .school-header .exam-title{border:2px solid #333;padding:4px;margin-bottom:12px;background:#f9f9f9}.detailed-card-page .school-header .exam-title h2{margin:0;font-size:16pt}.detailed-card-page .school-header .student-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px 12px;text-align:left;margin-top:10px;border:1px solid #cbd5e0;padding:10px;background:#f8fafc;font-size:10.5pt}.detailed-card-page .school-header .student-info-grid .info-item{line-height:1.4;white-space:nowrap}.detailed-card-page .school-header .student-info-grid .info-item.name-item,.detailed-card-page .school-header .student-info-grid .info-item.version-item{grid-column:span 2}.detailed-card-page .school-header .student-info-grid .merit-position{grid-column:span 4;text-align:center;font-size:14pt;font-weight:700;color:#c53030;border-top:1px dashed #cbd5e0;padding-top:6px;margin-top:4px}.detailed-card-page .marks-table{width:100%;border-collapse:collapse;margin-bottom:15px}.detailed-card-page .marks-table th,.detailed-card-page .marks-table td{border:1px solid #333;padding:4px 5px;text-align:center;font-size:10.5pt}.detailed-card-page .marks-table th{background:#edf2f7;font-weight:700}.detailed-card-page .marks-table .sub-name{width:40%;text-align:left;padding-left:8px}.detailed-card-page .marks-table .summary-row{background:#edf2f7;font-weight:700}.detailed-card-page .bottom-info{display:flex;justify-content:space-around;margin-top:10px;padding:8px;border:1px solid #333;font-size:11pt}.detailed-card-page .signatures{display:flex;justify-content:space-between;margin-top:45px;padding:0 10px}.detailed-card-page .signatures .sig{text-align:center;width:160px}.detailed-card-page .signatures .sig .sig-img{height:45px;display:block;margin:0 auto -8px}.detailed-card-page .signatures .sig .line{border-top:1px solid #333;padding-top:5px;font-weight:700}.detailed-card-page .contact-footer{position:absolute;bottom:8mm;left:0;right:0;font-size:9pt;color:#718096;border-top:1px dotted #cbd5e0;padding-top:5px;text-align:center}@media print{@page{size:A4 portrait;margin:0}body{margin:0;padding:0}.no-print{display:none!important}.final-certificate-container{display:block;background:#fff}.certificate-page:not(:last-child){page-break-after:always!important;break-after:page!important}.paper-a4{box-shadow:none!important;margin:0!important;width:100%!important;border:none!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.final-certificate-container{display:flex;height:calc(100vh - 60px);background:#cbd5e0}.final-certificate-container .sidebar{width:280px;background:#fff;padding:15px;overflow-y:auto;border-right:1px solid #a0aec0}.final-certificate-container .sidebar .btn-group-main{display:flex;gap:5px;margin-bottom:15px}.final-certificate-container .sidebar .btn-group-main button{flex:1;padding:10px 5px;border:none;cursor:pointer;color:#fff;font-weight:700;border-radius:4px;font-size:.85rem}.final-certificate-container .sidebar .btn-group-main button.print-all{background:#2b6cb0}.final-certificate-container .sidebar .btn-group-main button.download-all{background:#2d3748}.final-certificate-container .sidebar .list .item{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px;cursor:pointer}.final-certificate-container .sidebar .list .item.active{border-color:#3182ce;background:#ebf8ff}.final-certificate-container .sidebar .list .item .name-info{display:flex;flex-direction:column;overflow:hidden}.final-certificate-container .sidebar .list .item .name-info .roll{font-weight:700;font-size:.8rem}.final-certificate-container .sidebar .list .item .name-info .name{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.final-certificate-container .sidebar .list .item .individual-dl{background:#e53e3e;color:#fff;border:none;padding:6px;border-radius:4px;display:flex;align-items:center;cursor:pointer}.final-certificate-container .preview-area{flex:1;overflow-y:auto;padding:20px;display:block}.final-certificate-container .preview-area .preview-controls{width:210mm;margin:0 auto 15px;display:flex;justify-content:space-between;align-items:center;background:#fff;padding:10px 20px;border-radius:8px}.final-certificate-container .preview-area .preview-controls .dl-current-btn{background:#38a169;color:#fff;border:none;padding:8px 16px;border-radius:4px;font-weight:700;display:flex;align-items:center;gap:8px;cursor:pointer}.final-certificate-container .preview-area .paper-a4{width:210mm;margin:0 auto;background:#fff;padding:0;box-shadow:0 0 20px #0003}.certificate-page{width:210mm;height:296.5mm;background:#fff;padding:8mm;box-sizing:border-box;font-family:Times New Roman,serif;position:relative;margin:0!important;border:4px double #333}.certificate-page .school-header{text-align:center;margin-bottom:15px}.certificate-page .school-header h1{margin-top:15px;margin-bottom:0;font-size:26pt;text-transform:uppercase;color:#1a365d}.certificate-page .school-header .address{margin:2px 0;font-size:11pt;color:#4a5568}.certificate-page .school-header .school-logo{width:90px;position:absolute;left:10mm;top:10mm}.certificate-page .school-header .exam-title{border-top:2px solid #333;border-bottom:2px solid #333;margin:10px 0;padding:5px}.certificate-page .school-header .exam-title h2{margin:0}.certificate-page .school-header .student-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px 12px;text-align:left;margin-top:15px;border:1px solid #cbd5e0;padding:12px;background:#f8fafc;font-size:10.5pt}.certificate-page .school-header .student-info-grid .info-item{line-height:1.4;white-space:nowrap}.certificate-page .school-header .student-info-grid .info-item.name-item,.certificate-page .school-header .student-info-grid .info-item.version-item{grid-column:span 2}.certificate-page .school-header .student-info-grid .merit-position{grid-column:span 4;text-align:center;font-size:14pt;font-weight:700;color:#c53030;border-top:1px dashed #cbd5e0;padding-top:6px;margin-top:4px}.certificate-page .main-table{width:100%;border-collapse:collapse;margin-top:15px}.certificate-page .main-table th,.certificate-page .main-table td{border:1px solid #333;padding:4px 5px;font-size:10.5pt;text-align:center}.certificate-page .main-table th{background:#edf2f7;font-weight:700}.certificate-page .main-table .sub-name{text-align:left;width:35%}.certificate-page .main-table .gpa-cell,.certificate-page .main-table .grade-cell{font-size:16pt;font-weight:700;color:#2d3748}.certificate-page .main-table .footer-row{background:#f7fafc;font-weight:700}.certificate-page .main-table .footer-row .comment{font-style:italic;color:#2b6cb0;font-size:9.5pt}.certificate-page .footer-stats{display:flex;justify-content:space-around;margin-top:15px;border:1px solid #333;padding:8px;font-size:11pt}.certificate-page .signatures{display:flex;justify-content:space-between;margin-top:35px;padding:0 20px}.certificate-page .signatures .sig-box{width:160px;text-align:center}.certificate-page .signatures .sig-box .sig-img{height:45px;display:block;margin:0 auto -8px}.certificate-page .signatures .sig-box .line{border-top:1px solid #333;padding-top:5px;font-weight:700}.certificate-page .contact-footer{position:absolute;bottom:8mm;left:0;right:0;font-size:9pt;color:#718096;border-top:1px dotted #cbd5e0;padding-top:5px;text-align:center}.tabulation-container{padding:20px;background:#555;height:100vh;overflow-y:auto;box-sizing:border-box}.tabulation-container .controls{text-align:center;margin-bottom:20px;color:#fff}.tabulation-container .controls button{padding:12px 24px;color:#fff;border:none;font-weight:700;cursor:pointer;border-radius:4px;margin:0 5px}.tabulation-container .controls button.print-btn{background:#48bb78}.tabulation-container .controls button.download-btn{background:#ed8936}.tabulation-container .controls .info{margin-top:10px;font-size:.9rem;color:#ccc}.landscape-a4{width:297mm;min-height:210mm;background:#fff;padding:10mm;box-sizing:border-box;margin:0 auto 30px;box-shadow:0 5px 15px #0000004d;position:relative;display:flex;flex-direction:column}.pdf-mode{background:#fff!important;width:297mm!important;margin:0!important;padding:0!important}.pdf-mode .landscape-a4{margin:0!important;box-shadow:none!important;border:none;padding:10mm!important;height:auto!important;min-height:209mm!important}.pdf-mode .landscape-a4:not(:last-child){page-break-after:always;break-after:page}.sheet-header{position:relative;text-align:center;margin-bottom:15px;border-bottom:2px solid #000;padding-bottom:5px}.sheet-header img{width:70px;position:absolute;left:0;top:-20px}.sheet-header h1{margin:0;font-size:18pt;text-transform:uppercase;color:#1a365d}.sheet-header h3{margin:5px 0;font-size:12pt}.sheet-header .meta{display:flex;justify-content:space-between;margin-top:5px;font-size:10pt;font-weight:700;background:#eee;padding:5px;border:1px solid #ccc}.tabulation-table{width:100%;border-collapse:collapse;font-size:9pt}.tabulation-table th,.tabulation-table td{border:1px solid #444;padding:4px;text-align:center;vertical-align:middle}.tabulation-table .sticky-col{background:#fff;font-weight:700;position:sticky;left:0;z-index:2}.tabulation-table .name-col{text-align:left;padding-left:5px;width:180px;left:30px}.tabulation-table .sub-header{background:#e2e8f0;font-weight:700}.tabulation-table .stat-header{background:#2b6cb0;color:#fff}.tabulation-table .total{font-weight:700;background:#edf2f7}.tabulation-table .bold{font-weight:700}.tabulation-table .tiny{font-size:.7rem}.signature-section{margin-top:75px;text-align:right;padding-right:50px}.signature-section .sig-line{border-top:1px solid black;display:inline-block;width:200px;text-align:center;padding-top:5px;font-weight:700}@media print{@page{size:landscape;margin:0}body{margin:0;padding:0}.no-print{display:none!important}.tabulation-container{background:#fff;height:auto;padding:0}.landscape-a4{box-shadow:none;margin:0!important;width:100%;page-break-after:always;padding:5mm}}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;min-width:320px;min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.1}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}button{font-family:inherit}
