.birthday-preview{padding-top:42px;padding-bottom:20px}
.birthday-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.birthday-chip{display:flex;align-items:center;gap:13px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:15px}
.birthday-chip .initials{width:48px;height:48px;flex:0 0 48px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:850;letter-spacing:.05em}
.birthday-chip small{display:block}
.calendar-tools{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:22px}
.calendar-tools form{display:flex;gap:8px;flex:1}
.calendar-tools input{min-width:220px}
.calendar-nav{display:flex;align-items:center;gap:10px;margin-left:auto}
.calendar-nav strong{min-width:170px;text-align:center;font:700 1.25rem Georgia,serif}
.month-calendar{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--paper)}
.calendar-weekday{padding:10px;background:var(--green);color:#fff;text-align:center;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.calendar-day{min-height:132px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.calendar-day:nth-child(7n){border-right:0}
.calendar-day.outside{background:#f0ebe1;color:#a7a096}
.calendar-number{font-weight:800;margin-bottom:7px}
.calendar-entry{display:block;margin:5px 0;padding:5px 7px;border-radius:8px;background:#e2ece6;color:var(--green2);font-size:.78rem;text-decoration:none;line-height:1.25}
.calendar-entry.anniversary{background:#f8e4d9;color:#7d3d27}
.calendar-entry strong{display:block}
.search-results{margin-top:24px}
@media(max-width:800px){.birthday-strip{grid-template-columns:1fr}.month-calendar{display:block}.calendar-weekday{display:none}.calendar-day{min-height:auto;border-right:0;padding:12px}.calendar-day.outside{display:none}.calendar-tools form{flex-basis:100%}.calendar-nav{margin-left:0}}
