:root{ --primary-color:#527a5b; --secondary-color:#98b39f; --light-color:#ffffff; --dark-color:#2c3e2f; --success-color:#28a745; --warning-color:#ffc107; --danger-color:#dc3545; --info-color:#0081cc; --muted-color:#6c757d;}@media (max-width:768px){ .btn{ font-size:0.875rem; padding:0.375rem 0.75rem;} .btn-sm{ font-size:0.8rem; padding:0.25rem 0.5rem;} .btn-group .btn{ flex:1; min-width:0;} .btn-group .btn .fas{ margin-right:0.25rem;} @media (max-width:480px){ .btn-text-mobile{ display:none;} .btn .fas{ margin-right:0;}}}.bg-primary{ background-color:var(--primary-color) !important;}.bg-info{ background-color:var(--info-color) !important;}.text-info{ color:var(--info-color) !important;}.border-info{ border-color:var(--info-color) !important;}.btn-outline-info{ color:var(--info-color) !important; border-color:var(--info-color) !important;}.btn-outline-info:hover{ background-color:var(--info-color) !important; border-color:var(--info-color) !important;}.notes-section .btn[data-bs-toggle="collapse"] .fa-chevron-down{ transition:transform 0.3s ease;}.notes-section .btn[data-bs-toggle="collapse"][aria-expanded="true"] .fa-chevron-down{ transform:rotate(180deg);}.answer-options .btn-group .btn{ border-radius:0.375rem !important; margin-right:0.25rem;}.answer-options .btn-group .btn:last-child{ margin-right:0;}.answer-options .btn-group .btn:not(:first-child){ border-top-left-radius:0.375rem !important; border-bottom-left-radius:0.375rem !important;}.answer-options .btn-group .btn:not(:last-child){ border-top-right-radius:0.375rem !important; border-bottom-right-radius:0.375rem !important;}.btn-primary{ background-color:var(--primary-color); border-color:var(--primary-color);}.btn-primary:hover,.btn-primary:focus{ background-color:var(--dark-color); border-color:var(--dark-color);}.btn-outline-primary{ color:var(--primary-color); border-color:var(--primary-color);}.btn-outline-primary:hover,.btn-outline-primary:focus{ background-color:var(--primary-color); border-color:var(--primary-color);}.text-primary{ color:var(--primary-color) !important;}.border-primary{ border-color:var(--primary-color) !important;}.progress-bar{ background-color:var(--primary-color) !important;}body{ background-color:#f8f9fa; font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;}.navbar-brand{ font-weight:600; font-size:1.4rem;}.profile-img{ width:24px; height:24px; border-radius:50%; object-fit:cover;}.card{ border:none; border-radius:12px; transition:transform 0.2s ease-in-out,box-shadow 0.2s ease-in-out;}.card:hover{ transform:translateY(-2px); box-shadow:0 4px 15px rgba(0,0,0,0.1);}.card-header{ border-radius:12px 12px 0 0 !important; border-bottom:1px solid rgba(0,0,0,0.125);}.navbar{ padding:1rem 0; margin-bottom:1rem;}.navbar-brand{ margin-left:0 !important;}.navbar-logo{ height:32px; width:auto; object-fit:contain;}.offcanvas-header{ border-bottom:1px solid rgba(255,255,255,0.2);}.offcanvas-body .nav-link{ border-radius:8px; margin-bottom:6px; padding:12px 16px; transition:all 0.3s ease-in-out; color:var(--primary-color) !important; background-color:var(--light-color); text-decoration:none; display:block; border:1px solid var(--primary-color);}.offcanvas-body .nav-link:hover{ background-color:var(--secondary-color); color:var(--light-color) !important; border-color:var(--secondary-color); transform:translateX(8px); box-shadow:0 2px 8px rgba(152,179,159,0.3);}.btn-outline-light{ background-color:var(--primary-color) !important; border-color:var(--primary-color) !important; color:var(--light-color) !important; border-radius:8px; padding:8px 16px; transition:all 0.3s ease;}.btn-outline-light:hover{ background-color:var(--secondary-color) !important; border-color:var(--secondary-color) !important; color:var(--light-color) !important; transform:translateY(-1px); box-shadow:0 2px 8px rgba(152,179,159,0.4);}.btn-outline-light:focus,.btn-outline-light:active{ background-color:var(--primary-color) !important; border-color:var(--primary-color) !important; color:var(--light-color) !important; box-shadow:0 0 0 0.2rem rgba(82,122,91,0.25);}.btn-primary{ background-color:var(--primary-color); border-color:var(--primary-color); border-radius:8px; transition:all 0.3s ease;}.btn-primary:hover{ background-color:var(--secondary-color); border-color:var(--secondary-color); transform:translateY(-1px); box-shadow:0 2px 8px rgba(82,122,91,0.3);}.btn-success{ background-color:var(--primary-color); border-color:var(--primary-color); border-radius:8px;}.btn-success:hover{ background-color:var(--secondary-color); border-color:var(--secondary-color);}.menu-toggle-btn{ background-color:var(--primary-color); border:2px solid var(--primary-color); color:var(--light-color); border-radius:8px; padding:8px 16px; transition:all 0.3s ease;}.menu-toggle-btn:hover{ background-color:var(--secondary-color); border-color:var(--secondary-color); color:var(--light-color); transform:translateY(-1px); box-shadow:0 2px 8px rgba(152,179,159,0.4);}.menu-toggle-btn:focus,.menu-toggle-btn:active{ background-color:var(--primary-color); border-color:var(--primary-color); color:var(--light-color); box-shadow:0 0 0 0.2rem rgba(82,122,91,0.25);}.form-control:focus,.form-select:focus{ border-color:var(--primary-color); box-shadow:0 0 0 0.2rem rgba(82,122,91,0.25);}.form-check-input:checked{ background-color:var(--primary-color); border-color:var(--primary-color);}.form-check-input:focus{ border-color:var(--primary-color); box-shadow:0 0 0 0.25rem rgba(82,122,91,0.25);}.badge{ font-size:0.75em; font-weight:500;}.alert{ border-radius:8px; border:none;}.btn{ border-radius:6px; font-weight:500; transition:all 0.2s ease-in-out;}.btn:hover{ transform:translateY(-1px);}.btn-lg{ padding:0.75rem 2rem; font-size:1.1rem;}.progress{ height:8px; border-radius:4px; background-color:#e9ecef;}.progress-bar{ border-radius:4px;}.shadow-sm{ box-shadow:0 0.125rem 0.5rem rgba(0,0,0,0.075) !important;}.shadow{ box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15) !important;}.shadow-lg{ box-shadow:0 1rem 3rem rgba(0,0,0,0.175) !important;}@media (max-width:768px){ .display-6{ font-size:2rem;} .display-4{ font-size:2.5rem;} .btn-lg{ padding:0.6rem 1.5rem; font-size:1rem;} .card-body{ padding:1rem;}}@media (max-width:576px){ .container-fluid{ padding-left:1rem; padding-right:1rem;} .btn-group .btn{ font-size:0.875rem; padding:0.375rem 0.75rem;} .display-1{ font-size:3rem;}}@media print{ .btn, .navbar, .offcanvas, .dropdown, .alert-dismissible .btn-close{ display:none !important;} .card{ border:1px solid #000 !important; box-shadow:none !important; page-break-inside:avoid; margin-bottom:1rem;} .container-fluid{ margin:0; padding:0;} body{ background:white !important;} .bg-primary{ background:#527a5b !important; color:white !important;}}.fade-in{ animation:fadeIn 0.5s ease-in;}@keyframes fadeIn{ from{ opacity:0; transform:translateY(20px);} to{ opacity:1; transform:translateY(0);}}.slide-in{ animation:slideIn 0.3s ease-out;}@keyframes slideIn{ from{ transform:translateX(-20px); opacity:0;} to{ transform:translateX(0); opacity:1;}}.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}.btn:focus,.form-control:focus,.form-check-input:focus{ outline:2px solid var(--primary-color); outline-offset:2px;}@media (prefers-contrast:high){ .card{ border:2px solid #000;} .btn-outline-primary{ border-width:2px;}}@media (max-width:767.98px){ .answer-options .btn-group .btn{ min-width:44px; min-height:44px; display:flex; align-items:center; justify-content:center; padding:0.5rem 0.25rem;} .answer-options .btn-group .btn i{ margin:0 !important; font-size:1.1rem;}}@media (min-width:768px){ .answer-options .btn-group .btn{ padding:0.5rem 1rem;}}@media (prefers-reduced-motion:reduce){ *, *::before, *::after{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}}