@import"https://fonts.googleapis.com/css2?family=Spectral:wght@400;600;700&family=Public+Sans:wght@400;500;600;700&display=swap";:root{font-family:Georgia,Times New Roman,serif;line-height:1.6;font-weight:400;color-scheme:light;color:var(--color-text-primary, #334155);background-color:var(--color-background, #ffffff);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-primary: #203b5c;--color-accent: #2e807c;--color-surface-accent: #dbeafe;--color-heading: #1e293b;--color-text-secondary: #64748b;--color-surface: #f1f5f9;--color-button-new-assessment: #b95f15;--color-background: #ffffff;--color-text-primary: #334155;--color-text-inverse: #ffffff;--color-border-accent: #2e807c;--color-focus-ring: #2e807c}a{font-weight:600;color:var(--color-primary);text-decoration:underline;transition:color .3s ease}a:hover{color:var(--color-heading);text-decoration:none}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background:var(--color-surface);font-family:Georgia,Times New Roman,serif}@media (max-width: 768px){body{padding:0;min-width:100%}}h1{font-size:2.5rem;line-height:1.2;color:var(--color-primary);font-family:Georgia,Times New Roman,serif;font-weight:700}h2{font-size:2rem;color:var(--color-heading);font-family:Georgia,Times New Roman,serif;font-weight:600}h3{font-size:1.5rem;color:var(--color-heading);font-family:Georgia,Times New Roman,serif;font-weight:600}button{border-radius:6px;border:2px solid var(--color-button-primary);padding:.75em 1.5em;font-size:1em;font-weight:600;font-family:Georgia,Times New Roman,serif;background:var(--color-button-primary);color:var(--color-text-inverse);cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){h1{font-size:2rem;line-height:1.3}h2{font-size:1.6rem;line-height:1.3}h3{font-size:1.3rem;line-height:1.3}button{padding:.75rem 1rem;font-size:.9rem}}@media (max-width: 480px){h1{font-size:1.8rem}h2{font-size:1.4rem}h3{font-size:1.2rem}button{padding:.75rem;font-size:.85rem;width:100%;max-width:300px}}button:hover{background:var(--color-button-hover);transform:translateY(-1px);box-shadow:0 4px 8px #1e3a8a4d}button:focus,button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}a:hover{color:#747bff}.theme-nv,.theme-ncsc{color-scheme:light}:root{--color-primary: #203b5c;--color-accent: #2e807c;--color-background: #ffffff;--color-surface: #f1f5f9;--color-surface-accent: #dbeafe;--color-text-primary: #334155;--color-text-secondary: #64748b;--color-text-inverse: #ffffff;--color-border: #dbeafe;--color-border-accent: #2e807c;--color-heading: #1e293b;--color-button-primary: #203b5c;--color-button-hover: #1e293b;--color-button-secondary: #64748b;--color-button-new-assessment: #b95f15;--color-progress-complete: #2e807c;--color-focus-ring: #2e807c;--color-button-hover-calculated: color-mix(in srgb, var(--color-primary) 75%, black 25%);--color-button-secondary-hover-calculated: color-mix(in srgb, var(--color-button-secondary) 75%, black 25%);--color-button-new-assessment-hover-calculated: color-mix(in srgb, var(--color-button-new-assessment) 75%, black 25%);--color-accent-hover-calculated: color-mix(in srgb, var(--color-accent) 75%, black 25%);--color-note-background-calculated: color-mix(in srgb, var(--color-accent) 25%, white 75%)}#root{max-width:1200px;margin:0 auto;padding:0;text-align:left;background-color:var(--color-background);font-family:Georgia,Times New Roman,serif}@media (max-width: 768px){#root{max-width:100%;padding:0}}.app-container{max-width:800px;margin:0 auto;padding:2rem;text-align:left;background-color:var(--color-background);min-height:100vh;width:100%;box-sizing:border-box}@media (max-width: 768px){.app-container{padding:1rem;max-width:100%;margin:0;width:100%}h1{font-size:2rem!important;line-height:1.3}h2{font-size:1.6rem!important;line-height:1.3}h3{font-size:1.3rem!important;line-height:1.3}button{padding:.75rem 1rem;font-size:.9rem}.form-section{margin-bottom:1.5rem;padding:1.5rem;width:100%;box-sizing:border-box}.question-form{padding:1.5rem!important;margin-bottom:1.5rem}.question-group{padding:1rem!important;margin-bottom:1.5rem}.button-group{gap:1rem;flex-direction:column;align-items:stretch}.submit-btn,.reset-btn,.back-btn{width:100%;padding:1rem;font-size:.9rem}.app-header{flex-direction:column;align-items:center;text-align:center;gap:1rem;padding:1rem;margin:-1rem -1rem 2rem}.header-content{flex-direction:column;align-items:center;text-align:center;gap:1rem;width:100%}.header-logo{margin-right:0;margin-bottom:.5rem;max-height:80px}.app-header h1{margin:0;font-size:1.5rem!important;text-align:center}.home-button{margin-top:.5rem}.session-warning-banner{flex-direction:column;text-align:center;gap:1rem;padding:1rem}.session-warning-content{justify-content:center;text-align:center;flex-wrap:wrap}.session-warning-banner .btn{width:100%;max-width:200px;margin:0 auto}.progress-indicator{display:flex!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:.5rem;margin:1rem 0!important;padding:.5rem 0!important;min-height:80px;width:100vw!important;max-width:100vw!important;position:relative;left:50%;right:50%;margin-left:-50vw!important;margin-right:-50vw!important;padding-left:1rem;padding-right:1rem;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}.progress-indicator::-webkit-scrollbar{display:none}.progress-step{flex:0 0 140px;width:140px;min-width:140px;max-width:140px;height:60px;min-height:60px;margin:0 .25rem;font-size:.8rem;padding:.75rem .5rem;line-height:1.1}.progress-step:not(:last-child):after{display:block;right:-.6rem;border-left:.3rem solid var(--color-text-secondary);border-top:.3rem solid transparent;border-bottom:.3rem solid transparent}.privacy-notice{padding:.75rem;margin-bottom:1rem;flex-direction:column;text-align:center;gap:.5rem}.privacy-content{text-align:left}}@media (max-width: 1024px) and (min-width: 769px){.progress-step{width:120px;min-width:120px;max-width:120px;font-size:.8rem;padding:.5rem .25rem;margin:0 .3rem}.progress-step:not(:last-child):after{right:-.8rem;border-left-width:.4rem;border-top-width:.4rem;border-bottom-width:.4rem}}@media (max-width: 1200px) and (min-width: 1025px){.progress-step{width:140px;min-width:140px;max-width:140px;font-size:.85rem;margin:0 .4rem}.progress-step:not(:last-child):after{right:-.9rem}}@media (max-width: 480px){.app-container{padding:.75rem}h1{font-size:1.8rem!important}h2{font-size:1.4rem!important}h3{font-size:1.2rem!important}button{padding:.75rem;font-size:.85rem;width:100%;max-width:300px}.form-section{padding:1rem}.privacy-notice{padding:.5rem}}.privacy-notice{background-color:#e3f2fd;border:2px solid #2196f3;border-radius:8px;padding:1rem;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:0 2px 4px #2196f333}.privacy-content{display:flex;align-items:flex-start;gap:1rem;flex:1;color:#1565c0;font-size:.95rem;line-height:1.4}.privacy-content .material-icons{color:#1976d2;flex-shrink:0;font-size:20px}.privacy-content strong{color:#1565c0}.privacy-notice .btn{flex-shrink:0;white-space:nowrap}.session-warning-banner{background-color:#fff3cd;border:2px solid #ffc107;border-radius:8px;padding:1rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:0 2px 4px #ffc10733;position:relative;z-index:100;width:100%;box-sizing:border-box;max-width:100%}.session-warning-content{display:flex;align-items:center;gap:.75rem;flex:1;color:#856404;font-weight:500}.session-warning-content .material-icons{color:#ff9800;flex-shrink:0}.session-warning-banner .btn{flex-shrink:0;white-space:nowrap}.app-container h1{text-align:center;color:var(--color-primary);margin-bottom:2rem;font-size:2.5rem;font-weight:700;font-family:Georgia,Times New Roman,serif;border-bottom:3px solid var(--color-accent);padding-bottom:1rem}.app-header{background:var(--color-primary);color:var(--color-text-inverse);padding:1.5rem 2rem;margin:-2rem -2rem 2rem;border-bottom:4px solid var(--color-accent);display:flex;justify-content:space-between;align-items:center;position:relative}.header-content{display:flex;align-items:center;gap:0;flex:1}.app-header h1{color:var(--color-text-inverse);margin:0;font-size:2.2rem;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.3);border-bottom:none;padding-bottom:0}.header-subtitle{text-align:center;color:var(--color-surface-accent);font-size:1.1rem;margin-top:.5rem;font-style:italic}.question-form{background:var(--color-background);padding:2.5rem;border-radius:8px;box-shadow:0 4px 12px #1e3a8a1a;border:1px solid var(--color-border);margin-bottom:2rem;width:100%;box-sizing:border-box;max-width:100%;overflow-x:hidden}.question-group{margin-bottom:2rem;padding:1.5rem;background:var(--color-surface);border-radius:8px;border:2px solid var(--color-surface-accent);transition:border-color .3s ease;width:100%;box-sizing:border-box;max-width:100%;overflow-x:hidden}.question-group:hover{border-color:var(--color-accent)}.question-label{display:block;font-weight:700;margin-bottom:1rem;color:var(--color-heading);font-size:1.1rem;font-family:Georgia,Times New Roman,serif}.radio-group{display:flex;gap:1.5rem;flex-wrap:wrap}.radio-label{display:flex;align-items:center;gap:.75rem;font-weight:500;cursor:pointer;padding:.75rem 1.25rem;border-radius:6px;transition:all .3s ease;background:var(--color-background);border:2px solid var(--color-surface-accent);color:var(--color-text-primary);font-family:Georgia,Times New Roman,serif}.radio-label:hover{background-color:var(--color-surface-accent);border-color:var(--color-accent);transform:translateY(-1px)}.radio-label input[type=radio]{cursor:pointer;transform:scale(1.3);accent-color:var(--color-primary)}.radio-label input[type=radio]:checked+span{color:var(--color-primary);font-weight:600}.submit-btn,.reset-btn,.back-btn{padding:1rem 2.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Georgia,Times New Roman,serif;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;justify-content:center;gap:.5rem}.submit-btn{background:var(--color-primary);color:var(--color-background);border:2px solid var(--color-primary);order:999}.reset-btn,.back-btn{background:transparent;color:var(--color-text-secondary);border:2px solid var(--color-text-secondary);order:1}.submit-btn:hover{background:var(--color-button-hover-calculated);transform:translateY(-2px);box-shadow:0 4px 8px #1e3a8a4d}.reset-btn:hover,.back-btn:hover{background:var(--color-button-secondary-hover-calculated);color:var(--color-background);transform:translateY(-2px);box-shadow:0 4px 8px #64748b4d}.back-btn:focus{border-color:var(--color-text-secondary)!important;outline:3px solid var(--color-accent);outline-offset:2px}.progress-indicator{display:flex;justify-content:center;align-items:center;margin:2rem 0;width:100%;max-width:100%;box-sizing:border-box;padding:0 1rem;position:relative}.progress-step{flex:0 0 auto;width:160px;min-width:160px;max-width:160px;height:60px;min-height:60px;padding:.75rem .5rem;margin:0 .5rem;text-align:center;background:var(--color-background);border-radius:8px;font-weight:600;color:var(--color-text-secondary);border:2px solid var(--color-surface-accent);transition:all .3s ease;position:relative;font-family:Georgia,Times New Roman,serif;font-size:.9rem;display:flex;align-items:center;justify-content:center;line-height:1.2;box-sizing:border-box;word-wrap:break-word;z-index:1}.progress-step:not(:last-child):after{content:"";position:absolute;right:-1rem;top:50%;transform:translateY(-50%);width:0;height:0;border-left:.5rem solid var(--color-text-secondary);border-top:.5rem solid transparent;border-bottom:.5rem solid transparent;z-index:2}.progress-step.active{background:var(--color-primary);color:var(--color-background);border-color:var(--color-heading);box-shadow:0 4px 8px #1e3a8a4d;transform:translateY(-2px)}.progress-step.completed{background:var(--color-surface-accent);color:var(--color-heading);border-color:var(--color-accent);position:relative}.progress-step.completed:before{content:"✓";position:absolute;top:-10px;right:-10px;background:var(--color-accent);color:var(--color-background);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;border:3px solid var(--color-background);box-shadow:0 2px 6px #d9770666}.progress-step:not(:last-child):after{content:"";position:absolute;right:-.75rem;top:50%;transform:translateY(-50%);width:0;height:0;border-left:.5rem solid var(--color-text-secondary);border-top:.5rem solid transparent;border-bottom:.5rem solid transparent;z-index:1}.progress-step.active:not(:last-child):after{border-left-color:var(--color-primary)}.progress-step.completed:not(:last-child):after{border-left-color:var(--color-accent)}.progress-step.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.progress-step.clickable:hover{transform:translateY(-1px);box-shadow:0 3px 6px #00000026}.progress-step.clickable:active{transform:translateY(0);transition:transform .1s ease}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.header-controls{display:flex;gap:1rem}.btn{padding:.75rem 1.5rem;border:2px solid var(--color-primary);border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .3s ease;font-family:Georgia,Times New Roman,serif;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.btn-small{padding:.5rem 1rem;font-size:.8rem}.btn-outline{background:var(--color-background);border:2px solid var(--color-primary);color:var(--color-primary)}.btn-outline:hover{background:var(--color-button-hover-calculated);color:var(--color-background);transform:translateY(-1px);box-shadow:0 3px 6px #1e3a8a4d}.btn-secondary{background:var(--color-text-secondary);color:var(--color-background);border:2px solid var(--color-text-secondary)}.btn-secondary:hover{background:var(--color-button-secondary-hover-calculated);border-color:var(--color-button-secondary-hover-calculated);transform:translateY(-1px);box-shadow:0 3px 6px #64748b4d}.selected-areas{margin:2rem 0;padding:1.5rem;background:var(--color-background);border-radius:8px;border-left:6px solid var(--color-primary);border-right:1px solid var(--color-surface-accent);border-top:1px solid var(--color-surface-accent);border-bottom:1px solid var(--color-surface-accent);box-shadow:0 2px 8px #1e3a8a1a}.selected-areas h3{color:var(--color-primary);margin-bottom:1rem;font-size:1.25rem;font-family:Georgia,Times New Roman,serif;font-weight:700}.selected-areas ul{margin:0;padding-left:1.5rem}.selected-areas li{margin-bottom:.5rem;color:var(--color-heading);font-weight:500;line-height:1.4}.no-concerns{color:var(--color-text-secondary);font-style:italic;margin:0;font-family:Georgia,Times New Roman,serif}.section-title{color:var(--color-primary);margin:2rem 0 1.5rem;font-size:1.8rem;text-align:center;font-family:Georgia,Times New Roman,serif;font-weight:700;border-bottom:2px solid var(--color-accent);padding-bottom:.75rem}.form-description{color:var(--color-text-primary);margin-bottom:2.5rem;text-align:center;font-size:1.1rem;line-height:1.6;font-family:Georgia,Times New Roman,serif}.button-group{display:flex;gap:1.5rem;justify-content:center;margin-top:2.5rem;flex-wrap:wrap}.completion-actions{display:flex;flex-direction:column;gap:1.5rem;margin-top:2.5rem}.top-row-buttons{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.completion-actions .top-row-buttons button{padding:1rem 2.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Georgia,Times New Roman,serif;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;justify-content:center;gap:.5rem}.completion-actions .top-row-buttons .back-btn{background:transparent!important;color:var(--color-text-secondary)!important;border:2px solid var(--color-text-secondary)!important;min-width:auto;padding:1rem 2.5rem}.completion-actions .submit-btn{background:var(--color-primary);color:var(--color-background);border:2px solid var(--color-primary)}.completion-actions .top-row-buttons .back-btn:hover{background:var(--color-button-secondary-hover-calculated)!important;color:var(--color-background)!important;transform:translateY(-2px);box-shadow:0 4px 8px #64748b4d}.completion-actions .top-row-buttons .back-btn:focus{border-color:var(--color-text-secondary)!important;outline:3px solid var(--color-accent);outline-offset:2px}.completion-actions .submit-btn:hover{background:var(--color-button-hover-calculated);transform:translateY(-2px);box-shadow:0 4px 8px #1e3a8a4d}.back-btn{background:transparent;color:var(--color-text-secondary);padding:1rem 2rem;border:2px solid var(--color-text-secondary);border-radius:6px;cursor:pointer;font-size:1rem;transition:all .3s ease;font-family:Georgia,Times New Roman,serif;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;gap:.5rem}.back-btn:hover{background:var(--color-button-secondary-hover-calculated);transform:translateY(-2px);box-shadow:0 4px 8px #64748b4d}.new-assessment-section{display:flex;justify-content:center;margin-top:1rem;padding-top:1.5rem;border-top:2px dashed var(--color-text-secondary)}.new-assessment-btn{background:var(--color-button-new-assessment);color:var(--color-background);border:2px solid var(--color-button-new-assessment);padding:1rem 2.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Georgia,Times New Roman,serif;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 3px 6px #b95f154d;min-width:220px;display:flex;align-items:center;justify-content:center;gap:.5rem}.new-assessment-btn:hover{background:var(--color-button-new-assessment-hover-calculated);border-color:var(--color-button-new-assessment-hover-calculated);transform:translateY(-2px);box-shadow:0 5px 10px #b95f1566}.loading,.error{text-align:center;padding:2.5rem;font-size:1.2rem;color:var(--color-text-primary);font-family:Georgia,Times New Roman,serif;border-radius:8px;margin:2rem 0}.loading{background:var(--color-surface-accent);border:2px solid var(--color-surface-accent);color:var(--color-primary)}.error{color:#dc3545;background:#f8d7da;border:2px solid #f5c6cb;border-radius:8px}.recommendations-list{margin:1.5rem 0}.recommendations-header{margin-bottom:1.5rem}.recommendations-intro{color:var(--color-text-primary);font-style:italic;font-size:1rem;margin-bottom:1rem}.recommendation-item{background:var(--color-background);border:2px solid var(--color-surface-accent);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 4px #0000001a}.recommendation-title{color:var(--color-accent);font-size:1.2rem;font-weight:700;margin-bottom:.75rem;font-family:Georgia,Times New Roman,serif}.recommendation-explanation{color:var(--color-text-primary);font-size:1rem;line-height:1.5;margin-bottom:1rem;font-weight:400}.recommendation-importance{color:var(--color-text-primary);font-size:.95rem;line-height:1.4;background:var(--color-surface);padding:.75rem;border-radius:6px;border-left:4px solid var(--color-primary)}.recommendation-importance strong{color:var(--color-heading);font-weight:600}.recommendation-resources{margin-top:1rem;padding:.75rem;background:var(--color-surface);border-radius:6px;border-left:4px solid var(--color-accent)}.recommendation-resources strong{color:var(--color-heading);font-weight:600;display:block;margin-bottom:.5rem}.resource-links{list-style:none;padding:0;margin:0}.resource-links li{margin-bottom:.5rem}.resource-link{color:var(--color-accent);text-decoration:none;font-weight:500;font-size:.95rem}.resource-link:hover{color:var(--color-heading);text-decoration:underline}.resource-description{color:var(--color-text-primary);font-size:.9rem;font-style:italic}.info-message{background:var(--color-surface-accent);border:2px solid var(--color-accent);border-radius:8px;padding:1.5rem;margin:1.5rem 0;text-align:center}.info-message p{color:var(--color-primary);font-weight:600;margin:0;font-size:1.1rem}.pdf-summary-container{max-width:800px;margin:0 auto;padding:2rem;background:var(--color-background);border-radius:8px;box-shadow:0 4px 12px #1e3a8a1a}.pdf-summary-header{margin-bottom:2rem;text-align:center;border-bottom:2px solid var(--color-accent);padding-bottom:1.5rem}.pdf-summary-header h2{color:var(--color-primary);font-size:2rem;margin-bottom:1rem;font-family:Georgia,Times New Roman,serif}.pdf-summary-preview{margin-bottom:2.5rem;background:var(--color-surface);padding:1.5rem;border-radius:8px;border:1px solid var(--color-surface-accent)}.summary-section{margin-bottom:2rem;padding:1rem;background:var(--color-background);border-radius:6px;border-left:4px solid var(--color-accent)}.summary-section h4{color:var(--color-primary);font-size:1.3rem;margin-bottom:1rem;font-family:Georgia,Times New Roman,serif}.summary-section h5{color:var(--color-button-new-assessment);font-size:1.1rem;margin-bottom:.75rem;margin-top:1rem;font-family:Georgia,Times New Roman,serif;font-weight:600}.alternative-item{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.25rem 0}.checkmark{color:var(--color-accent);font-weight:700;font-size:1.1rem;flex-shrink:0}.concern-item{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.25rem;list-style:none;padding:.25rem 0}.concern-item span:last-child{line-height:1.4;font-weight:600}.concern-area ul{padding-left:0;margin-left:0}.pdf-summary-actions{display:flex;gap:1.5rem;justify-content:center;margin:2.5rem 0;flex-wrap:wrap;padding:1.5rem 0;border-top:2px solid var(--color-surface-accent);border-bottom:2px solid var(--color-surface-accent);flex-direction:row-reverse}.generate-pdf-button{background:var(--color-primary);color:var(--color-background);border:2px solid var(--color-primary);padding:1rem 2.5rem;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Georgia,Times New Roman,serif;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px #0000001a;min-width:250px}.generate-pdf-button:hover:not(:disabled){background:var(--color-button-hover-calculated);transform:translateY(-2px);box-shadow:0 4px 8px #1e3a8a4d}.generate-pdf-button:disabled{background:var(--color-text-secondary);border-color:var(--color-text-secondary);cursor:not-allowed;opacity:.7}.close-button{background:transparent;color:var(--color-text-secondary);border:2px solid var(--color-text-secondary);padding:1rem 2.5rem;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Georgia,Times New Roman,serif;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px #0000001a;min-width:200px;display:flex;align-items:center;justify-content:center;gap:.5rem}.close-button:hover{background:var(--color-button-secondary-hover-calculated);color:var(--color-background);transform:translateY(-2px);box-shadow:0 4px 8px #64748b4d}.pdf-summary-note{background:var(--color-surface-accent);padding:1.5rem;border-radius:8px;border:1px solid var(--color-accent);margin-top:2rem;text-align:center}.pdf-summary-note p{color:var(--color-heading);font-style:italic;margin:0;font-size:1rem;line-height:1.5}.checkbox-group{display:flex;flex-direction:column;gap:1rem;width:100%;box-sizing:border-box}.checkbox-item{display:flex;flex-direction:column;gap:.75rem;width:100%;box-sizing:border-box}.alternative-container{display:flex;align-items:center;gap:8px;width:100%;box-sizing:border-box}.alternative-container .checkbox-label-modern{flex:1}.alternative-info-button{background:none;border:none;color:var(--color-accent);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:50%;width:44px;height:44px;font-size:24px;transition:background-color .2s ease;flex-shrink:0;box-sizing:border-box}.alternative-info-button .material-icons{font-size:36px}.alternative-info-button:hover{background-color:#2e807c1a}.alternative-spacer{width:44px;height:44px;flex-shrink:0}.checkbox-label{display:flex;align-items:center;gap:.75rem;font-weight:500;cursor:pointer;padding:.75rem 1.25rem;border-radius:6px;transition:all .3s ease;background:var(--color-background);border:2px solid var(--color-surface-accent);color:var(--color-text-primary);font-family:Georgia,Times New Roman,serif;position:relative;width:100%;box-sizing:border-box}.checkbox-label:hover{background-color:var(--color-surface-accent);border-color:var(--color-accent);transform:translateY(-1px)}.checkbox-label input[type=checkbox]{cursor:pointer;transform:scale(1.3);accent-color:var(--color-primary);margin:0}.checkbox-label:has(input[type=checkbox]:checked){background-color:var(--color-surface-accent);border-color:var(--color-primary);color:var(--color-primary);font-weight:600;box-shadow:0 2px 8px #203b5c26}.checkbox-label input[type=checkbox]:checked{filter:drop-shadow(0 0 2px var(--color-primary))}.other-text-input{margin-left:2rem;margin-top:.5rem}.other-text-input .text-input{background:var(--color-background);border:2px solid var(--color-surface-accent);border-radius:6px;padding:.75rem;font-family:Georgia,Times New Roman,serif;transition:border-color .3s ease;width:100%;box-sizing:border-box}.other-text-input .text-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #203b5c1a}.checkbox-label-modern{display:flex;align-items:center;gap:1rem;font-weight:500;cursor:pointer;padding:1rem 1.5rem;border-radius:8px;transition:all .3s ease;background:var(--color-background);border:2px solid var(--color-surface-accent);color:var(--color-text-primary);font-family:Georgia,Times New Roman,serif;position:relative;min-height:70px;flex:1;box-sizing:border-box}.checkbox-label-modern:hover{background:linear-gradient(135deg,var(--color-surface-accent) 0%,rgba(219,234,254,.6) 100%);border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 4px 12px #2e807c33}.checkbox-label-modern input[type=checkbox]{appearance:none;width:24px;height:24px;border:2px solid var(--color-text-secondary);border-radius:4px;background:var(--color-background);cursor:pointer;position:relative;transition:all .3s ease;margin:0;flex-shrink:0}.checkbox-label-modern input[type=checkbox]:checked{background:var(--color-primary);border-color:var(--color-primary);transform:scale(1.1)}.checkbox-label-modern input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-background);font-size:16px;font-weight:700;line-height:1}.checkbox-label-modern:has(input[type=checkbox]:checked){background:linear-gradient(135deg,var(--color-surface-accent) 0%,rgba(219,234,254,.8) 100%);border-color:var(--color-primary);color:var(--color-primary);font-weight:600;box-shadow:0 4px 16px #203b5c40;transform:translateY(-1px)}.checkbox-label-modern input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 3px #203b5c33}button:focus,input:focus,.radio-label:focus-within,.checkbox-label:focus-within{outline:3px solid var(--color-accent);outline-offset:2px}@media print{.app-container{max-width:100%;padding:0;background:#fff}.app-header{background:#fff!important;color:#000!important;border-bottom:2px solid black}.question-form{box-shadow:none;border:1px solid black}.button-group{display:none}}.hierarchical-multi-select{width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem;justify-items:stretch;align-items:start;width:100%;box-sizing:border-box}.category-grid .category-card:last-child:nth-child(odd){grid-column:1 / 3;max-width:320px;justify-self:center;box-sizing:border-box}@media (max-width: 768px){.category-grid{grid-template-columns:1fr;gap:.75rem;width:100%}.category-grid .category-card:last-child:nth-child(odd){grid-column:1;max-width:none;width:100%}.category-card{width:100%!important;max-width:none!important;min-height:180px}.category-card-content{padding:1rem;min-height:120px}}@media (max-width: 1024px) and (min-width: 769px){.category-grid{gap:.75rem}.category-grid .category-card:last-child:nth-child(odd){max-width:280px}}.category-card{border:2px solid var(--color-surface-accent);border-radius:12px;background:var(--color-background);transition:all .3s ease;cursor:pointer;overflow:hidden;width:100%;max-width:100%;min-height:200px;box-sizing:border-box}.category-card:hover{border-color:var(--color-accent);box-shadow:0 4px 12px #2e807c26;transform:translateY(-2px)}.category-card-content{padding:1.5rem;text-align:center;min-height:140px;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;transition:all .3s ease;position:relative}.category-card-content.selected{background:linear-gradient(135deg,var(--color-surface-accent) 0%,rgba(219,234,254,.8) 100%);border-color:var(--color-primary)}.category-main-icon{margin-bottom:.5rem}.category-main-icon .material-icons{font-size:2.5rem;color:var(--color-accent);transition:all .3s ease;-webkit-user-select:none;user-select:none}.category-main-icon .material-symbols-outlined{font-size:2.5rem;color:var(--color-accent);transition:all .3s ease;-webkit-user-select:none;user-select:none;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 48}.category-card-content.selected .category-main-icon .material-icons,.category-card-content.selected .category-main-icon .material-symbols-outlined{color:var(--color-primary)}.category-icon{position:absolute;top:.75rem;right:.75rem;width:28px;height:28px;border-radius:50%;background:var(--color-accent);color:var(--color-background);display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.category-icon .material-icons{font-size:1rem;line-height:1}.category-icon .material-symbols-outlined{font-size:1rem;line-height:1;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 20}.category-card-content.selected .category-icon{background:var(--color-primary)}.category-card-title{font-size:.95rem;font-weight:600;color:var(--color-primary);margin:0;line-height:1.3;font-family:Georgia,Times New Roman,serif;text-align:center}.category-selection-count{font-size:.85rem;color:var(--color-accent);font-weight:500}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--color-background);border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:550px;width:100%;max-height:75vh;overflow:hidden;display:flex;flex-direction:column;margin:1rem}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid var(--color-surface-accent);background:var(--color-surface-accent)}.modal-header h3{margin:0;color:var(--color-primary);font-size:1.25rem;font-weight:600;font-family:Georgia,Times New Roman,serif}.modal-close-button{display:none}.modal-body{padding:1rem 1.75rem;flex:1;overflow-y:auto;max-height:calc(75vh - 110px)}.modal-description{margin:0 0 1.25rem;color:var(--color-text-primary);font-size:1rem}.modal-options{display:grid;gap:.75rem}.modal-option-item{margin:0}.checkbox-label-modern.modal-option{margin:0;padding:.75rem 1rem;background:var(--color-background);border:2px solid var(--color-surface-accent);border-radius:8px;font-weight:500;font-size:.95rem;min-height:48px;cursor:pointer;transition:all .3s ease}.checkbox-label-modern.modal-option:hover{background:var(--color-surface-accent);border-color:var(--color-accent)}.checkbox-label-modern.modal-option:has(input[type=checkbox]:checked){background:var(--color-surface-accent);border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.modal-footer{padding:1rem 2rem 1.5rem;border-top:1px solid var(--color-surface-accent);display:flex;justify-content:flex-end}.modal-done-button{background:var(--color-primary);color:var(--color-background);border:none;padding:.75rem 2rem;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Georgia,Times New Roman,serif}.modal-done-button:hover{background:var(--color-accent-hover-calculated);transform:translateY(-1px);box-shadow:0 4px 12px #203b5c33}.feedback-button{background:var(--color-accent)!important;color:var(--color-background)!important;border:1px solid var(--color-accent)!important;padding:6px 12px!important;font-size:.75rem!important;font-weight:600!important;border-radius:6px!important;cursor:pointer!important;transition:all .3s ease!important;font-family:Georgia,Times New Roman,serif!important;margin-left:12px!important;text-transform:none!important;letter-spacing:.2px!important;white-space:nowrap!important;flex-shrink:0!important}.feedback-button:hover{background:var(--color-accent)!important;border-color:var(--color-accent)!important;transform:translateY(-1px)!important;box-shadow:0 3px 8px #2e807c4d!important}.feedback-button:focus{outline:2px solid var(--color-primary)!important;outline-offset:2px!important}.checkbox-item{display:flex;align-items:flex-start!important;gap:.75rem!important;margin-bottom:1rem!important}.checkbox-label-modern{flex:1!important;min-width:0!important;min-height:70px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important}.checkbox-item .feedback-button{align-self:center!important;height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important}.modal-content .feedback-questions{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:100%;overflow:hidden}.modal-content .feedback-question{background:var(--color-surface);border-radius:8px;padding:1rem;border-left:4px solid var(--color-accent);margin-bottom:1rem;width:100%;box-sizing:border-box}.modal-content .feedback-question-simple{width:100%;box-sizing:border-box;margin-bottom:1rem}.modal-content .feedback-question .question-label{color:var(--color-primary);font-weight:600;margin-bottom:.75rem;font-size:.95rem}.modal-content .feedback-text-input{border:2px solid var(--color-surface-accent)!important;border-radius:6px!important;padding:1rem!important;font-family:Georgia,Times New Roman,serif!important;transition:border-color .3s ease!important;resize:vertical!important;font-size:.95rem!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;min-height:120px!important;max-height:300px!important;overflow-y:auto!important;line-height:1.5!important}.modal-content .feedback-text-input:focus{border-color:var(--color-primary)!important;outline:none!important;box-shadow:0 0 0 3px #203b5c1a!important}.multi-select-feedback-container .checkbox-group{display:flex;flex-direction:column;gap:1rem;width:100%}.multi-select-feedback-container .checkbox-item{display:flex;align-items:center;gap:.75rem;width:100%;margin-bottom:.5rem}.multi-select-feedback-container .checkbox-label-modern{flex:1;min-height:70px;min-width:0;display:flex;align-items:center;box-sizing:border-box}.multi-select-feedback-container .feedback-button{flex-shrink:0;height:32px;white-space:nowrap}.theme-logo{max-height:80px;width:auto;object-fit:contain}.landing-logo{max-height:150px;max-width:200px;margin-right:1rem;flex-shrink:0;object-fit:cover;object-position:center;width:auto}.landing-header{display:flex;align-items:center;justify-content:flex-start;margin-bottom:.5rem;gap:0;text-align:left;width:100%;border-bottom:3px solid var(--color-accent);padding-bottom:1rem}.header-logo{max-height:100px;max-width:200px;margin-right:1.5rem;flex-shrink:0}.landing-page{max-width:900px;margin:0 auto;padding:2rem;line-height:1.6;color:var(--color-text-primary);box-sizing:border-box;width:100%;overflow-x:hidden}.landing-content{background:var(--color-background);border-radius:8px;padding:3rem;box-shadow:0 4px 6px #0000001a;position:relative;z-index:2;box-sizing:border-box;width:100%;overflow-x:hidden}.landing-content h1{color:#000;font-size:2rem;margin:0;font-weight:700;border-bottom:none;padding-bottom:0;text-align:left}.landing-content h2{color:var(--color-primary);font-size:1.5rem;margin-top:2.5rem;margin-bottom:1rem;font-weight:700;border-left:4px solid var(--color-accent);padding-left:1rem}.landing-content h3{color:var(--color-heading);font-size:1.1rem;margin-bottom:.5rem;font-weight:700}.landing-content p{margin-bottom:1rem;font-size:1rem;line-height:1.7;word-wrap:break-word;overflow-wrap:break-word}.landing-content ul{margin:1rem 0 1.5rem 1.5rem;padding-left:0;word-wrap:break-word;overflow-wrap:break-word}.intro-section p+ul{margin-top:.25rem}.landing-content li{margin-bottom:.5rem;font-size:1rem;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word}.intro-section,.purpose-section,.process-section,.time-section{margin-bottom:2.5rem}.process-steps{margin-top:1.5rem}.step{display:flex;align-items:flex-start;gap:1rem;margin-bottom:2rem;padding:1.5rem;background:var(--color-surface);border-radius:8px;border-left:4px solid var(--color-accent)}.step-number{background:var(--color-primary);color:var(--color-background);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0}.step-content h3{margin-top:0;margin-bottom:.5rem}.step-content p{margin-bottom:0;color:var(--color-text-secondary)}.start-section{text-align:center;margin:3rem 0 2rem}.start-assessment-btn{background:var(--color-accent);color:var(--color-background);border:none;padding:1rem 2.5rem;font-size:1.2rem;font-weight:700;border-radius:6px;cursor:pointer;transition:all .3s ease;font-family:Georgia,Times New Roman,serif;text-transform:uppercase;letter-spacing:.5px}.start-assessment-btn:hover{background:var(--color-accent-hover-calculated);transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.note-section{margin-top:2rem;padding:1.5rem;background:var(--color-note-background-calculated);border-radius:6px;border:1px solid var(--color-accent)}.disclaimer{margin:0!important;padding:0;font-size:.9rem;color:var(--color-heading);line-height:1.5}.disclaimer strong{color:var(--color-primary)}.areas-of-concern{background-color:var(--color-background)}@media (max-width: 768px){.landing-page{padding:1rem;max-width:100%;margin:0}.landing-header{flex-direction:column;align-items:center;text-align:center;gap:1rem;margin-bottom:1.5rem}.header-logo{margin-right:0;margin-bottom:.5rem;max-height:80px}.landing-content{padding:1.5rem 1rem;box-shadow:none;border-radius:0}.landing-content h1{font-size:1.8rem;line-height:1.3;text-align:center}.landing-content h2{font-size:1.4rem;margin-top:2rem}.step{flex-direction:column;text-align:center;padding:1.25rem;margin-bottom:1.5rem}.step-number{margin:0 auto 1rem}.start-assessment-btn{font-size:1rem;padding:1rem 1.5rem}}@media (max-width: 480px){.landing-page{padding:.5rem}.landing-content{padding:1rem .75rem}.landing-content h1{font-size:1.6rem}.landing-content h2{font-size:1.3rem}.step{padding:1rem}.start-assessment-btn{font-size:.95rem;padding:.875rem 1.25rem}}.home-button{background:var(--color-accent)!important;border-color:var(--color-accent)!important;color:var(--color-background)!important;width:40px;min-width:40px;height:36px;padding:0!important;display:flex;align-items:center;justify-content:center;border-radius:6px}.home-button svg{width:18px;height:18px;fill:currentColor}.home-button:hover{background:var(--color-accent-hover-calculated)!important;border-color:var(--color-accent-hover-calculated)!important;color:var(--color-background)!important;transform:translateY(-1px);box-shadow:0 3px 6px #2e807c4d}.admin-panel .quick-guide{background:var(--color-surface-accent);padding:1rem;border-radius:6px;margin-top:1rem;text-align:center;border:2px solid var(--color-accent);font-size:1.1rem}.step-header{display:flex;align-items:center;gap:.75rem}.step-header p{margin:0}.success-message{background:#d4edda;border:2px solid #28a745;color:#155724;padding:1rem;border-radius:6px;margin:1rem 0;font-weight:500}.drop-zone{border:3px dashed var(--color-text-secondary);border-radius:12px;padding:1rem .75rem;text-align:center;background:var(--color-surface);transition:all .3s ease;cursor:pointer;position:relative}.drop-zone.dragging{border-color:var(--color-accent);background:var(--color-surface-accent);transform:scale(1.02)}.drop-zone.disabled{opacity:.6;cursor:not-allowed}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:.5rem}.upload-icon{font-size:1.5rem;line-height:1}.drop-zone-primary{font-size:1.1rem;font-weight:600;color:var(--color-primary);margin:0}.drop-zone-secondary{font-size:.9rem;color:var(--color-text-secondary);margin:0}.file-input-hidden{display:none}.btn-upload{cursor:pointer;margin:.5rem 0}.uploaded-file-name{margin-top:1rem;color:var(--color-accent);font-weight:600;font-size:1rem}.spinner{font-size:3rem;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-large{padding:1rem 2rem;font-size:1.1rem;font-weight:600}.button-group-centered{display:flex;gap:1rem;justify-content:center;margin:1.5rem 0}.deployment-instructions{background:var(--color-surface);border-left:4px solid var(--color-accent);padding:1.5rem;border-radius:6px;margin:1.5rem 0}.deployment-instructions h4{margin-top:0;color:var(--color-primary)}.deployment-instructions ol{margin:1rem 0;padding-left:1.5rem}.deployment-instructions li{margin:.75rem 0;line-height:1.6}.deployment-instructions code{background:var(--color-background);padding:.2rem .5rem;border-radius:3px;font-family:Courier New,monospace;color:var(--color-primary);border:1px solid var(--color-text-secondary)}.tip-box{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;padding:1rem;margin-top:1rem}.tip-box strong{color:#856404}.json-preview-details{margin:1.5rem 0;border:1px solid var(--color-text-secondary);border-radius:6px;overflow:hidden}.json-preview-details summary{background:var(--color-surface);padding:1rem;cursor:pointer;font-weight:600;color:var(--color-primary);-webkit-user-select:none;user-select:none}.json-preview-details summary:hover{background:var(--color-surface-accent)}.json-preview-details[open] summary{border-bottom:1px solid var(--color-text-secondary)}.json-preview{background:#f8f9fa;padding:1rem;margin:0;overflow-x:auto;max-height:400px;font-size:.85rem;font-family:Courier New,monospace}.guide-section{margin:2rem 0;padding:1.5rem;background:var(--color-background);border:1px solid #e2e8f0;border-radius:8px}.guide-section h4{color:var(--color-primary);margin-top:0;margin-bottom:1rem;font-size:1.2rem}.quick-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.5rem}.step-card{background:var(--color-surface-accent);border:2px solid var(--color-accent);border-radius:8px;padding:1.5rem;text-align:center;transition:all .3s ease}.step-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #2e807c33}.step-card .step-number{background:var(--color-accent);color:var(--color-background);width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.5rem;margin:0 auto 1rem;flex-shrink:0}.step-card h5{margin:.5rem 0;color:var(--color-primary);font-size:1.1rem}.step-card p{margin:0;color:var(--color-heading);font-size:.95rem}.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.5rem;margin-top:1rem}.tip-card{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem;background:var(--color-surface-accent);border-radius:6px;text-align:left}.tip-icon{font-size:1.5rem;flex-shrink:0;line-height:1}.tip-card p{margin:0;font-size:.95rem;line-height:1.5}.faq-item{margin:1rem 0;border:1px solid #e2e8f0;border-radius:6px;overflow:hidden}.faq-item summary{background:var(--color-surface);padding:1rem;cursor:pointer;font-weight:600;color:var(--color-primary);-webkit-user-select:none;user-select:none;list-style:none;display:flex;align-items:center}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:before{content:"▶";margin-right:.75rem;transition:transform .3s ease;font-size:.8rem}.faq-item[open] summary:before{transform:rotate(90deg)}.faq-item summary:hover{background:var(--color-surface-accent)}.faq-item p{padding:1rem;margin:0;background:var(--color-background);line-height:1.6}.faq-item code{background:var(--color-surface);padding:.2rem .5rem;border-radius:3px;font-family:Courier New,monospace;color:var(--color-primary)}.help-section{background:#fff3cd;border:2px solid #ffc107}.help-section h4,.help-section p,.help-section ul,.help-section li{color:#856404}@media (max-width: 768px){.quick-steps,.tips-grid{grid-template-columns:1fr}.button-group-centered{flex-direction:column}.drop-zone{padding:.5rem}}.theme-nv{--color-primary: #203b5c;--color-accent: #2e807c;--color-surface-accent: #dbeafe;--color-heading: #1e293b;--color-text-secondary: #64748b;--color-surface: #f1f5f9;--color-border-accent: #2e807c;--color-button-new-assessment: #b95f15;--color-background: #ffffff;--color-text-primary: #334155;--color-text-inverse: #ffffff;--color-button-primary: #203b5c;--color-button-hover: #1e293b;--color-button-secondary: #64748b;--color-progress-complete: #2e807c;--color-focus-ring: #2e807c;--color-border: #dbeafe}.theme-ncsc{--color-primary: #3F86C7;--color-accent: #3F86C7;--color-surface-accent: #dbeafe;--color-heading: #000000;--color-text-primary: #000000;--color-text-secondary: #1f2937;--color-surface: #f1f5f9;--color-border-accent: #3F86C7;--color-button-new-assessment: #d97706;--color-background: #ffffff;--color-text-inverse: #ffffff;--color-button-primary: #062E52;--color-button-hover: #1e293b;--color-button-secondary: #64748b;--color-progress-complete: #062E52;--color-focus-ring: #062E52;--color-border: #dbeafe;--font-large-heading: "Spectral", serif;--font-body: "Public Sans", sans-serif;--font-small-heading: "Public Sans", sans-serif}.theme-ncsc h1,.theme-ncsc .app-container h1,.theme-ncsc .landing-content h1{font-family:var(--font-large-heading)}.theme-ncsc h2,.theme-ncsc h3,.theme-ncsc .app-container h2,.theme-ncsc .landing-content h2,.theme-ncsc .landing-content h3,.theme-ncsc .question-label{font-family:var(--font-small-heading)}.theme-ncsc body,.theme-ncsc .question-form,.theme-ncsc .question-group,.theme-ncsc .radio-label,.theme-ncsc .progress-step,.theme-ncsc button{font-family:var(--font-body)}.app-footer,.landing-footer{padding:1rem 2rem;text-align:center;margin-top:auto}.app-footer p,.landing-footer p{margin:0;color:var(--color-text-secondary);font-size:.875rem}.app-container{min-height:100vh;display:flex;flex-direction:column}.landing-page{display:flex;flex-direction:column;min-height:100vh}.landing-content{flex:1}.admin-login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--color-background);padding:2rem}.admin-login-box{background:#fff;border:2px solid var(--color-border-accent);border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:3rem 2rem;max-width:400px;width:100%}.admin-login-header{text-align:center;margin-bottom:2rem}.admin-login-header h2{color:var(--color-primary);margin:0 0 .5rem;font-size:1.75rem}.admin-login-header p{color:var(--color-text-secondary);margin:0;font-size:.95rem}.admin-login-form{display:flex;flex-direction:column;gap:1.5rem}.admin-login-form .form-group{display:flex;flex-direction:column;gap:.5rem}.admin-login-form .form-label{color:var(--color-text-primary);font-weight:600;font-size:.95rem}.admin-login-form .form-input{padding:.75rem;border:1px solid var(--color-border);border-radius:4px;font-size:1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}.admin-login-form .form-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #2e807c1a}.admin-login-form .form-input:disabled{background-color:var(--color-surface);cursor:not-allowed;color:var(--color-text-secondary)}.admin-login-button{padding:.75rem 1rem;background-color:var(--color-button-primary);color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.admin-login-button:hover:not(:disabled){background-color:var(--color-button-hover)}.admin-login-button:disabled{background-color:var(--color-button-secondary);cursor:not-allowed;opacity:.6}.admin-login-form .error-message{color:#dc2626;background-color:#fee2e2;padding:.75rem;border-radius:4px;font-size:.9rem;border-left:4px solid #dc2626}.admin-login-footer{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border)}.security-notice{margin:0;color:var(--color-text-secondary);font-size:.85rem;line-height:1.5}.security-notice strong{color:var(--color-text-primary)}@media (max-width: 768px){.checkbox-group,.radio-group{gap:.75rem}.checkbox-label,.radio-label{padding:.75rem 1rem;font-size:.9rem}.button-group{flex-direction:column;align-items:center;gap:.75rem}.button-group-centered{flex-direction:column}textarea{min-height:100px}.form-header{padding:1.5rem}}@media (max-width: 600px){.admin-login-box{padding:2rem 1.5rem}.admin-login-header h2{font-size:1.5rem}.admin-login-header p{font-size:.9rem}}
