/* NowOmaha calendar tools: search, sort, share. New rules only; no category colors. Palette: paper #FAF7F2 ink #1F1F24 coral #FF5A4E indigo #2E2A6B teal #1FA39A saffron #F2A93B */
.calendar .calendar-tools{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:.75rem 0 .25rem}
.calendar .cal-search{flex:1 1 16rem;min-width:0}
.calendar .cal-search input,.calendar .cal-date input{width:100%;min-height:48px;padding:.6rem 1rem;font:inherit;font-size:1rem;color:#1F1F24;background:#FAF7F2;border:2px solid #1F1F24;border-radius:0;box-sizing:border-box;-webkit-appearance:none;appearance:none}
.calendar .cal-range{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;flex:1 1 18rem}
.calendar .cal-date{display:flex;align-items:center;gap:.5rem;flex:1 1 10rem;font-weight:700}
.calendar .cal-date>span{white-space:nowrap}
.calendar .cal-date input{flex:1;min-width:0;cursor:pointer}
.calendar .cal-search input:focus-visible,.calendar .cal-date input:focus-visible,.calendar .share:focus-visible,.calendar .share-menu :focus-visible{outline:3px solid #2E2A6B;outline-offset:2px}
.calendar .cal-search input::placeholder{color:#1F1F24;opacity:.6}
.calendar .event-actions{flex-wrap:wrap}.calendar .share{background:transparent;min-width:48px;min-height:48px;border:1px solid #1F1F24;padding:10px 16px;cursor:pointer}
.calendar .share-menu{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0;padding:.75rem;background:#FAF7F2;border:2px solid #1F1F24;border-radius:0}
.calendar .share-menu .chip{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}
.calendar .share-close{min-height:44px;margin-left:auto;background:none;border:0;color:#2E2A6B;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.calendar .event-card.is-shared{box-shadow:0 0 0 4px #F2A93B;scroll-margin-top:5rem}
.calendar .event-card:focus{outline:none}
.calendar .visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:560px){.calendar .cal-range,.calendar .cal-date{flex:1 1 100%}}
/* Account panel and signed-in saves. Same chip / Save button language; no new palette. */
.calendar .account-bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.5rem 0;font-weight:700}
.calendar .account-bar a,.calendar .account-bar button,.account-panel .text-btn{min-height:48px;background:transparent;border:0;color:#2E2A6B;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;display:inline-flex;align-items:center}
.account-panel{margin:.75rem 0;padding:1rem;background:#FAF7F2;color:#1F1F24;border:2px solid #1F1F24;border-radius:0}
.account-panel[hidden]{display:none}
.account-panel h3{margin:0 0 .35rem}.account-panel p{margin:.25rem 0 .75rem}
.account-panel .account-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}
.account-panel form{display:grid;gap:.6rem;max-width:28rem}
.account-panel label{display:grid;gap:.25rem;font-weight:700}
.account-panel input[type=email],.account-panel input[type=password]{min-height:48px;padding:.6rem 1rem;font:inherit;font-size:1rem;color:#1F1F24;background:#FAF7F2;border:2px solid #1F1F24;border-radius:0;box-sizing:border-box;width:100%}
.account-panel .account-submit{min-height:48px;padding:10px 16px;background:transparent;color:#1F1F24;border:1px solid #1F1F24;border-radius:0;font:inherit;font-weight:700;cursor:pointer;justify-self:start}
.account-panel .account-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.account-panel .account-msg{min-height:1.2em;color:#1F1F24}.account-panel .account-msg.err{color:#2E2A6B;font-weight:700}
.account-panel input:focus-visible,.account-panel button:focus-visible,.calendar .account-bar :focus-visible{outline:3px solid #2E2A6B;outline-offset:2px}
.calendar .saved-missing{padding:.75rem 1rem;border:1px dashed #1F1F24;border-radius:0;margin:.5rem 0}

/* Calendar-date grouping on multi-day views. Square ink, locked palette. */
.calendar .cal-day{margin:0;padding:18px 0 6px;border-top:2px solid #1F1F24;font:700 16px/1.2 UI,Arial,sans-serif;letter-spacing:.04em;color:#1F1F24}
.calendar .event-list>.cal-day:first-child{border-top:0;padding-top:8px}
.calendar .cal-day-note{margin:0;padding:8px 0 0;font:700 11px/1.4 UI,Arial,sans-serif;color:#1F1F24}
