:root{--teal:#0e7c6b;--teal-dark:#0a5c50;--bg:#f7f4ee;--panel:#fff;--line:#ddd6c9;--text:#22241f;--muted:#6d7268}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}main{max-width:860px;margin:0 auto;padding:32px 16px 64px}header.brand{border-bottom:3px solid var(--teal);margin-bottom:24px;padding-bottom:16px}header.brand h1{letter-spacing:.5px;margin:0;font-size:32px}header.brand h1 span{color:var(--teal)}header.brand p{color:var(--muted);margin:6px 0 0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:20px;padding:20px}.panel h2{color:var(--teal-dark);margin-top:0;font-size:18px}.grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.grid .span-2{grid-column:span 2}@media (max-width:640px){.grid{grid-template-columns:1fr}.grid .span-2{grid-column:span 1}}label{color:var(--muted);margin-bottom:4px;font-size:14px;display:block}.req{color:#a12626;font-weight:700}input,select,textarea{border:1px solid var(--line);width:100%;min-height:44px;color:var(--text);background:#fff;border-radius:6px;padding:10px;font-family:inherit;font-size:max(1rem,1em)}textarea{min-height:88px}:is(input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible){outline:2px solid var(--teal);outline-offset:2px}.error:focus{outline-offset:2px;outline:2px solid #a12626}button{font-family:inherit}button.primary{background:var(--teal);color:#fff;cursor:pointer;border:none;border-radius:6px;min-height:44px;padding:12px 22px;font-size:16px;font-weight:700}button.primary:hover:not(:disabled){background:var(--teal-dark)}button.primary:disabled{opacity:.5;cursor:not-allowed}button.ghost{min-height:44px;color:var(--teal-dark);border:1px solid var(--teal);cursor:pointer;background:0 0;border-radius:6px;margin-top:12px;padding:10px 18px;font-size:14px}.service-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.service-card{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fbfaf7;border-radius:10px;flex-direction:column;gap:4px;padding:14px;font-family:inherit;display:flex}.service-card:hover{border-color:var(--teal)}.service-card.selected{border:2px solid var(--teal);background:#eef7f4}.service-name{font-size:16px;font-weight:700}.service-price{color:var(--teal-dark);font-weight:700}.service-price small{color:var(--muted);font-weight:400}.service-blurb{color:var(--muted);font-size:13px;line-height:1.4}.fineprint{color:var(--muted);margin:0 0 12px;font-size:12px}.chat-log{flex-direction:column;gap:8px;max-height:300px;margin-bottom:12px;display:flex;overflow-y:auto}.chat-msg{white-space:pre-wrap;border-radius:12px;max-width:85%;padding:10px 14px;line-height:1.45}.chat-msg.assistant{background:#eef7f4;align-self:flex-start}.chat-msg.user{background:var(--teal);color:#fff;align-self:flex-end}.chat-form{gap:8px;display:flex}.chat-form input{flex:1}.actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:16px;display:flex}.hint{color:var(--muted);font-size:14px}.error{color:#7c1d1d;background:#fdeeee;border:1px solid #d66;border-radius:6px;margin-bottom:16px;padding:10px 14px}.notice{border:1px solid var(--teal);color:var(--teal-dark);border-radius:6px;margin-bottom:16px;padding:10px 14px}.deposit-box{border:1px solid var(--teal);border-radius:6px;margin:16px 0;padding:14px;line-height:1.5}.deposit-box strong{color:var(--teal-dark);font-size:20px}table{border-collapse:collapse;width:100%;margin-bottom:16px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 6px;font-size:14px}th{color:var(--teal-dark);width:130px}.summary-box{background:#eef7f4;border-radius:8px;margin-bottom:16px;padding:6px 16px;line-height:1.55}.footer{color:var(--muted);border-top:1px solid var(--line);padding-top:14px;font-size:13px;line-height:1.5}
