body { padding-top: 0 !important; background: #f8fafc; }
.av-wrap { max-width: 640px; margin: 0 auto; padding: 8px 16px 48px; }
.av-back { font-size: 13px; margin: 0 0 1rem; }
.av-back a { color: #0a66c2; font-weight: 700; text-decoration: none; }
.av-wrap h1 { font-size: 1.5rem; font-weight: 800; margin: 0 0 .35rem; color: #0f172a; }
.av-lede { color: #64748b; margin: 0 0 1.1rem; font-size: 14.5px; line-height: 1.5; }
.av-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 1.15rem 1.2rem 1.25rem; }
.av-card label { display: block; font-size: 12px; font-weight: 700; color: #334155; margin: .85rem 0 .35rem; }
.av-card label:first-child { margin-top: 0; }
.av-row { display: flex; flex-wrap: wrap; gap: .55rem; align-items: center; }
.av-card select, .av-card input[type="text"], .av-card input[type="number"], .av-card input[type="time"], .av-card input[type="date"] {
  box-sizing: border-box; padding: .5rem .65rem; border: 1px solid #cbd5e1; border-radius: 8px;
  font: inherit; font-size: 14px; background: #fff; min-height: 38px;
}
.av-card select { min-width: 160px; }
.av-days { display: flex; flex-wrap: wrap; gap: .35rem; }
.av-days label {
  display: inline-flex; align-items: center; gap: .3rem; margin: 0;
  padding: .4rem .65rem; border: 1px solid #e2e8f0; border-radius: 999px;
  font-size: 12px; font-weight: 700; color: #475569; cursor: pointer; background: #f8fafc;
}
.av-days input { margin: 0; }
.av-days label:has(input:checked) { background: #eff6ff; border-color: #0a66c2; color: #0a66c2; }
.av-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.1rem; }
.av-btn {
  display: inline-flex; align-items: center; padding: .55rem 1rem; border-radius: 8px;
  font-weight: 700; font-size: 13.5px; text-decoration: none; border: none; cursor: pointer; font-family: inherit;
}
.av-btn.primary { background: #0a66c2; color: #fff; }
.av-btn.ghost { background: #f1f5f9; color: #0f172a; }
.av-status { margin-top: .75rem; font-size: 13px; color: #166534; min-height: 1.2em; }
.av-status.err { color: #b91c1c; }
.av-summary { margin-top: 1rem; font-size: 13px; color: #475569; line-height: 1.45; }
.av-summary strong { color: #0f172a; }

.av-card h2 { font-size: 1.05rem; font-weight: 800; margin: 0 0 .75rem; color: #0f172a; }
.av-heatweek { display: grid; grid-template-columns: repeat(7, 1fr); gap: .35rem; }
.av-heat-day {
  border-radius: 6px; border: 1px solid #e2e8f0; background: #f1f5f9;
  padding: .5rem .25rem; text-align: center;
}
.av-heat-day .d { font-size: 11px; font-weight: 700; color: #64748b; }
.av-heat-day .h { font-size: 11px; color: #94a3b8; margin-top: .2rem; }
.av-heat-day.is-open { background: #86efac; border-color: #65d393; }
.av-heat-day.is-open .d, .av-heat-day.is-open .h { color: #14532d; }
.av-heat-day.is-notice { background: #fde68a; border-color: #fbbf24; }
.av-heat-day.is-notice .d, .av-heat-day.is-notice .h { color: #78350f; }
.av-heatweek-legend { font-size: 11px; color: #94a3b8; margin: .6rem 0 0; }
@media (max-width: 480px) { .av-heat-day .h { display: none; } }
