/* Project-wide operational lists. See docs/ui/table-standard.md. */
:root{--table-cell-y:12px;--table-cell-x:16px;--table-action-width:100px;--table-radius:12px}
.table-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px}.table-heading>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.table-heading h1{font-family:Segoe UI,Arial,sans-serif;font-size:30px;line-height:1.2;margin:0}.table-count{color:var(--muted,#aba5c3);font-size:14px}.table-heading .table-add{min-height:40px;padding:9px 16px;font-size:14px;white-space:nowrap}
.table-toolbar{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:20px}.table-toolbar label{margin:0;min-width:130px;font-size:13px}.table-toolbar input,.table-toolbar select{min-height:40px;margin:6px 0 0}.table-toolbar .table-search{flex:1;min-width:200px}.table-toolbar button{min-height:40px}.table-toolbar .table-mobile-sort{display:none}.table-toolbar .text-link{margin-block:10px}
.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;line-height:1.45}.data-table th,.data-table td{padding:var(--table-cell-y) var(--table-cell-x);border-bottom:1px solid var(--line,#343149);text-align:left;vertical-align:top;height:auto;max-width:420px;overflow-wrap:anywhere}.data-table th{font-weight:600;color:var(--muted,#aba5c3);background:var(--surface,#121527)}.data-table .table-primary{font-weight:600;color:var(--text,#f5f3ff)}.data-table .table-number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table .table-secondary{color:var(--muted,#aba5c3)}
.data-table .table-actions{position:sticky;left:0;z-index:2;min-width:var(--table-action-width);width:var(--table-action-width);max-width:var(--table-action-width);background:var(--surface,#121527);box-shadow:4px 0 4px -4px #000}.data-table th.table-actions{z-index:3}.table-row-actions{display:flex;gap:4px;align-items:center;min-height:40px}.table-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:40px;padding:0;border:1px solid var(--line,#343149);border-radius:8px;background:transparent;color:var(--text,#f5f3ff);font-size:21px;text-decoration:none;cursor:pointer;box-sizing:border-box}.table-icon:hover{background:var(--surface-raised,#19182e);border-color:var(--line-strong,#686179)}.table-icon:focus-visible,.table-sort:focus-visible,.table-action-menu a:focus-visible,.table-action-menu button:focus-visible{outline:2px solid var(--cyan,#55e6db);outline-offset:3px}.table-action-menu{position:relative}.table-action-menu>summary{list-style:none}.table-action-menu>summary::-webkit-details-marker{display:none}.table-menu-items{position:absolute;left:0;top:100%;min-width:180px;max-width:300px;padding:6px;background:var(--surface-raised,#19182e);border:1px solid var(--line-strong,#686179);border-radius:10px;box-shadow:0 12px 30px #0008;z-index:30}.table-menu-items a,.table-menu-items button{display:block;width:100%;text-align:left;padding:10px;border:0;background:transparent;font-size:14px;line-height:1.4;color:var(--text,#f5f3ff);text-decoration:none;min-height:40px;box-sizing:border-box}.table-menu-items form{margin:0}.table-menu-items a:hover,.table-menu-items button:hover{background:var(--surface-soft,#17132b)}.table-menu-items [data-table-delete]{color:var(--danger,#ffc0bd);border-top:1px solid var(--line,#343149);margin-top:4px;padding-top:12px}.table-action-menu[data-positioned] .table-menu-items{position:fixed}
.table-sort{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none}.table-sort>span{color:var(--muted,#aba5c3)}.table-sort .is-sorted{color:var(--cyan,#55e6db);font-weight:700}.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;color:var(--muted,#aba5c3);font-size:14px}.table-pagination>div{display:flex;gap:12px;align-items:center}.table-pagination p{margin:0}.table-empty-row td{text-align:center;padding:32px 16px;max-width:none}.table-long-text{font-size:inherit}.table-long-text summary{cursor:pointer;overflow-wrap:anywhere}.table-long-text[open]>div{margin-top:8px;white-space:normal}.data-table .status-archived{color:var(--muted,#aba5c3);background:var(--surface-soft,#17132b);border-color:var(--line,#343149)}
.table-confirm-dialog{max-width:min(440px,calc(100vw - 32px));background:var(--surface,#121527);color:var(--text,#f5f3ff);border:1px solid var(--line-strong,#686179);border-radius:var(--table-radius);padding:24px}.table-confirm-dialog::backdrop{background:#0009}.table-confirm-dialog h2{font:600 22px Segoe UI,Arial,sans-serif;margin-top:0}.table-confirm-dialog .action-row{justify-content:flex-end}.table-confirm-dialog button{min-height:44px}[data-table-action][aria-busy=true]{opacity:.7}.table-toolbar[aria-busy=true]::after{content:attr(data-loading);color:var(--muted,#aba5c3)}
@media(max-width:760px){.table-heading{align-items:flex-start;flex-direction:column}.table-heading h1{font-size:28px}.table-heading .table-add{white-space:normal}.table-toolbar .table-mobile-sort{display:block}.table-toolbar label{flex:1}.table-pagination{align-items:flex-start;flex-direction:column}.data-table.table-cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.data-table.table-cards,.data-table.table-cards tbody,.data-table.table-cards tr,.data-table.table-cards td{display:block;width:auto;min-width:0;max-width:none}.data-table.table-cards tr{border:1px solid var(--line,#343149);border-radius:var(--table-radius);margin-bottom:12px;padding:12px;background:var(--surface,#121527)}.data-table.table-cards td{padding:7px 0;border:0;white-space:normal}.data-table.table-cards td[data-label]::before{content:attr(data-label);display:block;font-size:12px;color:var(--muted,#aba5c3);font-weight:400;margin-bottom:3px}.data-table.table-cards td.table-actions{position:static;box-shadow:none}.data-table.table-cards .table-number{text-align:left}.data-table.table-cards .table-empty-row td{text-align:left}}
@media(prefers-reduced-motion:reduce){.table-action-menu,.table-confirm-dialog{animation:none;transition:none}}
.table-menu-items{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}.table-menu-items input,.table-menu-items select,.table-menu-items textarea{max-width:100%;box-sizing:border-box}.table-menu-items fieldset{min-width:0}.table-menu-items .booking-card{margin:0;padding:8px}
.data-table .status{white-space:nowrap}.data-table .table-icon{text-decoration:none}.table-long-text:not([open])>summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
[data-table-action][aria-busy=true]::after{content:'';display:inline-block;width:14px;height:14px;margin:8px;border:2px solid var(--line,#343149);border-top-color:var(--cyan,#55e6db);border-radius:50%;animation:table-pending 1s linear infinite}@keyframes table-pending{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){[data-table-action][aria-busy=true]::after{animation:none}}

.table-hours-line{display:block;white-space:nowrap}

.location-map{height:clamp(320px,60vh,640px);width:100%;border:1px solid var(--line);border-radius:12px;z-index:0}.location-tabs{margin-bottom:16px}.location-tabs [aria-current=page]{border-color:var(--cyan);color:var(--text)}.location-map-popup{color:#182030;max-width:260px}.location-map-popup p{margin:.5em 0}

.location-map-pin span{display:block;width:20px;height:20px;border:2px solid white;border-radius:50%;background:var(--purple,#9165f7);box-shadow:0 2px 8px #0008}.location-map-pin:focus-visible{outline:3px solid var(--cyan,#55e6db);outline-offset:3px}

/* List heading controls and collapsible filter row, shared by every module. */
.table-heading-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.table-heading .table-heading-actions{flex-wrap:nowrap;gap:8px}
.table-heading .table-add,.table-heading .table-filter-toggle{display:inline-flex;align-items:center;justify-content:center;position:relative;box-sizing:border-box;width:40px;height:40px;min-height:40px;padding:0;border-radius:8px;flex-shrink:0;text-decoration:none}
.table-heading .table-add svg,.table-heading .table-filter-toggle svg{display:block;flex-shrink:0}
.table-filter-toggle.has-active-filters{border-color:var(--cyan,#55e6db);color:var(--cyan,#55e6db);background:var(--surface-raised,#19182e)}
.table-filter-count{position:absolute;right:-6px;top:-7px;min-width:18px;height:18px;padding:0 3px;border-radius:10px;background:var(--cyan,#55e6db);color:var(--bg,#090d1a);font:600 11px/18px Segoe UI,Arial,sans-serif;text-align:center}
.table-toolbar[hidden],.table-filter-count[hidden]{display:none!important}
.table-heading-actions [data-tooltip]::after{content:attr(data-tooltip);display:none;position:absolute;right:0;top:calc(100% + 8px);width:max-content;max-width:240px;padding:7px 10px;border:1px solid var(--line-strong,#686179);border-radius:6px;background:var(--surface-raised,#19182e);color:var(--text,#f5f3ff);font:13px/1.4 Segoe UI,Arial,sans-serif;white-space:normal;pointer-events:none;z-index:50}
.table-heading-actions [data-tooltip]:hover::after,.table-heading-actions [data-tooltip]:focus-visible::after{display:block}
.table-heading .table-icon:focus-visible{outline:2px solid var(--cyan,#55e6db);outline-offset:3px}
@media(max-width:760px){.table-heading{flex-direction:row;align-items:flex-start}.table-heading>div:first-child{min-width:0}.table-heading h1{overflow-wrap:anywhere}}
@media(pointer:coarse){.table-heading .table-add,.table-heading .table-filter-toggle{width:44px;height:44px;min-height:44px}}
.table-heading .table-add{background:var(--table-add-bg,#a17af9);color:var(--table-add-text,#0c0c1a);border-color:transparent;min-width:40px}.table-heading .table-add:hover{background:var(--table-add-hover,#b192ff)}
@media(max-width:760px){.table-heading .table-add,.table-heading .table-filter-toggle{width:44px;height:44px;min-width:44px;min-height:44px}}
