/* The pool uses the tenant application shell and shared component styles. */
body[data-workspace="pool"] .content-area > :not(.panel-tools):not(#pool-workspace),
body[data-workspace="pool"] #sidebar-navigation > [data-nav-group]:not([data-nav-group="pool"]),
body[data-workspace="pool"] #record-search-shell {
    display: none !important;
}

#pool-workspace { min-width: 0; }
.pool-workspace-content { width: 100%; min-width: 0; }
.pool-workspace-content h2 { margin: 0; font-size: 1.2rem; }
.pool-workspace-content h2:focus { outline: none; }
.pool-engineer-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    gap: 1rem;
    margin: 1rem 0;
}
.pool-engineer-card { margin: 1rem 0; min-width: 0; }
.pool-engineer-list > .pool-engineer-card { margin: 0; }
.pool-engineer-card > button { margin: .25rem; }
.pool-workspace-content fieldset {
    min-width: 0;
    margin: 1rem 0;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 14px;
}
.pool-workspace-content legend { color: var(--muted); font-weight: 600; }
.pool-workspace-content .field { margin: 1rem 0; max-width: 680px; }
.pool-workspace-content .field :is(input, select, textarea) { box-sizing: border-box; min-height: 44px; }
.pool-workspace-content textarea { min-height: 90px; }
.pool-workspace-content .toggle { display: flex; min-height: 44px; margin: .5rem 0; }
.pool-workspace-content .toggle input[type="checkbox"] {
    appearance: auto;
    -webkit-appearance: checkbox;
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    margin: 0;
    padding: 0;
    accent-color: var(--accent);
    box-shadow: none;
}
.pool-workspace-content .toggle input[type="checkbox"]::after { content: none; }
#pool-workspace [hidden] { display: none !important; }
#pool-workspace :is([role="status"], [role="alert"]) { overflow-wrap: anywhere; }

.pool-summary { display: grid; grid-template-columns: minmax(130px, 1fr) 2fr; gap: .5rem 1rem; margin: 1rem 0; }
.pool-summary dt { color: var(--muted); font-weight: 600; }
.pool-summary dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.pool-form-dialog {
    width: min(640px, calc(100vw - 2rem));
    max-width: calc(100vw - 2rem);
    max-height: calc(100dvh - 2rem);
    margin: auto;
    padding: 0;
    overflow: hidden;
    color: var(--text);
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: var(--surface-radius, 16px);
    box-shadow: var(--shadow);
}
.pool-form-dialog[open] { display: flex; flex-direction: column; }
.pool-form-dialog-wide { width: min(900px, calc(100vw - 2rem)); }
.pool-form-dialog::backdrop { background: rgba(0, 0, 0, .55); backdrop-filter: blur(4px); }
.pool-dialog-header { flex-shrink: 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--border); background: var(--panel-elevated); }
.pool-dialog-header h2 { margin: 0; font-size: 1.2rem; }
.pool-dialog-form { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; overflow: hidden; }
.pool-dialog-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.pool-dialog-fields { min-width: 0; margin: 0; padding: 0 1.25rem 1rem; border: 0; }
.pool-dialog-footer { flex-shrink: 0; padding: .75rem 1.25rem; border-top: 1px solid var(--border); background: var(--panel-elevated); }
.pool-dialog-footer .pill-row { justify-content: flex-end; }
.pool-dialog-footer .status-line { margin: 0 0 .5rem; overflow-wrap: anywhere; }
.pool-dialog-footer .status-line:empty { display: none; }
body:has(.pool-form-dialog[open]) .main-panel { overflow: hidden; }
@media (max-width: 599px) {
    .pool-summary { grid-template-columns: 1fr; gap: .25rem; }
    .pool-summary dd { margin-bottom: .5rem; }
    #pool-workspace .card-heading { align-items: flex-start; flex-wrap: wrap; }
    .pool-dialog-footer .pill-row { flex-wrap: wrap; }
    .pool-dialog-footer .button { flex: 1 1 auto; }
}

/* Pool records use the same typography, controls and theme tokens as tenant records. */
.pool-page { display: grid; gap: 1.25rem; }
.pool-page > * { min-width: 0; }
.pool-page-heading { margin: 0; padding-bottom: 1.25rem; border-bottom: 1px solid var(--border); align-items: flex-start; gap: 1.25rem; }
.pool-page-heading > div { max-width: 720px; }
.pool-page-heading h2 { font-size: clamp(1.35rem, 2vw, 1.65rem); letter-spacing: -.025em; }
.pool-page-heading .eyebrow { margin: 0 0 .4rem; }
.pool-page-heading p.muted { margin: .65rem 0 0; line-height: 1.6; }
.pool-page-heading > .button { flex-shrink: 0; }
.pool-page :is(h3, p) { overflow-wrap: anywhere; }
.pool-page h3 { font-size: 1rem; margin: 0; letter-spacing: -.01em; }
.pool-page p { line-height: 1.55; }
.pool-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--border); border-radius: 12px; background: var(--panel-alt); }
.pool-metric { display: flex; flex-direction: column; gap: .6rem; padding: 1.1rem 1.25rem; }
.pool-metric + .pool-metric { border-left: 1px solid var(--border); }
.pool-metric span { font-size: .8rem; font-weight: 600; }
.pool-metric strong { font-size: 1.7rem; font-weight: 650; line-height: 1; font-variant-numeric: tabular-nums; }
.pool-list-toolbar { display: flex; gap: 1rem; align-items: end; }
.pool-list-toolbar .field { margin: 0; }
.pool-list-toolbar .field:first-child { flex: 1; max-width: none; }
.pool-list-toolbar .field:last-child { flex: 0 0 200px; }
.pool-result-count { margin: -.5rem 0; font-size: .8rem; }
.pool-engineer-list { display: flex; flex-direction: column; gap: 0; margin: 0; }
.pool-directory-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--border); }
.pool-directory-row:first-child { border-top: 1px solid var(--border); }
.pool-identity { display: flex; align-items: center; gap: .85rem; min-width: 0; }
.pool-identity > div { min-width: 0; }
.pool-identity p { margin: .25rem 0 0; font-size: .85rem; }
.pool-avatar { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border: 1px solid var(--border); border-radius: 12px; background: var(--panel-elevated); color: var(--muted); font-size: .85rem; font-weight: 700; }
.pool-badge { display: inline-flex; align-items: center; align-self: center; justify-self: start; gap: .4rem; width: fit-content; max-width: 100%; padding: .3rem .6rem; border-radius: 6px; background: var(--panel-elevated); border: 1px solid var(--border); color: var(--muted); font-size: .75rem; line-height: 1.4; font-weight: 650; }
.pool-badge::before { content: ''; flex-shrink: 0; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.pool-badge:is([data-status="active"], [data-status="enabled"], [data-status="approved"], [data-status="confirmed"]) { color: #75dcb4; background: color-mix(in srgb, #25956c 12%, var(--panel)); }
.pool-badge:is([data-status="pending"], [data-status="pending_review"], [data-status="needs_more_info"], [data-status="draining"]) { color: #f5ca7b; background: color-mix(in srgb, #b77a19 12%, var(--panel)); }
.pool-badge:is([data-status="suspended"], [data-status="rejected"]) { color: var(--danger); background: color-mix(in srgb, var(--danger) 8%, var(--panel)); }
[data-theme="light"] .pool-badge:is([data-status="active"], [data-status="enabled"], [data-status="approved"], [data-status="confirmed"]) { color: #18714f; }
[data-theme="light"] .pool-badge:is([data-status="pending"], [data-status="pending_review"], [data-status="needs_more_info"], [data-status="draining"]) { color: #855309; }
.pool-record-actions { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .5rem; grid-column: 1 / -1; padding-left: 3.5rem; }
.pool-record-actions .button, .pool-more-actions > summary { font-size: .8rem; min-height: 40px; padding: .5rem .75rem; }
.pool-more-actions { position: relative; }
.pool-more-actions > summary { cursor: pointer; color: var(--muted); border: 1px solid transparent; border-radius: 8px; }
.pool-more-actions[open] > summary { background: var(--panel-elevated); border-color: var(--border); }
.pool-more-options { position: absolute; z-index: 5; right: 0; top: calc(100% + .4rem); width: 210px; display: grid; gap: .35rem; padding: .5rem; background: var(--panel); border: 1px solid var(--border-strong); border-radius: 10px; box-shadow: var(--shadow-sm); }
.pool-more-options .button { width: 100%; justify-content: flex-start; }
.pool-more-actions:not([open]) .pool-more-options { display: none; }
.pool-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 1rem; align-items: start; }
.pool-engineer-card { margin: 0; padding: 1.25rem; background: var(--panel-alt); border: 1px solid var(--border); border-radius: 12px; }
.pool-card-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; padding-bottom: 1rem; border-bottom: 1px solid var(--border); }
.pool-card-heading .button { font-size: .8rem; min-height: 40px; padding: .5rem .75rem; }
.pool-summary { grid-template-columns: minmax(110px, 1fr) 1.3fr; gap: .9rem 1rem; margin: 1.15rem 0 0; font-size: .85rem; line-height: 1.55; }
.pool-summary dt { font-weight: 500; }
.pool-profile-overview { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding: .25rem 0; }
.pool-profile-overview h3 { font-size: 1.2rem; }
.pool-profile-overview .pool-avatar { width: 52px; height: 52px; flex-basis: 52px; font-size: 1rem; }
.pool-notice { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; padding: 1.15rem 1.25rem; background: var(--panel-alt); border: 1px solid var(--border); border-left: 3px solid var(--border-strong); border-radius: 10px; }
.pool-notice p { margin: .5rem 0 0; max-width: 780px; font-size: .85rem; }
.pool-notice > .button { flex-shrink: 0; font-size: .85rem; }
.pool-inline-heading { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; }
.pool-footnote { margin: 0; font-size: .8rem; }
.pool-empty { grid-column: 1 / -1; padding: 2.5rem 1.5rem; text-align: center; background: var(--panel-alt); border: 1px dashed var(--border-strong); border-radius: 12px; }
.pool-empty p { max-width: 520px; margin: .65rem auto; font-size: .9rem; }
.pool-participation-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 1.25rem; padding: 1.25rem 0; border-bottom: 1px solid var(--border); }
.pool-participation-row p { margin: .5rem 0 0; font-size: .85rem; }
.pool-file-list { list-style: none; margin: 0; padding: 0; }
.pool-file-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--border); }
.pool-file-row:last-child { border: 0; padding-bottom: 0; }
.pool-file-row > div { min-width: 0; overflow-wrap: anywhere; }
.pool-file-row strong { font-size: .85rem; font-weight: 600; }
.pool-file-row p { margin: .3rem 0 0; font-size: .8rem; }
.pool-file-row .button { flex-shrink: 0; color: var(--danger); }
.pool-engineer-card > .pool-empty { margin-top: 1rem; }
.pool-discipline-editor { margin: 1rem 0; border: 1px solid var(--border); border-radius: 10px; background: var(--panel-alt); }
.pool-discipline-editor > summary { padding: 1rem; cursor: pointer; font-weight: 600; }
.pool-discipline-editor[open] > summary { border-bottom: 1px solid var(--border); }
.pool-discipline-fields { padding: 0 1rem 1rem; }
.pool-discipline-fields > fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 .75rem; }
.pool-discipline-fields .toggle { font-size: .9rem; }
.pool-workspace-content :is(summary, button, input, select, textarea):focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.pool-dialog-fields > p.muted { font-size: .85rem; line-height: 1.6; margin-top: 1rem; }
.pool-dialog-fields legend { padding: 0 .4rem; color: var(--text); font-size: .95rem; }

@media (min-width: 1500px) {
    .pool-directory-row { grid-template-columns: minmax(200px, 1fr) 100px auto; align-items: center; }
    .pool-record-actions { grid-column: auto; padding-left: 0; }
}
@media (max-width: 700px) {
    .pool-page { gap: 1rem; }
    .pool-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pool-metric { padding: 1rem; }
    .pool-metric:nth-child(3) { border-left: 0; }
    .pool-metric:nth-child(n+3) { border-top: 1px solid var(--border); }
    .pool-list-toolbar { align-items: stretch; flex-direction: column; }
    .pool-list-toolbar .field:last-child { flex-basis: auto; }
    .pool-record-actions { padding-left: 0; }
    .pool-directory-row { gap: .85rem; }
    .pool-directory-row > .pool-badge { grid-column: 1 / -1; margin-left: 3.5rem; }
    .pool-more-options { left: 0; right: auto; }
    .pool-notice { align-items: flex-start; flex-direction: column; }
    .pool-participation-row { grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; }
    .pool-participation-row > div { grid-column: 1 / -1; }
    .pool-summary { grid-template-columns: 1fr; gap: .2rem; }
    .pool-summary dd { margin-bottom: .65rem; }
    .pool-discipline-fields > fieldset { grid-template-columns: 1fr; }
}
.pool-review-dialog { width: min(900px, calc(100vw - 2rem)); max-width: calc(100vw - 2rem); max-height: calc(100dvh - 2rem); padding: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 16px; background: var(--panel); color: var(--text); box-shadow: var(--shadow); }
.pool-review-dialog[open] { display: flex; flex-direction: column; }
.pool-review-dialog::backdrop { background: rgba(0, 0, 0, .55); backdrop-filter: blur(4px); }
.pool-review-content { overflow-y: auto; padding: 1.25rem; min-height: 0; overscroll-behavior: contain; }
.pool-review-content > h3 { font-size: 1.2rem; margin: 0; }
.pool-review-content > p { color: var(--muted); font-size: .85rem; overflow-wrap: anywhere; }
.pool-review-content > [role="status"]:empty { display: none; }
.pool-review-content section { border: 1px solid var(--border); border-radius: 12px; background: var(--panel-alt); padding: 1.25rem; margin-top: 1rem; }
.pool-review-content section h3 { font-size: 1rem; margin: 0 0 .75rem; }
.pool-review-content dl { display: grid; grid-template-columns: minmax(140px, 1fr) 2fr; gap: .85rem 1rem; font-size: .85rem; line-height: 1.5; }
.pool-review-content dt { color: var(--muted); text-transform: capitalize; }
.pool-review-content dd { margin: 0; overflow-wrap: anywhere; }
.pool-review-content dd p { margin: 0 0 .5rem; }
.pool-review-content form { display: grid; gap: 1rem; border-top: 1px solid var(--border); padding-top: 1rem; }
.pool-review-content label { display: grid; gap: .5rem; font-size: .85rem; }
.pool-review-content :is(input, select, textarea) { min-height: 44px; }
.pool-review-content .button { margin: .2rem 0; max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
.pool-review-content .pool-badge { text-transform: capitalize; }
@media (max-width: 599px) { .pool-review-content dl { grid-template-columns: 1fr; gap: .3rem; } .pool-review-content dd { margin-bottom: .6rem; } }
.pool-discipline-editor > summary, .pool-more-actions > summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; list-style: none; }
.pool-discipline-editor > summary::after, .pool-more-actions > summary::after { content: ''; width: 6px; height: 6px; flex: 0 0 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin: 0 .25rem .2rem; }
.pool-discipline-editor[open] > summary::after, .pool-more-actions[open] > summary::after { transform: rotate(225deg); margin-bottom: -.2rem; }
.pool-discipline-editor > summary::-webkit-details-marker, .pool-more-actions > summary::-webkit-details-marker { display: none; }
.pool-admin-access-detail { grid-column: 1 / -1; padding-left: 3.5rem; }
.pool-admin-access-detail p { margin: 0 0 .35rem; font-size: .8rem; }
.pool-record-actions .button { max-width: 100%; white-space: normal; }
@media (max-width: 700px) { .pool-admin-access-detail { padding-left: 0; } }

/* One engineer record, with edits kept in the shared modal. */
.pool-record-nav { display: flex; flex-wrap: wrap; gap: .5rem; padding-bottom: 1rem; border-bottom: 1px solid var(--border); }
.pool-record-nav .button { color: var(--muted); }
.pool-record-nav .button.active { color: var(--text); background: var(--panel-elevated); border-color: var(--accent); }
.pool-page > .button { justify-self: start; }
.pool-workspace-content .pool-discipline-picker { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem 1rem; }
.pool-discipline-picker .toggle { align-items: center; font-weight: 600; }
.pool-dialog-fields [hidden] { display: none !important; }
.pool-dialog-fields .pool-notice { margin-top: 1rem; }
.pool-file-row .button { color: var(--text); }
.pool-discipline-editor > .pool-card-grid { padding: 1rem; }
@media (max-width: 700px) {
    .pool-workspace-content .pool-discipline-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pool-record-nav .button { flex: 1 1 auto; white-space: normal; }
}

/* A familiar profile composition, within the shared workspace theme. */
.pool-profile-hero { border: 1px solid var(--border); border-radius: 16px; background: var(--panel-alt); overflow: hidden; }
.pool-profile-cover { height: 170px; background: radial-gradient(ellipse at 80% 5%, color-mix(in srgb, var(--accent) 24%, transparent), transparent 65%), linear-gradient(115deg, var(--panel-elevated), color-mix(in srgb, var(--accent) 10%, var(--panel-alt))); position: relative; }
.pool-profile-cover::after { content: ''; position: absolute; inset: 0; opacity: .22; background: repeating-linear-gradient(125deg, transparent 0 90px, var(--border-strong) 91px 92px, transparent 93px 160px); }
.pool-profile-heading { display: flex; gap: 1.25rem; align-items: flex-start; padding: 0 1.5rem 1.5rem; position: relative; }
.pool-profile-portrait { position: relative; display: grid; place-items: center; flex: 0 0 148px; width: 148px; height: 148px; margin-top: -48px; border: 6px solid var(--panel-alt); border-radius: 50%; background: var(--panel-elevated); overflow: hidden; box-shadow: 0 0 0 1px var(--border); }
.pool-profile-portrait img { width: 100%; height: 100%; object-fit: cover; }
.pool-profile-initials { font-size: 2.8rem; font-weight: 650; color: var(--muted); }
.pool-profile-name { padding-top: 1.1rem; flex: 1; min-width: 0; }
.pool-profile-name :is(h2,h3) { font-size: clamp(1.45rem, 2.5vw, 2rem); margin: 0; line-height: 1.2; letter-spacing: -.035em; overflow-wrap: anywhere; }
.pool-profile-name .eyebrow { margin: 0 0 .4rem; font-size: .65rem; }
.pool-profile-name > p.muted { margin: .55rem 0 0; font-size: .9rem; }
.pool-profile-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.pool-profile-tags + .pool-badge { margin-top: 1rem; }
.pool-profile-actions { display: flex; flex-wrap: wrap; gap: .5rem; padding-top: 1.4rem; flex-shrink: 0; }
.pool-profile-hero > .pool-record-nav { margin: 0 1.5rem; padding: .85rem 0; border-top: 1px solid var(--border); border-bottom: 0; }
.pool-profile-layout { display: grid; grid-template-columns: minmax(280px, .85fr) minmax(0, 1.5fr); gap: 1.25rem; align-items: start; }
.pool-profile-sidebar, .pool-profile-main { display: grid; gap: 1.25rem; min-width: 0; }
.pool-profile-sidebar .pool-summary { grid-template-columns: 1fr; gap: .2rem; }
.pool-profile-sidebar .pool-summary dd { margin-bottom: .65rem; }
.pool-profile-bio { white-space: pre-wrap; overflow-wrap: anywhere; font-size: .95rem; line-height: 1.7; margin: 1.15rem 0 0; }
.pool-skill-tag { border: 1px solid var(--border); background: var(--panel-elevated); border-radius: 999px; padding: .4rem .85rem; font-size: .85rem; font-weight: 600; }
.pool-profile-page-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 1100px) {
    .pool-profile-heading { flex-wrap: wrap; }
    .pool-profile-actions { padding-top: 0; margin-left: 172px; }
    .pool-profile-layout { grid-template-columns: 1fr; }
    .pool-profile-main { grid-row: 1; }
}
@media (max-width: 599px) {
    .pool-profile-cover { height: 125px; }
    .pool-profile-heading { padding: 0 1rem 1rem; gap: .85rem; }
    .pool-profile-portrait { flex-basis: 112px; width: 112px; height: 112px; margin-top: -38px; border-width: 5px; }
    .pool-profile-name { flex: 1 0 100%; padding-top: 0; }
    .pool-profile-actions { margin-left: 0; width: 100%; }
    .pool-profile-actions .button { flex: 1; }
    .pool-profile-hero > .pool-record-nav { margin: 0 1rem; }
}
