
:root{--green:#2f6656;--green-dark:#18392f;--pale:#eaf1eb;--bg:#f6f7f2;--orange:#cf853c;--line:#d9dfd8;--text:#24302b;--muted:#65716b;--white:#fff;--danger:#8e2f35}
*{box-sizing:border-box}html{font-size:17px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}
.shell{max-width:700px;margin:auto;min-height:100vh;padding:0 22px 120px}.top{display:flex;justify-content:space-between;gap:20px;padding:30px 0 18px;border-bottom:1px solid var(--line);color:#718079}.top strong{font:700 1.55rem Georgia,serif;color:var(--green-dark)}
.progress-wrap{display:flex;align-items:center;gap:18px;padding:16px 0}.progress{height:9px;background:#e6eee9;border-radius:10px;flex:1;overflow:hidden}.progress span{display:block;height:100%;background:var(--orange);border-radius:10px;width:0;transition:.25s}.hidden{display:none!important}
.card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;margin-top:28px;box-shadow:0 8px 25px rgba(28,55,45,.07)}h1,h2{font-family:Georgia,serif;color:var(--green-dark);line-height:1.15}h1{font-size:2rem}h2{font-size:1.55rem}.eyebrow{display:inline-block;color:#a6632f;font-weight:800;letter-spacing:.05em}.lead{font-size:1.12rem;color:#52605a}.subhead{font-family:Georgia,serif;color:var(--green);font-size:1.35rem;font-weight:700}
.field{margin:28px 0}.field>label,.question{display:block;font-weight:700;font-size:1.08rem;margin-bottom:12px}.help{display:block;color:#78817d;font-size:.94rem;margin-top:6px}.input,textarea,select,input[type=text],input[type=date],input[type=tel],input[type=email],input[type=password]{width:100%;font:inherit;padding:16px 18px;border:1px solid #cfd8d1;border-radius:18px;background:var(--pale);color:var(--text)}textarea{min-height:125px;resize:vertical}
.pills{display:flex;flex-wrap:wrap;gap:10px}.pill{border:1px solid #cfd8d1;background:var(--pale);border-radius:999px;padding:13px 18px;min-height:50px;font:600 1rem Arial;cursor:pointer;color:#50605a}.pill.selected{background:var(--green);color:#fff;border-color:var(--green)}.conditional-inline{margin:14px 0;padding-left:14px;border-left:3px solid #d9e4dd}
.griditem{padding:18px 0;border-bottom:1px solid #e8ece9}.griditem:last-child{border:0}.griditem .question{font-size:1rem}.medrow{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:8px;margin:8px 0}.medrow input{padding:12px}.remove{border:0;background:#f4e7e7;color:#7b292d;border-radius:12px;padding:0 13px}
.nav{position:fixed;z-index:10;bottom:0;left:0;right:0;background:rgba(255,255,255,.96);border-top:1px solid var(--line);padding:14px max(22px,calc((100vw - 656px)/2));display:flex;gap:16px}.nav button,.primary{min-height:58px;border:0;border-radius:18px;padding:12px 26px;font-size:1.05rem;font-weight:800;cursor:pointer}.nav .back{background:var(--pale);color:var(--green-dark);flex:1}.nav .next,.primary{background:var(--green);color:#fff;flex:1}
.notice{padding:16px 18px;border-radius:16px;margin:18px 0}.notice.privacy{background:#eef4ef;border:1px solid #d5e1d7}.notice.danger{background:#fbe9e9;border:1px solid #e7bfc2;color:#6d2026}.notice.ok{background:#e9f5ed;border:1px solid #bddbc7}.consent{display:flex;gap:12px;align-items:flex-start}.consent input{width:22px;height:22px;margin-top:4px}
.summary-section{border-top:1px solid var(--line);padding:20px 0}.summary-section p{margin:9px 0}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.actions button{padding:12px 16px;border-radius:14px;border:1px solid #cad5ce;background:#fff;font-weight:700}
.login{max-width:520px;margin:70px auto}.login label,form>label{display:block;font-weight:700;margin:16px 0}.admin-wide{max-width:1100px;margin:auto;padding:25px}.adminbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.adminbar a,.smallbtn{color:var(--green);font-weight:700}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line)}.alert-tag{color:#9a3438;font-weight:800}.summary-doc{background:#fff;padding:32px;border-radius:20px}.summary-doc h1{font-size:1.4rem}
@media(max-width:560px){.shell{padding-left:14px;padding-right:14px}.top{font-size:.85rem}.top strong{font-size:1.25rem}.card{padding:24px 20px;border-radius:24px}h1{font-size:1.75rem}.medrow{grid-template-columns:1fr}.remove{min-height:42px}.admin-wide{padding:12px}th:nth-child(3),td:nth-child(3){display:none}}
@media print{body{background:#fff}.top,.progress-wrap,.nav,.actions,.adminbar,.notice.privacy{display:none!important}.shell,.admin-wide{max-width:none;padding:0}.card,.summary-doc{box-shadow:none;border:0;margin:0;padding:0}.summary-section{break-inside:avoid}}
