:root { --accent: #c2410c; --ok: #15803d; }
.top { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; padding: .5rem 0; }
.brand { font-weight: 800; font-size: 1.15rem; display: flex; gap: .4rem; align-items: center; }
.hero { padding: .5rem 0; }
.hero h1 { margin: 0 0 .25rem; font-size: clamp(1.5rem, 6vw, 2.2rem); line-height: 1.15; }
.muted { color: var(--muted); font-size: .92rem; }
.center { text-align: center; }
.between { justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .5rem; }
.link { background: none; border: 0; padding: .25rem 0; color: var(--accent); font: inherit; cursor: pointer; text-decoration: underline; }
.btn-primary { background: var(--accent); color: #fff; border-color: var(--accent); min-height: 48px; font-weight: 700; }
.btn-primary:disabled { opacity: .5; cursor: not-allowed; }
.seg { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.seg button, .day, .slot {
	min-height: 48px; border: 1.5px solid var(--border); border-radius: var(--radius);
	background: var(--bg); color: var(--fg); font: inherit; font-weight: 600; cursor: pointer;
}
.seg button.on, .day.on, .slot.on { background: var(--accent); border-color: var(--accent); color: #fff; }
.days { display: flex; gap: .5rem; overflow-x: auto; padding-bottom: .25rem; scroll-snap-type: x mandatory; }
.day { flex: 0 0 auto; min-width: 72px; padding: .5rem; scroll-snap-align: start; line-height: 1.2; }
.slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)); gap: .5rem; }
.success { background: #ecfdf3; color: var(--ok); border: 1px solid #abefc6; border-radius: var(--radius); padding: .75rem; font-weight: 600; }
.walk, .owalk { display: flex; justify-content: space-between; align-items: center; gap: .75rem; flex-wrap: wrap; }
.isdone { opacity: .65; }
.badge.ok { background: #ecfdf3; color: var(--ok); }
.note { font-size: .9rem; font-style: italic; border-left: 3px solid var(--accent); padding-left: .5rem; margin-top: .25rem; }
.weeknav strong, .weeknav span { text-align: center; flex: 1; }
.dayhead { margin: 0; font-size: 1.05rem; text-transform: capitalize; }
.foot { text-align: center; padding: 1.5rem 0; }
