:root { --brand: #1f6f43; --ink:#1a1a1a; --muted:#666; }
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; background:#f4f5f7; color:var(--ink); }
.wrap { max-width:540px; margin:0 auto; padding:16px; }
.card { background:#fff; border-radius:16px; padding:16px; margin-bottom:14px; box-shadow:0 1px 3px rgba(0,0,0,.08); }
.brand { color:var(--brand); font-weight:700; font-size:13px; letter-spacing:.4px; text-transform:uppercase; }
h1 { font-size:22px; margin:6px 0 2px; }
.muted { color:var(--muted); font-size:14px; }
.row { display:flex; gap:8px; margin-top:12px; }
.btn { flex:1; text-align:center; padding:14px; border-radius:12px; font-size:16px; font-weight:600; text-decoration:none; border:0; cursor:pointer; display:block; color:#fff; background:var(--brand); }
.btn.secondary { background:#eef0f2; color:var(--ink); }
.btn.dark { background:#111; }
.btn:disabled { opacity:.5; }
.sec-title { font-size:12px; text-transform:uppercase; letter-spacing:.5px; color:#8a8f98; margin:16px 0 8px; font-weight:600; }
.chips { display:flex; gap:6px; flex-wrap:wrap; }
.chip { padding:9px 14px; border-radius:22px; border:1px solid #d5d7da; background:#fff; font-size:14px; color:var(--ink); cursor:pointer; }
.chip.on { background:var(--brand); color:#fff; border-color:var(--brand); }
.chip.ghost { border-style:dashed; color:var(--muted); }
.slot { width:100%; display:flex; justify-content:space-between; align-items:center; gap:10px; padding:14px; border:1px solid #e3e5e8; border-radius:12px; margin-bottom:8px; background:#fff; cursor:pointer; font-size:16px; text-align:left; }
.slot:active { transform:scale(.99); }
.slot .when { font-weight:600; }
.slot .note { font-size:13px; color:var(--brand); font-weight:600; margin-top:2px; }
.slot.near { border-color:var(--brand); box-shadow:0 0 0 2px rgba(31,111,67,.12) inset; }
.pill { font-size:11px; font-weight:700; color:#fff; background:var(--brand); border-radius:10px; padding:3px 8px; white-space:nowrap; }
.pill.dark { background:#111; }
.field { padding:12px; border:1px solid #d5d7da; border-radius:10px; font-size:15px; font-family:inherit; width:100%; }
.inline { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.ok { background:#e7f6ec; border:1px solid #b6e2c4; color:#14622f; padding:16px; border-radius:12px; text-align:center; font-size:17px; }
.spin { text-align:center; color:var(--muted); padding:24px; }
.near-card { border:1px solid rgba(31,111,67,.35); background:#f2faf5; border-radius:12px; padding:12px; margin-bottom:8px; display:flex; justify-content:space-between; align-items:center; gap:10px; }
.near-card .what { font-weight:600; font-size:15px; }
.near-card .where { font-size:13px; color:var(--muted); margin-top:2px; }
.day-head { font-size:13px; font-weight:700; color:#555; margin:12px 0 6px; }
.appt { padding:8px 0; border-top:1px solid #eee; font-size:14px; display:flex; gap:8px; }
.appt .t { font-weight:600; white-space:nowrap; }
.toast { position:fixed; left:0; right:0; bottom:16px; text-align:center; }
.toast span { background:#111; color:#fff; padding:10px 16px; border-radius:20px; font-size:14px; }
