.body,body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.body,html{background-color:#f4f7f6;color:#333;padding:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{margin:auto;max-width:1200px;padding:20px}h2{color:#333;font-size:2em;margin-bottom:20px}.button,h2{text-align:center}.button{background-color:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:16px;margin:4px 2px;padding:15px 32px;text-decoration:none;transition:background-color .3s ease}.button:hover{background-color:#45a049}.form-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:20px auto;max-width:500px}.form-group{margin-bottom:15px}.form-group label{display:block;font-weight:700;margin-bottom:5px}.form-group input,.form-group select{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;padding:10px;width:100%}.response-buttons{gap:10px;margin:5px 0}.assessment-form-container .letters-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));margin-top:20px}.letter-button{background-color:#f9f9f9;border:1px solid #ddd;border-radius:5px;cursor:pointer;font-size:1.2em;padding:10px;transition:background-color .2s}.letter-button:hover{background-color:#e9e9e9}.letter-button.correct{background-color:#d4edda;color:#155724}.letter-button.incorrect{background-color:#f8d7da;color:#721c24}.assessment-banner{border-radius:5px;font-size:1.1em;font-weight:700;margin-bottom:20px;padding:15px;text-align:center}.upload-instructions{background-color:#e7f3fe;border-left:6px solid #2196f3;margin-bottom:20px;padding:15px}.signin-container{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center}.google-signin-button{cursor:pointer;font-size:1.1em;padding:12px 24px}.loading-container{font-size:1.2em;padding:20px;text-align:center}.side-panel{background-color:#f8f9fa;border-right:1px solid #dee2e6;box-shadow:2px 0 5px #0000000d;box-sizing:border-box;display:flex;flex-direction:column;height:100vh;transform:translateX(-100%);width:260px;z-index:1000}.side-panel.open{transform:translateX(0)}.content-area{box-sizing:border-box;margin-left:0;width:100%}.nav-toggle-button{z-index:1001}.content-area.nav-open{margin-left:260px}.nav-toggle-button.nav-open{left:10px}.nav-header{color:#343a40;font-size:1.5em;margin-bottom:20px}.user-info{background-color:#e9ecef;border-radius:5px;padding:10px}.nav-list{flex-grow:1;margin:0}.nav-item{margin-bottom:10px}.nav-link{border-radius:5px;color:#495057;display:block;padding:12px 15px;transition:background-color .2s,color .2s}.nav-link:focus,.nav-link:hover{background-color:#dee2e6;color:#212529}.nav-link.active{background-color:#007bff;color:#fff!important}.logout-button{background-color:#dc3545;border-radius:5px;font-size:1em;margin-top:auto;padding:12px 15px;text-align:center}.logout-button:hover{background-color:#c82333}@media (max-width:768px){.content-area.nav-open{margin-left:0}}@media print{.nav,.nav-toggle-button,.no-print,.separator-line,.side-panel,.sidebar{display:none!important}.content-area{margin-left:0!important;overflow:visible!important;padding:0!important;width:100%!important}.table-container{height:auto!important;overflow:visible!important;page-break-inside:auto}.table-container:first-child{page-break-before:auto}.second-table,.table-container:not(:first-child){page-break-before:always}.second-table{page-break-inside:avoid}@page{size:landscape;margin:.25in}table{border-collapse:collapse;font-size:10px;width:100%}td,th{border:1px solid #ddd;padding:2px 4px!important}h3{page-break-after:avoid}.print-header{border-bottom:1px solid #ddd;display:block!important;font-size:14px;font-weight:700;margin-bottom:10px;padding-bottom:5px;text-align:center}body{background:#fff}.app-container{display:block!important;height:auto!important;overflow:visible!important}}.app-container{display:flex;height:100vh;overflow-x:hidden;position:relative}.page-header{font-size:2em;margin-bottom:20px;text-align:center}.class-header{border-bottom:2px solid #f0f0f0;font-size:1.1em;font-weight:700;margin-bottom:15px;padding:10px;text-align:center}.assessment-banner,.practice-banner{border-radius:5px;font-size:1.1em;font-weight:700;margin-bottom:20px;padding:15px;text-align:center}.assessment-banner{background-color:#e7f3ff;border:1px solid #b3d7ff;color:#004085}.practice-banner{background-color:#e9f7ef;border:1px solid #b8e6c9;color:#155724}.side-panel{background-color:#f4f4f4;border-right:1px solid #ccc;height:100%;left:0;padding:20px;position:fixed;top:0;transition:transform .3s ease-in-out;width:240px;z-index:100}.side-panel.closed{transform:translateX(-100%)}.content-area{flex:1 1;overflow-y:auto;padding:20px;transition:margin-left .3s ease-in-out}.nav-toggle-button{align-items:center;background-color:#f4f4f4;border:1px solid #ccc;border-radius:50%;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;left:15px;line-height:1;position:fixed;top:15px;width:40px;z-index:101}.user-info{word-wrap:break-word;font-weight:700;margin-bottom:20px}.logout-button{background-color:#f44;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-bottom:20px;padding:10px;width:100%}.nav-header{margin:0 0 20px}.nav-list{list-style:none;padding:0}.nav-item{margin:10px 0}.nav-link{color:#000;font-weight:400;text-decoration:none}.nav-link.active{color:#007bff;font-weight:700}.detailed-table,.results-table{border-collapse:collapse;margin-top:20px;width:100%}.detailed-table td,.detailed-table th,.results-table td,.results-table th{border:1px solid #ddd;padding:8px;text-align:center}.detailed-table thead tr:first-child{background-color:#f4f4f4}.incorrect-count-row{background-color:#fffacd;font-weight:700}.incorrect-count-row th:first-child{text-align:right}.controls-row{align-items:center;border-bottom:1px solid #eee;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding-bottom:10px}.control-group{display:flex;flex:1 1;flex-direction:column;min-width:200px}.control-group label{font-size:.9em;font-weight:700;margin-bottom:5px}.control-group select{border:1px solid #ccc;border-radius:4px;padding:8px}.response-cell.correct{background-color:#90ee90}.response-cell.incorrect{background-color:tomato}.form-container{padding:20px}.form-group{margin-bottom:10px}.form-group select{margin:8px 0;padding:8px;width:100%}.letter-display-area{align-items:center;display:flex;flex-direction:column;height:calc(100vh - 300px);justify-content:space-between;overflow:hidden}.letter-display{align-items:center;display:flex;flex-grow:1;font-family:Comic Sans MS,Comic Sans,Chalkboard SE,Comic Neue,sans-serif;font-size:min(80vw,55vh);justify-content:center;line-height:1;overflow:visible;padding-bottom:0}.response-buttons{display:flex;gap:30px;margin:20px 0;z-index:10}.response-button{font-size:16px;margin:5px;min-width:100px;padding:15px 40px}.progress-text{margin-top:10px;text-align:center}.submit-button{display:block;font-size:18px;margin:10px auto;max-width:300px;padding:15px 30px}.modal-overlay{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;max-height:90vh;max-width:600px;overflow-y:auto;padding:20px 40px;width:90%}.modal-content h3{margin-top:0}.modal-form-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr}.modal-form-grid label{display:block;font-weight:700;margin-bottom:5px}.modal-form-grid input{box-sizing:border-box;padding:8px;width:100%}.modal-actions{margin-top:20px;text-align:right}.action-button{border:1px solid #ccc;border-radius:4px;cursor:pointer;margin:0 5px;padding:5px 10px}.edit-button{background-color:#007bff;border-color:#007bff;color:#fff}.delete-button{background-color:#f44;border-color:#f44;color:#fff}.separator-line{border:none;border-top:4px solid #bbb;margin:40px 0}@media (max-width:768px){.form-sidebar{margin-bottom:20px;padding-right:0;width:100%}.hide-sidebar-on-mobile{display:none}}.print-header{border-bottom:2px solid #f0f0f0;font-size:1.1em;font-weight:700;margin-bottom:15px;padding:10px;text-align:left}.results-summary-table{border-collapse:collapse;margin-top:20px;width:100%}.results-summary-table td,.results-summary-table th{border:1px solid #ddd;padding:10px;white-space:nowrap}.header-uc{background-color:#e7f3ff}.header-lc{background-color:#e9f7ef}.header-sounds{background-color:#fff8e1}.header-phonemic{background-color:#f3e5f5}.student-row:nth-child(2n){background-color:#f9f9f9}.sticky-col{background-color:#fff;left:0;min-width:150px;position:-webkit-sticky;position:sticky;z-index:1}.student-row:nth-child(2n) .sticky-col{background-color:#f9f9f9}.score-cell{font-weight:700;text-align:center}.score-high{background-color:#d4edda;color:#155724}.score-mid{background-color:#fff3cd;color:#856404}.score-low{background-color:#f8d7da;color:#721c24}.section-divider{border-right:2px solid #999}@media print{.assessment-banner,.nav,.nav-toggle-button,.no-print,.practice-banner,.separator-line,.sidebar{display:none}.table-container:first-child{page-break-before:auto}.second-table,.table-container:not(:first-child){page-break-before:always}.second-table{page-break-inside:avoid}@page{size:landscape;margin:.5in}table{border-collapse:collapse;font-size:10px;width:100%}td,th{border:1px solid #ddd;padding:5px}h3{page-break-after:avoid}.class-header{border-bottom:1px solid #ddd;font-size:14px;font-weight:700;margin-bottom:10px;padding-bottom:5px;text-align:center}}
/*# sourceMappingURL=main.362aff2d.css.map*/