:root{font-family:"Inter","PingFang SC","Microsoft YaHei",sans-serif;color:#15233b;background:#f4f6fa;font-synthesis:none;--navy:#111c31;--blue:#2853ce;--surface:#fff;--surface-raised:#f7f9fd;--control-line:#c9d5e6;--radius:8px;--focus:#2853ce;--muted:#586a84;--line:#e0e7f1;--teal:#087b69}
*{box-sizing:border-box}body{margin:0}button,select,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button,select{cursor:pointer}
.layout{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy);color:#fff;padding:25px 16px 18px;display:flex;flex-direction:column;gap:20px}.brand{display:flex;align-items:center;gap:12px;padding:0 8px;font-size:24px;font-weight:750;letter-spacing:-.6px}.brand-icon{display:grid;place-items:center;background:#3c62f1;border-radius:13px;width:43px;height:43px;font-size:25px;color:white}.brand small,.workspace small{display:block;font-size:11px;font-weight:500;letter-spacing:.1px;margin-top:3px;color:#aebbd0}.workspace{border:1px solid #334158;border-radius:13px;padding:11px;display:flex;gap:10px;align-items:center;font-size:13px}.avatar{display:grid;place-items:center;background:#263c65;color:#c9d9ff;border-radius:8px;width:34px;height:34px;font-weight:700}.sidebar nav{display:grid;gap:6px}.sidebar nav a{display:flex;align-items:center;gap:12px;border-radius:9px;padding:11px 12px;font-size:13px;color:#c3ccdb}.sidebar nav a:hover,.sidebar nav a[aria-current]{background:#293e68;color:#fff}.nav-icon{width:20px;text-align:center;font-size:17px}.side-footer{margin-top:auto;border-top:1px solid #334158;padding:16px 6px 0;font-size:12px;color:#b6c2d5}.signal{display:inline-block;width:8px;height:8px;border-radius:50%;background:#56d7ac;margin-right:6px}
.main{min-width:0}.top{background:white;border-bottom:1px solid var(--line);min-height:68px;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px clamp(16px,3vw,38px);font-size:13px;color:var(--muted)}.top strong{color:#15233b}.role-control{display:flex;gap:10px;align-items:center;white-space:nowrap}.role-control select, .toolbar input, .toolbar select{border:1px solid var(--line);background:white;color:#1b2a46;border-radius:8px;padding:8px 10px}
#content{max-width:1400px;margin:auto;padding:28px clamp(16px,3vw,38px) 40px}.hero{background:linear-gradient(110deg,#172c5d,#213d83 62%,#2b4b9b);color:#fff;border-radius:18px;padding:28px 30px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-40px;top:-120px;width:390px;height:390px;border:1px solid #ffffff35;border-radius:50%;box-shadow:0 0 0 37px #ffffff08,0 0 0 77px #ffffff08;pointer-events:none}.hero>*{position:relative;z-index:1}.hero h1,.page-head h1{margin:0 0 8px;font-size:clamp(24px,4vw,35px);letter-spacing:-.7px}.hero p{color:#e0e9ff;margin:0;max-width:560px;font-size:14px;line-height:1.65}.hero .btn{margin-top:18px;background:white;color:#233e85}.page-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:21px}.page-head p,.muted{color:var(--muted);margin:0;font-size:13px;line-height:1.55}button,.btn{appearance:none;min-height:36px;border:1px solid transparent;border-radius:var(--radius);background:var(--blue);color:white;padding:8px 14px;font-weight:650;font-size:13px;line-height:1.25;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
button:hover:not(:disabled),.btn:hover{background:#2145ad}
.btn.secondary{background:var(--surface);color:#29456e;border-color:var(--control-line)}
.btn.secondary:hover:not(:disabled){background:#eef4ff;border-color:#a9bce0;color:#2145ad}
.btn.small{min-height:30px;padding:6px 9px;font-size:12px}
button:disabled{opacity:.62;cursor:default}
:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--focus);outline-offset:2px}

.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:17px 0 22px}.metric,.panel{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 17px #17295408}.metric{padding:16px}.metric span{display:block;color:var(--muted);font-size:12px}.metric strong{display:block;font-size:28px;margin:6px 0 3px}.metric small{font-size:11px;color:#45618a}.panel{overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 18px;border-bottom:1px solid var(--line)}.panel-head h2{font-size:16px;margin:0}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:540px;text-align:left;font-size:13px}th{background:#f7f9fd;color:#536582;font-size:12px;font-weight:650}td,th{padding:12px 14px;border-bottom:1px solid #edf1f7}tr:last-child td{border-bottom:0}td small{color:var(--muted);display:block;margin-top:3px}td strong{font-size:13px}.tag{display:inline-block;padding:4px 8px;border-radius:999px;background:#e9f0ff;color:#2446a5;font-size:11px;font-weight:650;white-space:nowrap}.tag.ok{background:#e2f6ef;color:#11674f}.tag.warn{background:#fff2dd;color:#865010}.tag.off{background:#edf0f5;color:#4f5c73}.toolbar{display:flex;gap:8px;align-items:center}.toolbar input{max-width:170px}.empty{padding:25px;text-align:center;color:var(--muted)}.role-note{padding:14px 17px;color:var(--muted);font-size:12px}.form-row{display:grid;gap:5px;font-size:13px}.form-row input,.form-row select{border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:white;min-width:0}.form-actions{display:flex;justify-content:end;gap:9px;margin-top:6px}.form-error{color:#a22c38;font-size:13px;min-height:16px}dialog{padding:22px;border:1px solid var(--line);border-radius:16px;width:min(480px,calc(100% - 28px));box-shadow:0 22px 65px #0a14294a}dialog::backdrop{background:#101c36a0}dialog form{display:grid;gap:13px}dialog h2{margin:0;font-size:20px}#toast{position:fixed;right:18px;bottom:18px;background:#162743;color:white;padding:12px 16px;border-radius:10px;z-index:4;display:none;max-width:calc(100% - 36px)}#toast.show{display:block}
@media(max-width:860px){.layout{grid-template-columns:178px minmax(0,1fr)}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.layout{display:block}.sidebar{padding:12px;gap:9px}.sidebar nav{display:flex;overflow:auto}.sidebar nav a{white-space:nowrap;padding:7px 9px}.workspace,.side-footer{display:none}.brand{font-size:19px}.brand-icon{width:33px;height:33px}.brand small{display:none}.top{min-height:52px}.hero{padding:20px}.page-head{align-items:start}.panel-head{flex-wrap:wrap}#content{padding-top:17px}}

.catalog-node{margin:.65rem 0;padding:.7rem .85rem;background:white;border:1px solid #dce3ee;border-radius:8px;min-width:0}
.catalog-node>.catalog-node{margin-left:.65rem}
.catalog-node summary{cursor:pointer;overflow-wrap:anywhere;font-weight:600}
.catalog-node pre{overflow:auto;font-size:.8rem}
.catalog-editor{display:grid;gap:.65rem;margin:.85rem 0}
.catalog-editor label{display:grid;gap:.3rem}
.catalog-editor textarea{min-height:4rem;padding:.6rem;resize:vertical;font:inherit}
.catalog-editor button,.catalog-panel>button{justify-self:start}
.catalog-editor span{overflow-wrap:anywhere}

.seat-map-frame{position:relative;width:min(100%,760px);margin:.75rem 0}
.seat-map-frame img{display:block;width:100%;height:auto;border-radius:12px}
.seat-map-marker{position:absolute;transform:translate(-50%,-50%);padding:.25rem .5rem;border:2px solid white;border-radius:999px;background:#14553b;color:white;font-size:.75rem;font-weight:700;white-space:nowrap}

.resource-directory{padding:12px clamp(10px,2vw,22px) 18px}
.catalog-node{padding:0;overflow:hidden;border-color:var(--line);border-radius:10px}
.catalog-node>.catalog-row,.catalog-group>summary,.catalog-disclosure>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:11px 13px;cursor:pointer;font-size:13px}
.catalog-row::-webkit-details-marker,.catalog-group>summary::-webkit-details-marker,.catalog-disclosure>summary::-webkit-details-marker{display:none}
.catalog-row::before,.catalog-group>summary::before,.catalog-disclosure>summary::before{content:"";flex:none;width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(-45deg);margin-right:3px;color:var(--muted)}
details[open]>.catalog-row::before,.catalog-group[open]>summary::before,.catalog-disclosure[open]>summary::before{transform:rotate(45deg)}
.catalog-row:hover,.catalog-group>summary:hover,.catalog-disclosure>summary:hover{background:#f1f5ff}
.catalog-node[open]>.catalog-row{background:#f5f8ff;border-bottom:1px solid var(--line)}
.catalog-title{flex:1;min-width:0;overflow-wrap:anywhere}
.catalog-id{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}
.catalog-node>.resource-branch{margin:10px 12px;border-left:2px solid #d8e2f5;padding-left:clamp(6px,1.5vw,14px)}
.catalog-group,.catalog-disclosure{margin:6px 0;background:#f8faff;border-radius:7px;min-width:0}
.catalog-group>.resource-branch{padding:0 clamp(6px,1.2vw,12px) 2px}
.catalog-node>.catalog-disclosure{margin:8px 12px}
.catalog-disclosure pre{margin:0;padding:12px;background:#eef3fc}
.catalog-editor{margin:0;padding:4px 13px 13px;font-size:13px}
.catalog-editor input,.catalog-editor textarea{width:100%;min-width:0;background:#fff;color:inherit;border:1px solid var(--line);border-radius:7px;padding:8px 10px;font:inherit}
.resource-branch>p:empty,.catalog-editor>span:empty{display:none}
.resource-branch>p{padding:0 10px;color:var(--muted);font-size:13px}
.catalog-node>.catalog-node:has(.seat-map-frame){padding:10px}

.catalog-identity{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;flex:1;min-width:0}
.catalog-identity .catalog-title{flex:0 1 auto}
.catalog-identity .catalog-id,.org-field-display>.catalog-id{font-size:11px;font-weight:600;color:#34548a;background:#edf3ff;border-radius:5px;padding:2px 6px;max-width:100%;white-space:normal;overflow-wrap:anywhere}

.event-detail{padding:clamp(16px,3vw,42px);background:#fff;color:#202020}
.event-detail h2{font-size:clamp(25px,4vw,42px);margin:26px 0;font-weight:650}
.event-facts{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px;border-block:1px solid #232323;padding:28px 0;margin:0 0 32px}
.event-facts dt,.event-schedule h3{color:var(--blue);font-weight:750}
.event-facts dd{margin:12px 0 0;overflow-wrap:anywhere}
.event-schedule{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:clamp(20px,4vw,54px)}
.event-month,.event-days{display:grid;align-items:center;text-align:center}
.event-month{grid-template-columns:auto 1fr auto;border-block:1px solid #ddd;padding:10px 0;margin-bottom:14px}
.event-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px 2px;justify-items:center}
.event-days>span{font-size:.85rem}
.event-detail button{border:1px solid var(--control-line);color:var(--blue);background:#fff;border-radius:50%;width:36px;height:36px;padding:0}
.event-detail button:disabled{color:#757575;border-color:transparent;cursor:default}
.event-detail button[aria-pressed=true]{background:var(--blue);color:#fff}
.event-session{display:block;padding:12px;border:1px solid #ddd;margin-bottom:10px;color:inherit}
.event-session[aria-current=true]{border-color:var(--blue)}
@media(max-width:720px){.event-facts,.event-schedule{grid-template-columns:1fr}}


.catalog-refresh{flex:none}
.refresh-icon{font-size:19px;line-height:1}
.catalog-panel [role=status]:empty{display:none}
.catalog-panel [role=status]{font-size:13px;color:var(--muted)}
.catalog-refresh[aria-busy=true] .refresh-icon{animation:refresh-spin 850ms linear infinite}
@keyframes refresh-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.catalog-refresh[aria-busy=true] .refresh-icon{animation:none}}
.catalog-editor input,.catalog-editor textarea,.form-row input,.form-row select,.toolbar input,.toolbar select,.role-control select{
  border-color:var(--control-line);border-radius:var(--radius);background:var(--surface)
}
th{background:var(--surface-raised)}
tbody tr:hover td{background:var(--surface-raised)}
.table-scroll td a,.event-detail>a{color:var(--blue);font-weight:650;text-underline-offset:3px}
.table-scroll td a:hover,.event-detail>a:hover{text-decoration:underline}
.event-detail button:hover:not(:disabled){background:#eaf0ff;color:var(--blue)}
.event-detail button[aria-pressed=true]:hover{background:var(--blue);color:white}
@media(max-width:480px){.catalog-panel .page-head{flex-wrap:wrap}}

.ticket-class-list{display:grid;gap:10px;padding:14px}
.ticket-class-card{border:1px solid var(--line);border-radius:10px;min-width:0}
.ticket-class-card>summary{cursor:pointer;padding:13px;font-weight:650;background:#f7f9fd;border-radius:10px}
.ticket-class-heading{display:inline-flex}
.ticket-class-description:not([hidden]){display:block;margin:4px 0 0 1.2em;color:var(--muted);font-size:12px;font-weight:400;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}
.ticket-class-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;margin:0;padding:14px}
.ticket-class-fields>div{min-width:0}
.ticket-class-fields dt{color:var(--muted);font-size:12px;margin-bottom:4px}
.ticket-class-fields dd{margin:0;overflow-wrap:anywhere;font-size:13px}
.ticket-class-fields a{color:#2144ab;text-decoration:underline}
.ticket-class-card>.catalog-disclosure{margin:0 14px 14px}

[hidden] { display: none !important; }
.login-page {
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: 24px;
  background: radial-gradient(ellipse at 30% 10%, #253d67, #0d182d 70%);
}
.login-card {
  width: min(100%, 410px);
  padding: clamp(24px, 6vw, 42px);
  border: 1px solid #dce4f1;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 24px 70px #02081766;
}
.login-brand, .admin-session {
  display: flex;
  align-items: center;
  gap: 10px;
}
.login-brand { font-weight: 750; letter-spacing: -.02em; }
.login-card h1 { margin: 24px 0 8px; }
.login-network { min-inline-size: 0; margin: 0 0 28px; padding: 0; border: 0; color: #465873; font-size: .9rem; }
.login-card .login-button { width: 100%; justify-content: center; background: #224d9a; color: #fff; min-height: 46px; }
.login-card .login-button:not(:disabled):hover { background: #183d80; color: #fff; }
.login-hint, #login-status { margin: 14px 0 0; font-size: .875rem; line-height: 1.55; }
.login-hint { color: #546481; }
#login-status:empty { display: none; }
.admin-session { margin-inline-start: auto; flex-wrap: wrap; }

.login-secondary { width: 100%; justify-content: center; margin-top: 10px; min-height: 44px; }
#qr-dialog { width: min(390px, calc(100% - 32px)); padding: 24px; text-align: center; }
#qr-dialog::backdrop { background: #0d182d99; }
#qr-dialog h2 { margin: 0 0 12px; }
#qr-code { display: block; margin: auto; width: min(264px, 100%); height: auto; }
#qr-status { margin: 12px 0 20px; }

.login-network legend { padding: 0; margin-bottom: 8px; }
.network-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.network-options label { position: relative; }
.network-options input { position: absolute; opacity: 0; }
.network-options span {
  display: grid;
  place-items: center;
  min-height: 44px;
  padding: 6px;
  border: 1px solid #c9d5e8;
  border-radius: 8px;
  background: #fff;
  color: #172943;
  text-align: center;
  cursor: pointer;
}
.network-options input:checked + span { border-color: #224d9a; background: #eaf1ff; color: #183d80; font-weight: 700; }
.network-options input:focus-visible + span { outline: 2px solid #224d9a; outline-offset: 2px; }
.network-options input:disabled + span { cursor: default; opacity: .65; }

.user-actions { display: flex; flex-wrap: wrap; gap: 8px; }

.org-table table{min-width:360px;table-layout:fixed}
.org-table :is(th,td):nth-child(2){width:clamp(92px,17vw,180px);overflow-wrap:anywhere}
.org-table td{vertical-align:top;padding-block:13px}
.org-profile{display:grid;gap:2px;max-width:760px}
.org-field-display{display:flex;align-items:baseline;gap:5px}
.org-field-display> :is(span,a){min-width:0;overflow-wrap:anywhere;white-space:pre-wrap}
.org-name .org-field-display{font-weight:650;font-size:14px}
.org-description .org-field-display{font-size:12px;line-height:1.6;color:var(--muted)}
.org-edit{align-self:flex-start;flex:none;width:30px;min-height:28px;margin-block:-3px;padding:0;background:transparent}
.edit-icon{color:var(--muted)}
.edit-icon svg{display:block;flex:none}
.org-edit:hover:not(:disabled),.ticket-class-edit:hover .edit-icon{background:#edf3ff;color:var(--blue)}
.ticket-class-edit .edit-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius)}
.org-field-form{display:grid;gap:8px;padding-block:3px}
.org-field [hidden]{display:none}
.org-field-form :is(input,textarea){width:100%;min-width:0;padding:8px 10px;border:1px solid var(--control-line);border-radius:var(--radius);color:inherit;background:var(--surface)}
.org-field-form textarea{resize:vertical}
.org-field-actions{display:flex;gap:8px}
.org-field-status{display:block;font-size:12px;color:var(--muted)}
.org-field-status:empty{display:none}
.org-field-error{color:#a22c38}
@media (pointer:coarse){.org-edit{width:36px;min-height:36px}}

.event-filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:14px;border-bottom:1px solid var(--line)}
.event-filters label{flex:0 1 16rem;min-width:0;max-width:100%;font-weight:600}
.event-filters select{width:100%;font-weight:400;color:inherit}
.event-filters select:disabled{color:var(--muted);background:var(--surface-raised);cursor:default}
.event-filters .muted{margin-bottom:8px}

.org-field-display>a:hover{color:var(--blue);text-decoration:underline}

.overview-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 18px clamp(14px, 2vw, 24px);
  border-bottom: 1px solid var(--line);
  gap: 16px;
}
.overview-summary > div {
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-raised);
}
.overview-summary dt {
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
}
.overview-summary dd {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  column-gap: 6px;
  margin: 5px 0 0;
}
.overview-summary strong {
  color: var(--navy);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.15;
}
.overview-summary dd span {
  color: var(--muted);
  font-size: 12px;
}
@media (max-width: 480px) {
  .overview-summary { gap: 10px; padding-block: 12px; }
  .overview-summary > div { padding: 10px 12px; }
}

.resource-organization-filter{display:flex;align-items:center;gap:8px;min-width:0;color:var(--muted);white-space:nowrap}
.resource-organization-filter select{width:clamp(110px,24vw,260px);color:var(--navy)}

.catalog-record-profile{display:grid;gap:2px}
.catalog-record-profile .org-description{font-weight:400}
.catalog-record-profile .org-field-form{max-width:42rem;cursor:auto}


.editable-metadata{cursor:text;border-radius:4px}
.editable-metadata:hover,.editable-metadata:focus-visible{background:#eaf1ff}
.editable-metadata:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
a.editable-metadata{cursor:pointer}
.ticket-class-card>summary>.catalog-record-profile{display:inline-grid;vertical-align:top;width:calc(100% - 2em)}

.catalog-node > .editable-disclosure,
.ticket-class-card > .editable-disclosure {
  display: grid;
  grid-template-columns: var(--disclosure-arrow-width, 28px) minmax(0, 1fr);
  align-items: start;
  gap: 6px;
  cursor: default;
  list-style: none;
}
.catalog-node > .editable-disclosure { padding-inline: var(--disclosure-padding); }
.editable-disclosure::-webkit-details-marker,
.catalog-node > .editable-disclosure::before { display: none; }
.ticket-class-card > .editable-disclosure > .catalog-record-profile { width: auto; }
.disclosure-arrow {
  display: grid;
  place-items: center;
  min-height: 28px;
  border-radius: 5px;
  color: var(--muted);
  cursor: pointer;
}
.disclosure-arrow:hover { background: #eaf1ff; }
.disclosure-arrow::before {
  content: "";
  width: 7px;
  height: 7px;
  border: solid currentColor;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(-45deg);
}
details[open] > .editable-disclosure > .disclosure-arrow::before { transform: rotate(45deg); }

.aligned-metadata {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 2px 8px;
  min-width: 0;
}
.aligned-metadata > .org-field {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: subgrid;
  align-items: baseline;
}
.aligned-metadata > .org-field > .org-field-display:not([hidden]) { display: contents; }
.aligned-metadata > .org-field > .org-field-display > :is(a, .catalog-id) {
  grid-column: 1;
  justify-self: start;
}
.aligned-metadata > .org-field > .org-field-display > .editable-metadata,
.aligned-metadata > .org-field > .org-field-form,
.aligned-metadata > .org-field > .org-field-status {
  grid-column: 2;
}
.aligned-metadata .editable-metadata { justify-self: start; }

.aligned-metadata > .org-field > .org-field-form {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 6px;
  padding-block: 0;
}
.aligned-metadata > .org-name {
  grid-template-rows: minmax(30px, auto) auto;
  align-items: center;
}
.aligned-metadata > .org-name > .org-field-display > *,
.aligned-metadata > .org-name > .org-field-form { grid-row: 1; }
.aligned-metadata > .org-name > .org-field-status { grid-row: 2; }
.aligned-metadata > .org-field { row-gap: 0; }
.aligned-metadata .org-name .org-field-form input { height: 30px; padding-block: 3px; }
.aligned-metadata .org-field-actions { gap: 4px; }
.aligned-metadata .org-field-actions .btn { padding-inline: 6px; }
.aligned-metadata .is-editing .editable-metadata { visibility: hidden; }

.org-field { position: relative; }
.org-field > .org-field-saved {
  position: absolute;
  grid-area: auto;
  inset-block-start: 0;
  inset-inline-end: 0;
  z-index: 1;
  padding: 2px 6px;
  border-radius: 4px;
  background: #e2f6ef;
  color: #11674f;
  white-space: nowrap;
  pointer-events: none;
}

.venue-media-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 190px));
  align-items: start;
  gap: 12px;
  padding: 12px;
}
.venue-media-gallery figure { min-width: 0; margin: 0; }
.venue-media-preview {
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-raised);
  color: var(--blue);
  font-size: 13px;
}
.venue-media-preview:hover { border-color: var(--blue); }
.venue-media-preview img { display: block; width: 100%; height: 100%; object-fit: contain; }
.venue-media-gallery figcaption {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin-top: 5px;
  font-size: 12px;
  overflow-wrap: anywhere;
}
.venue-media-gallery figcaption a:last-child { color: var(--muted); }
.venue-media-gallery figcaption a:hover { text-decoration: underline; }

.venue-media-registration{display:grid;gap:4px;margin-top:8px;color:var(--muted);font-size:12px}
.venue-media-registration code{overflow-wrap:anywhere;user-select:all}

.venue-media-upload{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px}
.venue-media-upload input{max-width:100%}

.venue-media-panel > p:not(:empty),
.venue-media-panel > div > p { padding: 6px 13px 10px; }
.venue-media-panel > p:empty { display: none; }

.venue-media-upload {
  display: grid;
  gap: 9px;
  margin: 0 12px 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}
.venue-upload-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}
.venue-upload-toolbar > span { flex: 1 1 9rem; }
.venue-upload-files {
  margin: 0;
  padding-inline-start: 20px;
  max-height: 9rem;
  overflow: auto;
  overflow-wrap: anywhere;
  font-size: 13px;
}
.venue-media-panel > div > .venue-media-empty {
  margin: 0 12px 12px;
  padding: 10px 12px;
  border: 1px dashed var(--line);
  border-radius: var(--radius);
}

.venue-media-thumbnail { position: relative; }
.venue-media-remove {
  position: absolute;
  inset-block-start: 6px;
  inset-inline-end: 6px;
  width: 30px;
  min-height: 30px;
  padding: 0;
  border-radius: 50%;
  color: white;
  background: #182640;
  font-size: 20px;
  opacity: 0;
  pointer-events: none;
}
.venue-media-thumbnail:hover .venue-media-remove,
.venue-media-thumbnail:focus-within .venue-media-remove {
  opacity: 1;
  pointer-events: auto;
}
.venue-media-remove:hover:not(:disabled) { background: #a22c38; }
@media (hover: none) {
  .venue-media-remove { opacity: 1; pointer-events: auto; }
}

#confirm-dialog {
  position: fixed;
  inset: 0;
  margin: auto;
  width: min(420px, calc(100% - 32px));
  padding: 24px;
  border-radius: 18px;
  color: var(--navy);
  background: var(--surface);
}
#confirm-dialog::backdrop { background: #101c3673; }
#confirm-dialog form { gap: 10px; }
#confirm-dialog :is(#confirm-subject, #confirm-message) {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
#confirm-subject { font-weight: 650; }
#confirm-message { color: var(--muted); }
#confirm-dialog .form-actions { margin-top: 12px; }
#confirm-dialog .form-actions button { min-height: 40px; padding-inline: 16px; }
#confirm-dialog .confirm-action { background: #ad2638; border-color: #ad2638; color: #fff; }
#confirm-dialog .confirm-action:hover { background: #902031; border-color: #902031; }
