        body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; margin: 0; display: flex; min-height: 100vh; background: #f4f7f6; }

        #sidebar { width: 340px; background: #2c3e50; color: white; padding: 20px; overflow-y: auto; height: 100vh; position: fixed; }
        #main-content { margin-left: 340px; flex: 1; padding: 40px; }

        .exam-group { margin-bottom: 20px; }
        .exam-header { cursor: pointer; font-weight: bold; padding: 12px; background: #34495e; border-radius: 4px; display: flex; justify-content: space-between; align-items: center; }
        .topic-list { padding: 10px 0; display: none; }
        .topic-list.active { display: block; }
        .primary-domain { font-size: 11px; color: #f1c40f; text-transform: uppercase; margin: 15px 0 5px 0; border-bottom: 1px solid #465d75; padding-bottom: 2px; }
        .topic-checkbox { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; margin: 6px 0; cursor: pointer; color: #ecf0f1; }
        .topic-checkbox input { cursor: pointer; margin-top: 3px; }

        .save-btn { background: #2ecc71; color: white; border: none; padding: 12px; width: 100%; border-radius: 4px; cursor: pointer; font-weight: bold; margin-top: 10px;}

        .card { background: white; padding: 30px; border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); margin-bottom: 20px;}
        h1 { color: #2c3e50; margin-top: 0; display: flex; justify-content: space-between; align-items: center; }

        #dashboard-container, #quiz-container, #auth-container { display: none; }

        .option-btn { padding: 15px; border: 2px solid #e0e0e0; border-radius: 6px; background: white; text-align: left; font-size: 16px; cursor: pointer; width: 100%; margin-bottom: 10px; transition: 0.2s;}
        .option-btn:hover:not(:disabled) { border-color: #3498db; background: #f0f8ff; }
        .option-btn:disabled { cursor: not-allowed; opacity: 0.8; }
        .correct { background: #d4edda !important; border-color: #28a745 !important; color: #155724; font-weight: bold; }
        .incorrect { background: #f8d7da !important; border-color: #dc3545 !important; color: #721c24; text-decoration: line-through; }
        #explanation { margin-top: 20px; padding: 20px; background: #e8f4f8; border-left: 4px solid #3498db; display: none; font-size: 15px; line-height: 1.5;}

        .reset-btn { padding: 8px 16px; background: #ecf0f1; color: #7f8c8d; border: 1px solid #bdc3c7; border-radius: 4px; cursor: pointer; font-size: 13px; transition: 0.2s; }
        .reset-btn:hover { background: #e0e6ed; color: #2c3e50; }
