:root{font-family:Inter,system-ui,sans-serif;color:#183c3d;background:#f3f6f3;font-size:16px;line-height:1.6}*{box-sizing:border-box}body{margin:0}header{display:flex;justify-content:space-between;align-items:center;padding:20px 5%;background:#fff;border-bottom:1px solid #dce5df}header a{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:750;color:#183c3d;text-decoration:none}header img{width:42px;height:42px;object-fit:contain}header span{font-size:13px;color:#637673}main{max-width:1150px;margin:45px auto;padding:0 24px}h1{font-size:clamp(28px,4vw,44px);line-height:1.2;letter-spacing:-.035em;margin:10px 0 22px}h2{font-size:23px;line-height:1.4;margin:0 0 18px}h3{margin:0;font-size:19px}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:750;letter-spacing:.13em;color:#568373}.intro{max-width:780px;margin:0 auto 30px}.card{padding:28px;background:white;border:1px solid #dce5df;border-radius:18px;margin-bottom:22px;box-shadow:0 5px 20px #173d3b04}.narrow{max-width:540px;margin:65px auto}.columns{display:grid;grid-template-columns:1fr 1fr;gap:26px}.heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.heading h3{overflow-wrap:anywhere}label{display:block;font-weight:650;margin-bottom:18px}input,textarea{display:block;width:100%;border:1px solid #c6d4cc;border-radius:9px;background:#fafcfb;padding:13px;color:#183c3d;font:inherit;margin-top:7px}textarea{resize:vertical;line-height:1.65}input:focus,textarea:focus{outline:3px solid #d0e4d9;border-color:#487d66}button{border:0;border-radius:9px;padding:12px 20px;background:#245d49;color:white;font:inherit;font-weight:650;cursor:pointer}button:hover{filter:brightness(.94)}button.secondary{background:#edf3ef;color:#245d49}button:disabled{opacity:.5;cursor:wait}button[hidden],audio[hidden]{display:none}small{display:block;font-size:12px;font-weight:400;color:#687e74}.badge{font-size:12px;background:#edf3ef;padding:4px 10px;border-radius:30px}a{color:#245d49}footer{padding:30px;text-align:center;font-size:13px;color:#687e74}.question,#intake>.card{max-width:800px;margin-left:auto;margin-right:auto}.voice-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.voice-status{font-size:13px;color:#5c7269}audio{width:100%;margin-top:16px}.check{display:flex;align-items:flex-start;gap:10px;font-weight:400}.check input{width:18px;margin-top:6px;flex-shrink:0}.notice{padding:16px;background:#fff0dd;border-radius:10px}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.answer{border-top:1px solid #dce5df;padding:22px 0}.record.active{background:#ffe1db;color:#a43522}@media(max-width:740px){.columns{grid-template-columns:1fr}header span{display:none}main{margin:25px auto;padding:0 16px}.card{padding:22px}.heading{align-items:flex-start}}
/* Comfortable touch controls and layouts down to small phone screens. */
.columns > *, .heading > *, .voice-controls > * {min-width:0}
h1,h2,h3,.voice-status,.notice {overflow-wrap:anywhere}
button {min-height:48px;touch-action:manipulation}
button:focus-visible,a:focus-visible {outline:3px solid #568373;outline-offset:4px}
input,textarea {min-width:0;font-size:16px}
.check {min-height:44px;cursor:pointer}
.check input {width:22px;height:22px;accent-color:#245d49}
.voice-status {flex-basis:100%;font-size:14px}
.question.recording {border-color:#b8543c;box-shadow:0 0 0 2px #ffe1db}
.question h2 label {margin-bottom:0}
audio {display:block;max-width:100%;min-width:0}
@media(max-width:600px){
 header {padding:14px 18px}
 header a {font-size:21px}
 header img {width:36px;height:36px}
 main {margin:24px auto;padding:0 12px}
 .intro {padding:0 6px;margin-bottom:24px}
 .card {padding:20px 18px;border-radius:14px;margin-bottom:16px}
 .narrow {margin:30px auto}
 h1 {font-size:30px}
 h2 {font-size:21px}
 .columns {gap:0}
 .voice-controls {display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 .voice-controls button {width:100%;padding:14px 16px;min-height:52px}
 .voice-status {line-height:1.5}
 #submit {width:100%;min-height:52px}
 textarea {min-height:144px}
 .heading {flex-wrap:wrap}
 footer {padding:22px 16px calc(22px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:no-preference){
 .question {transition:border-color .15s,box-shadow .15s}
}
.save-controls{display:flex;flex-wrap:wrap;gap:12px}.cancel-edit{display:inline-block;margin:12px}summary{cursor:pointer;font-weight:650}
@media(max-width:600px){.save-controls button,.heading>.save-draft{width:100%}}
.questionnaire-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:22px;margin-top:24px}.questionnaire-link{display:block;text-decoration:none;color:#183c3d;margin:0}.questionnaire-link:hover{border-color:#568373;background:#fbfdfb}.questionnaire-link h2{margin:0}.list-meta{font-size:14px;color:#637673}.open-list{color:#245d49;font-weight:650}.button-link{display:inline-block;background:#245d49;color:white;padding:12px 20px;border-radius:9px;text-decoration:none;font-weight:650}.overview-intro{margin-bottom:20px}

.list-item{margin:0}.list-actions{margin-top:20px;padding-top:16px;border-top:1px solid #dce5df}.list-actions small{margin-top:8px}.list-actions button[value=trash]{color:#963e2b;background:#fff0eb}
