/* Expofold's own styles, loaded after event.clinic's system. Tokens only, no hex literal.
   No accent of its own yet: the ramp is the hub's to issue (FROM-EXPOFOLD note), so the foundation's stands in. */
.st-bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3); padding: var(--sp-3) var(--sp-4); border-bottom: 1px solid var(--line); background: var(--surface-1); }
.st-lang { margin-left: auto; width: auto; }
.st-brand { font-weight: 700; color: var(--ink-900); }
.st-hall { display: flex; align-items: center; gap: var(--sp-2); min-height: var(--row-h); }
.st-halls { display: grid; gap: var(--sp-1); }
.st-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); }
.st-hall-state { margin-left: auto; display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); }
/* The public map. A state is said by the stand's outline and in the table beneath it as well as by its fill, because a
   plan read in sunlight or by someone who cannot see the colour must still be readable. */
.st-map { display: block; width: 100%; height: auto; max-height: 70vh; background: var(--surface-1); border: 1px solid var(--line); border-radius: var(--radius); }
.st-stand { stroke: var(--ink-500); stroke-width: 1.5px; vector-effect: non-scaling-stroke; }
.st-stand-label { fill: var(--ink-900); text-anchor: middle; dominant-baseline: central; pointer-events: none; }
.st-a-available { fill: var(--ok-100); stroke: var(--ok-600); }
.st-a-held { fill: var(--warn-100); stroke: var(--warn-700); stroke-dasharray: 6 3; }
.st-a-reserved { fill: var(--info-100); stroke: var(--info-600); stroke-dasharray: 2 3; }
.st-a-sold { fill: var(--neutral-100); stroke: var(--neutral-600); }
.st-a-blocked { fill: var(--surface-1); stroke: var(--ink-400); stroke-dasharray: 1 5; }
