:root{--green:#174d36;--green-dark:#103b2a;--green-soft:#e8f0ea;--cream:#f7f3e8;--orange:#ed6b21;--ink:#1c2821;--muted:#647169;--line:#d8dfda;--white:#fff;--shadow:0 14px 40px rgba(23,77,54,.12);font-family:"Yu Gothic UI","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--ink);background:#eef2ef}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--cream);padding-bottom:78px}button,input,textarea,select{font:inherit}button{cursor:pointer}.topbar{height:72px;background:var(--white);display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100% - 720px)/2));border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{border:0;background:none;display:flex;align-items:center;gap:10px;color:var(--green);padding:0}.brand-mark{width:42px;height:42px;border-radius:10px;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:900;font-size:22px}.brand strong,.brand small{display:block;text-align:left}.brand strong{font-size:19px;letter-spacing:.13em}.brand small{font-size:11px;color:var(--muted);letter-spacing:.08em}.help-button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--green);font-size:20px;font-weight:800}main{max-width:720px;margin:auto;min-height:calc(100vh - 150px)}.view{display:none;padding:0 20px 40px}.view.active{display:block}.hero{margin:0 -20px;padding:52px 24px 58px;background:linear-gradient(140deg,var(--cream) 0 58%,#e3eadf 58%);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:230px;height:230px;border:42px solid rgba(23,77,54,.07);border-radius:50%;right:-90px;bottom:-110px}.eyebrow{font-size:11px;letter-spacing:.16em;color:var(--orange);font-weight:900;margin:0 0 12px}.hero h1{font-size:clamp(34px,8vw,50px);line-height:1.28;margin:0;letter-spacing:.02em;color:var(--green-dark)}.hero h1 em{font-style:normal;color:var(--orange)}.hero>p:last-of-type{max-width:500px;color:var(--muted);font-weight:600;line-height:1.8;margin:20px 0 0}.home-actions{display:grid;gap:14px;margin-top:-24px;position:relative;z-index:2}.action-card{width:100%;min-height:98px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);padding:17px;display:grid;grid-template-columns:54px 1fr 20px;align-items:center;gap:14px;text-align:left;color:var(--ink)}.action-card.primary{background:var(--green);color:#fff;border:0}.action-icon{width:54px;height:54px;border-radius:15px;background:var(--orange);display:grid;place-items:center;color:#fff;font-size:29px;font-weight:300}.action-icon.outline{background:var(--green-soft);color:var(--green)}.action-card strong,.action-card small{display:block}.action-card strong{font-size:20px;margin-bottom:5px}.action-card small{font-size:12px;color:var(--muted)}.action-card.primary small{color:#dce8e1}.arrow{font-size:28px;color:var(--orange)}.recent-section{margin-top:34px}.section-heading{display:flex;justify-content:space-between;align-items:center}.recent-section h2{font-size:19px}.text-button{border:0;background:none;color:var(--green);font-weight:800;padding:10px}.request-list{display:grid;gap:11px}.request-item{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.request-item button{display:contents;color:inherit;text-align:left}.request-item strong,.request-item small{display:block}.request-item strong{margin-bottom:6px}.request-item small{color:var(--muted)}.status-pill{font-size:12px;font-weight:800;padding:7px 10px;border-radius:999px;background:#fff1e8;color:#9a3e0d}.empty-state{background:#fff;border:1px dashed #b8c7bc;border-radius:15px;padding:24px;text-align:center;color:var(--muted)}.support-card{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;background:#e9eee8;border-radius:16px;padding:18px;margin-top:28px}.support-icon{font-size:25px;color:var(--green)}.support-card strong{font-size:14px}.support-card p{font-size:11px;color:var(--muted);margin:4px 0 0}.support-card button{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;color:var(--green);font-weight:800}.page-heading{display:flex;align-items:center;gap:14px;margin:24px 0}.page-heading p{margin:0;color:var(--orange);font-size:11px;font-weight:900;letter-spacing:.1em}.page-heading h1{margin:5px 0 0;font-size:25px;color:var(--green-dark)}.back-button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--green);font-size:30px}.stepper{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:0 0 32px;position:relative}.stepper:before{content:"";height:2px;background:var(--line);position:absolute;top:17px;left:12%;right:12%}.stepper li{text-align:center;font-size:10px;color:#8a948e;position:relative}.stepper span{width:36px;height:36px;border-radius:50%;background:#e1e5e2;display:grid;place-items:center;margin:0 auto 6px;font-weight:900}.stepper li.current{color:var(--green);font-weight:800}.stepper li.current span,.stepper li.done span{background:var(--green);color:#fff}.form-step{display:none}.form-step.active{display:block}.form-step h2{font-size:24px;margin-bottom:5px}.guide{color:var(--muted);margin-top:0;line-height:1.6}.product-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.product-options label{position:relative}.product-options input{position:absolute;opacity:0}.product-options label>span,.product-options label>strong{display:block}.product-options label{border:2px solid var(--line);background:#fff;border-radius:15px;padding:16px;min-height:120px}.product-options label:has(input:checked){border-color:var(--orange);background:#fff8f1}.product-emoji{font-size:31px;color:var(--green);margin-bottom:15px}.field{display:block;margin:20px 0}.field>span,fieldset legend{display:block;font-weight:800;margin-bottom:8px}.field b{font-size:10px;color:#fff;background:var(--orange);padding:3px 6px;border-radius:4px}.field small{font-weight:400;color:var(--muted)}input,textarea,select{width:100%;border:1px solid #bec8c0;background:#fff;border-radius:12px;padding:15px;color:var(--ink);font-size:16px}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:3px solid rgba(237,107,33,.18);border-color:var(--orange)}.symptom-options{display:grid;gap:9px;margin:20px 0}.symptom-options label,.contact-method label{position:relative}.symptom-options input,.contact-method input{position:absolute;opacity:0}.symptom-options span{display:block;border:2px solid var(--line);border-radius:12px;background:#fff;padding:15px}.symptom-options input:checked+span,.contact-method input:checked+span{border-color:var(--orange);background:#fff7f0;color:var(--green);font-weight:800}.photo-upload{border:2px dashed #a8b9ac;border-radius:16px;background:#f8faf8;padding:22px;text-align:center;display:block}.photo-upload input{display:none}.photo-upload span,.photo-upload strong,.photo-upload small{display:block}.photo-upload .camera{font-size:30px;color:var(--green)}.photo-upload small{color:var(--muted);margin-top:6px}.photo-preview{margin-top:12px;background:#fff;border-radius:15px;padding:10px}.photo-preview img{width:100%;max-height:260px;object-fit:cover;border-radius:10px}.contact-method{border:0;padding:0;margin:22px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-method legend{grid-column:1/-1}.contact-method span{display:block;text-align:center;padding:14px;background:#fff;border:2px solid var(--line);border-radius:12px}.confirm-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:5px 18px}.confirm-card div{display:grid;grid-template-columns:105px 1fr;gap:10px;border-bottom:1px solid #edf0ee;padding:14px 0}.confirm-card div:last-child{border:0}.confirm-card dt{color:var(--muted);font-size:13px}.confirm-card dd{margin:0;font-weight:700}.agreement{display:flex;align-items:flex-start;gap:10px;margin:20px 0}.agreement input{width:22px;height:22px;accent-color:var(--green)}.form-error{color:#b3261e;font-weight:700;min-height:24px}.form-nav{display:flex;gap:10px;margin-top:20px}.primary-button,.secondary-button{min-height:52px;border-radius:13px;padding:13px 20px;font-weight:800;border:0}.primary-button{background:var(--orange);color:#fff;flex:1}.secondary-button{background:#fff;border:1px solid var(--line);color:var(--green)}.status-search{background:#fff;border-radius:18px;padding:22px;border:1px solid var(--line)}.status-search .field{margin-top:0}.status-search>p{font-size:12px;color:var(--muted);line-height:1.6}.status-card{margin:24px 0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.status-card header{display:flex;justify-content:space-between;gap:10px}.status-card h2{font-size:19px;margin:0}.status-card p{color:var(--muted)}.timeline{list-style:none;padding:0;margin:25px 0 0}.timeline li{position:relative;padding:0 0 25px 40px;color:#8b958f}.timeline li:before{content:"";position:absolute;left:9px;top:6px;width:14px;height:14px;border-radius:50%;background:#d7ddd9;border:4px solid #fff;box-shadow:0 0 0 2px #d7ddd9}.timeline li:after{content:"";position:absolute;left:17px;top:25px;width:2px;height:30px;background:#d7ddd9}.timeline li:last-child:after{display:none}.timeline li.active{color:var(--green);font-weight:800}.timeline li.active:before{background:var(--orange);box-shadow:0 0 0 2px var(--orange)}.request-list.full{margin-top:25px}.complete-card{text-align:center;padding:55px 0}.complete-icon{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;margin:auto;background:var(--green);color:#fff;font-size:42px}.complete-card>p:first-of-type{color:var(--orange);font-weight:900;margin-top:24px}.complete-card h1{color:var(--green);font-size:28px}.complete-card>p{color:var(--muted);line-height:1.7}.receipt{background:#fff;border:1px solid var(--line);border-radius:18px;margin:28px 0;padding:22px}.receipt span,.receipt strong{display:block}.receipt strong{font-size:28px;color:var(--green);letter-spacing:.06em;margin:8px}.receipt button{border:0;background:none;color:var(--orange);font-weight:800}.complete-card>.primary-button{width:100%}.complete-card>.text-button{margin-top:12px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:76px;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);z-index:20;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{border:0;background:none;color:#79847d;font-size:10px}.bottom-nav span{display:block;font-size:23px;margin-bottom:2px}.bottom-nav button.active{color:var(--green);font-weight:900}.toast{position:fixed;left:50%;bottom:95px;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:10px;opacity:0;pointer-events:none;transition:.2s;z-index:50;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:0;border-radius:20px;padding:28px;max-width:500px;width:calc(100% - 40px);box-shadow:0 25px 80px #0005}dialog::backdrop{background:#10261d99}.dialog-close{float:right;border:0;background:none;font-size:26px}.dialog-close+*{clear:both}dialog li{margin:14px 0;line-height:1.6}dialog p{background:var(--cream);padding:15px;border-radius:10px;color:var(--muted);line-height:1.6}@media(min-width:760px){body{padding-bottom:0}.bottom-nav{left:50%;right:auto;width:720px;transform:translateX(-50%);border-left:1px solid var(--line);border-right:1px solid var(--line)}.view{padding-bottom:110px}}@media(max-width:430px){.product-options{grid-template-columns:1fr}.product-options label{min-height:86px;display:grid;grid-template-columns:45px 1fr;align-items:center}.product-emoji{margin:0}.support-card{grid-template-columns:36px 1fr}.support-card button{grid-column:2}.confirm-card div{grid-template-columns:1fr}.form-nav{position:sticky;bottom:82px;background:var(--cream);padding:10px 0}.hero{padding-top:40px}}
