:root{--green:#1f4d3a;--deep:#143528;--cream:#f6f0e6;--paper:#fffaf2;--gold:#c4a35a;--ink:#1a1f1c;--muted:#58645b;--line:#d9d0c2;--red:#852b2b;font-family:Inter,"Segoe UI",system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.55}*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,.button{min-height:44px;border:1px solid var(--green);background:var(--green);color:white;border-radius:8px;padding:10px 17px;font-weight:650;cursor:pointer}button:hover{background:var(--deep)}button.secondary{background:transparent;color:var(--green)}button:disabled{opacity:.55;cursor:wait}input,select,textarea{width:100%;min-height:44px;border:1px solid #a99f91;border-radius:7px;padding:9px 11px;background:white;color:var(--ink)}input[type=checkbox]{width:20px;min-height:20px;flex:none;accent-color:var(--green)}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}[hidden]{display:none!important}.skip{position:absolute;top:-100px;padding:10px;background:white;z-index:20}.skip:focus{top:8px}.site-header{padding:15px max(20px,calc((100% - 1100px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;font-size:20px;line-height:1.2}.brand img{width:65px;height:65px;object-fit:contain}.brand small{display:block;font-size:10px;letter-spacing:.16em;margin-top:6px}main{max-width:1100px;margin:auto;padding:40px 22px 65px}h1{font-family:Georgia,serif;font-size:clamp(32px,5vw,56px);line-height:1.1;margin:12px 0 17px;color:var(--green);font-weight:500}h2{font-family:Georgia,serif;font-size:26px;line-height:1.25;color:var(--green);margin:0 0 16px}h3{font-size:18px;margin:0 0 10px}.eyebrow{letter-spacing:.15em;font-size:11px;font-weight:800;color:var(--green)}.intro{font-size:18px;max-width:660px;color:var(--muted)}.notice{background:#eee6d4;border:1px solid #d8c99f;border-radius:10px;padding:15px 18px;font-size:14px;margin:22px 0}.card{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:25px;margin:22px 0;box-shadow:0 5px 22px #1f4d3a05}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row select{flex:1;min-width:210px}.identity label{display:block;margin-bottom:7px;font-weight:600}.identity p{margin-bottom:0;color:var(--muted);font-size:14px}.toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:35px 0 10px}.toolbar p{font-size:12px;color:var(--muted);margin:3px 0}.badge{font-size:12px;display:inline-block;background:#e5eee8;color:var(--green);border-radius:20px;padding:4px 11px;font-weight:700;margin:0 0 12px}.muted,.hint{color:var(--muted);font-size:14px}.error{background:#fae8e5;color:var(--red);border:1px solid #e1b1aa;border-radius:8px;padding:14px}.success{background:#e5eee8;color:var(--green);border-radius:8px;padding:14px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:block;font-weight:600;margin:12px 0}.field input,.field select,.field textarea{display:block;margin-top:6px;font-weight:400}.checkbox{display:flex;align-items:flex-start;gap:10px;margin:16px 0}.checkbox span{flex:1}.equipment-form{margin:20px 0;padding:18px;border:1px solid var(--line);border-radius:10px;min-width:0}.equipment-form legend{padding:0 6px;font-weight:700;color:var(--green)}.equipment-form.excluded{background:#eee9e0}.equipment-form.excluded .equipment-fields{opacity:.6}ul{padding-left:22px}li{margin:7px 0}.scope{border-left:3px solid var(--gold);padding:3px 0 3px 15px;margin:20px 0}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;margin:20px 0}.summary strong,.summary span{display:block}.summary span{font-size:13px;color:var(--muted)}.event{border-top:1px solid var(--line);padding:12px 0}.event time{display:block;font-size:12px;color:var(--muted)}details{margin:16px 0}summary{cursor:pointer;font-weight:650}footer{text-align:center;padding:24px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}form p{overflow-wrap:anywhere}.form-feedback{margin-top:15px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.quote-head{display:flex;justify-content:space-between;gap:15px;align-items:start}.empty{padding:25px;border:1px dashed var(--line);border-radius:12px}.record-id{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.subheading{margin-top:32px}.quote-head h2{margin-bottom:6px}@media(max-width:650px){.site-header{padding:12px 15px;gap:10px}.brand{font-size:16px}.brand img{width:48px;height:48px}.site-header>a:last-child{font-size:12px;max-width:75px}main{padding:26px 16px 45px}.grid,.summary{grid-template-columns:1fr}.card{padding:20px 16px}.equipment-form{padding:12px}.toolbar{align-items:flex-start}.toolbar button{font-size:13px;padding:8px 12px}.row button{flex:1}.quote-head{display:block}.summary{gap:10px}.identity .row select{min-width:100%}}

.quote-link { display: block; width: fit-content; min-height: 44px; padding-top: 12px; font-weight: 700; }

.schedule-controls > button { margin: 0 10px 10px 0; }

.visit-messages { border-top: 1px solid var(--line); padding-top: 18px; margin-top: 24px; }
.visit-messages > summary { min-height: 44px; color: var(--green); }
.message-history { margin: 18px 0; max-height: 440px; overflow-y: auto; overflow-wrap: anywhere; }
.visit-message { border: 1px solid var(--line); border-radius: 10px; background: #fff; padding: 14px 16px; margin-bottom: 12px; }
.visit-message > strong { display: block; font-size: 14px; }
.visit-message > time { display: block; color: var(--muted); font-size: 12px; margin-top: 3px; }
.visit-message-body { white-space: pre-wrap; overflow-wrap: anywhere; margin: 12px 0 0; }
.message-composer { margin-top: 20px; }
.message-composer textarea { min-height: 120px; resize: vertical; }
.message-status:empty { display: none; }
.message-composer textarea[readonly] { background: #eee9e0; }
@media (max-width: 650px) { .message-composer button { width: 100%; } .visit-message { padding: 12px; } }
