:root {
  color-scheme:light;
  --canvas:#fff;
  --surface:#fff;
  --card:#fff;
  --ink:#26372f;
  --muted:#748078;
  --line:#e6eae3;
  --accent:#335d46;
  --system-color:#335d46;
  --system-color-ink:#fff;
  --sage:#e7eee3;
  --sand:#f3eadc;
  --blue:#e6edf2;
  --lilac:#eee8f3;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-synthesis:none;
  color:var(--ink);
  background:var(--canvas);
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%
}
* {
  box-sizing:border-box;
  scrollbar-width:none
}
*::-webkit-scrollbar { display:none; width:0; height:0; }
body {
  margin:0;
  font-size:15px;
  line-height:1.5
}
a {
  color:inherit;
  text-decoration:none
}
button,input {
  font:inherit
}
h1,h2,h3,p {
  margin:0
}
h1 {
  font-size:29px;
  line-height:1.14;
  letter-spacing:-1.1px;
  font-weight:650
}
h1,.section-heading h2,.account-settings>h2,.form-section-title { text-transform:uppercase; }
.page-heading h1:not(.event-home-title),.event-section-title h1,.error-state h1 { color:var(--system-color); }
.event-home-title { display:block; width:100%; max-width:none; margin-right:0; margin-left:0; color:var(--system-color); text-align:left; line-height:1.14; overflow-wrap:anywhere; }
.event-home-slogan { margin:3.5px 0 0; color:var(--system-color); font-size:26px; font-weight:400; line-height:1.2; text-align:center; overflow-wrap:anywhere; }
.event-home-slogan::after { content:""; display:block; width:100%; height:5px; margin-top:9px; background:var(--system-color); }
.event-home-logo { display:block; width:auto; max-width:50%; height:auto; max-height:min(20vh,140px); max-height:min(20dvh,140px); margin:0 0 12px; object-fit:contain; }
.event-home-heading { position:relative; }
.event-home-edit { position:absolute; z-index:1; top:-5px; right:-5px; display:grid; place-items:center; width:27px; height:27px; border-radius:7px; color:var(--system-color); }
.event-home-edit .icon { width:16px; height:16px; }
.event-logo-preview { display:block; width:100%; height:100%; object-fit:contain; }
.event-cover-preview { display:block; width:100%; height:100%; border:1px solid var(--line); border-radius:8px; object-fit:cover; }
.event-image-upload-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(38px,.45fr) 30px minmax(0,1fr); align-items:center; gap:6px; }
.event-image-preview-box { display:flex; width:100%; aspect-ratio:3/1; align-items:center; justify-content:center; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:#fff; }
.event-image-size { color:var(--muted); font-size:11px; text-align:center; white-space:nowrap; }
.event-image-upload-row .file-picker-control { min-height:36px; padding:6px 7px; }
.event-image-upload-row .file-picker-control .icon { display:none; }
.event-image-upload-row .file-picker-control span { text-align:center; font-size:11px; }
.event-asset-remove { width:28px; height:30px; padding:5px; border:0; background:transparent; color:#a82424; box-shadow:none; cursor:pointer; }
.event-asset-remove .icon { width:18px; height:18px; }
.event-asset-remove-placeholder { display:block; width:28px; height:30px; }
.event-asset-action-slot { display:grid; width:28px; height:30px; place-items:center; }
.event-upload-progress { width:17px; height:17px; border:2px solid #d7ded9; border-top-color:var(--system-color); border-radius:50%; animation:event-upload-spin .75s linear infinite; }
.event-upload-progress[hidden] { display:none; }
@keyframes event-upload-spin { to { transform:rotate(360deg); } }
.event-font-preview { color:#555; font:500 24px/1 Georgia,serif; }
.event-font-preview[hidden],.event-image-preview-box[hidden],.event-image-size[hidden] { display:none; }
.event-image-field { display:grid; gap:5px; }
.event-general-form .event-form-section-heading { display:flex; align-items:center; gap:9px; margin:0; color:#5d6c61; font-size:12px; line-height:1.35; font-weight:600; }
.event-form-section-heading::after { content:""; flex:1; height:1px; background:#d8ddda; }
.app-shell.event-themed :is(h1,h2,h3) { color:var(--system-color); }
.app-shell.event-themed h2.schedule-point-title { color:var(--system-color-ink,#fff); }
.event-themed .help-dialog-heading h2 { color:inherit; }
.event-themed .message-dialog .dialog-heading { background:var(--system-color); color:var(--system-color-ink); }
.event-themed .message-dialog .dialog-heading h2,.event-themed .message-dialog .dialog-heading>button { color:inherit; }
.event-colors-settings { display:grid; gap:6px; }
.event-colors-settings h2 { margin:0; font-size:12px; }
.event-colors-settings .check-field { min-height:30px; gap:7px; font-size:13px; }
.event-color-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:10px; width:100%; }
.event-color-fields>.field { width:100%; min-width:0; margin:0; }
.event-color-fields input[type=color]::-webkit-color-swatch-wrapper { padding:0; }
.event-color-fields input[type=color]::-webkit-color-swatch { border:0; border-radius:8px; }
.event-color-fields input[type=color]::-moz-color-swatch { border:0; border-radius:8px; }
.event-color-fields input:disabled { opacity:.45; }
.next-event-card { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0 0 24px; text-decoration:none; }
.next-event-destination,.next-event-countdown { min-width:0; min-height:0; aspect-ratio:1; padding:14px; border-radius:18px; overflow:hidden; }
.next-event-destination { position:relative; display:flex; flex-direction:column; gap:7px; background:var(--event-secondary,#f1f3f5); }
.next-event-label { display:block; width:fit-content; max-width:84%; padding:2px 0; border-bottom:2px solid var(--system-color); color:var(--system-color); font-size:15px; line-height:1.1; font-weight:650; }
.next-event-name { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; max-height:3.45em; overflow:hidden; color:var(--system-color); font-size:17px; line-height:1.15; letter-spacing:-.3px; text-transform:uppercase; text-wrap:pretty; overflow-wrap:anywhere; }
.next-event-participating { position:absolute; z-index:2; top:12px; right:12px; max-width:58%; padding:5px 8px; border-radius:999px; background:var(--system-color); color:var(--system-color-ink,#fff); font-size:10px; line-height:1; font-weight:650; text-align:center; }
.next-event-destination .next-event-name { width:100%; }
.next-event-destination time { font-size:11px; white-space:nowrap; }
.next-event-place { display:flex; align-items:flex-start; gap:4px; min-width:0; margin-top:auto; font-size:11px; line-height:1.3; color:var(--muted); }
.next-event-place>.icon { width:14px; height:14px; }
.next-event-place>span { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.next-event-countdown { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; color:var(--system-color); background:#edf0f5; background:color-mix(in srgb,var(--system-color) 12%,#fff); }
.next-event-countdown>.icon { position:absolute; top:13px; right:13px; width:19px; height:19px; opacity:.7; }
.next-event-countdown strong { font-size:48px; font-weight:650; line-height:1; letter-spacing:-2px; }
.next-event-countdown>span { font-size:11px; text-align:center; }
.next-event-card.has-cover { position:relative; display:block; width:100%; min-height:0; overflow:hidden; aspect-ratio:2.34375; border-radius:18px; background:#252a30; color:#fff; }
.next-event-cover { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.next-event-card.has-cover::after { position:absolute; inset:0; content:""; background:linear-gradient(90deg,color-mix(in srgb,var(--system-color) 66%,#000 34%) 0%,color-mix(in srgb,var(--system-color) 48%,#000 52%) 45%,transparent 100%); opacity:.9; pointer-events:none; }
.next-event-cover-content { position:absolute; z-index:1; inset:0; display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:6px; padding:12px; color:#fff; }
.next-event-cover-top { display:flex; align-items:center; justify-content:space-between; gap:6px; min-width:0; }
.next-event-cover-title { position:relative; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:4px; width:calc(66.666667% + 16px); max-width:100%; min-width:0; min-height:0; }
.next-event-subtitle { font-size:11px; line-height:1.3; overflow-wrap:anywhere; }
.next-event-cover-meta { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 8px; align-items:center; min-width:0; }
.next-event-card.has-cover .next-event-label { padding:4px 8px; border:0; border-radius:6px; background:var(--system-color); color:var(--system-color-ink,#fff); }
.next-event-card.has-cover .next-event-name { width:100%; max-width:none; max-height:3.45em; color:#fff; text-wrap:wrap; text-shadow:0 1px 4px #0009; }
.next-event-card.has-cover .next-event-participating { position:static; flex-shrink:0; max-width:none; background:var(--event-secondary,#fff); color:var(--system-color); }
.next-event-card.has-cover time,.next-event-card.has-cover .next-event-place { color:#fff; text-shadow:0 1px 3px #0009; }
.next-event-cover-meta time { grid-column:1; font-size:11px; line-height:1.2; }
.next-event-cover-meta .next-event-place { grid-column:1; margin:0; font-size:10px; }
.next-event-cover-meta .next-event-place>span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.next-event-cover-count { grid-column:2; grid-row:1 / span 2; display:inline-flex; align-items:center; gap:4px; padding:3px 7px; border-radius:8px; background:var(--event-secondary,#fff); color:var(--system-color); font-size:10px; }
.next-event-cover-count strong { font-size:14px; line-height:1; }
@media(max-width:359px) { .next-event-destination,.next-event-countdown { padding:9px; } .next-event-destination { gap:4px; } .next-event-name { font-size:14px; } .next-event-label { max-width:95%; font-size:14px; } .next-event-countdown strong { font-size:42px; } }
.account-settings>h2,.form-section-title { line-height:1.35; }
h2 {
  font-size:14px;
  font-weight:600
}
h3 {
  font-size:17px;
  line-height:1.25;
  font-weight:600;
  letter-spacing:-.25px
}
ul {
  padding:0;
  margin:0;
  list-style:none
}
[hidden] {
  display:none!important
}
:focus-visible {
  outline:3px solid #608b6a;
  outline-offset:4px;
  border-radius:6px
}
.app-shell > main:focus { outline:0; }
.icon {
  width:22px;
  height:22px;
  flex:none;
  vertical-align:middle
}
.app-shell {
  width:100%;
  max-width:430px;
  min-height:100vh;
  min-height:100dvh;
  margin:0 auto;
  background:var(--surface);
  position:relative;
  box-shadow:0 0 0 1px #26372f06
}
.brand-bar {
  position:sticky;
  top:0;
  z-index:20;
  flex-shrink:0;
  background:#f2f3f2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:calc(7.5px + env(safe-area-inset-top)) 24px 7.5px;
  min-width:0
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:31px;
  font-weight:750;
  font-size:14px;
  letter-spacing:2.3px
}
.brand-mark {
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  border-radius:9px;
  background:var(--ink);
  color:#fff
}
.brand-mark .icon {
  width:19px;
  height:19px;
  stroke-width:2
}
.demo-label {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  letter-spacing:.2px;
  color:var(--muted)
}
.demo-label>span {
  width:5px;
  height:5px;
  background:#9aab8e;
  border-radius:50%
}
main {
  padding:27px 24px calc(110px + env(safe-area-inset-bottom));
  min-width:0
}
.page-heading {
  margin-bottom:30px
}
.page-heading .eyebrow {
  margin-bottom:7px
}
.eyebrow {
  font-size:11px;
  line-height:1.5;
  color:var(--muted);
  font-weight:500;
  letter-spacing:.3px
}
.section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:13px
}
.section-heading h2 {
  color:#5d6c61;
  font-size:12px;
  line-height:1.35;
  font-weight:600
}
.count {
  display:inline-grid;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:7px;
  background:#e9ede5;
  color:#66745f;
  font-size:11px;
  font-variant-numeric:tabular-nums
}
.event-group+.event-group {
  margin-top:29px
}
.event-card {
  padding:19px 18px 0;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:18px;
  margin-bottom:12px;
  overflow-wrap:anywhere
}
.event-heading {
  display:flex;
  gap:14px;
  align-items:center
}
.date-tile {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:53px;
  height:59px;
  flex:none;
  border-radius:12px;
  line-height:1.15
}
.date-tile>span {
  font-size:24px;
  font-weight:600;
  letter-spacing:-1px
}
.date-tile>small {
  font-size:9px;
  font-weight:600;
  letter-spacing:1px;
  margin-top:4px
}
.tone-sage {
  background:var(--sage);
  color:#46603e
}
.tone-sand {
  background:var(--sand);
  color:#86683e
}
.tone-blue {
  background:var(--blue);
  color:#516d81
}
.tone-lilac {
  background:var(--lilac);
  color:#776183
}
.event-summary {
  min-width:0
}
.event-summary h3 {
  margin-top:4px
}
.event-details {
  margin:17px 0 16px;
  font-size:12px
}
.event-details p+p {
  margin-top:5px
}
.event-details .icon {
  width:13px;
  height:13px;
  margin-right:5px
}
.muted {
  color:var(--muted)
}
.event-footer {
  border-top:1px solid #eff1ed;
  padding:11px 0 12px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  font-size:10px
}
.event-status {
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#617657
}
.event-status>span {
  width:5px;
  height:5px;
  background:#95ab83;
  border-radius:50%
}
.demo-footnote {
  text-align:center;
  font-size:10px;
  color:#89928a;
  margin-top:25px;
  letter-spacing:.15px
}
.bottom-nav {
  position:fixed;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:100%;
  max-width:430px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  background:#f2f3f2;
  border-top:1px solid var(--line);
  padding:3px 12px calc(4px + env(safe-area-inset-bottom));
  z-index:10
}
.nav-item {
  min-height:44px;
  line-height:1.3;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:2px;
  color:#7d877e;
  font-size:10px;
  font-weight:500;
  min-width:0;
  overflow-wrap:anywhere
}
.nav-icon {
  display:grid;
  place-items:center;
  min-width:47px;
  height:21px;
  border-radius:10px
}
.nav-item .icon {
  width:21px;
  height:21px
}
.nav-item.is-active {
  color:var(--accent)
}
.nav-item.is-active .nav-icon {
  background:#e8eee2
}
.bottom-nav .nav-icon,.bottom-nav .nav-icon .icon { color:var(--system-color); }
.bottom-nav .nav-item:hover .nav-icon,.bottom-nav .nav-item:active .nav-icon,.bottom-nav .nav-item:focus-visible .nav-icon,.bottom-nav .nav-item.is-active .nav-icon { color:var(--system-color); background:transparent; }
.bottom-nav .events-home-nav .nav-icon { width:100%; height:31.5px; }
.bottom-nav .events-home-mark { width:31.5px; height:31.5px; font-size:22.5px; }
.search-field {
  display:flex;
  align-items:center;
  gap:10px;
  background:#eef1e9;
  border:1px solid transparent;
  border-radius:12px;
  padding:0 14px;
  min-height:47px;
  margin-bottom:29px;
  color:#87917f
}
.search-field:focus-within {
  border-color:#8b9f80
}
.search-field input {
  min-width:0;
  width:100%;
  background:transparent;
  border:0;
  outline:0;
  color:var(--ink);
  padding:12px 0;
  font-size:16px
}
.search-field input::placeholder {
  color:#899282
}
.search-field input:focus-visible {
  outline:0
}
.search-field .icon {
  width:18px;
  height:18px
}
.contact-list {
  list-style:none;
  margin:0;
  padding:0
}
.contact-row {
  display:block;
  padding:0;
  min-width:0;
  margin-bottom:7px;
  border-radius:10px;
  background:#eef0ef
}
.contact-row+.contact-row {
  border-top:0
}
.avatar {
  display:grid;
  place-items:center;
  width:43px;
  height:43px;
  flex:none;
  border-radius:14px;
  font-size:12px;
  font-weight:600
}
.contact-text {
  padding:12px 14px;
  min-width:0;
  overflow-wrap:anywhere
}
.team-member .contact-text,.team-pending-list .contact-text { display:block; }
.contact-link .contact-text { padding:12px 14px; }
.settings-fields { display:grid; gap:9px; margin-bottom:28px; }
.settings-row { display:grid; grid-template-columns:minmax(0,1fr) 110px; align-items:center; gap:12px; min-height:44px; font-size:13px; }
.settings-row input,.settings-row select { width:100%; min-height:38px; border:1px solid #aeb7b1; border-radius:8px; background:white; padding:5px; color:var(--ink); font:inherit; }
.settings-row input[type=color] { width:70px; justify-self:end; }
.contact-create-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.danger-link { color:#96583e; }
.app-shell input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=search]),.app-shell textarea,.app-shell select { border:1px solid #99a49e; }
.search-field { border-color:#99a49e; }
.app-shell input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=search]):focus,.app-shell textarea:focus,.app-shell select:focus,.search-field:focus-within { outline:0; outline-offset:0; border-color:#435d4c; box-shadow:none; }
.contact-text h2 {
  font-size:14px
}
.contact-text p {
  font-size:12px;
  color:var(--muted);
  margin-top:4px
}
.empty-state {
  text-align:center;
  padding:44px 12px;
  overflow-wrap:anywhere
}
.empty-state h2 {
  font-size:16px;
  margin-top:16px
}
.empty-state p {
  font-size:13px;
  color:var(--muted);
  margin-top:6px
}
.empty-icon {
  display:inline-grid;
  place-items:center;
  width:49px;
  height:49px;
  border-radius:16px;
  background:var(--sage);
  color:#647d58
}
.profile-link {
  display:flex;
  align-items:center;
  gap:13px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:17px;
  padding:20px 17px;
  min-height:84px
}
.profile-link-text {
  display:flex;
  flex:1;
  flex-direction:column;
  min-width:0;
  overflow-wrap:anywhere
}
.profile-link-text strong {
  font-size:15px;
  font-weight:600
}
.profile-link-text>span {
  font-size:12px;
  color:var(--muted);
  margin-top:4px
}
.profile-link>.icon {
  width:17px;
  height:17px;
  color:#9aa493
}
.install-section {
  margin-top:33px
}
.install-help {
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff
}
.install-help summary {
  display:flex;
  align-items:center;
  gap:12px;
  min-height:60px;
  padding:15px 17px;
  cursor:pointer;
  font-size:13px;
  list-style:none
}
.install-help summary::-webkit-details-marker {
  display:none
}
.install-help summary>span {
  flex:1;
  min-width:0;
  overflow-wrap:anywhere
}
.install-help summary>.icon {
  width:19px;
  height:19px;
  color:#718568
}
.install-help summary>.icon:last-child {
  width:15px;
  height:15px;
  color:#9aa493
}
.install-help[open] summary>.icon:last-child {
  transform:rotate(90deg)
}
.install-help>div {
  border-top:1px solid var(--line);
  padding:16px 17px;
  font-size:12px;
  color:var(--muted);
  overflow-wrap:anywhere
}
.install-help p+p {
  margin-top:14px
}
.install-help strong {
  font-weight:600;
  color:var(--ink)
}
.profile-header {
  text-align:center;
  margin:10px 0 28px
}
.avatar-large {
  width:76px;
  height:76px;
  border-radius:24px;
  font-size:22px;
  margin:0 auto 16px
}
.profile-header h2 {
  font-size:20px;
  letter-spacing:-.5px
}
.profile-header p {
  margin-top:5px;
  font-size:12px
}
.detail-list {
  margin:0;
  border:1px solid var(--line);
  border-radius:17px;
  background:#fff;
  padding:0 18px
}
.detail-list>div {
  padding:16px 0
}
.detail-list>div+div {
  border-top:1px solid #edf0e9
}
.detail-list dt {
  font-size:11px;
  color:var(--muted)
}
.detail-list dd {
  margin:5px 0 0;
  font-size:14px;
  overflow-wrap:anywhere
}
.connection-note {
  display:flex;
  align-items:center;
  gap:5px;
  flex:none;
  min-width:0;
  max-width:45%;
  margin:0 0 0 auto;
  padding:0;
  color:#c62828;
  font-size:10px;
  line-height:1.2
}
.connection-note[hidden] { display:none; }
.connection-icon { display:inline-flex; flex:none; color:#d32626; }
.connection-note:not(.is-offline) .connection-icon { display:none; }
.connection-icon .icon { width:20px; height:20px; stroke-width:2; }
.connection-message { min-width:0; overflow-wrap:anywhere; }
.connection-note.is-offline:not(:has(a,button)) .connection-message { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.connection-note a { color:inherit; }
.connection-note button { margin-left:auto; border:0; background:none; color:inherit; padding:0 4px; font-size:18px; cursor:pointer; }
.installed-note {
  font-size:12px;
  color:var(--muted);
  margin-top:14px
}
.error-state {
  padding-top:85px
}
.error-state h1 {
  font-size:25px;
  margin-top:12px
}
.primary-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 18px;
  margin-top:24px;
  background:var(--accent);
  color:#fff;
  border-radius:12px;
  font-size:13px
}
.skip-link {
  position:fixed;
  left:12px;
  top:-70px;
  z-index:20;
  padding:12px;
  background:var(--ink);
  color:#fff;
  border-radius:8px
}
.skip-link:focus {
  top:12px
}
body.is-navigating main {
  opacity:.6
}
body.is-navigating .brand-mark {
  animation:pulse .7s ease-in-out infinite alternate
}
.offline-icon {
  width:36px;
  height:36px;
  color:var(--muted)
}
@keyframes pulse {
  to {
    opacity:.45
  }
}
@media(min-width:600px) {
  .app-shell {
    margin-top:24px;
    min-height:calc(100dvh - 24px);
    border-radius:22px 22px 0 0
  }
  .brand-bar {
    padding-top:7.5px
  }
}
@media(max-width:359px) {
  .brand-bar {
    padding-left:18px;
    padding-right:18px
  }
  main {
    padding-left:18px;
    padding-right:18px
  }
  h1 {
    font-size:27px
  }
  .event-card {
    padding-left:14px;
    padding-right:14px
  }
  .event-heading {
    gap:10px
  }
  h3 {
    font-size:16px
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    animation:none!important;
    scroll-behavior:auto!important
  }
}
@media(hover:hover) {
  .nav-item:hover {
    color:var(--accent)
  }
  .profile-link:hover {
    border-color:#b7c5ad
  }
  .brand:hover {
    opacity:.8
  }
}
.auth-form {
  display: grid;
  gap: 18px;
}
.contact-profile { gap:9px; }
.app-shell:has(.contact-photo-field) .page-heading { margin-bottom:10px; }
.contact-profile .field { gap:3px; }
.contact-profile .field input { min-height:40px; padding:8px 10px; border-radius:9px; }
.contact-profile .field textarea { min-height:72px; padding:8px 10px; border-radius:9px; }
.contact-profile .save-state { min-height:16px; margin:0; font-size:12px; }
.contact-photo-field { display:grid; gap:3px; margin:0 0 8px; }
.contact-photo-field>span { color:var(--muted); font-size:12px; }
.contact-photo-field .participant-photo-row { margin:0; min-height:44px; }
.contact-photo-field .event-person-photo { width:52px; height:52px; margin:0; object-fit:cover; border-radius:10px; }
.app-shell:has(>.bottom-nav.events-only-nav)>main { padding-bottom:82px; }
.bottom-nav.events-only-nav { position:fixed; z-index:30; left:50%; bottom:0; transform:translateX(-50%); width:100%; max-width:430px; box-sizing:border-box; border:0; background:transparent; padding:7px 24px calc(7px + env(safe-area-inset-bottom)); }
.field {
  display: grid;
  gap: 7px;
  min-width: 0;
}
.field > span {
  color: var(--muted);
  font-size: 12px;
}
.field input {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px 14px;
  color: var(--ink);
  background: var(--card);
  font-size: 16px;
}
.field input:focus-visible {
  outline-offset: 1px;
}
.field-hint {
  font-size: 12px;
  color: var(--muted);
  margin-top: -10px;
}
.primary-button, .secondary-button {
  min-height: 48px;
  padding: 12px 17px;
  border: 1px solid transparent;
  border-radius: 12px;
  cursor: pointer;
  font-size: 14px;
}
.danger-button,.neutral-button { min-height:48px; padding:12px 17px; border:1px solid transparent; border-radius:12px; cursor:pointer; font-size:14px; }
.danger-button { background:#c43d3d; color:#fff; }
.neutral-button { background:#eef0ef; color:var(--ink); border-color:#d6dbd7; }
.primary-button {
  background: var(--accent);
  color: white;
}
.system-color-button { border:1px solid var(--system-color); background:var(--system-color); color:var(--system-color-ink); }
.primary-button:disabled {
  background: #dce2d7;
  color: #71816a;
  cursor: default;
}
.secondary-button {
  background: var(--card);
  color: var(--ink);
  border-color: var(--line);
}
.auth-links {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-top: 17px;
}
.auth-links a, .auth-text-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 12px;
  color: var(--accent);
}
.auth-text-link {
  margin-top: 12px;
}
.event-management-action {
  background: #eef0ef;
  border-color: #d6dbd7;
  color: var(--ink);
}
.form-message {
  padding: 12px 14px;
  background: var(--sage);
  color: var(--ink);
  border-radius: 12px;
  margin-bottom: 20px;
  font-size: 13px;
  overflow-wrap: anywhere;
}
.form-message.is-error {
  background: #f7eae4;
  color: #96583e;
}
.auth-copy {
  font-size: 14px;
  color: var(--muted);
  margin-bottom: 25px;
  overflow-wrap: anywhere;
}
.profile-email {
  overflow-wrap: anywhere;
  margin-bottom: 28px;
}
.verified-label {
  display: block;
  font-size: 11px;
  color: #617657;
  margin-top: 4px;
}
.save-state {
  min-height: 0;
  font-size: 12px;
  color: var(--muted);
  overflow-wrap: anywhere;
}
.save-state.is-error {
  color: #96583e;
}

/* Phone hardware details appear only around the desktop preview. */
.device-status, .device-home { display:none; }
.bottom-nav{display:none!important}
.bottom-nav.account-only-nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:#fff;padding:7px 24px calc(7px + env(safe-area-inset-bottom));}
.account-only-nav>a,.account-only-nav>button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:40px;padding:8px 12px;}
.bottom-nav.events-only-nav{display:grid!important;grid-template-columns:minmax(0,1fr);padding:7px 24px calc(7px + env(safe-area-inset-bottom));}
.events-only-nav .neutral-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:40px;padding:8px 12px;}
.settings-only-nav>button{display:flex;align-items:center;justify-content:center;width:100%;min-height:40px;padding:8px 12px;}
@media (max-width: 599px), (hover: none), (pointer: coarse) {
  .app-shell, .bottom-nav { max-width: none; }
  .app-shell { width: 100%; margin: 0; border-radius: 0; min-height: 100dvh; box-shadow: none; }
}
@media (min-width: 600px) and (hover: hover) and (pointer: fine) {
  body {
    display: grid;
    place-items: center;
    min-height: 100vh;
    min-height: 100dvh;
    padding: 24px;
    background: #fff;
  }
  .app-shell {
    display: flex;
    flex-direction: column;
    width: clamp(338px, calc((100dvh - 48px) * 420 / 892), 420px);
    max-width: none;
    min-height: 0;
    height: auto;
    aspect-ratio: 420 / 892;
    margin: 0;
    border: 6.3px solid #15191b;
    border-radius: 58px;
    overflow: hidden;
    box-shadow: 0 0 0 1px #a4acaf, 0 0 0 3px #333a3d, 0 27px 62px #17231b28, 0 5px 12px #17231b1a;
    isolation: isolate;
  }
  .app-shell>.device-status{position:relative;z-index:21;display:flex;flex:none;height:34px;align-items:center;justify-content:space-between;padding:5px 22px 0;background:var(--surface);color:var(--ink);font-size:12px;font-weight:600;line-height:1}
  .device-time{min-width:44px;font-variant-numeric:tabular-nums}
  .dynamic-island{position:absolute;left:50%;top:8px;width:86px;height:23px;transform:translateX(-50%);border-radius:14px;background:#080909}
  .device-indicators{width:55px;height:14px;flex:none}
  .app-shell>.device-home{position:relative;z-index:21;display:grid;flex:none;height:20px;place-items:center;background:var(--surface)}
  .device-home>span{width:108px;height:4px;border-radius:4px;background:#17191a}
  .brand-bar { flex-shrink: 0; height:47px; min-height:47px; align-items:center; justify-content:space-between; padding:0 23px; }
  .app-shell > main {
    flex: 1;
    min-height: 0;
    padding: 25px 23px 30px;
    overflow-y: auto;
    overflow-x: clip;
    overscroll-behavior: contain;
    scrollbar-width: none;
    scrollbar-color: #c6cfc0 transparent;
  }
  .app-shell > main:has(.chat-compose) { padding-bottom:5px; }
  .app-shell > main::-webkit-scrollbar { width: 4px; }
  .app-shell > main::-webkit-scrollbar-thumb { background: #c6cfc0; border-radius: 5px; }
  .bottom-nav {
    position: static;
    flex-shrink: 0;
    max-width: none;
    left: auto;
    transform: none;
    padding: 2px 12px 1px;
  }
  .app-shell:has(>.bottom-nav.events-only-nav)>main { padding-bottom:85px; }
  .bottom-nav.events-only-nav { position:absolute; left:0; bottom:0; transform:none; width:100%; max-width:none; padding:7px 17px 14px; }
}

/* Shared directory and compact forms. */
.contact-link { display: flex; align-items: center; gap: 13px; width: 100%; min-height: 44px; }
.compact-action { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; color: var(--accent); }
button.compact-action { border:0; padding:0; background:transparent; text-align:left; font-family:inherit; cursor:pointer; }
.field textarea { width: 100%; min-width: 0; padding: 12px 14px; border: 1px solid #99a49e; border-radius: 12px; background: var(--card); color: var(--ink); font: inherit; resize: vertical; }
.form-details summary { display: flex; align-items: center; min-height: 48px; cursor: pointer; font-size: 14px; color: var(--accent); }
.form-details[open] > summary { margin-bottom: 12px; }
.form-details .field-hint { margin: 0 0 14px; }
.danger-zone, .owner-link { margin-top: 24px; }
.danger-zone summary { color: #96583e; }
.pager { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 16px; margin-top: 20px; font-size: 13px; }
.pager a { display: inline-flex; align-items: center; min-height: 44px; }

.field select { width:100%; min-width:0; min-height:48px; border:1px solid var(--line); border-radius:12px; padding:10px 12px; background:var(--card); color:var(--ink); font-size:16px; }
.field input[type=color] { padding:5px; }
.app-shell .event-colors-settings .event-color-fields .field input[type=color] { display:block; width:100%; min-height:40px; height:40px; margin:0; padding:0; border:0; border-radius:8px; background:transparent; overflow:hidden; appearance:none; -webkit-appearance:none; cursor:pointer; }
.workspace-links { display:grid; gap:1px; margin:24px 0; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:var(--line); }
.workspace-links a { display:flex; align-items:center; min-height:48px; padding:12px 16px; background:var(--card); font-size:14px; overflow-wrap:anywhere; }
.event-copy { margin:18px 0; white-space:normal; overflow-wrap:anywhere; font-size:14px; line-height:1.6; }
.member-item { padding:18px; overflow-wrap:anywhere; }
.member-item h2 { font-size:15px; }
.member-item .muted { font-size:12px; margin-top:6px; }
.event-section-heading::after { content:''; flex:1; border-top:1px solid #d8ddda; }
.event-bar { position:relative; margin-bottom:7px; border-radius:10px; background:color-mix(in srgb,var(--system-color) 20%,#fff); color:var(--ink); overflow-wrap:anywhere; }
.event-bar:has(>.event-bar-edit) .event-bar-content>strong { padding-right:32px; }
.event-bar-edit { position:absolute; z-index:1; top:4px; right:4px; display:flex; align-items:center; justify-content:center; width:28px; height:28px; }
.event-bar-edit .icon { width:18px; height:18px; }
.event-bar-content { display:grid; gap:4px; padding:12px 14px; }
.event-bar-content strong { font-size:15px; font-weight:650; }
.event-bar-subtitle { font-size:11px; line-height:1.3; }
.event-bar:has(>.event-bar-edit) .event-bar-subtitle { padding-right:32px; }
.event-meta { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.event-bar .event-time { flex:1; min-width:0; }
.event-bar .event-time,.event-bar-status { font-size:11px; line-height:1.5; }
.event-bar-status { max-width:48%; text-align:right; }
.event-bar-status.is-icon { display:flex; flex:none; max-width:none; }
.event-bar-status .icon { width:20px; height:20px; }
.event-bar>a:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:10px; }
.list-section { margin-top:28px; }
.check-field { display:flex; align-items:center; gap:12px; min-height:48px; font-size:14px; }
.check-field input { width:20px; height:20px; flex:none; accent-color:var(--accent); }
.notification-link { display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; position:relative; }
.notification-dot { position:absolute; top:0; right:0; min-width:17px; height:17px; padding:2px 4px; border-radius:9px; background:var(--accent); color:white; font-size:10px; text-align:center; }

.account-popover { margin-left:auto; display:flex; align-items:center; gap:4px; }
.connection-note:not([hidden]) + .account-popover { margin-left:0; }
.message-bell .icon { animation:message-bell-blink 1.2s ease-in-out infinite; }
@keyframes message-bell-blink { 0%,100% { opacity:1; } 50% { opacity:.2; } }
@media(prefers-reduced-motion:reduce) { .message-bell .icon { animation:none; } }
.account-menu-trigger { display:flex; align-items:center; justify-content:center; width:36px; min-height:31px; padding:0; border:0; border-radius:10px; background:transparent; color:var(--ink); cursor:pointer; }
.account-menu-trigger .icon { width:22px; height:22px; flex:none; }
.account-menu-trigger:hover,.account-menu-trigger:focus-visible { background:var(--sage); outline:0; }
.more-menu[hidden] { display:none!important; }
.more-menu.is-fallback-open { display:grid; position:fixed; }
.more-menu[popover] { position:fixed; inset:auto; margin:0; padding:7px; width:min(270px,calc(100vw - 32px)); border:1px solid var(--line); border-radius:16px; background:#fff; color:var(--ink); box-shadow:0 12px 38px #17231b24; }
.account-menu[popover] { top:calc(env(safe-area-inset-top) + 70px); right:16px; width:190px; padding:5px; }
.account-menu form { margin-top:5px; padding-top:5px; border-top:1px solid var(--line); }
.more-menu a,.more-menu button { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:43px; padding:9px 12px; border:0; border-radius:10px; background:transparent; color:inherit; font:inherit; font-size:14px; text-align:left; cursor:pointer; }
.more-menu a:hover,.more-menu a:focus-visible,.more-menu button:hover,.more-menu button:focus-visible { background:var(--sage); outline:0; }
.account-menu a,.account-menu button { min-height:32px; padding:5px 10px; }
.account-menu .account-menu-events { margin-top:5px; margin-bottom:4px; background:#e5e7e6; border-radius:6px; }
.menu-count { min-width:19px; padding:1px 5px; border-radius:10px; background:var(--accent); color:white; text-align:center; font-size:11px; }
.screen-submenu[popover] { width:max-content; max-width:calc(100vw - 32px); max-height:calc(100dvh - 120px); overflow-y:auto; overscroll-behavior:contain; bottom:calc(83px + env(safe-area-inset-bottom)); right:16px; }
.screen-submenu a,.screen-submenu button { min-height:32px; padding:5.5px 12px; }
.screen-submenu .submenu-divider { height:0; margin:5px 10px; border:0; border-top:1px solid var(--line); }
.event-manage-heading { display:grid; gap:1.5px; margin-bottom:20px; }
.event-menu-hint { position:fixed; z-index:9; bottom:calc(52px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:100%; max-width:430px; margin:0; padding:7px 12px; background:#fff; color:#a4aaa6; font-size:11px; line-height:1.3; text-align:center; }
.app-shell:has(>.event-menu-hint)>main { padding-bottom:calc(145px + env(safe-area-inset-bottom)); }
.event-info-edit-dock { position:fixed; z-index:9; bottom:calc(52px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:100%; max-width:430px; padding:7px 24px; background:#fff; }
.event-info-edit-dock .primary-button { display:block; width:100%; min-height:40px; text-align:center; text-decoration:none; }
.event-info-fields { margin:0; font-size:13px; }
.event-info-fields>div { display:grid; grid-template-columns:112px minmax(0,1fr); gap:8px; padding:4px 0; align-items:start; }
.event-info-fields dt,.event-info-fields dd { min-width:0; margin:0; text-align:left; overflow-wrap:anywhere; }
.event-info-fields dt { color:var(--muted); }
.event-info-fields dd { justify-self:start; }
.event-info-hotel { margin-top:18px; }
.event-info-hotel dd { display:flex; align-items:center; justify-self:stretch; gap:8px; }
.event-info-room-edit { display:inline-flex; flex:none; align-items:center; justify-content:center; width:30px; height:30px; margin:-4px 0; padding:6px; border:0; border-radius:8px; background:transparent; color:var(--system-color); cursor:pointer; }
.event-info-room-edit .icon { width:16px; height:16px; }
.event-info-room-edit:hover,.event-info-room-edit:focus-visible { background:#eef0ef; outline:0; }
.event-info-extra { margin-top:12px; }
.app-shell:has(>.event-info-edit-dock)>main { padding-bottom:calc(115px + env(safe-area-inset-bottom)); }
@media (min-width:600px) and (hover:hover) and (pointer:fine) {
 .event-info-edit-dock { position:static; flex-shrink:0; transform:none; max-width:none; padding:7px 23px; }
 .app-shell:has(>.event-info-edit-dock)>main { padding-bottom:5px; }
}
.message-compose-dock { position:fixed; z-index:9; bottom:calc(52px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:100%; max-width:430px; padding:7px 24px; background:#fff; }
.message-compose-dock button { display:block; width:100%; min-height:40px; padding:8px 12px; }
.events-create-dock { bottom:env(safe-area-inset-bottom); }
.events-create-dock .primary-button { display:flex; width:100%; min-height:40px; padding:8px 12px; }
.app-shell:has(>.message-compose-dock)>main { padding-bottom:calc(115px + env(safe-area-inset-bottom)); }
@media(min-width:600px) and (hover:hover) and (pointer:fine) {
 .message-compose-dock { position:static; flex-shrink:0; transform:none; max-width:none; padding:7px 23px; }
 .app-shell:has(>.message-compose-dock)>main { padding-bottom:30px; }
}
@media (min-width:600px) and (hover:hover) and (pointer:fine) {
  .event-menu-hint { position:static; flex-shrink:0; transform:none; max-width:none; }
  .app-shell:has(>.event-menu-hint)>main { padding-bottom:30px; }
}
.event-manage-name { margin:0; font-size:15px; line-height:1.2; font-weight:400; text-transform:none; }
.event-manage-name-link { color:inherit; text-decoration:none; }
.event-manage-heading h1 { margin:0; }
.event-section-title { display:block; min-width:0; width:100%; font-size:29px; }
.event-section-title.participant-card-title { display:flex; align-items:center; gap:8px; }
.participant-card-title h1 { flex:1; min-width:0; }
.participant-heading-edit { display:grid; flex:none; place-items:center; width:29px; height:29px; margin:0; padding:5px; border:0; border-radius:7px; background:transparent; color:var(--system-color); cursor:pointer; }
.participant-heading-edit .icon { width:18px; height:18px; }
.participant-heading-edit:hover,.participant-heading-edit:focus-visible { color:var(--system-color); background:transparent; outline:0; }
.event-manage-name-row { display:flex; align-items:center; gap:8px; min-width:0; }
.event-manage-name-row .event-manage-name { min-width:0; }
.event-manage-name-row .event-inline-edit { margin:0; }
.event-manage-name-row .event-inline-edit>summary { width:24px; height:18px; min-height:18px; margin:0; padding:0; }
.event-manage-name-row .event-inline-edit>summary .icon { width:16px; height:16px; }
.event-info-value { display:grid; grid-template-columns:minmax(0,1fr) 40px; align-items:start; gap:8px; margin:0 0 10px; }
.event-info-value>p { grid-column:1; margin:0; }
.event-info-value>details { grid-column:2; grid-row:1; justify-self:end; }
.event-info-value>details[open] { grid-column:1/-1; grid-row:2; justify-self:stretch; }
.event-section-title h1 { min-width:0; font-size:inherit; overflow-wrap:anywhere; }
.event-main-subtitle { margin:0 0 2px; color:var(--system-color); font-size:14px; line-height:1.25; overflow-wrap:anywhere; }
.event-section-settings { position:fixed; z-index:19; top:calc(46px + env(safe-area-inset-top)); right:8px; display:flex; align-items:center; gap:4px; }
.event-section-disabled-label { color:#c62828; font-size:12px; line-height:1; }
.event-section-settings-button { display:flex; align-items:center; justify-content:center; width:34px; height:34px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--system-color); cursor:pointer; }
.event-section-settings-button .icon { width:18px; height:18px; }
.event-section-checkbox { display:flex; align-items:center; justify-content:flex-end; width:44px; min-height:1em; height:1em; cursor:pointer; }
.event-section-checkbox input { width:1em; height:1em; margin:0; font:inherit; accent-color:var(--accent); cursor:pointer; }
.account-dialog.event-section-settings-dialog { width:min(310px,calc(100vw - 32px)); padding:12px 14px; font-size:14px; }
.event-section-settings-dialog .dialog-heading { margin-bottom:6px; }
.event-section-settings-dialog .dialog-heading>button { width:28px; height:28px; }
.event-section-settings-dialog form { display:grid; gap:3px; }
.event-section-settings-dialog .check-field { min-height:28px; margin:0; padding:1px 0; gap:8px; font-size:13px; }
.event-section-settings-dialog .check-field input { width:17px; height:17px; }
.event-section-settings-dialog [type=submit] { min-height:34px; margin-top:7px; font-size:13px; }
.event-section-settings-dialog .save-state:not([hidden]) { margin:0; }
@media(max-width:359px) { .event-section-title { font-size:27px; } }
@media (min-width:600px) and (hover:hover) and (pointer:fine) { .event-section-settings { top:calc((100dvh - clamp(718px, calc(100dvh - 48px), 892px))/2 + 53px); right:calc((100vw - clamp(338px, calc((100dvh - 48px) * 420 / 892), 420px))/2 + 14px); } }
.schedule-date { margin:20px 0 10px; }
.schedule-date h2 { text-transform:none; }
.schedule-item { position:relative; display:grid; grid-template-columns:minmax(0,1fr); align-items:baseline; gap:12px; margin:0 0 8px; padding:10px 12px; border-radius:10px; background:color-mix(in srgb,var(--system-color) 20%,#fff); }
.schedule-entry { display:grid; grid-template-columns:max-content minmax(0,1fr); align-items:baseline; gap:12px; min-width:0; }
.schedule-point-edit { position:absolute; top:8px; right:9px; display:flex; align-items:center; justify-content:center; width:24px; height:24px; }
.schedule-point-edit .icon { width:18px; height:18px; }
.schedule-item:has(>.schedule-point-edit) .schedule-content { padding-right:30px; }
.schedule-content { min-width:0; }
.point-attachments h3 { margin:6px 0; font-size:14px; }
.point-attachment { display:flex; align-items:center; gap:8px; margin:6px 0; min-width:0; }
.point-attachment a,.point-attachment span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.point-attachment button { flex:none; }
.point-edit-photo { display:block; width:130px; max-width:calc(100% - 36px); height:90px; object-fit:cover; border-radius:7px; }
.schedule-item:has(>.schedule-editor) .schedule-entry .schedule-content { padding-right:36px; }
.schedule-point-detail { display:grid; gap:10px; margin-bottom:14px; min-width:0; }
.schedule-point-time { font-size:18px; font-weight:600; }
.schedule-point-detail p { overflow-wrap:anywhere; }
.schedule-point-fields { margin:0 0 14px; font-size:13px; }
.schedule-point-fields>div { display:grid; grid-template-columns:minmax(0,38%) minmax(0,1fr); gap:10px; padding:9px 0; border-bottom:1px solid var(--line); }
.schedule-point-fields dt { margin:0; text-align:left; overflow-wrap:anywhere; }
.schedule-point-fields dd { min-width:0; margin:0; text-align:right; overflow-wrap:anywhere; }
.schedule-point-fields .schedule-point-copy { line-height:1.25; }
.schedule-point-fields .schedule-point-photo { margin:0 0 0 auto; }
.schedule-point-fields .schedule-point-file { width:100%; max-width:100%; margin:0 0 6px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.schedule-point-title { margin:0 0 10px; padding:11px 12px; border-radius:8px; background:var(--system-color); color:var(--system-color-ink,#fff); font-size:15px; font-weight:700; text-align:center; }
.point-header-actions { position:relative; display:inline-flex; flex-flow:row nowrap; align-items:center; justify-content:flex-end; gap:6px; height:1em; font:inherit; line-height:1; }
.point-header-actions form { display:flex; align-items:center; height:1em; margin:0; padding:0; font:inherit; line-height:1; }
.point-header-actions .event-section-checkbox { display:flex; align-items:center; justify-content:center; width:1em; height:1em; min-height:1em; padding:0; }
.point-header-edit { display:flex; align-items:center; justify-content:center; flex:none; width:1em; height:1em; line-height:1; }
.point-header-edit .icon { width:20px; height:20px; }
.point-header-actions [data-point-toggle-error]:not([hidden]) { position:absolute; top:100%; right:0; z-index:2; width:230px; padding:7px; background:#fff; font-size:12px; }
.schedule-point-navigation { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.schedule-time { white-space:nowrap; font-size:12px; }
.schedule-item h3 { margin:0; font-size:14px; font-weight:600; overflow-wrap:anywhere; }
.schedule-item p { margin:4px 0 0; font-size:13px; line-height:1.4; overflow-wrap:anywhere; }
.schedule-location { display:block; min-width:0; margin-top:2px; overflow:hidden; font-size:13px; font-weight:400; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.schedule-item:has(>.schedule-editor)>.schedule-content { padding-right:36px; }
.schedule-editor { grid-column:1/-1; margin:-12px 0 0; }
.schedule-editor>summary { position:absolute; top:-12px; right:0; display:flex; justify-content:flex-end; width:36px; min-height:44px; margin:0; padding:0; list-style:none; }
.schedule-editor[open]>summary { margin:0; }
.schedule-editor>summary .icon { width:20px; height:20px; }
.event-inline-edit>summary { justify-content:flex-end; list-style:none; }
.event-inline-edit>summary::after { content:none; }
.event-inline-edit>summary::-webkit-details-marker,.event-inline-add>summary::-webkit-details-marker { display:none; }
.media-edit-actions>summary,.participant-management>summary { justify-content:flex-end; list-style:none; }
.media-edit-actions>summary::after,.participant-management>summary::after { content:none; }
.media-edit-actions>summary::-webkit-details-marker,.participant-management>summary::-webkit-details-marker { display:none; }
.schedule-item .schedule-editor>summary::after,.schedule-item .schedule-editor[open]>summary::after { content:none; }
.schedule-editor>summary::-webkit-details-marker,.schedule-add>summary::-webkit-details-marker { display:none; }
.schedule-add>summary { display:flex; align-items:center; min-height:44px; color:var(--accent); font-size:14px; cursor:pointer; list-style:none; text-decoration:none; }
.schedule-form { gap:10px; margin:12px 0 0; }
.schedule-create-page .schedule-form { gap:6px; margin-top:6px; }
.schedule-create-page .schedule-form .field { gap:4px; }
.schedule-create-page .schedule-form .field input,.schedule-create-page .schedule-form .field select,.schedule-create-page .schedule-form .field textarea { min-height:38px; padding:8px 10px; border-radius:8px; font-size:14px; }
.schedule-create-page .schedule-form .field textarea { min-height:62px; }
.schedule-create-page .point-attachments { margin-top:8px; }
.schedule-create-page .point-attachments h3 { margin:0 0 5px; }
.schedule-create-page .point-attachment:has(> .point-photo-frame),.schedule-edit-page .point-attachment:has(> .point-photo-frame) { display:flex; align-items:center; gap:12px; }
.point-photo-frame { position:relative; flex:none; width:130px; height:90px; }
.point-photo-frame .point-edit-photo { width:130px; max-width:100%; height:90px; }
.schedule-create-page .point-photo-frame>.file-delete-icon,.schedule-edit-page .point-photo-frame>.file-delete-icon { position:absolute; z-index:1; top:4px; right:4px; width:26px; height:26px; border-radius:50%; background:rgb(255 255 255 / 90%); }
.schedule-point-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; font-size:12px; }
.schedule-point-links a,.schedule-point-file,.schedule-content a[href^="tel:"] { color:var(--accent); }
.schedule-point-photo { display:block; width:180px; max-width:100%; margin-top:8px; }
.schedule-point-photo img { display:block; width:100%; height:auto; border-radius:8px; }
.schedule-point-file { display:block; margin-top:6px; font-size:12px; overflow-wrap:anywhere; }
.schedule-form .schedule-inline-field { display:grid; grid-template-columns:90px minmax(0,1fr); align-items:center; gap:8px; }
.schedule-form .schedule-inline-field input { width:100%; min-width:0; min-height:36px; padding:6px 8px; }
.schedule-date-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; width:100%; }
.schedule-date-field { min-width:0; gap:4px; }
.schedule-date-field>span { text-align:left; }
.schedule-date-field input { width:100%; min-width:0; min-height:36px; padding:6px 5px; font-size:12px; }
.schedule-create-page .schedule-date-field input { min-height:36px; padding:6px 4px; font-size:12px; }
.event-participant-row { display:flex; gap:12px; align-items:center; padding:10px 12px; }
.event-participant-row .contact-text { flex:1; padding:0; }
.participant-photo-link { display:block; flex:none; width:52px; height:52px; }
.event-participant-photo { display:block; }
.participant-invitation { display:flex; align-items:center; gap:8px; }
.participant-invitation .contact-text { flex:1; }
.participant-invitation form { margin:0; padding-right:6px; }
.participant-invitation-actions { display:flex; align-items:center; gap:2px; flex:none; padding-right:6px; }
.participant-invitation-actions form { padding:0; }
.participant-added-list .participant-invitation { min-height:38px; gap:5px; margin-bottom:3px; padding:3px 7px; }
.participant-added-list .participant-invitation .contact-text { padding:0; }
.participant-added-list .participant-invitation .contact-text h2 { font-size:12px; line-height:1.2; }
.participant-added-list .participant-invitation .contact-text p { margin-top:2px; font-size:11px; line-height:1.15; }
.participant-added-list .participant-invitation-actions { gap:0; padding-right:0; }
.participant-added-list .participant-resend { width:32px; height:32px; }
.participant-added-list .participant-resend .icon { width:18px; height:18px; }
.participant-added-list .participant-resend:disabled { opacity:.4; cursor:default; }
.participant-bulk-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; margin:8px 0 0; }
.participant-bulk-actions form,.participant-bulk-actions>button { min-width:0; width:100%; margin:0; }
.participant-bulk-actions .neutral-button,.participant-bulk-actions .primary-button { min-height:40px; padding:8px 6px; font-size:13px; }
.participant-edit-trigger { display:flex; flex-direction:column; align-items:flex-start; width:100%; padding:0; border:0; background:transparent; color:inherit; text-align:left; font:inherit; cursor:pointer; }
.participant-edit-name { font-size:12px; line-height:1.2; font-weight:650; }
.participant-edit-company { margin-top:2px; font-size:11px; line-height:1.15; }
.participant-edit-dialog { width:min(360px,calc(100vw - 32px)); }
.participant-bulk-invite-form { gap:10px; }
.participant-bulk-result { margin:14px 16px 18px; text-align:center; font-size:15px; font-weight:650; }
.participant-template-link { position:fixed; z-index:11; bottom:calc(52px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); display:flex; align-items:center; justify-content:center; width:100%; max-width:390px; min-height:42px; padding:8px 16px; background:#fff; color:var(--system-color); font-size:13px; text-align:center; text-decoration:none; }
.participant-template-link[hidden] { display:none; }
.app-shell:has(>.participant-template-link:not([hidden]))>main { padding-bottom:calc(105px + env(safe-area-inset-bottom)); }
@media (min-width:600px) and (hover:hover) and (pointer:fine) { .participant-template-link { bottom:calc(78px + env(safe-area-inset-bottom)); } .app-shell:has(>.participant-template-link:not([hidden]))>main { padding-bottom:70px; } }
.event-section-title.participant-title-row { display:flex; align-items:center; gap:12px; }
.participant-title-row h1 { flex:1; }
.event-section-title.participant-title-row { gap:6px; }
.participant-view-switch { display:flex; flex:none; gap:2px; }
.participant-view-switch button { display:flex; align-items:center; justify-content:center; width:25px; height:30px; padding:3px; border:0; background:transparent; color:#c6c8ca; cursor:pointer; }
.participant-view-switch button:hover,.participant-view-switch button:focus,.participant-view-switch button:active { background:transparent; color:#c6c8ca; }
.participant-view-switch button[aria-pressed="true"] { color:#aeb1b4; }
.participant-view-switch .icon { width:19px; height:19px; }
.participants-compact-table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:12px; line-height:1.25; }
.participants-compact-table td { padding:5px 6px; border:0; overflow-wrap:anywhere; vertical-align:middle; }
.participants-compact-table tr:nth-child(odd) { background:#e4e5e6; }
.participants-compact-table tr:nth-child(even) { background:#f3f4f5; }
.participants-compact-table a { display:block; color:inherit; text-decoration:none; }
.participants-compact-table .participant-table-action { width:64px; padding:2px; }
.participant-table-actions { display:flex; align-items:center; justify-content:flex-end; gap:2px; }
.participants-compact-table form { margin:0; }
.participants-compact-table .participant-resend { width:26px; height:26px; }
.participants-compact-table .participant-resend .icon { width:16px; height:16px; }
.participants-compact-table[hidden],.event-participants-list[hidden] { display:none; }
.participant-heading-actions { display:flex; flex:none; align-items:center; justify-content:flex-end; gap:8px; margin-left:auto; }
.participant-count { min-width:1.2em; text-align:right; font-size:18px; line-height:1; font-weight:600; }
.participant-resend { display:flex; align-items:center; justify-content:center; width:40px; height:40px; padding:0; border:0; border-radius:8px; background:transparent; color:var(--accent); cursor:pointer; }
.participant-resend .icon { width:20px; height:20px; }
.participant-delete { flex:none; color:#96583e; }
.participant-manual-flag { display:inline-flex; flex:none; align-items:center; justify-content:center; width:18px; height:26px; color:#c43434; }
.participant-manual-flag .icon { width:17px; height:17px; }
.participant-card-invite { display:block; margin-top:8px; }
.participant-resend.is-text { width:auto; max-width:115px; padding:0 6px; font-size:12px; line-height:1.3; }
.invitation-modes { display:flex; flex-wrap:wrap; gap:8px 14px; }
.guest-invitation-form { gap:12px; }
.participant-operation+.participant-operation { margin-top:26px; }
.participant-operation>.section-heading { margin-bottom:12px; }
.invitation-recipient-list { display:grid; gap:2px; max-height:230px; overflow-y:auto; padding:2px 0; }
.invitation-recipient-list .check-field { min-height:36px; font-size:13px; gap:9px; }
.invitation-recipient-list .check-field:has(input:disabled) { color:var(--muted); }
.invitation-recipient-list small { font-size:11px; }
.invitation-empty-contacts { display:grid; min-height:32vh; place-items:center; margin:0; color:var(--muted); font-size:13px; text-align:center; }
.guest-invitation-form .invitation-channels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.guest-invitation-form .invitation-channels .check-field { min-height:36px; gap:4px; font-size:11px; }
.guest-invitation-form .invitation-channels input { width:16px; height:16px; }
.guest-invitation-form .invitation-modes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.guest-invitation-form .invitation-modes .check-field { position:relative; min-height:38px; margin:0; gap:0; font-size:12px; cursor:pointer; }
.guest-invitation-form .invitation-modes input { position:absolute; width:1px; height:1px; opacity:0; }
.guest-invitation-form .invitation-modes span { width:100%; padding:9px 2px; border-bottom:2px solid transparent; text-align:center; white-space:nowrap; }
.guest-invitation-form .invitation-modes input:checked+span { border-bottom-color:var(--accent); }
.guest-invitation-form .invitation-modes input:focus-visible+span { outline:2px solid var(--accent); outline-offset:1px; }
.guest-invitation-form .field,.invitation-response-form .field { margin:0; }
.guest-invitation-form .field input,.guest-invitation-form .field select { min-height:40px; padding:8px 10px; border-color:#99a49e; }
.invitation-contact-list { display:grid; gap:4px; max-height:220px; overflow:auto; }
.invitation-contact-list .check-field { min-height:34px; margin:0; }
.invitation-channels { display:flex; flex-wrap:wrap; gap:6px 14px; }
.invitation-channels .check-field { margin:0; min-height:36px; }
.delivery-channels { display:flex; flex-wrap:wrap; gap:6px 12px; }
.delivery-channels .check-field { min-height:32px; gap:6px; margin:0; font-size:12px; }
.message-compose { gap:12px; }
.message-compose textarea { padding:8px 10px; }
.account-dialog.message-dialog { width:min(340px,calc(100vw - 32px)); padding:0; border:0; border-radius:16px; box-shadow:0 18px 60px #172c4938; }
.account-dialog.message-dialog::backdrop { background:#172c4966; backdrop-filter:blur(3px); }
.message-dialog .dialog-heading { position:sticky; top:0; z-index:1; justify-content:space-between; margin:0; padding:10px 16px; background:var(--system-color); color:var(--system-color-ink); }
.message-dialog .dialog-heading h2 { flex:1; min-width:0; margin:0; color:var(--system-color-ink); text-align:left; font-size:15px; line-height:1.3; }
.message-dialog .dialog-heading>button { width:32px; height:32px; color:var(--system-color-ink); }
.message-dialog .message-compose { padding:16px; gap:12px; }
.message-dialog .field select { min-height:42px; padding:8px 10px; border-radius:10px; }
.message-dialog button[type=submit] { min-height:42px; background:var(--system-color); color:var(--system-color-ink); border-radius:10px; }
.message-dialog input[type=checkbox] { accent-color:var(--system-color); }
.message-dialog button[type=submit]:disabled { background:#dce2d7; color:#71816a; cursor:default; }
.wallet-total { font-size:30px; font-weight:650; margin:0 0 14px; }
.wallet-topup-trigger { width:100%; }
.wallet-links { display:grid; justify-items:start; gap:8px; margin:14px 0 20px; font-size:13px; }
.wallet-links .neutral-button { display:block; width:100%; min-height:40px; padding:9px 12px; border-radius:9px; text-align:left; text-decoration:none; }
.hotel-common { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0 0 12px; font-size:12px; }
.hotel-common>div { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:6px; }
.hotel-common button { min-height:34px; padding:5px 3px; border:1px solid #99a49e; border-radius:8px; background:#fff; color:inherit; font:inherit; cursor:pointer; }
.hotel-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:12px; }
.hotel-table th,.hotel-table td { padding:5px 3px; text-align:center; overflow-wrap:anywhere; }
.hotel-table thead th { background:#eef0ef; font-weight:500; }
.hotel-table th:first-child { width:34%; text-align:left; }
.hotel-table th:nth-child(2),.hotel-table th:nth-child(3) { width:23%; }
.hotel-table th:last-child { width:20%; }
.hotel-table tbody th,.hotel-table tbody td { background:#fff; border-bottom:1px solid #e1e3e2; }
.hotel-table tbody th { font-weight:400; }
.hotel-table td:nth-child(2),.hotel-table td:nth-child(3) { white-space:nowrap; }
.hotel-table td:has(button) { padding:0; }
.hotel-table button { display:block; width:100%; min-height:34px; padding:5px 3px; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; overflow-wrap:anywhere; }
.hotel-table .hotel-room-duplicate { color:#c43434; font-weight:600; }
.hotel-room-duplicate>button,.hotel-room-duplicate>span { animation:hotel-room-blink 1.2s ease-in-out infinite; }
.hotel-room-warning { margin:12px 0 0; color:#c43434; font-size:13px; }
@keyframes hotel-room-blink { 0%,100% { opacity:1; } 50% { opacity:.35; } }
@media(max-width:359px) { .hotel-table { font-size:11px; } }
.wallet-ledger { display:grid; gap:7px; }
.wallet-row { display:flex; align-items:center; gap:9px; background:#eef0ef; border-radius:9px; padding:10px 12px; font-size:13px; }
.wallet-row>div,.wallet-row>a:first-child { flex:1; min-width:0; overflow-wrap:anywhere; }
.wallet-row>strong { font-size:12px; white-space:nowrap; }
.hotel-report-trigger { width:100%; border:0; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.hotel-report-actions>a { display:block; width:100%; text-align:center; }
.wallet-row time,.wallet-after { display:block; font-size:11px; color:var(--muted); }
.wallet-credit { color:#32633a; }.wallet-debit { color:#96583e; }
.wallet-transactions-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:12px; }
.wallet-transactions-table th { padding:5px 7px; color:var(--muted); background:#eef0ef; font-size:11px; font-weight:500; text-align:left; }
.wallet-transactions-table th:first-child,.wallet-transactions-table td:first-child { width:25%; }
.wallet-transactions-table th:last-child,.wallet-transactions-table td:last-child { width:29%; text-align:right; }
.wallet-transactions-table th:first-child { border-radius:7px 0 0 7px; }
.wallet-transactions-table th:last-child { border-radius:0 7px 7px 0; }
.wallet-transactions-table td { padding:5px 7px; background:#fff; border-bottom:1px solid #e1e3e2; vertical-align:middle; overflow-wrap:anywhere; }
.wallet-transactions-table td:first-child { white-space:nowrap; }
.wallet-transactions-table td:last-child { white-space:normal; }
.wallet-transactions-table time { font-size:11px; }
.wallet-transactions-table .compact-action { margin-left:3px; width:25px; height:25px; vertical-align:middle; }
@media(max-width:360px) { .wallet-transactions-table { font-size:11px; } .wallet-transactions-table th,.wallet-transactions-table td { padding-left:5px; padding-right:5px; } .wallet-transactions-table th:first-child,.wallet-transactions-table td:first-child { width:27%; } .wallet-transactions-table th:last-child,.wallet-transactions-table td:last-child { width:27%; } }
.wallet-invoices-table th,.wallet-invoices-table td { padding:3px 5px; line-height:1.15; }
.wallet-invoices-table th { font-size:10px; }
.wallet-invoices-table td { font-size:11px; }
.wallet-invoices-table th:first-child,.wallet-invoices-table td:first-child { width:25%; }
.wallet-invoices-table th:nth-child(2),.wallet-invoices-table td:nth-child(2) { width:23%; }
.wallet-invoices-table th:nth-child(3),.wallet-invoices-table td:nth-child(3) { width:37%; text-align:right; white-space:nowrap; }
.wallet-invoices-table th:last-child,.wallet-invoices-table td:last-child { width:15%; text-align:center; }
.wallet-invoices-table .compact-action { width:26px; height:26px; margin:0; }
@media(max-width:360px) { .wallet-invoices-table th:first-child,.wallet-invoices-table td:first-child { width:24%; } .wallet-invoices-table th:nth-child(2),.wallet-invoices-table td:nth-child(2) { width:22%; } .wallet-invoices-table th:nth-child(3),.wallet-invoices-table td:nth-child(3) { width:38%; } .wallet-invoices-table th:last-child,.wallet-invoices-table td:last-child { width:16%; } }
.balance-invoices-dock { position:fixed; z-index:9; bottom:calc(52px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:100%; max-width:430px; padding:7px 24px; background:#fff; }
.balance-invoices-dock button { display:block; width:100%; min-height:40px; padding:8px 12px; }
.app-shell:has(>.balance-invoices-dock)>main { padding-bottom:calc(115px + env(safe-area-inset-bottom)); }
@media(min-width:600px) and (hover:hover) and (pointer:fine) {
 .balance-invoices-dock { position:static; flex-shrink:0; transform:none; max-width:none; padding:7px 23px; }
 .app-shell:has(>.balance-invoices-dock)>main { padding-bottom:30px; }
}
.schedule-nav-dock { display:none; }
.point-attendance-dock { padding:6px 24px 5px; background:#fff; }
.point-attendance-buttons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.point-attendance-buttons form { margin:0; min-width:0; }
.point-attendance-buttons .neutral-button { display:flex; width:100%; min-width:0; min-height:40px; align-items:center; justify-content:center; gap:4px; padding:8px 4px; margin:0; font-size:11px; white-space:nowrap; background:#eef0ef; color:var(--ink); }
.point-attendance-icon { display:inline-flex; flex:none; }
.point-attendance-icon[hidden] { display:none; }
.point-attendance-icon .icon { width:15px; height:15px; stroke-width:2.5; }
.point-attendance-icon.is-arrived { color:#218739; }
.point-attendance-icon.is-late { color:#db7900; }
.point-attendance-icon.is-absent { color:#c62828; }
.point-attendance-summary { margin-top:12px; min-width:0; }
.point-attendance-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px; border-bottom:1px solid #d3d6d5; margin-bottom:8px; }
.point-attendance-tab { min-width:0; min-height:34px; padding:6px 2px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:#505653; font:inherit; font-size:11px; cursor:pointer; white-space:nowrap; }
.point-attendance-tab[aria-selected="true"] { border-bottom-color:var(--system-color); color:var(--system-color); background:transparent; }
.point-attendance-subheading { margin:12px 0 6px; padding-top:8px; border-top:0; font-size:12px; font-weight:400; }
.point-attendance-table { width:100%; border-collapse:collapse; table-layout:fixed; }
.point-attendance-table td { padding:0; border-bottom:0; background:#eceeed; }
.point-attendance-person { display:block; width:100%; min-height:26px; padding:4px 8px; border:0; border-radius:0; background:transparent; color:inherit; font:inherit; font-size:12px; line-height:18px; text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:pointer; }
.point-attendance-detail { margin:0; font-size:13px; }
.point-attendance-detail>div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; padding:6px 0; }
.point-attendance-detail dt,.point-attendance-detail dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.delegate-attendance-form { display:grid; gap:7px; margin-top:12px; padding-top:10px; border-top:1px solid #d3d6d5; }
.delegate-attendance-form .field { gap:3px; }
.delegate-attendance-form .field textarea { min-height:54px; }
.delegate-attendance-form [hidden] { display:none!important; }
@media (max-width:599px),(hover:none),(pointer:coarse) {
 .schedule-nav-dock { position:fixed; z-index:9; bottom:calc(52px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); display:flex; align-items:stretch; gap:8px; width:100%; max-width:430px; padding:7px 16px 8px; }
 .schedule-nav-dock>a { display:flex; flex:1 1 0; min-width:0; align-items:center; justify-content:center; min-height:40px; padding:8px 6px; text-align:center; text-decoration:none; white-space:nowrap; font-size:13px; }
 .app-shell:has(>.schedule-nav-dock)>main { padding-bottom:calc(170px + env(safe-area-inset-bottom)); }
}
.wallet-prices>div { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; margin-bottom:8px; font-size:14px; }
.wallet-prices dd { display:flex; align-items:center; gap:8px; margin:0; }
.wallet-prices .compact-action { min-height:34px; }
.wallet-qr { display:block; width:100%; max-width:300px; height:auto; margin:10px auto; }
.wallet-payment-status { margin:14px 0; }
.wallet-topup-total,.wallet-qr-hint,.wallet-back { text-align:center; }
.wallet-qr-hint { font-size:13px; margin:8px 0; }
.wallet-back { margin-top:16px; }
.wallet-back a { display:inline-flex; }
.account-group { margin:8px 0; min-width:0; }
.account-group>summary { display:flex; align-items:center; gap:7px; min-height:38px; font-size:12px; font-weight:600; text-transform:uppercase; cursor:pointer; list-style:none; }
.account-group>summary::-webkit-details-marker { display:none; }
.account-group>summary::before { content:'›'; flex:none; font-size:18px; }
.account-group[open]>summary::before { transform:rotate(90deg); }
.account-group>summary::after { content:''; flex:1; min-width:10px; border-top:1px solid #d8ddda; }
.account-group>.account-fields { margin:4px 0 8px; }
.document-hint { margin:4px 0 12px; color:var(--muted); font-size:11px; line-height:1.4; }
.document-heading { margin:18px 0 7px; font-size:12px; text-transform:uppercase; }
.document-fields { margin:0; }
.document-fields>div { align-items:start; }
.document-fields textarea { width:100%; min-width:0; padding:6px 8px; border-radius:8px; border:1px solid #99a49e; font:inherit; }
.document-upload { display:block; padding:5px 0; min-height:32px; border:0; background:transparent; color:#2463a5; font:inherit; font-size:12px; text-align:left; cursor:pointer; }
.document-upload.is-uploaded { color:#39764a; }
.compact-date { position:relative; display:block; min-width:0; }
.compact-date [data-native-date] { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.compact-date [data-native-date]::-webkit-calendar-picker-indicator, .compact-datetime [data-native-datetime]::-webkit-calendar-picker-indicator { position:absolute; inset:0; width:auto; height:auto; opacity:0; cursor:pointer; }
.compact-date:focus-within input[data-document-field] { border-color:#435d4c; outline:0; }
.document-preview img { display:block; width:100%; max-height:65dvh; object-fit:contain; margin:8px 0 12px; }
.event-dates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.app-shell main:has([data-event-edit-form]) .event-section-title { container-type:inline-size; grid-template-columns:minmax(0,1fr); }
.app-shell main:has([data-event-edit-form]) .event-section-title h1 { font-size:23px; font-size:clamp(16px,8cqw,29px); white-space:nowrap; overflow-wrap:normal; }
.event-general-form { gap:7px; }
.event-general-form .field { gap:3px; }
.event-general-form .field input,.event-general-form .field select { height:38px; min-height:38px; padding:7px 9px; border-radius:8px; }
.event-general-form .field textarea { min-height:58px; padding:7px 9px; border-radius:8px; }
.event-general-form .compact-datetime input[type=text] { padding:7px 5px; font-size:12px; }
.event-general-form .file-picker-control { min-height:38px; padding:7px 9px; }
.event-general-form .file-picker-control .icon { width:17px; height:17px; }
.event-general-form .event-color-fields input[type=color] { height:34px; min-height:34px; }
.app-shell .event-general-form .event-colors-settings .event-color-fields .field input[type=color] { height:34px; min-height:34px; }
.event-general-form [data-event-edit-error] { margin:0; }
.compact-datetime { display:block; position:relative; min-width:0; }
.compact-datetime input[type=text] { padding:10px 6px; font-size:12px; text-align:left; }
.compact-datetime input[data-native-datetime] { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.compact-datetime:focus-within input[data-formatted-datetime] { border-color:#435d4c; outline:0; }
.account-settings>h2 { display:flex; align-items:center; gap:9px; }
.account-settings>h2::after { content:''; flex:1; min-width:12px; border-top:1px solid #d8ddda; }
.invitation-file-count { margin:4px 0; font-size:14px; }
.invitation-file-check .form-section-title { color:var(--system-color); }
.invitation-file-result { margin:8px 0 0; font-size:13px; line-height:1.45; }
.import-result-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:10px; }
.import-result-actions>* { min-width:0; width:100%; min-height:40px; padding:8px 6px; text-align:center; text-decoration:none; font-size:13px; }
.invitation-event-name { margin:0 0 10px; font-size:15px; font-weight:600; }
.invitation-content,.message-content { font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.invitation-response-form { margin-top:18px; gap:10px; }
.invitation-response-form .auth-text-link { border:0; background:transparent; padding:6px 0; text-align:left; font:inherit; cursor:pointer; }
.invitation-response-form fieldset { display:grid; gap:10px; margin:0; padding:0; border:0; min-width:0; }
[data-invitation-prompt] .dialog-heading { justify-content:flex-end; }
[data-invitation-fields] { display:grid; gap:12px; min-width:0; padding:0; margin:0; border:0; }
.event-participant-photo { flex:none; width:52px; height:52px; border-radius:8px; object-fit:cover; }
.event-photo-placeholder { display:flex; align-items:center; justify-content:center; background:#e0e4e1; color:var(--muted); }
.event-person-photo { display:block; width:100%; max-width:260px; height:auto; margin:0 auto 16px; border-radius:10px; }
.participant-card-photo-link { display:block; width:fit-content; max-width:100%; cursor:zoom-in; }
.participant-photo-row { display:flex; align-items:center; gap:10px; margin:0 0 10px; }
.participant-photo-edit-link { padding:4px 0; border:0; background:transparent; color:var(--system-color); font-size:12px; text-decoration:none; cursor:pointer; }
.participant-photo-editor { width:min(360px,calc(100vw - 24px)); }
.participant-photo-crop-stage { position:relative; width:min(280px,100%); aspect-ratio:1; margin:8px auto; overflow:hidden; border:1px solid #b8bfba; border-radius:8px; background:#eceeed; touch-action:none; }
.participant-photo-crop-stage img { position:absolute; top:50%; left:50%; max-width:none; max-height:none; object-fit:fill; transform-origin:center; user-select:none; -webkit-user-drag:none; }
.participant-photo-crop-stage img[hidden] { display:none; }
.participant-photo-crop-frame { position:absolute; inset:0; border:2px solid #fff; box-shadow:0 0 0 999px rgba(0,0,0,.42); pointer-events:none; }
.participant-photo-crop-handle { position:absolute; z-index:2; display:block; min-width:0; min-height:0; padding:0; border:0; border-radius:0; background:transparent; pointer-events:auto; touch-action:none; }
.participant-photo-crop-handle::after { position:absolute; display:block; content:""; background:#fff; box-shadow:0 0 2px 1px rgba(0,0,0,.75); }
.participant-photo-crop-handle::before { position:absolute; z-index:1; display:block; width:12px; height:12px; border:1px solid #4c5550; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.55); content:""; }
.participant-photo-crop-handle.is-top,.participant-photo-crop-handle.is-bottom { left:-3px; right:-3px; height:16px; cursor:ns-resize; }
.participant-photo-crop-handle.is-top { top:-8px; }.participant-photo-crop-handle.is-bottom { bottom:-8px; }
.participant-photo-crop-handle.is-top::after,.participant-photo-crop-handle.is-bottom::after { top:7px; left:0; right:0; height:2px; }
.participant-photo-crop-handle.is-top::before,.participant-photo-crop-handle.is-bottom::before { top:1px; left:50%; transform:translateX(-50%); }
.participant-photo-crop-handle.is-left,.participant-photo-crop-handle.is-right { top:-3px; bottom:-3px; width:16px; cursor:ew-resize; }
.participant-photo-crop-handle.is-left { left:-8px; }.participant-photo-crop-handle.is-right { right:-8px; }
.participant-photo-crop-handle.is-left::after,.participant-photo-crop-handle.is-right::after { top:0; bottom:0; left:7px; width:2px; }
.participant-photo-crop-handle.is-left::before,.participant-photo-crop-handle.is-right::before { top:50%; left:1px; transform:translateY(-50%); }
.participant-photo-crop-handle:focus-visible { outline:2px solid var(--system-color); outline-offset:2px; }
.participant-photo-zoom { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px; margin:8px 0; font-size:12px; }
.participant-photo-editor-actions { display:flex; align-items:center; gap:8px; }
.participant-photo-editor-actions>[data-participant-photo-pick],.participant-photo-editor-actions>[data-participant-photo-save] { flex:1; }
.participant-photo-editor-actions>[data-participant-photo-remove] { width:40px; min-width:40px; padding:7px; background:#bd3434; color:#fff; }
.participant-photo-editor-actions button:disabled { opacity:.45; }
.participant-movements { margin-top:14px; }
.participant-movements h2 { margin:0 0 4px; font-size:12px; font-weight:600; }
.participant-movements table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:12px; }
.participant-movements th,.participant-movements td { padding:4px 5px; border-bottom:1px solid #d9ddda; text-align:left; overflow-wrap:anywhere; }
.participant-movements thead { background:#eceeed; }
.participant-movements th:nth-child(1) { width:25%; }
.participant-movements th:nth-child(2) { width:22%; }
.participant-gps { margin-top:12px; }
.participant-gps h2 { margin:0; font-size:12px; font-weight:600; }
.participant-gps-request { margin:12px 0 0; }
.participant-gps-row { display:grid; grid-template-columns:112px minmax(0,1fr); gap:8px; margin:5px 0; font-size:12px; text-align:left; }
.participant-gps-row[hidden] { display:none!important; }
.participant-gps-state { margin:5px 0; color:#666; font-size:12px; }
.participant-gps-state[hidden],.participant-gps-coordinates[hidden],.participant-gps-links[hidden] { display:none!important; }
.participant-gps-coordinates { margin:0; font-size:12px; overflow-wrap:anywhere; }
.participant-gps-links { display:flex; flex-wrap:wrap; gap:4px 8px; font-size:12px; }
.participant-gps-links a,.participant-gps-links a:hover,.participant-gps-links a:focus { text-decoration:underline; }
.participant-gps-links[hidden] { display:none; }
.event-person-name { margin:0; font-size:16px; }
.event-person-photo.participant-card-photo { width:min(160px,100%); max-width:160px; margin:0 0 16px; border:1px solid #c7ceca; }
.participant-card-fields { margin:0; font-size:13px; }
.participant-card-fields>div { display:grid; grid-template-columns:112px minmax(0,1fr); gap:8px; padding:2px 0; align-items:start; }
.participant-card-fields dt,.participant-card-fields dd { min-width:0; margin:0; text-align:left; overflow-wrap:anywhere; }
.participant-card-fields dd { display:flex; align-items:flex-start; gap:4px; }
.participant-field-value { flex:1; min-width:0; }
.participant-field-value:empty { display:none; }
.participant-card-fields dd>form { flex:1; min-width:0; margin:0; }
.participant-field-edit { flex:none; width:22px; height:22px; }
.participant-field-edit .icon { width:16px; height:16px; }
.participant-cabinet-copy { padding:0; min-height:22px; border:0; background:transparent; color:var(--system-color); font:inherit; font-size:11px; text-align:left; cursor:pointer; }
[data-participant-name-fields]:not([hidden]) { display:grid; gap:8px; }
.participant-details-block { --participant-field-gap:4px; display:grid; row-gap:var(--participant-field-gap); line-height:1.35; }
.participant-details-block>div { min-height:22px; padding:0; }
.participant-card-hotel { margin-top:calc(var(--participant-field-gap) * 2); }
.participant-message-button { width:100%; margin-top:18px; min-height:42px; padding:9px 12px; }
.media-toolbar { display:flex; justify-content:space-between; align-items:center; gap:8px; margin:0 0 14px; font-size:12px; }
.media-view-switch { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px; }
.media-view-switch a { display:flex; align-items:center; justify-content:center; min-height:30px; padding:3px 6px; border:0; background:transparent; color:var(--ink); font:inherit; }
.media-view-switch [aria-current="true"] { font-weight:600; }
.media-library { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 8px; }
.media-item { min-width:0; }
.media-open { display:block; min-width:0; }
.media-preview { display:block; position:relative; overflow:hidden; border-radius:8px; background:#eef0ef; }
.media-preview img,.media-preview video { display:block; width:100%; height:130px; object-fit:cover; }
.media-play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); padding:5px 9px; border-radius:50%; background:#0008; color:#fff; }
.media-file-fallback { display:flex; align-items:center; justify-content:center; min-height:130px; font-size:13px; }
.media-file-name { display:none; overflow-wrap:anywhere; font-size:13px; }
.media-download-icon { display:flex; align-items:center; justify-content:center; min-width:40px; min-height:40px; width:40px; color:var(--ink); }
.media-download-icon .icon { width:20px; height:20px; }
.media-item-actions { display:flex; align-items:center; justify-content:flex-start; gap:8px; margin-top:0; }
.media-item-actions form { margin:0; }
.media-delete-icon { display:grid; place-items:center; width:40px; height:40px; padding:0; border:0; background:transparent; color:var(--ink); cursor:pointer; }
.media-delete-icon .icon { width:20px; height:20px; }
.media-library:not(.media-mosaic) .media-preview img { border:1px solid #c6ccc8; border-radius:8px; }
.media-item-actions .media-download-icon,.media-item-actions .media-delete-icon { display:flex; align-items:center; justify-content:flex-start; width:24px; height:24px; min-width:24px; min-height:24px; padding:0; }
.media-item-actions .icon { width:18px; height:18px; }
.media-library:not(.media-mosaic) .media-item { position:relative; }
.media-library:not(.media-mosaic)[data-view="photos"] .media-item:not(.is-archive) .media-item-actions { position:absolute; z-index:2; top:4px; right:4px; gap:4px; }
.media-library:not(.media-mosaic)[data-view="photos"] .media-item-actions .media-download-icon,.media-library:not(.media-mosaic)[data-view="photos"] .media-item-actions .media-delete-icon { justify-content:center; border-radius:50%; background:#fffD; }
.media-library[data-view="files"] .media-item:has(.media-item-actions) { grid-template-columns:minmax(0,1fr) auto; }
.media-library-upload { display:grid; gap:8px; margin-top:20px; }
.media-library-upload .gallery-picker { text-align:center; }
.archive-choice-actions { display:grid; gap:8px; margin-top:14px; }
.media-item.is-archive .media-preview { display:none; }
.media-item.is-archive .media-file-name { display:block; padding:12px; background:#eef0ef; border-radius:8px; }
.media-library[data-view="files"] { grid-template-columns:minmax(0,1fr); }
.media-library[data-view="files"] .media-item { display:grid; grid-template-columns:minmax(0,1fr) 40px; align-items:center; gap:8px; padding:4px 9px; border-radius:8px; background:#eef0ef; }
.media-library[data-view="files"] .media-preview { display:none; }
.media-library[data-view="files"] .media-file-name { display:block; }
.media-library[data-view="files"] .media-edit-actions { grid-column:1/-1; }
.media-files-table { width:100%; border-collapse:collapse; table-layout:fixed; }
.media-files-actions-column { width:68px; }
.media-files-actions-column.is-readonly { width:34px; }
.media-files-table td { padding:5px 3px; border-bottom:1px solid #d8ddda; vertical-align:middle; }
.media-files-table .media-file-name { width:100%; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.media-file-controls { display:flex; align-items:center; justify-content:flex-end; gap:4px; }
.media-file-controls form { display:flex; margin:0; }
.media-file-controls .media-download-icon,.media-file-controls .media-delete-icon { width:28px; height:28px; min-width:28px; min-height:28px; }
.media-file-controls .icon { width:18px; height:18px; }
.media-edit-actions { margin:0; }
.media-viewer { position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:#000; color:#fff; }
.media-viewer::backdrop { background:#000; }
.media-viewer [data-media-stage] { display:flex; align-items:center; justify-content:center; width:100%; height:100%; cursor:zoom-out; }
.media-viewer img,.media-viewer video { display:block; max-width:100%; max-height:100%; object-fit:contain; }
.media-viewer-close { position:absolute; z-index:2; top:calc(env(safe-area-inset-top) + 8px); right:12px; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:#0009; color:#fff; font-size:30px; cursor:pointer; }
.media-viewer[data-media-content] { inset:auto; left:var(--media-content-left); top:var(--media-content-top); width:var(--media-content-width); height:var(--media-content-height); }
.media-viewer[data-media-content]::backdrop { background:transparent; }
.media-viewer[data-media-content] img { width:100%; height:100%; object-fit:contain; }
.media-viewer[data-media-content] .media-viewer-close { top:8px; right:8px; }
.shared-media-upload { display:flex; gap:8px; margin-bottom:14px; }
.shared-media-upload form { flex:1; min-width:0; }
.shared-media-upload .gallery-picker { display:flex; align-items:center; justify-content:center; height:34px; min-height:34px; margin-top:0; padding:5px 8px; font-size:12px; line-height:1; }
.shared-media-add-dock { position:fixed; z-index:9; bottom:calc(52px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:100%; max-width:430px; padding:7px 24px; background:#fff; }
.shared-media-add-dock .primary-button { display:grid; justify-items:center; gap:3px; width:100%; padding:9px 12px; }
.shared-media-add-dock strong { font-size:14px; font-weight:600; }
.shared-media-add-dock small { font-size:10px; line-height:1.3; font-weight:400; }
.app-shell:has(>.shared-media-add-dock)>main { padding-bottom:calc(160px + env(safe-area-inset-bottom)); }
.shared-source-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.shared-source-choices form { display:flex; margin:0; min-width:0; }
.shared-source-choice { display:flex; align-items:center; justify-content:center; gap:6px; width:100%; min-height:42px; margin:0; padding:8px; font-size:13px; }
.shared-source-choices .shared-source-choice { display:flex; width:100%; height:44px; min-height:44px; margin:0; padding:8px; }
.shared-source-choices[hidden] { display:none; }
.shared-camera-pane { margin-top:12px; }
.shared-camera-pane video { display:block; width:100%; max-height:45dvh; object-fit:contain; border-radius:8px; background:#000; }
.shared-camera-pane button { width:100%; margin-top:8px; }
@media (min-width:600px) and (hover:hover) and (pointer:fine) {
 .shared-media-add-dock { position:static; flex-shrink:0; transform:none; max-width:none; padding:7px 23px; }
 .app-shell:has(>.shared-media-add-dock)>main { padding-bottom:20px; }
}
.media-library.media-mosaic { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; align-items:start; }
.media-mosaic .media-item { position:relative; display:block; width:100%; }
.media-mosaic .media-preview { position:relative; display:block; aspect-ratio:1; overflow:hidden; border:1px solid #c6ccc8; border-radius:4px; }
.media-mosaic .media-preview img,.media-mosaic .media-preview video { width:100%; height:100%; aspect-ratio:1; object-fit:cover; }
.media-mosaic .media-download-icon { position:absolute; z-index:2; top:4px; right:4px; width:32px; min-width:32px; min-height:32px; height:32px; border-radius:50%; background:#fffD; }
.media-mosaic .media-edit-actions>summary { position:absolute; z-index:2; top:4px; right:40px; justify-content:center; width:32px; min-height:32px; height:32px; padding:0; border-radius:50%; background:#fffD; }
.media-mosaic .media-download-icon .icon,.media-mosaic .media-edit-actions>summary .icon { width:18px; height:18px; }
.media-mosaic .shared-media-delete { position:absolute; z-index:2; top:4px; right:40px; margin:0; }
.media-mosaic .shared-media-delete .media-delete-icon { display:grid; place-items:center; width:32px; height:32px; min-height:32px; padding:0; border-radius:50%; background:#fffD; }
.media-mosaic .shared-media-delete .icon { width:18px; height:18px; }
.shared-media-delete-confirm .dialog-heading { margin-bottom:16px; }
.shared-media-delete-confirm-actions { display:flex; justify-content:flex-end; gap:8px; }
.shared-media-delete-yes { min-width:72px; min-height:36px; border:0; border-radius:9px; background:#b42318; color:#fff; font:inherit; }
.media-mosaic .media-edit-actions[open] { margin-top:8px; }
.media-author { margin:5px 0 0; font-size:12px; line-height:1.4; overflow-wrap:anywhere; }
.media-mosaic .media-author { position:absolute; z-index:1; right:4px; bottom:4px; left:4px; display:block; margin:0; padding:5px 7px; border-radius:5px; background:rgba(255,255,255,.94); color:var(--ink); font-size:12px; line-height:1.25; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
main:has(.media-library.media-mosaic) .event-section-title h1 { max-width:100%; font-size:clamp(15px,6vw,25px); white-space:nowrap; }
.event-home-schedule { margin-top:20px; }
.media-download { display:grid; place-items:center; min-height:120px; padding:16px; border-radius:8px; background:#eef0ef; font-size:13px; }
.event-file-list { display:grid; gap:8px; margin:12px 0; padding:0; list-style:none; }
.event-file-list>li { display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:10px; background:#eef0ef; }
.event-file-list a { display:grid; flex:1; min-width:0; gap:4px; overflow-wrap:anywhere; }
.event-file-list strong { font-size:13px; font-weight:600; }
.event-file-list small { color:var(--muted); font-size:11px; }
.event-file-list form { flex:none; margin:0; }
.event-file-actions { display:flex; flex:none; align-items:center; gap:2px; }
.file-delete-icon { display:grid; place-items:center; width:28px; height:28px; padding:0; border:0; background:transparent; color:var(--ink); cursor:pointer; }
.file-delete-icon .icon { width:18px; height:18px; }
.file-delete-icon.event-asset-remove { width:28px; height:30px; padding:5px; color:#a82424; }
.file-picker-control { position:relative; display:flex; align-items:center; gap:10px; min-width:0; min-height:46px; padding:11px 12px; border:1px solid #9ca3a1; border-radius:10px; background:#fff; cursor:pointer; }
.file-picker-control input { position:absolute; inset:0; width:100%; height:100%; margin:0; padding:0; opacity:0; cursor:pointer; }
.file-picker-control .icon { width:20px; height:20px; color:var(--muted); }
.file-picker-control span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.file-picker-control:focus-within { border-color:var(--accent); outline:0; box-shadow:none; }
.field:has(>.file-picker-control) { gap:6px; }
.file-upload-hint { margin:0; font-size:11px; color:var(--muted); line-height:1.4; }
.event-home-schedule .section-heading { margin-bottom:8px; }
.event-home-schedule-list { display:grid; gap:7px; margin:0; padding:0; list-style:none; }
.event-home-schedule-list a { display:grid; gap:4px; padding:11px 14px; border-radius:10px; background:#eef0ef; color:var(--ink); }
.event-home-schedule-list strong { font-size:14px; }
.event-home-schedule-list span { color:var(--muted); font-size:12px; }
.event-contact-name { margin-top:0; font-size:15px; }
.event-contact-details { white-space:pre-wrap; }
.event-contacts-list { display:grid; gap:8px; }
.event-contact-card { position:relative; display:block; min-height:56px; padding:10px 78px 10px 12px; border-radius:9px; background:#eef0ef; font-size:13px; overflow-wrap:anywhere; }
.event-contact-copy { display:grid; gap:3px; min-width:0; }
.event-contact-card strong { font-size:14px; }
.event-contact-copy p { margin:0; white-space:pre-wrap; }
.event-contact-actions { position:absolute; top:5px; right:5px; display:flex; align-items:center; gap:2px; }
.event-contact-card .event-contact-edit,.event-contact-card .event-contact-delete { display:flex; align-items:center; justify-content:center; width:30px; min-height:30px; padding:5px; border:0; border-radius:8px; background:transparent; color:var(--system-color); }
.event-contact-card .event-contact-delete { color:#c43d3d; }
.event-contact-edit .icon { width:18px; height:18px; }
.event-contact-delete .icon { width:17px; height:17px; }
.event-contact-editor-dialog,.event-contact-delete-dialog { width:min(350px,calc(100vw - 32px)); }
.event-contact-editor-dialog .field { gap:5px; }
.account-dialog.event-contact-editor-dialog textarea { min-height:84px; }
.event-contact-visibility { display:grid; gap:2px; }
.event-contact-visibility .check-field { min-height:28px; margin:0; gap:7px; font-size:13px; }
.event-contact-visibility input { width:18px; height:18px; }
.event-contact-delete-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:0 14px 14px; }
.event-contact-delete-actions button { min-height:40px; }
.mailing-add-link { display:inline-flex; align-items:center; min-height:42px; margin-top:7px; padding:7px 0; color:var(--system-color); font-size:14px; text-decoration:none; }
.event-contact-auto { margin:0; font-size:13px; }
.event-contact-auto>div { display:grid; grid-template-columns:76px minmax(0,1fr); gap:8px; padding:4px 0; }
.event-contact-auto dd { margin:0; min-width:0; overflow-wrap:anywhere; }
.event-contact-card-actions { display:flex; flex-wrap:nowrap; gap:6px; width:100%; margin-top:18px; }
.event-contact-card-actions .primary-button { display:flex; flex:1 1 0; align-items:center; justify-content:center; min-width:0; min-height:40px; margin:0; padding:8px 3px; font-size:13px; text-align:center; }
.event-contact-card-actions .event-contact-call { display:none; }
@media (max-width:599px),(hover:none),(pointer:coarse) { .event-contact-card-actions .event-contact-call { display:flex; } }
.event-contact-back-dock a { display:block; width:100%; min-height:40px; padding:8px 12px; text-align:center; }
.account-dialog.event-contact-message-dialog textarea { min-height:100px; }
.event-contact-card:not(:has(.event-contact-actions)) { padding-right:12px; }
.submenu-trigger { border:0; background:transparent; cursor:pointer; }
.bottom-submenu-action { display:grid; min-width:0; }
.bottom-submenu-action .nav-item { width:100%; }
.bottom-nav-actions { display:flex; align-items:center; min-width:0; }
.bottom-nav-actions>* { flex:1; min-width:0; }
.bottom-nav-actions .nav-icon { min-width:0; width:100%; }
.help-trigger { padding:0; border:0; background:transparent; cursor:pointer; }
.help-trigger:focus-visible { outline:0; background:var(--sage); border-radius:8px; }
.account-dialog.help-dialog { width:min(350px,calc(100vw - 32px)); padding:0; border:0; border-radius:16px; }
.help-dialog-heading { position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 14px; background:var(--system-color); color:var(--system-color-ink); }
.help-dialog-heading h2 { margin:0; color:inherit; font-size:15px; line-height:1.3; text-align:left; }
.help-dialog-heading>button { display:flex; align-items:center; justify-content:center; flex:none; width:32px; height:32px; padding:0; border:0; background:transparent; color:inherit; font-size:27px; cursor:pointer; }
.help-dialog-heading>button:focus-visible { outline:0; background:#ffffff26; border-radius:8px; }
.help-dialog-copy { padding:16px; text-align:left; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.help-dialog form { display:grid; gap:12px; padding:14px; }
.help-dialog textarea { display:block; width:100%; min-height:180px; padding:10px; border:1px solid #99a49e; border-radius:8px; font:inherit; font-size:14px; line-height:1.5; resize:vertical; }
.help-dialog-footer .primary-button { width:100%; min-height:40px; }
.submenu-trigger .icon { width:22px; height:22px; }
.account-fields { display:grid; gap:0; margin:0 0 20px; font-size:13px; line-height:1.3; text-align:left; }
.account-timestamps { display:grid; gap:4px; margin:12px 0 0; font-size:12px; line-height:1.2; }
.account-timestamps>div { display:grid; grid-template-columns:52px minmax(0,1fr); gap:8px; }
.account-timestamps dt,.account-timestamps dd { margin:0; font:inherit; }
.account-fields>div { display:grid; grid-template-columns:minmax(0,44%) minmax(0,1fr); gap:8px; align-items:center; min-height:38px; padding:2px 0; }
.account-fields dt { color:var(--ink); font:inherit; }
.account-fields dd { display:grid; gap:2px; min-width:0; margin:0; padding-left:8px; font:inherit; text-align:left; overflow-wrap:anywhere; }
.account-fields dd:has(input,textarea) { padding-left:0; }
.account-fields dd input { width:100%; min-width:0; min-height:34px; padding:5px 8px; border:1px solid #9ca3a1; border-radius:8px; background:#fff; color:var(--ink); font:inherit; text-align:left; }
.account-fields dd input:focus { border-color:#33423e; outline:0; box-shadow:none; }
.account-fields textarea { width:100%; min-width:0; height:34px; min-height:34px; padding:5px 8px; border:1px solid #9ca3a1; border-radius:8px; background:#fff; color:var(--ink); font:inherit; text-align:left; resize:vertical; }
.account-fields textarea:focus { border-color:#33423e; outline:0; box-shadow:none; }
.account-fields dd small { color:var(--muted); font-size:10px; }
.account-fields>.account-badge { display:grid; grid-template-columns:1fr; gap:4px; margin-top:4px; padding:8px 0 4px; }
.account-fields>.account-detail-text { grid-template-columns:minmax(0,1fr); align-items:start; gap:4px; padding:5px 0; }
.account-badge>strong { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; }
.account-badge>strong::after { content:""; flex:1; border-top:1px solid var(--line); }
.account-fields .account-badge-row { display:grid; grid-template-columns:minmax(0,44%) minmax(0,1fr); gap:8px; align-items:center; min-height:0; padding:4px 0 7px; border-bottom:1px solid var(--line); }
.account-badge-row dt { grid-column:1; }
.account-badge-row dd { grid-column:2; display:grid; gap:4px; padding:0; }
.account-badge-row input::placeholder { color:var(--muted); opacity:1; }
.account-save-form { display:grid; gap:4px; margin-top:-21px; }
.account-save-form [data-manual-save] { position:fixed; z-index:9; bottom:calc(52px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:min(398px,calc(100vw - 32px)); margin:0; }
main:has(.account-save-form [data-manual-save]) { padding-bottom:calc(170px + env(safe-area-inset-bottom)); }
@media (min-width:600px) and (hover:hover) and (pointer:fine) {
 .account-save-form [data-manual-save] { position:absolute; bottom:56px; left:23px; transform:none; width:calc(100% - 46px); }
 .app-shell>main:has(.account-save-form [data-manual-save]) { padding-bottom:90px; }
}
.account-settings>h2 { margin:5px 0 15px; font-size:14px; }
.about-demo>h2 { margin-bottom:10px; }
.about-demo-role + .about-demo-role { margin-top:12px; }
.about-demo-role h3 { margin:0 0 4px; color:var(--system-color); font-size:14px; line-height:1.3; font-weight:500; }
.about-demo-credentials { margin:0; font-size:13px; line-height:1.3; }
.about-demo-credentials>div { display:grid; grid-template-columns:52px minmax(0,1fr); gap:6px; padding:2px 0; }
.about-demo-credentials dd { margin:0; min-width:0; overflow-wrap:anywhere; }
.about-demo-hint { color:var(--muted); font-size:12px; }
.about-demo-login { display:inline-flex; align-items:center; min-height:32px; padding:0; border:0; background:transparent; color:var(--system-color); font-family:inherit; font-size:13px; text-decoration:underline; text-underline-offset:2px; cursor:pointer; }
.account-dialog { width:min(300px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); padding:18px; border:1px solid var(--line); border-radius:18px; background:#fff; color:var(--ink); overflow-y:auto; }
.account-dialog::backdrop { background:#17231b60; }
.account-gallery-button { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; margin:8px 0 0; }
.account-gallery-button [data-gallery-count] { color:var(--muted); font-size:11px; }
.profile-gallery,.profile-gallery-modal { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 6px; }
.profile-gallery:empty,.profile-gallery-modal:empty { display:none; }
.profile-gallery figure,.profile-gallery-modal figure { position:relative; width:56px; height:56px; margin:0; }
.profile-gallery img,.profile-gallery-modal img { display:block; width:100%; height:100%; border:1px solid var(--line); border-radius:8px; object-fit:cover; }
.profile-gallery-modal figure { width:76px; height:auto; }
.profile-gallery-modal img { height:76px; }
.gallery-picker { position:relative; display:block; width:100%; margin-top:8px; overflow:hidden; text-align:center; cursor:pointer; }
.gallery-picker input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:14px; }
.dialog-heading h2 { margin:0; }
.dialog-heading>button { flex:none; width:44px; height:44px; border:0; border-radius:10px; background:transparent; color:var(--ink); font:inherit; font-size:26px; cursor:pointer; }
.users-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; }
.users-table { width:100%; table-layout:fixed; border-collapse:separate; border-spacing:0 6px; margin:0 0 10px; text-align:left; }
.users-table td { padding:10px 12px; background:#eef0ef; vertical-align:middle; overflow-wrap:anywhere; }
.users-table tr:nth-child(even) td { background:#e7e9e8; }
.users-table td:first-child { border-radius:10px 0 0 10px; }
.users-table td:last-child { border-radius:0 10px 10px 0; }
.users-table td>strong { display:block; font-size:13px; font-weight:600; }
.users-table-link { display:grid; gap:3px; min-height:38px; color:inherit; }
.users-table-link span { color:var(--muted); font-size:11px; }
.users-table-link:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:4px; }
.users-table .verified-label { margin-top:4px; font-size:10px; }
.users-table-action { width:42px; text-align:right; }
.users-table-edit { display:inline-grid; width:34px; height:34px; place-items:center; border-radius:8px; color:var(--system-color); }
.users-table-edit .icon { width:18px; height:18px; }
.demo-user-label { display:inline-block; margin-left:5px; padding:2px 5px; border-radius:5px; background:#e2eee4; color:#386148; font-size:9px; line-height:1.2; vertical-align:1px; }
.user-edit-form { gap:10px; }
.user-edit-form .field { gap:3px; }
.user-edit-form input { min-height:40px; padding:8px 10px; }
.user-detail-edit { gap:5px; margin-bottom:12px; }
.user-detail-edit .icon { width:17px; height:17px; }
.users-table-action details { position:relative; }
.users-table-action summary { cursor:pointer; font-size:11px; }
.users-table-action details[open] .auth-form { position:absolute; z-index:20; top:calc(100% + 6px); right:0; width:min(245px,calc(100vw - 100px)); margin:0; padding:12px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 8px 26px #17231b24; text-align:left; }
@media (min-width:600px) and (hover:hover) and (pointer:fine) {
  .account-menu[popover] { right:max(16px,calc((100vw - 420px)/2 + 20px)); }
  .screen-submenu[popover] { right:calc((100vw - clamp(338px, calc((100dvh - 48px) * 420 / 892), 420px))/2 + 22.3px); }
}

.filter-links,.inline-actions { display:flex; flex-wrap:wrap; gap:10px 20px; margin:12px 0 20px; font-size:13px; }
.filter-links a { display:flex; align-items:center; min-height:44px; }
.option-group { border:1px solid var(--line); border-radius:12px; padding:12px; min-width:0; }
.option-group legend,.form-section-title { font-size:14px; line-height:1.35; }
.field-editor { border-bottom:1px solid var(--line); margin-bottom:12px; padding-bottom:12px; }

.pass-qr { display:block; width:min(240px,100%); height:auto; margin:18px auto; background:white; }
.badge-card { text-align:center; border:1px solid var(--line); border-radius:16px; padding:24px 12px; background:white; overflow-wrap:anywhere; margin-bottom:24px; }
.badge-card h2 { font-size:24px; margin:20px 0 12px; }
.event-badge-mode { display:flex; flex-direction:column; }
.event-badge-mode > main { position:relative; flex:1; min-height:0; padding:0!important; overflow:hidden!important; }
.event-badge-mode .event-manage-heading { display:none; }
.event-badge-mode > .event-screen-footer { display:none; }
.event-badge-screen { position:absolute; inset:0; display:flex; flex-direction:column; overflow:hidden; background:var(--system-color); color:var(--system-color-ink); text-align:center; text-decoration:none; cursor:pointer; }
.event-badge-screen:hover,.event-badge-screen:active { text-decoration:none; color:var(--system-color-ink); }
.event-badge-event-title { flex:none; width:100%; margin:0; padding:12px 16px; font-size:22px; line-height:1.15; overflow-wrap:anywhere; }
.event-badge-photo { display:block; flex:0 0 50%; width:100%; height:50%; min-height:0; object-fit:cover; background:color-mix(in srgb,var(--system-color-ink) 8%,var(--system-color)); }
.event-badge-photo-empty { background:color-mix(in srgb,var(--system-color-ink) 8%,var(--system-color)); }
.event-badge-details { --badge-details-gap:clamp(6px,2vh,16px); display:flex; flex:1; flex-direction:column; justify-content:center; align-items:center; gap:var(--badge-details-gap); min-height:0; padding:16px 20px max(20px,env(safe-area-inset-bottom)); overflow:hidden; }
.event-badge-name { width:100%; margin:0; font-size:clamp(28px,8vw,52px); line-height:1.08; overflow-wrap:anywhere; }
.event-badge-company { width:100%; margin:0; font-size:clamp(20px,5.5vw,32px); line-height:1.2; overflow-wrap:anywhere; text-transform:uppercase; }
.event-badge-position { width:100%; margin:0; font-size:clamp(16px,4.2vw,24px); line-height:1.2; overflow-wrap:anywhere; }
.event-badge-company + .event-badge-position { margin-top:calc(var(--badge-details-gap) * -.5); }
.event-badge-screen :is(.event-badge-event-title,.event-badge-name,.event-badge-company,.event-badge-position) { color:var(--system-color-ink)!important; }
@media (max-width:599px), (hover:none), (pointer:coarse) { .event-badge-mode { height:100dvh; min-height:0; } }
body:has(.event-badge-screen) .bottom-nav,body:has(.event-badge-screen) .event-shortcuts,body:has(.event-badge-screen) .skip-link { display:none!important; }
[data-scan-video] { width:100%; max-height:300px; margin-top:12px; border-radius:12px; }
@media print {
 body:has(.badge-card) { display:block; padding:0; background:white; }
 body:has(.badge-card) .app-shell { display:block; width:auto; height:auto; min-height:0; aspect-ratio:auto; border:0; border-radius:0; box-shadow:none; overflow:visible; }
 body:has(.badge-card) header,body:has(.badge-card) .bottom-nav,body:has(.badge-card) .skip-link,body:has(.badge-card) .connection-note { display:none; }
 body:has(.badge-card) main { overflow:visible; padding:0; }
 body:has(.badge-card) main>*:not(.badge-card) { display:none; }
 .badge-card { width:90mm; min-height:130mm; margin:0 auto; break-inside:avoid; }
}

.media-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:20px; }
.media-card { background:var(--card); border:1px solid var(--line); border-radius:14px; overflow:hidden; min-width:0; padding:8px; }
.media-thumbnail { display:block; width:100%; aspect-ratio:1; object-fit:cover; border-radius:9px; }
.media-card video { display:block; width:100%; max-height:350px; border-radius:9px; }
.media-card:has(video) { grid-column:1/-1; }
.media-caption { overflow-wrap:anywhere; font-size:12px; margin-top:8px; }
.media-card .form-details summary { font-size:12px; }
.media-card button { width:100%; }

.notification-open { display:block; width:100%; min-height:44px; text-align:left; background:none; border:0; color:var(--ink); font-size:15px; cursor:pointer; overflow-wrap:anywhere; }
.notification-item { padding:10px 0; }
.notification-item + .notification-item { border-top:1px solid var(--line, #dedede); }
.notification-open { padding:0; }
.notification-date { display:block; margin-top:4px; color:var(--muted); font-size:12px; }
.mailing-list { display:grid; gap:8px; }
.mailing-bar { display:grid; gap:4px; padding:12px; border-radius:10px; background:#eef0ef; overflow-wrap:anywhere; }
.mailing-bar strong { font-size:15px; }
.mailing-bar time { font-size:12px; color:var(--muted); }
.mailing-content { display:grid; gap:14px; margin:0; }
.mailing-content dt { margin-bottom:5px; font-size:13px; }
.mailing-content dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.mailing-attachment { margin:18px 0; padding-top:12px; border-top:1px solid var(--line); }
.mailing-attachment>.form-section-title { margin-bottom:8px; font-size:14px; }
.mailing-attachment-current { display:flex; align-items:center; gap:7px; min-width:0; margin:0 0 8px; padding:7px 9px; border-radius:8px; background:#eef0ef; font-size:12px; }
.mailing-attachment-current .icon { flex:none; width:16px; height:16px; }
.mailing-attachment-current span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mailing-attachment-form .field { gap:5px; }
.mailing-attachment-form .field>span { font-size:13px; }
.mailing-recipients { max-height:45dvh; overflow-y:auto; }
.mailing-recipients small { display:block; color:var(--muted); overflow-wrap:anywhere; }
.mailing-recipient-dialog .check-field { min-height:28px; padding:3px 0; margin:0; gap:8px; font-size:12px; line-height:1.2; }
.mailing-recipient-dialog .mailing-group { margin:7px 0 2px; font-size:12px; }
.mailing-group { margin:12px 0 4px; font-size:13px; }
.mailing-actions { display:flex; flex-wrap:wrap; gap:6px 20px; margin:14px 0; }
.mailing-address-field,.mailing-channel-field { display:flex; align-items:center; justify-content:flex-start; gap:4px; min-height:30px; width:max-content; max-width:100%; padding:0; text-align:left; }
.mailing-history { margin-top:20px; }
.mailing-history h2 { font-weight:400; margin-bottom:6px; }
.mailing-history p { padding:5px 0; font-size:12px; border-bottom:1px solid var(--line); }
.mailing-recipient-count { margin-top:10px; font-size:13px; }

[data-offline-content] { margin-top:24px; }
[data-offline-content] .event-copy { white-space:pre-wrap; }

h1,h2,h3,legend,.field>span,.check-field>span { overflow-wrap:anywhere; min-width:0; }
.form-details>summary::after { content:none; }
.form-details>summary:has(>.icon) { gap:8px; list-style:none; }
.form-details>summary:has(>.icon)::after { content:none; }
.form-details>summary:has(>.icon)::-webkit-details-marker { display:none; }
.form-details>summary>.icon { width:18px; height:18px; flex:none; }

.profile-photo { display:block; width:96px; height:96px; object-fit:cover; border-radius:24px; margin:12px 0; }

/* Compact event chat. */
.event-chat{display:flex;flex-direction:column;gap:12px;min-height:calc(100svh - 220px)}
.chat-messages{display:flex;flex-direction:column;align-items:flex-start;gap:8px;flex:1;min-width:0}
.chat-message{max-width:92%;padding:8px 10px;border-radius:8px;background:#eef0ef;overflow-wrap:anywhere;min-width:0}
.chat-message.is-own{align-self:flex-end;background:#e8f0f8}
.chat-message .chat-author{display:block;margin:-8px -10px 5px;padding:4px 10px 3px;border-radius:8px 8px 0 0;background:#d4d8d6;font-size:12px;font-weight:400}
.chat-message.is-own .chat-author{background:#cbdbe8}
.chat-message p{margin:4px 0;white-space:pre-wrap;font-size:14px;line-height:1.35}
.chat-message time{display:block;font-size:10px;color:#6a7075;text-align:right}
.chat-message.is-pending{opacity:.65}
.chat-compose{position:sticky;bottom:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:auto;padding:8px 0 5px;background:#fff;z-index:2}
.chat-compose textarea{width:100%;min-width:0;height:44px;min-height:44px;max-height:120px;resize:none;border:1px solid #8e969b;border-radius:6px;padding:8px;font:inherit;font-size:16px;line-height:26px;overflow-y:hidden}
.chat-compose button{align-self:stretch;width:44px;min-width:44px;min-height:44px;height:44px;padding:9px;display:grid;place-items:center}.chat-compose button .icon{width:20px;height:20px}
.chat-compose .save-state{grid-column:1/-1;margin:0}
.chat-compose .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media (max-width:599px),(hover:none),(pointer:coarse){
 .app-shell:has(.chat-compose) main{padding-bottom:calc(175px + env(safe-area-inset-bottom))}
 .chat-compose{position:fixed;left:50%;bottom:calc(52px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(100vw,430px);padding:8px 24px 5px;background:#fff;z-index:9}
}

/* Cabinet profile photo modal */
.profile-gallery-modal { display:block; width:100%; }
.profile-gallery-modal figure { position:relative; display:grid; place-items:center; width:100%; height:auto; margin:0; }
.profile-gallery-modal img { width:100%; height:auto; max-height:55dvh; object-fit:contain; }
.profile-gallery-modal .gallery-photo-crop-stage { display:block; overflow:hidden; border-radius:8px; }
.profile-gallery-modal .gallery-photo-crop-stage img { max-height:none; user-select:none; -webkit-user-drag:none; }
.gallery-photo-crop-stage .participant-photo-crop-handle { touch-action:none; }
.gallery-photo-crop-stage .is-top,.gallery-photo-crop-stage .is-bottom { left:0; right:0; height:24px; }
.gallery-photo-crop-stage .is-top { top:0; }
.gallery-photo-crop-stage .is-bottom { bottom:0; }
.gallery-photo-crop-stage .is-top::before,.gallery-photo-crop-stage .is-top::after { top:0; }
.gallery-photo-crop-stage .is-bottom::before,.gallery-photo-crop-stage .is-bottom::after { top:auto; bottom:0; }
.gallery-photo-crop-stage .is-left,.gallery-photo-crop-stage .is-right { top:0; bottom:0; width:24px; }
.gallery-photo-crop-stage .is-left { left:0; }
.gallery-photo-crop-stage .is-right { right:0; }
.gallery-photo-crop-stage .is-left::before,.gallery-photo-crop-stage .is-left::after { left:0; }
.gallery-photo-crop-stage .is-right::before,.gallery-photo-crop-stage .is-right::after { left:auto; right:0; }
.account-dialog:has(.profile-gallery-modal) { width:min(390px,calc(100vw - 24px)); }
.account-gallery-remove { position:absolute; z-index:2; top:8px; right:8px; display:flex; align-items:center; justify-content:center; width:38px; height:38px; margin:0; padding:8px; border:1px solid #ffffffb8; border-radius:10px; background:#c62828; color:#fff; box-shadow:0 2px 8px #0005; cursor:pointer; }
.account-gallery-remove svg { width:20px; height:20px; }
.invoice-download-form { margin:0; }
.account-gallery-remove[hidden] { display:none; }

.event-screen-footer { position:fixed; z-index:10; bottom:0; left:0; width:100%; padding-bottom:env(safe-area-inset-bottom); box-sizing:border-box; background:#fff; }
.event-shortcuts { display:flex; justify-content:center; align-items:start; gap:6px; padding:5.6px 24px; }
.event-shortcut { display:flex; flex:0 1 72px; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:72px; min-width:0; max-height:57.6px; aspect-ratio:25/18; padding:6px 2px; border:0; border-radius:10px; background:var(--system-color); color:var(--system-color-ink,#fff); font-size:10px; line-height:1.2; text-align:center; text-decoration:none; }
.event-shortcut>span { max-width:100%; padding-inline:2px; box-sizing:border-box; font-size:clamp(8px,2.5vw,10px); line-height:1.1; overflow-wrap:anywhere; word-break:normal; }
.event-shortcut .icon { width:22px; height:22px; }
.event-shortcut.is-disabled { opacity:.4; }
.event-shortcuts:has(> :nth-child(6)) .event-shortcut>span { display:none; }
.event-shortcuts:has(> :nth-child(6)) .event-shortcut { aspect-ratio:1; gap:0; }
@media(max-width:359px) { .event-shortcuts:has(> :nth-child(5)) .event-shortcut>span { display:none; } .event-shortcuts:has(> :nth-child(5)) .event-shortcut { aspect-ratio:1; gap:0; } }
@media(orientation:landscape) and (max-height:500px) and (hover:none) { .event-shortcut { max-height:46.08px; } }
.event-screen-footer .bottom-nav,.event-screen-footer .event-menu-hint,.event-screen-footer .event-info-edit-dock,.event-screen-footer .schedule-nav-dock,.event-screen-footer .shared-media-add-dock,.event-screen-footer .message-compose-dock,.event-screen-footer .participant-template-link { position:static; left:auto; bottom:auto; width:100%; max-width:none; transform:none; }
.event-screen-footer .chat-compose { position:relative; left:auto; bottom:auto; width:100%; max-width:none; transform:none; margin:0; padding:8px 24px 0; z-index:auto; }
.event-screen-footer .chat-compose:not(:has(+.event-shortcuts)) { padding-bottom:5px; }
.event-screen-footer:has(>.chat-compose) .event-shortcuts { padding-top:5px; }
.app-shell:has(>.event-screen-footer)>main { padding-bottom:calc(var(--event-footer-height,170px) + 24px); }
@media(max-width:599px),(hover:none),(pointer:coarse) {
 .app-shell:has(>.event-screen-footer):has(.chat-compose)>main { padding-bottom:calc(var(--event-footer-height,170px) + 8px); }
}
@media(min-width:600px) and (hover:hover) and (pointer:fine) {
 .event-screen-footer { position:static; flex-shrink:0; }
 .event-shortcuts { padding-right:23px; padding-left:23px; }
 .app-shell:has(>.event-screen-footer)>main { padding-bottom:30px; }
 .app-shell:has(>.event-screen-footer):has(.chat-compose)>main { padding-bottom:8px; }
}

/* Event notes and scheduled questionnaires. */
.notes-list { display:grid; gap:8px; }
.note-bar { position:relative; border-radius:9px; background:#eef0ef; min-width:0; }
.note-bar-main { display:block; padding:11px 42px 10px 11px; color:inherit; text-decoration:none; min-width:0; }
.note-bar-text { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; max-height:4.05em; overflow:hidden; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.35; font-size:14px; }
.note-bar-meta,.note-created { display:block; margin-top:7px; font-size:11px; color:var(--muted); }
.note-delete-icon { position:absolute; top:6px; right:5px; display:grid; place-items:center; width:29px; height:29px; padding:5px; border:0; background:transparent; color:#5c6260; cursor:pointer; }
.note-delete-icon .icon { width:18px; height:18px; }
.note-dialog { width:min(390px,calc(100vw - 24px)); }
.note-dialog textarea { width:100%; }
.note-read-text { margin:12px 0; white-space:normal; overflow-wrap:anywhere; }
.note-files,.note-upload-previews { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; min-width:0; }
.note-attachment { min-width:0; overflow-wrap:anywhere; }
.note-files img,.note-files video,.note-upload-previews img,.note-upload-previews video { display:block; width:100%; max-height:220px; object-fit:contain; }
.note-files:empty,.note-upload-previews:empty { display:none; }
.note-attachment .check-field { font-size:12px; min-height:30px; }
.survey-bar { position:relative; display:grid; gap:4px; padding:11px; border-radius:9px; background:#eef0ef; color:inherit; text-decoration:none; overflow-wrap:anywhere; }
.survey-bar small { font-size:11px; color:var(--muted); }
.survey-bar small:empty { display:none; }
.survey-name { font-size:17px; line-height:1.3; margin:0 0 14px; overflow-wrap:anywhere; }
.survey-current-name { display:flex; align-items:flex-start; gap:7px; }
.survey-name-prefix { flex:none; color:var(--system-color); }
.survey-fields { display:grid; gap:12px; min-width:0; padding:0; margin:0; border:0; }
.survey-questions { display:grid; gap:12px; }
.survey-fields>.check-field { min-height:30px; margin:0; gap:7px; font-size:13px; }
.survey-fields>.check-field input[type=checkbox] { width:16px; height:16px; margin:0; }
.survey-question-editor,.survey-answer { display:grid; gap:8px; min-width:0; margin:0; padding:10px; border:1px solid #b8bfba; border-radius:8px; }
.survey-answer { border:0; border-bottom:1px solid #d8ddda; border-radius:0; padding:8px 0 14px; }
.survey-answer legend,.survey-question-editor legend { padding:0 4px; font-size:14px; }
.survey-question-heading { display:flex; align-items:center; gap:10px; width:100%; color:var(--system-color); font-size:13px!important; text-transform:uppercase; }
.survey-question-heading::after { content:""; flex:1; border-top:1px solid #cfd5d1; }
.survey-question-prompt { margin:-2px 0 2px; font-size:14px; }
.survey-answer input:not([type=checkbox]):not([type=radio]),.survey-answer textarea,.survey-answer select { width:100%; min-width:0; }
.survey-yesno-options { display:flex; flex-wrap:wrap; gap:18px; }
.survey-yesno-choice { display:inline-flex; align-items:center; gap:7px; min-height:32px; cursor:pointer; }
.survey-yesno-choice input[type=radio] { width:18px; min-width:18px; height:18px; margin:0; accent-color:var(--system-color); }
.survey-question-actions { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.survey-question-actions .check-field { margin:0; font-size:12px; }
.survey-totals { display:flex; flex-wrap:wrap; gap:8px 18px; font-size:13px; margin-bottom:16px; }
.survey-stat { margin:16px 0; overflow-wrap:anywhere; }
.survey-stat h3 { font-size:14px; font-weight:600; margin-bottom:8px; }
.survey-stat p,.survey-stat-table { font-size:12px; }
.survey-stat-table { width:100%; border-collapse:collapse; table-layout:fixed; }
.survey-stat-table td { padding:5px 0; border-bottom:1px solid #ddd; }
.survey-stat-table td:last-child { width:32px; text-align:right; }
.survey-stat-table meter { width:100%; }
.survey-answers-list,.survey-people ul { padding:0; list-style:none; font-size:13px; }
.survey-answers-list li,.survey-people li { padding:7px 0; border-bottom:1px solid #ddd; }
.survey-bar>a { color:inherit; text-decoration:none; } .survey-bar>a:first-child::after { content:""; position:absolute; z-index:1; inset:0; border-radius:inherit; } .survey-bar>a:first-child:focus-visible::after { outline:2px solid var(--system-color); outline-offset:2px; } .survey-stat-link { position:relative; z-index:2; font-size:12px; }
.event-shortcut>span { max-width:100%; font-size:9px; white-space:nowrap; } .event-shortcut { gap:2px; padding:1.5px 1px; } .event-shortcut .icon { width:20px; height:20px; } @media(max-width:359px) { .event-shortcut>span { font-size:8px; } }
.survey-editor [data-survey-add] { justify-self:start; width:auto; min-height:30px; padding:0; border:0; background:none; color:var(--system-color); text-align:left; cursor:pointer; }
.survey-form-actions { display:grid; grid-template-columns:repeat(var(--survey-action-count,2),minmax(0,1fr)); gap:8px; width:100%; margin-top:8px; }
.survey-form-actions>a,.survey-form-actions>button { display:flex; align-items:center; justify-content:center; min-width:0; min-height:40px; padding:7px 5px; border-radius:9px; font-size:12px; text-align:center; text-decoration:none; }
.survey-form-actions.survey-edit-actions { display:flex; flex-wrap:nowrap; }
.survey-form-actions.survey-edit-actions>a,.survey-form-actions.survey-edit-actions>button { flex:1 1 0; white-space:nowrap; }
.event-section-settings-button[href] { text-decoration:none; }

.events-home-mark { display:grid; place-items:center; width:21px; height:21px; border-radius:50%; background:#000; color:#fff; font:600 15px/1 Arial,sans-serif; letter-spacing:-.8px; text-transform:lowercase; }

[data-list-href],[data-list-dialog] { cursor:pointer; }
.participant-waiting-table { margin-bottom:8px; }
.participant-waiting-table td { padding:4px; font-size:11px; }
.participant-waiting-table .participant-waiting-actions { width:84px; padding:2px; }
.participant-waiting-table .participant-invitation-actions { gap:0; padding:0; justify-content:flex-end; }
.participant-waiting-table .participant-resend { width:26px; height:28px; }
.participant-waiting-table .participant-resend.is-text { font-size:10px; width:52px; padding:0; }
.participant-waiting-table .participant-resend .icon { width:16px; height:16px; }
.team-member-field { display:grid; grid-template-columns:85px minmax(0,1fr); align-items:center; gap:5px; margin:0; font-size:12px; }
.team-member-field input { min-height:33px; padding:6px 9px; }
.team-member-form { gap:5px; }
.team-rights-table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:12px; }
.team-rights-table th,.team-rights-table td { padding:5px 2px; border-bottom:1px solid #ddd; text-align:center; }
.team-rights-table th:first-child { width:42%; text-align:left; font-weight:400; }
.team-rights-table thead { background:#eceeed; }
.team-rights-table thead th:not(:first-child) { text-align:center; }
.team-rights-table thead th:not(:first-child) span { display:flex; align-items:center; justify-content:center; width:100%; }
.team-rights-table .icon { width:18px; height:18px; }
.team-rights-table input,.team-delegate-right input { width:16px; height:16px; margin:0; accent-color:var(--system-color); }
.team-delegate-right { gap:7px; font-size:12px; }

.event-main-section { margin-top:11px; margin-bottom:7px; }
.event-main-section h2 { margin:0; font-size:12px; }
.event-main-divider { justify-content:flex-start; gap:9px; }
.event-main-divider::after { content:""; flex:1; height:1px; background:#d8ddda; }
.event-main-details { margin-top:-2px; }
.event-main-details .event-info-slogan { margin-bottom:2px; }
.event-main-details .event-info-fields>div { padding:2px 0; }
.event-main-details .event-info-extra { margin-top:4px; }
.event-main-details .event-info-hotel { margin-top:0; }
.event-main-point { display:flex; flex-direction:column; gap:3px; padding:9px 10px; border-radius:6px; background:#eceeed; color:inherit; text-decoration:none; font-size:13px; }
.event-main-point span { font-size:12px; }

.participant-waiting-table:has(.is-text) .participant-waiting-actions { width:110px; }

.point-attendance-person:disabled { opacity:1; cursor:default; }

.transport-card{margin:12px 0;padding:10px;border:1px solid #ddd;border-radius:10px}.transport-card summary{color:var(--system-color);cursor:pointer}.transport-movement{padding:10px 0;border-bottom:1px solid #ddd}.transport-movement p{margin:4px 0;overflow-wrap:anywhere}.transport-mark,.transport-assignment{display:flex;gap:6px;margin-top:6px}.transport-mark button,.transport-assignment button{padding:6px;border-radius:6px}.transport-assignment select{min-width:0;flex:1}
.transport-movement{min-width:0;overflow-wrap:anywhere}.transport-movement strong{display:block;overflow-wrap:anywhere}.transport-card .field input,.transport-card .field select,.transport-card .field textarea{min-width:0;max-width:100%}

.transport-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.transport-table th,.transport-table td{padding:9px 6px;text-align:left;overflow-wrap:anywhere}.transport-table tbody tr:nth-child(odd)>td{background:#d4d4d4}.transport-table tbody tr:nth-child(even)>td{background:#f0f0f0}.transport-table th:first-child{width:50%}.transport-photo{width:48px;height:40px;object-fit:cover;border-radius:4px}.transport-preview{width:100%;max-height:220px;object-fit:contain}
.transport-table thead th{background:var(--system-color);color:var(--system-color-ink,#fff)}
.transport-dialog .field select{appearance:none;-webkit-appearance:none;min-height:44px;padding:10px 38px 10px 12px;border:1px solid #aeb7b1;border-radius:8px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23444' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;color:var(--ink);font:inherit;font-size:15px;line-height:1.4;cursor:pointer;box-shadow:0 1px 2px #00000008}.transport-dialog .field select:focus{border-color:var(--system-color);outline:2px solid var(--system-color);outline-offset:2px}.transport-dialog .field select option{background:#fff;color:#202720}

.transport-color-picker{position:relative}.transport-color-picker summary{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid #aeb7b1;border-radius:8px;cursor:pointer;list-style:none;background:#fff}.transport-color-picker summary::-webkit-details-marker{display:none}.transport-color-picker summary::after{content:'⌄';margin-left:auto}.transport-color-options{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:5px;border:1px solid #aeb7b1;border-radius:8px;background:#fff;margin-top:4px}.transport-color-options label{display:flex;align-items:center;gap:7px;padding:8px 4px;font-size:13px;cursor:pointer}.transport-color-options input{width:14px;height:14px;margin:0;accent-color:var(--system-color)}.transport-color-swatch{display:inline-block;width:17px;height:17px;flex:none;border:1px solid #929292;border-radius:3px;background:transparent}.transport-color-swatch[data-color=white]{background:#fff}.transport-color-swatch[data-color=cyan]{background:#42b9ef}.transport-color-swatch[data-color=yellow]{background:#ffdf00}.transport-color-swatch[data-color=green]{background:#228b22}.transport-color-swatch[data-color=brown]{background:#88552d}.transport-color-swatch[data-color=red]{background:#e63030}.transport-color-swatch[data-color=orange]{background:#ff8c00}.transport-color-swatch[data-color=silver]{background:#c0c0c0}.transport-color-swatch[data-color=gray]{background:#808080}.transport-color-swatch[data-color=blue]{background:#245bd9}.transport-color-swatch[data-color=purple]{background:#8a3db8}.transport-color-swatch[data-color=black]{background:#151515}
.transport-photo-sources,.transport-form-actions{display:flex;gap:8px}.transport-photo-sources button,.transport-form-actions button{flex:1}.transport-photo-editor{position:relative;overflow:hidden;margin-top:8px;touch-action:none}.transport-photo-editor .transport-preview{display:block;width:100%;max-height:none;height:auto}.transport-photo-editor[hidden]{display:none}.transport-photo-tools{position:absolute;right:7px;top:7px;display:flex;gap:6px;z-index:3}.transport-photo-tools button{display:grid;place-items:center;min-height:32px;width:32px;padding:5px;border:1px solid #bbb;background:#fff;color:#222;font-size:22px}.transport-photo-tools svg{width:20px;height:20px}.transport-photo-editor .participant-photo-crop-frame{z-index:2}.transport-photo-editor .participant-photo-crop-frame[hidden]{display:none}
.transport-color-badge{display:inline-block;padding:3px 7px;border:1px solid #0002;border-radius:5px;font-size:11px;line-height:1.3;white-space:nowrap}.transport-color-badge[data-color=white]{background:#fff;color:#222}.transport-color-badge[data-color=cyan]{background:#42b9ef;color:#10232a}.transport-color-badge[data-color=yellow]{background:#ffdf00;color:#302700}.transport-color-badge[data-color=green]{background:#228b22;color:#fff}.transport-color-badge[data-color=brown]{background:#88552d;color:#fff}.transport-color-badge[data-color=red]{background:#e63030;color:#fff}.transport-color-badge[data-color=orange]{background:#ff8c00;color:#281700}.transport-color-badge[data-color=silver]{background:#c0c0c0;color:#222}.transport-color-badge[data-color=gray]{background:#808080;color:#fff}.transport-color-badge[data-color=blue]{background:#245bd9;color:#fff}.transport-color-badge[data-color=purple]{background:#8a3db8;color:#fff}.transport-color-badge[data-color=black]{background:#151515;color:#fff}

.transport-photo[data-transport-thumbnail]{cursor:zoom-in}.transport-photo[data-transport-thumbnail].is-expanded{position:fixed;z-index:10001;top:50%;left:50%;width:auto;height:auto;max-width:min(92vw,1100px);max-height:88dvh;transform:translate(-50%,-50%);object-fit:contain;border-radius:6px;cursor:zoom-out;box-shadow:0 0 0 100vmax #000c}

.transport-dialog .auth-form{gap:9px}.transport-dialog .auth-form>.field{gap:4px;margin:0}.transport-dialog .field input:not([type=checkbox]),.transport-dialog .field select{min-height:38px;padding-top:7px;padding-bottom:7px}.transport-dialog .transport-photo-sources button{min-height:38px;padding-top:7px;padding-bottom:7px}.transport-comment{display:grid;gap:6px}.transport-comment summary{width:max-content;cursor:pointer}.transport-comment textarea{width:100%;min-height:38px}.transport-comment:not([open]) textarea{display:none}.transport-camera-pane{display:grid;gap:6px;margin-top:8px}.transport-camera-pane video{width:100%;max-height:35dvh;background:#171717;object-fit:contain}.transport-dialog .field select option{padding:6px}
.event-management-actions{display:flex;gap:6px;width:100%;margin-bottom:5px}.event-management-actions .event-management-action{display:flex;flex:1 1 0;justify-content:center;min-width:0;margin-top:12px;text-align:center}
.schedule-past{margin-top:12px}.schedule-past>summary{padding:8px 0;color:var(--system-color);font-size:14px;cursor:pointer;list-style-position:inside}.schedule-past[open]>summary{margin-bottom:4px}
.event-bar{background:color-mix(in srgb,var(--system-color) 20%,#fff)}.event-participant-row,.participant-added-list .participant-invitation,.participants-compact-table tr{background:color-mix(in srgb,var(--system-color) 20%,#fff)}
.event-list .event-bar{background:color-mix(in srgb,var(--system-color) 20%,#fff)}
.event-main-point{background:color-mix(in srgb,var(--system-color) 20%,#fff)}

.event-main-current{background:color-mix(in srgb,var(--system-color) 20%,#fff);border-radius:6px}.event-main-current .event-main-point{background:transparent}.event-main-current .point-attendance-dock{position:static;inset:auto;width:auto;max-width:none;padding:0 9px 9px;margin:0;transform:none;background:transparent}.event-main-current .point-attendance-buttons{gap:5px}.event-main-current .point-attendance-buttons .neutral-button{font-size:10px;padding:6px 3px;min-height:34px}

.event-main-about{position:relative;padding-right:30px}.event-main-edit{position:absolute;right:0;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:26px;height:26px;color:var(--system-color)}.event-main-edit .icon{width:18px;height:18px}

.presence-tools{display:flex;gap:7px;margin:10px 0}.presence-tools>button{flex:1;min-height:36px;padding:6px}.presence-tools video,.presence-tools [data-presence-code] svg{width:100%;max-height:55dvh}.presence-methods{display:flex;flex-wrap:wrap;gap:4px}.presence-methods .icon{width:18px;height:18px;color:var(--system-color)}.presence-coordinate-fields{display:grid;gap:8px}.participant-movements th:nth-child(3){width:auto}.participant-movements th:nth-child(4){width:24%}
.event-badge-mode .presence-tools{position:absolute;z-index:2;bottom:16px;left:20px;right:20px;justify-content:center}.event-badge-mode .presence-tools>button{flex:0 1 180px}

.badge-launch-strip{position:relative;z-index:9;flex:none;height:0}.badge-launch{position:absolute;right:12px;top:5px;display:grid;place-items:center;width:29px;height:29px;color:var(--system-color)}.badge-launch .icon{width:23px;height:23px}.event-badge-screen .event-badge-photo{flex:0 0 36%;height:36%}.event-badge-details{gap:5px;padding:8px 16px max(10px,env(safe-area-inset-bottom))}.event-badge-name{font-size:clamp(22px,6vw,36px)}.event-badge-company{font-size:clamp(16px,4.5vw,22px)}.event-badge-position{font-size:clamp(14px,3.8vw,18px)}.badge-presence-qr{flex:none;width:min(190px,27dvh);aspect-ratio:1;margin-top:5px;background:#fff;border-radius:5px;color:#202720;display:grid;place-items:center}.badge-presence-qr svg{display:block;width:100%;height:auto}.badge-presence-qr>div{width:100%}.badge-presence-qr [role=status]{font-size:12px;padding:8px}.badge-presence-qr:has(svg)>[role=status]{display:none}

.participant-movements tr[data-open-account-dialog]{cursor:pointer}.participant-movements tr[data-open-account-dialog]:focus-visible{outline:2px solid var(--system-color);outline-offset:-2px}.movement-methods-list{margin:0;font-size:13px}.movement-methods-list>div{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:12px;padding:9px 0;border-bottom:1px solid #dde1de}.movement-methods-list dt,.movement-methods-list dd{margin:0}.movement-methods-list dd{text-align:right;white-space:nowrap}.movement-methods-list dt{overflow-wrap:anywhere}
.app-shell:has(>.badge-launch-strip) .event-section-settings{right:46px}
@media (min-width:600px) and (hover:hover) and (pointer:fine){.app-shell:has(>.badge-launch-strip) .event-section-settings{right:calc((100vw - clamp(338px, calc((100dvh - 48px) * 420 / 892), 420px))/2 + 52px)}}

.event-badge-details{justify-content:flex-start;gap:0;padding:0 16px max(24px,env(safe-area-inset-bottom))}.event-badge-info{display:flex;flex:1;min-height:0;width:100%;flex-direction:column;align-items:center;justify-content:center;gap:5px}.event-badge-details .badge-presence-qr{margin-top:18px}
.event-badge-name>span{display:block}
.event-badge-name{line-height:1;text-transform:uppercase;margin-bottom:5px}
.event-badge-name{flex:none;width:66.6667%;max-width:none}.event-badge-name>span{white-space:nowrap}
.presence-scanner[open]{position:fixed;inset:var(--scanner-top) auto 0 var(--scanner-left);margin:0;width:var(--scanner-width);height:calc(100dvh - var(--scanner-top));max-width:none;max-height:none;border:0;border-radius:0;padding:0;background:#111;color:#fff;overflow:hidden;box-sizing:border-box}
.presence-scanner::backdrop{background:transparent;backdrop-filter:none}
.presence-scanner .dialog-heading{position:absolute;inset:0 0 auto;z-index:3;padding:10px 14px;background:#0008}.presence-scanner .dialog-heading h2,.presence-scanner .dialog-heading button{color:#fff}
.presence-tools .presence-scanner video{display:block;width:100%;height:100%;max-height:none;object-fit:cover}.presence-tools .presence-scanner video[hidden]{display:none}
.presence-scanner>.neutral-button{position:absolute;right:16px;bottom:50px;z-index:3;font-size:28px;background:#fff;color:#222;width:48px;height:44px;padding:0}
.presence-scanner [data-presence-message]{position:absolute;bottom:0;left:0;right:0;z-index:3;margin:0;padding:10px;text-align:center;background:#0008}
.presence-scan-success{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:2;color:#29df64;font-size:min(65vw,55dvh);font-weight:900;text-shadow:0 3px 20px #0008;opacity:0}.presence-scan-success.is-visible{animation:presence-confirm 1s ease-out forwards}@keyframes presence-confirm{0%{opacity:0;transform:scale(.65)}15%,65%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.08)}}
.presence-scan-success{display:flex;flex-direction:column;justify-content:center;align-items:center;line-height:1.1}.presence-scan-name{display:block;max-width:92%;margin-top:12px;font-size:clamp(24px,7vw,40px);line-height:1.2;text-align:center;overflow-wrap:anywhere;color:#fff}.presence-scan-success.is-visible{animation-duration:1.8s}
.presence-scanner .presence-scan-success{display:flex;flex-direction:column;justify-content:center;align-items:center;line-height:1.1}.presence-scanner .presence-scan-success.is-visible{animation-duration:1.8s}
.point-attendance-table:has([data-attendance-list="arrived"]){table-layout:auto}.point-attendance-table td.point-attendance-time{width:64px;padding:6px 10px 6px 4px;font-size:12px;line-height:18px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;vertical-align:middle}
.point-attendance-table tbody tr:nth-child(odd)>td,.participant-movements tbody tr:nth-child(odd)>td{background:#d4d4d4}.point-attendance-table tbody tr:nth-child(even)>td,.participant-movements tbody tr:nth-child(even)>td{background:#f0f0f0}
.point-attendance-table tbody:is([data-attendance-list="arrived"],[data-attendance-list="late"],[data-attendance-list="absent"]) tr:nth-child(odd)>td{background:color-mix(in srgb,var(--system-color) 20%,#fff)}
.point-attendance-table tbody:is([data-attendance-list="arrived"],[data-attendance-list="late"],[data-attendance-list="absent"]) tr:nth-child(even)>td{background:color-mix(in srgb,var(--system-color) 35%,#fff)}
.bottom-nav,.bottom-nav:has(>.nav-save){grid-template-columns:repeat(5,minmax(0,1fr))}.bottom-nav>.nav-back{grid-column:1;grid-row:1}.bottom-nav>.nav-save{grid-column:2;grid-row:1;border:0;border-radius:0;padding:0;background:transparent;color:var(--system-color)}.bottom-nav>.events-home-nav{grid-column:3;grid-row:1}.bottom-nav>.bottom-nav-actions{display:contents}.bottom-nav-actions>.help-trigger{grid-column:4;grid-row:1}.bottom-nav-actions>.bottom-submenu-action{grid-column:5;grid-row:1}
.point-attendance-table td.point-team-name{padding:4px 8px;font-size:12px;line-height:18px}
.point-attendance-unified tbody[data-attendance-list="arrived"],.point-attendance-unified [data-attendance-group="arrived"]{--attendance-color:#238636}.point-attendance-unified tbody[data-attendance-list="late"],.point-attendance-unified [data-attendance-group="late"]{--attendance-color:#e88716}.point-attendance-unified tbody[data-attendance-list="absent"],.point-attendance-unified [data-attendance-group="absent"]{--attendance-color:#d63333}.point-attendance-unified tbody[data-attendance-list="unset"],.point-attendance-unified [data-attendance-group="unset"]{--attendance-color:#747474}.point-attendance-unified .attendance-group-heading th{font-weight:400;padding:6px 8px;text-align:left;font-size:12px;background:var(--attendance-color);color:#fff}.point-attendance-summary .point-attendance-unified tbody[data-attendance-list] tr:nth-child(odd)>td{background:color-mix(in srgb,var(--attendance-color) 15%,#fff)}.point-attendance-summary .point-attendance-unified tbody[data-attendance-list] tr:nth-child(even)>td{background:color-mix(in srgb,var(--attendance-color) 25%,#fff)}
.delegate-status-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.delegate-status-button{min-height:38px;border:2px solid transparent;border-radius:7px;padding:6px;font:inherit;font-size:12px;color:#fff;background:#686868}.delegate-status-button[data-delegate-status="arrived"]{grid-column:1/-1;background:#238636}.delegate-status-button[data-delegate-status="late"]{background:#f0a332;color:#222}.delegate-status-button[data-delegate-status="absent"]{background:#c83232}.delegate-status-button[aria-pressed="true"]{border-color:#111;box-shadow:0 0 0 1px #fff inset}.delegate-status-button:focus-visible{outline:2px solid #111;outline-offset:2px}
.point-attendance-unified tbody[data-attendance-list="departed"],.point-attendance-unified [data-attendance-group="departed"]{--attendance-color:#747474}
.point-attendance-detail>.attendance-mark-time{display:flex;gap:0;flex-wrap:wrap}
.delegate-attendance-form>button[type="submit"]{background:#808080;border-color:#808080;color:#fff}
#point-attendance-detail .delegate-attendance-form{border-top:0;padding-top:0}#point-attendance-detail .dialog-heading{position:relative;padding-right:30px;min-height:30px;align-items:flex-start}#point-attendance-detail .dialog-heading>button{position:absolute;right:-15px;top:-15px;width:44px;height:44px;font-size:36px;line-height:1;padding:0}.attendance-person-heading{min-width:0}.attendance-person-company{margin:3px 0 0;font-size:12px;line-height:1.3;overflow-wrap:anywhere}
.point-attendance-unified :is([data-transport-group="arrived"],[data-transport-list="arrived"]){--attendance-color:#238636}.point-attendance-unified :is([data-transport-group="late"],[data-transport-list="late"]){--attendance-color:#e88716}.point-attendance-unified :is([data-transport-group="absent"],[data-transport-list="absent"]){--attendance-color:#d63333}.point-attendance-unified :is([data-transport-group="unset"],[data-transport-list="unset"],[data-transport-group="departed"],[data-transport-list="departed"]){--attendance-color:#747474}.point-attendance-unified tbody[data-transport-list] tr:nth-child(odd)>td{background:color-mix(in srgb,var(--attendance-color) 15%,#fff)}.point-attendance-unified tbody[data-transport-list] tr:nth-child(even)>td{background:color-mix(in srgb,var(--attendance-color) 25%,#fff)}#transport-attendance-dialog .delegate-attendance-form{border:0;padding:0}#transport-attendance-dialog button[type="submit"]{width:100%;background:#808080;color:#fff}
.transport-passenger-options{display:grid;gap:4px;max-height:35dvh;overflow-y:auto}.transport-passenger-options .check-field{font-size:12px;line-height:1.3}[data-transport-passengers]>p{margin:8px 0 4px;font-size:12px}
#transport-attendance-dialog .transport-attendance-fields{border:0;padding:0;margin:0;min-width:0}
#point-attendance-detail .attendance-person-photo{display:block;width:calc(100% + 36px);max-width:none;height:auto;max-height:calc((100dvh - 48px)/2);object-fit:cover;margin:-18px -18px 12px}#point-attendance-detail .attendance-person-photo[hidden]{display:none}
#point-attendance-detail:has(.attendance-person-photo:not([hidden])) .dialog-heading{position:static;padding-right:0}
#point-attendance-detail:has(.attendance-person-photo:not([hidden])) .dialog-heading>button{top:3px;right:3px;z-index:2;background:#ffffffd9;color:#222;border-radius:50%}
.photo-attendance-dialog{width:min(390px,calc(100vw - 24px))}.photo-attendance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.photo-attendance-person{position:relative;display:flex;flex-direction:column;gap:5px;min-width:0;padding:0 0 6px;border:2px solid transparent;border-radius:8px;background:#f0f0f0;color:var(--ink);font:inherit;font-size:12px;overflow:hidden;cursor:pointer}.photo-attendance-person img{width:100%;aspect-ratio:1;object-fit:cover}.photo-attendance-person>span:not(.photo-attendance-check){padding:0 4px;overflow-wrap:anywhere}.photo-attendance-check{display:none;position:absolute;right:5px;top:5px;width:30px;height:30px;border-radius:50%;background:#238636;color:#fff;font-size:24px;line-height:30px}.photo-attendance-person[aria-pressed="true"]{border-color:#238636}.photo-attendance-person[aria-pressed="true"] .photo-attendance-check{display:block}.photo-attendance-person[hidden]{display:none}
.point-attendance-table.point-attendance-unified{table-layout:fixed}.attendance-time-column{width:64px}.point-attendance-table .point-attendance-person,.point-attendance-table td.point-attendance-time,.point-attendance-table td.point-team-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.point-attendance-table td{overflow:hidden}.point-attendance-table .point-attendance-person{line-height:19px}
.event-main-about-details{display:grid;gap:1px}.event-main-about-details .event-info-fields{margin:0}.event-main-about-details .event-info-fields>div{padding:1px 0}.event-main-about-details .event-info-extra,.event-main-about-details .event-info-slogan{margin:0}
.event-main-details .event-info-fields{margin:0}
.event-main-details .event-info-fields>div{padding:1.6px 0}
.event-main-details .event-info-extra,.event-main-details .event-info-slogan{margin:0}
.event-main-about-details{gap:2.4px}
.event-screen-footer .event-shortcuts{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:100%;box-sizing:border-box;padding-right:12px!important;padding-left:12px!important;gap:5px}
.event-screen-footer .event-shortcuts>*{width:100%;min-width:0;box-sizing:border-box}
.event-screen-footer .event-shortcuts>.event-menu-shortcut>.event-shortcut{width:100%;min-width:0;box-sizing:border-box}
.event-shortcuts>.event-shortcut,.event-shortcuts>.event-menu-shortcut{box-sizing:border-box;flex:1 1 0;width:auto;height:40.6px;max-height:40.6px;aspect-ratio:auto}
.event-shortcuts>.event-menu-shortcut{display:flex;min-width:0}
button:not(:disabled),input[type="button"]:not(:disabled),input[type="submit"]:not(:disabled),input[type="reset"]:not(:disabled),[role="button"]:not([aria-disabled="true"]),a[href],summary{cursor:pointer}
.event-shortcuts>.event-menu-shortcut>.event-shortcut{box-sizing:border-box;flex:1 1 0;width:100%;height:40.6px;max-height:40.6px;aspect-ratio:auto}
.event-screen-footer .event-shortcuts .event-shortcut{width:100%;height:40.6px;max-height:40.6px;aspect-ratio:auto;box-sizing:border-box}
.event-screen-footer .event-shortcuts>.event-menu-shortcut{width:100%;aspect-ratio:auto}
.app-shell .event-section-title:has(.event-section-settings){position:relative;padding-right:38px}
.app-shell .event-section-title .event-section-settings{position:absolute;top:0;right:0;z-index:1}
.app-shell main>.event-section-settings{position:relative;top:auto;right:auto;justify-content:flex-end}
.app-shell .badge-launch-strip>.event-section-settings{position:absolute;top:5px;right:46px;height:29px;z-index:1}
.badge-launch-strip>.event-section-settings>.event-section-settings-button{width:29px;height:29px}
.app-shell .event-shortcuts{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);box-sizing:border-box;width:100%;padding:6px 12px;gap:5px}
.app-shell .event-shortcuts .event-shortcut{width:100%;height:40.6px;box-sizing:border-box;aspect-ratio:auto}
.app-shell .event-shortcuts .event-menu-shortcut{display:flex;min-width:0}
.app-shell .event-shortcuts:has(> :nth-child(6)) .event-shortcut>span{display:block}
.app-shell .event-shortcuts .event-shortcut{gap:2px}
.app-shell .event-shortcuts .event-shortcut>span{max-width:100%;padding-inline:2px;box-sizing:border-box;font-size:clamp(8px,2.5vw,10px);line-height:1.1;overflow-wrap:anywhere;word-break:normal}
.app-shell .event-shortcuts .event-back-control,.app-shell .event-menu-shortcut>.event-shortcut{background:#b8b8b8!important;color:#000!important}
.app-shell .event-shortcuts[data-button-mode="icon"] .event-shortcut>span{display:none}
.app-shell .event-shortcuts[data-button-mode="text"] .event-shortcut>.icon{display:none}
.app-shell .event-shortcuts[data-button-mode="text"] .event-shortcut{padding:4px 5px;overflow:hidden}
.app-shell .event-shortcuts[data-button-mode="text"] .event-shortcut>span{display:block;flex:none;width:100%;min-width:0;max-width:100%;padding:0;font-size:18px;line-height:1.15;white-space:nowrap;overflow:hidden;overflow-wrap:normal}
.app-shell .event-shortcuts[data-button-mode="both"] .event-shortcut{padding:3px 5px;gap:2px;overflow:hidden}
.app-shell .event-shortcuts[data-button-mode="both"] .event-shortcut>.icon{display:block;flex:none;width:18px;height:18px}
.app-shell .event-shortcuts[data-button-mode="both"] .event-shortcut>span{display:block;flex:none;width:100%;min-width:0;max-width:100%;padding:0;font-size:14px;line-height:1.15;white-space:nowrap;overflow:hidden}
.presence-tools{flex-direction:row}.gps-scan-dialog{width:min(390px,calc(100vw - 24px))}.gps-scan-table{width:100%;border-collapse:collapse;font-size:12px}.gps-scan-table td{padding:7px 5px;overflow-wrap:anywhere}.gps-scan-table td:last-child{text-align:right}.gps-scan-table tr:nth-child(odd){background:#d4d4d4}.gps-scan-table tr:nth-child(even){background:#f0f0f0}

.participants-map-launch{width:100%;margin:0 0 12px}.participants-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0}.participants-map-toolbar .save-state{margin:0}.participants-map-title{font-size:13px;line-height:1.3}.participants-map-canvas{width:100%;height:min(60dvh,550px);min-height:300px;border-radius:10px;isolation:isolate;z-index:0}.participant-map-pin{background:var(--system-color);color:var(--system-color-ink,#fff);border:2px solid #fff;border-radius:50%;box-shadow:0 1px 5px #0006;text-align:center;font:600 12px/24px sans-serif}.participants-map-canvas .leaflet-control-attribution{font-size:10px}.participants-map-canvas .leaflet-control-attribution a{text-decoration:underline}

.whereabouts-views{display:flex;gap:18px;margin:0 0 14px;font-size:14px}.whereabouts-views a{padding:4px 0;color:var(--system-color)}.whereabouts-views [aria-current=page]{border-bottom:2px solid var(--system-color)}.whereabouts-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px;line-height:1.3}.whereabouts-table th,.whereabouts-table td{text-align:left;padding:8px 5px;border-bottom:1px solid var(--line);overflow-wrap:anywhere;vertical-align:top}.whereabouts-table th:first-child{width:34%}.whereabouts-table th:nth-child(2){width:41%}.whereabouts-table th:last-child{width:25%}.whereabouts-settings{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:14px 0}.whereabouts-settings .check-field{font-size:13px}

.schedule-point-delete{position:absolute;top:8px;right:9px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;background:transparent;color:var(--system-color)}.schedule-point-delete .icon{width:18px;height:18px}.schedule-item:has(>.schedule-point-delete)>.schedule-point-edit{right:37px}.schedule-item:has(>.schedule-point-delete) .schedule-content{padding-right:30px}.schedule-item:has(>.schedule-point-delete):has(>.schedule-point-edit) .schedule-content{padding-right:58px}.schedule-form-actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px}.schedule-form-actions>button{min-width:0;width:100%}.schedule-delete-title{font-size:14px;line-height:1.4;margin:0 0 16px;overflow-wrap:anywhere}

.participant-details-block{--participant-field-gap:2px;line-height:1.25}.participant-details-block>div{min-height:20px}.participant-card-fields .participant-field-edit{width:20px;height:20px}

/* Widen the service content by reducing its shared horizontal gutters by 30%. */
.app-shell{--service-side-gutter:16.8px;--service-shortcut-gutter:8.4px}
.app-shell .brand-bar,.app-shell>main,.app-shell .bottom-nav,.app-shell .event-info-edit-dock,.app-shell .message-compose-dock,.app-shell .balance-invoices-dock,.app-shell .point-attendance-dock,.app-shell .shared-media-add-dock,.app-shell .chat-compose{padding-left:var(--service-side-gutter);padding-right:var(--service-side-gutter)}
.app-shell .event-shortcuts{padding-left:var(--service-shortcut-gutter);padding-right:var(--service-shortcut-gutter)}
.app-shell .event-screen-footer .chat-compose{padding-left:var(--service-side-gutter);padding-right:var(--service-side-gutter)}
.app-shell .event-screen-footer .event-shortcuts{padding-left:var(--service-shortcut-gutter)!important;padding-right:var(--service-shortcut-gutter)!important}
@media(max-width:359px){.app-shell{--service-side-gutter:12.6px;--service-shortcut-gutter:6.3px}}
