.inv-toolbar,.inv-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0}.inv-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.inv-tabs button{padding:10px 15px;border:1px solid var(--line,#ded7da);border-radius:10px;background:transparent}.inv-tabs button[aria-pressed=true]{background:#eed8e1}.inv-card{padding:22px;border:1px solid #ded7da;border-radius:14px;margin:18px 0;background:#fffdfb}.inv-card h2,.inv-card h3{margin-top:0}.inv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.inv-field{display:flex;flex-direction:column;gap:7px}.inv-checks{display:flex;gap:16px;flex-wrap:wrap;padding:12px 0}.inv-checks label{display:flex;gap:6px;align-items:center}.inv-checks input{width:auto;min-height:0}.inv-muted{color:#736b72;font-size:14px}.inv-code{font-size:17px;letter-spacing:1px;word-break:break-all}.inv-qr{background:white;padding:12px;width:190px;max-width:100%}.inv-qr svg{width:100%;height:auto}.inv-table{width:100%;border-collapse:collapse}.inv-table td,.inv-table th{text-align:left;border-bottom:1px solid #ded7da;padding:12px 8px;vertical-align:top;overflow-wrap:anywhere}.inv-table th{font-size:13px;color:#736b72}.inv-table-wrap{overflow:auto}.inv-table button{white-space:nowrap}.inv-reason{width:100%;min-height:70px}.inv-empty{padding:35px 0;color:#736b72}.inv-badge{display:inline-block;background:#e3eee8;border-radius:20px;padding:4px 10px;font-size:13px}.inv-share{display:grid;grid-template-columns:200px 1fr;gap:24px}.inv-filter input,.inv-filter select{max-width:230px}#dialog{max-width:94vw;width:min(660px,94vw);max-height:88vh;overflow:auto;border:1px solid #ded7da;border-radius:16px;padding:26px}#dialog::backdrop{background:#29232a66}#status:empty{display:none}button:disabled{cursor:not-allowed;opacity:.5}pre.inv-detail{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;background:#f6f2f0;padding:12px}@media(max-width:650px){.inv-share{grid-template-columns:1fr}.site-header{flex-wrap:wrap}.inv-table{min-width:540px}.inv-grid{grid-template-columns:1fr}}

.inv-card>h1{font-size:24px;line-height:1.4;font-weight:600;letter-spacing:0;margin-bottom:20px}
@media(max-width:650px){.inv-card>h1{font-size:22px}}

.rejo-invite .ri-pill.inv-invalid,.inv-badge.inv-invalid{background:#59565b;color:#fffdfc}
.inv-request-filter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end}
.inv-request-filter>label{display:flex;flex-direction:column;gap:4px;min-width:0;margin:0}
.inv-request-filter input,.inv-request-filter select,.inv-request-filter>button{width:100%;min-width:0;max-width:none;height:46px;margin:0}
.inv-request-filter>button{white-space:nowrap}
@media(max-width:900px){.inv-request-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.inv-request-filter>button{width:auto;justify-self:start}}
@media(max-width:650px){.inv-request-filter{grid-template-columns:minmax(0,1fr)}}

/* Keep the close control outside the scrolling body of every invitation dialog. */
#dialog{padding:0;overflow:hidden}
#dialog-content{max-height:calc(88vh - 2px);max-height:calc(88dvh - 2px);overflow:auto;padding:26px;overscroll-behavior:contain}
#dialog-content>h2:first-child,#dialog-content>.rejo-invite>h2{padding-right:48px}
#dialog .inv-dialog-close{position:absolute;top:12px;right:12px;z-index:2;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid var(--line,#ded7da);border-radius:50%;background:var(--surface,#fffdfb);color:var(--ink,#29232a);font:28px/1 sans-serif;cursor:pointer}
#dialog .inv-dialog-close:hover{background:#f1e9ed}
#dialog .inv-dialog-close:focus-visible{outline:3px solid #806373;outline-offset:2px}
@media(max-width:650px){#dialog-content{padding:20px}}

/* Explicit display format; the native calendar still supplies canonical ISO dates. */
.inv-date-field{position:relative;display:block;min-width:0;max-width:230px}
.inv-request-filter .inv-date-field{max-width:none}
.inv-date-field .inv-date-text{width:100%;padding-right:44px}
.inv-date-calendar{position:absolute;right:1px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;border-radius:8px}
.inv-date-calendar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;pointer-events:none}
.inv-date-calendar .inv-date-picker{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer}
.inv-date-picker::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer}
.inv-date-calendar:focus-within{outline:2px solid #806373;outline-offset:-2px}

/* Align date fields and plain filters by their input edges, not label height. */
#click-filter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}
#click-filter>label{display:flex;flex-direction:column;gap:4px;min-width:0;margin:0}
#click-filter .inv-date-field{max-width:none}
#click-filter>input,#click-filter>select,#click-filter>button,#click-filter .inv-date-text{width:100%;min-width:0;max-width:none;height:46px;margin:0}
#click-filter>button{width:auto;justify-self:start;white-space:nowrap}
@media(max-width:900px){#click-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){#click-filter{grid-template-columns:minmax(0,1fr)}}

.inv-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:18px}
.inv-page-summary{font-size:14px;color:#736b72}
.inv-page-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.inv-page-controls button{min-width:40px;min-height:40px;padding:8px 12px}
.inv-page-controls button[aria-current=page]{background:#eed8e1;color:#29232a;border-color:#c7a4b4;opacity:1}
@media(max-width:650px){.inv-pagination{align-items:flex-start;flex-direction:column}.inv-page-controls{gap:6px}}

[data-paged-list]{min-width:0;max-width:100%}
.inv-actions>[data-paged-list]{width:100%}
/* Align invitation title and status badge on the admin card toolbar. */
.inv-toolbar h3{margin:0}
