
:root{--ink:#24352d;--muted:#65746b;--green:#47765c;--pale:#edf4ed;--line:#dce5dc;--off:#ecefed;--white:#fff;--danger:#a63d36}
*{box-sizing:border-box}body{margin:0;background:#f6f8f4;color:var(--ink);font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}
main{max-width:680px;margin:0 auto;padding:24px 16px 48px}
.card{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:20px;margin:14px 0;box-shadow:0 5px 18px #24352d08}
h1{font-size:28px;margin:0 0 6px}h2{font-size:17px;margin:0 0 12px}p{line-height:1.65;margin:8px 0;color:var(--muted);font-size:14px}
.tag{display:inline-block;background:var(--pale);color:var(--green);border-radius:99px;padding:5px 10px;font-size:12px}
label{display:block;font-weight:650;margin:14px 0 7px;font-size:14px}
input{width:100%;padding:13px 12px;border:1px solid #cbd7cc;border-radius:10px;font:inherit;background:#fff}
.day{margin-top:16px}.daytitle{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:10px}.daytitle strong{font-size:15px}.daytitle span{font-size:12px;color:var(--muted)}
.slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.slot{border:1px solid var(--line);background:white;border-radius:10px;padding:12px 8px;text-align:center;color:var(--ink);font-size:13px;cursor:pointer;min-height:48px}
.slot small{display:block;font-size:11px;margin-top:4px;color:var(--green)}
.slot.selected{background:#e4f1e5;border:2px solid var(--green);padding:11px 7px}
.slot:disabled{background:var(--off);color:#9aa39d;border-color:#e1e5e2;cursor:not-allowed}
.slot:disabled small{color:#929a94}
button.action{width:100%;border:0;background:var(--green);color:white;border-radius:11px;padding:14px;font-size:15px;font-weight:700;margin-top:14px;cursor:pointer}
button.action:disabled{opacity:.55;cursor:wait}.secondary{background:#fff!important;color:var(--green)!important;border:1px solid var(--green)!important}
.notice{background:#fff8e8;border:1px solid #f1dfb7;border-radius:12px;padding:12px;color:#725b2b;font-size:13px;line-height:1.65}
.status{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.success{color:#216d3d}.error{color:var(--danger)}
.hidden{display:none!important}.small{font-size:12px;color:var(--muted)}
footer{text-align:center;font-size:12px;color:#839087;padding:16px}
@media(min-width:520px){.slots{grid-template-columns:repeat(3,minmax(0,1fr))}.card{padding:24px}}

.page-title{margin-top:12px}
button:focus-visible,input:focus-visible{outline:3px solid #47765c;outline-offset:3px}
