:root{--primary-color: #005792;--primary-color-light: #007bbf;--background-color: #f4f8fa;--surface-color: #ffffff;--text-color: #333333;--light-gray: #e0e0e0;--success-color: #28a745;--danger-color: #dc3545;--warning-color: #ffc107;--success-bg-color: #e9f7eb;--danger-bg-color: #f8d7da}body{margin:0;font-family:Vazirmatn,Montserrat,sans-serif;background-color:var(--background-color);color:var(--text-color);position:relative;z-index:0}#root{display:flex;flex-direction:column;min-height:100vh}.container{width:90%;max-width:1200px;margin-inline:auto;padding:20px 0}.app-header{background-color:var(--primary-color);color:#fff;padding:15px 25px;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;justify-content:space-between}.header-left,.header-right{flex:1}.header-right{display:flex;justify-content:flex-end;align-items:center;gap:15px}.user-info{color:#fff;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px;margin-top:4px;font-size:.9rem;opacity:.85}.header-logo{height:80px;width:auto}.header-title-container{display:flex;flex-direction:column;align-items:center;flex:2}.app-header h1{margin:0;font-family:Montserrat,Vazirmatn,sans-serif;font-size:2rem;font-weight:700;text-align:center}.lang-switcher,.logout-btn,.user-management-btn{background-color:#fff3;color:#fff;border:1px solid white;border-radius:5px;padding:8px 12px;cursor:pointer;font-family:Vazirmatn,Montserrat,sans-serif;font-weight:700;transition:background-color .2s;white-space:nowrap}.lang-switcher:hover,.logout-btn:hover,.user-management-btn:hover{background-color:#ffffff4d}.main-menu{text-align:center}.main-menu-header{text-align:center;font-size:2.2rem;color:var(--primary-color);margin-block:40px 30px;font-weight:700;font-family:Montserrat,Vazirmatn,sans-serif}.main-menu-grid{display:grid;grid-template-columns:repeat(auto-fit,240px);gap:30px;margin-top:120px;justify-content:center}.main-menu-card{background:var(--surface-color);border-radius:12px;padding:30px 20px;text-align:center;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 10px #00000014;border:1px solid var(--light-gray);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px}.main-menu-card:hover{transform:translateY(-8px);box-shadow:0 8px 25px #00579233}.main-menu-icon{font-size:3.5rem;line-height:1;margin-bottom:15px}.main-menu-title{font-size:1.3rem;font-weight:700;color:var(--primary-color);font-family:Montserrat,Vazirmatn,sans-serif}.chapter-list-view,.user-management-view{text-align:center;animation:fadeIn .5s ease-in-out}.view-header{display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:20px}.back-button-subview{position:absolute;top:50%;transform:translateY(-50%);background-color:var(--primary-color);color:#fff;border:1px solid var(--primary-color-light)}.back-button-subview:hover{background-color:var(--primary-color-light)}html[dir=ltr] .back-button-subview{left:0}html[dir=rtl] .back-button-subview{right:0}.view-header .section-title{margin:0;padding:0;border:none}.section-title{font-family:Montserrat,Vazirmatn,sans-serif;font-size:1.8rem;color:var(--primary-color);margin-top:40px;margin-bottom:20px;border-bottom:2px solid var(--primary-color);padding-bottom:10px;display:inline-block}.chapters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;margin-top:50px}.chapter-card{position:relative;background-color:var(--surface-color);border:1px solid var(--light-gray);border-radius:8px;padding:20px;text-align:center;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 5px #0000000d}.chapter-card:hover{transform:translateY(-5px);box-shadow:0 4px 15px #00579226}.chapter-card.completed{border:2px solid var(--success-color)}.completion-mark{position:absolute;top:8px;font-size:1.5rem;color:var(--success-color);line-height:1}html[dir=ltr] .completion-mark{right:12px}html[dir=rtl] .completion-mark{left:12px}.chapter-icon{font-size:3rem;color:var(--primary-color)}.chapter-title{margin-top:10px;font-size:1rem;font-weight:700;color:var(--primary-color)}.chapter-view{background:var(--surface-color);padding:30px;border-radius:8px;box-shadow:0 2px 10px #0000001a;animation:fadeIn .5s ease-in-out;text-align:start;position:relative}.chapter-view h2,.report-card h2{font-family:Montserrat,Vazirmatn,sans-serif;font-size:2rem;background-color:var(--primary-color-light);color:#fff;padding:20px;margin:-30px -30px 25px;border-radius:8px 8px 0 0;text-align:center;position:relative;z-index:1}.chapter-prose-summary{background-color:#f0f5f9;border-inline-start:5px solid var(--primary-color-light);padding:20px;margin-top:40px;font-size:1rem;line-height:1.7;border-radius:0 8px 8px 0}.chapter-prose-summary h3{margin-top:0;color:var(--primary-color);font-family:Montserrat,Vazirmatn,sans-serif}html[dir=rtl] .chapter-prose-summary{border-radius:8px 0 0 8px}.summary{font-size:1.1rem;line-height:1.8}.summary p{font-weight:700;color:var(--primary-color)}.summary ul{list-style-position:inside;padding-inline-start:20px}html[dir=rtl] .summary ul,html[dir=ltr] .summary ul{list-style-type:"✓ "}.summary li{margin-bottom:10px}#scroll-end-marker{height:1px}.quiz-prompt{margin-top:30px;padding:20px;background-color:#e6f7ff;border:1px solid #91d5ff;border-radius:8px;text-align:center;animation:slideUp .5s ease-in-out}.quiz-prompt p{margin:0 0 15px;font-size:1.1rem}.quiz-prompt-buttons button{margin:0 10px}.quiz-container{margin-top:30px;animation:fadeIn .5s ease-in-out}.quiz-results-summary{padding:15px;margin-bottom:25px;background-color:#f0f5f9;border-radius:8px}.quiz-container h3,.report-details h3{font-family:Montserrat,Vazirmatn,sans-serif;font-size:1.6rem;color:var(--primary-color);margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--primary-color)}.question-block{margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid var(--light-gray)}.question-text{font-weight:700;margin-bottom:15px}.options-list{list-style:none;padding:0}.option-item{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding:12px;border:1px solid var(--light-gray);border-radius:8px;cursor:pointer;transition:background-color .2s,border-color .2s}.option-item:hover{background-color:#eef2f5}.option-item input[type=radio]{flex-shrink:0;margin:0;accent-color:var(--primary-color);width:1.3em;height:1.3em;cursor:pointer}.option-item label{flex-grow:1;cursor:pointer;line-height:1.5}.option-item input[type=radio]:disabled{cursor:not-allowed}.option-item input[type=radio]:disabled+label{cursor:not-allowed;color:#666}.option-item.correct{background-color:var(--success-bg-color);border-color:var(--success-color);font-weight:700}.option-item.correct:before{content:"✔";color:var(--success-color);font-size:1.2em}.option-item.incorrect{background-color:var(--danger-bg-color);border-color:var(--danger-color);font-weight:700}.option-item.incorrect:before{content:"✖";color:var(--danger-color);font-size:1.2em}.explanation{margin-top:15px;padding:15px;background-color:#eef2f5;border-radius:5px;border-inline-start:4px solid var(--primary-color);font-size:.95rem;line-height:1.6}.explanation strong{color:var(--primary-color)}.report-card{background:var(--surface-color);padding:30px;border-radius:8px;box-shadow:0 2px 10px #0000001a;animation:fadeIn .5s ease-in-out;text-align:center;position:relative}.report-overall-score{display:flex;justify-content:center;margin:30px 0 40px}.score-circle{width:180px;height:180px;border-radius:50%;background-color:var(--surface-color);box-shadow:0 5px 20px #0000001a;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:box-shadow .5s ease-in-out}.score-circle.success{box-shadow:0 0 0 10px var(--success-color),0 5px 20px #0000001a}.score-circle.warning{box-shadow:0 0 0 10px var(--warning-color),0 5px 20px #0000001a}.score-circle.danger{box-shadow:0 0 0 10px var(--danger-color),0 5px 20px #0000001a}.score-percentage{font-size:3.5rem;font-weight:700;font-family:Montserrat,sans-serif;transition:color .5s ease-in-out}.score-percentage.success{color:var(--success-color)}.score-percentage.warning{color:var(--warning-color)}.score-percentage.danger{color:var(--danger-color)}.score-label{font-size:1rem;color:#666;margin-top:-10px;font-weight:700}.report-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;text-align:start}.report-section{background-color:#fbfdff;padding:20px;border:1px solid #eaf2f8;border-radius:8px}.report-section h3{font-family:Montserrat,Vazirmatn,sans-serif;font-size:1.5rem;color:var(--primary-color);margin-top:0;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--primary-color)}.section-summary-progress{margin-bottom:25px}.section-summary-progress strong{display:block;margin-bottom:8px;font-size:1rem}.chapter-results-list{list-style:none;padding:0;margin:0}.chapter-result-item{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:10px 0;border-bottom:1px solid var(--light-gray);cursor:pointer;transition:background-color .2s}.chapter-result-item:hover{background-color:#f0f5f9}.chapter-result-item:last-child{border-bottom:none}.chapter-result-title{flex:1;font-size:.9rem;color:var(--text-color)}.progress-bar-container{display:flex;align-items:center;gap:10px;flex:1;min-width:150px}.progress-bar-bg{flex-grow:1;height:12px;background-color:#e0e0e0;border-radius:6px;overflow:hidden}.progress-bar-fg{height:100%;border-radius:6px;transition:width .5s ease-in-out,background-color .5s ease-in-out}.progress-bar-fg.success{background-color:var(--success-color)}.progress-bar-fg.warning{background-color:var(--warning-color)}.progress-bar-fg.danger{background-color:var(--danger-color)}.progress-bar-label{font-size:.9rem;font-weight:700;color:#555;white-space:nowrap}.btn{padding:10px 20px;font-family:Vazirmatn,Montserrat,sans-serif;font-size:1rem;border:none;border-radius:5px;cursor:pointer;transition:background-color .2s,transform .1s;font-weight:700}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:#004080}.btn-primary:disabled{background-color:#a0a0a0;cursor:not-allowed}.btn-secondary{background-color:var(--success-color);color:#fff}.btn-secondary:hover{background-color:#218838}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover{background-color:#c82333}.btn-large{padding:15px 30px;font-size:1.2rem}.quiz-actions{text-align:center;margin-top:20px}.quiz-timer{padding:10px 20px;border:2px solid var(--primary-color);border-radius:8px;margin-bottom:20px;text-align:center;font-size:1.4rem;font-weight:700;color:var(--primary-color);background-color:#f0f5f9}.quiz-timer.low-time{color:var(--danger-color);border-color:var(--danger-color);animation:pulse 1s infinite}.time-up-alert{padding:15px;background-color:var(--danger-bg-color);color:var(--danger-color);border:1px solid var(--danger-color);border-radius:8px;text-align:center;font-weight:700;margin-bottom:20px}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.back-button{position:absolute;top:25px;z-index:10;background-color:#fff3;border:1px solid #fff;color:#fff}.back-button:hover{background-color:#fff6}html[dir=ltr] .back-button{right:25px}html[dir=rtl] .back-button{left:25px}.report-card-button-container{margin-top:50px;padding-top:30px;border-top:1px solid var(--light-gray)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.login-container{display:flex;justify-content:center;align-items:center;flex-grow:1;padding:20px}.login-form{background:var(--surface-color);padding:40px;border-radius:12px;box-shadow:0 8px 25px #00579226;width:100%;max-width:400px;text-align:center;animation:fadeIn .5s ease-in-out;position:relative}.login-form h2{color:var(--primary-color);margin-top:0;margin-bottom:25px;font-family:Montserrat,Vazirmatn,sans-serif}.form-group{margin-bottom:20px;text-align:start}.form-group label{display:block;margin-bottom:8px;font-weight:700;color:var(--text-color)}.form-group input{width:100%;padding:12px;border:1px solid var(--light-gray);border-radius:5px;box-sizing:border-box;font-size:1rem;font-family:Vazirmatn,Montserrat,sans-serif;background-color:#f7f9fb;color:var(--text-color);transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out,background-color .2s ease-in-out}.form-group input:focus{outline:none;border-color:var(--primary-color);background-color:var(--surface-color);box-shadow:0 0 0 3px #0057921a}.error-message{color:var(--danger-color);background-color:var(--danger-bg-color);padding:10px;border-radius:5px;margin-bottom:20px;border:1px solid var(--danger-color)}.success-message{color:var(--success-color);background-color:var(--success-bg-color);padding:10px;border-radius:5px;margin-bottom:20px;border:1px solid var(--success-color)}.form-toggle-link{display:block;margin-top:20px;background:none;border:none;color:var(--primary-color);text-decoration:underline;cursor:pointer;font-size:.9rem;font-family:inherit}.message-bar{padding:10px;border-radius:5px;margin-bottom:20px;border:1px solid;text-align:center}.message-bar.success-message{color:var(--success-color);background-color:var(--success-bg-color);border-color:var(--success-color)}.message-bar.error-message{color:var(--danger-color);background-color:var(--danger-bg-color);border-color:var(--danger-color)}.user-management-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:30px;margin-top:20px}.user-management-card{background:var(--surface-color);border-radius:12px;padding:30px;box-shadow:0 4px 10px #00000014;border:1px solid var(--light-gray)}.user-management-card h3{font-family:Montserrat,Vazirmatn,sans-serif;font-size:1.5rem;color:var(--primary-color);border-bottom:2px solid var(--primary-color-light);padding-bottom:10px;margin-top:0;margin-bottom:20px}.user-list{list-style:none;padding:0;max-height:300px;overflow-y:auto}.user-list li{padding:12px;border-bottom:1px solid var(--light-gray);font-size:1.1rem;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.user-list-actions{display:flex;gap:10px}.user-list-actions .btn{padding:5px 10px;font-size:.9rem}.user-list-actions .btn-edit{background-color:var(--primary-color-light)}.user-list-actions .btn-edit:hover{background-color:var(--primary-color)}.user-list-actions .btn-delete:disabled{background-color:#ccc;cursor:not-allowed;border-color:#ccc}.user-list li:last-child{border-bottom:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-in-out}.modal-content{background:var(--surface-color);padding:30px;border-radius:12px;box-shadow:0 8px 30px #0003;width:100%;max-width:450px;animation:slideUp .4s ease-in-out}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--light-gray);padding-bottom:15px;margin-bottom:20px}.modal-header h3{margin:0;color:var(--primary-color);font-family:Montserrat,Vazirmatn,sans-serif}.modal-close-btn{background:none;border:none;font-size:1.8rem;cursor:pointer;color:#888;line-height:1}.modal-close-btn:hover{color:var(--text-color)}.modal-body{margin-bottom:25px}.modal-actions{display:flex;justify-content:flex-end;gap:15px}@media (max-width: 992px){.report-details-grid{grid-template-columns:1fr}}@media (max-width: 768px){.app-header{gap:10px;padding:15px;flex-wrap:wrap;justify-content:space-between}.header-logo{height:50px}.header-title-container{text-align:center;width:100%;order:2}.app-header h1{font-size:1.1rem}.header-left,.header-right{order:1}.header-right{gap:10px}.user-info{font-size:.8rem;max-width:90%;margin-top:2px}.lang-switcher,.logout-btn,.user-management-btn{padding:5px 8px;font-size:.8rem}.main-menu-grid{grid-template-columns:1fr}.main-menu-card{min-height:auto;padding:25px 20px;flex-direction:row;justify-content:flex-start;text-align:left;gap:20px}html[dir=rtl] .main-menu-card{text-align:right}.main-menu-icon{font-size:2.5rem;margin-bottom:0}.main-menu-title{font-size:1.1rem}.chapters-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.chapter-card{padding:15px}.chapter-icon{font-size:2.5rem}.chapter-view h2,.report-card h2{font-size:1.5rem;padding:15px}.back-button{top:18px;padding:6px 10px;font-size:.8rem}html[dir=ltr] .back-button{right:15px}html[dir=rtl] .back-button{left:15px}.score-circle{width:150px;height:150px}.score-percentage{font-size:3rem}}
