*{box-sizing:border-box}body{margin:0;background:#eef1ee;color:#27352c;font-family:system-ui,-apple-system,Microsoft YaHei,sans-serif}button,input{font:inherit}button{cursor:pointer}.app{max-width:440px;margin:auto;min-height:100vh;background:#fafbf9;box-shadow:0 0 35px #0001}header{background:#fff;padding:18px 20px;display:flex;justify-content:space-between;align-items:center}header b,header small{display:block}header small{font-size:10px;color:#89988e;margin-top:4px}header button{border:0;background:#eaf1eb;border-radius:20px;padding:10px;color:#436c50;font-size:12px}nav{display:flex;background:#fff;border-bottom:1px solid #e7ebe7;padding:0 20px;gap:24px}nav button{border:0;background:none;padding:14px 5px;color:#829086}nav .on{color:#3b7654;border-bottom:2px solid #3b7654;font-weight:700}main{padding:20px}.hero{background:linear-gradient(130deg,#315c44,#7d9984);color:#fff;border-radius:18px;padding:28px 24px;margin-bottom:26px}.hero small{letter-spacing:2px;opacity:.7}.hero h1{font-size:28px;margin:14px 0 7px}.hero p{font-size:13px;opacity:.85}.hero span{display:inline-block;border:1px solid #ffffff55;border-radius:30px;padding:8px 12px;font-size:11px;margin-top:12px}h3{font-size:15px;margin:27px 0 13px}.service{width:100%;display:flex;justify-content:space-between;padding:18px 16px;border:1px solid #e3eae3;background:#fff;border-radius:12px;margin:9px 0;text-align:left}.service strong{color:#427554}.chosen{background:#e7f1e8!important;border-color:#47805a!important;color:#2e6c47!important}.dates{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.dates button{border:1px solid #e3eae3;background:#fff;border-radius:9px;padding:10px 0}.dates small,.dates b{display:block}.dates small{font-size:10px;color:#8b978c}.dates b{margin-top:6px}.times{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.times button{background:#fff;border:1px solid #e3eae3;padding:13px;border-radius:9px}.times button:disabled{color:#c3c9c3;background:#f0f2f0}input{display:block;width:100%;border:1px solid #e3eae3;background:#fff;border-radius:10px;padding:15px;margin:10px 0;outline-color:#5d9270}.bottom{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.bottom strong{font-size:26px;color:#427554}.primary{background:#3f7654;color:#fff;border:0;border-radius:11px;padding:15px 25px;font-weight:700}.note,footer{text-align:center;font-size:10px;color:#a1aaa2;margin:20px}footer{padding:18px}.center{text-align:center;padding-top:65px}.center button{margin:10px}.tick{margin:auto;border-radius:50%;background:#e1f1e5;color:#3b8155;width:70px;height:70px;display:grid;place-items:center;font-size:36px}.panel,article{background:#fff;border:1px solid #e3eae3;border-radius:14px;padding:18px;margin:18px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stats div{background:#fff;border:1px solid #e3eae3;border-radius:12px;padding:14px 9px;font-size:11px;color:#829086}.stats b{display:block;font-size:25px;color:#3f7654;margin-top:10px}.empty{text-align:center;color:#88998c;padding:50px 10px;font-size:13px}.line{display:flex;justify-content:space-between;align-items:center}.line em{font-style:normal;font-size:12px;color:#568365}.line button{border:0;border-radius:7px;background:#e7f1e8;color:#356a49;padding:8px 12px;margin-left:6px}article p{font-size:12px;color:#829086}.demo-banner{margin:16px 20px 0;padding:12px;border:1px solid #a9c6af;border-radius:10px;background:#e7f1e8;color:#28583a;font-size:14px;line-height:1.6}.storage-error{margin:12px 20px;padding:12px;background:#fff0e8;color:#8a321e;border-radius:10px;line-height:1.5}.management-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:26px}.management-heading h3{margin:0}.clear-button{border:1px solid #bdcbbc;background:#fff;border-radius:8px;padding:10px;color:#345d42}.line{gap:10px;flex-wrap:wrap}.actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.line .actions button{margin:0;min-height:44px}.panel,article p{overflow-wrap:anywhere}.service{gap:10px;flex-wrap:wrap}.bottom{gap:12px;flex-wrap:wrap}header{gap:12px;flex-wrap:wrap}.dates{grid-template-columns:repeat(7,minmax(0,1fr))}.dates button{min-width:0}.note{color:#526a59;font-size:12px}button:focus-visible{outline:3px solid #315c44;outline-offset:3px}@media(max-width:360px){main{padding:16px}.hero{padding:22px 18px}.demo-banner,.storage-error{margin-left:16px;margin-right:16px}.actions{width:100%;justify-content:flex-start}.primary{padding:15px 18px}}
