.attendance-header h1,
.reception-checkin-header h1,
.integration-dashboard-header h1 {
    font-size: clamp(2.8rem, 5.1vw, 5.6rem);
}

.attendance-summary-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin: 0 0 22px;
    overflow: hidden;
    border-radius: var(--radius);
    background: var(--line);
}

.attendance-summary-strip > div {
    min-height: 112px;
    padding: 22px;
    background: var(--cream-soft);
}

.attendance-summary-strip span,
.reception-access-data span,
.sync-run-counts span,
.integration-principles span {
    display: block;
    color: var(--muted);
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.attendance-summary-strip strong {
    display: block;
    margin-top: 13px;
    font-size: 1.04rem;
}

.attendance-history-panel,
.today-attendance-panel,
.ebrain-member-links-panel,
.sync-history-panel {
    margin-top: 22px;
}

.attendance-timeline,
.today-attendance-list,
.sync-run-list,
.ebrain-link-list,
.reception-result-list {
    display: grid;
    gap: 10px;
}

.attendance-visit-row {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    align-items: center;
    gap: 17px;
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
}

.attendance-visit-row:last-child { border-bottom: 0; }

.attendance-date-block {
    display: grid;
    width: 52px;
    height: 58px;
    place-content: center;
    border-radius: 13px;
    color: var(--cream);
    background: var(--ink);
    text-align: center;
}

.attendance-date-block strong { font-size: 1.35rem; line-height: .9; }
.attendance-date-block span { margin-top: 5px; color: var(--accent); font-size: .62rem; font-weight: 900; text-transform: uppercase; }
.attendance-visit-copy { display: grid; gap: 4px; }
.attendance-visit-copy span,
.attendance-visit-copy small { color: var(--muted); }

.reception-search-panel {
    padding: 25px;
}

.reception-search-box {
    display: grid;
    grid-template-columns: minmax(220px, .65fr) minmax(360px, 1.35fr);
    align-items: end;
    gap: 28px;
}

.reception-search-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}

.reception-result-list { margin-top: 24px; }

.reception-member-result {
    display: grid;
    grid-template-columns: minmax(240px, .9fr) minmax(380px, 1.45fr) auto;
    gap: 24px;
    align-items: center;
    padding: 22px;
    border-radius: 16px;
    background: var(--cream-deep);
    transition: transform .2s ease, box-shadow .2s ease;
}

.reception-member-result:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow);
}

.reception-member-result.access-approved { box-shadow: inset 4px 0 0 var(--success); }
.reception-member-result.access-blocked { box-shadow: inset 4px 0 0 var(--danger); }

.reception-member-primary,
.ebrain-member-identity {
    display: flex;
    align-items: center;
    gap: 14px;
}

.reception-member-primary h2 { margin-bottom: 4px; }
.reception-member-primary p { margin: 0; color: var(--muted); font-size: .78rem; }

.reception-access-data {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.reception-access-data > div {
    min-height: 96px;
    padding: 15px;
    border-radius: 13px;
    background: rgba(232,229,224,.72);
}

.reception-access-data strong,
.reception-access-data small { display: block; }
.reception-access-data strong { margin: 10px 0 5px; }
.reception-access-data small { color: var(--muted); font-size: .72rem; }
.reception-member-actions { display: grid; gap: 8px; min-width: 164px; }

.today-attendance-list article {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 13px 0;
    border-bottom: 1px solid var(--line);
}

.today-attendance-list article:last-child { border-bottom: 0; }
.today-attendance-list small { display: block; color: var(--muted); }
.attendance-time { display: grid; }
.attendance-time strong { font-size: 1.25rem; }
.attendance-time span { color: var(--muted); font-size: .68rem; }

.integration-status-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 14px;
}

.integration-connection-card,
.csv-import-card { min-height: 260px; }
.integration-principles { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.integration-principles span { padding: 8px 10px; border-radius: 999px; color: var(--cream); background: rgba(232,229,224,.1); }
.csv-import-card input[type="file"] { width: 100%; margin: 18px 0 10px; padding: 14px; border-radius: 12px; background: var(--cream-deep); }
.csv-import-card small { color: var(--muted); }

.integration-filter-row {
    display: flex;
    align-items: center;
    gap: 8px;
}
.integration-filter-row .input { min-width: 320px; }

.ebrain-link-row {
    display: grid;
    grid-template-columns: minmax(220px, .9fr) minmax(260px, 1fr) minmax(340px, 1.1fr);
    gap: 20px;
    align-items: center;
    padding: 17px 0;
    border-bottom: 1px solid var(--line);
}
.ebrain-link-row:last-child { border-bottom: 0; }
.ebrain-member-identity span,
.ebrain-link-status small { display: block; color: var(--muted); font-size: .72rem; }
.ebrain-link-status { display: grid; gap: 6px; }
.ebrain-link-editor { display: grid; grid-template-columns: minmax(120px, 1fr) auto auto; gap: 8px; }

.sync-run-list article {
    display: grid;
    grid-template-columns: 96px minmax(260px, 1.3fr) minmax(300px, 1fr);
    gap: 18px;
    align-items: start;
    padding: 16px 0;
    border-bottom: 1px solid var(--line);
}
.sync-run-list article:last-child { border-bottom: 0; }
.sync-run-list small { display: block; color: var(--muted); }
.sync-run-list p { margin: 7px 0 0; color: var(--muted); font-size: .8rem; }
.sync-run-counts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.sync-run-counts span { padding: 8px; border-radius: 9px; background: var(--cream-deep); text-align: center; }

.trainer-client-meta-expanded { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.attendance-client-meta { border-radius: 10px; padding: 10px; }
.attendance-client-meta small { display: block; margin-top: 4px; color: var(--muted); }
.attendance-client-meta.attendance-low { background: rgba(179,33,54,.08); }
.attendance-client-meta.attendance-current { background: rgba(8,124,76,.08); }

@media (max-width: 1180px) {
    .reception-member-result,
    .ebrain-link-row { grid-template-columns: 1fr; }
    .reception-member-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .integration-status-grid { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
    .attendance-summary-strip,
    .reception-search-box,
    .reception-access-data { grid-template-columns: 1fr; }
    .reception-search-controls { grid-template-columns: 1fr; }
    .integration-filter-row { width: 100%; flex-direction: column; align-items: stretch; }
    .integration-filter-row .input { min-width: 0; }
    .ebrain-link-editor { grid-template-columns: 1fr; }
    .sync-run-list article { grid-template-columns: 1fr; }
    .today-attendance-list article { grid-template-columns: 64px minmax(0,1fr); }
    .today-attendance-list article > span:last-child { grid-column: 2; }
}

@media (max-width: 560px) {
    .attendance-visit-row { grid-template-columns: 52px minmax(0,1fr); }
    .attendance-visit-row > .status-badge { grid-column: 2; justify-self: start; }
    .reception-member-actions { grid-template-columns: 1fr; }
    .trainer-client-meta-expanded { grid-template-columns: 1fr; }
}
