/* NMR Waivers — inherits theme fonts; NSP red accents. */
.nmr-wv { --nmr-red: var(--wp--preset--color--nsp-red, #C31E39); --nmr-line: var(--wp--preset--color--line, #D9DDE2); max-width: 820px; }
.nmr-wv__title { margin: 0 0 .25rem; }
.nmr-wv__event { margin: 0 0 1rem; }
.nmr-wv__text {
	max-height: 22rem; overflow-y: auto; border: 1px solid var(--nmr-line); border-radius: 10px;
	padding: 1rem 1.25rem; background: #fafbfc; font-size: .95rem; margin: 1rem 0 1.5rem;
}
.nmr-wv__text:focus-visible { outline: 3px solid var(--nmr-red); outline-offset: 2px; }
.nmr-wv__form fieldset { border: 1px solid var(--nmr-line); border-radius: 10px; padding: 1rem 1.25rem 1.1rem; margin: 0 0 1.25rem; }
.nmr-wv__form legend { font-weight: 700; padding: 0 .4rem; }
.nmr-wv__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: .9rem; }
.nmr-wv__field { display: flex; flex-direction: column; gap: .3rem; margin: 0 0 .9rem; font-size: .95rem; }
.nmr-wv__field--narrow { max-width: 16rem; }
.nmr-wv__field b, .nmr-wv__check b, .nmr-wv__sig b { color: var(--nmr-red); }
.nmr-wv__form input[type="text"], .nmr-wv__form input[type="email"], .nmr-wv__form input[type="tel"],
.nmr-wv__form input[type="date"], .nmr-wv__form select {
	font: inherit; padding: .55rem .7rem; border: 1px solid #b9c0c8; border-radius: 6px; background: #fff; width: 100%; box-sizing: border-box;
}
.nmr-wv__form input:focus, .nmr-wv__form select:focus { outline: 2px solid var(--nmr-red); outline-offset: 1px; border-color: var(--nmr-red); }
.nmr-wv__check { display: flex; gap: .55rem; align-items: flex-start; margin: .5rem 0 .8rem; line-height: 1.4; }
.nmr-wv__check input { margin-top: .2rem; flex: none; width: 1.1rem; height: 1.1rem; accent-color: var(--nmr-red); }
.nmr-wv__who label { display: flex; gap: .5rem; align-items: center; margin: .35rem 0; }
.nmr-wv__who input { accent-color: var(--nmr-red); width: 1.1rem; height: 1.1rem; }
.nmr-wv__consent { margin: .25rem 0 .5rem 1.65rem; font-size: .85rem; color: #4b5563; }
.nmr-wv__consent summary { cursor: pointer; text-decoration: underline; }
.nmr-wv__sig { margin: .75rem 0 .9rem; }
.nmr-wv__sig > span { display: block; margin-bottom: .3rem; font-size: .95rem; }
.nmr-wv__pad { display: block; width: 100%; max-width: 600px; border: 1.5px dashed #8a939d; border-radius: 8px; background: #fff; cursor: crosshair; }
.nmr-wv__pad.is-missing { border-color: var(--nmr-red); border-style: solid; }
.nmr-wv__sigmsg { color: var(--nmr-red); margin: .35rem 0 0; font-weight: 600; }
.nmr-wv__clear { margin-top: .4rem; font: inherit; font-size: .85rem; background: none; border: 1px solid #b9c0c8; border-radius: 999px; padding: .25rem .8rem; cursor: pointer; }
.nmr-wv__date { color: #4b5563; font-size: .9rem; margin: 0; }
.nmr-wv__btn, .nmr-wv__form button[type="submit"] {
	display: inline-block; background: var(--nmr-red); color: #fff !important; border: 0; border-radius: 999px;
	padding: .75rem 1.6rem; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer;
}
.nmr-wv__btn:hover, .nmr-wv__form button[type="submit"]:hover { filter: brightness(.9); }
.nmr-wv__btn--ghost { background: transparent; color: var(--nmr-red) !important; border: 1.5px solid var(--nmr-red); }
.nmr-wv__list { list-style: none; padding: 0; display: grid; gap: .6rem; }
.nmr-wv__errors { border: 1px solid var(--nmr-red); border-left-width: 5px; background: #fff5f6; border-radius: 8px; padding: .75rem 1rem; margin: 0 0 1rem; }
.nmr-wv__errors ul { margin: .25rem 0 0 1.1rem; }
.nmr-wv--done { border: 1px solid var(--nmr-line); border-left: 5px solid #1a7f37; border-radius: 10px; padding: 1.25rem 1.5rem; }
.nmr-wv__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
[data-show][hidden] { display: none !important; }
.nmr-wv__note { background: #f2f7ff; border: 1px solid #c9dcf5; border-radius: 8px; padding: .65rem .9rem; font-size: .92rem; }
.nmr-wv__patrol select + .nmr-wv__other { margin-top: .45rem; }

/* Hold our look against site-wide form styles that load later (seen on nspnmr.org). */
.wp-site-blocks .nmr-wv__form button[type="submit"], .nmr-wv .nmr-wv__form button[type="submit"] { background: var(--nmr-red) !important; color: #fff !important; border: 0 !important; }
.wp-site-blocks .nmr-wv__form button[type="submit"]:hover { background: #9E1830 !important; }
.wp-site-blocks .nmr-wv__form input[type="text"], .wp-site-blocks .nmr-wv__form input[type="email"], .wp-site-blocks .nmr-wv__form input[type="tel"],
.wp-site-blocks .nmr-wv__form input[type="date"], .wp-site-blocks .nmr-wv__form select {
	border: 1px solid #8a939d !important; background: #fff !important; color: #111 !important; border-radius: 6px !important; padding: .55rem .7rem !important; min-height: 2.6rem;
}
.wp-site-blocks .nmr-wv__clear { background: #fff !important; color: #111 !important; border: 1px solid #8a939d !important; }

/* ---------- Events Dashboard ---------- */
.nmr-dash { --nmr-red: var(--wp--preset--color--nsp-red, #C31E39); --nmr-line: var(--wp--preset--color--line, #D9DDE2); }
.nmr-dash__bar { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; align-items: center; margin: 0 0 1.5rem; font-size: .95rem; }
.nmr-dash__bar select { font: inherit; padding: .45rem .6rem; border: 1px solid #8a939d !important; border-radius: 6px; background: #fff !important; max-width: 100%; }
.nmr-dash__toggle { display: inline-flex; gap: .4rem; align-items: center; }
.nmr-dash__toggle input { accent-color: var(--nmr-red); width: 1.05rem; height: 1.05rem; }
.nmr-dash__updated { color: #5f6368; font-size: .85rem; margin-left: auto; }
.nmr-dash__event { border: 1px solid var(--nmr-line); border-top: 4px solid var(--nmr-red); border-radius: 10px; padding: 1rem 1.25rem 1.1rem; margin: 0 0 1.75rem; background: #fff; }
.nmr-dash__head h2 { margin: 0; font-size: 1.3rem; }
.nmr-dash__head h2 a { text-decoration: none; color: inherit; }
.nmr-dash__when { margin: .15rem 0 .75rem; color: #5f6368; font-size: .92rem; }
.nmr-dash__stats { list-style: none; padding: 0; margin: 0 0 .9rem; display: flex; flex-wrap: wrap; gap: .5rem; font-size: .9rem; }
.nmr-dash__stats li { background: #f4f5f7; border-radius: 999px; padding: .3rem .8rem; }
.nmr-dash__stats li b { font-size: 1.05em; }
.nmr-dash__stats li.is-missing { background: #fde8eb; color: #8a1426; }
.nmr-dash__stats li.is-ok { background: #e6f4ea; color: #145c2c; }
.nmr-dash__stats li.is-na { color: #5f6368; }
.nmr-dash__stats .nmr-dash__actions { background: none; padding-left: 0; }
.nmr-dash__actions a { font-weight: 600; color: var(--nmr-red); }
.nmr-dash__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.nmr-dash__table { width: 100%; border-collapse: collapse; font-size: .88rem; min-width: 820px; }
.nmr-dash__table th { text-align: left; font-weight: 700; border-bottom: 2px solid var(--nmr-line); padding: .45rem .5rem; white-space: nowrap; background: #fafbfc; position: sticky; top: 0; }
.nmr-dash__table td { border-bottom: 1px solid var(--nmr-line); padding: .45rem .5rem; vertical-align: top; }
.nmr-dash__table tr.is-extra td:first-child { padding-left: 1.4rem; }
.nmr-dash__table tr.is-extra td:first-child::before { content: "↳ "; color: #8a939d; }
.nmr-dash__w { display: inline-block; border-radius: 999px; padding: .1rem .55rem; font-weight: 600; white-space: nowrap; }
.nmr-dash__w--ok { background: #e6f4ea; color: #145c2c; }
.nmr-dash__w--missing { background: #fde8eb; color: #8a1426; }
.nmr-dash__w--na { background: #f1f3f4; color: #5f6368; font-weight: 400; }
.nmr-dash__view { font-size: .82rem; }
.nmr-dash__empty { color: #5f6368; margin: .25rem 0 0; }
@media print { .nmr-dash__bar, .nmr-dash__actions, .nmr-dash__view { display: none !important; } .nmr-dash__table { min-width: 0; font-size: 10pt; } .nmr-dash__event { break-inside: avoid; } }
/* Dashboard uses the full page width (break out of the narrow text column). */
.nmr-dash { width: min(1280px, calc(100vw - 32px)); position: relative; left: 50%; transform: translateX(-50%); max-width: none !important; }
.nmr-dash__table { min-width: 960px; }
.nmr-dash__table td:nth-child(3), .nmr-dash__table td:nth-child(5) { white-space: nowrap; }
.nmr-dash__table td:nth-child(4) { min-width: 11rem; }

.nmr-wv__equip[hidden] { display: none !important; }
.nmr-dash__rem { color: #5f6368; white-space: nowrap; }

/* Dashboard: organizer & email settings */
.nmr-comm { margin: 0 0 1rem; border: 1px solid var(--nmr-line, #D9DDE2); border-radius: 8px; background: #fafbfc; }
.nmr-comm > summary { cursor: pointer; padding: .5rem .85rem; font-weight: 600; font-size: .9rem; color: var(--nmr-red, #C31E39); }
.nmr-comm form { padding: .25rem .85rem .85rem; }
.nmr-comm label { display: flex; flex-direction: column; gap: .25rem; font-size: .88rem; margin: 0 0 .6rem; }
.nmr-comm input[type="text"], .nmr-comm input[type="email"], .nmr-comm textarea { font: inherit; font-size: .9rem; padding: .45rem .6rem !important; border: 1px solid #8a939d !important; border-radius: 6px !important; background: #fff !important; width: 100%; box-sizing: border-box; }
.nmr-comm textarea { min-height: 11rem; line-height: 1.45; }
.nmr-comm__org { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .75rem; }
.nmr-comm__mails { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1rem; }
.nmr-comm__mail { border: 1px solid var(--nmr-line, #D9DDE2) !important; border-radius: 8px; padding: .6rem .8rem .8rem !important; background: #fff; margin: 0 !important; }
.nmr-comm__mail legend { font-weight: 700; padding: 0 .3rem; }
.nmr-comm__on { flex-direction: row !important; align-items: center; gap: .45rem !important; }
.nmr-comm__on input { accent-color: var(--nmr-red, #C31E39); width: 1.05rem; height: 1.05rem; }
.nmr-comm__on small { color: #5f6368; }
.nmr-comm__help { font-size: .82rem; color: #5f6368; margin: .2rem 0 .7rem; }
.nmr-comm__help code { font-size: .8rem; background: #eef0f2; padding: 0 .25rem; border-radius: 3px; }
.nmr-comm button { font: inherit; font-size: .88rem; border-radius: 999px; padding: .4rem 1rem; cursor: pointer; }
.nmr-comm .nmr-comm__save { background: var(--nmr-red, #C31E39) !important; color: #fff !important; border: 0 !important; font-weight: 700; }
.nmr-comm .nmr-comm__test { background: #fff !important; color: #111 !important; border: 1px solid #8a939d !important; }
.nmr-dash__saved { background: #e6f4ea; color: #145c2c; border-radius: 8px; padding: .4rem .75rem; font-size: .9rem; }

/* Event-day check-in */
.nmr-ci{font:600 13px/1.2 inherit;padding:6px 12px;border-radius:999px;border:1.5px solid #C31E39;background:#fff;color:#C31E39;cursor:pointer;white-space:nowrap;min-height:34px}
.nmr-ci:hover{background:#fdf0f2}
.nmr-ci.is-checked{background:#1e7b3a;border-color:#1e7b3a;color:#fff}
.nmr-ci.is-checked:hover{background:#17652f}
.nmr-ci:disabled{opacity:.6;cursor:wait}
.nmr-ci__cell{white-space:nowrap}

/* Event description editor */
.nmr-desc__bar{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0 0;padding:6px;border:1px solid #d6d6d6;border-bottom:0;border-radius:8px 8px 0 0;background:#f6f6f6}
.nmr-desc__bar button{font:600 13px/1 inherit;padding:6px 9px;border:1px solid #cfcfcf;border-radius:6px;background:#fff;color:#222;cursor:pointer;min-height:30px}
.nmr-desc__bar button:hover{background:#fdf0f2;border-color:#C31E39}
.nmr-desc__bar button:disabled{opacity:.4;cursor:default}
.nmr-desc__bar .is-on{background:#C31E39;color:#fff;border-color:#C31E39}
.nmr-desc__edit,.nmr-desc__html{display:block;width:100%;box-sizing:border-box;min-height:220px;max-height:60vh;overflow:auto;padding:12px 14px;border:1px solid #d6d6d6;border-radius:0 0 8px 8px;background:#fff;font:15px/1.5 inherit;color:#111}
.nmr-desc__edit[hidden],.nmr-desc__html[hidden]{display:none}
.nmr-desc__html{font:13px/1.45 ui-monospace,Menlo,Consolas,monospace}
.nmr-desc__edit:focus,.nmr-desc__html:focus{outline:2px solid #C31E39;outline-offset:1px}
.nmr-desc__edit a{color:#C31E39}
.nmr-desc__edit table{border-collapse:collapse}.nmr-desc__edit td,.nmr-desc__edit th{border:1px solid #ddd;padding:4px 6px}
.nmr-comm__days input{width:4.5em;display:inline-block;margin:0 4px}
.nmr-comm label.nmr-comm__days{display:flex;flex-direction:row;align-items:center;gap:6px;flex-wrap:wrap}
.nmr-comm label.nmr-comm__days input{width:4.5em !important;flex:0 0 auto;margin:0}
