/*
 * Personal work screens: My FOTA and My contacts.
 *
 * Operational pages, not public pages: a compact head, clear hierarchy,
 * restrained spacing, readable tables and obvious actions. Colours come only
 * from the shared tokens in fota.css and fota-appearance.css, so Light, Dark
 * and System appearance and the brand palette (navy #042446, blue #0957bb,
 * red #c51b2b, white) are inherited; the global reduced-motion rule applies.
 */

.fota-ws { background: var(--fota-page); color: var(--fota-text); }
.fota-ws__inner { max-width: 1240px; margin: 0 auto; padding: 1.5rem 1.25rem 3rem; }
@media (max-width: 640px) { .fota-ws__inner { padding: 1rem 1rem 6rem; } }

.fota-ws-crumbs { margin: 0 0 .75rem; font-size: .9rem; color: var(--fota-muted); }
.fota-ws-crumbs a { color: var(--fota-link); }

/* Page head: work-screen sized, never a public hero. */
.fota-ws-head { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: flex-end; justify-content: space-between; padding-bottom: 1.25rem; margin-bottom: 1.25rem; border-bottom: 1px solid var(--fota-border); }
.fota-ws-head h1 { margin: 0; font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.1rem); line-height: 1.15; letter-spacing: -.01em; color: var(--fota-text); }
.fota-ws-head p { margin: .35rem 0 0; max-width: 44rem; color: var(--fota-muted); }
.fota-ws-head__eyebrow { margin: 0 0 .25rem !important; font-size: .82rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--fota-link) !important; }

.fota-ws-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.fota-ws-actions .fota-btn { margin: 0; }
.fota-ws-actions--primary .fota-btn { min-height: 44px; }

/* Layout */
.fota-ws-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr)); gap: 1rem; margin: 0 0 1rem; }
.fota-ws-panel { background: var(--fota-surface); border: 1px solid var(--fota-border); border-radius: var(--fota-radius); padding: 1.1rem 1.2rem; box-shadow: var(--fota-shadow); margin: 0 0 1rem; min-width: 0; }
.fota-ws-grid > .fota-ws-panel { margin: 0; }
.fota-ws-panel--subtle { background: var(--fota-surface-subtle); box-shadow: none; }
.fota-ws-panel--setup { border-left: 5px solid var(--fota-warning, #b8860b); }
.fota-ws-panel--onair { border-left: 5px solid var(--fota-success-text); }
.fota-ws-panel--operations { background: var(--fota-surface-subtle); box-shadow: none; }
.fota-ws-panel__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .5rem 1rem; margin-bottom: .75rem; }
.fota-ws-panel__head h2 { margin: 0; font-size: 1.15rem; display: inline-flex; align-items: center; gap: .5rem; }
.fota-ws-panel h3 { margin: 1rem 0 .5rem; font-size: 1rem; display: flex; align-items: center; gap: .4rem; }
.fota-ws-panel h4 { margin: 0 0 .25rem; font-size: 1rem; }
.fota-ws-panel__head a { font-weight: 600; color: var(--fota-link); }

/* Counts and chips (shared component; one definition) */
.fota-ws-count { display: inline-flex; align-items: center; justify-content: center; min-width: 1.5rem; height: 1.5rem; padding: 0 .4rem; border-radius: 999px; background: var(--fota-surface-subtle); border: 1px solid var(--fota-border); color: var(--fota-text); font-size: .8rem; font-weight: 700; line-height: 1; }
.fota-chip { display: inline-flex; align-items: center; gap: .3rem; padding: .15rem .6rem; border-radius: 999px; font-size: .82rem; font-weight: 600; line-height: 1.4; border: 1px solid transparent; vertical-align: middle; }
.fota-chip .fota-icon { width: .95em; height: .95em; }
.fota-chip--success { background: var(--fota-success-surface); color: var(--fota-success-text); }
.fota-chip--warning { background: var(--fota-warning-surface); color: var(--fota-warning-text); }
.fota-chip--error { background: var(--fota-error-surface); color: var(--fota-error-text); }
.fota-chip--info { background: var(--fota-info-surface); color: var(--fota-link); }
.fota-chip--neutral { background: var(--fota-surface-subtle); color: var(--fota-text); border-color: var(--fota-border); }

.fota-ws-hint { margin: .75rem 0 0; font-size: .88rem; color: var(--fota-muted); }
.fota-ws-hint a { color: var(--fota-link); }
.fota-ws-muted { color: var(--fota-muted); font-size: .9em; }
.fota-ws-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .95em; }
.fota-ws-notice { margin: 0 0 1rem; padding: .7rem .9rem; border-radius: var(--fota-radius-sm); background: var(--fota-info-surface); color: var(--fota-text); }
.fota-ws-empty { padding: .85rem 1rem; border: 1px dashed var(--fota-border); border-radius: var(--fota-radius-sm); color: var(--fota-muted); }
.fota-ws-empty strong { display: block; color: var(--fota-text); }
.fota-ws-empty p { margin: .25rem 0 0; }
.fota-ws-empty .fota-ws-actions { margin-top: .75rem; }

/* Task lists: Your turn, Waiting on others, Recently resolved */
.fota-ws-tasks { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.fota-ws-tasks > li { display: grid; grid-template-columns: 1fr auto; gap: .35rem 1rem; align-items: center; padding: .7rem .9rem; border: 1px solid var(--fota-border); border-left: 5px solid var(--fota-action); border-radius: var(--fota-radius-sm); background: var(--fota-surface); }
.fota-ws-tasks--waiting > li { border-left-color: var(--fota-input-border); }
.fota-ws-tasks--resolved > li { border-left-color: var(--fota-success-text); }
.fota-ws-tasks__title { display: block; font-weight: 700; }
.fota-ws-tasks__meta { display: block; font-size: .86rem; color: var(--fota-muted); }
@media (max-width: 520px) { .fota-ws-tasks > li { grid-template-columns: 1fr; } }

.fota-ws-checklist { list-style: none; margin: 0 0 .75rem; padding: 0; display: grid; gap: .45rem; }

/* Activation rows */
.fota-ws-activations, .fota-ws-contacts, .fota-ws-links, .fota-ws-logs { list-style: none; margin: 0; padding: 0; }
.fota-ws-activation, .fota-ws-log { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; padding: .7rem 0; border-bottom: 1px solid var(--fota-border); }
.fota-ws-activation:last-child, .fota-ws-log:last-child { border-bottom: 0; }
.fota-ws-activation__main, .fota-ws-log__main { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .5rem; min-width: 0; flex: 1 1 18rem; }
.fota-ws-activation__meta, .fota-ws-log__meta { flex-basis: 100%; font-size: .86rem; color: var(--fota-muted); }
.fota-ws-activation__side, .fota-ws-log__side { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.fota-ws-activations .fota-id-badge, .fota-ws-logs .fota-id-badge, .fota-ws-contacts .fota-id-badge { margin: 0; }

/* Contact summary lines (My FOTA) */
.fota-ws-contact { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .35rem 1rem; padding: .6rem 0; border-bottom: 1px solid var(--fota-border); }
.fota-ws-contact:last-child { border-bottom: 0; }
.fota-ws-contact__who { display: block; font-weight: 700; }
.fota-ws-contact__meta { display: block; font-size: .86rem; color: var(--fota-muted); }
.fota-ws-contact__why { display: flex; flex-wrap: wrap; gap: .3rem; align-items: flex-start; }
.fota-ws-call { font-weight: 700; letter-spacing: .02em; }
a.fota-ws-call { color: var(--fota-link); }

.fota-ws-links > li { padding: .45rem 0; border-bottom: 1px solid var(--fota-border); }
.fota-ws-links > li:last-child { border-bottom: 0; }
.fota-ws-links a, .fota-ws-links-inline a { color: var(--fota-link); font-weight: 600; }

/* Section navigation */
.fota-ws-sections ul { display: flex; gap: .25rem; margin: 0 0 1.25rem; padding: 0; list-style: none; overflow-x: auto; border-bottom: 1px solid var(--fota-border); }
.fota-ws-sections a { display: inline-flex; align-items: center; min-height: 44px; padding: .4rem .9rem; color: var(--fota-text); text-decoration: none; font-weight: 600; white-space: nowrap; border-radius: var(--fota-radius-sm) var(--fota-radius-sm) 0 0; }
.fota-ws-sections a:hover { background: var(--fota-surface-subtle); }
.fota-ws-sections a[aria-current="page"] { color: var(--fota-link); box-shadow: inset 0 -3px 0 var(--fota-link); }

/* Filters */
.fota-ws-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 .9rem; }
.fota-ws-chip { display: inline-flex; align-items: center; gap: .45rem; min-height: 40px; padding: .3rem .8rem; border: 1px solid var(--fota-border); border-radius: 999px; background: var(--fota-surface); color: var(--fota-text); font-weight: 600; text-decoration: none; }
.fota-ws-chip:hover { border-color: var(--fota-link); }
.fota-ws-chip.is-current { background: var(--fota-action); border-color: var(--fota-action); color: var(--fota-on-accent); }
.fota-ws-chip.is-current .fota-ws-count { background: transparent; color: inherit; border-color: currentColor; }
.fota-ws-filters { margin: 0 0 1rem; padding: .9rem 1rem; border: 1px solid var(--fota-border); border-radius: var(--fota-radius); background: var(--fota-surface); }
.fota-ws-filters__main { display: grid; grid-template-columns: minmax(12rem, 2fr) repeat(2, minmax(8rem, 1fr)) auto; gap: .75rem; align-items: end; }
.fota-ws-filters label { display: grid; gap: .3rem; font-weight: 600; font-size: .9rem; margin: 0; }
.fota-ws-filters .fota-logbook__filter-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.fota-ws-filters .fota-logbook__filter-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: .75rem; margin-top: .75rem; }
@media (max-width: 900px) { .fota-ws-filters__main { grid-template-columns: 1fr 1fr; } .fota-ws-filters__main > label:first-child { grid-column: 1 / -1; } }
@media (max-width: 520px) { .fota-ws-filters__main { grid-template-columns: 1fr; } }

.fota-ws-details > summary { cursor: pointer; display: inline-flex; align-items: center; gap: .4rem; min-height: 40px; font-weight: 600; color: var(--fota-link); }
.fota-ws-filters__more { margin-top: .5rem; }
.fota-ws-toolbar { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin: 0 0 .75rem; }
.fota-ws-export .fota-logbook__export { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; padding: .5rem 0; }

/* Contact table (desktop) and cards (narrow) */
.fota-ws .fota-logbook__desktop { position: relative; overflow-x: auto; border: 1px solid var(--fota-border); border-radius: var(--fota-radius); background: var(--fota-surface); }
.fota-ws-table { width: 100%; border-collapse: collapse; font-size: .93rem; }
.fota-ws-table th { text-align: left; font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--fota-muted); background: var(--fota-surface-subtle); padding: .6rem .7rem; border-bottom: 1px solid var(--fota-border); white-space: nowrap; }
.fota-ws-table td { padding: .7rem; border-bottom: 1px solid var(--fota-border); vertical-align: top; }
.fota-ws-table tbody tr:last-child td { border-bottom: 0; }
.fota-ws-table tbody tr:hover td { background: var(--fota-surface-subtle); }
.fota-ws-table td:first-child { width: 2rem; }
.fota-ws-line { display: block; }
.fota-ws-why { display: flex; flex-wrap: wrap; gap: .3rem; margin-bottom: .3rem; }
.fota-ws .fota-logbook__row-actions { display: flex; flex-wrap: wrap; gap: .35rem; }
.fota-ws-contact-card header { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem; align-items: center; }
.fota-ws-contact-card__meta { margin: .25rem 0 0; font-size: .9rem; color: var(--fota-muted); }
.fota-ws-contact-card__why { display: flex; flex-wrap: wrap; gap: .3rem; margin: .5rem 0; }
.fota-ws-contact-card dl { display: grid; gap: .35rem; margin: .5rem 0 0; }
.fota-ws-contact-card dt { font-size: .8rem; color: var(--fota-muted); }
.fota-ws-contact-card dd { margin: 0; }

.fota-ws-definitions { display: grid; gap: .75rem; margin: 0; }
.fota-ws-definitions > div { padding: .75rem 1rem; border: 1px solid var(--fota-border); border-radius: var(--fota-radius-sm); background: var(--fota-surface); }
.fota-ws-definitions dt { font-weight: 700; display: flex; align-items: center; gap: .5rem; }
.fota-ws-definitions dd { margin: .25rem 0 0; color: var(--fota-muted); }

.fota-ws-section { min-width: 0; }
.fota-ws-section > h2 { font-size: 1.2rem; margin: 0 0 .5rem; }
.fota-ws [tabindex="-1"]:focus { outline: none; }
.fota-ws [tabindex="-1"]:focus-visible { outline: 3px solid var(--fota-focus); outline-offset: 3px; }

/* Buttons on work screens: icon and label spaced, never touching. */
.fota-ws .fota-btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; }
/* Reused sections keep their markup; inside a panel their headings take the panel scale. */
.fota-ws-panel :is(section, div) > h2:not(.fota-ws-panel__head h2) { font-size: 1rem; margin: 1rem 0 .5rem; }
.fota-ws-panel .fota-dashboard-panel { padding: 0; border: 0; box-shadow: none; background: transparent; margin: 0; }
.fota-ws-more > summary { margin-top: .5rem; }

/* Contact table columns: readable widths; the row stays short at 1024 px and up. */
.fota-ws .fota-ws-table th { background: var(--fota-surface-subtle); color: var(--fota-muted); }
.fota-ws-table td:nth-child(2) { white-space: nowrap; min-width: 7.5rem; }
.fota-ws-table td:nth-child(3) { min-width: 9rem; }
.fota-ws-table td:nth-child(4) { min-width: 10rem; }
.fota-ws-table td:nth-child(5) { min-width: 12rem; }
.fota-ws-table td:nth-child(7) { min-width: 11rem; }
.fota-ws-table td:last-child { min-width: 10rem; }
.fota-ws-table .fota-logbook__row-actions .fota-btn { padding: .25rem .6rem; min-height: 34px; font-size: .85rem; }

/* Planned and past activations use the canonical activation card. */
.fota-ws-activation-cards { display: grid; gap: .5rem; }
.fota-ws-activation-cards .fota-activation-card { margin: 0; box-shadow: none; }
.fota-ws-activation-cards .fota-card__body { padding: .7rem .9rem; }
.fota-ws-activation-cards .fota-card__title { font-size: 1rem; margin: 0 0 .2rem; }
.fota-ws-activation-cards p { margin: .15rem 0; font-size: .9rem; }

/* Fit the whole table from 1024 px up: the date wraps above the time, columns keep readable minimums. */
.fota-ws-table td:nth-child(2) { white-space: normal; min-width: 6rem; }
.fota-ws-table td:nth-child(3) { min-width: 8rem; }
.fota-ws-table td:nth-child(4) { min-width: 9rem; }
.fota-ws-table td:nth-child(5) { min-width: 10rem; }
.fota-ws-table td:nth-child(6) { min-width: 6.5rem; }
.fota-ws-table td:nth-child(7) { min-width: 9rem; }
.fota-ws-table td:last-child { min-width: 7.5rem; }
.fota-ws-table td, .fota-ws-table th { padding-left: .55rem; padding-right: .55rem; }
.fota-ws-table td:nth-child(5) { min-width: 9rem; }
.fota-ws-table td:last-child { min-width: 6.5rem; }
.fota-ws-table td, .fota-ws-table th { padding-left: .45rem; padding-right: .45rem; }

/* Activation page: public header, times, progress overview (shared tokens only). */
.fota-activation-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem 2rem; align-items: flex-end; padding: 1.25rem 0; margin-bottom: 1rem; border-bottom: 1px solid var(--fota-border); }
.fota-activation-head h1 { margin: 0; font-size: clamp(1.8rem, 1.3rem + 1.5vw, 2.4rem); letter-spacing: .02em; }
.fota-activation-head__eyebrow { margin: 0 0 .2rem; font-size: .82rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--fota-link); }
.fota-activation-head__fair { margin: .35rem 0; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; font-size: 1.05rem; }
.fota-activation-head__fair a { color: var(--fota-link); font-weight: 600; }
.fota-activation-head__state { margin: .5rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; color: var(--fota-muted); }
.fota-activation-times { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: .5rem 1.25rem; margin: 0; min-width: min(100%, 24rem); }
.fota-activation-times dt { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--fota-muted); }
.fota-activation-times dd { margin: .1rem 0 0; font-weight: 600; }
.fota-activation-steps { list-style: none; margin: .5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr)); gap: .5rem; counter-reset: step; }
.fota-activation-steps__item a { display: grid; gap: .15rem; height: 100%; padding: .6rem .75rem; border: 1px solid var(--fota-border); border-top: 4px solid var(--fota-input-border); border-radius: var(--fota-radius-sm); background: var(--fota-surface); color: var(--fota-text); text-decoration: none; }
.fota-activation-steps__item a:hover { border-color: var(--fota-link); }
.fota-activation-steps__item.is-done a { border-top-color: var(--fota-success-text); }
.fota-activation-steps__item.is-current a { border-top-color: var(--fota-action); }
.fota-activation-steps__item.is-attention a { border-top-color: var(--fota-warning, #b8860b); }
.fota-activation-steps__item.is-optional a { border-top-style: dashed; }
.fota-activation-steps__label { font-weight: 700; }
.fota-activation-steps__text { font-size: .85rem; color: var(--fota-muted); }
.fota-activation-public { margin-top: 1.5rem; }
.fota-activation-public__label { margin: 0 0 .5rem; padding-top: 1rem; border-top: 1px solid var(--fota-border); font-size: .82rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--fota-muted); }
.fota-ws--activation .fota-ws__inner, .fota-ws--activation .fota-activation-single__inner { max-width: 1240px; }
.fota-activation-single .fota-log-setup { margin: .25rem 0 .75rem; }

/* Public fair and club profiles (inc/profile-components.php): spacious, shared tokens only. */
.fota-pf { display: grid; gap: clamp(1.25rem, 3vw, 2.25rem); }
.fota-pf > article { display: grid; gap: clamp(1.25rem, 3vw, 2.25rem); }
.fota-pf-hero { display: grid; grid-template-columns: minmax(12rem, 22rem) minmax(0, 1fr); gap: clamp(1.25rem, 4vw, 3rem); padding: clamp(1.25rem, 3vw, 2.25rem); background: var(--fota-surface); border: 1px solid var(--fota-border); border-radius: var(--fota-radius); box-shadow: var(--fota-shadow); }
.fota-pf-hero__media { display: grid; place-items: center; min-height: 12rem; background: var(--fota-surface-subtle); border-radius: var(--fota-radius); overflow: hidden; }
/* Hero artwork fills the media column. A member avatar composite sizes its own layers, so it is excluded. */
.fota-pf-hero__media img:not(.fota-recognition-composite img) { width: 100%; height: auto; max-height: 22rem; object-fit: contain; }
.fota-pf-hero__identity { min-width: 0; display: grid; align-content: start; gap: .75rem; }
.fota-pf-hero__identity h1 { margin: 0; font-size: clamp(1.9rem, 1.3rem + 2vw, 3rem); line-height: 1.1; overflow-wrap: anywhere; }
.fota-pf-hero__eyebrow { margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; font-size: .82rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--fota-link); }
.fota-pf-hero__line { margin: 0; font-size: 1.1rem; color: var(--fota-muted); }
.fota-pf-hero__dates { display: flex; flex-direction: column; margin: 0; padding: .85rem 1rem; border-left: .3rem solid var(--fota-error-text); background: var(--fota-surface-subtle); }
.fota-pf-hero__dates span { font-size: clamp(1.15rem, 3vw, 1.5rem); font-weight: 700; }
.fota-pf-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .75rem 1.5rem; margin: 0; }
.fota-pf-facts div { min-width: 0; }
.fota-pf-facts dt { font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--fota-muted); }
.fota-pf-facts dd { margin: .1rem 0 0; font-weight: 600; overflow-wrap: anywhere; }
.fota-pf-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.fota-pf-section { min-width: 0; padding: clamp(1rem, 2.5vw, 1.75rem); background: var(--fota-surface); border: 1px solid var(--fota-border); border-radius: var(--fota-radius); }
.fota-pf-section > h2 { margin-top: 0; }
.fota-pf-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: clamp(1.25rem, 3vw, 2.25rem); }
.fota-pf-grid:empty { display: none; }
.fota-pf-location { display: grid; gap: 1rem; }
.fota-pf-location address { font-style: normal; }
.fota-pf-location address span { display: block; }
.fota-pf-map { height: auto; min-height: 0; border: 1px solid var(--fota-border); }
.fota-pf-map.leaflet-container { height: min(50vh, 24rem); min-height: 16rem; }
.fota-pf-map__fallback { margin: 0; padding: 1rem; color: var(--fota-muted); }
.leaflet-container .fota-pf-map__fallback { display: none; }
.fota-pf-map-empty { padding: 1rem; border: 1px dashed var(--fota-input-border); border-radius: var(--fota-radius-sm); background: var(--fota-surface-subtle); }
.fota-pf-map-empty p { margin: 0 0 .5rem; }
.fota-pf-map-empty p:last-child { margin: 0; }
.fota-pf-contact p:last-child { margin-bottom: 0; }
@media (max-width: 48rem) { .fota-pf-hero { grid-template-columns: 1fr; } .fota-pf-hero__media { min-height: 8rem; } .fota-pf-hero__media img:not(.fota-recognition-composite img) { max-height: 14rem; } }

/* Compact entity rows (shared by management workspaces and profiles). */
.fota-entity-list{list-style:none;margin:.6rem 0;padding:0;display:grid;gap:.5rem}
.fota-entity-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem .9rem;border:1px solid var(--fota-border,#dce3ea);border-radius:10px;background:var(--fota-surface,#fff)}
.fota-entity-list li>span:first-child{font-weight:600;overflow-wrap:anywhere}
