:root{--ink:#17201b;--muted:#59635d;--paper:#f7f3ea;--panel:#fffaf0;--line:#ddd1bd;--accent:#176b5c;--accent-dark:#0e443b;--danger:#9d2f2f;--success-bg:#e7f2dd;--danger-bg:#f6dfd6}*{box-sizing:border-box}html,body{min-height:100%}body{background:linear-gradient(135deg, #176b5c33, transparent 34%), radial-gradient(circle at 85% 12%, #cc594029, transparent 28%), var(--paper);color:var(--ink);margin:0;font-family:Avenir Next,Gill Sans,Trebuchet MS,sans-serif}button,input,textarea,select{font:inherit}.page-shell{place-items:center;min-height:100vh;padding:32px;display:grid}.login-panel{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, white);border-radius:8px;width:min(100%,520px);padding:clamp(24px,6vw,48px);box-shadow:0 24px 70px #17201b24}.wide-panel{width:min(100%,760px)}.brand-row{color:var(--accent-dark);align-items:center;gap:12px;font-size:2rem;font-weight:700;display:flex}.brand-mark{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-size:.85rem;display:grid}.questionnaire-heading{color:var(--ink);font-weight:500}.questionnaire-heading strong{font-weight:800}.hero-copy{margin:28px 0 20px}.eyebrow{color:#c62828;letter-spacing:0;margin:0 0 12px;font-size:1.2rem;font-weight:800}h1{letter-spacing:0;max-width:10ch;margin:0;font-family:Georgia,Cambria,serif;font-size:clamp(2rem,7vw,3.4rem);line-height:.95}.intro{max-width:34rem;color:var(--muted);margin:22px 0 0;font-size:1.05rem;line-height:1.55}.google-button{width:100%;min-height:56px;color:var(--accent-dark);cursor:pointer;background:#cfe8d8;border:0;border-radius:8px;justify-content:center;align-items:center;gap:12px;font-weight:800;transition:transform .16s,background .16s,opacity .16s;display:flex}.google-button:hover:not(:disabled){background:#b7dcc6;transform:translateY(-1px)}.google-button:disabled{cursor:wait;opacity:.72}.google-icon{color:#4285f4;background:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-family:Georgia,Cambria,serif;font-weight:600;display:grid}.status-card{border-radius:8px;gap:6px;margin-top:18px;padding:16px;line-height:1.35;display:grid}.status-card span{color:var(--muted);text-transform:uppercase;font-size:.82rem;font-weight:800}.status-card strong{overflow-wrap:anywhere}.status-card a{color:inherit;font-weight:800}.status-card.success{background:var(--success-bg);color:var(--accent-dark)}.account-line{color:var(--ink);margin-top:12px;line-height:1.35}.account-line strong{overflow-wrap:anywhere}.context-line{color:var(--muted);overflow-wrap:anywhere;margin:12px 0 0;font-size:.95rem;line-height:1.45}.status-card.error{background:var(--danger-bg);color:var(--danger)}.table-section{margin-top:24px}.table-section h2{color:var(--ink);letter-spacing:0;margin:0 0 12px;font-size:1.25rem}.table-message{color:var(--muted);margin:0;line-height:1.55}.schools-table{border-collapse:collapse;border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;overflow:hidden}.schools-table th,.schools-table td{border-bottom:1px solid var(--line);text-align:left;padding:12px 14px}.schools-table th{color:var(--accent-dark);background:#edf6f0;font-size:.86rem}.schools-table td:first-child,.schools-table th:first-child{width:56px;color:var(--muted)}.schools-table tr:last-child td{border-bottom:0}.schools-table input[type=radio]{width:18px;height:18px;accent-color:var(--accent);vertical-align:middle}.flow-button{background:var(--accent-dark);color:#fff;cursor:pointer;border:0;border-radius:8px;min-width:120px;min-height:48px;margin:20px 0 0 auto;padding:0 20px;font-weight:700;display:block}.flow-button:hover:not(:disabled){background:var(--accent)}.flow-button:disabled{cursor:not-allowed;opacity:.5}.questionnaire-form{gap:12px;margin-top:20px;display:grid}.forms-table{border-collapse:collapse;border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;overflow:hidden}.forms-table th,.forms-table td{border-bottom:1px solid var(--line);text-align:left;padding:12px 14px}.forms-table th{color:var(--accent-dark);background:#edf6f0;font-size:.86rem}.forms-table tr:last-child td{border-bottom:0}.forms-table td:first-child{padding:0}.form-status{font-weight:800}.form-status.completed{color:var(--accent)}.form-status.incomplete{color:var(--ink)}.form-choice-button{width:100%;min-height:48px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border:0;padding:12px 14px;font-weight:700}.form-choice-button:hover:not(:disabled){background:#edf6f0}.form-choice-button:disabled{cursor:not-allowed;opacity:.58}.questionnaire-form label{color:var(--ink);font-weight:700}.questionnaire-form textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:150px;color:var(--ink);background:#fff;border-radius:8px;padding:12px}.questionnaire-form .flow-button{margin-top:4px}.richtext-content{color:var(--ink);padding:2px 0 6px;line-height:1.6}.richtext-content p,.richtext-content ol,.richtext-content ul{margin:0 0 12px}.richtext-content p:empty{display:none}.richtext-content p:has(>br:only-child){display:none}.richtext-content p:has(>strong:only-child:empty){display:none}.richtext-content p:has(>strong:only-child>br:only-child){display:none}.richtext-content p:has(>b:only-child:empty){display:none}.richtext-content p:has(>b:only-child>br:only-child){display:none}.richtext-content :last-child{margin-bottom:0}.question-card-list{gap:12px;display:grid}.total-score{color:var(--accent-dark);margin:0;font-weight:800}.required-note{color:var(--danger);margin:-4px 0 0;font-size:.92rem;font-weight:700}.required-note span,.required-star{color:var(--danger)}.question-card{border:1px solid var(--line);background:#fff;border-radius:8px;padding:16px}.question-card label{color:var(--ink);margin:0;font-weight:700;line-height:1.45}.question-score{color:var(--muted);font-weight:600}.question-error{color:var(--danger);margin:10px 0 0;font-size:.92rem;font-weight:700}.question-control{border:0;border-bottom:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:0 0;border-radius:0;margin-top:12px;padding:8px 0}.question-control:focus{border-bottom-color:var(--accent);outline:0}.question-control:disabled,.checkbox-option input:disabled{cursor:not-allowed;opacity:.55}.checkbox-option-list{gap:10px;margin-top:14px;display:grid}.checkbox-option{align-items:center;gap:10px;font-weight:500;display:flex}.checkbox-option input{width:18px;height:18px;accent-color:var(--accent)}.completion-message{margin-top:28px}.completion-message h1{max-width:none;font-size:2rem;line-height:1.2}.completion-title,.completion-message .completion-status-message{color:var(--danger)}.completion-message p{color:var(--muted);line-height:1.55}.completion-message .richtext-content{color:var(--ink)}.completion-message .richtext-content p,.completion-message .richtext-content ol,.completion-message .richtext-content ul{color:inherit}.completion-message a{color:var(--accent-dark);font-weight:800}.grade-message{font-weight:800}.submission-score{color:var(--danger);margin:0;font-weight:800}.completion-message .total-score{color:var(--accent-dark)}.completion-message .submission-score{color:var(--danger)}.answer-result-list{gap:12px;margin-top:20px;display:grid}.answer-result-card{gap:12px;display:grid}.submitted-dropdown-answer{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.answer-mark,.correct-option-tick{color:var(--danger);font-weight:900}.answer-mark{padding-bottom:9px;font-size:1.25rem;line-height:1}.correct-option-tick{margin-left:6px}.correct-answer-label{color:var(--danger);margin:0;font-weight:800}.answer-explanation{color:#6b35b1;font-weight:700;line-height:1.55}.answer-explanation .richtext-content{color:#6b35b1;padding:0;display:inline}.answer-result-summary{color:var(--danger);flex-wrap:wrap;gap:32px;font-weight:800;display:flex}.editable-submit-message{margin:20px 0 0}.contact-us-panel{width:min(100%,620px)}.contact-us-title{max-width:none;color:var(--ink);font-family:inherit;font-size:2rem;line-height:1.2}.contact-us-form{gap:20px;margin-top:28px;display:grid}.contact-us-form label{color:var(--ink);gap:8px;font-weight:700;display:grid}.contact-us-form input{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);background:#fff;border-radius:8px;padding:10px 12px}.contact-us-form input:focus{border-color:var(--accent);outline:2px solid color-mix(in srgb, var(--accent) 20%, transparent)}.contact-us-form input:disabled{color:var(--ink);cursor:not-allowed;opacity:1;background:#f2eee5}.contact-phone-control{grid-template-columns:auto minmax(0,1fr);align-items:stretch;display:grid}.contact-phone-prefix{border:1px solid var(--line);color:var(--accent-dark);background:#edf6f0;border-right:0;border-radius:8px 0 0 8px;align-items:center;padding:0 12px;display:flex}.contact-phone-control input{border-radius:0 8px 8px 0}.contact-us-form .flow-button{margin-top:0}@media (max-width:520px){.page-shell{align-items:stretch;padding:16px}.login-panel{align-self:center}}
