body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;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}.container{margin:0 auto;max-width:1200px;padding:20px}.teacher-header{background:#fff;border-bottom:1px solid #e2e8f0;margin-bottom:30px;padding:20px 0}.teacher-header h1{color:#1a202c;font-size:2rem;font-weight:700;margin:0}.teacher-header p{color:#64748b;font-size:1.1rem;margin:8px 0 0}.essay-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:30px}.essay-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px;transition:all .2s ease}.essay-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-1px)}.essay-meta{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.subject-tag{background:#3b82f6}.grade-tag,.subject-tag{border-radius:4px;color:#fff;font-size:.75rem;font-weight:500;padding:4px 8px}.grade-tag{background:#10b981}.student-info{color:#64748b;font-size:.9rem;margin-bottom:8px}.essay-excerpt{-webkit-line-clamp:3;-webkit-box-orient:vertical;line-clamp:3;color:#374151;display:-webkit-box;font-size:.9rem;line-height:1.4;margin-bottom:16px;max-height:60px;overflow:hidden}.review-button{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 16px;transition:background .2s ease;width:100%}.review-button:hover{background:#2563eb}.pagination{align-items:center;display:flex;gap:10px;justify-content:center;margin-top:30px}.pagination button{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;padding:8px 12px;transition:all .2s ease}.pagination button:hover:not(:disabled){background:#f3f4f6}.pagination button:disabled{cursor:not-allowed;opacity:.5}.pagination .current-page{background:#3b82f6;border-color:#3b82f6;color:#fff}.loading{color:#64748b;padding:40px;text-align:center}.error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;margin-bottom:20px;padding:16px}.empty-state{color:#64748b;padding:60px 20px;text-align:center}.empty-state h3{color:#374151;margin-bottom:8px}.feedback-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px;padding:24px}.feedback-item{background:#f8fafc;border-left:4px solid #3b82f6;border-radius:4px;margin-bottom:16px;padding:12px}.feedback-item.editing{background:#fffbeb;border-left-color:#f59e0b}.feedback-controls{display:flex;gap:8px;margin-top:8px}.feedback-controls button{background:#6b7280;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:6px 12px;transition:background .2s ease}.feedback-controls button:hover{background:#4b5563}.feedback-controls button.primary{background:#3b82f6}.feedback-controls button.primary:hover{background:#2563eb}.feedback-controls button.danger{background:#ef4444}.feedback-controls button.danger:hover{background:#dc2626}.feedback-textarea{border:1px solid #d1d5db;border-radius:4px;font-family:inherit;font-size:.9rem;min-height:80px;padding:8px;resize:vertical;width:100%}.feedback-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.feedback-legend{border-radius:8px}.marking-scheme{text-align:left}.marking-scheme p{background-color:#ffffffb3;border-radius:6px;margin:8px 0;padding:8px 12px}.common-button{border:none;cursor:pointer}.secondary-button{background-color:#6c757d;color:#fff}.secondary-button:hover{background-color:#5a6268}@media (max-width:768px){.results-container{padding:0 15px}.analysis-container,.question-box{padding:15px}.page-title{font-size:1.5rem}}.results-container{margin:0 auto;max-width:1000px;padding:0 20px;width:100%}@media(max-width:768px){.results-container{padding:0 15px}}.page-title{color:#00547e;font-family:PP Mori-SemiBold,Helvetica,sans-serif;font-size:2rem;margin-bottom:20px;text-align:center}.feedback-legend{background-color:#f8f9fa;border-radius:6px;display:flex;gap:15px;justify-content:center;margin:10px 0;padding:10px}.feedback-columns{display:flex;flex-direction:column;gap:20px}.teacher-input-container{background-color:#fff;border:none;border-radius:16px;box-shadow:0 4px 16px #00000014;margin:20px 0;padding:20px;text-align:left;white-space:pre-line;width:100%}.teacher-input-title{color:#00547e;font-family:PP Mori-SemiBold,Helvetica,sans-serif;font-weight:700;margin-bottom:20px;margin-top:0}.teacher-input-success{background-color:#e8f5e9;border-radius:6px;color:#2e7d32;margin-top:10px;padding:15px}.teacher-input-success-title{font-weight:700;margin:0}.teacher-input-success-text{color:#1b5e20;margin:10px 0 0;white-space:pre-wrap}.teacher-input-buttons{align-items:center;display:flex;gap:10px;margin-top:10px}.save-feedback-button{background-color:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-weight:500;padding:10px 20px;text-decoration:none;transition:all .2s ease}.save-feedback-button:hover{transform:translateY(-1px)}.save-feedback-button:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6;transform:none}.save-feedback-status{font-size:14px}.save-feedback-status-success{color:#10b981}.save-feedback-status-error{color:#ef4444}.save-feedback-status-saving{color:#666}.result-revise-button{align-items:center!important;background-color:#2ecc71!important;border:none;border:none!important;border-radius:8px;border-radius:8px!important;box-shadow:0 2px 4px #0000001a!important;color:#fff!important;cursor:pointer;display:flex!important;font-family:inherit;font-family:PP Mori-Book,Helvetica,sans-serif!important;font-size:24px!important;font-weight:500;font-weight:600!important;height:80px!important;justify-content:center!important;line-height:1.2!important;max-width:250px!important;min-height:80px!important;min-width:250px!important;padding:12px 24px!important;text-align:center!important;text-decoration:none;transition:all .2s ease;transition:all .2s ease!important;width:auto!important}.result-revise-button:hover{transform:translateY(-1px)}.result-revise-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.result-revise-button:hover{background-color:#27ae60!important;box-shadow:0 4px 8px #00000026!important;transform:translateY(-1px)!important}.result-revise-button:active{transform:translateY(1px)!important}.result-revise-button.irish-revise-button{background-color:#16a085!important}.result-revise-button.irish-revise-button:hover{background-color:#1abc9c!important}.result-share-button{align-items:center!important;background-color:#3498db!important;border:none;border:none!important;border-radius:8px;border-radius:8px!important;box-shadow:0 2px 4px #0000001a!important;color:#fff!important;cursor:pointer;display:flex!important;font-family:inherit;font-family:PP Mori-Book,Helvetica,sans-serif!important;font-size:24px!important;font-weight:500;font-weight:600!important;height:80px!important;justify-content:center!important;line-height:1.2!important;margin-left:20px!important;max-width:250px!important;min-height:80px!important;min-width:250px!important;padding:12px 24px!important;text-align:center!important;text-decoration:none;transition:all .2s ease;transition:all .2s ease!important;width:auto!important}.result-share-button:hover{transform:translateY(-1px)}.result-share-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.result-share-button:hover:not(:disabled){background-color:#2980b9!important;box-shadow:0 4px 8px #00000026!important;transform:translateY(-1px)!important}.result-share-button:active:not(:disabled){transform:translateY(1px)!important}.result-share-button:disabled{background-color:#95a5a6!important;cursor:not-allowed!important;transform:none!important}.result-revise-button-container{align-items:center;display:flex;justify-content:center;margin:40px auto;text-align:center;width:100%}@media(max-width:768px){.result-revise-button-container{align-items:center;display:flex;flex-direction:column;gap:20px;padding-left:0;width:100%}.result-revise-button-container .result-share-button{margin-left:0!important}}.action-buttons-container{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:10px;text-align:center;width:100%}.comment-block{border-radius:6px;margin:10px 0;padding:10px}.analysis-container{background-color:#fff;border:none;border-radius:16px;box-shadow:0 4px 16px #00000014;margin-bottom:20px;padding:32px;text-align:left;white-space:pre-line;width:100%}.analysis-title{color:#00547e;font-family:PP Mori-SemiBold,Helvetica,sans-serif;margin-bottom:20px;margin-top:0}.paragraph-container{align-items:flex-start;border-bottom:1px solid #eee;display:flex;flex-direction:row;gap:20px;margin-bottom:20px;padding-bottom:20px}.paragraph-text{flex:1 1;line-height:1.6;margin-bottom:20px;max-width:600px}.feedback-column{background-color:#fafafa;border:1px solid #ddd;border-radius:6px;max-width:300px;min-width:220px;padding:10px}.feedback-item{background-color:#f8f9fa;border-radius:6px;margin-bottom:10px;padding:8px}.feedback-row{align-items:center;display:flex;gap:10px;justify-content:space-between}.feedback-actions{grid-gap:6px;align-self:center;display:grid;gap:6px;grid-template-columns:auto auto}.feedback-content{flex:1 1;padding:5px 0;position:relative}.feedback-content.teacher-content{background-color:#2980b90d;border-left:3px solid #2980b9;padding-left:10px}.feedback-edit-container{display:flex;flex-direction:column;width:100%}.feedback-edit-textarea{border:1px solid #ccc;border-radius:6px;font-size:14px;margin-bottom:8px;min-height:80px;padding:8px;resize:vertical;width:100%}.feedback-edit-textarea:focus{border-color:#2980b9;box-shadow:0 0 0 2px #2980b91a;outline:none}.feedback-edit-buttons{display:flex;gap:8px;justify-content:flex-end}.feedback-edit-button{border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:4px 12px;transition:background-color .2s}.feedback-edit-button.save-button{background-color:#2980b9;color:#fff}.feedback-edit-button.save-button:hover{background-color:#20638f}.feedback-edit-button.save-button:disabled{background-color:#ccc;cursor:not-allowed}.feedback-edit-button.cancel-button{background-color:#e0e0e0;color:#333}.feedback-edit-button.cancel-button:hover{background-color:#c7c7c7}.grade-container{background-color:#f8f9fa;border:none;border-radius:16px;box-shadow:0 4px 16px #00000014;margin:20px 0;padding:32px;text-align:left;white-space:pre-line;width:100%}.grade-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.grade-title{color:#00547e;font-family:PP Mori-SemiBold,Helvetica,sans-serif;font-size:1.2rem;margin-bottom:0}.teacher-grade-edit-button{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s ease}.teacher-grade-edit-button:hover{background-color:#e2e8f0;color:#334155}.grade-edit-container{margin-bottom:15px}.grade-edit-textarea{border:1px solid #e2e8f0;border-radius:6px;color:#334155;font-family:PP Mori-Book,Helvetica,sans-serif;font-size:16px;line-height:1.5;margin-bottom:12px;min-height:200px;padding:12px;resize:vertical;width:100%}.grade-edit-textarea:focus{border-color:#2980b9;box-shadow:0 0 0 2px #2980b91a;outline:none}.grade-edit-buttons{display:flex;gap:10px;margin-bottom:10px}.grade-edit-button{border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.grade-edit-button.save-button{background-color:#2980b9;color:#fff}.grade-edit-button.save-button:hover{background-color:#20638f}.grade-edit-button.save-button:disabled{background-color:#ccc;cursor:not-allowed}.grade-edit-button.cancel-button{background-color:#e0e0e0;color:#333}.grade-edit-button.cancel-button:hover{background-color:#c7c7c7}.grade-save-status{border-radius:4px;font-size:14px;margin-bottom:10px;padding:6px 10px}.grade-save-status.grade-save-success{background-color:#e8f5e9;color:#2e7d32}.grade-save-status.grade-save-error{background-color:#ffebee;color:#c62828}.grade-text{background-color:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#334155;font-family:PP Mori-Book,Helvetica,sans-serif;font-size:16px;line-height:1.5;margin-bottom:15px;padding:15px;white-space:pre-wrap}.grade-text .grade-header{display:inline-block;margin-top:8px}.grade-text .grade-header,.grade-text .grade-header-main{color:#00547e;font-family:PP Mori-SemiBold,Helvetica,sans-serif;font-weight:700}.grade-text .grade-header-main{border-bottom:2px solid #e2e8f0;display:block;font-size:1.25rem;margin:10px 0;padding-bottom:5px}.grade-text .grade-header-final{color:#00547e;display:inline-block;font-family:PP Mori-SemiBold,Helvetica,sans-serif;font-size:1.1rem;font-weight:700;margin-top:10px}.grade-text .teacher-edited-grade{background-color:#eef2ff;border-left:4px solid #2980b9;border-radius:6px;padding:8px;position:relative}.grade-text .teacher-grade-badge{background-color:#2980b9;border-radius:4px;color:#fff;font-size:11px;font-weight:700;padding:2px 6px;position:absolute;right:10px;text-transform:uppercase;top:-10px}.grade-caveat{background-color:#f8f9fa;border-left:3px solid #6c757d;border-radius:0 4px 4px 0;margin-top:15px;padding:8px 12px}.grade-caveat p{color:#6c757d;font-size:.9em;line-height:1.4;margin:0}.grade-caveat strong{color:#495057;font-size:.95em}.teacher-feedback-controls{display:flex;flex-direction:column;gap:5px}.teacher-feedback-button{background:none;border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:2px 4px;transition:all .2s ease}.teacher-feedback-button:hover{background-color:#0000001a}.teacher-feedback-button.edit-button:hover{background-color:#3498db33}.teacher-feedback-button.delete-button:hover{background-color:#e74c3c33}.rating-buttons{display:flex;flex-direction:column;gap:4px}.rating-button{background:none;border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:2px 4px;transition:all .2s ease}.rating-button:hover{background-color:#0000001a}.rating-button-up-selected{background-color:#e8f5e9!important;border:1px solid #4caf50!important;color:#2e7d32!important}.rating-button-up-selected:hover{background-color:#c8e6c9!important}.rating-button-down-selected{background-color:#ffebee!important;border:1px solid #f44336!important;color:#c62828!important}.rating-button-down-selected:hover{background-color:#ffcdd2!important}.no-feedback-message{color:#999;font-style:italic}.revise-container{text-align:left}.revise-buttons{gap:10px;margin-top:20px}.confirm-revision-button{margin-right:10px;padding:15px 30px}.confirm-revision-button-english{background-color:#10b981}.confirm-revision-button-irish{background-color:#16a085}.cancel-revision-button{background-color:#6c757d;padding:15px 30px}.marking-scheme{line-height:1.8;margin:20px 0;width:100%}.marking-scheme h3{color:#00547e;font-family:PP Mori-SemiBold,Helvetica,sans-serif;font-size:1.5rem;margin-bottom:15px;text-align:center}.marking-scheme p{margin-bottom:10px}.marking-scheme-purpose{color:#10b981}.marking-scheme-coherence{color:#ef4444}.marking-scheme-language{color:#2980b9}.marking-scheme-mechanics{color:#f59e0b}.marking-scheme-gaeilge{color:#16a085}.marking-scheme-content{color:#c0392b}.marking-scheme-style{color:#8e44ad}.marking-scheme-communication{color:#ff6b6b}.marking-scheme-language-french{color:#4ecdc4}.marking-scheme-expression{color:#2980b9}@media(max-width:768px){.marking-scheme{box-sizing:border-box;padding:0 15px;width:100%}.marking-scheme p{word-wrap:break-word;overflow-wrap:break-word}}.question-box{background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000000d;margin-bottom:20px;padding:20px;width:100%}.question-box h3{color:#333;margin-bottom:15px;margin-top:0}@media(max-width:768px){.question-box{box-sizing:border-box;padding:15px;width:100%}.question-box p{word-wrap:break-word;overflow-wrap:break-word}}.content-wrapper{margin-top:20px;text-align:center}.feedback-form{align-items:flex-start;display:flex;flex-direction:column}.feedback-form-label{margin-bottom:10px}.feedback-form-select{height:auto;min-height:45px}.usage-remaining{color:#555;font-size:.9em;margin-top:10px;padding-left:280px;text-align:left}@media(max-width:768px){.usage-remaining{padding-left:20px;text-align:center}}.common-button{border-radius:8px;font-family:PP Mori-Book,Helvetica,sans-serif;padding:12px 24px;transition:all .2s ease}.common-button:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.teacher-feedback-container{background-color:#fff;border:none;border-radius:16px;box-shadow:0 4px 16px #00000014;margin-bottom:20px;padding:32px;text-align:left;white-space:pre-line;width:100%}.teacher-feedback-title{color:#00547e;font-family:PP Mori-SemiBold,Helvetica,sans-serif;margin-bottom:20px;margin-top:0}@media(max-width:768px){.paragraph-container{box-sizing:border-box;flex-direction:column;width:100%}.paragraph-text{margin-bottom:15px;width:100%}.feedback-column{box-sizing:border-box;max-width:100%;width:100%}.feedback-item{background-color:#f8f9fa;border-radius:6px;margin-bottom:10px;padding:8px}.feedback-row{align-items:center;display:flex;justify-content:space-between}.feedback-actions{grid-gap:6px;display:grid;gap:6px;grid-template-columns:auto auto}.rating-buttons{flex-direction:column;gap:4px}.analysis-container,.grade-container,.teacher-feedback-container,.teacher-input-container{box-sizing:border-box;padding:20px;width:100%}.grade-header-row{align-items:flex-start;flex-direction:column;gap:10px}.teacher-grade-edit-button{align-self:flex-start}.grade-edit-buttons{flex-direction:column;width:100%}.grade-edit-buttons button{width:100%}.analysis-container,.grade-container,.teacher-feedback-container,.teacher-input-container{margin-left:auto;margin-right:auto;max-width:100%;width:100%}.result-revise-button-container{display:flex;justify-content:center;padding-left:0;width:100%}.action-buttons-container{align-items:center;display:flex;flex-direction:column;gap:10px;padding-left:0}}.add-feedback-container{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;margin-top:15px;padding:12px}.add-feedback-type-selector{margin-bottom:10px}.add-feedback-type-selector label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:5px}.add-feedback-select{background-color:#fff;border:1px solid #ccc;border-radius:6px;font-size:14px;padding:8px;width:100%}.add-feedback-select:focus{border-color:#2980b9;box-shadow:0 0 0 2px #2980b91a;outline:none}.add-feedback-select option{padding:8px}.add-feedback-textarea{border:1px solid #ccc;border-radius:6px;font-size:14px;margin:10px 0;min-height:80px;padding:8px;resize:vertical;width:100%}.add-feedback-textarea:focus{border-color:#2980b9;box-shadow:0 0 0 2px #2980b91a;outline:none}.add-feedback-buttons{display:flex;gap:8px;justify-content:flex-end}.add-feedback-button{border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:6px 12px;transition:background-color .2s}.add-feedback-button.save-button{background-color:#2980b9;color:#fff}.add-feedback-button.save-button:hover{background-color:#20638f}.add-feedback-button.save-button:disabled{background-color:#ccc;cursor:not-allowed}.add-feedback-button.cancel-button{background-color:#e0e0e0;color:#333}.add-feedback-button.cancel-button:hover{background-color:#c7c7c7}.add-feedback-button-small{background-color:#f5f5f5;border:1px dashed #ccc;border-radius:6px;color:#666;cursor:pointer;display:block;font-size:13px;margin-top:10px;padding:6px 0;text-align:center;transition:all .2s;width:100%}.add-feedback-button-small:hover{background-color:#e8f4fc;border-color:#2980b9;color:#2980b9}.faq-link{background:none;border:none;color:#2563eb;cursor:pointer;font-weight:500;padding:0;text-decoration:underline}.faq-link:hover{color:#1d4ed8}.faq-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.faq-modal{background-color:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:90%}.faq-modal-header{align-items:center;background-color:#f1f5f9;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:15px 20px}.faq-modal-header h2{color:#1e293b;font-size:1.5rem;margin:0}.faq-close-button{background:none;border:none;color:#64748b;cursor:pointer;font-size:28px;line-height:1;padding:0 5px}.faq-close-button:hover{color:#334155}.faq-modal-content{overflow-y:auto;padding:20px}.faq-modal-content>p{color:#334155;line-height:1.6;margin:10px 0 20px}.faq-question{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:12px;overflow:hidden;transition:all .3s ease}.faq-question:last-child{margin-bottom:0}.faq-question-header{align-items:center;background-color:#f8fafc;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:15px;text-align:left;transition:background-color .2s;width:100%}.faq-question-header:hover{background-color:#f1f5f9}.faq-question-header h3{color:#1e293b;font-size:1.1rem;font-weight:600;margin:0}.faq-toggle-icon{align-items:center;color:#64748b;display:flex;font-size:20px;font-weight:700;height:24px;justify-content:center;width:24px}.faq-question-content{background-color:#fff;padding:0 15px 15px}.faq-question-content p{color:#334155;line-height:1.6;margin:10px 0}.faq-question-content p:first-child{margin-top:0}.faq-question-content p:last-child{margin-bottom:0}.faq-question-content a{color:#2563eb;text-decoration:underline}.faq-question-content a:hover{color:#1d4ed8}@media(max-width:640px){.faq-modal{max-height:95vh;width:95%}.faq-modal-header h2{font-size:1.3rem}.faq-modal-content{padding:15px}.faq-question-header h3{font-size:1rem}.faq-question-content{padding:0 12px 12px}.faq-toggle-icon{font-size:18px;height:20px;width:20px}}.revise-textarea-container{margin-bottom:20px;width:100%}.revise-textarea{word-wrap:break-word!important;background-color:#fff!important;border:1px solid #cbd5e1!important;border-radius:8px!important;box-shadow:0 1px 2px #0000000d!important;box-sizing:border-box!important;color:#334155!important;display:block!important;font-family:PP Mori-Book,Helvetica,sans-serif!important;font-size:16px!important;line-height:1.5!important;margin-bottom:20px!important;min-height:200px!important;overflow-wrap:break-word!important;padding:12px 16px!important;resize:vertical!important;transition:all .2s ease!important;white-space:pre-wrap!important;width:100%!important}.revise-textarea:hover{border-color:#94a3b8!important;box-shadow:0 2px 4px #0000000d!important}.revise-textarea:focus{border-color:#2980b9!important;box-shadow:0 0 0 3px #2980b91a!important;outline:none!important}.revise-container{margin:0 auto;max-width:800px;padding:20px;width:100%}.revise-buttons{display:flex;gap:20px;justify-content:center;margin-top:40px}.confirm-revision-button{background-color:#2ecc71;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:16px;font-weight:500;padding:12px 24px;text-decoration:none;transition:all .2s ease}.confirm-revision-button:hover{transform:translateY(-1px)}.confirm-revision-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.confirm-revision-button:hover{background-color:#27ae60}.confirm-revision-button.confirm-revision-button-irish{background-color:#16a085}.confirm-revision-button.confirm-revision-button-irish:hover{background-color:#1abc9c}.cancel-revision-button{background-color:#95a5a6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:16px;font-weight:500;padding:12px 24px;text-decoration:none;transition:all .2s ease}.cancel-revision-button:hover{transform:translateY(-1px)}.cancel-revision-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.cancel-revision-button:hover{background-color:#7f8c8d}.action-buttons{display:flex;gap:10px;margin:20px 0}.action-buttons button{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:10px 20px;transition:background-color .2s}.action-buttons button.download-button{background-color:#2980b9;color:#fff}.action-buttons button.download-button:hover{background-color:#2471a3}.action-buttons button.revise-button{background-color:#27ae60;color:#fff}.action-buttons button.revise-button:hover{background-color:#219a52}.action-buttons button.share-toggle-button{background-color:#3498db;color:#fff}.action-buttons button.share-toggle-button:hover:not(:disabled){background-color:#2980b9}.action-buttons button.share-toggle-button:disabled{background-color:#95a5a6;cursor:not-allowed}.error-message{align-items:center;background-color:#ffebee;border-left:4px solid #c62828;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#c62828;display:flex;font-weight:500;justify-content:space-between;margin:15px auto;max-width:800px;padding:12px 15px}.error-message button{background:none;border:none;color:#c62828;cursor:pointer;font-size:18px;margin-left:10px;padding:0 5px}.error-message button:hover{opacity:.8}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 8px 16px #0003;max-width:400px;padding:25px;width:90%}.modal-content h3{color:#e74c3c;margin-top:0}.modal-content p{line-height:1.5;margin-bottom:20px}.modal-buttons{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.modal-button{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s ease}.modal-button.cancel-button{background-color:#f1f5f9;color:#64748b}.modal-button.cancel-button:hover{background-color:#e2e8f0}.modal-button.confirm-button{background-color:#e74c3c;color:#fff}.modal-button.confirm-button:hover{background-color:#c0392b}.json-grades-display .grade-header-main{border-bottom:2px solid #3498db;color:#2c3e50;font-size:1.2em;font-weight:700;margin-bottom:15px;padding-bottom:8px}.json-grades-display .grade-item{margin-bottom:12px;padding:8px 0}.json-grades-display .grade-item .grade-header{color:#2980b9;font-weight:600}.json-grades-display .grade-item .grade-header-final{color:#27ae60;font-size:1.1em;font-weight:700}.json-grades-display .grade-item .grade-feedback{background-color:#f8f9fa;border-left:3px solid #3498db;border-radius:0 4px 4px 0;color:#5a6c7d;font-style:italic;margin-top:6px;padding:8px 12px}.json-grades-display .grade-item.final-grade{background-color:#e8f5e8;border:1px solid #27ae60;border-radius:6px;margin-top:20px;padding:12px}.json-grades-display .grade-item.final-grade .grade-header-final{color:#1e8449}.paragraph-text span[title]{cursor:help}.paragraph-text span[title]:hover{opacity:.8;transform:scale(1.02);transition:all .2s ease}.feedback-content{line-height:1.5}.feedback-content div[dangerouslySetInnerHTML] p{margin-bottom:8px}.feedback-content div[dangerouslySetInnerHTML] p:last-child{margin-bottom:0}.analysis-container .json-response-indicator{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:.8em;font-weight:500;opacity:.7;padding:4px 8px;position:absolute;right:10px;top:10px}@media(max-width:768px){.json-grades-display .grade-item .grade-feedback{font-size:.9em;padding:6px 10px}}.custom-grade-section{margin-bottom:8px;position:relative}.custom-grade-section .teacher-grade-badge{background:linear-gradient(135deg,#2980b9,#3498db);border-radius:20px;box-shadow:0 2px 8px #2980b94d;color:#fff;font-size:10px;font-weight:600;letter-spacing:.5px;padding:4px 10px;position:absolute;right:12px;text-transform:uppercase;top:-6px;z-index:10}.custom-grade-section .custom-grade-text{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #0000000d;color:#2c3e50;font-family:PP Mori-Book,Helvetica,sans-serif;line-height:1.5;padding:15px;position:relative}.custom-grade-section .custom-grade-text:before{background:linear-gradient(180deg,#2980b9,#3498db);border-radius:12px 0 0 12px;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.custom-grade-section .custom-grade-text .main-header{border-bottom:1px solid #e2e8f0;color:#1a5490;font-family:PP Mori-SemiBold,Helvetica,sans-serif;font-size:1.15em;margin-bottom:2px;padding-bottom:2px}.custom-grade-section .custom-grade-text .grade-component{align-items:center;border-bottom:1px solid #f8f8f8;display:flex;justify-content:space-between;margin:0;padding:3px 0}.custom-grade-section .custom-grade-text .grade-component .component-name{color:#2c3e50;font-family:PP Mori-SemiBold,Helvetica,sans-serif;font-size:1.05em;font-weight:600}.custom-grade-section .custom-grade-text .grade-component .score{color:#2980b9;font-family:PP Mori-Book,Helvetica,sans-serif;font-size:1.1em;font-weight:600}.custom-grade-section .custom-grade-text .feedback-text{color:#6c757d;font-size:.92em;line-height:1.3;margin:0 0 2px}.custom-grade-section .custom-grade-text .feedback-text br{display:none}.custom-grade-section .custom-grade-text .final-mark-section{align-items:center;border-top:2px solid #2980b9;color:#2c3e50;display:flex;font-family:PP Mori-SemiBold,Helvetica,sans-serif;font-size:1.1em;font-weight:600;justify-content:space-between;margin-top:6px;padding:4px 0 0}.custom-grade-section .custom-grade-text .final-mark-section .final-score{color:#2980b9;font-size:1.2em;font-weight:700}strong:first-child{color:#1a5490;font-size:1.15em;margin-bottom:15px}.main-header,strong:first-child{border-bottom:2px solid #e2e8f0;padding-bottom:8px}.main-header{color:#1a5490!important;font-size:1.15em!important;margin-bottom:15px!important}.grade-component{color:#2980b9!important;font-size:1.05em!important;margin-bottom:6px!important;margin-top:18px!important}.final-mark{background:linear-gradient(135deg,#e8f5e9,#f1f8e9)!important;border-left:4px solid #27ae60!important;border-radius:8px!important;color:#27ae60!important;display:inline-block!important;font-size:1.1em!important;margin-top:20px!important;min-width:200px;padding:8px 12px!important}br+strong:contains("Final Mark"),strong:contains("Final Mark"){background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border-left:4px solid #27ae60;border-radius:8px;color:#27ae60;font-size:1.1em;margin-top:20px;padding:8px 12px}.floating-chat-button{align-items:center;background:linear-gradient(135deg,#10b981,#047857);border:none;border-radius:28px;bottom:24px;box-shadow:0 4px 20px #10b98166;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:12px;height:56px;justify-content:center;min-width:200px;padding:0 24px;position:fixed;right:24px;transition:all .3s ease;z-index:1000}.floating-chat-button:hover{background:linear-gradient(135deg,#059669,#065f46);box-shadow:0 6px 25px #10b98180;transform:translateY(-2px)}.floating-chat-button:active{transform:translateY(0)}.floating-chat-button svg{flex-shrink:0;font-size:20px}.floating-chat-button:before{animation:pulse 3s infinite;background:linear-gradient(135deg,#10b981,#047857);border-radius:30px;bottom:-2px;content:"";left:-2px;opacity:.3;position:absolute;right:-2px;top:-2px;z-index:-1}@media(max-width:768px){.floating-chat-button{border-radius:50%;gap:0;height:60px;min-width:60px;padding:0;width:60px}.floating-chat-button .button-text{display:none}.floating-chat-button svg{font-size:24px}.floating-chat-button:before{border-radius:50%}}@keyframes pulse{0%{opacity:.3;transform:scale(1)}50%{opacity:.1;transform:scale(1.1)}to{opacity:.3;transform:scale(1)}}
/*# sourceMappingURL=main.e575d7e4.css.map*/