/* HELM Invitations: admin app (mobile first). HELM document identity. */
*{margin:0;padding:0;box-sizing:border-box}
html{background:#FCFBF9;-webkit-text-size-adjust:100%}
body{font-family:Plex,sans-serif;color:#3a322f;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;min-height:100svh}
.mono{font-family:PlexMono,monospace;text-transform:uppercase}
a{color:#AE2627}
.bar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:calc(env(safe-area-inset-top) + 12px) 18px 12px;background:#FCFBF9;border-bottom:1px solid rgba(37,21,27,.16)}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:#1A1613}
.brand .ic{width:24px;height:24px;color:#AE2627}
.brand .word{font-family:Wordmark,sans-serif;font-size:13px;letter-spacing:.06em}
.brand .mono{font-size:9px;letter-spacing:.2em;color:#9A8F88;margin-left:2px}
.bar nav{display:flex;gap:14px;align-items:center}
.bar nav a{font-family:PlexMono,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#5e534e;text-decoration:none}
.bar nav a:last-child{width:30px;height:30px;display:grid;place-items:center;background:#25151B;color:#F7F2EF;letter-spacing:.04em}
.wrap{max-width:640px;margin:0 auto;padding:22px 18px calc(env(safe-area-inset-bottom) + 40px)}
h1{font-weight:600;font-size:26px;line-height:1.12;letter-spacing:-.018em;color:#25151B}
h2{font-weight:600;font-size:14px;color:#25151B;border-top:2px solid #25151B;padding-top:12px;margin:28px 0 12px}
.sub{color:#5e534e;margin-top:6px}
.head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.back{display:inline-block;font-family:PlexMono,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:#9A8F88;margin-bottom:12px}
.flash{border-left:3px solid #AE2627;background:#F3EEEA;padding:10px 12px;margin-bottom:16px;color:#25151B;font-size:14px}
.empty,.hint{color:#7a6f69;font-size:13px}
.hint{margin-top:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:0 18px;font-family:PlexMono,monospace;font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:1.5px solid #AE2627;background:transparent;color:#AE2627;cursor:pointer;-webkit-appearance:none;border-radius:0}
.btn.fill{background:#AE2627;color:#FCFBF9}
.btn.sm{min-height:38px;padding:0 12px;font-size:10px}
.btn.warn{border-color:#9A8F88;color:#5e534e}
.form{display:flex;flex-direction:column;gap:14px;margin-top:16px}
.form label{display:flex;flex-direction:column;gap:6px;font-family:PlexMono,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#7a6f69}
.form label small{text-transform:none;letter-spacing:0;font-family:Plex,sans-serif;font-size:12px;color:#9A8F88}
.form label.ck{flex-direction:row;align-items:center;text-transform:none;letter-spacing:0;font-family:Plex,sans-serif;font-size:14px;color:#3a322f}
input,select{font:inherit;font-size:16px;font-family:Plex,sans-serif;text-transform:none;letter-spacing:0;color:#25151B;background:#fff;border:1px solid rgba(37,21,27,.25);
  border-radius:0;padding:11px 12px;width:100%;-webkit-appearance:none;min-height:46px}
select{background-image:linear-gradient(45deg,transparent 50%,#5e534e 50%),linear-gradient(135deg,#5e534e 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:32px}
input:focus,select:focus{outline:2px solid #AE2627;outline-offset:-1px}
input[type=checkbox]{width:18px;min-height:18px;height:18px;padding:0;-webkit-appearance:checkbox}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form h2{margin:10px 0 0}
.form > .btn{margin-top:8px}
details{border-top:1px solid rgba(37,21,27,.13);padding-top:12px}
summary{cursor:pointer;font-family:PlexMono,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#5e534e}
details .row{margin-top:12px}
.grow-row{position:relative;display:grid;gap:6px;padding:12px 40px 12px 0;border-bottom:1px solid rgba(37,21,27,.13)}
.grow-row .rm{position:absolute;right:0;top:12px;width:32px;height:32px;border:0;background:none;font-size:22px;color:#9A8F88;cursor:pointer}
/* dashboard */
.ev{display:grid;grid-template-columns:58px 1fr;gap:14px;padding:14px 0;border-top:1px solid rgba(37,21,27,.13);text-decoration:none;color:inherit}
.ev:last-child{border-bottom:1px solid rgba(37,21,27,.13)}
.ev .dt{border:1.5px solid #25151B;text-align:center;display:flex;flex-direction:column;align-self:start}
.ev .dt span:first-child{background:#AE2627;color:#FCFBF9;font-size:9px;letter-spacing:.18em;padding:3px 0 2px}
.ev .dt b{font-family:Plex,sans-serif;font-weight:600;font-size:22px;color:#25151B;line-height:1.2}
.ev .dt span:last-child{font-size:8.5px;letter-spacing:.14em;color:#5e534e;padding-bottom:4px}
.ev .t{font-weight:600;font-size:17px;color:#25151B;line-height:1.2}
.ev .m{font-size:13px;color:#5e534e;margin-top:3px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.chips.big{margin-top:14px}
.chip{font-family:PlexMono,monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;padding:4px 7px;background:rgba(37,21,27,.06);color:#5e534e}
.chip.ok{background:rgba(76,107,79,.12);color:#4c6b4f}.chip.no{background:rgba(174,38,39,.08);color:#AE2627}
.chip.re{background:#F3EEEA;color:#9a6a1f}.chip.x{background:#25151B;color:#F7F2EF}
/* guest list */
.gl{list-style:none}
.gl li{padding:14px 0;border-bottom:1px solid rgba(37,21,27,.13)}
.gtop{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center}
.tile{width:34px;height:34px;display:grid;place-items:center;background:#25151B;color:#F7F2EF;font-family:PlexMono,monospace;font-size:11px}
.gn b{display:block;font-weight:500;color:#25151B}.gn small,.vl small{display:block;font-size:12.5px;color:#7a6f69}
.st{font-family:PlexMono,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#9A8F88;text-align:right}
.st.yes{color:#4c6b4f}.st.no{color:#AE2627}.st small{display:block;font-size:9px;color:#9A8F88;letter-spacing:.04em}
.gact{display:flex;gap:8px;margin-top:10px;padding-left:46px;flex-wrap:wrap}
.gl .hint{padding-left:46px}
.acts{display:flex;flex-direction:column;gap:8px}
.acts form .btn,.acts .btn{width:100%}
.log{list-style:none;font-size:13px;color:#5e534e}
.log li{padding:6px 0;border-bottom:1px solid rgba(37,21,27,.08)}
.log span{font-family:PlexMono,monospace;font-size:10px;color:#9A8F88;margin-right:10px}
.vl{list-style:none}
.vl li{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(37,21,27,.13)}
.vl img{height:34px;width:auto;max-width:90px;object-fit:contain}
.vl b{font-weight:500;color:#25151B}
@media (min-width:700px){.wrap{padding-top:34px}h1{font-size:30px}.acts{flex-direction:row;flex-wrap:wrap}.acts form .btn,.acts .btn{width:auto}}
.gl .mk{padding-left:46px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:10px;font-size:12px;color:#7a6f69}
.gl .mk span{flex-basis:100%}
.gl .mk button{background:none;border:0;padding:4px 0;font:10px/1 PlexMono,monospace;letter-spacing:.12em;text-transform:uppercase;color:#25151B;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
@media (min-width:520px){.gl .mk span{flex-basis:auto}}
.gn .gnote{display:block;font-style:normal;font-size:13px;color:#5e534e;margin-top:2px}
.gl .mk input{flex:1 1 100%;font:14px Plex,system-ui,sans-serif;padding:10px 12px;border:1px solid #d9d2cc;background:#fff;border-radius:0;color:#25151B}
/* past invitations: washed out but still clickable */
.pasth{margin-top:36px}
.ev.past{opacity:.5;filter:grayscale(1);transition:opacity .15s}
.ev.past:hover,.ev.past:focus{opacity:.85}
.ev.past .dt{border-color:#9A8F88}
.pastnote{font-size:10px;letter-spacing:.16em;color:#9A8F88;margin:6px 0 -6px}
