*{box-sizing:border-box}
:root{color-scheme:light;--ink:#203b34;--muted:#64756c;--line:#dce4dc;--bg:#f3f5ef;--green:#284f41;--orange:#e4a469}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Segoe UI',Arial,sans-serif;font-size:16px;line-height:1.45}
button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}
[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #cb803e;outline-offset:3px}a{color:#355f49;text-underline-offset:3px}
.topbar{min-height:54px;padding:8px max(16px,calc((100vw - 560px)/2));display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border-bottom:1px solid var(--line)}
.topbar strong{display:flex;align-items:center;gap:8px;font-size:15px;white-space:nowrap}.brand-mark{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--orange);color:#243d34;font-size:20px}.portal{font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.workspace{width:100%;max-width:592px;margin:auto;padding:18px 16px calc(20px + env(safe-area-inset-bottom))}.page-heading h1{font-size:27px;line-height:1.2;letter-spacing:-.8px;font-weight:650;margin:0 0 6px}.page-heading p{font-size:14px;line-height:1.5;color:var(--muted);margin:0}
.demo-note{display:flex;gap:8px;align-items:start;margin:12px 0 16px;font-size:12px;line-height:1.5;color:var(--muted)}.connection-dot{width:7px;height:7px;border-radius:50%;background:#638c68;flex-shrink:0;margin-top:5px}
.form-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.section-heading{display:flex;align-items:center;gap:9px;margin-bottom:12px;flex-wrap:wrap}.step{width:24px;height:24px;border-radius:50%;background:#edf2e8;color:#66805f;font-size:12px;display:grid;place-items:center;flex-shrink:0}h2{font-size:16px;font-weight:650;margin:0;line-height:1.35}.auto-note{font-size:11px;color:var(--muted);margin-left:auto}
label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}input[type=search],input[type=date],select{width:100%;max-width:100%;min-width:0;min-height:48px;border:1px solid #cfdacf;border-radius:9px;background:#fafcf7;padding:11px 12px;color:var(--ink);font-size:16px}input[type=search]{appearance:none;-webkit-appearance:none}input[type=date]{display:block;appearance:none;-webkit-appearance:none;line-height:24px}
.service-choice{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;border:1px solid #cbd9ca;border-radius:10px;background:#f8fbf4;text-align:left;padding:12px;color:var(--ink)}.service-choice>span:first-child{min-width:0}.service-choice small{display:block;font-size:12px;color:var(--muted);margin-bottom:3px}.service-choice strong{display:block;font-size:16px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.choice-arrow{font-size:23px;flex-shrink:0}.service-choice.is-selected{background:#f4f8ef}.service-choice.is-selected small{color:#6a7e60}
.context{padding:9px 2px 0;min-width:0}.context p{font-size:13px;line-height:1.5;color:#596f5d;margin:4px 0;overflow-wrap:anywhere}.context-details{font-size:12px;color:#71826d;margin-top:3px}.context-details summary{display:flex;align-items:center;min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.context-details a{display:flex;align-items:center;min-height:44px;overflow-wrap:anywhere}.context-details[open]{padding-bottom:4px}
.divider{height:1px;background:#e4e9df;margin:16px 0}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#eff3e9;padding:4px;border-radius:10px;margin-bottom:12px}.tabs button{border:0;border-radius:7px;background:transparent;color:#687b60;min-height:46px;padding:10px;font-size:15px;font-weight:600}.tabs button[aria-selected=true]{background:#fff;color:#294d3b;box-shadow:0 2px 7px #2c472318}
.date-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.date-row label{margin:0}.date-row button,.text-button,.refresh{min-width:44px;min-height:44px;padding:10px;border:0;border-radius:7px;background:transparent;color:#396348;font-size:14px}.date-row button{margin-right:-8px}.count-label{margin-top:16px}.counter{display:flex;justify-content:center;align-items:center;gap:22px;margin:10px 0 0}.counter button{width:48px;height:48px;border:1px solid #ccd9c7;border-radius:50%;background:#f5f9ef;font-size:28px;color:#42613e;flex-shrink:0}.counter div{text-align:center;min-width:0}.counter input{appearance:textfield;-moz-appearance:textfield;display:block;width:112px;height:70px;border:0;border-radius:5px;text-align:center;padding:0;color:#24422f;font-size:56px;font-weight:600;letter-spacing:-2px;background:transparent}.counter input::-webkit-inner-spin-button,.counter input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.counter div span{font-size:13px;color:var(--muted)}.hint{text-align:center;font-size:13px;color:var(--muted);line-height:1.5;margin:12px 0}
.submit-bar{padding-top:10px}.submit{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:52px;width:100%;padding:14px 16px;background:var(--green);color:#fff;border:0;border-radius:10px;font-size:16px;font-weight:600;text-align:left}.submit:hover:not(:disabled){background:#1f3f32}.submit-note{font-size:12px;text-align:center;line-height:1.5;color:var(--muted);margin:8px 0 0}
.existing,.error{padding:12px;border:1px solid #e4d2aa;background:#fff7e7;border-radius:9px;color:#7c612c;font-size:14px;line-height:1.55;overflow-wrap:anywhere;margin:12px 0}.error{background:#fff2ec;border-color:#e7c0b1;color:#8d4830}
.photo-label{margin-top:17px}.dropzone{display:flex;flex-direction:column;align-items:center;gap:6px;border:1px dashed #a7bda0;border-radius:10px;background:#f7faf2;text-align:center;padding:18px 10px;cursor:pointer;min-height:120px}.upload-icon{font-size:26px;color:#56734b;font-weight:400}.dropzone strong{font-size:16px}.dropzone>span:not(.upload-icon){font-size:13px;color:var(--muted);font-weight:400}.dropzone small{font-size:12px;color:var(--muted);font-weight:400}.dropzone.dragging{background:#e6f0dc}.file-input{width:100%;min-height:48px;font-size:14px;color:var(--muted);margin-top:8px}.file-input::file-selector-button{min-height:44px;padding:10px;border:1px solid #ccd8c6;background:#f8faf5;color:#42603c;border-radius:7px;font:inherit;margin-right:8px}
.photo-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.photo-thumb{min-width:0;position:relative;padding-top:5px}.photo-thumb img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;display:block;background:#eef3e7}.photo-thumb button{position:absolute;top:0;right:0;width:44px;height:44px;border:1px solid #d5dfcf;border-radius:50%;background:#fffef4f5;font-size:25px;color:#3b5234}.photo-thumb small{display:block;font-size:11px;line-height:1.5;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;margin-top:4px}
.recent-card{margin-top:16px;border:1px solid var(--line);border-radius:11px;background:#fafcf7;padding:0 14px}.recent-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:52px;font-size:14px;font-weight:600;cursor:pointer}.recent-heading>span:last-child{font-size:12px;background:#edf2e6;min-width:23px;text-align:center;padding:3px 7px;border-radius:6px}.empty{font-size:13px;line-height:1.6;color:var(--muted);margin:0;padding:0 0 15px}.recent-item{display:flex;align-items:center;gap:10px;text-decoration:none;width:100%;padding:12px 0;border-top:1px solid var(--line)}.record-icon{background:#eaf2df;width:30px;height:30px;border-radius:7px;display:grid;place-items:center;flex-shrink:0}.record-text{min-width:0}.record-text strong{display:block;font-size:14px}.record-text small{display:block;font-size:12px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}.record-arrow{margin-left:auto}
footer{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:12px;font-size:11px;line-height:1.5;color:var(--muted)}footer a{display:flex;min-height:44px;align-items:center;font-size:12px;flex-shrink:0}
dialog{width:calc(100% - 24px);max-width:520px;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:auto;border:1px solid #d5dfce;border-radius:16px;padding:20px;color:var(--ink);background:#fff;box-shadow:0 18px 70px #18331c33;overflow:auto;overscroll-behavior:contain}dialog::backdrop{background:#122d22a6}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.modal-heading h2{font-size:21px;letter-spacing:-.5px;overflow-wrap:anywhere}.modal-heading button{width:44px;height:44px;min-width:44px;border:0;border-radius:50%;background:#f0f5e9;color:#5e7854;font-size:27px}.modal-copy{font-size:14px;line-height:1.6;color:#5d705a;margin:12px 0}.detail-table{width:100%;table-layout:fixed;font-size:14px;border-collapse:collapse;margin:14px 0}.detail-table th{width:29%;text-align:left;font-weight:400;color:#6c7d64;vertical-align:top;padding:10px 10px 10px 0}.detail-table td{vertical-align:top;padding:10px 0;line-height:1.5;overflow-wrap:anywhere}.modal-actions{display:flex;gap:10px;margin-top:18px;position:sticky;bottom:-20px;background:#fff;padding:10px 0 max(10px,env(safe-area-inset-bottom))}.modal-actions button{flex:1;min-height:48px;padding:12px;border:1px solid #d4dfcc;border-radius:9px;color:#36532e;background:#f5f8ef;font-size:15px;font-weight:600}.modal-actions button.primary{background:var(--green);border-color:var(--green);color:#fff}.success-symbol{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#e9f2df;color:#5e7b48;font-size:25px}
.service-picker{padding:0;max-width:560px;max-height:calc(100dvh - 24px);width:calc(100% - 24px)}.picker-top{position:sticky;top:0;background:#fff;padding:16px 18px 0;z-index:1;border-bottom:1px solid var(--line)}.picker-top .modal-heading{margin-bottom:8px}.filters{font-size:14px;margin:4px 0}.filters summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:#537049}.filters label{margin-top:10px}.check-label{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:400;min-height:44px}.check-label input{width:22px;height:22px;accent-color:var(--green);flex-shrink:0}.text-button{padding-left:0;text-decoration:underline}.picker-info{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;font-size:13px;color:var(--muted)}.refresh{margin-right:-8px}.service-results{padding:8px 10px;min-height:70px}.service-result{display:block;min-width:0;width:100%;text-align:left;border:1px solid transparent;border-bottom-color:var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:14px 10px;margin-bottom:4px}.service-result.is-current{background:#f1f7e8;border-color:#b7cda4}.service-result strong{display:block;font-size:16px;line-height:1.45;font-weight:600;overflow-wrap:anywhere}.service-result .service-address{display:block;color:#5d7455;font-size:14px;margin-top:5px;line-height:1.5;overflow-wrap:anywhere}.service-result .service-deal{display:block;color:#65775b;font-size:13px;margin-top:4px;line-height:1.5;overflow-wrap:anywhere}.service-badge{display:inline-block;font-size:12px;border-radius:4px;background:#f7edd7;color:#816536;padding:3px 6px;margin-top:7px}.service-results .empty{padding:18px 10px}.picker-footnote{font-size:12px;line-height:1.5;color:var(--muted);margin:0;padding:12px 20px 20px}
@media(min-width:720px){.workspace{padding-top:28px}.form-card{padding:24px}.page-heading h1{font-size:30px}}
@media(max-width:420px){.workspace{padding:15px 12px calc(12px + env(safe-area-inset-bottom))}.form-card{padding:15px;border-radius:13px}.page-heading h1{font-size:25px}.auto-note{font-size:10px}.topbar{padding:8px 14px}.service-picker{width:100%;max-width:none;height:100dvh;max-height:100dvh;border:0;border-radius:0;margin:0;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.picker-top{padding:10px 16px 0}.picker-top:has(.filters[open]){position:static}.modal-actions{flex-direction:column-reverse}.modal-actions button{flex:none}dialog:not(.service-picker){padding:16px}.modal-actions{bottom:-16px}.counter{gap:18px}}
@media(max-width:340px){.auto-note{margin-left:33px;margin-top:-5px}.photo-list{grid-template-columns:repeat(2,minmax(0,1fr))}.counter{gap:12px}.counter input{width:96px}.portal{font-size:10px}.workspace{padding-left:10px;padding-right:10px}footer{align-items:start}}
@media(prefers-reduced-motion:no-preference){button{transition:background .12s}}
.login-panel{max-width:410px;margin:10vh auto;padding:26px 22px;background:#fff;border:1px solid var(--line);border-radius:16px;width:calc(100% - 28px)}.login-panel h1{font-size:25px;margin:16px 0 8px}.login-panel p{font-size:14px;color:var(--muted);line-height:1.6}.login-panel input{width:100%;min-height:50px;border:1px solid #cfdacf;border-radius:9px;padding:12px;font-size:18px;background:#fafcf7;color:var(--ink)}.login-panel .submit{margin-top:18px;justify-content:center}.login-panel .login-help{font-size:12px;margin:18px 0 0}
